ISBN: 0-471-41405 -0
Download (direct link):
Much like Windows CE, EPOC supports multimedia and multitasking and often runs on powerful processors. Its reference design system makes it possible for developers to develop one application for a Motorola Quartz communicator that will also look good on a Panasonic Quartz device (if these companies release such products). If this theory works in practice, it will be a valuable feature that makes the design of good-looking applications easier.
Because EPOC was designed at the outset to be a good OS for communicators, there is plenty of documentation and support available for that part. There is even a dedicated software development kit (SDK) called EPOC Connect, which enables convenient development in many languages. EPOC was the first OS with a WAP browser built in (MC218 in 1999), and many developers who start working with EPOC do it for the communication parts and for the support of the wireless giants.
The success of EPOC depends largely on the interest from device manufacturers and applications developers. The latter are, of course, very interested in making sure that devices will be available. EPOC seems to fit between the Palm OS and Windows CE in many aspects and as devices start to appear on a broader scale, it will be a strong contender in this race.
While the giants Palm, Microsoft, and Symbian fight for the throne of the mobile OS, others are looking at other alternatives. Linux has long been popular in the IT world for its open source approach, but the widespread adoption of the OS has yet to be seen. With the tightening competition in the mobile Internet device space, the thought of an OS that you can use for free is very appealing. Mobile devices also generally have a lower manufacturing cost than a full-size PC, which means that cutting costs for individual parts is more important.
There are a number of interesting projects that aim for bringing Linux to hand-held devices and maintaining it. An interesting one is Pocket Linux, which was shown running on a Compaq Ipaq during summer 2000. The kernel has been reengineered for small devices and optimized in many ways. Applications can be written in Java, because it uses the Kaffe open source Java implementation (which hopefully makes it easy to run existing Java applications on it). In addition, everything in Pocket Linux is based on XML—not only the applications, but also things such as the system databases and e-mail.
In January 1999, a Silicon Valley-based company called Transmeta launched a new and revolutionary processor called Crusoe. Crusoe is extremely power efficient and still enables power applications to run on it. In addition, it can execute any x86 application by a software translation of instruction called morphing. With Linux creator Linus Torvalds as a part of Transmeta, we foresee Linux to be installed on many devices that run on Crusoe.
Linux is an interesting contender, and it remains to be seen if that is what it will remain to be. Its breakthrough and widespread adoption depends mostly on the support of device manufacturers. If users have to install Linux themselves and throw out the existing OS, then it will remain a marginal player. Linux and Transmeta also illustrate how we might be overestimating the importance of the OS. Maybe Java and WAP will make the mobile OS irrelevant for applications developers.
Who Needs an Operating System?
This question is becoming highly relevant as we see the migration to a world of standards and platform independence. No one will develop an application that can run on GPRS only; rather, developers will design the application to run on all packet-based mobile Internet networks. You can access WAP and other XML applications on Windows CE devices, and people who use Palm and EPOC can also have this access. The standardized APIs in the service network use CORBA and enable many different platforms and languages to interact. The AT commands that enable applications to talk to the Mobile Terminal (MT) can be used on any platform. Will the applications developer in the future even care what the underlying operating system is? From the software developer’s point of view, it would be best if the application could be written for one device and one network. Then, you would only need to perform minor tweaking in order to make it work on other networks.
While this goal might remain a dream, many efforts are being made to consolidate the application environments and to standardize as much as possible. Since the mid-1990s, one of the efforts that has been made is Java, which removes the importance of the operating system.
Java for Mobile Devices
Java promised platform independence when it was launched, but this goal has been hard to achieve so far. With the modifications that are needed to adapt to different screen resolutions and user interfaces, developing in C and isolating
the graphics and hardware dependence was almost equally efficient. Java also quickly gained the reputation of being big and fat. I wrote my first Java program in 1996 and produced a ‘‘Hello world” implementation that boasted an impressive file in the megabyte range! I then learned to configure the compiler better, but Java still traditionally requires a lot from the underlying device. Therefore, many people doubted that it was possible when Sun Microsystems announced Java 2 Micro Edition for mobile devices in June 1999. How could anyone even dream of squeezing the Java monster into a mobile phone?