Tag: Mac

Creating Fumo : A new Quicksilver interface

Having been contact by the creator of the Fumo interface concept, Pavel, I am starting work on creating the a brand spanking new interface for Quicksilver. Take a look at the mockups he’s created.

Fumo #4

While various difficulties (trying to write a plugin on top a system that I can’t see, using subclasses that I can’t see the implementations for, etc.) are proving to be tough challenges, Alcor (Nicholas Jitkoff) and ytrewq1 have been and are continuing to be most helpful in providing help when I need it. Alcor has already provided code for the “window” interface that I will be building on top of on, and ytrewq1 has assisted in overcoming various programming hurdles and provided some welcome encouragement.

That’s what’s so great about the Apple Mac Developer community - they’re ready to help people out and provide whatever assistance they can. Sure beats the “read the incoherent documentation” or “Google it” approach employed by various other operating systems regarding development troubleshooting.

And if you don’t know what Quicksilver is, or don’t use it, it’s time to get up and walk out of that dusty cave. Trust me, it’ll relegate Finder, Automator, and System Preferences to “lost somewhere in the HD”. It’s the best thing that happened to productivity, and once you start to tap into it’s power, you realize how much more it has. For example, I had a workflow to scale images. While playing around with the Quicksilver’s preferences, I found that you not only scale images, but also convert images to/from psd, jpg, png, gif, and a plethora of other formats. You can change your desktop background, move / copy / rename / delete files, add and delete lines from files without opening them, get into, do a Spotlight search. You can also add triggers (hotkeys), and integrate it with just about any application that exists. I mean, seriously, this thing is powerful. Get it now, use it now, and wait for Fumo.

Update: Download a (still unstable) version of Fumo from this post.

Shareware licensing techniques

I have been meaning to write about this topic for ages due to a huge response to this article, but with four exams in two days and a few more still left, there’s been very little time. So instead of a full-fledged post / tutorial, here is my view on writing solid security measures into your shareware applications. Note that I haven’t actually written a shareware app myself, so most of this is theoretical (ie. in my crazy mind).

Before we get into the different strategies, I would like recommend this article on software piracy by Ambrosia Software (Snapz Pro X). It really shows how vulnerable Mac apps really are and the effect they can have on small and individual developers. Ambrosia now uses what I believe to be one of the strongest and most fraud-free licensing system of any developer (including Apple). However, the method they use does have drawbacks in slight annoyances for the user. There is no perfect way of protecting your application, and no matter what you do, those that want to crack your application will; Even Microsoft, Apple, and Adobe have their software cracked and pirated. It’s about finding the right balance between safety and resources. How much time are you willing to spend hack-proofing your app? Do you need to go hard core encryption and daily online checks or is storing a hidden encrypted file enough? It’s up to you to review the alternatives and decide.

Continue Reading Shareware licensing techniques

Unleashing the Mac OS X Genie

How to use the genie effect in Cocoa with undocumented Core Graphics functions.

Continue Reading Unleashing the Mac OS X Genie

eBook: Xcode animations - Core Graphics

eBook 1

Play with fire.

Download

Feedback and criticism encouraged and appreciated.

© 2006 Ankur Kothari

Easy Animation

Animation ToolboxInterface and eye candy seem to be taking a prominent role in recent Mac developer’s minds. Just ask Dustin MacDonald. But whatever your view, there comes a time when you need something to fly across the screen, bounce up and down or just move. In other words, animate. And animate you shall, with Simon Haertel’s excellent Animation Toolbox 3. Also used extensively in his Mac version of Tetris, Quinn, the toolbox makes things like bouncing and sliding look natural and sleek - with hardly any code.

If it’s animating views you’re after, Matt Gemmell has got you covered. Initially having trouble with NSViewAnimation, someone neglected to tell him that it needs to be subclassed. However, Matt has recovered from his lapse in, uh, frustration and created a little sample animating views subclass. From his blog:

It’s a partial rework of Todd’s NSAnimation Demo code, which subclasses NSAnimation directly and updates all the animated views’ frames itself in the same thread for better perceived performance. For basic “animate a bunch of views at once” uses, you should be able to just change NSViewAnimation to MGViewAnimation and go with it… But please read these caveats:
  • This thing is barely tested at all
  • It will probably only work for views (not views and windows, as NSViewAnimation does)
  • It doesn’t attempt to do the fade-effects that NSViewAnimation does (though that should be trivial to implement if you need it)
At the very least it’s a good starting point for folk having issues with NSViewAnimation, and just as a general example. I hope someone finds it useful, and a big thanks again to Todd for his original code.
Matt Gemmell

You can download his MGViewAnimation project from Gemmell’s Source Code page.

Reflecting on styled windows

Boy is there a renaissance among the Mac developer community in terms of interface design. We’ve really got it going now, with every almost every app deciding to recreate their controls. I posted yesterday about the iLifeControls Frameowork by Sean O’Brien, and a few days ago about smoking windows. Again, this post is NSWindow-related.

All the way from the land of Bithaus, Ganyard brings us “Stylish Windows“. This isn’t as feature-packed as the iLifeControls, but is a little more flexible with it’s coloring and size of the top and bottom bars. Personally, I don’t really think I would find a use for this, but some of you may find this helpful.

Stylish Window

Also from the same author, comes a reflecting NSImageView (hence the title of this post). It seems a lot of code for something that would take thirty seconds in Photoshop, but this would be really handy for dynamically generated images. Really. Check it out.

Stylish Window

And I promise, I will post something programming and coding related soon. My eyes are sore from all this eye candy.