yield thought

it's not as hard as you think

Chicken Little and 3.3.1’s Great Big Loophole

with 10 comments

I thought someone else would say this, but either they haven’t or they didn’t say it loud enough and now I can’t take the waiting any more, so here goes:

Chicken Little

Oh noes, my pythons iz banned!

On April 8th, Apple added some onerous conditions to section 3.3.1 of their iPhone Developer Agreement, explicitly prohibiting interpreters, translation layers and cross-platform toolkits from the Apple Store. It set off a wave of discussion that still echoes around to this day, and it pretty much killed Flash dead.

Much as I hate Flash, that’s not what I want to talk about. I want to talk about the reaction from most of the programming community:

The sky is falling, the sky is falling!
— Pretty much everyone

Some bloggers even complained that kids wouldn’t be able to grow up learning how to program in Apple’s Brave New World. What?

You can write in any language you want so long as it compiles to Javascript and runs in the browser, or runs on a server somewhere online
— The oddly-overlooked truth

Local applications are already dead. Whether they’re on the desktop or on the phone, their days are numbered. The resurgence in phone apps for the iPhone / iPad is a temporary blip. The future is in the cloud, in the browser and on servers.

Where will kids learn to program in Apple’s new world? On programming sites, interpreting their code in the browser, pulling in web services they way you and I learned to pull in local APIs. You don’t like Javascript? Don’t worry – You have options and they’re only going to keep getting better. Suddenly Bespin doesn’t look so dumb any more, does it? Mix in Github and free online hosting services like Google App Engine and you can see the parts are already assembling.

In fact, with 3.3.1 Apple has shot itself in the foot by ensuring that all the best developers are going to work extra hard to get their applications running in the browser; a bit of a home goal for iAd and a gift to Google – and the rest of us. After all, web apps are fundamentally easier to develop and support.

So here’s to Apple’s 3.3.1 clause and all its consequences: Thanks, Steve!

Advertisements

Written by coderoom

May 7, 2010 at 7:45 am

Posted in Business, Programming

Tagged with , , ,

10 Responses

Subscribe to comments with RSS.

  1. Christoph

    May 7, 2010 at 3:08 pm

  2. The appstore disagrees with your conclusion that native apps are dead.

    bob

    May 7, 2010 at 4:34 pm

    • Yes, I know it’s pretty controversial to assert that native apps are dead when Apple’s making money faster than they can count it providing native apps. Still, not many would disagree that web apps have overtaken traditional desktop apps. The same trend will eventually catch up on the mobile platform, as browser support and connectivity both improve.

      What’s really missing is the equivalent of the app store purchasing model for web apps. OpenID and single sign-on are steps in the right direction, though.

      coderoom

      May 7, 2010 at 5:10 pm

      • > Still, not many would disagree that web apps have overtaken traditional desktop apps.

        *Raises hand*

        I disagree. You mean in terms of marketshare? Maybe, I have no idea. But they can’t replace the desktop apps I use. Not by a long shot.

        > The future is in the cloud, in the browser and on servers.

        That may be true — certainly everyone’s saying it. But I don’t have to *like* it until this future has the elegant user experience and simplicity of Apple’s applications and OS X and iPhone OS.

        Hasn’t happened yet.

        subjectiveobserver

        May 7, 2010 at 9:28 pm

      • It hasn’t got there yet, but it will. Most web apps are easier to use than their desktop equivalent these days. There are some very important special cases still holding out – word processing, programming, high-end graphics manipulation all come to mind.

        It’s just a matter of time, though.

        coderoom

        May 8, 2010 at 5:34 am

  3. […] Apple developing Flash alternative named Gianduia Chicken Little and 3.3.1′s Great Big Loophole Apple, hire librarians for the App Store! That’s a […]

  4. Web apps can do some things desktop apps can do but not everything. If you need data throughput there’s a big difference between sending information to the microchips in the device vs through the a wireless or even wired internet connection. How are is your web app going to process 3D graphics, inertia calculations, etc over a wireless network? And how is it going to do that x10000000? If all you are going to build is another twitter or some sort of a communication device that will make use of very few of the iPhones technical capabilities, sure write a web app, otherwise you have no choice/makes no sense not to write an embedded app. Methinks…

    Victor Stan

    May 9, 2010 at 8:44 pm

    • What makes you think that web apps do all of their processing on the server?

      The browser is becoming an increasingly rich client. How’s a web app going to process 3D graphics? On the client’s 3D hardware, of course, via an API provided by the browser.

      In principle the only difference between a native app and a web app is that the web app is native to the ‘browser’ platform, not one particular device’s hardware.

      coderoom

      May 10, 2010 at 6:01 am

    • If you have Snow Leopard and Safari, check out this and this (arrow keys and space) to see what I mean.

      coderoom

      May 10, 2010 at 6:02 am

  5. It is tempting to cite Jeff Atwood’s Law:

    Every application that can be written in javascript will eventually be written in javascript

    http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html

    Pablo Fernandez

    May 10, 2010 at 1:20 am


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: