03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

independent of any specific GUI. Comprises the classes CCoeAppUi, CCoeEnv and<br />

CCoeControl.<br />

� Uikon: this ties together CONE and the Application Architecture to give a framework for<br />

applications and a set of core controls that are present on all UI variants. Application<br />

developers can use the Uikon APIs directly, as we have in the 'drawing' example, or use<br />

a more appropriate device-specific API available in the UI variant's own libraries. We did<br />

not need to, but we could have used CQikApplication, CQikDocument, and<br />

CQikAppUi in our example. Uikon and the application architecture are documented in<br />

the Symbian Developer Library.<br />

� A phone UI framework: this provides a specific set of custom UI components used by a<br />

licensee for their device, including items such as widget libraries, fonts, status bars, and<br />

indicators. Mobile phone manufacturers can either build their own, which they can then<br />

license so that it is available to other manufacturers, or customize one of the existing<br />

frameworks.<br />

� the phone UI: the collection of application UIs provided on the phone, which<br />

defines the 'UI' as the user understands it. In most cases, the phone UI constituents<br />

will be constructed out of components provided by the phone UI framework.<br />

The current phone UI frameworks are as follows:<br />

� UIQ which supports a touch screen with stylus operation and handwriting recognition<br />

and is developed by UIQ Technology (Sony Ericsson P800);<br />

� Nokia Series 60 Platform, a design for a color-screen smartphone, optimized for onehanded<br />

operation (Nokia 7650, Nokia 3650, Nokia N-Gage);<br />

� Nokia Series 80 Platform, a design for keyboard-based mobile phones (Nokia 9210I,<br />

Nokia 9290);<br />

� Techview – a Symbian-developed framework for testing purposes only;<br />

� other – largely specialized frameworks for Japanese phones.<br />

An application developed for a given UI Framework will be compatible with all phones using<br />

that framework. It is possible to dramatically change the look and feel of the phone whilst<br />

maintaining compatibility. Mobile phone manufacturers may substitute new application UIs<br />

without affecting the operation of other applications. So, phones can be enhanced and<br />

branded through: modifying the existing application UIs, changing application skins (colors,<br />

appearance, icons), introducing new applications, or adding dynamic web content.<br />

Further, the fact that the UI frameworks available for Symbian OS are based on Symbian's<br />

GUI foundation means that porting an application from one UI platform to another is a<br />

relatively straightforward task.<br />

15.5 Summary<br />

The theme of size and device-independent graphics has taken us through several topics<br />

related to UI applications, namely zooming, printing, fonts, rich text, colors, blitting, and web<br />

browsing. It has also taken us through a discussion of whole GUI systems.<br />

After reading this chapter, you will hopefully be able to write applications that support the<br />

above-mentioned capabilities and are portable between smartphones using the same UI<br />

Framework.<br />

Resources, in the shape of CONE and Uikon, are available to reduce the cost involved for<br />

writing new UI frameworks. The writing of these frameworks has increasingly become a<br />

licensee responsibility, because of the too high costs of maintaining a family of reference<br />

designs within Symbian. The expense of writing a new framework may be avoidable by<br />

using UIQ or Nokia Series which can be customized for a new look and feel.<br />

<strong>Chapter</strong> 16: A Multiuser Application

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!