In a brief address to kick off Computer Science Education Week (In conjunction with, President Obama called on the nation’s youth to give coding a chance:

It’s an understandable, if questionable, sentiment. I’ve previously addressed the questionable wisdom, and pitfalls, of the “teach every kid to code” movement. At the same time, computational literacy is so paramount thate ven learning enough about coding to know whay you don’t want to do it seems valuable. But I am a champion of CS education in K-12, so I like the overall tenor of that brief address. But it got me thinking about one of the most egregious roadblocks to progress in software within our economy: Apple.

The president’s exhortation was especially interesting in one very specific regard: the spot at 0:32 where he encourages, Don’t just download the latest app. Help design it. Don’t just play on your phone. Program it. Well… I like where this is going, but… it’s not that easy, Mr. President. I’m all for anyone ,with the slightest interest, screwing around with code and learning new things. And if you’ve got an Android phone (among others, but I’m trying to keep this simple), that’s great. You can download Android Studio from Google, for free. You can put your phone in developer mode, and install whatever you want. Easy peasy. And hey, want to distribute that to your friends? Pay $25, one time, you’re set.

If you’re locked into Apple’s totalitarian ecosystem, alas, it’s not that easy. You’ll need to pay US$99 per year for the privelege of running your own code on your own device. And should you want to publish that? Well, Apple’s going to review and nitpick and make sure they want it in their store. And charge you for the privilege of having the opportunity to add value to their platform. And hell, if your friends are at all savvy and have Android phones, just send them the APK or (even better), open source your project and let them build it themselves. This all works great on Android. On iOS… not so much.

I sometimes go overboard giving my friends with iOS devices a hard time. It’s almost as bad as when Windows was still relevant and I was pushing Linux on everyone. It’s about freedom. Just like with Windows back in the day, the constant reply is one of:

  1. I don’t need to code for/have control over my device, this works fine for me.
  2. But I’ve waaaasted so much money on aaaaaps!!!!

Welcome to vendor lock-in. It’s no excuse, and if we really care about the next generation becoming hackers and makers, not just consumers, we need to reject Apple’s bullshit, reject Micorsoft’s (decreasingly relevant) bullshit, and focus on open systems. This doesn’t have to be Android. Ubuntu Phone looks promising, Firefox OS might not be more Mozilla vaporware, and Jolla looks incredibly promising.

But what Apple lacks in marketshare, it maintains in mindshare. You want irony?

In 1984, Big Brother was IBM. Now when I watch this, I see a WWDC keynote.

I don’t think iOS is compeltely ill-conceived. Almost, but not completely. But if Apple will not open their platform, and their ecosystem, they are not helping to encourage the next generation of makers, and they are encouraging precisely the opposite attitude toward software that and Computer Science Education Week were founded to promote.

If I may be permitted to pay tribute to Marcus Cato, I will simply conclude by stating:


Update: There’s some lively discussion on Hacker News