Technical papers archive
Advanced
Working with the Alarm Server API in Symbian OS v7.0
Up to v6.x of Symbian OS, World server and Alarm server functionality is made available in ealwl.dll. From v7.0 these two capabilities are delivered in separate DLLs, respectively WorldServer.dll and AlarmServer.dll. This guide provides Symbian OS developers with a comprehensive list of source incompatible changes between EALWL and AlarmServer. WorldServer is fully source compatible with the old API. Read the paper (170 Kb)
Overview of Symbian OS Hardware Interrupt Handling
Symbian OS has a lightweight 32-bit preemptive kernel that follows a hybrid design combining characteristics from both micro-kernel and monolithic kernel architectures. Understand how hardware interrupt handling works in this kernel architecture. Read the paper (145 Kb)
How to successfully stream audio on Symbian OS v7.0s
This paper gives an overview of the Audio Streaming functionality available on Symbian OS and illustrates good coding practice. It provides, with full source code, a solution to the problem of how to output a continuous audio stream and thus supply a game / application with real-time music and sound effects. Read the paper (587 Kb)
UI
UIQ Application Development Tutorial
This tutorial has been written as an extension to the UIQ SDK, but is made available here as a pre-release. It covers all the basics of C++ application development on UIQ, starting with a tour of what is in the SDKs and comparing the Symbian OS tools and interfaces with those of other platforms. The tutorial revolves around a NNTP reader for Usenet newgroups. The application architecture is overviewed with the help of UML diagrams and the build, debug and install processes explained. The application engine and the GUI are described separately in detail. Full sources for the application are provided.
Browse the tutorial docs Download html Download the source code (92 Kb)
Designing for UIQ
This paper covers the design decisions underlying the UIQ GUI, and shows how the standard guidelines are implemented by the built-in application suite. The paper considers how to migrate two applications from Symbian OS v5 to UIQ: the Solo Ships and Battleships examples from the book "Professional Symbian Programming". Read the paper (592 Kb)
UIQ Style Guide
This paper explains the design principles that underlie the UIQ user interface and offers guidelines for UIQ developers on how to giver applications a UIQ look and feel. Read the paper
How to implement Direct Screen Access with a Series 60 App
For graphical applications, it is very important that the delay between requests to draw something to the screen and its appearance on screen is as short as possible. This paper describes the possible approaches and Symbian OS APIs available to reduce this delay, and the pros and cons associated with each. Read the paper (68 Kb) Download sample source code (20 Kb)
Tools
Introduction to Carbide.c++
(Panos Asproulis)
This article provides an introduction to Carbide.c+, the new development environment for Symbian C+ applications. It starts with a description of Eclipse, which is the underlying platform of Carbide.c+, followed by an introduction to the capabilities of Carbide.c+ and the way it can be used.
Read the paper (465kb)
CodeWarrior FAQ
This paper provides answers to various questions regarding the development of Symbian OS C++ applications using the Metrowerks CodeWarrior IDE. Its scope covers topics from initial set-up through to basic debugging but it can also be used as a comprehensive guide for general use with the CodeWarrior / Symbian OS SDK development environment. Read the paper (1.6 MB)
Metrowerks: on-device debugging
(Metrowerks)
Debugging programs on a target device running Symbian OS is easily handled with the proper Symbian OS Development Kit setup and the CodeWarrior development environment. Developers spend enormous amounts of time writing their programs, most of which is spent in a debugger to ensure that the program operates correctly. . This paper explains how to debug a program on a target device using the CodeWarrior Development Tools for Symbian OS. Read the paper (136 Kb)
Moving to CodeWarrior from VC++
(Metrowerks)
A real difficulty that programmers face when moving to a new tool set is learning how to do the same things in a different way, not learning how to do new things. This can be particularly frustrating because the developer already knows how to get the job done. Spending time to learn a new way to do the same thing appears to be a waste of time. There is always an initial loss of productivity because of the transition to the new tool set.
The CodeWarrior IDE and Visual C++ share many underlying concepts. This paper explains the basic design and terminology of the CodeWarrior IDE and how it relates to Visual C++, helping you to make a swift and painless transition to the CodeWarrior development environment. Read the paper (1.4 Mb)