It's interesting how open source approaches are gradually tipping the balance in favour of open platforms when it comes to developing for smart phones. Whilst Apple's highly locked down iOS4 platform continues to command a large slice of market share, things are gradually tipping the other way, with the news that for Q1 2010 in the US at least phones using Google's open source Android platform (such as my shiny new HTC Desire :-)) actually outsold Apple's handsets. Although the iPad and iPhone 4 will have given Apple sales a boost, the connectivity problems with the iPhone when it's held the wrong way, the continued absence of Flash support and the restrictive terms imposed on iOS developers are unlikely to do Apple many long term favours. Witness, for example, the removal from the App Store of the Scratch 'player'.
At the moment, Apple continue to command a lead in the sheer number of apps available in their App Store when compared to the Android Marketplace. However, all this may now be set to change, with Google now inviting applications to access a beta of its App Inventor suite of applications, which takes the building block approach to programming familiar to users of Scratch via the Open Blocks Java Library to make it possible for pretty much anyone to make a start on creating their own mobile phone application, making use of all of Android's core functionality like its accelerometer, GPS and text to speech, as well as interfacing with public APIs for services such as Google Apps and Twitter.
As Google puts it:
"To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior."
I think it significant that the sign-up form asks questions about whether the App Inventor invite is destined for use in a school or college, together with a dedicated set of FAQ for educators (including the somewhat optimistic, and perhaps unnecessary 'whom can I talk with about buying classroom sets of phones'). Schools seem to be slowly realising that pupils own phones can now do much of what we used our ICT suites for five years ago, judging by an article in last Friday's TES.
I wonder if initiatives like Google's here will lead to a resurgence in bedroom programming amongst school pupils, perhaps spurred on by enthusiastic teachers such as the crowd gathered in Birmingham last Friday for this year's Computing at School conference, where break out sessions on open source programming tools like Greenfoot and Scratch attracted good audiences. It was good to see Peter Kemp representing the Open Education Disc there too, especially as this includes these programming languages / environments and others.

Other open source mobile platforms are available, including Maemo on the Nokia N900 and the LiMo platform. Palm's WebOS is also worth keeping an eye on, which is Linux based even if closed source. That said, none of these make programming quite so easy as Google have just done for Android.












" the continued absence of Flash support" is a good thing. Flash is proprietary software. Apple are right to do this as HTML 5 will hopefully mean we will have to rely less on Flash.
"The last temptation is the greatest treason:
To do the right deed for the wrong reason."
It's the locked down nature of the platform which is, for me, the real problem here. If I buy the phone, I accept the risks, and don't hurt anyone else, why can't I run whatever I want on it?
Proprietary software bad, proprietary platform worse.
Jobbs hasn't done this because Flash is proprietary. He has done it because he's a little bit at war with Adobe, and he's playing with the market place.
gif, avi, pdf, mov are all proprietary. flv as a flash derivative also is. Many of the tools we use to create and display these formats are open-source or as near as dammit. Audacity, CDEX, FFMPEG and its front ends, VLC. I could go on. A whole range of applications on Linux. Less in Macs. Hey, let's ban mov as a format. That's proprietary. Apple can easily do without that, now Steve has pronounced.
Jobs has, at a stroke, disabled flash on iPad. No dissent tolerated, no way round it as far as he is concerned. So in what way is he different from Bill Gates? He won't handle HTML5 in Internet Explorer because the standard hasn't been ratified yet; pretty much all other browsers already do. It's unlikely the standard will change in any way between now and when it's nodded through later this year. In fact let's dispence with OS X because it too is proprietary. Yes I know it originated from BSD, but nonetheless OS X is every bit as 'secret' as Windows. Out with it!
So I daren't publish pure HTML5 stuff until the end of this year because IE doesn't support it. I would be conservative about it in 2011 because of the numbers using current/old versions. If I don't use HTML5 web content will fail on iPads, right now.
HTML5 provides built-in support for video and sound. A jolly good thing too. But even if W3C then deprecates other objects like flash, it doesn't prevent developers from continuing to handle them. HTML5 media is based on formats like OGG and THEORA. OGG's not too bad - just a pity my 150,000 clip sound library is all mp3. Theora is pretty substandard, if you look at chat elsewhere. I have hordes of material in mpg and flv, having transcoved them from avi, mov and various other formats.
Open standards don't necessarily imply good performance or even total cross-platform performance. I am not so bound up in open source that I'm prepared to sacrifice quality of experience for my 'customers' on a point of principle. I just want systems that'll work, and work easily.
My opinion: Jobbs has gone a step too far in disabling flash. I don't want to be preached at by people who are in fact self-serving.
Derek
Flash is a proprietary format. Yup. We can choose to implement flash via open software. We have that choice. In using an iPad we have indeed got a proprietary and hamstrung platform which fails to follow HTML5 in that it's an extension of HTML4 and XHTML and hence allows us to fall back if we so choose.
Remember GIF? How any browser allowing it to be used was going to be sued? How we were all going to use png instead? Well png exists, but it isn't ubiquitous, and there are humungous numbers of sites still doing GIF.
Flash as a format is sufficiently undestood that there are plenty open applications which will write to it. OpenLazlo, Open Impress, Flash player also supports mpeg-4 which *is* an approved standard. VLC contains a web player and VLC supports multiple formats. I could probably find more if I hit Google. So there are alternatives to flash if you're talking video.
The problem is flash content can be based on text, sound, picture, animated raphics, and can interact with you. WHat's the open source replacement for that, I'd love to know?
Thanks, Steve. Good job. I've dabbled in Macs over many years and was tempted by the iPod because of its really cool design principles. But I'm tempted no longer, I'm angered.
Derek
you raise an interesting point, and one that drives to the heart of the issue of openness. With the iPad and flash and other closed things, if you are unsatisified with what it does then it makes one get frustrated and angry. With open source and open things if it doesn't do what you want then it makes one motivated to improve it.
> The problem is flash content can be based on text, sound, picture, animated raphics, and can interact with you. WHat's the open source replacement for that, I'd love to know?
HTML5 (+ SVG). It's an open standard that runs on open and closed platforms. At a browser near you ;-)
Smartphones will go the same route as the PC. Open architecture will provide many, many manufacturers (at least 70 major companies for Android currently) to develop compatible variations to suite different needs. Apple produces iphone and had nearly 18 months head start as they did with microcomputers. If you don't want a feature or a feature is missing on Apple's design,tough. Furthermore, competition and economy of scale will reduce the cost of Android devices and peripherals. Apple will again have a top end niche market. The main difference with the PC scenario is that the software is open architecture as well as the hardware. If Apple established a monopoly on Smartphone design it would be worse than Microsoft's with Windows. The monopoly would be the hardware AND the software. I really can't see why Open Source advocates are such fans of Apple except that it is traditionally a Microsoft competitor. MS is so far irrelevant in this market. I also think Android will move up from Smartphones to tablets and netbooks and in the end be the de facto standard for accessing applications on the web with a gradual decline in Windows and desktop apps. That could take years, but we should be preparing children for that world, not letting them think that MS Office is going to dominate the world for ever and its all they need to know. That incidentally is a lot of the rationale behind the INGOTs. There are already many times more computing devices running opertating systems other than Windows than there are running Windows.
A step towards 'real' programmign is also posisble with Scripting Layer for Android (SL4A, formerly known as Android Scripting Environment or ASE) which supports Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell.
Has anyone got access to the beta of this yet, I'm still waiting on my invite :(
I'm work on Classdroid, a really slick android app for teachers. All open source and free =) Obviously