Download PDF Programming for the Series 60 Platform and Symbian OS by DIGIA Inc.






Sinopsis

The market drive towards advanced mobile services such as multimedia messaging and wireless access to the Internet sets high requirements for the terminals and networks. New devices (and networks) must be able to handle still and moving images, music, allow access to the Internet for messaging and browsing, and provide a diverse set of applications in addition to operating as a mobile phone.
 
As 2.5G and 3G networks emerge, the focus is turned to the terminal – what kind of capabilities are required by these new services and how can they be fulfilled? This book presents one significant platform for smartphones – devices that are designed to meet the increasing requirements of the new services – Series 60. It is a platform made by Nokia on Symbian OS (Operating System), which in turn is an operating system designed for mobile devices.
 
Owing to these requirements of the new services, the task of making the software for wireless devices is becoming increasingly complex. As new protocols, communication interfaces, services, and applications are integrated, the required R&D effort grows rapidly. This increases the development cost significantly and sets high demands on interoperability testing. Symbian was formed in 1998 by Ericsson, Motorola, Nokia, and Psion to provide a common standard and to enable the mass marketing of a new era of wireless devices. Matsushita (better known by its brand name, Panasonic) joined Symbian in 1999, in January 2002 the Sony Ericsson joint venture took a share of Symbian, and, in April 2002, Siemens also joined Symbian as a shareholder (www.symbian.com).
 
The cost of the hardware components (i.e. bill of materials) used for making a mobile phone is one of the most important factors in making competitive devices, but the cost of developing and maintaining the increasing number of features of the software also becomes more significant as the world evolves towards wireless multimedia. When the mobile phone shipping volumes are low, the price of the hardware components, especially the most expensive ones, such as the color display, is high.When components are made in high volumes, the price of a single component is reduced. New requirements are set for the operating system by the need to open the devices for developing thirdparty applications in order to have a more diverse set of applications to attract more users and to increase volumes.
 
A typical smartphone is attractive for users looking for more features compared with the basic mobile phone. Also, for those seeking better personalization, a smartphone is likely to be a natural choice. A smartphone is, as its name states, a phone, but with capabilities such as color screen, advanced messaging, calendar, browser, e-mail, synchronization with other devices, and, installation of applications.
 
From the device manufacturer perspective, it is vital that the software is stable and reliable – especially if it is possible for the user to install new applications. A serious software or hardware defect may force a manufacturer to call back all the mobile devices. The costs of such an operation are very significant even when compared with development costs. From the software point of view, the right selection of software platform will reduce the risk of failure.
 
Series 60 Platform is particularly appealing for the terminal manufacturers, as it allows Symbian OS with multimedia capabilities to be used in devices that are only slightly more expensive than the devices equipped with a proprietary operating system. Series 60 Platform provides the benefit of open interfaces, efficient power management, and advanced multimedia capabilities. From the application developer perspective, Series 60 is also very interesting, as the compact size and reasonable price of the devices leads to large market penetration, thus making the application development worthwhile as well.
 
This book is written by the software professionals of Digia – a company that has been heavily involved with Symbian OS and Series 60 Platform and application development since early 1999. During that time, knowledge of the platform has been accumulated in demanding, time-critical projects and in developing products for Symbian OS. 

This book is a handbook of software development for the Series 60 Platform, written by software professionals for software professionals – and for individuals who want to become experts on Series 60
software development. The approach of this book is to build on top of the previous publications on Symbian OS and to provide a guide for the art of developing software for the Series 60 Platform. The intended audience is anyone interested in learning more about Symbian OS and the Series 60 Platform. It is specially beneficial for software developers who can use the code examples for illustrating the key aspects of Series 60 software development.



Content


  1. Introduction to the Series 60 Platform
  2. Software Engineering on the Series 60 Platform
  3. Overview of the Series 60 Platform
  4. Design Patterns for Application Development
  5. Software Development on the Series 60 Platform
  6. Platform Architecture
  7. User-centered Design for Series 60 Applications
  8. Testing Software
  9. Graphics, Audio, and User Interfaces
  10. Application Framework
  11. Standard Panes and Application Windows
  12. Lists and List Types
  13. Other User Interface Components
  14. View Architecture
  15.  Audio
  16. Customizing the Series 60 Platform
  17. Communications and Networking
  18. Communications Architecture
  19. Communications Application Programming Interface
  20. Messaging
  21. Connectivity
  22. Programming in Java
  23. Programming in Java for Smartphones
  24. Midlet User Interface Framework




Download PDF Symbian OS Explained Effective C++ Programming for Smartphones by Jo Stichbury


Sinopsis
 
It’s with you all the time, ready to send and receive phone calls or messages, play alarms to wake you, connect to the phone network or other devices, organize your personal information or play games. Whatever you want to do, you want access to your phone to be instant. It should be ready without the long boot-up you expect from a PC. It should react to user input from the moment you pick it up. And it should be reliable. As a mobile phone owner, how many of your contacts’ phone numbers do you know? Your phone keeps your personal data for you and it’s essential that it doesn’t lose it.
 
Let’s examine the consequences of these features on the design of a mobile operating system, such as Symbian OS. The phone may be small and light, but, as users, we still demand it to have a reasonable battery life. This places huge importance on efficient power management. The operating system cannot drain  the battery and must allow the processorto power parts of the system down where possible, although it cannot ever power off completely because it must handle incoming calls and messages, and signal alarms.
 
The user expects the phone to be responsive, not sluggish to respond to each key press; the operating system and hardware must carefully balance demands for good performance speed with the consumption requirements of power-hungry processors. Costs are also important: they limit the processor and amount of memory in a mobile device. The operating system must be efficient, to make best use of the limited
processor and memory resources available, whilst using the least power.
 
Besides being efficient, the operating system must be robust when the limited resources are exhausted. It must be engineered to cope with low memory conditions, loss of power or when a communications link is unavailable. Memory management is key. The operating system must track precious system resources accurately and free them when they are not required. It’s not acceptable for memory to slowly leak away, resulting in disintegration in performance and usability until the user is forced to reboot. The operating system should make it easy for software engineers to write code that runs without memory leaks and can handle out-of-memory conditions when they occur.
 
The mobile phone market is a mass market, with many millions of units shipped. It’s difficult, if not impossible, to recall them or require the user to upgrade through service packs. So when a phone is shipped, it’s shipped. It must not have any serious defects. Not only must the platform on which a phone is based be well-engineered, it must also provide the means for developers to build, debug and test robust code.
 
 
Content
 
  1. Class Name Conventions on Symbian OS
  2. Leaves: Symbian OS Exceptions
  3. The Cleanup Stack
  4. Two-Phase Construction
  5. Descriptors: Symbian OS Strings
  6. Good Descriptor Style
  7. Dynamic Arrays and Buffers
  8. Event-Driven Multitasking Using Active Objects
  9. Active Objects under the Hood
  10. Symbian OS Threads and Processes
  11. The Client–Server Framework in Theory
  12. The Client–Server Framework in Practice
  13. Binary Types
  14. ECOM
  15. Panics
  16. Bug Detection Using Assertions
  17. Debug Macros and Test Classes
  18. Compatibility
  19. Thin Templates
  20. Expose a Comprehensive and Comprehensible API
  21. Good Code Style