The reaction we’ve heard firsthand from iPhone developers regarding the newly released iPhone 3.0 software developers kit has been remarkably positive. Software companies big and small are excited about the opportunities to use — or see what others do with — Apple’s new push notification system, built-in maps interface, and accessories interface. (Among the 1,000 new hooks into the iPhone for programmers.)
But nothing is perfect, of course. And as Portland-based designer/developer Neven Mrgan reminds us in a blog post, it’s still harder than it should be to make some very simple apps.
See, I have to take a medication several times a day, at pretty precise times. If I miss a dose, my schedule is further complicated. Needless to say, I can’t trust my brain to manage this, so I have several alarms queued up for my meds on my iPhone. Now, there are a few more features I could use in this setup, and the Clock app obviously doesn’t have them. I’d like to mark it when I miss a pill, note what dosage I’ve taken, maybe even get reminded about refills, etc.
When the iPhone SDK first came out, I sat down and designed the app that I – and many others, I’m sure – needed. Except it turned out there was no way to alert the user when the app wasn’t running. No way to add an alarm to the Clock app. No way to add a Calendar event.
I’ve mentioned this to several people, and the reply has often been, “well, maybe when push notifications come out.”
I think there’s a lot of misunderstanding (or too-quick thinking) regarding the Push Notification feature. Here’s how I take it to work: your server notifies Apple’s server to notify a certain device with some text, an unread count, or a sound. Peachy for an IM service, multiplayer game, or some such thing.
But for a simple app, this is mad. In addition to the app itself, the developer of my pill reminder would now have to maintain 1. a very busy server, 2. user accounts on the server, hopefully in a very safe way, and 3. some sort of (simple) server process to send notifications. I’m no expert, but this complicates the development tenfold, and it’s pretty ridiculous for a feature of such tiny scope.
A feature that could be solved by a simple API to add an alarm to an existing alarm app which is already running. Same goes for the calendar. And, with push notifications, the user would need to be connected to the Internet to get notified. Good luck, iPod touch owners.
So, long story short, let’s get a basic Clock + Calendar API. It’s not there in 3.0.