Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Creating Debian packages for Maemo Qt applications and showing in the application menu
Jackson Feijó
Read more about Jackson on the Champions website.
MobileMonday Italy: The User Applications
November 23, 2009
Rome
Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa
Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India
LeWeb
December 09, 2009
Paris
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki

Web Runtime: BetaLabsWidget Example
This web widget application demonstrates a thin client that connects to Nokia Beta Labs using its HTTP API and Guarana UI library components.

S60 5th Edition: Mobile Paint Example
This C++ code example demonstrates drawing and other touch UI features of S60 5th Edition with direct manipulation using, for example, CCoeControl::EnableDragEvents(). The application provides a number of drawing options that can be selected from a toolbar. There are two toolbar options, CAknToolbar and a custom floating toolbar. All application graphics have been implemented as Scalable Vector Graphics Tiny (SVGT) icons. In the updated version, the drawing performance has been significantly improved. The example application has been developed for Symbian S60 5.0 and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice, CAknToolbar, CAknToolbarExtension, MAknToolbarObserver.

Qt for S60 Developer's Library
The Qt for S60 Developer's Library is an information package for developers writing Qt applications with the Qt 4.6 Beta for the Symbian Platform. The library includes introductory information about Qt for Symbian, how Qt works on the Symbian platform, porting from Symbian to Qt, and porting Desktop Qt applications to Qt for Symbian. The library is published in online, Eclipse plugin and standalone formats.

Layout Samples for Mobile Web Templates for High-End Devices
These layout samples are created using components from the Nokia Mobile Web Templates for High-End Devices. The layouts illustrate common ways to combine components within the context of a corporate website, a news website, and an online store. Layout Samples for Mobile Web Templates for High-End Devices is part of the Mobile Web Templates and Layout Samples series. For an introduction and more information, see Mobile Web Templates - introduction to templates.

Layout Samples for Mobile Web Templates for Low-End Devices
These layout samples are created using components from the Nokia Mobile Web Templates for Low-End Devices. The layouts illustrate common ways to combine components within the context of a corporate website, a news website, and an online store. Layout Samples for Mobile Web Templates for Low-End Devices is part of the Mobile Web Templates and Layout Samples series. For an introduction and more information, see Mobile Web Templates - introduction to templates.

Nokia Mobile Web Templates for High-End Devices
The Nokia Mobile Web Templates provide a series of custom, styled, and tested mobile web components. You can either mix and match the components or use the full series to completely customise your mobile website or application. The components are suitable for most S60 3rd Edition and S60 5th Edition devices from Nokia and also are compatible with newer Series 40 WebKit and Maemo devices.
Mobile Web Templates for High-End Devices is part of the Mobile Web Templates and Layout Samples series. For an introduction and more information, see Mobile Web Templates - introduction to templates.

Nokia Mobile Web Templates for Low-End Devices
The Nokia Mobile Web Templates are a series of custom, tested mobile web styles and components. Creative developers can mix and match components as needed or use the full series to completely customise their website or application. This series of templates is primarily intended for low-end devices.
Mobile Web Templates for Low-End Devices is part of the Mobile Web Templates and Layout Samples series. For an introduction and more information, see Mobile Web Templates - introduction to templates.

User Experience Evaluation Model
The Forum Nokia User Experience programme provides an evaluation service that evaluates a developer’s application from the user's point of view. The evaluation comprises multiple evaluation items described in this document. More information about the User Experience Programme can be found from the Forum Nokia website.

S60 3rd Edition C++ Developer's Library
The S60 3rd Edition C++ Developer's Library is an integrated package of information for developers wishing to use the S60 platform to develop mobile C++ applications and services. The library includes a C++ API Reference Guide and the Symbian Developer's Library v9.3. It also provides links to documentation and example applications available on Forum Nokia.

Qt: QSimpleImageViewer Example
This Qt C++ application demonstrates how to scale, load, and convert images and show them on the screen.

Qt: QPlugin Example
This Qt C++ example application demonstrates how to extend an application with Qt plug-ins.

WRTKit Developer’s Guide
This is the developer’s guide for WRTKit, an unsupported set of utility components and code that provide a UI library designed to help widget developers create functionally rich and visually appealing WRT widgets. The guide describes the use of the WRTKit components, offers several tutorials on using WRTKit, and provides a detailed API reference.

Qt: QSharedMemory Example
This Qt C++ client/server application demonstrates how to share memory between processes.

