The next battle for the hearts and minds of internet developers will be fought on the mobile phone.
The global software maker Adobe Systems has long held a vice-like grip over the fancy end of Web site presentation, thanks to the ubiquity of its Flash animation tools. But a new computing segment is opening up that is forcing Adobe to rapidly change tack.
Mobile phones are emerging as the big new computing platform for the next decade. But whereas today's fixed-line Internet is dominated by Microsoft's Internet Explorer and tools such as Flash and Java, the battle for supremacy on the handset is yet to be decided.
Clearly Sun Microsystems' Java dominates today, with the research company Ovum estimating that as of June 2006, there were 1.2 billion Java-enabled handsets in the market, with 10 out of 11 manufacturers using Java as their application delivery and deployment platform.
But problems in translating Java's write-once, run-anywhere model to the handset have opened opportunities for different platforms to emerge. Thanks to the plethora of handset screen-sizes and multimedia capabilities, developers who write for Java Mobile Edition (Java ME) find themselves having to port their software to hundreds of different devices, adding significant cost to their development cycle.
It is this chink in Java's armour that Adobe is hoping to exploit.
"The key thing that Adobe realises is that we are at this tipping point now where there is actually more phones in the next 12 months that will be connected to the Internet than PCs," says Mark Szulc, senior systems engineer at Adobe Australia. "So if people want to get content out there, their audience is probably greater on a mobile phone that it is on a Web browser."
Adobe has been working hard to get Flash Lite preloaded on to as many mobile handsets as possible, rather than requiring consumers to download it as they would on the regular Internet. The company has relationships with the six largest handset makers, who have shipped over 150 million Flash-enabled handsets worldwide. Some devices have their entire user interface developed in Flash, including the LG Chocolate phone.
The director for technical marketing at the mobile and devices business unit at Adobe in the US, Anup Murarka, says his company has relaunched its developer program globally to accelerate uptake.
"If you look at the traditional developer community, the creative professionals that have used Adobe products for years and years, there is a real interest," Murarka says. "They are trying to figure out what they should do in mobile. Flash is proving to be three to five times faster for the application and content development than most of the technologies they have used in the past. But I don't think Flash is a direct competitor for Java, because they solve different needs — Java is meant for a programmer, and Flash is meant for a creative professional."
Flash and Java aren't the only two platforms out there, but some are experiencing mixed success. In mid 2004 Telstra decided to bring the iMode platform to Australia. iMode had been wildly popular in Japan, where it was the primary means of interaction in a culture with relatively low fixed-line Internet penetration. The concept failed to take off in Australia. A spokesperson from Telstra declined to comment on the fate of iMode, but given that no references to it appear on the company's Web site, it is safe to assume that it has no future in the Australian market.
The Symbian platform has fared much better in Australia, and is found extensively throughout the handset ranges of many makers. Developers have shown considerably less enthusiasm for it though as a development platform, as the widespread availability of Java on Symbian handsets means there is practically no work happening on the platform in Australia.
Another environment that is gaining some popularity is BREW (Binary Runtime Environment for Wireless). Brew is a 150 K thin client application, and provides a set of APIs for allowing developers to create software applications for wireless devices, supposedly letting them write to BREW devices without needing to know anything about the device's chipset. But no carriers have taken up the BREW platform in Australia.
Microsoft has been pushing its Windows Mobile operating system as a suitable platform for handsets, primarily in the more business-oriented smart-phone segment.
According to Microsoft Australia's enterprise mobile solutions specialist Rick Anderson, there are around 18,000 commercial Windows Mobile applications. Windows Mobile is carried on a variety of handsets from companies such as 02, iMate, Dopod and Hewlett-Packard, and ruggedised devices from Intermec and Symbol. Samsung, with its i320 phone, has also joined the Windows Mobile pantheon, and Anderson says Palm (which is another smartphone platform developer) is also preparing a Windows-based device.
Anderson says Microsoft is working hard now to raise the training level of its mobile developers in Australia, and has created the Mobile2Market, where applications can be vetted and certified.
"We are very strong on thinking that our developer community is something that is really important to us," Anderson says. "We are very encouraged to make this community work for us, because we know full well that if we don't have a stack of people to make these great applications to drive the usage of this stuff, it's not going to do us any good whatsoever."
Likewise, both Sun and Adobe are also stepping up their developer programs in Australia. Sun's software product manager for Australia and New Zealand, Laurie Wong, says that Java ME is becoming a stronger component of its Sun Developer Network. Every three months the company runs local Developer Days, featuring multiple sessions on ME. All of the toolkits for Java ME are available free of charge, and ME developers can also seek accreditation through a similar learning path to regular Java developers.
The issues around compatibility between device configuration still presents headaches. With look and feel still an important factor in consumer's buying considerations for phones, it may be some time, if ever, before standardisation of capabilities is reached. In the meantime, the frustration experienced by developers has led many to begin looking for their own way around the problem.
The bluepulse platform created by Australian Ben Keighran provides a standardised rendering environment for XHTML Web pages that is suitable for over 1000 handsets, via a Java and C++ application that consumers download to their handset. Keighran says there are half a dozen master configuration versions of bluepulse to suit different manufacturers, with the specific model and capabilities of the phone determined when it contacts the bluepulse server.
"What me and the team have developed is something that allows us to have a couple of key versions, and we can do custom-builds on the fly," Keighran says. "We've found a couple of things we can do to avoid what a lot of companies are still struggling with, but that's a bit of a trade secret. But porting is a massive problem, and it is very, very hard for many game publishers to get stuff out to a lot of handsets.
Keighran says there are now at least 1000 widgets available for bluepulse users.
The Sydney-based developer Bizi has taken a different approach. It does not require the consumer to download any form of thin client or rendering application. Rather, its software is incorporated directly into the mobile application or game that the consumer is trying to access. Once the application detects the handset, it automatically reconfigures itself to suit the phone's capabilities.
Co-founder and chief technical director at Bizi, Michael Aykut, says the concept was born after spending time talking to other developers and realising that the biggest issue they faced was the cost of porting, which could cost up to AU$20,000 for a single handset manufacturer.
"As a small company we couldn't afford that much money, so we had to do something different," Aykut says. "We needed something that could tell us what the user was running and adapt the game or application to the user environment."
He drew upon his university interest in artificial intelligence, and merged that with his new interest in mobile phones to create the Bizi AI, which polls the phone to determine its characteristics, and sends those back to the developer. Aykut says in many cases, such as with the Symbian platform, this is impossible for any other technology.
"In normal Java there is nothing that can tell you that [the handset] is a Symbian phone," Aykut claims. "And the user doesn't even know about it because it is instant. Our AI come built into the application, and controls how it runs on the handset, so you don't have to worry about what type of handset it is."
Bizi plans to release 100 mobile games by July this year, and will swiftly scale up beyond its current 15 employees. Aykut says he is reticent to give the AI to other developers for fear that the library could be reversed engineered. However, Bizi will build games for developers for a fee.
Meanwhile Adobe continues to work hard to increase the distribution of Flash amongst the handset makers, to drive up the available customer base for developers. But the only Australian company to embrace Flash wholeheartedly on the mobile is the Queensland-based developer Moket. Company founder Dale Rankin started as a straight Flash developer, but says he began looking at Flash Lite in 2004, starting with the creation of several demonstration applications.
In 2005 he launched Moket to focus on the mobile space. Rankine says it remains the only dedicated Flash Lite company in Australia, and is licensing content to other parts of the world.
Having come from a traditional web development background, Rankine says there are certain lessons that need to be learned when moving to mobile.
"Simpler is better," Rankine says. "You are almost taking a backwards step in designing for a device that is an nth of the power of what you are used to calling upon when developing web applications. Although in a lot of ways the restriction of the device brings out more creativity in the developer in terms of how they are going to achieve things.
"Certainly usability plays a much larger role in developing applications for the handheld device. Web users have become a lot savvier about applications and how to interact through a browser, whereas with a mobile phone you are dealing with a very basic device that uses a lot of muscle memory with your fingers. So developing applications that are intuitive and easy to use from the very first go is critical to the success or failure of your application. You need to treat the user as a dummy almost in proposing what they need to do to interact with your application."
While his audience is limited by the number of Flash-compatible handsets in the market, Rankine says it is only a matter of time before numbers increase.
"When we started there was no handsets outside of Japan, and no guarantees that there ever would be," Rankine says. "But we feel a lot more comfortable about the future now that the Nokia handsets that were promised are in circulation. There are probably 50 or 60 [kinds of] Flash-enabled handsets around the world."
Rankine is also aware that his decision to stick with Flash Lite means he can circumvent many of the porting issues suffered by Java developers, although he says there are still some porting issues.
"You just can't get away from the fact that the mobile platform is a fragmented one," Rankine says. "But Flash reduces the load on porting as a part of the process, because rather than having to port a specific run-time for every handset, we can cover off a vast majority with one installer file. And even being clever about how you code with Flash means you can develop content that plays on a variety of screen dimensions without having to recode the entire application from scratch.
"It would be ideal to have the 'create once, play anywhere' ubiquity that you have on the web, but it's a completely different playing field with the hardware that is involved in the industry."