Amazon.co.uk Review
The authors--who work for Symbian--do a good job of revealing their environment's capabilities, and leave their readers feeling prepared to dive in and do less academic development work. Code samples and class diagrams help clarify systems' workings, and explanatory prose is generally lucid. Helpfully, the authors go beyond mere explanation of APIs and show how to build full applications, including a multi-user card game and a chat-and-whiteboard tool. As with any emerging technology, though, readers may wonder how the examples will pan out outside the emulator, in a production environment. Only time and experience will tell. For now, this book represents a good value for people who want to scope out Java's behaviour under the Symbian OS before the combination goes big-time. --David Wall
Topics covered: how to program applications in Java for execution under Symbian OS version 6.0 (both the Quartz and Crystal implementations are dealt with). Sections address the JavaPhone APIs, Java Services and the special security and efficiency requirements of mobile software.
Review
"you should find space on your Java bookshelf for this book." (Wireless Developers Network, 16 April 2002)
"...a readable document, even for beginners..." (Forum Nokia, 6 March 2003)
Product Description
From the foreword by Greg Papadopoulos, CTO, Sun Microsystems, Inc.
Java on Symbian OS is a powerful programming environment that enables fast, secure deployment of applications and services onto a wide range of wireless devices. Symbian′s Java implementation gives developers access to key wireless technologies, including telephony, contacts management, calendaring, Datagram messaging and power monitoring.
Complete with numerous illustrative and real–world examples, this ′from–the–source′ guide provides developers with authoritative, practical and timely information on:
- using the Symbian Software Development Kits.
- the JavaPhone and Personal Java APIs, and how they are implemented.
- writing efficient and optimized code for constrained devices.
- understanding and working with Java on Communicator reference designs.
- creating games.
- accessing native functionality through JNI (Java Native Interface).
- creating wireless services.
- operator and service provider issues, including security, provisioning, rapid and reliable development.
From the Author
Jonathan Allin is lead author of Wireless Java for Symbian Devices. He is also Symbian's Java Technology Manager responsible for Symbian's Java strategy. He is one of a number of people whose role is to ensure that Symbian provides a first class Java platform for wireless information devices.
Q: WHO IS THE BOOK AIMED AT? It is aimed at Symbians developer community, many of whom are creating services and applications for phones like the Nokia 9210 and 9290 Communicators. This book will appeal to wireless service providers, network operators, and other organizations at the business end of B2C wireless commerce and help them in their decision-making processes. It will appeal to Java developers interested in developing for constrained devices built by Symbians licensees, including Ericsson, Nokia, Motorola, Panasonic, Psion, Sony, Kenwood, Sanyo and Siemens.
Q: HOW DID YOU COME TO START USING JAVA? I have a BSc in Electronics from Southampton University in the UK, and a DSc in Biomedical Engineering from the Technion in Israel. My first job was as a residential social worker with severely disabled children, which migrated into designing and building electronic and computerized aids for such children. I was with Acorn Computers for 8 years, helping to develop computers and software for schools and picking up an MBA on the way. I first became interested in Java technology, particularly in the role that it can play within the enterprise, three years prior to joining Symbian while at Origin BV.
Q: IS THERE ANYTHING SPECIAL/COOL ABOUT JAVA RUNNING ON SYMBIAN OS? There are several benefits: Symbian OS is highly integrated: application engines, communications protocols, messaging and other Symbian OS facilities are available to developers through the PersonalJava and JavaPhone APIs. Soon, Java developers will have access to Bluetooth and SyncML, opening up personal area networks (PANs) and access to local services (like printing and ticketing), and enabling task continuity across different devices You get more out of your Java application on a Symbian OS phone: Symbian OS does not rely on being connected to a network and provides intelligent capabilities even when disconnected. Symbian OS phones are full hand-portable computing systems, delivering compelling applications The Java implementation has a tight footprint, taking advantages of Symbian OS's lean and mean philosophy. It's as robust as Symbian OS itself, which is designed to operate 24 hours a day, 7 days a week Symbian's implementation is fast. Symbian has optimized, and continues to optimize, both the Java virtual machine port and the Java libraries. The result is probably the fastest Java implementation in its class, returning better than 1 Caffeine Mark per MHz. For comparison the Jornada 820, running Windows CE, returns only about 0.13 Caffeine Mark per MHz. There's more performance to look forward to.
Q: IS IT HARD TO MAKE JAVA CODE DEVELOPED FOR OTHER DEVICES AND MAKE IT WORK ON SYMBIAN OS? It's straightforward. Not trivial, but straightforward. Porting Java apps is much easier than porting say a C++ app. The APIs are more uniform, simpler, and higher level. However it's not realistic to expect a single Java binary to work across all platforms with different screen sizes and resolutions, and with different user input methods. A well-written Java app will separate engine code from UI code, so that the UI code can be easily modified for different devices.
Q: HOW DO YOU START CREATING JAVA APPS FOR SYMBIAN OS PHONES? If you are already a Java developer, the leap to wireless development is not that large particularly with the help of the book. There are issues to be aware of, such as coping with the constraints of small devices like mobile phones, however the book takes you through these. Symbians Developer Network also supports all developers who develop applications and services for Symbian OS phones. At the moment the Developer Network offers SDKs, access to knowledge bases, technical resources, discussion forums and newsgroups and example code for download.
Symbian licensees are releasing developer SDKs Nokia has released an SDK for its 9210 Communicator, the first open platform phone to feature Java. The Nokia 9210 Communicator runs Symbian OS and is the first mobile phone to support PersonalJava and the JavaPhone APIs. The US version, the Nokia 9290 Communicator, is expected during the first half of 2002.
Q: WHY SHOULD JAVA PROGRAMMERS TARGET SYMBIAN OS? Symbian OS is licensed by the leading handset makers in the wireless industry. Symbian is owned by Nokia, Psion, Ericsson, Panasonic and Motorola and these companies sell the majority of mobile phones worldwide. Symbian OS is licensed by several other companies, making this the industry-standard mobile phone OS.
Q: WHICH CHAPTERS DID YOU PARTICULARLY ENJOY WRITING? I think the chapter on optimization is my favorite. You learn all the time from your own mistakes, and from others how things can be done better. You can get away with poor code on a desktop machine, but the environment on a mobile phone is not so forgiving.
I also enjoyed looking at application security and provisioning, because these are issues which must be resolved for the wireless market to succeed.
Q: WHAT SORT OF APPLICATIONS MIGHT BE DEVELOPED FOR SYMBIAN OS PHONES? Secure and easy purchases using a mobile phone are compelling because it is so convenient. This includes hard goods such as the weekly shopping, and soft goods that can be instantly downloaded such as stock information or music, or services such as banking and personal finance management. Games and location-based services will be major drivers and will become more important as packet data networks roll out, allowing always on Internet access and people to communicate more easily than ever before. Location-based information will add an extra dimension to commerce, games, and other services.
Q: WHAT WILL THE NEXT GENERATION OF MOBILE PHONES BE LIKE? Symbian and its partners believe the next generation will fundamentally change the way we interact with information forever. It is also about companies working together to achieve a wireless networked world. In a keynote speech at Symbians Developer Expo last year, Mark Bregman of IBM (which is a Symbian Partner), put it like this: We may find ourselves no longer waiting to sit down in front of a PC to get access to information. Instead we will have instant access, anywhere at any time, to the information and services that we all want Its a world where devices will all be linked to the network, allowing connection anytime, anywhere, seamlessly, and importantly, transparently. It will be pervasive; already in many European countries, the wireless telephone has become pervasive to the point where it is more expected that you will have a wireless telephone than a wired telephone. We also see this trend as being global.
Q: WHAT'S THE FUTURE FOR JAVA ON SYMBIAN OS? We want to ensure that Java on Symbian OS provides the functionality and performance to deliver rich wireless services and applications, while maintaining interoperability with mass-market feature phones. The next Symbian OS release is highly optimized: we've paid attention to all potential bottlenecks including graphics and UI, method invocation, and the byte code interpreter. So, Symbian is the first company to license ARM Jazelle technology software for Java hardware acceleration. In addition, We will be providing a MIDP implementation, so that applications written for small devices will also run on Symbian OS phones.
We are extending the functionality available to Java developers, making use of the JCP (the Java Community Process) and driving and implementing JSRs (Java Specification Requests) that are relevant to the wireless market.
From the Back Cover
Java(TM) is the preferred language for developing applications and services on the Symbian OS: It is a powerful programming environment that enables fast, secure deployment of applications and services onto a wide range of wireless devices. Symbian′s Java implementation gives developers access to key wireless technologies, including telephony, contacts management, calendaring, Datagram messaging and power monitoring.
Complete with numerous illustrative and real–world examples, this ′from–the–source′ guide provides developers with authoritative, practical and timely information on:
∗ using the Symbian Software Development Kits.
∗ the JavaPhone and Personal Java APIs, and how they are implemented.
∗ writing efficient and optimized code for constrained devices.
∗ understanding and working with Java on Communicator reference designs.
∗ creating games.
∗ accessing native functionality through JNI (Java Native Interface).
∗ creating wireless services.
∗ operator and service provider issues, including security, provisioning, rapid and reliable development.
The book also contains contributions from Colin Turfus, Lucy Sweet, Alan Robinson and John Bown of Symbian and wireless case studies from Digia Oy (A Symbian Competence Center) and Telenor R&D.
About the Author
Excerpted from Wireless Java for Symbian Devices by J Allin. Copyright © 2001. Reprinted by permission. All rights reserved.
JAVA ON THE SYMBIAN OS
This chapter provides an introduction to Symbian's Java technology. It takes an inward look at the history behind Symbian's Java development and why Symbian regards Java as such an important technology.
1. The Symbian story
The Symbian OS incorporates a comprehensive set of leading-edge applications and services that will set the standard for the wireless revolution. But where did it come from and why is it the best software platform for an emerging market of wireless information devices, or WIDs?
Symbian is jointly owned by Nokia, Ericsson, Motorola, Matsushita (Panasonic) and Psion. Its many other licensees include Philips, Sanyo, Siemens, Kenwood and Sony. The nucleus of the company was formed from Psion Software, and todays Symbian OS is an evolution of Psions EPOC Release 5 (sometimes referred to as ER5), which appears in the Psion Series 5mx, Revo and netBook/Series 7.
Building a software platform for the wireless industry
History
In mid-1994, Psion began work on a new 32-bit operating system (OS) to replace SIBO, its sixteen-bit operating system. Products based on SIBO were a great success and included the Psion Series 3a, Series 3c, Siena, and Series 3mx, the last of which was launched in 1998. The platform supported internationalization with a full Unicode implementation on a 32-bit flexible architecture. The new OS was called EPOC, a name that reflected the intention to define a "new epoch" in wireless information devices.
Right from its inception, Psion intended that the EPOC operating system should support a commercial licensing model. The entire software team working on EPOC, plus a sales team, were formed into a new company called Psion Software in June 1996. Its mission was to license EPOC to original equipment manufacturers (OEMs) outside the Psion Group. While EPOC was suitable for a wide range of applications, the sales group decided that its sweet spot was the mobile phone market. Its design supported the flexibility that would allow EPOC to be licensed to the many telecommunications OEMs who could then build innovative products based on it.
Psions timing was good. In the mid-1990s, the mobile phone revolution was in full swing. Well-positioned in the harmonized GSM (global system for mobile communications) markets of Europe, Psion was also able to watch market development in the USA and Japan. It was clear that mobile communications and computing markets were converging, just as they had with the fixed Internet.
Parallels
Even as Psion began building EPOC, Nokia, market leader in the mobile handset market, introduced the Nokia 9000 Communicator in late 1996. The Communicator used the GEOS operating system from Geoworks Inc. Here was proof of concept: a combined GSM phone and personal data assistant (PDA), and an unexpected opportunity for Psion. Nokia had used GEOS to spare it the effort of writing all the PDA software, but GEOS, like SIBO, was limited by a 16-bit architecture. EPOC was the logical next step.
By early 1998, as Psion Software's sales group made steady progress licensing EPOC to the phone handset manufacturers, a new idea emerged. If Psion Software was an independent company, outside of the Psion Group, and owned by the mobile handset manufacturers, then the latter would own a strong technology asset that would enable them to boost the entire market for wireless information devices.
On June 24, 1998, the new company, Symbian Ltd, was announced to the world. Colly Myers, who had helped develop EPOC, was announced as Chief Executive Officer. Symbians owners would be Psion, Nokia and Ericsson. Motorola announced its intention to join the alliance, and did so formally from October 1998. Japan's Matsushita, better known as Panasonic, joined in May 1999.
Symbian, owned by the worlds leading telecommunications manufacturers, is now a global company with offices in London and Cambridge in the UK, Silicon Valley in the USA, Ronneby in Sweden, and Tokyo in Japan. There are now more than 700 employees worldwide.
EPOC Release 5 was formally launched in June 1999. It was a single reference design for devices based on a 640 x 240 pixel screen, pen and keyboard, although it was adapted for a VGA screen in Psion's netBook.
The advanced client
Psions success licensing EPOC was because of the OSs inherent suitability for the wireless environment. The most effective wireless operating system will make the least use of wireless infrastructure. Wireless networks will not provide blanket next-generation (2.5G/3G) coverage in the near future, nor will they offer the reliability of wireline ones. As a result, mobile devices must negotiate different amounts of bandwidth and may even lose connection altogether, which means switching between modes while using a service.
A WID will need to switch not only between 2.5G and 3G in packet-switched mode, but might occasionally need to negotiate legacy circuit-switched 2G networks, which require dial-up. WDP protocols such as SMS would allow continuous service, whatever the network or bandwidth. Figure 1 illustrates that bandwidth cannot be guaranteed in the air as it is terrestrially, so that wireless applications must cope with variations in bandwidth, as well as possible delays in data delivery. This may mean that an application must preserve data where appropriate and send or receive it when network coverage is restored.
The advanced client will retain its rich functionality when there is no coverage by processing its information locally. This approach maximizes the value of airtime used by the network subscriber and allows efficient management of limited battery life. These key attributes were what mobile manufacturers were looking for: power-efficiency; the ability to operate when wireless connections are lost; and that benchmark of the telecoms industry, the "five nines", 99.999% efficiency. The last point is a significant advantage of the Symbian OS WIDs must be "always-on", which means they must almost never crash, never lose their data, and be able to handle a variety of service requirements as and when required. This is the kind of robustness embodied by Symbians advanced client. Symbian has also adopted three key technologies that reflect industry-wide ..