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
 
 

Download PDF WAP, Bluetooth, and 3G Programming Cracking the Code by Dreamtech Software Team


Sinopsis


For people on the move, voice communication has been the killer application for many years. The demand for data services by mobile users has increased in recent years, and as a result, new protocols have emerged for providing wireless Internet access. The demand for multimedia services is now paving the way for high-speed, wireless networks that can support innovative applications combining data, graphics, voice, and video. In this chapter, we review the evolution of wireless networks and the applications supported by these networks. We also look at the new languages and tools used to develop content for various applications. Because of industry efforts to support multimedia services, mobile devices are evolving into powerful gadgets. This chapter also contains a brief overview of these developments.

The cellular networks developed in the 1960s and 1970s were mostly analog systems that supported voice communication. Subsequently, digital mobile communication networks, which are known as the second generation (2G) wireless networks, came into vogue. The 2G networks aren’t based on international standards, but on regional standards developed in North America and Europe. North American standards include IS 136 and IS 95A (IS stands for Interim Standard), and the European systems are based on GSM (Global System for Mobile Communications). Asian and African countries adapted the North American and European standards. These 2G networks support data rates up to a maximum of 14.4 Kbps. Hence, applications supported on these networks are capable of handling only text and low-resolution graphics.

The 2G networks are now evolving into 2.5G networks, which can support data rates in the range of 64 to 144 Kbps. Examples of 2.5G networks are the IS 95B standard-based networks that evolved from IS95A networks and the GPRS (General Packet Radio Service) networks built over the GSM networks. These networks can support high-speed data services such as high-resolution graphics and animation, audio, and low bit rate video services.
 
The 2.5G networks will, in turn, evolve into third generation (3G) networks, which will support data rates in the range of 384 to 2048 Kbps. The standardization efforts of many international bodies resulted in a few proposals for 3G networks; however, a single standard has not evolved, mainly because the 3G networks have to evolve from the existing networks. Two standards that are likely to find wide acceptance are W-CDMA (Wideband Code Division Multiple Access) systems, which evolve from GSM systems; and cdma2000 systems, which evolve from IS 95B systems. As these networks support higher data rates, they will be able to support full-fledged multimedia applications with streaming audio and video.


Content


  1. WAP, Bluetooth, and 3G: A Brief Introduction
  2. WML and WML Script Programming: A Case Study
  3. WAP Using Cold Fusion: A Project
  4. WTA: An Advanced Interaction Technique for Mobile Phones
  5. Integrating Java with WAP
  6. Push Technology in WAP
  7. Bluetooth: A Basic Introduction
  8. Using WAP with Bluetooth
  9. Bluetooth Programming
  10. An Overview of 3G
  11. Advanced 3G Programming
  12. 3G Programming Using BREW
  13. Voice and Video Communication over IP and Mobile IP Networks
  14. The Future of Wireless Networks


Download Bluetooth Demystified by Nathan J. Muller

Download PDF Bluetooth Low Energy The Developer’s Handbook by Robin Heydon



Sinopsis


Bluetooth low energy is a brand new technology that has been designed as both a complementary technology to classic Bluetooth as well as the lowest possible power wireless technology that can be designed and built. Although it uses the Bluetooth brand and borrows a lot of technology from its parent, Bluetooth low energy should be considered a different technology, addressing different design goals and different market segments.
Classic Bluetooth was designed to unite the separate worlds of computing and communications, linking cell phones to laptops. However its killer application has proved to be as an audio link from the cell phone to a headset placed on or around the ear. As the technology matured, more and more use cases were added, including stereo music streaming, phone book downloads from the phone to your car, wireless printing, and file transfer. Each of these new use cases required more bandwidth, and therefore, faster and faster radios have been constantly added to the Bluetooth ecosystem over time. Bluetooth started with Basic Rate (BR) with a maximum Physical Layer data rate of 1 megabit per second (Mbps). Enhanced Data Rate (EDR) was added in version 2.0 of Bluetooth to increase the Physical Layer data rates to 3Mbps; an Alternate MAC PHY (AMP) was added in version 3.0 of Bluetooth that used IEEE 802.11 to deliver Physical Layer data rates of up to hundreds of megabits per second.


