With the introduction of Push Notification Services, I envisaged a world of iPhone apps that would deliver countless valuable updates as they occurred. Of course, that’s precisely what hasn’t happened. Few of the apps available in the App Store actually make use of PNS, and those that do are of dubious value. (For example, Ambiance pushes notification of new sounds added to its library. Useful? No, not particularly.)
I also imagined we’d have Push notifications in our Twitter clients by now (Atebits, I’m looking at you!) because knowing what my fellow geeks are doing right now on the other side of the world is crucially important to me. I know you understand.
One Twitter app that’s leading the way with PNS is SimplyTweet 2.0. It’s Yet Another Twitter Client, sure, but it has an impressive feature set and its developer, Hwee-Boon Yar, sat down to answer some questions about the app, including telling me what it’s like developing for the iPhone as well as sharing his experiences of being on the receiving end of Apple’s broken application approval process.
Hwee-Boon, 31, lives in sunny Singapore where he owns and runs MotionObj, a company dedicated to iPhone software development. I wanted to know why he created Yet Another Twitter Client.
“I had used the iPhone for about a year and when the App Store was announced I thought, why not give it a try? I already had a Twitter account for some time but there weren’t any Twitter clients that met my needs -– in fact, I think there were only about three Twitter apps back then.
I already knew Smalltalk and C, and the toolset and languages for developing iPhone applications is based heavily on those language. So I thought a Twitter client would be an easy way to learn the tools and to build a business on, especially since I preferred not to work for anyone else. That was the start of the App Store Gold Rush period, and I was very naive.”
There has been an explosion in Twitter clients in the last year. Isn’t the market too saturated to bring anything meaningful to the table?
“When I started, there was only a few Twitter clients, but I could see the numbers growing. I joked that Twitter apps are the new flashlights in the App Store. But Twitter clients are one of those wonderful applications that can be treated in many different ways. Some applications do very well with a clean user interface and basic functionality, some applications strive to have tons of functionality. Occasionally one will appear that tries to do something innovative.
My aim is to keep SimplyTweet’s interface simple and usable but at the same time add and enhance features, such as conversation threading, push notifications, themes and photo searching.”
Bringing together the various APIs and having them all play nicely together must have been taxing; you presumably had to combine Twitter’s API, the iPhone SDK/Frameworks and interoperability with Apple’s PNS Servers. In the words of Marge Simpson, this sounds like a hassle coupled with a burden.
“The iPhone application itself makes use of Apple’s iPhone SDK, and there are occasional bugs in there, quirks that have to be worked around. Some of the functionality used in Apple’s built-in applications [in the iPhone OS] are not made available to developers. For example, I spent a day building the trash can animation effect similar to how the trash can button in Mail animates when you delete an email –- all because that element is not made available to developers for use in their own apps. But these problems are not uncommon to most platforms.
Interfacing with Twitter can pose problems. Sometimes they make a change that requires the code in the SimplyTweet application to be updated. Here’s where the real problem is. Twitter is kind enough to give sufficient lead time for developers to make changes, usually around five days. This works when you have full publishing control over your application. Unfortunately, with the App Store, even if you make a change and immediately submit the new update, there is no guarantee it will be approved within five days. I have waited weeks, sometimes only to have an update rejected; [I] worked out a fix, then had it rejected again. Each re-submission puts you at the back of the queue again.”
So while day-to-day iPhone software development is built on rock-solid foundations, the complaints we’ve been hearing about Apple’s approval process are valid? Is the process really broken?
“In short, it’s a mess. Approvals are unpredictable and payment is hard to track. Plus we can’t charge for upgrades, but for many software developers, upgrades are a major source of income.”
“SimplyTweet has been relatively unknown for a long time, but it has actually undergone more than eight upgrades. All of those were free. But making updates can often take a lot of time and currently, there is no way a developer can make money from them. Add to this the hits-based nature of the App Store and you find developers are not so keen to do upgrades. The App Store apps are relatively cheap compared to what’s available on other mobile platforms, which is great for iPhone customers, but it doesn’t foster a healthy developer ecosystem.”
Hwee-Boon thinks that this low-cost, short-run revenue model will cause the quality of applications to drop and ultimately hurt both developers and users. It’s hard to disagree. We’ve all seen apps repackaged with “Pro” suffixes to justify charging customers afresh for what is, essentially, an upgrade to an existing app. (I invite you to add your own examples of such Apps in the comments.)
So why continue to develop for the iPhone when the outcome remains so bleak?
“Despite major issues with the App store, the iPhone is still the best mobile platform at the moment. Only at the moment.”