4 days overdue this month, but here we are.
To all people who are also developing for OS X, this may give some insight. I had gotten some emails of developers asking about the whole UI design and how it all works under the hood. Being a designer that also knows technique, I happily show some things that helped me a lot. Grab some coffee (or hot cocoa) and follow along in the exciting world of Mac UI design.
On the Mac, Apple is the leading party for developers to look at because they define the ‘rules’ – more than often, Apple comes with nice interface ‘standards’ that the aging years-old interface guidelines do not include. An example are the now ubiquitous ‘HUD’ panels. Black and transparent and known best as ‘the iPhoto adjust palettes’, Apple introduced then, and developers followed suit. If it comes to other things that spice up interfaces across the board, it’s not a bad thing to just go rummaging around the insides of the interface. F-Script Anywhere is just built for this.
As an example (and request), I will take the dark search box in Praetorian. Most OS X search boxes have the same look; the black loupe, grey or black text on a white round beveled text field. There is an obvious class whose documentation is worth looking at, namely NSTextField. You can define a lot of parameters on the NSTextField, but it’s much more fun to take a look at how Apple does it. Time to whip out Aperture, the dark interface-toting chunk of UI goodness for RAW workflows and other photography work.
Apple does some nice things here. They have made some custom classes for this, subclassing NSTextField and doing a really nice job making it all consistent. The same goes for the sometimes stingy NSTableViews – take a look at how people do it. There’s Google Code, the Mailing Lists, Cocoadev and open-source projects. Shiira, as I mentioned before, has an excellent open-source framework for HUD panels and everything that goes with it (also with a custom implementation of a black NSTableView). Apart from documentation, what is done in practice is often an excellent way to know how the experts do it, and where you can innovate or, even better, know what’s not worth your time.
Now, all this talking about interfaces could make you curious why another application I make, like iSight Expert, is very ‘conventional’; a unified interface with many features reminiscent of other Apple apps serving similar functions. That’s because it’s a very straightforward application oriented towards a casual purpose. People don’t use just -that- app, it would be a desktop citizen every now and then. Praetorian is a very primary app, it is a workplace that is prominent and serves an abstract purpose. When it comes to something so abstract and touching on the technological side of computers, it can scare your non-expert potential customers. A custom interface with unique features will help overcome a lot of the problems such applications are inherently confronted with.
This custom interface is not only appealing, it incites curiosity and if it’s not too involved and complex-looking (like Praetorian), most users will be interested. It’s important to lower the bar when it comes to giving users control over their network and taking steps in securing their assets. Now, if it’s made easy, I am all the happier.
And that’s what UI design is all about. You need to find and embrace conventions, because users will be able to use their intuition. You can use or create the many standard third-party buttons and interface graphics because they are in the public domain and free to download, often with sample code. There are many things you can communicate with the interface and it’s graphics, and (especially on the Mac platform) for users, it’s the biggest part of the program. Arguably, functionality is the most important thing to a user; but it’s the interface that lets him gauge the functionality beneath.
In line with Leopard, I am doing a lot of work preparing application interfaces and graphics for the true resolution independence by system scale factor and redoing icons (or making totally new graphics) for the higher resolutions. Since I am a student, I’m happy to help out a lot of projects with this exciting time were are entering. Expect more details on this on the Cocoia Main site very soon.