ie8 fix
madison

Hardware 2.0

Adrian Kingsley-Hughes

Apple's control-freakery locks down iPhone OS 4.0

By | April 9, 2010, 4:47am PDT

Summary: As expected, Apple’s iPhone OS 4.0 will add extra restrictions on what tools developers can use, which in turn means less choice for iPhone owners.

As expected, Apple’s iPhone OS 4.0 will add extra restrictions on what tools developers can use, which in turn means less choice for iPhone owners.

The latest limitation comes in the form of preventing developers from developing applications using cross-compilers such as Adobe’s Flash-to-iPhone application that will ship in Adobe Flash Professional CS5 to tools such as MonoTouch.

John Gruber has posted the changes to the iPhone OS 4 SDK. Section 3.3.1 of the iPhone Developer Program License Agreement deals the bad news to developers. Here’s how the section used to read:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

Here’s the updated section:

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).

It might seem odd to many that Apple wants to limit how applications are developed. After all, isn’t an app just an app?

Gruber believes that the reason for this restriction is that Apple is worried that these meta-platform could become popular and start defining the iPhone OS:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage. If, say, a mobile Flash software platform — which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry — were established, that app market would not give people a reason to prefer the iPhone.

And, obviously, such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.

I don’t buy this. All approved iPhone apps have to adhere to strict standards, in particular, they can only use documented, public APIs. This restriction alone is enough to keep meta-platforms in their place. Sure, Apple doesn’t want to end up in a position where Adobe or Microsoft is calling the shots, but the fact is that the deck is already stacked in Apple’s favor.

My take on this is that Apple has woken up to the fact that the iPhone, and the iPhone OS platform, is just part of a wider smartphone ecosystem. With Android already putting pressure on the iPhone, and Microsoft’s Windows Phone 7 coming real soon (and let’s not forget about Blackberry and the Symbian OS), Apple wants to make it difficult for developers to develop cross-platform apps. Apple doesn’t want developers taking popular and successful apps to different platforms. By disallowing a “write once, compile for multiple platforms” ecosystem, Apple is enforcing developer faithfulness by forcing them to wear a chastity belt. If developers want to be unfaithful, they’re going to have to put in the effort.

On top of that is Apple’s ongoing war with Adobe. No one really knows that the real reason for this battle, but it’s clear that this latest move throws a rather large spanner into Adobe’s CS5 machine.

Remember, whether you’re an iPhone owner or developer for the platform, Apple would like to remind you that it’s their platform, not yours. That is all.

Kick off your day with ZDNet's daily e-mail newsletter. It's the freshest tech news and opinion, served hot. Get it.

Topics

Adrian Kingsley-Hughes is an internationally published technology author who has devoted over a decade to helping users get the most from technology.

Disclosure

Adrian Kingsley-Hughes

All opinions expressed on Hardware 2.0 are those of Adrian Kingsley-Hughes. Every effort is made to ensure that the information posted is accurate. If you have any comments, queries or corrections, please contact Adrian via the email link here. Any possible conflicts of interest will be posted below. [Updated: February 23, 2010] - Adrian Kingsley-Hughes has no business relationships, affiliations, investments, or other actual/potential conflicts of interest relating to the content posted so far on this blog.

Biography

Adrian Kingsley-Hughes

Adrian Kingsley-Hughes is an internationally published technology author who has devoted over a decade to helping users get the most from technology -- whether that be by learning to program, building a PC from a pile of parts, or helping them get the most from their new MP3 player or digital camera.

Adrian has authored/co-authored technical books on a variety of topics, ranging from programming to building and maintaining PCs. His most recent books include "Build the Ultimate Custom PC", "Beginning Programming" and "The PC Doctor's Fix It Yourself Guide". He has also written training manuals that have been used by a number of Fortune 500 companies.

Adrian also runs a popular blog under the name The PC Doctor, where he covers a range of computer-related topics -- from security to repairing and upgrading.

Related Discussions on TechRepublic

Did you know you can take part in these discussions with your ZDNet membership?
66
Comments

Join the conversation!

Just In

Effective monopoly is one of the main things that MAKE it shady.
AzuMao 12th Apr 2010
If Apple cripple the iPhone, what with its 16% share, the market won't be screwed.
Maybe Apple just wants to make sure that applications
adhere to a certain standard so as to maintain uniformity
throughout the user experience.

Nah. That would violate our indoctrinated attitude that
corporations are inherently evil.
0 Votes
+ -
agreed
russguill 9th Apr 2010
Not to mention system security and efficiency to
protect precious battery life.

