Former TUAW blogger Erica Sadun has a cautionary post for developers regarding the pending push notifications coming to iPhone OS 3.0: better get yourself some reliable servers. The implication, delivered via headline, is that smaller developers won't be able to afford push notification. Indeed, as Erica says, coding for an app that can run in the background is one thing -- you may need to scale things down a bit for resource management -- but deploying a reliable push notification system is a tall order by comparison.
Instead of coding once and deploying, developers will now have to manage servers to handle the load of users who will be receiving push notifications. This ongoing server maintenance issue is the sort of thing we used to laugh about when digg first started, or Twitter, or MySpace, or any number of services that grew a little ahead of server capacity. After speaking to one of the network engineers at Twitter during SxSW this year, I don't envy the task of staying ahead of these curves. But push, in my opinion, isn't as onerous as that.
Push notifications aren't serving entire pages. The difference in data throughput overall is much slimmer than even the light pages Twitter serves. Erica correctly points out that in aggregate, the push server might be hit pretty frequently; however, and there's more of a concern with reliability for a finance or medical app than something like Twitter or digg. But even when you throw in the added hurdle of security I'm guessing the resources for this are available at a reasonable cost.
I get that this is more work for developers, but Erica makes it sound a little threatening, like developers' only resolution will be to cobble together a mighty datacenter from spare computer parts. My assertion is that developers who wish to play the push game will simply need to look for outside resources and factor that into their price. Maybe fewer $.99 apps is a good thing? You certainly don't need 30 apps trying to alert you during the day -- how would you get anything done?
In the end, push notifications are welcome, and I'd rather have that than a one-hour battery life for the day. Plus, I would agree that some smaller developers will have to forget push because the potential costs are too high. Guess what? That's as it should be. If your product requires it, your cost should reflect it. There's no shortage of service providers out there, and as we've seen in the past (look at the podcast services that popped up when that blew up a few years ago) the market will fill the needs of the developers if they aren't in the business of making their own server farms. It's certainly a new twist to the iPhone dev game, and it's an opportunity for someone who can deliver a reliable push framework at a reasonable price -- perhaps one running atop Amazon's EC2, Google's App Engine or even Microsoft's Azure cloud service.