Monthly Archives: March 2011

Buy apps, help Japan

From a “beautiful post by Craig Mod”:

“I pulled all of the poison out of the air — I drew it deep into my lungs and exhaled into my socks. My socks are full of the radiation, don’t touch the socks. I pulled the tsunami back. I drew the inland water back into the ocean. I pulled it over the rice paddies, unflattening them; the trees, straightening them — a billion billion leaves fluttering back into position. I drew the water back, back, back. It was easy because it was what I had to do, I tell her looking her straight in the eyes. Perhaps you don’t understand, but I had to.”

Check out “”: for a collection of apps that are donating their profits to the Japanese Red Cross Society. Buy a few. And don’t forget “Developers Against Poverty”:, which needs your donations before the end of the month.

Brent on baked blogs

My post on free apps “was linked from Daring Fireball”: a few days ago. Tons of new traffic, but my site didn’t go down. Why? An ancient but reliable version of Movable Type spitting out static files, with just a tiny bit of PHP for “Mint stats”:

“Brent Simmons talks about this lost art”: of publishing to static files instead of serving from a database:

“It’s an old technique, actually, but too rarely practiced. (Lots of weblogs in the ’90s were rendered as files-on-disk. They were built from a database plus templates and scripts and uploaded to a server. We did a bunch of this when I worked with Dave Winer at UserLand Software.)”

I couldn’t agree more with Brent’s advice, and in fact I ran this blog on Radio Userland for its first couple of years. In addition to performance, static files are portable. I can pick up this site and move it anywhere. The old web is fragile, and as web sites age, being able to permanently host them somewhere cheap and stable is going to become a big deal.

I hope a modern equivalent to Movable Type emerges eventually. For now, I’m thankful that the only time I have to worry about a web site outage is when a Dreamhost sysadmin trips over a power cord.

Twitter’s platform at 5 years

Twitter recommended upgrading to OAuth “for optimal security” and so developers don’t need to “worry about the user changing their password”. While I dislike APIs that break old clients, I saw mostly the good things about OAuth, framed around letting the user approve access to their own account.

Seven months ago, as Twitter was finishing the OAuth transition, “Buzz Andersen tweeted this”:

“Twitter isn’t just enforcing OAuth for technical reasons: it’s a way of taking control of the platform.”

I’m not sure I got it at the time. Twitter was all about open APIs, right? They encouraged new clients, and the original Mac client Twitterrific had “brought a lot of innovation and standards”: to the platform. Why would they need this level of control?

“The email from Ryan Sarver”: last week showed part of how Twitter is changing as a company, refocusing from building a network to selling a product. Reading between the lines, it seems that to effectively sell ads, Twitter feels they need to control the user experience. On Twitter clients:

“Developers have told us that they’d like more guidance from us about the best opportunities to build on Twitter. More specifically, developers ask us if they should build client apps that mimic or reproduce the mainstream Twitter consumer client experience. The answer is no.”

Disappointing. At a panel on the Twitter API at SXSW, that sadly no one from Twitter in Austin knew about, the mood was pretty dim. I said to the room that we expected more from Twitter.

Then over the weekend, Ryan clarified: “we are saying it’s not a good business to be in but we aren’t shutting them off or telling devs they can’t build them.” There’s still plenty of uncertainty, but that’s a more hopeful message. I collected some additional “related tweets on”:

Many people during SXSW asked me what this means for Tweet Library. Is Tweet Library a mainstream Twitter client? It has all the basic features of a normal client, but no, not really. It’s meant to be something more, something unique that solves problems no one else is working on, least of all Twitter.

I’m a little discouraged, but not enough to stop. I owe it to my customers to finish what I started: to fix bugs, add new features, polish the rough edges, and make Tweet Library the best app on the Twitter platform.

Overusing the term REST

Jens Alfke, “commenting on the new Rdio API”:

“Maybe we should just give up on the term REST, since it’s become so diluted as to mean nothing more than ‘HTTP API that’s not as hard to use as SOAP’?”

Sounds right. “Pure REST”: was never strictly followed, and the advantage to consistent HTTP methods — being able to abstract parts of the client details away, as with “ActiveResource”: — don’t seem like significant savings to me. Now that XML-RPC and SOAP are mostly dead, we assume that new APIs are going to be usable from any language without much effort. I won’t object to having one less acronym in the world.


Today is the 9th anniversary of this blog. Once a year I dig through old posts, remembering what the industry was like and the topics I was interested in. This time I found a link to a post Evan Williams wrote in 2001 as Pyra Labs and Blogger were struggling:

“First of all, the company (Pyra) is not dead, and the service (Blogger) is not going away. However: We are out of money, and I have lost my team.”


“Yes, things would have been very, very different if the Internet Bubble wouldn’t have burst and we were still in that…that, Other World in which we started. In that world, things that seem dumb now (such as launching a product and letting it grow for so long without making revenue from it a priority) made sense.”

The full text is “available on the Wayback Machine”: I wish more CEOs blogged with even half the sincerity.