Look, if anyone doesn't like how Apple's mandating
how application development should be conducted,
don't develop for that platform. Simple.
0 Votes
+ -
Exactly
yobtaf Updated - 9th Apr 2010
That why Apple products work.
0 Votes
+ -
Or not...
tikigawd 9th Apr 2010
http://blogs.zdnet.com/hardware/?p=7935&tag=nl.e539

The iPad version should apparently be called iNoWorks
0 Votes
+ -
If this had been Microsoft..
trevor217 9th Apr 2010
you guys would be screaming bloody murder and calling for the federal trade commission to open an investigation. These sort of practices are anti-competitive and deserve to be scrutinized. Look at it through an objective lens instead of a Apple Fanboy lens.
0 Votes
+ -
Not really.
AzuMao 9th Apr 2010
Choosing what programs to support on your OS isn't a problem in itself.


What's a problem is when a company with near-monopolistic powers gives enormous
incentives for developers to not let their programs run on competitors' OSs.
0 Votes
+ -
Not the same at all
jaypeg 9th Apr 2010
Apple doesn't license it's OS's broadly, it doesn't presume to be the
custodian of the one great OS that will rule all hardware. Microsoft is
now a victim of it's own success as the great 'open' leader. It's
outwardly open, egalitarian appearance means it must be at least
politically sensitive to the needs of all its OEMs and developers. Apple,
on the other hand, has never pretended to be, or presented
themselves as being anything other than a completely proprietary
producer of vertically integrated products. They make the entire
widget--hardware and software--and are very successful at it. Apple
invites developers to participate within the platform's software
ecosystem within licensed constraints and under the clear knowledge
that they are only developing for an Apple computer, or an Apple
iPhone, or iPad, etc.

In simpler words, Microsoft presumes to manage and speak for an
entire official baseball league. Apple simply owns it's own bat, ball and
one field, and publishes it's own rule book for a game that's
something like baseball, but isn't. If you don't like Apple's game,
there's plenty of options. Apple does not monopolize the larger game
and does not restrict consumer choice and that remains true no
matter how attractive or popular you see Apple's game as being.

Being popular and exclusive is not a crime in and of itself. However, as
in Microsoft's case, if you promise inclusion on behalf of all those 3rd
party teams you are managing, then your a** is on the line.
behind because developer uses some common meta compiler which may or may not (at will of Adobe or Microsoft) support the latest APIs only at some later point of time.
0 Votes
+ -
HAHAHA Nice CRAP
Johnny Vegas 9th Apr 2010
These environments have no problem being on board early in the alpha/beta stages and having support ready to go prior to RTM.

All their users (app devs) are always all over them to be ready far enough ahead of time for the app devs to also have used the tools to build their apps in time to be ready at RTM
0 Votes
+ -
bs
Rama.NET 11th Apr 2010
First of all, it is not Microsoft, it is Novell. They created MonoTouch that lets any Mono Developer (which Open Source version of Microsoft .NET and that is the only one relation to Microsoft) to create iPhone Apps. But have you ever really used MonoTouch, if you have, you wouldn't have said that. You can't really tell whether that app really was developed using Mono/MonoTouch or Objective-C. It is very difficult to make it out, unless Apple reads the entire binary dump of that app and find any string references for Novell/MonoTouch/Mono.
--Ram--
and that they act upon it by putting up walls left and right.

Maybe Apple just wants to make sure that applications adhere to a certain standard so as to maintain uniformity throughout the user experience.

Maybe. Or maybe they just want to control everything to ensure that once the public has gotten used to their products they will keep on, developers have a harder time to write apps that could actually work in multiple platforms. That would be just crazyness! Why would Apple allow a developer to write the next, say, Carrr Matey for the iPhone and Android??

These are the tactics that bit Microsoft in the a$$! But I guess it's OK for Apple to employ them; they're not actually shady when Apple does it.
0 Votes
+ -
..control an overwhelming majority of the market, either, so it can't hurt anything.
0 Votes
+ -
Famous last words
tikigawd 12th Apr 2010
Get your head out of your rear.

Shady practices are shady practices, no matter who does it. The public is allowing Apple to be above "the law;" they would never allow this kind of behavior from other companies.

By putting these roadblocks up Apple is simply taking away your choices, forcing developers to do their work multiple times when it's clearly unnecessary from a technical standpoint.

Furthermore, Apple DOES control a large part of the smart phone market, so these practices do affect and influence a large portion of the market. They are abusing their dominance, plain and simple.
If Apple cripple the iPhone, what with its 16% share, the market won't be screwed.
0 Votes
+ -
Only an evil corporation like MS would do that, Apple is peace, love and all that is good with this world.