Qt: QSolitaire Game Example
This Qt example application is a cross-platform application based on the Qt Graphics View Framework and SVG graphics that runs in different Qt environments. Besides the S60 platform and Windows Vista, the updated example has been modified to support Qt for Maemo on the Nokia N900.

Flash Lite Components
This resource file includes ten Flash Lite components; Button component, Calendar component, Checkbox component, Contacts component, List component, Media data component, Messaging component, Pop-up component, Radiobutton component, and Scrollbar component. The components can be used to develop applications to devices supporting Flash Lite 2.0 (and above). The developing environment requirements are Adobe Flash CS3 or CS4. The resource is closely related to Guide to Flash Lite Components. Please give feedback on the components through the Flash Lite Discussion Board.

OMA Device Management DDF for Nokia Mail for Exchange
This document defines the Nokia Mail for Exchange (MfE) client settings format for Open Mobile Alliance (OMA) Device Management (DM) usage. The MfE client can be used on Nokia S60 devices to perform the synchronisation of email and PIM data with a Microsoft Exchange Server, and it supports the remote configuration of MfE settings such as server address, user credentials, and synchronisation schedule by OMA DM solutions. The document is a Nokia interpretation of the OMA Device Management specification and is valid from S60 3rd Edition onwards.

Qt: Noughts and Crosses Game Example
This Qt example application is a Noughts and Crosses game that demonstrates a
cross-platform application with a custom layout using QLayoutManager and style
sheets for buttons. The application supports touch UI and keyboard. It has
been designed to work on the S60 platform, Maemo, and Windows XP. The application has been tested to work on the latest Qt for S60 4.5.2 Tower release and Qt for Maemo on the Nokia N900. Important classes: QPushButton, QLayout.

S60 5th Edition C++ Developer's Library
This version of the library introduces new features included in the Nokia N97 SDK. The S60 5th Edition C++ Developer's Library, incorporating the Symbian Developer's Library v9.4, is an integrated package of information for developers wishing to use the S60 platform to develop mobile C++ applications and services. The library includes a C++ API reference guide, porting information, and information on new features available in S60 5th Edition. It also includes information on S60 UI components and using them in C++ applications, for both touch and non-touch UIs, along with links to example applications available on Forum Nokia.

Qt for S60: QMemoryGame Example
This Qt C++ example application demonstrates how to implement the Qt UI on top of an existing Open C++ engine that was initially developed for the Open C++ Memory Game Example published on Forum Nokia. The example has been tested to work on S60 3rd Edition and 5th Edition devices with Qt for S60 4.5.2 Tower release. It supports both keypad and touch UI. Important classes: QGraphicsPixmapItem, QGraphicsScene, QMainWindow.

Java™ ME Developer's Library
Java™ ME Developer's Library is a complete resource package with introductory, getting started, tutorial, and API level information for developers wishing to use the S60 or the Series 40 platforms for developing mobile Java applications or services.
This library is available in HTML format online, as a stand-alone version, and as an Eclipse plug-in.

Flash Lite Developer's Library
The Flash Lite Developer's Library is an information package for desktop Flash developers and mobile software developers looking to branch out to Flash Lite development. The library offers introductory and getting started information as well as several use cases describing Flash Lite features in more detail. This library is available online and as a standalone version.

