Less code, less effort

Some useful tips XCode and Objective-C tips from Brent Simmons. NSCache (introduced in iOS4) was new to me.

GitHub for Mac

Push, pull, synch (push and pull simultaneously), one-click cloning, branching, commit histories… it’s all there. Not a complete replacement for the command line, but a mighty fine effort at a git GUI. Even better: it’s free.

Shoulding Yourself

The best advice I’ve ever read on overcoming procrastination.

Subtle Patterns

… a collection of 43 high quality design patterns for you to use freely. New patterns added weekly.

Love the preview button. Intended for web devs but some useful textures for App design.

Debug logging with Xcode 4 breakpoints

Jonah Williams with a brief overview of how to use console logging with breakpoints in Xcode 4. Like most of the commenters, not sure this scales for logging in a complex codebase, but it’s a mighty useful tip.

A Silk Purse

When designer Petter Silfver and engineer Sebastian Nyström were beaten in creating an Alarm app that played music from Spotify, Petter decided to publish their design artifacts and how they went about producing them. An interesting look at the app design process of two seasoned iOS professionals, and the lessons they learnt along the way.

For Customisation’s Sake

· Design

Justin Williams makes an impassioned argument for using Apple’s standard interface controls when building an app:

Never customize the interface of your application just for the sake of customization. Do it because you truly believe it offers a better experience over the standard iOS way for all of your users. There is a reason that Mac OS X and iOS don’t support theming out of the box and we have a deep seated hatred for cross-platform apps. Users expect apps to look and behave in a similar way no matter where they were developed.

I’m struggling with this.

I agree in principle: the authenticity and familiarity afforded by Apple’s built-in controls are important components of User Experience on iOS.

In practice however, I yearn to improve their asthetic.

Differentiation is important, but it’s more profound than that: iOS along with many of Apple’s own apps rely too heavily on real-world metaphors and distracting UI chrome. Just because we have the capacity to build skeuomorphic interfaces doesn’t mean we should.

Indeed, embracing the nature of flat control surfaces and ditching the chrome is one thing WP7 and Gingerbread both do really well. As Steven Poole says, flat is the new black.

What matters in terms of consistency is whether an app feels right and it’s controls behave the way we expect them to, not whether it looks the same. That’s one thing Apple has worked very hard to achieve. It’s also probably the hardest thing to emulate when building a custom control.

Flat may be the new black, but it’s tough to pull off in iOS; natively or otherwise.

User interface strings in Cocoa

Matt Gallagher details why, even if you’re not intending to ever localize your application, you should always use NSLocalizedString.

TPKeyboardAvoiding

From Michael Tyson:

A drop-in universal solution for moving text fields out of the way of the keyboard in iOS.

On Farmers, Miners and Success

Will Shipley explores metaphors for a successful software business and concludes:

Your idea sucks. No, I’m not calling you stupid — my idea sucks, too. All ideas suck, because they are just ideas. They’re worth nothing

[…]

The secret of success turns out to be so incredibly simple: Work your ass off. Really care about what you’re creating, not the fame or fortune you’ll get. You’ll succeed.