UIQ Technology
Symbian OS Library

UIQ 3.1 SDK        UIQ developer portal

[Index] [Spacer] [Previous] [Next]



What's new in UIQ 3.0

UIQ 3.0 is based on the Symbian OS v9.1 and introduces an extensive set of changes over previous releases. The UIQ 3.0 platform is designed with flexibility in focus and supports phones with touch screens and pen-based input as well as phones with one-handed use and softkeys. The platform is extended to support applications to be designed in a way that they automatically can be run and behave correctly regardless of UI style and form factor of a specific phone.

The UIQ 3.0 SDK is designed to make all the platform improvements available to developers and some benefits of using the UIQ 3.0 SDK are:


New features and changes

To benefit from the flexibility in the platform a number of new concepts needs to be followed. Below is a summary of new items and concepts in the UIQ 3.0 SDK for a more detailed description see the UIQ Style guide the Programmer's guide, the various HowTo documents as well as the general API reference documentation.


Phone Styles

Mobile phones can be very different in terms of hardware (e.g. screen size) and how the user interacts with the mobile phone (e.g using softkeys), defined as mobile phones having different Phone Styles. Examples of two Phone Styles are Softkey Style and Pen Style. It is possible to create mobile phones that combine several Phone Styles with the help of additional hardware.


UI Configurations

The UIQ Software Platform is very versatile and can be configured by a large number of configuration parameters. One set of configuration parameters (so called UI Configuration Parameters) are related to Phone Styles and make it possible to configure the UIQ Software Platform with respect to touch/non-touch screens, screens' size, the use of a Menu Bar or the use of the Softkeys etc. Each combination of such parameters is called a UI Configuration.

UIQ 3.0 defines a number of standard UI Configurations that are supported in the UIQ 3.0 SDK. Reference UI Configurations have also been tested on reference hardware and all UIQ's own applications are optimized for these configurations.

Standard UI Configurations

UI Configuration

Screen mode

Touch screen

Interaction style

Orientation

Reference

Pen Style

Portrait

Yes

Menu bar

Normal

Yes

Pen Style Landscape

Landscape

Yes

Menu bar

Normal

No

Softkey Style

Portrait

No

Softkeys

Normal

Yes

Softkey Style Small

Portrait Small

No

Softkeys

Normal

No

Softkey Style Touch

Portrait

Yes

Softkeys

Normal

No

A UI Configuration is a unique combination of four UI Parameters that together define a set of methods of display and user interaction. The parameters are:

An application can be written to support several UI Configurations, even those not supported by a specific device, all with the same binaries. When an application is started it will recognize the current UI Configuration on the device and select the one of its UI Configurations that is the closest or exact match. The UIQ application framework will determine this match.


New View classes

UIQ 3.0 introduces some new view classes to ease the development of views in an application.


AppUI changes

The CQikAppUI class has been improved to support the use of the newly introduced view classes.


Dialogs

The CEikDialog class has been deprecated and replaced by two newly introduced dialog classes:


Listbox

The CEikListBox has been deprecated and replaced by the new and improved CQikListBox.


Layout

Some new concepts of managing the application layout are introduced in UIQ 3.0.

Building blocks

Building blocks contains slots where controls can be placed. The layout process using building blocks is:

The SDK comes with a number of predefined building blocks but new building blocks can be created programmatically or from a resource file.

Layout managers

Layout managers is another new concept introduced in UIQ 3.0. Building blocks use layout managers internally but if for some reason the building block approach can not be used then the layout managers can be used instead.

Row-based views

The concept of row-based views address the problem of the cluttered appearance found when rows are laid out dynamically with different heights. In row-based views each row has the same height and a view is made up of only whole rows.

Resource driven layout

With the UIQ 3.0 SDK it is possible to create views from resource files, similar to the way dialogs were created in UIQ 2.1.


Command handling

In UIQ 3.0 a command is seen as the visual representation of an action in an application and not the action itself. A command can be located in a softkey, in a toolbar or in a menu depending on the phone's interaction style. To cope with this, a more abstract command handling concept has been introduced.

Command pattern

A new command pattern is defined consisting of a client, receiver and invoker each represented by a specific interface class.

Command lists

Commands can be defined in resource files using the command list struct QIK_COMMAND_LIST. Command lists can be combined and used in different levels of the UI items so that e.g. commands common within a view can be placed in the view struct and page-specific command lists are added to each page's own struct.

CQikCommand

Command can dynamically be created in code by instantiating the CQikCommand class.

Command grouping

Commands can be grouped together in anonymous or named groups to control the appearance in e.g. softkey versus menu styles.


Java

J2ME

The Connected Limited Device Configuration (CLDC) implementation has been extended with several new Java Specification Request (JSR) APIs.

The current list of supported JSR's are:

PersonalJava

The support for PersonalJava has been removed in UIQ 3.0