API and functionality changes in Symbian^3 / Nokia N8
This article describes the current changes and known issues in Symbian^3 or Nokia N8 compared to earlier Symbian S60 releases. The list provides links to detailed documentation and known issue articles, and it is being constantly updated when issues are detected and fixed.
ScreenPlay / New Graphics Architecture
A ScreenPlay / New Graphics Architecture (NGA) has been introduced in Symbian^3 and some binary breaks in applications using Direct Screen Access (DSA) are expected. It is strongly recommended that such applications be rebuilt with the Symbian^3 SDK and tested on the Nokia N8 or other Symbian^3 devices once available. Read the DSA Migration Guide for guidelines that applications must follow in order to run on ScreenPlay (NGA) devices.
Hardware graphics acceleration
Learn how to manage the available graphics memory while developing your rich OpenGL powered user interface or game. See Graphics memory handling
Display mode with alpha channel
Symbian C++ applications should be ready to handle a display mode (TDisplayMode) with the alpha channel defined (EColor16MA and EColor16MAP). See more at: TSS001523 - Display mode with alpha channel on Symbian devices
Buffer size of DevSound
The buffer size of DevSound devices has increased in Nokia N8. Developers accessing the audio system through DevSound APIs should be aware of this change, detect the buffer size at runtime, and adapt their application logic accordingly. See detailed information at: KIS001595 - Increased CMMFDevSound playback buffer size in Nokia N8.
Scaling volume at runtime
Third-party applications have reported failure due to their assumption of max volume being 10. Developers are advised not to make such assumptions and instead query for max volume at runtime and scale their volume increments accordingly. See detailed information at: TSS001596 - Volume level range in Nokia N8.
Playing short tones
When playing very short tone sequences or DTMF strings, developers should use WAV files and the Audio Streaming API instead of a tone generator. See detailed information at: KIS001594 - Audio tone player fails to generate short tones.
Changes in Comms framework (MBuf)
Developers working with low-level components of the Comms framework (for instance, the IpHook API), should be aware that the MBuf API has been changed and it is no longer binary compatible. Thus developers need to rebuild their applications for Symbian^3.
The change applies to:
TCommsBufBase; TCommsBuf; RCommsBuf; RMBufAsyncRequest
Functions RCommsBufPond::StartRequest; RCommsBufPond::CancelRequest; RMBufAsyncRequest::iLength; RMBufAsyncRequest::iMBufs; RMBufAsyncRequest::iChain; RMBufAsyncRequest::iStatusPtr; RMBufAsyncRequest::iThread; RMBufAsyncRequest::iLink
Libraries mbufmgr.dll; commsbufs.dll
Headers mbufasyncrequest.h; commsbufpond.h; mbufasyncrequest.h; comms-infras\commsbuf.h
UI and hardware key changes
In addition to UI changes between S60 5th Edition and Symbian^3 (see porting information at: http://library.developer.nokia.com/topic/Nokia_Symbian3_Developers_Library/GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.html ), there may be device-specific configurations for keys and screen resolution. For example, the Nokia N8 does not have Send and End keys. Therefore, it is recommended that applications do not rely on certain keys but provide all functionality on the touch UI.
UI layout changes
Applications should be aware of layout changes in Symbian^3, and verify if assumptions made about sizes and positions of controls are still valid. However, if the application is making heavy use of custom controls, developers may be interested in using the Layout Data API despite it not being classified as an SDK API.
The virtual keyboard has a new "split view" mode, which allows application to retain control over part of the screen while the virtual keyboard is open. See Split view input in Symbian C++ applications
For a review of the Symbian^3 UI please see the update style guide, available at Symbian^3 UI Style Guide.
Changes in the AppArc framework
Due to changes in the AppArc framework, applications that use the TApaAppEntry object will not start on Symbian^3 based devices. For details, see TSS001593 - Changes in AppArc framework.
Changes in installer UI
On Symbian^3 the installer no longer displays a prompt for the user to confirm the replacement of an installed application by a newer (or same) version of it.
Performing http transactions (RHTTPTransaction) when the url is an "https://" (secure) url requires the ReadUserData capability.