Content

  1. What Is Bluetooth Low Energy?
  2. Basic Concepts
  3. Architecture
  4. New Usage Models
  5. Controller
  6. The Physical Layer
  7. Direct Test Mode
  8. The Link Layer
  9. The Host/Controller Interface
  10. Host
  11. Logical Link Control and Adaptation Protocol
  12. Attributes
  13. Security
  14. The Generic Access Profile
  15. Application
  16. Central
  17. Peripherals
  18. Testing and Qualification



Designing Apps for Success Developing Consistent App Design Practices by Matthew David and Chris Murman


Sinopsis

Mobility is no longer a fad. The reach of mobile technology is greater than that of any other technology. This was seen clearly when the popular mobile game Temple Run 2 was released: it hit 6 million downloads in 24 hours.

It is often said that Apple launched the new mobile ecosystem with the launch of the iPhone. It didn’t. It was the launch of the iTunes App Store that changed the world. Apple introduced a way to download an app with one click and have it running on your smartphone. Apple made installing software as easy as buying a song or changing the channel on your TV. The concept changed how people installed software. So far, Apple has seen more than 50 billion apps downloaded.

As was expected, competitors quickly came to market with their own smartphone products. The leader is now Google, with its Android operating system. Today, close to 80 percent of all smartphones sold worldwide run Android. That is an impressive number. What is more impressive is that Google has now activated more than 1 billion Android devices. To put that in context, the number of Android phone being activated by Google is now three times the number of personal computers sold. If you now include the number of devices running Apple’s mobile operating system (iOS), you have 1.6 billion devices; that is more than the total number of computers being used worldwide.

The launch of the smartphone is only phase one of the mobile revolution. Phase two came with the launch of the iPad, in 2010. Tablets immediately caught on in businesses. The price of iPads, however, kept them out of the hands of most consumers. This changed when fi rst Amazon with the Kindle Fire and then Google with the Nexus 7 released seven-inch tablets selling for less than $200. Today, you can buy a tablet for as low as $159.

Mobility continues to evolve. Wearable devices, such as the Samsung Gear smartwatch and Google’s Glass, clearly show that smart devices can become fashion accessories. The auto industry is also engaging with mobile devices. Smart vehicles, such as GM’s OnStar system, now come loaded with apps that run from the in-car console.

Content

  1. Putting Apps to Work
  2. Designing Your App
  3. Defining Your App Creation Team
  4. Creating Apps with Adobe PhoneGap
  5. Leveraging ActionScript to Build Native Apps
  6. Developing Apps with Zero-Code Tools
  7. Challenges and Successes of Native iOS Development
  8. Developing for Android
  9. The Dark Horse—Windows 8
  10. Publishing to App Stores
  11. Making Money from Apps
  12. Promoting Your Apps
  13. Future-Proofi ng Your Apps—It’s Going to Be a Bumpy Ride



Download PDF Microsoft® Official Academic Course : Mobile Development Fundamentals, Exam 98-373


Sinopsis

A mobile app is a software program designed to run on a mobile device, like a Windows Phone. To create apps for Windows Phone, you use one of two development platforms: Microsoft Silverlight for Windows Phone or the XNA framework. The mobile device scene has exploded in the last few years, with thousands of applications (apps) available to run on a variety of mobile devices like smartphones. A mobile app is simply a small software program designed to run on a mobile device, and many mobile apps are actually Web-based programs that help you connect to the Internet and interact with a Web site. Apps generally come with crisp, clean user interfaces (UIs) that are fun, easy to use, and functional. Anyone who has purchased a smartphone knows there are many choices, from Windows Phones to iPhones to Android devices and more. This book is an introduction to Windows Phones and will help you prepare for the Microsoft Technology Associate (MTA) 98-373 certification exam.

Content
  1. Understanding Mobile Devices, Interactions, and Tools Windows Phone
  2. Working in a Mobile App Development Environment
  3. Exploring Networked Data and Data Stores
  4. Exploring Mobile Device Networking
  5. Understanding Silverlight and Mobile Code
  6. Understanding Mobile App Development Concepts and Working with APIs
  7. Using Mobile Device Controls and Creating User Interfaces Testing, Debugging, and Deploying a Mobile App



Download PDF Professional Android ™ Application Development by Reto Meier


Sinopsis

Now is an exciting time for mobile developers. Mobile phones have never been more popular, and powerful
smartphones are now a regular choice for consumers. Stylish and versatile phones packing hardware
features like GPS, accelerometers, and touch screens are an enticing platform upon which to create
innovative mobile applications.