Qt for S60: QFriendFeed Example
This Qt C++ example application is a social networking application that integrates to a
FriendFeed microblogging engine (http://friendfeed.com/). QNetworkAccessManager is used to access the FriendFeed RESTful API to retrieve and post XML data which is parsed using the SAX parser. Though optimised for various S60 screen
layouts and input mechanisms, the UI relies on Qt cross-platform UI components. Their appearance is modified using CSS style sheets. The application has been tested to work on S60 3rd Edition and S60 5th Edition devices, with touch UI and keypad, and with Qt for S60 version Tower 4.5.2. Cross-platform support has
been verified on Windows XP.

Qt for S60: QTabs Example
This Qt C++ application demonstrates how to implement a Qt for S60 application with tabs. Every tab has its own Options menu. Views (QWidgets) are stored in different tabs (QTabWidget). The application has a S60-style status and control pane and it supports screen orientation changes. The example has been tested to work on S60 3rd Edition and 5th Edition devices with Qt for S60 4.5.2 Tower release. Important classes: QTabWidget, QWidget, QMainWindow.

Qt for S60: QStackedWidget Example
This Qt C++ application provides a method to implement multiple views in Qt for S60 applications (an alternative to using tabs). Views (QWidgets) are stored in a stack (QStackedWidget). On application startup, only the default view is created in the stack. To optimise memory consumption, the other views are not created until they are needed. Every view has its own Options menu and CBA buttons with view-specific commands. The example has been tested to work on S60 3rd Edition and 5th Edition devices with Qt for S60 4.5.2 Tower release. Important classes: QWidget, QStackedWidget, QMainWindow.

Web Developer's Library
The Web Developer's Library is an information package for developers wishing to create WRT widgets for S60 devices and web pages for the Web Browser for S60. The library includes introductory, getting started, implementation, and API-level information about WRT widgets, as well as examples of creating WRT widgets. The library also includes introductory, getting started, design, and implementation information about creating web pages for the S60 Browser. This library is available online and as a stand-alone version.

Client Provisioning Registration Forms
Client provisioning registration forms provide the information needed when creating XML-based client provisioning documents for various applications. These documents contain application IDs, parameter lists, and values that are used for different applications.

Widgets for the S60 Platform Training Course
This training course describes how to develop Nokia Web Runtime (WRT) widgets for the S60 platform devices. Widgets are web applications that can be run outside the web browser in devices compatible with the Web Runtime environment. This package includes training documentation and lab exercises with example code.

Guide to Flash Lite Components
The purpose of this document is to describe a generic process for creating, using, and customising Flash Lite User Interface and Data components (that is, S60 Platform Services). This guide focuses on the methodology and processes as a whole, rather than the implementation details and practices of individual components. The document is targeted at intermediate users of Flash and ActionScript from Adobe. This document is closely related to Flash Lite Components.

OMA DM: Management Object for Nokia VCC
This document defines the Nokia settings format for Voice Call Continuity (VCC) for use with Open Mobile Alliance (OMA) Device Management (DM). The document provides a description of the management object layout, specification of each node, and useful references.

Web Runtime: Hue Widget Example
This Web Runtime (WRT) widget allows users to explore and search for colours, patterns, and palettes from the popular colourLOVERS.com website API. The widget is related to the Widget design tutorial in the Design and User Experience Library.

OMA DM: Management Object for Connectivity Settings
This document defines the Connectivity Settings management object v1.1 settings format for OMA Device Management (DM) usage. The document is a Nokia interpretation of the OMA Device Management specification. The document is valid from S60 3rd Edition onwards.

OMA Device Management: Management Object for SNAP
This document defines the Service Network Access Point (SNAP) Management Object v1.0 settings format for OMA Device Management (DM) usage. SNAP is a concept introduced in S60 3rd Edition, FP2 that groups together a set of Internet Access Points (IAPs) that can be used to reach hosts and services such as internet, corporate intranet, or operator service.

Optimizing Mobile Software with Built-in Power Profiling
This document describes S60 software profiling tools that allow every developer to measure power consumption without any external equipment. Measurement analysis is carried out either on the mobile device or a PC. In addition, the document present a set of guidelines and good practices that energy-conscious developers should follow to maximise application use time. This document was originally published as a chapter in the book Mobile Phone Programming and its Application to Wireless Networking in 2007.

Web Runtime: AccuWidget Example
This S60 Web Runtime widget allows the user to check the current weather conditions and the forecast for the current and following day. The updated version supports adding the widget on the home screen (first introduced in the Nokia N97). The example application is designed to support all S60 devices with Web Runtime, both with keypad and touch UI.

Web Runtime: RouteWidget Example
This S60 Web Runtime widget demonstrates how to retrieve the current location (latitude and
longitude), travelled distance, current speed (horizontal), and number of GPS satellites. The updated example supports adding the widget on the homescreen, first introduced in the Nokia N97 device. The application can be installed on S60 devices that support Platform Services for Web Runtime (from S60 5th Edition onwards), and it is optimised for touch UI.

OMA DM: Management Object for Generic VoIP Settings
This document defines the GenVoIP (Generic VoIP) settings format for use with Open Mobile Alliance (OMA) Device Management (DM).

OMA DM: Management Object for Nokia VoIP Implementation
This document defines the Nokia VoIP implementation settings format for use with OMA DM and provides a basic example of how the objects can be managed.

New Java Runtime Features in S60 3rd Edition, Feature Pack 2 Devices
This document presents the new Java ME features of S60 3rd Edition, Feature Pack 2 in a nutshell. It provides a brief introduction to the features and links to selected Java™ ME Developer's Library topics or other relevant resources."

Home Screen for C++ Developers
With the Nokia N97 SDK Home Screen Publishing API, you can publish data from your C++ application live to the device home screen. The Home screen section of the S60 5th Edition Developer's Library describes the home screen and provides implementation information on getting your application to the home screen.

New APIs in the Nokia N97 SDK
The Nokia N97 SDK introduces new APIs enabling applications to publish data to the device homescreen, handle out of memory situations more effectively, and compensate sensor data for device or display orientation. The Nokia N97 SDK APIs section of the S60 5th Edition Developer's Library describes how to use the new APIs in your application.

Home Screen for WRT Developers
WRT Home screen widgets allow users to view dynamic data from several widgets simultaneously without having to launch the widgets on full screen. The Home screen widgets section of the Web Developer's Library describes the home screen and provides implementation information on getting your widgets to the home screen.
S60 Theme Templates
These templates are for use with S60 3rd Edition themes created using Carbide.ui Theme Edition. The templates are available in Adobe Illustrator CS2 and CS3 formats. You can use these templates to design your own themes and theme highlights. See the Carbide.ui Theme Edition Tutorial in the Design and User Experience Library for more details.

S60 Platform: Camera Example
This Symbian C++ code example demonstrates how to easily use the onboard camera with zoom and autofocus, utilising an accompanying CameraWrapper made by Forum Nokia. The Camera Wrapper supports all Nokia's S60 devices based on S60 3rd Edition and newer, providing a unified interface for various Symbian and S60 camera APIs some of which have previously been Feature Pack specific or only available via an SDK plug-in. The example application supports the use of both the keypad and touch UI. The application can be self-signed, but it also provides an option to use the dedicated camera key (Symbian signing required). The example application replaces the separate examples published for S60 3rd Edition, FP1 (S60 Platform: Camera Example with AutoFocus Support v2.2) and FP2 (S60 Camera Example AutoFocus 3rd Ed FP2).

S60 Platform: Localisation Example
This C++ code example demonstrates how to localise an application to adapt to the selected phone language. The example application has two sets of localised strings (English and German) for the application name, labels, text, and image. The application also includes number, currency, date, and time localisation, in which the TLocale method is used for localisation even if the selected phone language is neither one of the two application languages. The updated example has been tested to support S60 5th Edition and touch UI.

Copyright Text for the S60 SDK OSS Components
This document provides a copy of the copyright text for the OSS components included in the S60 5th Edition SDK for Symbian OS.

S60 Platform: FileList Example
This C++ code example demonstrates how to list files in a specific directory. It helps developers in creating user-friendly applications that allow users to choose files from a list of specific file types. Middle softkey labelling is
supported (introduced in S60 3rd Edition, Feature Pack 2). The updated version has
been tested to support S60 5th Edition and touch UI. Important classes: PathInfo, CDocumentHandler.

S60 5th Edition: Solitaire Game Example
This C++ example application demonstrates a fully touch-optimised application using various touch UI features of S60 5th Edition with direct manipulation. Besides tapping the cards, the user can drag and drop them using a finger or the stylus. The application demonstrates handling pointer events of custom made UI controls. Also, tactile feedback using the Touch Feedback API is received. Double buffering is used to draw on the screen to avoid flickering. By default, the cards are implemented as Scalable Vector Graphics (SVG) icons, but the example also provides an option to draw them using methods of the graphics context class CWindowGc. In the updated version, major drawing optimisation has been done. The example application was developed for S60 5th Edition and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CWindowGc.

Introduction to Flash Lite E-learning
This e-learning module introduces Flash Lite and goes through the steps that need to be taken when developing Flash Lite applications for Nokia Series 40 and S60 devices. The module also discusses the necessary tools. General knowledge about software development will help to understand the covered topics. Previous knowledge of Flash is also helpful but not necessary. Helpful screencast videos have been included to demonstrate how to create a simple Flash Lite application.

S60 Platform: HTTP Client Example
This updated C++ application demonstrates simple HTTP GET and POST transactions using the HTTP Client API. Basic HTTP authentication is also supported. The updated v2.2 example uses application-level roaming (introduced in S60 3rd Edition, Feature Pack 2 onwards). The updated example has been tested to support S60 5th Edition and touch UI. Important classes: RHTTPSession, RHTTPTransaction, RHTTPHeaders, MHTTPDataSupplier, MHTTPAuthenticationCallback, MHTTPTransactionCallback.

S60 Platform: Rich Text Editor Example
This C++ code example demonstrates the usage of Rich Text Editor. Most of the features are handled automatically when the dialog framework creates the editor. However, some steps, such as inserting an image, setting the text input type, and showing the scroll bar, require the use of methods or classes. The example has been modified to support S60 5th Edition and touch UI. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.