iPhone Development Guidelines – Do’s and Don’ts

First, a disclaimer. I am not an iPhone developer. I am what used to be termed a ‘power user’ – gamer, tool user, critic, yes – but I don’t write iCode. (I do develop, just not on the iphone).
Having gotten that out of the way, I’d like to propose a list of Do’s and Don’ts that every iPhone app developer on the planet should adhere to. This is a list from a USERS perspective – things that irk me to no end.
Onward…
* DO : Obey the Mute switch! – How hard can this be? If the mute switch is on, then SHADDUP! There’s a REASON it’s called a mute switch! I don’t know how many games I’ve powered up that leave me scrambling for the volume-down buttons when the mute switch was IN THE MUTE POSITION.
* DO : Incremental saves – again, primarily on the gaming front. That little device in your hand? it’s a TELEPHONE. That means people can call you at any time, and interrupt the application. It doesn’t matter if you’ve spent 3 hours getting Sir Grinsalot to the top of Mount Bigahonkin and you’re about to kill the Great Gizbo of Durn – grandma will STILL call you at that point, interrupting the game. Save!
* DO : Provide status that you’re doing something. Okay, older platforms are slow, so sometimes it takes time for things to load. Provide some animation or indication that something is going on – a load bar would be best (gives an idea how much longer it’ll take), but even a spinner will do.
* DO NOT : assume that just because you’re on an iPhone, the easiest device on the planet to use, you don’t need to provide directions. Apps are NOT self explanatory, and a link to a web page is not enough. “This button does that, this button does that. Got it? Go forth and enjoy.”
* DO NOT : Link out to a web site without informing the user you’re about to do so! Nothing is more painful than tapping on a “view the high scores list” and have that exit the damned app to start Safari. That app may have taken you 4 minutes just to get to that screen. Now you have to do it all again.
* DO : Provide a rotation lock. Some of us like to read or do games while going to sleep, which does not necessarily mean I’ll be in an upright position. Having the app auto-rotate to what it THINKS is the right orientation is irritating when you have no option to disable this.
I’m sure this list will grow, and I’m open to suggestions as to what to add to it. These are things that have come up in my adventures.
What bits have YOU seen that developers seem to miss?

CONGO – Motivation is Good!

I’ve been pretty lax on CONGO lately. Other Life stuff as well as being worn after Arisia has put coding on the back burner.

SystemUIServer

But in the last week or two, several folks have asked for updates and new installations, and my “I should get coding again!” bits have been tingling.
This week I had a great meeting with the Arisia registration head, and she and I hammered out a schedule of updates for the next release. I have about a month to implement a bunch of new features – most of which have been burbling in my head for a while, but it’s time to get them coded and released.
There’s been some nice input from other events (some far away, some local) interested in using CONGO, and my path to general release is pretty well established. Having said that, the current code is pretty solid, with documentation, installation instructions, and support available. Want to run it? Let me know, I love testers.
Anyway – code is being checked in and features are slowly getting done. It feels good.