You Are Here:

Learning path: UI Development for S60 C++ Applications

Contact Us

We encourage you to give us feedback about development topics and other matters related to this web site.

Submit feedback
Forum Nokia Events

International CTIA WIRELESS 2010
March 23, 2010
Las Vegas

O’Reilly Where 2.0 Conference
March 30, 2010
San Jose, California

Building N900 Apps Using Qt Creator and Qt 4.6
April 14, 2010
2 p.m. London, 4 p.m. Helsinki

Building N900 Apps Using Qt Creator and Qt 4.6
April 14, 2010
11 a.m. San Francisco, 2 p.m. New York

Building N900 Apps Using Qt Creator and Qt 4.6 (In Chinese)
April 15, 2010
11 a.m. Beijing


View all

Basic and intermediate level: S60 UI development principles
Advanced level: Scalable UI development from S60 2nd Edition Feature Pack 3 onwards

Basic and intermediate level: S60 UI development principles

See the following documents and examples to learn about the S60 UI architecture and using it in C++ application development.

1. Introduction to S60 UI Components (PDF)
This document provides an extensive description of the appearance of the most useful S60 UI components. The document shows with the help of several examples how flexibly the UI components can be used in any application UI. Effects of themes to the visual appearance of S60 UI components and customizing standard S60 UI components are also briefly discussed. Due to the visual nature and extensive usage of screen shot images, this document is quite large in megabytes.

2. S60 UI Style Guide v1.3 (PDF)
This updated document gives an overview of the S60 user interface and describes its essential parts, giving examples of how to use the interface elements.

3. Symbian OS: Building Portable And Scalable UI v1.1 (PDF)
This document presents the best practices for building a portable and scalable UI on Symbian OS.

4. S60 Platform: Application Views (With Example) (ZIP)
This package covers the usage of application views in C++ applications. A Symbian C++ application can launch not only its own views but also certain external applications and their views. The package includes one document and two example applications.

5. S60 Platform: Implementing Settings Screens (ZIP)
Application-specific settings in S60 applications should be presented in one dedicated page for ease of use. This document discusses the various standards and common practices involved in presenting and editing such information.

6. S60 Platform: Avkon UI Resources (ZIP)
This series of documents describes how to use the Avkon UI components (dialogs, editors, forms, grids, listboxes, notes, and setting lists) of the S60 platform in C++ applications.

7. S60 Platform: Dynamic Setting List Example (ZIP)
This example demonstrates how to load CAknSettingItemList dynamically at run time instead of defining the list structure into a resource file. In the example, the lists are loaded during application startup. The example can be used as the basis for many different applications where a list has to be loaded dynamically (for instance, based on external feed from a server)

8. Series 60 Developer Platform: Application UI Customization (PDF)
This document describes the different levels of application UI customization that are possible in the Series 60 Developer Platform for Symbian C++ developers.

Advanced level: Scalable UI development from S60 2nd Edition Feature Pack 3 onwards

The following documents and examples help you understand the Scalable UI of the S60 platform (supporting different UI resolutions) and effectively develop scalable C++ applications. Ensuring scalability is particularly crucial if you prefer developing a custom UI (instead of using automatically scaling UI, such as Avkon UI components). Before reading these documents you are expected to be familiar with the basic S60 UI development principles.

1. Introduction To The S60 Scalable UI v1.4 (PDF)
This updated document gives a brief introduction to the Scalable UI in the S60 platform. S60 2nd Edition, Feature Pack 3 introduces new screen resolutions and APIs to support the scalable UI.

2. S60 Platform: Scalable UI Support v4.3 (PDF)
This updated document specifies how S60 2nd Edition, Feature Pack 3 and S60 3rd Edition support creating applications for a scalable UI.

3. S60 2nd Edition Feature Pack 3: Scalable UI Example v2.0 (ZIP)
This package includes a Noughts and Crosses example application for scalable UI. This package is aimed at programmers who wish to port code written for S60 2nd Edition to S60 2nd Edition, Feature Pack 3. Documentation is included in the package.

