Home > Articles

This chapter is from the book

Nokia Developer Platform Architecture

Standardized and open technologies enable developers to develop and optimize portable applications across different devices using the same APIs and tools. However, mobile devices are often used in specific application areas with very different requirements. Not all technologies are available on all devices. As a result, a monolithic Developer Platform does not work. Nokia divides its developer platform into several series, each targeting a specific device market segment. Hence, the Developer Platforms are not just about enabler technologies. They are about devices and user experiences as well.

Currently, Nokia supports four Developer Platforms. The devices covered under each platform are the following.

  • Series 40 Developer Platform includes mass-market phones with LCD screens and multimedia capabilities. It is the biggest platform in terms of both revenue and number of users.
  • Series 60 Developer Platform includes smart phones and mobile game decks based on Symbian OS v6, v7, and beyond.
  • Series 80 Developer Platform includes high-end enterprise devices based on Symbian OS v7 and beyond, with a full stack of enterprise communication software.
  • Series 90 Developer Platform includes high-end mobile media devices with advanced multimedia (audio and video) features. Those devices are based on Symbian OS v7 and beyond.

Developer Platforms are not static. They have to evolve to keep up with innovations in device technologies. The Series 40 and 60 Developer Platforms 1.0 mainly apply to devices released before 2004; the Developer Platforms 2.0 apply to most devices that came out in and after 2004.

In this book, we focus on the Series 40 Developer Platform 2.0 and cover important aspects of the Series 60, 80, and 90 Developer Platforms. This approach encourages Series 40 developers to design applications compatible with higher series devices and provides a path for Series 40 developers to extend their skills. Now, let's look at the technical specifications of those platforms.

Series 40 Developer Platform

The Series 40 Developer Platform targets mass-market consumer devices with hundreds of millions of users. Series 40 devices are very important to developers due to their large market penetration. On the other hand, they also present the biggest challenge to developers due to their limited size and resource constraints. In this section, we first look at the enabler technologies that make up this platform. Then we check out the device characteristics and user interfaces of the current Series 40 devices.

Software Stack

The basic technology stack on a Series 40 device is illustrated in Figure 2-2. At the bottom, there are device hardware and Nokia's proprietary operating system (Nokia OS). The Nokia OS is closed to developers outside of Nokia. On top of the Nokia OS, all Series 40 devices support a common set of native client applications:

  • Telephony applications such as speed dialing, call logs, and mobile messaging clients.
  • Personal information management (PIM) applications, including calendar, to-do lists, and phonebook.
  • Synchronization applications that synchronize the PIM database with desktop PCs via the Nokia PC suite.
  • Application installation and management utilities, including over-the-air (OTA) download, wallpaper, and ringtone managers.
02fig02.gif

Figure 2-2 Software stack on Series 40 devices.

The common native applications are not customizable by third-party developers and hence not as interesting to the readers of this book. For developers, the key value proposition of the Nokia Developer Platforms is the support for technologies that enable third-party applications on the device. The Series 40 Developer Platform supports the following enabler technologies and APIs: the J2ME MIDP and its optional packages, WML, XHTML Mobile Profile, MMS, OMA DRM (forward lock), and OMA client provisioning technologies. The common native applications and the open API implementations constitute the base software in the Series 40 Developer Platform.

Nokia and wireless operators can also differentiate device offerings by installing "lead software," which are device-specific technologies or native applications. For example, the Nokia 6800 messaging phone for GSM networks extends Series 40 Developer Platform 1.0 with a very capable native email client; the Nokia 6255 imaging phone for Code Division Multiple Access (CDMA) networks extends Series 40 Developer Platform 2.0 with JSR-184 (Mobile 3D API).

Device Characteristics

