What I want from the next generation of iOS …

Business Insider has an article detailing what their expert wants from the next generation of iOS.  Were I to summarize it, I would paraphrase Henry Ford: they want faster horses.

But that’s not what I want.  And it’s not what they should want, either.  Instead, here’s what everyone should want: they should want the ability build and deploy native applications that are written in HTML 5 + JavaScript.

Allow me to explain …

Right now, the only way to write a “native” iOS application is using a language called Objective-C.  Unfortunately, nobody else uses Objective-C but Apple.  It’s not a bad language, but it is quirky and, without Apple’s sponsorship, I’m pretty sure it would be dead now.  As a result, developers tend to become very specialized in iOS programming as they master and stay abreast of iOS quirks.  It’s a lot like the Catholic church and latin: there’s a lot of people who “speak” latin only because it’s the language of the church.  Other than knowing the root meaning of a few scientific terms or legal phrases, Latin doesn’t get a lot of play anymore.

You can build iOS applications using other languages, but they’re not native.  What does that mean?  It means that these applications do not have direct access to all of the neat features of the iPhone.

As a result,  if you want to build and deploy an application on the iPhone that uses HTML + JavaScript (which is a quirky language, to be fair, but also very popular now) you have to use an Objective-C “wrapper” around it (PhoneGap is one such popular wrapper).  The wrapper is responsible for talking to iOS and serving as an intermediary between the JavaScript and the iOS operating system.  It works, and it’s popular, but it’s painful and incomplete.  The JavaScript code relies on the wrapper to provide access to anything it needs, and if it is missing something the developer has to augment it by writing code in … Objective-C.

But if Apple embraced HTML + JavaScript and allowed people to write applications natively in those languages, it would dramatically increase the number of people who build applications, increase the number of applications built, and make building applications for iOS easier than building them for any other device on the market.

That would be good for Apple, good for developers, and good for iPhone owners.  Android would be left behind and look backwards.  The impact of this on the developer community would be immense and positive.

That’s what I want.