4. S60 Platform: Scalable Screen Drawing How-to (PDF)
This document describes how to develop C++ applications with custom graphics that scale to multiple display resolutions in portrait and landscape orientations supported by the S60 platform (from S60 2nd Edition, Feature Pack 3 onwards). Direct screen access, bitmaps, scalable vector graphics, and other drawing methods are compared and related APIs are presented. The document includes code snippets from S60 Platform: Scalable Screen-Drawing Example. This document is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using the automatically scaling UI, such as S60 Avkon components.

5. S60 Platform: Scalable Screen Drawing Example (ZIP)
This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform (from S60 2nd Edition, Feature Pack 3 onwards). This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using automatically scaling UI, such as S60 Avkon components. The example complements the S60 Platform: Scalable Screen-Drawing How-To document.

6. S60 Platform: Vector Graphics Optimization (PDF)
This document gives instructions for optimizing vector graphics for the S60 3rd Edition user interface. The S60 3rd Edition SVG rasterizing engine supports the SVG Tiny 1.1 standard with additional support for line and fill opacity and gradient.

7. Symbian OS: 2D Game Engine Example (PDF)
This C++ example application shows how to make a portable and efficient 2D game on top of Symbian OS. The application supports different display modes and screen resolutions with both portrait and landscape orientations, and provides some insight into multi-platform development.

Additional resources

S60 Platform: Usability Guidelines For Symbian C++ Games (PDF)
This document provides guidelines and an implementation model for developing easy-to-use, fun, and challenging Symbian games in C++ for S60 Platform 2.0 devices.

S60 Platform: Usability Guidelines For Enterprise Applications (PDF)
This document gives usability guidelines and checklists for achieving the optimal user experience in S60 Platform enterprise applications.

S60 Platform: Application Framework Handbook v2.0 (PDF)
This document discusses issues involved in the design and implementation of an S60 C++ application. The document first gives a general introduction to the S60 application structure, describes specific S60 controls, and then considers the general design issues of C++ applications.

Symbian OS: Creating Custom Controls (PDF)
This document looks at designing custom controls, how they can be used, and the special design issues associated with them.

Symbian OS: View Architecture (PDF)
This document provides an overview of the Symbian OS view architecture and how to use it. The view architecture provides the capability to switch quickly between the views established for applications running on a device.

Symbian OS: Platform-Independent Engine Development (PDF)
This document presents the main principles of developing platform-independent application engines for Symbian OS, and reaffirms the advantages of designing modular applications.

Series 60 Platform: Dealing With Lead And Device-Specific Features In C++ (PDF)
This document presents methods to tackle the issues caused by the variance of devices, Symbian OS, and S60 platform versions. Discussed issues are closely related to multiplatform application development, because the supported features and differences in APIs are especially important with cross-platform applications.

Symbian OS: 3D Game Engine Example v1.2 (PDF)
This package includes a 3D game engine example application and a document describing the most important programming tricks and algorithm issues to consider when developing 3D programs on Symbian OS. The example provides also insight for multiplatform development, and includes a short document describing some of those aspects. The example utilizes OpenGL ES and an own rendering implementation for platforms not supporting OpenGL ES.

Symbian C++ User Interface Discussion Board (Discussion Board)
Share your ideas and get peer support from other developers how to use GUI elements in Symbian C++ application UI development.

Feedback

You can provide feedback about content on this page here

Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwwwE2eforumE2enokiaE2ecomE2fmainE2fresourcesE2fgettingE5fstartedE2fuiE5fdevelopmentE5finE5fcppE2ehtmlX qfnZupdatedQDx2008E2d10E2d16X qdcZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqfnTypeZE52esourceQ qdcZtypeQUqfnTypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZdistributionQUxhttpE3AE2FE2FforumE2EnokiaE2EcomE2FX qfnZtypeQUqfnTypeZE52esourceQ qfnZtypeQUqfnTypeZWebpageQ qmarsZlanguageQUxhttpE3AE2FE2FswE2EnokiaE2EcomE2FlanguageE2D1E2FenX qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqfnTypeZE52esourceQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqfnTypeZWebpageQ qrdfZtypeQUqrdfsZE52esourceQ qrdfZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