He's not wrong. Apple's garden-walling was become extensive enough that it's gone beyond ensuring a good experience for their users, and has started to damage the platform. This should have been obvious to them since jailbreaking became so common, but I guess it hasn't quite sunk in yet. Apple needs to allow people to use their platform, or it won't become as good as it deserves to be.
I respectfully disagree. I think it is important to wall off the platform and sandbox the environment. This prevents things like stack attacks with walled off memory and background processes doing things it should not.
With so much personal information on the mobile phone, it'll be a complete nightmare if one of the applications is really a virus that spreads as a background process. Since it can contact your ENTIRE contact list, such a viral infection can crippling. In fact, in the Jailbroken iPhone community there have already been a couple of viruses.
But on the other hand, they should open up a couple more APIs, the camera, specifically.
None of the limitations being discussed with the iPhone have anything to do with whether programs are vulnerable to "stack attacks". The iPhone doesn't even have background processes. And "virus" is just a scary-sounding word for "program that deletes important files on your behalf". Don't run those.
I respect the "walled garden" as a business decision; it's Apple's platform, and maximizing its revenue is their prerogative. As a technical safeguard, there's no evidence that it works.
MobileSafari, MobileMail, MobilePhone, all running in the background. fairplayd is the fairplay daemon, commcenter manages communications (all of them), springboard is the desktop, lockdownd is the little thing that checks to make sure the phone is activated (and locks it down if not)
only the top three apps (bash, top, sshd) aren't there on a vanilla iPhone. Apple's apps will run in the background, but other (app store) apps exit completely when you return to the home screen.
AFAIK, the iPhone does have background processes. Apple just won't let you have at them!
Apple could easily write a specialized API that lets you run virtualized background processes. This would be an improvement on the current situation, but it would maintain heightened security.
That's a valid point, but is the same for Mac OS X. You have even more personal information on your desktop. Thankfully we're not limited to a single source for Mac OS X apps.
From what you are saying you'd think the iphone is the first phone OS capable of running third party apps ever. Other phone OS's have been able to do this for 5 years and many of them haven't needed to restrict users so badly including Windows Mobile, Palm OS and in some cases Symbian.
Completely disagree. As a consumer, I just want the thing to work. The best way to ensure that, is to have control of the platform.
The lack of a glut of apps, some badly written is hardly damaging the platform, it's maintaining the quality of the user experience, which I'm extremely glad about.
So why are Apple's customers not demonstrating in the street for Apple to lock down OS X? I think the ability of 3rd-party developers to write software for OS X is a great risk to the usability and stability of the platform. I don't think Apple-Users need anything but iTunes and Photoshop, anyway.
As the article points out, this is exactly the same argument they made to justify the webapp-only restriction in the previous iteration. That particular restriction has now been lifted and the world has not ended... It makes you wonder why the restriction was there in the first place, and how important the current set of restrictions will turn out to be.
Considering that (1) the jailbreak folks had a dev environment within a month of release with zero support from Apple and (2) the phone shipped with a bunch of applications that had to have been written with, y'know, tools of some kind; I'd say that yes, it really was about as easy as clicking "enable".
Apple is a quick agile company and certainly has shipped products quickly in the past. You're honestly arguing that taking 13 months (or whatever it was) to release a native SDK was because they just couldn't do it any faster?
Of course the jailbreakers threw together a dev environment quickly. They didn't have to make a business decision to do so. They didn't need a budget or a strategic plan. They didn't need buy-in from anyone.
They didn't have to have their decisions vetted by a management team and a legal team. They almost certainly didn't do any usability testing or write a set of human interface guidelines. They didn't have to make design decisions that they could live with for the next five years, or (as with the decisions made by the designers of the original Mac OS) twenty-five years.
They didn't need to make an official announcement, or run a beta program lasting several months so that developers had a chance to have apps ready on launch day. They didn't have to invest in developer training materials or write formal documentation.
They didn't have to build an entire app store that was secure, cross-platform, usable by customers, relatively free of bugs, and ready to scale so that it would handle one million users in its first weekend.
And, when the jailbreak apps break, the developers don't get hammered by guys like Walt Mossberg, David Pogue, and every analyst and pundit on Wall Street. When end users complain that their phone battery life is too short, the jailbreakers don't need to respond. They aren't obligated to fix security holes or support developers who have problems. They aren't obligated to support anyone. They're open-source hackers, they can't get fired, and they always have the option to say caveat emptor and go do something else.
There's a reason why people pay for Apple's stuff. Apple adds value. But adding value takes time and money.
business decision ... strategic plan ... buy-in ... vetted by ... legal team ... formal documentation
If these are really the reasons for the SDK's delay and ugliness, then we should celebrate: Apple is already dying. This is just silly. Truly successful products (including the iPhone) happen without this stuff all the time, and these are never required criteria. Your list is just a list of excuses.
Truly successful products (including the iPhone) happen without this stuff all the time
Which products are you talking about?
And, if Apple is dying, pray tell which of its many competitors is killing it? They don't have to outrun imaginary competition, after all. They only have to outrun the competition that physically exists.
Yeah they're currently brainwashing people to buy the iPhone which is sold out most of the time.
In actual fact no one wants to buy it, as the average joe on the street is incandescent with rage over their restrictive NDA for 3rd party developers.
It's really tiresome to hear people whine and moan on and on about apple, and to label anyone that disagrees a fanboy.
If you don't like the iPhone, simple - don't buy one.
So we seem to have these facts:
The iPhone platform is a commercial success for Apple.
The iPhone platform is a commercial success for 3rd party devs.
The iPhone platform is tightly controlled by a vendor whose actions range from understandable lies to misleading behaviour and outright bullying.
So, is there anything to be criticised or is commercial success a justification for everything that is lawful?
I think being the uber cool bully who lends his followers success for a while but may turn against them at any moment is a dangerous long term strategy.
It basically means that Apple's growth rates must keep up with the inconvenience caused by their behaviour. And I don't mean just intellectual inconvenience that affects only a small number of people (closed vs open platforms, etc). I mean getting harassed by a vendor has a cost and that cost needs to be covered by growth. It's as simple as that.
I think it is too early to judge the iPhone as platform for 3rd party devs. OK, some people got rich already, but they might have profited from the early hype, in other words, the seeds for their earnings have been sown long before the iPhone platform launched. It remains to be seen if the platform is still viable once the dust has settled down.
1) rented a video from iTunes which I could not play on my iPod, because it was 2 years old and no longer supported.
2) Not been able to utilize my eclipse plugins that run on Java 1.6 due to Apple not supporting 64-bit carbon (required for eclipse on osx). This is after they took an extra 12 months just to support java 1.6 at all.
Apple made both of these decisions consciously. They make good products to create a good customer experience, then base support purely on ROI with no concern for customer experience.
What I thought was most interesting about the linked article was the charge that Apple has been misleading it's developers, not whether Apple's iPhone strategy is right or wrong from a business or technical perspective. At what point does putting the best possible spin on things cross over into outright lying?
Is it fair to characterize Apple's guidance to developers as misleading?
If so, will Apple's behavior eventually drive away developers, or can they always count on developers sticking around, so long as they continue to produce hot products like the iPhone?
I completely agree with you. I think that there are very smart reasons for why Steve Jobs did what he did.
When the iPhone version 1.0 was released AT&T probably was still in the "I'm a big carrier, hear me roar" kind of mentality. But as the iPhone blew up, AT&T released that it needed to adjust quick, so perhaps that's how Apple was able to push through their SDK.
I think in general Apple just has to be more open with it's fan cult.
... or not. The iPhone has been embraced enthusiastically by the Mac developer market, and has attracted still more developers from outside it. Despite the fact that those same devs clearly are getting smacked around by Apple. 'Twas ever thus; find a longtime Mac developer without a story about how bad a dev partner Apple is.
The fact is, 99.999% of the addressable market for iPhones does not concern itself with these "limitations". It might be irrational for Apple to open up more now.
Most people will happily accept any restriction that makes their phone less of a PITA than their computer. Has anyone looked at normal cell phones lately? They don't do much, they have a million hard-to-use menus, and they don't crash or reboot. The goal of the iPhone is to improve on #1 and #2 and hold religiously to #3. And they will make a lot of money for doing that.