Steve loves us as his children.

Or you could take off those Apple rimmed glasses and look at it in from a real, objective perspective.
0 Votes
+ -
Wrong...
DevStar 9th Apr 2010
I wrote this elsewhere:

I think this is Apple's worst day, and quite possibly the day it jumped the shark.

This is a horrible move by Apple and shows that they really don't want to compete.

Jon Gruber wrote an embarassing apologist blog post about why Apple did this. His main claim is that this is to prevent poor apps from infesting the app store. This is utterly wrong.

Apple's real fear is that the apps may actually be extremely good. If a framework exists that can target the iPhone and make great apps, but also great apps for WP7 and Android then they're in trouble.

Lets be clear, web apps (html/javascript) are amongst the most horrible you can write across any vectory (quality, performance, etc...), yet Apple will allow those, despite them not being "native" apps. Why? Because they know those apps will never be that great. They don't threaten the fact that they have the best app store in the world. But if Monotouch apps started being the premiere apps, then Apple would worry, because it's a 10 second port to make it a Windows Phone app.

This IMO, is the darkest day for Apple. While I've never been a huge fan of Jobs, I think they crossed a line with this language.

While Apple may have put another nail in Flash's coffin, I think they've unwittingly helped seal their own fate.
0 Votes
+ -
Apologist? Not!
WaltFrench@... 9th Apr 2010
? Jon Gruber wrote an embarassing apologist blog post about why
Apple did this. His main claim is that this is to prevent poor apps from
infesting the app store.?


Musta been a different Jon Gruber than the one who saw this as a way
for Apple to be in control of the look'n'feel of apps. This Jon
Gruber linked to another blog that cited examples of 3rd-party devs
trashing a platform, but himself emphasized the control.

The iPhone may be riding the wave right now, but for most of Apple's
history they have been marginalized, often by the indifference of 3rd-
party developers to exploit unique Apple capabilities. (Photoshop,
which supports neither Apple's 64-bit technology nor its multi-
processor capabilities nor its native interface, leaps to mind here.)

For example, Flash CS5 supports exactly zero of the features
announced yesterday. When, if the purpose is to build simple, multi-
platform apps, would Adobe deign to embed the ad, or multi-tasking
APIs into it?

Especially as Apple moves into multi-tasking within a very tight RAM
budget, the last thing they want is for some app to make the whole
phone sluggish because it's dragging around some bloated runtime
that technically met the previous limitations. Since this affects only a
couple dozen current apps, it seems like a Smart Move? to ensure
that iPhone apps continue to be perceived as special, as opposed to
generic knockoffs.
0 Votes
+ -
Rewording, but no changes
s_souche 9th Apr 2010
old SDK agreement, as published by wired in section 3.3.2
already provided any mean to prohibit the use of cross
compilation.

Add to that the fact that apple can refuse
any app with no justification and you see that there is
not much change in the spirit of the sdk agreement.


The new wording is perhaps a bit more litigation-proof,
but that's all
0 Votes
+ -
Wasn't that what the crux of the anti-competetive arguments against microsoft during the trials in the 90s. They didn't release documentation for all the APIs in Windows giving their own programmers an unfair advantage. Funny how it's evil when Microsoft does it but perfectly acceptable for Apple
0 Votes
+ -
Just part of the double standard
bobiroc 9th Apr 2010
Same old song and dance if you ask me. Apple does a lot of things other companies get ridiculed for. They lock out, hide, and purposely withhold information and when they do it they get defended in the interest of security and stability. I am sure that security and stability is partially true but Apple lately has been doing a marvelous job of criticizing their competitors and finding ways to lock them out of their devices. Lately they seem to hate Google and Adobe.
And that Microsoft have that leverage of controlling pretty much the entire
desktop market, meaning that when they pull something like this it actually
does stop competition. But hey, don't let the facts get in your way.
0 Votes
+ -
Please show some proof
bobiroc 9th Apr 2010
When did this happen... I would like to verify for myself. If it did (big emphasis on IF) maybe the computers were built by the OEM with Windows and they violated the end user license agreement by removing it and then reselling the PC. This is the first time I have ever heard this so forgive me for being skeptical.
Linking to any particular site might be considered spam, so I'll just tell you what to search for; "Microsoft tax".
0 Votes
+ -
Anti-Competitive
WaltFrench@... 9th Apr 2010
Yes, I can remember many reviews of the time where it was PRESUMED
that Word was better than WordPerfect because of those private APIs
and special support.