A typical Nokia Series 40 device features a 128 by 128 LCD display with 4,096 colors. Some devices have 96 by 65 or 128 by 160 LCD screens and other color depths. It typically displays five lines of text plus headers. The keypad has the traditional alphanumeric keys, a four-way scroll key, the Send/End keys, and two or three generic soft keys. The device displays images in common file formats, receives AM/FM radio station signals, records voice messages, and plays Musical Instrument Digital Interface (MIDI) polysynthetic ringtones. Series 40 devices have multiple connectivity protocol support built into their hardware and OS.

  • Series 40 devices support 2G and 2.5G wireless networks compatible with mobile operators throughout the world. Some work over GSM and GRPS, while others support CDMA networks.
  • Some Series 40 devices support EDGE networks and 3G UMTS networks for fast wireless data transfer.
  • All Series 40 devices support one or several of the following local network connectivity protocols: Bluetooth, USB, or Infrared Data Association (IrDA).

Device extensions such as cameras, full alphabetic keyboards, and MP3 players are available on selected Series 40 device models that target specific market segments. Figure 2-3 also shows the Nokia 7210 and 6230 devices, which are the first devices for the Series 40 Developer Platforms 1.0 and 2.0 respectively. The Nokia 6230 device supports a VGA camera, MP3 playback, and add-on MultiMedia Card (MMC) memory cards. The figure also shows a Nokia 6800 messaging phone (full keyboard) and a Nokia 3300 music phone (deck key layout and MP3 support).

02fig03.jpg

Figure 2-3 Important Series 40 Developer Platform devices.

User Interface

The user interface on Series 40 devices is based on view-switch screens. It is designed specifically for one-hand operations.

  1. An idle Series 40 device displays its home screen. After the user presses the Menu soft key, the device shows its top-level menu, which consists of a series of screens, each representing a different native application (e.g., the Web browser or messaging client) or content folder. The content folder could contain media files (i.e., pictures in the Gallery folder) or installed applications (i.e., Java MIDlets in the Applications folder). The user can navigate through the top-level menu items using the arrow navigation keys. The menu content and presentation of each menu item screen are determined by Nokia and the wireless operator. Developers cannot change them from J2ME applications.
  2. When we select a top-level menu item by pressing the Select key, the next screen is a list menu. Each menu item takes up one line. For a native application, the list menu consists of available actions. For a content folder, the list menu shows content files, installed applications, or subfolders.
  3. A Series 40 application typically consists of multiple screens. Application and navigation actions are assigned to each screen for the users to select. These actions are typically mapped to the soft keys. If there are more than two options, the left soft key becomes an Options key, which opens a full-screen selection list when pressed.

The above menu hierarchy is illustrated in Figure 2-4. Figure 2-5 shows the use of the Options soft key. The user interface on Series 40 devices is very screen-centric. Attempt to interact with individual UI elements (e.g., menu, selection list, options, or editable text box) often brings up a separate screen (see Figure 2-6 for examples). In Chapter 4, "MIDP User Interface," we cover how to program the UI elements shown in Figure 2-6. This UI design is a proven success on small phone screens. Hundreds of millions of existing Nokia users are already familiar with it.

02fig04.gif

Figure 2-4 The UI menu for devices in the Series 40 Developer Platform.

02fig05.gif

Figure 2-5 The use of the Options soft key in Series 40 devices.

02fig06.gif

Figure 2-6 Interact with individual elements on a Series 40 device.

Series 60 Developer Platform

The Series 60 Developer Platform targets the world's best-selling smart phones produced by seven (as of April 2004) different vendors, including Nokia. More than 10 million Series 60 smart phones will be sold in 2004. There are a lot of overlaps between the Series 40 and 60 Developer Platforms. In this section, we focus on the enhancements brought by the Series 60 devices.

All Series 40 core native applications and most lead software are available on Series 60 devices. A significant difference between the Series 40 and 60 Developer Platforms is that Series 60 devices are based on Symbian OS instead of the proprietary Nokia OS. Developers can access the OS functionalities directly using Symbian C++ language and APIs. Users can install Symbian C++ applications into the device via OTA downloading or via a flash memory card. For example, most commercial games for the N-Gage game deck are written in Symbian C++. We give a brief introduction to Symbian OS later in this chapter. Figure 2-7 shows the software stack on Series 60 devices.

