Friday, April 9th, 2010

So all this is done in HTML5 by the way

Category: Editorial

What a day. I sometimes don’t know how to feel about Apple. On the one hand they do great things for the cause of HTML5:

  • They gave us Canvas, and CSS transforms, and …
  • They brought us WebKit, and now WebKit 2
  • By blocking Flash on their mobile platform, they force people to take HTML5 video seriously
  • iAds shows off HTML5, and Jobs was sure to let us know about that.

Great technology. Great for the Web.

Then we see the section 3.3.1 change to their developer terms which has people thinking that the Flash compiler is toast just before CS5 is about to come out.

This same change to the terms may also affect some of our own. For example, the Titanium crew. PhoneGap appears to be safe by the letter of the law, since they link to the iPhone OS WebKit engine. I hope that Apple responds wrt Titanium.

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Some on the Apple side are arguing that:

  • Objective-C apps are good. Anything else is crap. When folks try to go meta, they shouldn’t be allowed
  • And hey, Apple can do whatever they want.

Although I can see how this could in some ways help the Open Web (less Flash, more HTML), I can’t ignore the other feeling. The Web is so special as it isn’t owned by a single vendor. This means that this kind of crap can’t happen. One company can’t change the rules in one fell swoop. There isn’t that one company that can become misaligned with the interests of certain developers and Do Bad Things.

I continue to look forward to what Apple does to help the Web. But I am very glad indeed that the Web itself isn’t run by them, or any one group.

I hope that the Web becomes the unified platform on mobile…. and that folks like Titanium have the opportunity to do their best. Developers should be able to use the languages and tools of their choice, and let the best apps win.

Posted by Dion Almaer at 3:32 am

4.1 rating from 33 votes


Comments feed TrackBack URI

C, C++, Objective-C, or Javascript, hmm. Only 4 choices. Oh well, that’s still 3 more than I have when writing apps to run in a browser and somebody managed to make Quake 3 run that way. I guess it’s fine.

As a developer, I’d like as many options as I can get. Give me Python, Ruby, .Net, Go! whatever. But that’s just a wish list, it’s a not an ethical requirement. When we talk about ‘the open web’ we are not talking about the iPhone OS. We are talking about stuff that runs in browsers. That has nothing to do with any programming language with a C in the name.

Just remember iPhone App != Web App.

Comment by okonomiyaki3000 — April 9, 2010

“There isn’t that one company that can become misaligned with the interests of certain developers and Do Bad Things.”

Isn’t that exactly what Microsoft has been doing with Internet Explorer since the dawn of time?

Comment by humantorch — April 9, 2010

This has nothing to do with the Open Web, CS5 compiles to native iPhone apps. It’s an egotistical and monopolistic decision that simply hurts developers.

Imagine the backlash if Gates was behind this decision – Jobs deserves scorn and derision!

Comment by danh2000 — April 9, 2010

So does this mean that Titanium native app’s written in JS are still ok or not. I guess it rules out developing apps in Flash and compiling to native iPhone apps.

I like what Apple are doing to push HTML5 but I’m an iH8r so the restrictions don’t effect me that much :-P

Comment by RoryH — April 9, 2010

Maybe the web isn’t run by one group but it is certainly driven by efforts of big companies who expect to make money out of it. I don’t truly believe Google or Apple are pushing on HTML5 just because they want the web to be open. They actually need an alternative way to do what is done with Flash today to push forward on creating revenue. When it is not on their interest to make things open, they will not. Jobs is a little bit clearer on the matter.

Comment by Miro — April 9, 2010

Apple is a monopolist and it’s abusing its monopoly. It needs to be taken down and broken up.

Comment by leonsp — April 9, 2010

I don’t think the new terms would affect anything on the web side as it seems to only affect native apps. Therefore any framework or library that seeks to output a native iPhone app without following Apple’s rules is likely going to have a problem.
But I’m wondering over the long-term effect this might have. My thought is that development companies won’t like this because it’ll increase their costs. Imagine a client wants a cross-platform app. The development company might be able to code once and output to everything, except the iPhone. To include the iPhone they’ll have to code a separate project with possibly an extra employee or two just for that purpose. Unless we go the other route and make Objective-C output to everything somehow.
The days of such a large number of mobile developers directly targeting one platform, the iPhone, is slipping by. As hardware becomes faster and cheaper there will be more platforms to develop for. There will be a day that a common phone they give away just for signing a contract will be the equivalent of the most powerful smartphone you can buy today. At that point it may not be cost-effective to only target one platform.
Oddly enough, it’s possible that an increase in platforms is what will save Apple from a anti-competitive lawsuit with this behavior. They can correctly claim they do not hold a monopoly and can do what they want. Right now with controlling so much of the market Apple is dangerously close to a lawsuit.

