Tom Insam

Paperwork Hacks


With iPhone OS 3.0, Apple introduced in-app purchasing. The idea is that applications can charge for additional functionality (or game levels), content subscriptions, or pay-per-use features.

There are two interesting caveats, though:

  1. An app can only offer in-app purchasing if the app isn’t free.

If you want to charge money for your app, you have to jump through a lot of paperwork-shaped hoops with Apple about tax and other very boring things. The same will obviously be the case for apps that want to offer in-app purchasing. But charging money for an app up-front is part of the iTunes Store process, and is hooked into your developer account. Using the ‘paid content download’ API is part of the developer tools, and is probably very hard to detect without using debugging tools, which aren’t part of the iTunes Store process.

This feels like a legal hack. It’s a short-term way to make sure that developers have done the paperwork required to collect money. Once the problem is solved properly, I’d expect this restriction to be relaxed. Maybe even you’ll be allowed to charge money for downloads if you have any paid-for app in the store, that might be easier to implement first.

I’m guessing that Apple got to shave a chunk of time off the release date of a feature by hacking their own license agreement system.

Twitter timeline

Yay twitter. You launch a small fun social chatter app. It falls over during WWDC, hillarity ensues. You gain an adorable downtime mascot! Next WWDC, you’re better, things stay up. Much handwaving happens about business models, never goes anywhere. Spammers arrive - you must be a real web service! Yay!

US elections happen! Major political parties use Twitter to do.. things. You start appearing in major newspapers. Every company suddenly has to have a Twitter account. Hardcore userbase grumble about how people aren’t using twitter ‘properly’, it’s just microblogging/broadcast. Noone notices them because their grumbles are buried under the firehose. You turn off some features, tweak others, there’s a little grumbling, noone actually stops using it. Future looking rosy! Though that might just be the burning servers.

Then the State Department asks you to move downtime to not clash with elections. Today, you’re a tool for Iranian propaganda.

Personal thoughts on this.

a. Twitter are a lot bigger and more important than I thought they were, apparently.

b. If I worked there, I’d be terrified.

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.

Twitter is useless

as archival systems go, Twitter is beyond useless - the shift to the infinite-page ‘More’ button and the complete lack of any sort of dated archive mechanism means finding things you’ve said in the past is almost impossible

Hmmm, suggestion. Twitter is as popular as it is exactly because archiving is useless. It’s so shitty that it almost approaches an actual conversation in terms of forgetteability and deniability, and this is valuble.

Of course, it only feels like that. Things are hard to find if you’re looking for them, but not actually gone, so we have things the dangerous and nasty way round, rather than the useful-to-monkeys-with-overdeveloped-social-lobes way round. But it feels safer.


Tom seriously, opensocial is one of those 'can be used to solve any problem _except_ problems caused by too much javascript bogging everything down' solutions.
Tom you just extend the container API with some verbs that describe your service.
Tom for instance, dopplr public pages with embeddable widgets written by 3rd parties that can get your trip data and display pretty graphs.
Aaron every webpage a portal
Aaron the web will eat itself
Tom Actually, I can't even think of a _bad_ use for that.
Tom it would be a more ELEGANT DESIGN to implement your entire site _as_ an opensocial widget!
Tom I will now go looking for VENTURE CAPITAL
Tom and maybe SLEEP.

jerakeen proposal for twitter bot that public announces position changes from, say dopplr.
jerakeen it just says '@blech has just landed in SFO'
jerakeen but flags it as a reply somehow (handwave)
jerakeen so I only see the travel movements of people who I also follow
blech if you went to its page, you'd see everything, surely?
blech so it'd have to be opt-in
blech although depending on how it's fed it'd have to be opt-in anyway
blech still, kind of a nice idea
jerakeen sure, ignore the privacy angle
jerakeen I'm just wondering about clever things you can do with the twitter limited distribution thing
jerakeen also, note that its utility would be _totally_ dependant on twitter not randomly changing things again
jerakeen you can design all sorts of clever things using conceptually very fragile bits of 'API'
jerakeen which twitter can change at any moment.
jerakeen etc etc
blech indeed

Peggle for the iPhone

I like Peggle for the iPhone. A lot of it is that it’s a fun game. But it’s also a genuinely nice iPhone port of the thing. It’s a landscape game, but works both ways round, and flips sides properly. It has background music, but if you’re playing music off the phone already then it’ll start up with only sound effects, without asking you anything. It uses touch very nicely, as a direct ‘aim here’ interaction (backed up with a fine-tuning control) but double tapping anywhere will zoom in on that spot as you’d expect on the iPhone. And it flawlessly resumes from exactly where I last left it every time I start it up, so I’m not worried about leaving a half-finished game when the train gets to my stop.

Also, unicorns!