02fig07.gif

Figure 2-7 Software stack on Series 60 devices.

A Nokia Series 60 device typically has a 176 by 208 LCD screen capable of displaying 65,536 (16-bit) colors. More devices with other UI configurations will come in the future. Compared with a standard Series 40 keypad, a Series 60 keypad has several additional keys, including an Application key, a Clear key, and an Edit key. A Series 60 device plays the Audio/Modem Riser (AMR) voice tones as well as other Series 40 audio formats. We can expand the data storage space of Series 60 devices using add-on flash cards. As a result, Series 60 devices can support large downloadable applications up to 4MB. The Nokia 3650 and 6600 smart phones are the first devices for the Series 60 Developer Platforms 1.0 and 2.0, respectively. A particularly interesting Series 60 device is the Nokia N-Gage mobile game deck. It is optimized for connected mobile games. Figure 2-8 shows the important Series 60 devices.

02fig08.gif

Figure 2-8 Important Series 60 Developer Platform devices.

Compared with the typical user interface on a Series 40 device, a Series 60 device looks more like a minicomputer or PDA. The top-level menu and submenus can be displayed in a grid of icons or in a selection list. It supports popups (e.g., menus, option lists, and alerts) and directly editable widgets.

Series 80 Developer Platform

The Series 80 Developer Platform is based on Symbian OS v7 and above. It is designed to support business productivity applications. A significant Series 80 addition to the Developer Platform base software is the support for J2ME Personal Profile. The J2ME Personal Profile is a more powerful Java environment than the MIDP, which is also supported on Series 80. The Personal Profile allows us to run enterprise mobile middleware, including many from IBM, on Series 80 devices. J2ME Personal Profile is not covered in this book. Series 40 and 60 MIDP, WAP, and MMS applications should work well on Series 80 devices. The Series 80 Developer Platform includes an array of enterprise-oriented lead software, including email client, messaging client, and VPN software.

The Series 80 Developer Platform was introduced in February 2004 with the Nokia 9500 Communicator device. It is a platform for enterprise devices. The Nokia 9500 Communicator features two user interfaces. An external 128 by 128 LCD screen and alphanumeric keypad are very similar to the UI design on Series 40 devices. But when opened, the device reveals a 640 by 200 large LCD screen and a full alphabetic keyboard. There are four soft keys along with the large LCD (see Figure 2-9). The Nokia Communicator 9500 user interface is clearly designed for two-hand operations. More UI designs will be available for Series 80 devices in the future.

02fig09.gif

Figure 2-9 The Nokia Communicator 9500 is the first Series 80 Developer Platform device.

Series 90 Developer Platform

The Series 90 and 80 Developer Platforms are similar. The Series 90 is based on Symbian OS v7.0 and is primarily designed to support multimedia applications. For MIDP, WAP, and MMS applications, the multimedia enhancements and pen-based input methods are transparently available to developers. But for Symbian C++ developers, the Series 90 exposes more APIs to manipulate multimedia contents and UI events. Most Series 40 and 60 applications should run correctly on Series 90 devices with little or no change.

The Series 90 Developer Platform was introduced in late 2003. A typical Series 90 device features a 320 by 240 color display with 16-bit colors. It supports many audio and video playback formats and could allow users to watch TV programs or movies on the device. Series 90 devices feature a major UI upgrade from the Series 60: they support pen-based input methods (see Figure 2-10).

02fig10.gif

Figure 2-10 An example Series 90 Developer Platform device with pen-based user interface.

Other Nokia Device Series

In addition to Developer Platform devices, Nokia makes other devices. These devices are either legacy devices being phased out or devices that do not offer a significant opportunity for third-party developers. These are not the focus of this book.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020