This was anti-competitive because Windows had some huge market
share and was "tying" its products to the monopoly it had. MS was
found to have infringed the law, but then the Bush Justice Dept
refused to fight the appeal.

The FTC or Obama Justice Dept might see the fact that virtually all
apps have to go thru the Apple App Store, and technically capable
products can be denied sales, as anti-competitive. But the case has
gotten harder to prove; basicall, the Supremes recently re-legislated
the Sherman Anti-Trust Act so as to make cases very difficult. And
truthfully, there are bigger fish to fry.

On the technical front, I've seen developers note private APIs that
Safari for the Mac uses. But it turns out that they are unstable; have to
be used carefully so they don't crash badly. There'd be an easy
defense that private APIs are private because they're not ready for
general release? just as with the extremely precise ways that Apple
allowed multitasking only where it could be very tightly controlled.
0 Votes
+ -
Bull.

Imagine if Microsoft prohibitively disallowed apps on
Windows not written in .NET or it's own set of tools.

No more Java. No more Python, Ruby, etc.

If devs write subpar apps because they are cross-
platform, then the market should diminish those apps.
Not apple's loyalty license.
0 Votes
+ -
it's apple's platform.
bannedfromzdnetagain 9th Apr 2010
i still don't get the reasoning behind this kind of criticism. it
is apple's platform. why does apple has to do what is in the
best interest of other parties? why aren't they allowed to
develope it as they see fit? when you are a developer and
don't like the license agreement, don't develope for it. that is
your choice.
0 Votes
+ -
Because...
Hallowed are the Ori 9th Apr 2010
... your ilk would ***** and moan about Microsoft doing it.

But if Apple's doing it, not only is it OK and the way it SHOULD be done, it is also revolutionary, innovative and the best thing since the transistor.
0 Votes
+ -
Agreed!!!
bakasaqua@... 9th Apr 2010
I wonder if Microsoft would take a cue on Apple's
action and try same revolutionary, innovative and
OK means.
0 Votes
+ -
They tried
bobiroc Updated - 9th Apr 2010
and got sued for it. It seams only Apple can lock their competitors out of their device software and call it security.
0 Votes
+ -
well, no
bannedfromzdnetagain 9th Apr 2010
... i wouldn't. we all know microsoft was accused of abusing a monopoly
and there is no apple monopoly in sight. (25% smartphone market share,
worldwide no. 3)

you don't like apple's policies? don't develope for it. you have plenty of
choice as a developer. that's the difference. a fundamental difference
imho.
0 Votes
+ -
2 Words "Anticompetitive Practices"
Scubajrr 9th Apr 2010
This is exactly what Microsoft was in court for in the 90s. Hidden, undocumented and private APIs. Trying to prevent conpetitors from duplicating features and programs they already had in windows. Funny, I'm sure Apple was one of the big witnesses against MS for those trials. I guess it's ok when Apple does it because they have your best interest at heart.
0 Votes
+ -
wrong
bannedfromzdnetagain 9th Apr 2010
microsoft was accused of abusing a monopoly. apple has no monopoly.
they have around 25% of the smartphone market. they can do whatever
they see fit with their platform as long as there is enough competition. of
which there is plenty.
0 Votes
+ -
or how they ever had one. There was choice of what OS you could use from day 1. Didn't like Windows back in the day then use some other OS that would work on the same processor instruction set like OS2 from IBM. Just because Microsoft has the biggest slice of the pie doesn't mean they are a monopoly. There has never been any proof that microsoft stopped somebody from using a different OS on the computer they built or purchased. Sure OEMs will deny software support if you change the OS from what came with the system but that is not proof at all.
0 Votes
+ -
monopoly definition
bannedfromzdnetagain 9th Apr 2010
microsoft has 95% of the os market. by definition this is a monopoly. by
itself this is not illegal. only the abuse of it is.

apple has no monopoly in the smartphone market (they have only about
25%). case closed.
0 Votes
+ -
Thanks for the wikipedia link
bobiroc 9th Apr 2010
But did you even read it?

Definition (according to wikipedia); exists when a specific individual or an enterprise has sufficient control over a particular product or service to determine significantly the terms on which other individuals shall have access to it.

So you are saying that Microsoft is dictating the terms on how an OS can be made on hardware that other companies manufacturer.

