iPhone twitter clients and Push

I guess iPhone push notifications might be annoying. But you can always turn them off. This isn’t what worries me.

The biggest problem with this Twitter/push thing is that we’re not going to get it for Twitter apps any time soon. Obviously, Twitter won’t do it natively, it’ll be left for third parties. So some third party will have to run a server that polls Twitter for your updates, and pushes them to your phone.

This will have scaling issues. The first person to launch this will get all the users (because shiny!!1), and their server will melt. Unless it’s huge.

They will have to charge money for this service. Probably monthly.

The leap from ‘I have written a pretty Twitter client’ to ‘I have to run infrastructure and bill monthly for it’ is huge. Push isn’t just a bullet point feature. It’s almost a harder problem than writing the iPhone app in the first place.

Also you’re now polling Twitter for all of your users all the time. and holding auth credentials for them on your central server. So

  • Twitter API usage lurches upwards again, because now this service is polling them every 5 mins for every user, and all these users are polling Twitter from their phones (unless the phone client is polling your server for updates, in which case now you have to scale for that as well. At least if the only thing you do is poll/push, it doesn’t matter if you fall over for 5 minutes. or indeed for an hour).

  • This third party server now has usernames/passwords or oauth tokens for all of their users, rather than these tokens staying only on the client apps. yay security!

Now, Twitter seem to be growing some sort of streaming API. Not sure if this helps. If I have 100,000 users, I hope I don’t have to hold 100,000 simultaneous HTTP connections open to my server, that might be tricky.