’ve been doing mobile software development of one sort or another for time out of mind. Some of the first serious programs I wrote were for an HP-41CX calculator for engineering and sales purposes for the electronics industry. In that time, I’ve had the opportunity to watch the market go through several cycles of fragmentation and consolidation. Each has been subtly different, but there have been common threads to all.
Stopping to look at some of the most successful—and unsuccessful—entries into the mobile market helps us gain perspective as to where the market is today and where it’s going. Of course, this brief summary can’t mention every business involved in mobile computing, let alone even all of the most influential. But it can touch on a few that advanced the market in significant ways, and close with some conclusions about where we’re headed.
Psion, a company based in the UK, began its life as a software publisher in the 1980’s, and in 1984, released what most recognize to be the first mass-market mobile computers, the Psion Ogranizer. By 1987, Psion was working on a sixteen-bit version of its software platform and associated hardware, including the multitasking EPOC operating system. EPOC went through several evolutions and a second effort before it brought commercial success on the Series 5 Psion devices, popular among many save early adopters of previous Psion hardware.
Psion found itself in dangerous waters in the late 90’s. Mobile devices had become a global market with many platforms and players, and Psion found it difficult to compete due to the plethora of mobile devices available from other manufacturers. An additional challenge to Psion was the degree to which the mobile device market had gone global; in Europe, where Psion had done well, Psion was competing against low-cost Palm handhelds and Windows Mobile devices. Consumer product development slowed, and eventually halted altogether by 2001.
Although Psion’s name is not well-known today—after its acquisition of Canadian Teklogix it remains as Psion Teklogix, selling business-to-business products—EPOC lives on as the foundation for Symbian, about which you’ll read more in a moment.
The Apple Newton was in fact not the first mobile computer—Psion earned that title nearly 10 years previously—but it captured many people’s imagination prior to its launch in 1993 through Apple’s innovative user interface and marketing. In both hardware and software, the Apple Newton was well ahead of its time, and this likely contributed to its continued lackluster sales, high cost, and bifurcated user base: users and developers either loved the device (10 years after its discontinuation in 1998 it still has a strong following) or hated it (often for its much-maligned, but gradually improved handwriting recognition).
Despite licensing the platform and preparations for a spin-off of the Newton division from Apple Computer, the Apple Newton platform never really succeeded, probably due more to its high per-unit price than its initial lukewarm reception by the market. It found some successes as a vertical-market computing device, competing with embedded systems from companies such as Telxon and Symbol. The Apple Newton products became casualties of lower-cost handheld computing devices, notably those from Palm, Inc.
General Magic and Magic Cap
Starting as an internal project at Apple in the early 90’s, the Magic Cap operating system was one of two key mobile computing products released by the prescient folks at General Magic. Licensing the Magic Cap platform to multiple partners, Magic Cap enjoyed early business success, if not success in the commercial marketplace, with handheld devices, including the Sony Magic Link and Motorola Envoy, with integrated modems for email and information access through a proprietary portal. This portal, running Magic Cap’s Telescript environment, was to be run by major network operators such as AT&T and NTT.
General Magic succeeded in predicting many market trends, including ubiquitous access to email through portable devices. Unfortunately, its predictions were far too early for mass-market adoption, and they missed a critical piece: the rise of the World Wide Web. At the same time as the engineers at General Magic were building clients and servers for a closed system for carriers to operate, the World Wide Web was gaining in importance and prominence. While General Magic later made other products, including Portico, an excellent voice-activated agent, it was never fully successful. The client-side business was spun off into a separate company, Icras, in 1998, which marketed Magic Cap under the DataRover name to vertical companies for a few years. But competition with Palm and BlackBerry, then the ascendant mobile computing providers, proved to be too much competition.
In 1992, Palm Computing started to create the Zoomer, a Geoworks-based mobile computer manufactured by Casio. The Zoomer failed, but Palm Computing survived by selling its handwriting recognition system for the Apple Newton platform, while its founders regrouped and released the original Palm Pilot in 1996, a low cost (relative to other mobile devices of the time) handheld computer running the first iteration of what came to be the Palm OS. This device had a rudimentary software development kit and excellent data synchronization capabilities, and was well received by the market. Fresh from this success, Palm Computing was purchased by U.S. Robotics Corporation, which was later purchased by 3Com, who made the Palm subsidiary an independent publicly traded company in 2000.
Developers can write applications for Palm OS in a number of different ways, but the most common languages used are C and C++ writing directly to Palm OS APIs. Over the years there have been numerous other programming environments ported to and developed for Palm OS, including Java MIDP run times, several Basic interpreters, Scheme, and other languages.
Buoyed by success in the consumer and enterprise markets and several licensees, the Palm OS platform enjoyed wide success for many years. Palm OS powered devices are still manufactured in the form of the Treo, Centro, and Windows Mobile powered devices. Today, the majority of devices sold bearing the Palm OS platform are in fact smart phones, a tribute to the convergence of mobile computing devices and wireless telephone/data services. In recent years, Palm has struggled with maintaining a state-of-the-art operating system capable of supporting today’s demand for media-rich applications–given developers’ persistent demands for operating system features including true multitasking and better memory management. Initiatives by the subsidiary PalmSource (later acquired by Access) and Palm itself have been slow to bear fruit, and with additional competition from other platforms, Palm’s market share has tumbled in the last several years.
Research in Motion’s BlackBerry
The BlackBerry platform, developed by Research in Motion, was introduced in 1999, and pushed email to mobile devices. Research In Motion also provides the BlackBerry Connect software, enabling other platforms such as those running Palm OS the ability to have the same always-on push access to email, so that the network delivers email to the device, rather than the device needing to poll for email. Originally using a proprietary SDK, BlackBerrys now run Java ME, depending on the target hardware. Applications signed with a special digital signature have access to additional APIs made available by Research in Motion to more tightly integrate with the device file system, personal information management software, firmware and messaging capabilities. The choice of Java makes BlackBerry software development attractive to most mobile developers, because it’s easy to modify a Java ME application to run on the target device.
The BlackBerry platform, like the Palm platform, started simply as a monochrome device with only email access. As the technology evolved, Research in Motion added voice and other capabilities to the device, permitting it to converge with the mobile phone. Today’s BlackBerry devices are often cosmetically indistinguishable from other mobile phones, with the exception of the email experience, which is tightly integrated between the user’s BlackBerry and the desktop.
Microsoft’s Windows Mobile
Windows Mobile, derived from Windows CE (originally released in 1996), provides a subset of the Microsoft Windows APIs on a compact real-time operating system designed for mobile computing devices and wireless terminals. After several false starts on stand-alone PDAs, Windows Mobile has enjoyed reasonable success on a number of PDAs and handsets, perhaps most notably the Motorola Q and some Treo devices.
As with Palm devices and BlackBerrys, data synchronization between traditional personal computers is key. Microsoft provides the ActiveSync technology for synchronization for both personal and enterprise users. Moreover, the current version of Microsoft Windows Mobile is a versatile platform for developers, permitting application development in C or C++ as well as supporting managed code with the .NET Compact Framework.
The Windows Mobile platform continues to evolve—version 6.1 is expected this year–with active support from Microsoft and acceptance by licensees around the world.
Sun’s Java Mobile Edition (Java ME)
Sun’s Java Mobile Edition—previously J2ME—is a platform spanning lightweight mobile devices and other nontraditional computing devices including set-top boxes and media devices. With dozens of licensees, it has achieved wide commercial success, in large part due to Sun’s aggressive and open marketing and licensing model. Once promising “write once, run anywhere” to software developers, Java ME skills remain perhaps the most transferable from device to device, because lower-level languages such as C or C++ on other platforms require intimate knowledge of platform-specific APIs such as those found in Windows Mobile or Palm OS.
Java ME is divided into configurations, which permit the attribution of different sets of APIs to devices of differing capabilities. Today, the two significant Java ME configurations are the Mobile Information Device Profile (MIDP), found on cell phones, PDAs, and other mobile devices, and the Connected Device Configuration, divided up into profiles depending on the capabilities of the target platform. Many tools exist for Java ME development, including the Eclipse and NetBeans integrated development environments.
Java ME enjoys wide use as a platform for deploying entertainment applications to mobile phones, and to a lesser extent, productivity and enterprise applications as well. Sun continues active development on the Java platform including Java ME as a leader in the Java Community Process (JCP), a mechanism for proposing standard additions to the Java platform. A close examination of both the Java SE and Java ME platforms show a great deal of convergence, as a growing number of interfaces migrate between the two platforms.
Java ME applications may be distributed on-deck—that is, by the carrier itself—or off-deck via application download using the mobile device’s Web browser. This provides distribution flexibility on the part of the developer, because carrier relationships need not be struck, but can put the onus of billing on the carrier as well. Recently, Java ME added application signing to their MIDP implementation, meaning that applications for distribution that use specific features such as access to the local file system via JSR-75 typically must be signed and certified by carriers prior to distribution. This model is effective, but considerably more complex than the Qualcomm Brew model, because differing carriers accept certificates applied by different testing authorities.
Qualcomm Brew, a component-oriented platform in which developers write applications using C and C++ has been widely accepted by some carriers, including Verizon Wireless. Unlike other mobile computing platforms, which provide client-only solutions for mobile devices, BREW provides both a server-side infrastructure, used by carriers to deploy applications to mobile devices, and the mobile client consisting of a set of components, application manager, and mobile shopping mall with which to download new applications.
Brew has enjoyed considerable success in the US and Japan as a result of Qualcomm’s deep entrenchment in the Code Division Multiple Access (CDMA) marketplace and close relationship with major CDMA carriers including Verizon Wireless and KDDI Corporation. Consequently, millions of devices have the Brew layer available for mobile application developers to leverage in deploying information, productivity, and other applications.
The key to Brew is the distribution model, in which all applications must be signed, vetted by a third party, and distributed only by the carrier through Qualcomm’s Brew server infrastructure. This approach has advantages and disadvantages, depending on how you look at things: tight control for carriers, integrated billing for developers, and an often-steep business process for market entry for many new developers. However, this approach has enabled Brew to solve a key problem for application deployment to consumers on mobile phones: how to unify the distribution and billing model to make it easy for developers and carriers to deploy and bill for applications purchased by consumers.
Symbian is a pre-emptive, memory-protected operating system released by the company of the same name and used to power many Nokia and Sony Ericsson phones. Symbian began its life as EPOC Release 5, the last software release of EPOC by Psion with a joint venture company of the same name. Virtually untapped here in the United States for application development, Symbian is a very powerful platform programmable in C++ using Symbian’s frameworks for applications and services. In addition, the Symbian platform itself runs Java ME, so that Symbian phones typically can run both native Symbian applications as well as J2ME applications.
Software development for Symbian has received a relatively lackluster welcome here in the United States, but does quite well abroad. There is a thriving base of mobile software, most written in Europe, and increasingly leveraging the Symbian Signed program that involves third-party vetting and signing of an application prior to delivery to enable certain features such as multimedia access. It’s difficult to pin exactly why Symbian has been slow to take off in the United States, except to look at device cost—until recently, most Symbian devices were smart phones—and many still are. This means higher prices than traditional consumer phones. Combine this with a lack of explicit Symbian marketing in the US (to both carriers and consumers), and its adoption has been slow to take off.
The Apple iPhone was—until recently—a closed platform, permitting mobile applications only through its robust WebKit-based Web Browser, Safari. In March 2008 with the usual Apple fanfare, Apple released a beta of their long-awaited SDK for iPhone.
As the iPhone runs a lightweight version of Mac OS X, the SDK unsurprisingly leverages many of the same APIs and programming environments used by Mac OS X.
Like other modern mobile platforms, the iPhone officially runs only signed code—although unlike BREW, it’s been hacked to support third-party applications through a non-Apple-supported application manager. The benefit of code signing still remains, in that applications signed by the developer and distributed by Apple tie into the iTunes store and billing, permitting easy payment to registered iPhone developers.
What Makes or Breaks a Platform?
Today’s commercially successful platforms include Palm, BlackBerry, Java ME, Windows Mobile, Qualcomm Brew, Symbian, and potentially the iPhone (only time will tell). Of these, the major platforms are really Windows Mobile, Palm, Qualcomm Brew, and Java ME; BlackBerry applications are simply Java ME applications with the potential to access a few extra classes, and here in the United States, at least, most Symbian users run Java ME applications rather than native Symbian applications.
Why have these platforms won out while others fail? Common points leading to their success include:
- Price consciousness. These platforms clearly recognize the need for low-cost hardware, and are heavily optimized to run on hardware that’s inexpensive to manufacture. Mobile casualties including the Apple Newton platform and Magic Cap were typically more expensive to consumers and enterprise users.
- Convergence. These platforms have generally weathered convergence between devices (PDAs and phones) and networks (the Internet and telephony networks) well.
- Data management. The key to any PDA’s success was its ability to act as a PC companion, synchronizing data between the desktop and mobile. Palm pioneered this, and nearly every mobile platform since then has included some kind of desktop companion software or capability (notable exceptions are Java ME and Qualcomm Brew, although even on these platforms there are devices that include some sort of data import or synchronization, such as the BlackBerry and some Qualcomm Brew handsets).
- Application signing and trusted distribution. Newer platforms include the ability to cryptographically sign applications, with platforms only providing access to some APIs for signed applications. This enables a higher degree of application trust and secure application delivery, solving the application distribution problem that has simplified mobile application distribution and billing.
Interestingly, one criteria that does not guarantee success is openness: with the exception of the iPhone, all of these platforms were at some time “open” in the sense of being made available to licensees, and all have had open development environments. Of course, the degree to which platforms have been licensed grossly differs—as does the success of the platform licensees.
If you’re setting out to be a mobile developer, which should you choose? The answer isn’t which one, but which ones. The move towards signed applications and trusted distribution channels makes application distribution and reimbursement easier, although of course it brings additional challenges (application certification, marketing to the distribution partner, and so forth), and restricts the market to a few channels as opposed to a truly open delivery. Nonetheless, Java ME and Qualcomm Brew should be high on your list for mobile penetration, and whether you target the more smartphone-oriented platforms (Symbian, Palm, Windows Mobile, and iPhone) depends on the market sector you’re entering. Palm and Windows Mobile have a strong enterprise flavor, and the iPhone looks to be a promising new entrant in that area as well with Apple’s licensing of Microsoft ActiveSync. iPhone, of course, has been a commercial success as well, quickly outpacing older smartphones in sales in the consumer market.
Regardless of the decision you make, the mobile market is booming, with plenty of opportunities for new applications.