Sounds to me that Apple is dictating the terms. I guess it all depends on if you want to twist the definition to fulfill your personal feelings. Just because a company has less marketshare does not mean they are automatically exempt from doing things companies that have a larger share got sued and ridiculed for. So sir, the case is not closed.
0 Votes
+ -
definition
bannedfromzdnetagain 9th Apr 2010
the product or service has to be a category of course. there can't be a
monopoly in nike shoes. but there can be a monoploly in sport shoes.

in this case the product is smartphones. (apple has 25% marketshare,
you should be all over rimm, the market leader in the us, for their anti-
competitiveness with all their proprietary services).

in the case of microsoft the product category is computer os. in which
they hold a monopoly. which in itself is not illegal.
0 Votes
+ -
for your enjoyment
bannedfromzdnetagain 9th Apr 2010
0 Votes
+ -
According your definition
Yax_to_the_Max 9th Apr 2010
Apple do have a monopoly on the iPhone product.

In economics, a monopoly (from Greek monos / ????? (alone or single) + polein / ?????? (to sell)) exists when a specific individual or an enterprise has sufficient control over a particular product or service to determine significantly the terms on which other individuals shall have access to it
0 Votes
+ -
right
bannedfromzdnetagain 9th Apr 2010
and the product here is the smartphone.
0 Votes
+ -
Shhh
bobiroc 9th Apr 2010
don't use logic. It defeats their belief that Apple can do whatever they want because they have a smaller marketshare where microsoft must kiss ass and open up everything they make because of the larger marketshare.
in relation to Apple's current anti-competitive tactics, keep in mind anti-trust law doesn't require a monopoly or abuse of monopoly, attempts to use anti-competitive tactics to work towards achieving a monopoly is also illegal.
0 Votes
+ -
and that becomes the platform of choice to develope on.

Anybody here wanna' bet that Apple will change their OS yet again that will allow for easier cross platform programming?
0 Votes
+ -
Lets use the old Lotus123 myth as an example
John Zern Updated - 9th Apr 2010
Windows is, and allways was, MS's platform.

Now, look at the outcry over the old myth of MS making (or designing) changes to their platform that keeps Lotus123 from working, yet allowing Excel to run like a charm.

Funny how that is considered "bad, evil, lock-in" yet you give Apple the benefit that "it's their platform and they can change the rules in the middle" to stiffle competiton.

So you would agree that MS should be allowed to make it so that certain, competeing products can't run on it?
0 Votes
+ -
Just look at Kindle for iPhone vs. Kindle for Mac. Both run
on OS X.

The Kindle for Mac applications is a BIZARRO app that
does not behave like a Mac application should. It was
developed with a cookie cutter development system.

The Kindle for iPhone and iPad behaves wonderfully like an
iPhone and iPad app should - user interface and all.

The Kindle for Mac BIZARRO application scenario is what
Apple wants to ban.

Developers for the iPhone and iPad have to focus on the
user experience. They won't do this if they go to generic
multi-platform development tools that only look at the
common denominators between platforms rather than the
strengths of each platform.
0 Votes
+ -
For a company that doesn't . . .
JLHenry 9th Apr 2010
want "Cookie cutter Apps", They have a funny way of policing their own app store: Look up "Socially conscious software llc" And scrutinize their "Product list".

This company DEFINES cookie cutter, has the same piece of software in the store over a dozen times under different names, and to date, there has been NO attempt to clean this up by Apple.

Apparently, it's only a cookie cutter app if it shows up on someone else's platform, ie, Android . . .
0 Votes
+ -
If so, you wouldn't say that. You can't tell the app whether it is being developed using MonoTouch or Objective-C unless you read the binary code and start looking for any references to it. Period.
--Ram--
Apple wants new features of OS to appear **timely** in the apps, not lag behind because developer uses some common meta compiler which may or may not (at will of Adobe or Microsoft) support the latest APIs only at some later point of time.
Does anyone need more proof? Apple is inherently anti-
competitive and control-obsessed.

Compiled code is compiled code. The source language
put into the compiler does not have any bearing on the
code quality.

If Apple is so concerned about this "quality" they
could just publish objective guidelines to follow.

This is an blatantly evil attempt at avoiding
competition. Only the most RDF infested fanbois would
ever defend such a move.
So all what we have here is just inadequate, religious spin from Adrian -- nothing more.

And, of course Adrian, as well as Sam, does this for clicks. It is shameless and has no decency from the pure concept of journalism, but this is just the way smaller media like ZDNet work. They can not earn enough money without cheap provocations from the cynical journalists.
0 Votes
+ -
Yeah, that MUST be it. (Rolls eyes.) - nt
Hallowed are the Ori 9th Apr 2010
nt

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix
Click Here
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix
ie8 fix