Android hardware will be designed to tempt consumers, but the real win is for developers. With existing mobile development built on proprietary operating systems that restrict third-party applications, Android offers an open and equal alternative. Without artifi cial barriers, Android developers are free to write applications that take full advantage of increasingly powerful mobile hardware. As a result, developer interest in Android devices has made their 2008 release a hugely anticipated mobile technology event.

Built on an open source framework, and featuring powerful SDK libraries and an open philosophy, Android has opened mobile phone development to thousands of developers who haven’t had access to tools for building mobile applications. Experienced mobile developers can now expand into the Android platform, leveraging the unique features to enhance existing products or create innovative new ones. 

This book is a hands-on guide to building mobile applications using version 1.0 of the Android software development kit. Chapter by chapter, it takes you through a series of sample projects, each introducing new features and techniques to get the most out of Android. It covers all the basic functionality as well as exploring the advanced features through concise and useful examples.

Since Android is a brand-new, version 1 product, there are only a small number of handsets currently available that support it. As with any early release, there are likely to be regular changes and improvements to the software and development libraries. The explanations and examples included in this book will give the grounding and knowledge you need to write compelling mobile applications using the current SDK, along with the fl exibility to quickly adapt to future enhancements.

Content
  1. Hello, Android
  2. Getting Started
  3. Creating Applications and Activities
  4. Creating User Interfaces
  5. Intents, Broadcast Receivers, Adapters, and the Internet
  6. Data Storage, Retrieval, and Sharing
  7. Maps, Geocoding, and Location-Based Services
  8. Working in the Background
  9. Peer-to-Peer Communication
  10. Accessing Android Hardware
  11. A dvanced Android Development



Download Security of Mobile Communications by Noureddine Boudriga


Sinopsis

Mobile communications offer wireless connectivity that enables mobility and computing
in diverse communication environments. The large demands from social
markets are driving the growing development of mobile communications more
rapidly than ever before. Consequently, a large set of new advanced techniques has
emerged, brought about by a larger bandwidth, more powerful processing capability,
and advances in computing technology. Many new services are provided or will
be provided to potential users, and delivered with high-level quality by usage of
GSM, 3G networks, and wireless local area networks in public, home, and corporate
scenarios.

The exceptional growth in mobile and wireless communications gives rise to serious problems of security at the level of the customer, network operator, and service provider. The causes of such rise, typically due to the fragility of the wireless link nature, the mobility features, and the variety of the provided services, can be
classified into the following six categories:

1. The physical weaknesses and limitations of mobile communications: The entirely exposed environment of the wireless radio links and devices provides more opportunities of being subject to malicious attacks. A high error rate and unpredictable error behavior due to external interference, interoperation, and mobility can influence the characteristics of the system security.

2. The architecture limitations: Mobile communication protocols are built to provide large-scale communication and high bandwidth. However, due to the scarcity of the frequency spectrum, these protocols are confined to use limited resources. In addition, due to the nature of the security problems, these protocols are not able to handle large protection mechanisms without interacting with each other. The interaction can provide suitable points of access to hackers.

3. The complexity of services: Applications are becoming more complex than ever. They are more distributed, involve large sets of users, and use transactions and/or interactions that are structurally more complex. Mobile applications and services in areas such as military, health care, and business are xxvi  Preface requiring communication continuity, distributed information collection, and high QoS requirements. All these requirements may be affected by viruses and other security attacks.

4. The user requirements: Services such as location-awareness services and context-based applications may bring mobile terminals easily in contact with possible threats of intruding privacy. Transactions, such as mobile payments, require strong security mechanisms that are able to provide authentication, authorization, and accounting.

5. The content of provided services: Most services, such as multimedia-based applications, are valuable not only to mobile subscribers but also to network operators and providers. Therefore, secure protective measures are needed at access control, content browsing, and delivery. Obviously, the simple migration of securing methods from wired communications to mobile environments
cannot satisfy the security requirements of anyone, besides hackers.

6. The evolution of hacking techniques: Hacking techniques are evolving tremendously in structure, nature, and complexity, inducing therefore new vulnerabilities and threats to protected operational systems. One cannot say that a security solution is able to protect a system without updates. Operators and service providers should be able to protect their assets, connections, and
services, even in the presence of infected terminals.