SXSW Interactive starts this weekend. When Evan wrote the above, the conference was a few rooms along a single hallway. Now it’s a monster conference, spread across multiple venues, with a speaker database so dense I don’t even know where to start. Still, I’ll be there and hope to catch up with any of y’all making it to Austin.

Where Apple went wrong with free apps

John Gruber has a solid summary of the issues around in-app purchase. Regarding the closed platform:

“iOS isn’t and never was an open computer system. It’s a closed, controlled console system — more akin to Playstation or Wii or Xbox than to Mac OS X or Windows. It is, in Apple’s view, a privilege to have a native iOS app.”

This is the root of nearly every strength and problem with the App Store. I’ll never be happy about it. But in-app purchase restrictions are even more complicated than that. It started not just with the controlled environment but the decisions around free apps.

Michael Tsai points to this Peter Oppenheimer quote from late February that Apple runs the App Store at “just a little over breakeven”. I’ve argued that Apple’s 30% tax is about growing that to significant profit at the expense of developers, but in the back of my head I’ve also been concerned that maybe it’s just to keep the App Store from falling into the red. Maybe they are really struggling under the weight of what they created, and long app review times and lack of focus around the Mac App Store launch are just symptoms of that.

If this is true, then I’m more sympathetic to Apple’s predicament. They aren’t being greedy; they’re just trying not to lose money. But that doesn’t mean they didn’t make a mistake.

Steve Jobs, announcing the App Store in March 2008:

“You know what price a lot of developers are going to pick? Free, right? So when a developer wants to distribute their app for free, there is no charge for free apps. At all. There’s no charge to the user, and there’s no charge to the developer. We’re going to pay for everything to get those apps out there for free. The developer and us have the same exact interest, which is to get as many apps out in front of as many iPhone users as possible.”

I remember being surprised when I heard this. We take for granted now that much of the App Store’s success is because of free apps, but I’m not sure it had to be that way. The iTunes Music Store launched with a full paid catalog of music. Many of the hits in the App Store, like Angry Birds and Doodle Jump, have never been free.

But watching Steve Jobs from 2008, you can tell Apple was worried that what happened to the Mac (lack of third-party apps and games) might happen to the iPhone as well, so they gambled the profitability of the App Store away to encourage as many apps as possible. That was their choice.

Again, from Steve Jobs: “We keep 30% to pay for running the App Store.” Not a profit center. Not a business. Just to pay for running the store, so that the user experience for app discovery on the iPhone is second to none.

Today, we know that Apple has never planned well for free apps. You don’t need to look much further than their reversal of allowing in-app purchase in free apps to see that they are making this stuff up as they go along.

When Steve Jobs said it, offering free apps for so little seemed almost foolish, like Apple was compensating for the high 30% by giving too good a deal to free apps. Why not charge some hosting fee? Or why not give up exclusive distribution and let free apps be installed directly by the user without forcing everything through the App Store? Unlimited bandwidth, promotion in the store, and everything else just for the $99 dev program fee was a pretty good deal.

And now I wonder if Apple hasn’t been backpedaling ever since, trying to make up for that mistake: free apps are a burden. iAd was the first correction, because a share of revenue from free apps was going to Google instead of Apple. In-app purchase is the next correction, because real value can be delivered in a free app with transactions handled elsewhere.

Apple can’t accept a future in which too many apps are technically free — something that has already happened on Android — unless they are also taking a cut when money changes hands outside of app download.

Matt Drance clearly spotted the loophole that forces Apple to be so strict with in-app rules:

“30% to Apple across the board — app sales, IAP, and now subscriptions — is consistent, clear, and uncheatable. That cheating bit is significant: a 10% commission for subscriptions, for example, would see developers adopting the subscription system en masse so they could keep more money. Apps that were once $2.99 would suddenly be asking for installments like late-night infomercials.”

Apple is trapped by their original decision to shoulder the cost of free apps. They encouraged free apps and now they’ve got one band-aid on top of another — advertisements, in-app purchase, subscriptions — all trying to make free apps work for the App Store bottom line. These changes make developers nervous because all the power lies with Apple.

Free apps and the problem of exclusive distribution are linked. Get rid of free apps, and the store can support itself naturally. Get rid of exclusive distribution, and Apple can be more creative about charging developers who do want to participate in the App Store. If Amazon isn’t happy with Apple’s terms, users can install the Kindle app outside the store and it doesn’t cost Apple anything to maintain.

Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.

iPad 2 (and tweets)

I couldn’t be more excited about the iPad 2. Yes, “most of it was expected”:, but faster and more memory is exactly what the iPad needs. I’ll be getting it on day 1 and can’t wait to give Tweet Library a try on the new hardware.

During the announcement I collected 70 tweets that I thought captured the event. You can “view them on”:

Speaking of Tweet Library, Apple just approved version 1.2.2. It fixes a handful of bugs and adds a few new things, like block and report spam, for those of you using it as your main Twitter client. Check out the “full release notes”: or view it “in the App Store”: