Introducing Nokia Developer Platforms
The Nokia Developer Platforms allow developers to write scalable applications across a range of Nokia devices.
The mobile handset industry has seen fast-paced innovation in the last several years. Nokia alone has been announcing more than a dozen new devices every year. That is great news for consumers, since Nokia offers choices. But for mobile application developers, it is tough to make sure that applications work correctly on all handsets. The Nokia Developer Platforms aim to solve this problem by standardizing developer APIs among Nokia phones. Each Developer Platform supports a standard set of technologies on a series of Nokia devices. In 2004, more than 100 million Developer Platform devices will be sold worldwide.
Key technologies supported on Nokia Developer Platforms are open industry standards. In particular, Java technology plays a crucial role. Client-side and server-side Java technologies can be used to develop applications for all Developer Platform devices. That helps 3 million existing Java developers to enter this exciting new market. In this chapter, we discuss the big pictures and architectures behind the Nokia Developer Platforms as well as the technical specifications of the most popular Series 40 and 60 Developer Platforms. From a Java developer's perspective, we cover the four technology pillars on the Series 40 and 60 Developer Platforms: Wireless Markup Language (WML), and Extensible Hypertext Markup Language (XHTML) browsers, Multimedia Message Services (MMS), Java 2 Micro Edition (J2ME), and Symbian C++. Strengths and weakness of each technology are addressed. Key topics in this chapter include
- Open Standard Mobile Technologies: explains the synergy between open standards and mobile technologies.
- Nokia Developer Platform Architecture: covers the basic architecture, device characteristics, and supported technologies on each Nokia Developer Platform.
- Pervasive Client Technologies: discusses the thin-client application paradigm using browser and MMS technologies. They are available on all Nokia Developer Platforms.
- Managed Smart-Client Technology: introduces Java technology for smart-client development on Series 40, 60, 80, and 90 devices.
- Tightly Integrated Smart-Client Technology: introduces the Symbian C++ technology for native smart-client applications on Series 60, 80 and 90 devices.
- Get Connected: gives a brief overview of services from Forum Nokia that help developers, operators, and business leaders to take advantage of the Nokia Developer Platforms.
In this chapter, we cover the technologies from a bird's-eye view. Development tools, API tutorials, design patterns, and best practices are covered in later chapters. In a sense, the rest of this book is to elaborate the concepts discussed in this chapter and put them into practical terms through real-world code examples.
Open Standard Mobile Technologies
Mobile commerce and mobile entertainment present users and developers with tremendous opportunities. But in order to realize those promises, the enabling technologies must keep up with the customer demands. We need continued innovations in both device hardware and software. The successes of the PC and the Internet industries have taught us that standardization and open platforms are the keys to sustainable innovations. In the mobile space, open standards are crucial to both device manufacturers and software developers.
- For developers, standards-based technologies lower the barrier of entry for development and reduce the time and effort required to learn new proprietary APIs and tools. Developers can easily optimize standard-technology-based applications for several different devices.
- For device manufacturers, standards-based technologies allow them to reach out to developer communities. A large portfolio of innovative third-party applications is crucial to the market success of any new device.
However, traditionally, mobile device manufacturers have been slow to embrace open standards. Closed platforms are often considered more secure and more efficient for small consumer devices. Proprietary solutions are developed to take advantage of special hardware optimizations. But that practice has hindered the independent developer's ability to write applications for these smart devices. As the computing power of mobile devices increases exponentially according to Moore's law, a smart phone today can easily have more processing power and memory than a 10-year-old desktop PC. The need for innovative software outweighs the benefits of proprietary optimizations. Today, all major mobile device manufacturers have their own open standards strategies. Nokia is leading the way with the Nokia Developer Platforms.
The Nokia Developer Platforms allow developers to write applications for almost all Nokia devices using open standard technologies. Such platform-enabling technologies include the following.
- Java 2 Micro Edition (J2ME) is a smart-client platform developed by the Java Community Process (JCP), which includes Nokia and all other major wireless handset vendors. J2ME specifications define the programming language, the virtual machine, and programming APIs. It is available on all Nokia Developer Platform devices.
- WML and XHTML are markup languages for authoring Web pages. They are standardized by the World Wide Web Consortium (W3C). Dynamic Web pages can be served by Java-enabled application servers via the HTTP network. All Nokia Developer Platform phones have WML or XHTML browsers.
- MMS is the standard way to deliver multimedia content asynchronously to mobile devices. The Third-Generation Partnership Project (3GPP) defines an open XML/SOAP API (MM7) to access MMS service-center servers in wireless carrier networks. We can use Java Web services toolkits to send and receive MMS messages to handsets from the desktop or server computers. All Nokia Developer Platforms support sending and receiving MMS messages.
- Digital Rights Management (DRM) enables content publishers to provision copyrighted material with special metadata that prevents the receiving device from copying and forwarding it to third parties. The content is typically downloaded from the HTTP network or via MMS. Nokia's DRM solutions are based on the Open Mobile Alliance (OMA) standard.
- The OMA Client Provisioning solution enables developers and wireless operators to send device configuration settings to supported Nokia Developer Platform phones over the air.
- Symbian OS is an open standard mobile operating system developed by a group of leading mobile handset manufacturers, each owning a stake in Symbian. It is the operating system for all Nokia high-end smart phones and enterprise and mobile media devices. The Symbian C++ native programming API can be used to develop applications for Symbian devices.
The audience of this book is primarily Java developers who are interested in developing end-to-end applications for Nokia devices. Throughout the book, we cover, in detail, the use of both client-side and server-side Java technologies to develop smart-client or server-driven mobile applications. In this chapter, we introduce Nokia Developer Platforms from a Java developer's perspective (Figure 2-1).
Figure 2-1 Nokia Developer Platform technologies from a Java developer's point of view.