symbian What's new for developers in Symbian OS v9.2? Mark Shackman Version1.0 1.INTRODUCTION 2.ARCHITECTURAL ENHANCEMENTS AND NEW APIS. 23 ENTERPRISE. 34 IP TELEPHONY AND NETWORKING. 26 M SECURITY 27 ULIMPROVEMENTS 2.8 CONNECTIVITY EMENT 3.CONCLUSION.... .8 1.Introduction Symbian OS v9.2 is targeted to address the prosumer 3G handset market segment and represents ct to be st ubject to a str v9.1.whilst still pr viing kev improvements in the performance of the Symbian OS Enhancem since Symbian OS v9.1 include: 9e2r8aiaA为gimnehogne2gonaraoaoalptaapesneudngYuvan Hardware-support for ARMv6 Enterprise-consistent handling of time values;floating time support for Calendar entries; alarm services enhancements IP Telephony and Networking-RTCP,SIP and SDP implementations:automatic initial bearer selection Messaging-SMS support compliance with 3GPP release 6 Ul Improvements-SVG icon support;Vietnamese and Hindi language suppor Connectivity-publication of software install.backup and restore protocols:OBEX APls pegee68aD2async9wnoR6ceehza2asta00mameader PIM Applications-support for additional contact fields These enhancements are discussed in section 2 below. www.symbian.com
What's new for developers in Symbian OS v9.2? Mark Shackman Version 1.0 1. INTRODUCTION .............................................................................................................. 1 2. ARCHITECTURAL ENHANCEMENTS AND NEW APIS ................................................ 2 2.1. GRAPHICS AND MULTIMEDIA......................................................................................... 2 2.2. HARDWARE ................................................................................................................. 2 2.3. ENTERPRISE................................................................................................................ 2 2.4. IP TELEPHONY AND NETWORKING ................................................................................ 3 2.5. MESSAGING................................................................................................................. 4 2.6. PLATFORM SECURITY................................................................................................... 4 2.7. UI IMPROVEMENTS....................................................................................................... 4 2.8. CONNECTIVITY............................................................................................................. 5 2.9. DEVICE MANAGEMENT ................................................................................................. 6 2.10. PIM APPLICATIONS ...................................................................................................... 7 3. CONCLUSION.................................................................................................................. 8 1. Introduction Symbian OS v9.2 is targeted to address the prosumer 3G handset market segment and represents a major step for the Symbian platform as it is the first product to be subject to a strict compatibility policy. This has delivered on Symbian’s commitment to a backward binary compatible release to v9.1, whilst still providing key updates and improvements in the performance of the Symbian OS. Enhancements introduced since Symbian OS v9.1 include: • Graphics and Multimedia – support for additional input data types including YUV and YCbCr; Camera API enhancements • Hardware – support for ARMv6 • Enterprise – consistent handling of time values; floating time support for Calendar entries; alarm services enhancements • IP Telephony and Networking – RTCP, SIP and SDP implementations; automatic initial bearer selection • Messaging – SMS support compliance with 3GPP release 6 • UI Improvements – SVG icon support; Vietnamese and Hindi language support • Connectivity – publication of software install, backup and restore protocols; OBEX APIs • Device Management – OMA DM-compliant management; OMA DM client alert mechanism; OMA DataSync support to version 1.2; additional synchronisation support • PIM Applications – support for additional contact fields These enhancements are discussed in section 2 below
symbian 2.Architectural Enhancements and New APls 2.1. Graphics and Multimedia Colour space support in the image conversion library(ICL) The image conversion library has been updated to support input data types,including YUV and YCbCr.which represent colour spaces other than RGB. YUV is the natural input data type for both stills capture (JPEG)and Video(MPEG).YCbCr was defined in the ITU 601 (CCIR-60 )standard for use with digital component video. mera era modules YUV raw images and then encode these as JPEG images,the ICL supports YUV and YCbCr as adstbP6tenA93iy3asP2otnertbeeeosgresmmmalneedfoifomiaiconvesi0nYSh8niR OPmieastoPp8ietg er camera operations Camera API(ECAM)enhancements Iaenesetationvsoatng,opoticaltosetng,dioglZcormsetngeimgestabihsatonnat nal flash.flash modes.flash o step,exposure compensation,exposure compensation step,metering mode,exposure modes. ha8tplg-ecanmal8eebeschangednoticaionenablestnedinameadonand camera devices 2.2.Hardware ARMv6 Support Symbian OS v9.2 now supports the ARMv6 instruction set architecture.with code being optimised by Symbian's RVCT interm compiledot option et and.as necessary:ARMvG-specific file locations for and final b ns.andndbuMimARMvo debugging.including all AMvo-specific any The Symb s MM instructionnvnstrucnset ing paricular eneto the pertormance f context switches:physically-tagged cache eliminates cache flushing.and one page table per ally,the can mark pages as non-executab rther enhancing security on Symbian phones 2.3. Enterprise UTC and Automatic DST support All components of Symbian OS v9.2 have been updated to handle time in a consistent manner.In use time (specifically Time)will always use Universal Time(U 2 www.symbian.com
2. Architectural Enhancements and New APIs 2.1. Graphics and Multimedia Colour space support in the image conversion library (ICL) The image conversion library has been updated to support input data types, including YUV and YCbCr, which represent colour spaces other than RGB. YUV is the natural input data type for both stills capture (JPEG) and Video (MPEG). YCbCr was defined in the ITU-601 (formerly CCIR-601) standard for use with digital component video. Camera hardware generally returns two types of data: pre-encoded JPEG, which is more common today, and YUV which is becoming increasingly popular. In order to support camera modules that expose YUV raw images and then encode these as JPEG images, the ICL supports YUV and YCbCr as input data types. Adding support for these ensures minimal need for format conversion, which in turn leads to potentially faster camera operations. Camera API (ECAM) enhancements The Camera API (ECAM) has been enhanced and extended to eliminate proprietary extensions and provide for future growth by supporting the following features: Image resolution, ISO rating, optical zoom setting, digital zoom setting, image stabilisation, auto focus mode and type, manual focus distance, macro mode, white balance, aperture, shutter speed, manual flash power level, external flash, flash modes, flash compensation, flash compensation step, exposure compensation, exposure compensation step, metering mode, exposure modes, drive mode, bracket mode, bracket step values, bracket parameter, timer value, time lapse value, output file format, and picture orientation. A new callback, providing a 'capabilities changed' notification, enables the dynamic addition and removal of pluggable camera devices. 2.2. Hardware ARMv6 Support Symbian OS v9.2 now supports the ARMv6 instruction set architecture, with code being optimised by Symbian’s RVCT compiler for the ARM1136 core. The command-line build tools are capable of building with an ARMv6-specific option set and, as necessary, ARMv6-specific file locations for intermediate and final build products. Symbian OS v9.2 debug APIs support ARMv6 debugging, including all ARMv6-specific instructions, and handle any MMU implications. The Symbian OS kernel exploits the new features of ARMv6's MMU, including physically-tagged cache, single page table per address space ("multiple memory model"), and load/store exclusive instructions. Using the ARMv6 instruction set brings particular benefits to the performance of context switches: physically-tagged cache eliminates cache flushing, and one page table per address space reduces work compared with modification of a single page table. Additionally, the ARMv6 can mark pages as non-executable, further enhancing security on Symbian phones. 2.3. Enterprise UTC and Automatic DST support All components of Symbian OS v9.2 have been updated to handle time in a consistent manner. In particular, Symbian APIs that use time (specifically TTime) will always use Universal Time (UTC), unless explicitly documented to be in local time. 2
symbian Automatic DST(daylight saving time)also means that the user does not need to be involved in Floating time support for Calendar entries Symbian v2 provides the ablity to create botcepeatingpeating calendar entnes 91 ent ms. endent of tim Enhancements to alarm services ses eueu o qnu e sue alarm server,app framework UIKON alarm alert serv giving Ul applications access to details of alams in the a alarm queue ns for an alarm.Alarms nee ed to be will (as with" ns)go off e even if the ph e is on standby h re.g.to list all alarms that are due to go off,prioritise alarms,etc.Currently only the first alarm in the alarm queue is visible to the Ul,and the next alarm is only visible when the user acknowledges the first alarm. 2.4.IP Telephony and Networking Real time control protocol (RTCP)for Push-to-Talk over Cellular of the real ntrol Proto suitable fo wit and RFC 3550. Session Initiation Protocol(SIP)and Session Description Protocol(SDP) Symbian OS v9.2 provides a SIP protocol implementation which is suitable for,but not limited to Instant Messaging (IM), Push-to vercellular PC).IP telephony and presence t at the 'transaction'and the th are in the relevant TF RFCs). whi enab ng e includes missed,received and originated invitations.SIP is fully integrated with Symbian's networking protocols and runs over both IPv4 and IPv6. Automatic Initial Bearer Selection when Connecting to a Remote Service Symbian OS v9.2 provides an API for automatic initial bearer selection.based on currently available bearers,a specified bearer priority and a specified network.The APl permits: specifying bearer priority setting-up of a connection with automatic bearer selection tentially for enabling bearer mobility on Symbian OS-based devices without which application developers will have to individually implement this feature. 3 www.symbian.com
Automatic DST (daylight saving time) also means that the user does not need to be involved in determining the DST value for a particular location. Once the user sets the location on the phone, DST will be applied automatically, allowing for a better user experience. Floating time support for Calendar entries Symbian OS v9.2 provides the ability to create both repeating and non-repeating calendar entries, including To-Do entries and entries with alarms, in floating time (i.e. local time independent of time zone). Floating time is required to ensure that a day event is always shown on the same calendar day, or a wake-up call will happen at 7am local time, no matter where the user is. Enhancements to alarm services Symbian OS v9.2 contains a number of enhancements to the alarm services APIs (agenda server, alarm server, app framework UIKON alarm alert server) including: • giving UI applications access to details of alarms in the alarm queue • allowing different actions for an alarm. Alarms need to be richer than just a sound and this change makes it possible for an alarm to start a video, radio station, MP3 track, etc. Such an alarm will (as with "normal" alarms) go off even if the phone is on standby Several alarms (either clock or agenda alarms) may be queued to go off at the same time. These enhancements allow the handling of such simultaneous alarms in a flexible manner e.g. to list all alarms that are due to go off, prioritise alarms, etc. Currently only the first alarm in the alarm queue is visible to the UI, and the next alarm is only visible when the user acknowledges the first alarm. 2.4. IP Telephony and Networking Real time control protocol (RTCP) for Push-to-Talk over Cellular A subset of the Real Time Control Protocol (RTCP) is provided, which is suitable for use with Push-to-Talk over Cellular (PoC) clients. This conforms to the PoC consortium specification v1.0 and RFC 3550. Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Symbian OS v9.2 provides a SIP protocol implementation which is suitable for, but not limited to, Instant Messaging (IM), Push-to-Talk over cellular (PoC), IP telephony and presence based applications. The APIs allow applications to interact at the 'transaction' and the 'dialogue' levels (these levels are defined in the relevant IETF RFCs). A SPI which enables extensions by adding message types and methods without modifying the existing implementation is provided; this is usable by applications. SIP events are logged by the existing call logging engine. The level of logging is similar to that provided for CS calls, and includes missed, received and originated invitations. SIP is fully integrated with Symbian's networking protocols and runs over both IPv4 and IPv6. Automatic Initial Bearer Selection when Connecting to a Remote Service Symbian OS v9.2 provides an API for automatic initial bearer selection, based on currently available bearers, a specified bearer priority and a specified network. The API permits: • specifying bearer priority • setting-up of a connection with automatic bearer selection Research suggests that there will be around 100million phones by 2010 supporting multiple bearers (e.g. WLAN, 3G, GPRS...) and therefore potentially using this feature. This feature is key for enabling bearer mobility on Symbian OS-based devices without which application developers will have to individually implement this feature. 3
symbian Agenacap8a28asmhae3ntema2eaenregere2em9s all onli applications. This ecan also 2.5. Messaging SMS Compliant with 3GPP R6 Symbian OS 3GP ve 3206 from an SMS message(3GPF stored. mechanism ryanmegnl sent rod allow inclusion of a return addr ss that is different to the sonder's 23.040 sections9.2.3.24and9.2.3.24.10.11.15). quent handling of a video message waiting indication in an enable the reception and subsequent handling of enhanced voice mail information in an SMS such as list of voice mail messages,time a message was left.duration and caller etc (3 GPP TS23.040 sections9.2.3.24and9.2.3.24.13). allow the sending and processing of SMS messages that indicate automatic deletion(3GPP TS 23.038 section 4). 2.6.Platform Security OCSP-based SIS File Revocation The software install engine uses OCSP(Online Certification Status Protocol,RFC2560)to check the validity of SIS file sic s.Checks are erformed at install time,and on request post-install ntallSPresponse indicates that a Sis fie signature has been revoked At install tir 2.7.UI Improvements Enable control of behaviour of child window when parent exits A new API allows control of the behaviour of a child window when the parent exits-either the child will remain or it will also exit Auto detection of Japanese Character Set a chara UTF8.and UCS2. www.symbian.com
This will enable any on-line application to easily take advantage of automatic bearer selection. Assuming that the UI will provide a sensible default, this will enable simple bearer prioritisation for all online applications. This feature can also help users manage the cost of accessing mobile services by allowing them to predefine which bearers should be used for access when multiple bearers are available. 2.5. Messaging SMS Compliant with 3GPP R6 Symbian OS v9.2 supports the latest version, Release 6 (2004), of the SMS specification, in line with the 3GPP specifications (3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0). Changes have been made to the CSmsMessage API to: • allow hyperlinks (URLs) to be inserted and extracted from an SMS message (3GPP TS 23.040 sections 9.2.3.24 and 9.2.3.24.12). The SMS stack which uses CSmsMessage also handles a new Information Element (IE) field in the SMS where the hyperlink information is stored. • allow inclusion of a return address that is different to the sender’s address. This provides a mechanism to reply with an SMS to a message initially sent as Cell Broadcast (3GPP TS 23.040 sections 9.2.3.24 and 9.2.3.24.10.11.15). • enable the reception and subsequent handling of a video message waiting indication in an SMS (3GPP TS 23.040 section 9.2.3.24.2). • enable the reception and subsequent handling of enhanced voice mail information in an SMS such as list of voice mail messages, time a message was left, duration and caller etc (3GPP TS 23.040 sections 9.2.3.24 and 9.2.3.24.13). • allow the sending and processing of SMS messages that indicate automatic deletion (3GPP TS 23.038 section 4). 2.6. Platform Security OCSP-based SIS File Revocation The software install engine uses OCSP (Online Certification Status Protocol, RFC2560) to check the validity of SIS file signatures. Checks are performed at install time, and on request post-install. At install time, if a valid OCSP response indicates that a SIS file signature has been revoked, installation will be aborted. 2.7. UI Improvements Enable control of behaviour of child window when parent exits A new API allows control of the behaviour of a child window when the parent exits - either the child will remain or it will also exit. Auto detection of Japanese Character Set Symbian OS v9.2 includes a character conversion method that can convert from any of the following character sets: Windows-31J (Microsoft code page 932), JIS (ISO-2022-JP-1), EUC, UTF8, and UCS2. 4
symbian Vietnamese and Hindi Language Support a8ednc3tagn2ceisos82mtanoshaebemexenaeaoncuoeheouoc Support for in-scene syG icons deve to suppor scree neeoato22nd mid-tier devices ort for a range of screen sizes and resolutions.for example QVGA HVnGAbnand2 Inder to aceve igh qutyUs and god redblly scren elements .con have to maintain th lsize (i.e vs.64*64 pixels. 2.8.Connectivity Symbian Conect Protoco The prot cols for software install,backup&restore and file management are published Hpsegle8maeaPgenmenteratoreroeakeothecereopcessategthereanneasnMoakon e SCOM ve a g OS V9. result in standardisation,meeting the needs of the small community of PC developers looking to create software which works with Symbian based devices. Notification at the start and completion of the final packet transmission of an OBEX put reques started transmission,and 。been transmitted. SegheoeEXcenonasesanoicaioahenthemesagehasbenaknoweagaby New OBEX API to allow asynchronous Put and Get The OBEX API ir nded to alloy r synchronous behaviour.However.only one mode-asynchronous or synchronous-can be used within one instantiation of the OBEX server.Multiple instantiations of the OBEX server are allowed Currently OBEX blocks the thread whilst waiting for an OBEX server application to react to a put or a get reques Inis syncnronous Is res unyiopepae26ea88e5asnmss9 when large data www.symbian.com
Vietnamese and Hindi Language Support The text rendering and editing capabilities of Symbian OS have been extended to include the Quoc Ngu (accented Latin) and the Devanagari scripts. Support for in-scene SVG icons Symbian OS v9.2 allows application developers to use scaleable SVG (scaleable vector graphics) icons that are rendered in-scene with the rest of the GDI-drawn system GUI. Application developers have to support multiple screen resolutions and screen sizes. Next generation smartphone UIs primarily target QVGA screens in the range 2.2" to 2.8" but moving into mid-tier devices requires support for a range of screen sizes and resolutions, for example QVGA, HVGA and VGA between 2.0" and 2.8". In order to achieve high quality UIs and good readability, generally all screen elements (e.g. icons and fonts) will have to maintain their physical size (i.e. scale) across these different screens and devices. As an example, an icon for a VGA screen will have to be twice the size of an icon for a QVGA screen. For an application icon that means 32*32 vs. 64*64 pixels. 2.8. Connectivity Symbian Connect Protocols The protocols for software install, backup & restore and file management are published. Historically, some implementers have tweaked the protocols to satisfy their own needs, making it impossible to have a generic set of protocols for PC connectivity. This resulted in the introduction of the SCOM component as part of the PC suite. Publishing the protocols for Symbian OS v9.2 will result in standardisation, meeting the needs of the small community of PC developers looking to create software which works with Symbian based devices. Notification at the start and completion of the final packet transmission of an OBEX put request The OBEX API in Symbian OS v9.2 has been extended to offer an (OBEX client) application the ability to request notification when the final packet for a PUT request has: • started transmission, and • been transmitted. Currently the OBEX client only raises a notification when the message has been acknowledged by the server. New OBEX API to allow asynchronous Put and Get The OBEX API in Symbian OS v9.2 has been extended to allow asynchronous responses and processing of Put and Get. The asynchronous behaviour operates alongside the current synchronous behaviour. However, only one mode - asynchronous or synchronous - can be used within one instantiation of the OBEX server. Multiple instantiations of the OBEX server are allowed. Currently OBEX blocks the thread whilst waiting for an OBEX server application to react to a put or a get request. This synchronous behaviour is restrictive when large data objects are being transferred, as the server application has limited opportunity to prepare new data for transmission or store new incoming data. 5