03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figure 15.9<br />

In 1999 a new strategy evolved, in which Symbian would support only a limited number of<br />

GUI reference designs, targeted at different types of hardware, from smartphones to higherend<br />

communicators.<br />

The first ideas for reference designs had a range of device parameters for each design, for<br />

example,<br />

� display in the range 320+ x 120+ pixels,<br />

� optional pointer,<br />

� keypad.<br />

But it soon became clear that this kind of flexibility leads to significant nonoptimality in a<br />

design.<br />

Let's say that you design a view for exactly 320 × 120 pixels: you go to all kinds of trouble to<br />

cram in text and abbreviate words; you use icons instead of text, popup displays, very simple<br />

views that sacrifice functionality, perfect alignment of various columns and icons, and so on.<br />

A display such as this will break if you make it even a single pixel smaller, but it will look<br />

equally odd if you make it larger : Users will wonder why you didn't use the extra space.<br />

To give another example, imagine that when you design, you take the view that there may or<br />

may not be a pointer. Then you have pointer- driven ways of doing everything and<br />

alternative joystick/keypad-driven ways of doing everything. These may not be very<br />

compatible: a screen with a pointer can have many more buttons, for example, than one<br />

using a joystick or arrow keys. If we deliver a design that is obviously optimized for pointers<br />

rather than a keypad or joystick, users with only the keypad/joystick will consider it even<br />

more awkward. Worse still, we might forget to optimize the design sufficiently for the needs<br />

of keypad/joystick-only users.<br />

It's clear that a GUI – especially at the smartphone-end of the market – has to be quite<br />

inflexible in its design parameters. It must specify screen size and input devices exactly, and<br />

allow for no variation.<br />

Architectural consequences<br />

The reference design strategy required that the GUI system (previously Eikon) be split into<br />

three elements:<br />

� A core GUI framework called Uikon (Universal or Unified Eikon). This includes the<br />

Uikon Core (eikcore.dll) that contains framework classes such as CEikAppUi and<br />

CEikonEnv and the Uikon Core Controls (eikcoctl.dll) that contained a number of<br />

concrete controls, such as menus and list boxes, that are expected to be present on all<br />

devices. You could write an application using Uikon alone that would be good enough to<br />

test some engine APIs, but not much more.<br />

� the reference design itself that would add more concrete controls,<br />

� a look-and-feel (LAF) module, which could differ for each device. The LAF allows the<br />

manufacturer to specify such things as system fonts and bitmaps.

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

Saved successfully!

Ooh no, something went wrong!