The Forum Nokia Web site hosts extensive support documentation concerning the recommended way of implementing S60 applications. It is highly recommended that the implementation team be familiar with the relevant documentation.
The following coding convention document is available at Forum Nokia:
C++ Coding Conventions: Provides recommendations for Symbian C++ programming language.
Internationalization and Localization Guide: To efficiently provide language and regional variants, the application must be properly internationalized to begin with.
The following guideline documents are available:
S60 Platform: Application Framework Handbook: Discusses issues involved in the design and implementation of an S60 C++ application. Starts from the beginning and gradually builds towards more problematic areas.
S60 Platform: Effective Power and Resource Management: Information on sparing resources and ensuring proper power management.
Analyzing Application Performance with the Carbide.c++ Performance Investigator: An introduction to using the Performance Investigator for analyzing the performance of an S60 3rd Edition application.
Symbian OS: Platform-Independent Engine Development: Information on separating the Symbian C++ application engine and the UI code to separate modules.
S60 Platform: Dealing with Lead and Device-Specific Features in C++: Presents methods for tackling issues caused by the variance in devices.
S60 Platform: Source and Binary Compatibility: Addresses compatibility issues across different S60 platform releases and discusses development techniques that ensure better source and binary compatibility.
Designing MIDP Applications For Optimization: Provides information on how to design and implement MIDlets that are easy to optimize for different devices having different features.
S60 Platform: Implementing OTA Application Delivery and Protection: Practical guidance for delivering S60 applications over the air and protecting the executable content with OMA DRM 1.0.
The following checklists are available:
Testing Checklist for Symbian C++ Applications: The checklist presents fundamental issues that should be considered when testing Symbian C++ applications.
Nokia Test Criteria for Symbian C++ Applicatons: Describes test cases that can be conducted to Symbian C++ applications in addition to the Symbian Signed tests.
Nokia Test Criteria for JavaTM ME Applications: Describes test cases that can be conducted in addition to Unified Testing Criteria related to the Java Verified program.
The following example applications are available:
S60 Platform: Custom UI and Screen Rotation Example: This example demonstrates the key functionalities of screen rotation, custom component handling, status pane handling, and picture scaling on the S60 UI layer.
S60 Platform: 2D Game Engine Example: C++ code example that demonstrates an application with 2D graphics. The application is designed to support various S60 devices with different amounts of colors and various screen resolutions and orientations.
S60 Platform: 3D Game Engine Example : This C++ code example demonstrates a simple 3D engine that utilizes OpenGL ES. Hardware acceleration is supported if it is available in the device.
Note: Take the checklists into account already in the implementation phase in order to implement the code properly.
You can find numerous other documents detailing specific technical areas and topics on the Forum Nokia Web site.