Is Flash really “closed and proprietary”?

Adobe Systems Incorporated
Already used an Apple logo this week...

Again, I’m going to really try and not Apple-bash but their statement this week regarding Flash apps really has got me wondering about what world they live in.

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.

This split continued with the advent of the Atari ST and the Commodore Amiga. On the whole, software written for one would not run on the other – two versions had to be developed separately.

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.

Reblog this post [with Zemanta]

Zoomquilt

I just found this by random and it’s well worth a look if you like whacky artwork and clever computery stuff. Essentially it’s a big Flash animation, but it’s very hypnotic. A series of images by various artists have been layered together. As you dive into one you move to the next and so on.

It’s also available as a downloadable screensaver, I think just for Windows.

Linkety-link: Zoomquilt2

Reblog this post [with Zemanta]