Comment by travisalmand — April 9, 2010

I think Dion’s point is well taken from this post… one company should never have the power to control the open web. the problem is that apple must not think of their precious little app universe as having anything to do with the open web, so they feel free and clear to screw with it however they want. I think they don’t want people to have other choices outside the app store, and I think they’re worried that Adobe’s compiler will enable that.
I’ve said 10,000 times that I would *never* and I mean *never* under any circumstances write an application in a vendor locked-in language like Objective-C. The only way I’d do it is with Titanium or PhoneGap. The reason is not so much the language and the philosophy of openness (although that’s important) but cross-platform interoperability. I think it’s harmful to the “open” community if people continue to build so many targetted apps at one mobile platform, because we give them (apple) this kind of control by doing so.
I’d probably also *not* feel comfortable doing it with Flash, for the same reason… that I want to be able to target any platform with my code. If Apple is so intent on killing the Flash use case that they’re willing to kill JavaScript based apps like Titanium, then they’ve sealed their fate from my perspective — I will never be on board with that. And I hope and feel a lot of devs are the same way.
I sure hope Apple clarifies this position soon and retracts the FUD that’s circulating now. Otherwise, things are going to get ugly really fast.

Comment by getify — April 9, 2010

I don’t get the outrage. It’s their device, their OS, their platform, their rules. Period. Don’t like it? Don’t buy it. Don’t develop for it. Go with Android. Lots of really smart, principled people feel this way and are putting their money and careers where their mouths are. Apple doesn’t owe Adobe a thing.

Comment by xmlblog — April 9, 2010

I’m due to vote with my wallet. I’ve basically converted my entire family from iphones to androids, and I’ll be doing the same come this August.

Closing the developer options doesn’t work for me Apple, it turns me off bigtime. Enjoy being the Betamax of this generation.

Comment by functionform — April 9, 2010

The iphone will continue to do well despite this, because there are too many developers writing too many iphone apps, and that won’t change. On the other hand, in the wider mobile space, it’s now clear that the iphone is going to have a minority segment of the market, so that means the “convention” of how mobile apps are made will not be objective-c, it will be html5.

Comment by Joeri — April 9, 2010

Apple doesn’t care how developers feel about this, because most of the users don’t care about such things. If the users stick with the iPhone (which they will, especially if it becomes available on other networks), the developers can choose to deal with this manner of restrictions or develop for another device (likely one with a smaller user base). This isn’t about Apple being a monopoly, it’s just Apple competing with Adobe. Just because a company is capitalistic doesn’t mean they’re monopolistic. Apple is under no obligation to allow development for its device/os with third-party proprietary software.

Comment by mjuhl — April 9, 2010


It’s their device, their OS, their platform, their rules.

The reason you don’t get the “outrage” is that you don’t seem to understand that not all of us agree that they own the device, OS and platform that consumers pay money to use. That’s a philosophy built into certain conceptions of intellectual property, but it’s just that: a philosophy. An opposing point of view—that by virtue of paying for the device, the OS and the platform, the end user owns their own device and whatever operates on it—is perfectly valid, it’s just a different philosophy.

It’s simple to say “don’t buy it”, but it’s not as simple to say “don’t develop for it”. There is an ongoing struggle in the tech world, and even within certain players’ domains (such as Apple), between this kind of lockdown versus more open approaches. For those of us for whom OS X is a great compromise—a simple, proprietary UI on top of a fully functional and open Unix—the iPhone OS model is harmful. But it’s also harmful to make business decisions based on philosophy alone. So alternatively, we can use our considerable weight as developers to pressure vendors to choose a philosophy which is less harmful to developers.

Comment by eyelidlessness — April 10, 2010

Go Stevie…! :)
Anything that helps destroy ActiveX2.0, has to be of the good :)
BTW, funny to see how many “new usernames” are commenting on this specific article Dion. Few of the “oldies” have strong opinions against this decision. Makes you wonder, doesn’t it …? ;)

Comment by ThomasHansen — April 11, 2010

So, it won’t be possible to write apps on one closed platform (Adobe) and compile into another closed platform (Apple). Why the big fuss ?

Comment by gabe — April 11, 2010

Let’s not forget the true origin of this fantastic new renderer. It’s not WebKit, but KHTML:

Comment by pupeno — April 12, 2010

Leave a comment

You must be logged in to post a comment.