Archive for the ‘User Experience’ Category

The Names of Fonts Available on iPhone OS

03/24/2010 2 comments

Interface Builder is great. It’s an Apple-y app the lets you build your own Apple-y apps. It’s all so much Apple-y goodness. Well, maybe even too much goodness. Say you want to change the font family for your UILabel. Maybe you like the Helvetica. Or maybe you like the Arial.  So off you go to the Attributes Inspector and dutifully click on the Font attribute.  POP!  The familiar ol’ standard OS X font selection dialog window springs up in front of you…with all your workstation’s installed and active fonts.  Here’s the catch: the vast majority of those fonts will not be available on your iPhone or iPod Touch application. What a downer. But we can at least sort this out easily enough. Read more…


Keeping User Defaults Synchronized with Settings.bundle

08/12/2009 3 comments

The first time you wade into the NSUserDefaults system in Cocoa, you feel sweet relief wash over you. Managing user preferences in any application can be a very tiresome chore. NSUserDefaults is like hiring a housekeeper, only it doesn’t cost you anything.

Excited with the possibilities, you dive in. You quickly have your Settings.bundle added to your project and your settings menus built. It all looks impressive, and only took a few hours. Woo hoo! You launch your app to watch this sorcery in action, when—bang! The app crashes. Not cool. A little debugging shows that the defaults you created on the root page work fine, but only if you open the your app’s Settings page before launching the program. And child menus have the same problem, except that users have to navigate to each child menu before the defaults work. You imagine the reaction you’ll get when you explain this to your users: I have to do whaaaat?

Read more…