Filed under: Analysis / Opinion, iPhone, App Store, iPod touch
iPhone developers will need servers to push
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.

Get a WordPress.com Blog
![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
Scott Wilder said 12:43PM on 4-13-2009
I thought Apple was handling the Push Server infrastructure?
Am I wrong?
Reply
onlydarksets said 12:49PM on 4-13-2009
That was my understanding, as well.
Shocker that TUAW is drinking the "push koolaid".
Jayson said 12:51PM on 4-13-2009
Apple is serving the push notifications to the iPhones, but the developer has to send the notifications to Apple using their servers (since the apps won't be running in the background.)
Victor Agreda Jr said 1:11PM on 4-13-2009
As shown in the photo (albeit rather small), yes, Apple will do the final push, but the note has to originate from servers the developers will have to set up.
Not sure what "kool aid" @onlydarksets is referring to, but Jayson states the facts correctly -- or as Apple stated them before.
Sam said 12:53PM on 4-13-2009
Amazon's EC2 is the way to go for this sort of thing. Apple really should get into cloud computing for themselves since it would be a great way for iPhone developers to deploy all kinds of server-based content.
Reply
Damien Guard said 12:48PM on 4-13-2009
Won't be a problem for long as people step in to provide this service. It wouldn't surprise me if either Amazon, Apple or Akamai are the first.
[)amien
Reply
balls said 1:15PM on 4-13-2009
edzachary.
Seems like you could make a solid business out of providing hosted push notification servers for the iphone.
Then again, I'm a dev, not an MBA.
Justin Noel said 1:48PM on 4-13-2009
Joyent ( http://joyent.com) would be a great solution. $200 per year for a no setup server to handle this type of stuff.
They already offer free development servers for Facebook devs. They could do the same for iPhone devs to get them started.
My site is already partially managed on Joyent servers. Soon, I'll have the whole thing hosted by Joyent.
Matt said 12:50PM on 4-13-2009
I'm surprised that this is a shock to people... Yes, Apple is handling the relay to the iPhone, but obviously the request has to generate from somewhere, right?
For my app, I'm simply setting up a web-based infrastructure on a cloud server, and charging a reoccurring monthly fee for push notifications.
Sure, it may not be ideal for everyone, but anyone with a little web experience shouldn't have any problem with getting this working. And if they do... Contact me!
Reply
Jake said 1:09PM on 4-13-2009
This should make the already entertaining posts on a particular iphonedev forum even more-so as people who not only have no programming experience but now no server admin experience try to write apps that push notifications.
Reply
emil said 12:58PM on 4-13-2009
Blech, I hope Matt's case is the exception to the rule. I realize there are costs associated with push, but I'd prefer to pay a bit more up-front than pay a recurring subscription.
Reply
SubGenius said 1:02PM on 4-13-2009
Apple should have put the push notification server into Snow Leopard Server.
Forced adoption baby! just kidding.
Reply
huth.sebastian said 1:04PM on 4-13-2009
And that's where the difference between AIM free and AIM premium kicks in, I bet they won't have push on the free version. I just hope that not every app that is available now for free will turn into a pay-for-push app (facebook?). This opens up an entirely new area of business, combined with the in app purchase (buy one more month of push for only $.99) I see a disaster coming…
Reply
slembcke said 2:08PM on 4-13-2009
Well, I would like to point out that servers cost a lot of money to maintain. Most independent app developers can barely break development costs for a well made app. You can't expect them to also be able to afford to pay recurring server costs for an app that they sold you for a one time fee that probably put a dollar or two in their pocket.
conigs said 2:25PM on 4-13-2009
Facebook isn't a good doom & gloom example, since, you know, Facebook already has servers.
I think it's trivial for the Facebook for iPhone developer to set up a "companion" app that gets installed to your profile. All it takes is allowing it access to all of your profile and the ability to access your data when not logged in. In fact, it might not even need to be a companion app since the "Facebook for iPhone" app shows up under may application list already.
Also, it seems many developers already have servers set up for web site hosting. I would think (hope) the push protocol is simple enough that it could be generated by server-side scripts. And since the pushes would be small (a few bytes), bandwidth isn't an issue. So that just leaves uptime and CPU load, which a decent host should be able to offer.
Dan said 1:05PM on 4-13-2009
"… but Erica makes it sound a little threatening…"
That's because she's a sensationalist rather than a realist. FUD spreads better than rational reporting. Erica Sadun is a capable writer who was allowed herself to become a hack.
Reply
oliver hart said 5:39PM on 4-13-2009
Shut the FUD up.
Lolz
She must be doing something right. She writes it, tuaw rewrites it, you read it AND take the time to comment on it.
ELECTRO hyena said 1:10PM on 4-13-2009
I really think this is alarmism. I can say with fair certainty that MOST apps won't need a high degree of push interaction, IM/chat apps being a notable exception.
Amazon S3 is more than sufficient to handle this sort of deployment and provides the scalability that such an app would need.
All the complaints about push are frankly quite silly. I think this is a really nice step forward, be it from apple or anyone else. This is a really, really good implementation of cloud computing. No, your mobile device really doesn't have the resources to sit there endlessly churning away with open socket connections, or constantly pinging blogs, or whatever it's up to. However, a server designed for this sort of processing can do those tasks much more efficiently without those constraints and leave the mobile device as the 'view' in the MVC model, reducing the load on the device.
Total alarmism, I'm sure this will prove to be a non-issue.
Reply
henry said 1:26PM on 4-13-2009
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.
I don't understand this. You sound as if these push notifications are a problem that need to be controlled. I could see how higher costs for this service could be a necessity, but I don't see how it is some kind of greater good. Does the higher cost for this service help the consumer? The business? Anyone?
Reply
Eric Warnke said 1:35PM on 4-13-2009
I don't think that developers should be the concern moving forward. With over 10 million 1 phone users will either Apple or AT&T be able to handle push without screwing it up or having massive reliability issues.
Reply