Apple have just released the new version of their development kit for the iPhone. This SDK is tied down incredibly tightly and prevents access to the system APIs in many ways. There are good arguments for this, the most obvious of which is security – Microsoft made changes to the Windows XP API many moons ago that actually caused some existing software to require patches (Freedom Force rings bells with me – ah, yes) or fail to run.
As far as I can ascertain, these changes make Flash pretty much a no-go area on the iPhone. Adobe were just about to release a new version of their software and with the update it will no longer function.
Apple’s cry is that Flash is “closed and proprietary” and I’m struggling to wonder why. OK, so it’s not exactly open source. It’s a fully commercial product so that’s not surprising. But then, so is the Apple SDK.
Flash is like Java – designed to allow developers to create one application and expect it to run in any environment for which there’s a translator – hence the multitude of players, plugins and the like. You download one for your machine and you can then run any Flash application designed by anyone. Essentially there are three methods of doing this – a browser plug-in, a stand-alone player or the new(ish) Adobe Air on which such popular applications as TweetDeck and BBC iPlayer run.
This is a step forward from ye olde days. A quick memory trip to the 1980’s brings back the techniques of porting from system to system. The Amstrad CPC and the ZX Spectrum computers both ran on Z80 processors. Often a game would be written on the Spectrum and ported to the Amstrad, complete with monochrome graphics and colour clash – it it was easy. If you were lucky, someone would spend some time tidying it up so it at least looked better.
The Commodore 64 used a 6510 processor so games for that had to be developed separately, often by a different team.
Nowadays we have three major platforms – Windows, MacOS and Linux. As before – and without bringing virtual machines or emulators into it – this effectively means developing up to three versions of your software if you want it to run on all three. Instead, by using Java or Flash (or other software of this type) you can avoid this.
Unless you’re on an iPhone.
Apple are bringing this platform right back to the 80’s by making it impossible to run a cross-platform environment on it. It wants apps which run on the iPhone to have been written specifically for it.
Now, there’s a good point to this. Bespoke apps will often work better than generic ones. However, it means more work for development teams. Some will and can afford the budget to develop on multiple platforms. Others may have to divide their time or focus on one above others.
I think this is their gamble.
Apple are hoping that due to the huge existing userbase, developers will opt to focus on the iPhone and drop other platforms – Android, Blackberry, Symbian and so forth in the mobile field. To some extent they will get what they want. Small apps developers will focus on the biggest market, the same way that there are more small bits of software available for Windows machines than Macs or Linux boxes.
However, it may also deter others who want to get their work across to as many people as possible. Flash is one method of doing that and if it will no longer work on the iPhone then some will definitely rule that out as a user base. After all, if your development’s been Flash-based for years then why would you want to start from scratch with a new SDK just for one platform?
On the whole, I doubt this will ever affect me. I’ve no intention of ever getting an iPhone and if I get an Android or similar then I’m sure if there’ll be an app that’ll do just what I want even if it’s not by the same people who’ve gone down the purely Apple route.
It does just seem to me very much a case of two little kids having a spat in a playground.
Related articles by Zemanta
- Adobe Flash project manager gives up on iPhone Packager (seattlepi.com)
- Adobe halts investment in iPhone-specific Flash dev tools, has another dig at Apple (engadget.com)
- Adobe abandons iPhone-based Flash development (vator.tv)
- Apple in shock public attack on Adobe (go.theregister.com)
- Adobe tosses in Flash towel after Apple limits iPhone dev (infoworld.com)
- Adobe Abandoning iPhone Support in Flash CS5 (cultofmac.com)
- Adobe Gives up on Flash for iPhone, iPad (wired.com)
- Adobe scraps work to bring Flash apps to iPhone (news.cnet.com)
- Adobe Stops Development For iPhone (apple.slashdot.org)
- Adobe Gives up on Apple, Welcomes Android (readwriteweb.com)
- Adobe says those grapes were sour anyway (openitstrategies.com)
- Adobe Flash project manager gives up on iPhone Packager (sfgate.com)
- Adobe Drops Future Support For iPhone Development in Flash (mobilecrunch.com)
- Adobe: We won’t spend any more time on Flash to iPhone features (tuaw.com)
- Adobe’s Apple Anger As Flash Dashed (geeksaresexy.net)
- Adobe Turns to Linux After Apple Snub (techrights.org)
- Adobe Dropping iPhone App Development Technology After CS5 [Adobe] (gizmodo.com)
- Adobe Abandoning iPhone Flash App Plans (technologizer.com)