I’ve been receiving an increasing number of requests for Byline to make use of the new Push Notification service in iPhone OS 3.0. Many people seem to assume — understandably, given Apple’s enthusiasm — that push notifications are just as effective as allowing apps to run in the background, and that using the service is relatively easy for developers given that Apple provides a large part of the infrastructure.
Both assumptions are more true for some apps than for others. Neither are very true for Byline, unfortunately.
Push notifications could be used to periodically update Byline’s unread count on the home screen.
… That’s all. No data can be loaded or processed beyond the notification itself, so Byline would still have to be launched with an internet connection available in order to sync, download and cache the new items. Note also that the updates would be periodic, not truly pushed as soon as new items appear in Google Reader.
I would have to set up one or more servers with a high-bandwidth commercial internet connection. I would have to write custom software to receive and store the Google username and password of users who wish to receive push notifications. After that, I’d probably want to consult a lawyer. Then, I’d get the custom software to periodically poll each and every Google Reader account for the total number of unread items. Any changes would be pushed to Apple’s server. And so on, until Google blocks my IP address.
Like most developers I love being challenged; difficulty alone is not enough to dissuade me from trying something. But a great effort should bring a great result, one which makes the app better for a large proportion of its users, and which justifies using time which could have been spent on other improvements.
For the vast majority of users, there’s no value in adding push notifications to Byline. Anyone who subscribes to more than a few feeds is likely to have new items appearing in their Google Reader account on a regular basis, so knowing the precise number of unread items awaiting them at all times just isn’t that important.
Apple’s Push Notification service is a good idea, but it does have limitations. It’s not very useful for apps which need to do more while they’re not active than simply attract the user’s attention, and it’s not very practical for developers who don’t control both the app and the web service on which it relies. Still, I’m not complaining — there’s no better solution until background processing becomes feasible, which I don’t see happening until the iPhone gets at least 512MB RAM and a dual-core processor.