30
8.2.4.5 Text entry
EPOC was originally built for keyboard-oriented text input. A front-end-processor (FEP)
framework to text entry controls has been introduced, which supports handwriting recognition
and entry of Far Eastern characters by conventional handwriting or keyboard entry methods.
The FEPBASE component provides the basic APIs, and a BRDCST server provides broadcast
services required to support FEP-related interactions.
8.2.5. GUI and System
EPOC’s GUI and system components provide the environment and programming framework for
applications, and define the look-and-feel of an EPOC machine for the end-user.
EIKON is a GUI framework providing standard controls and dialogs for programmer use, a
dialog framework, an application and object embedding framework, and many utilities. EIKON
builds on CONE, the control environment from EPOC’s graphics layer, and APPARC, the
application and data management component from EPOC’s engine support layer.
The SHELL application builds on EIKON and is on the one hand a file/application
browser/launcher, on the other hand a control panel which enables all the machine’s hardware and
software settings to be displayed and, where appropriate, changed. The control panel includes a
software installer/uninstaller.
New applications and control panel extensions may be written using the EIKON and APPARC
frameworks.
The EPOC help system displays help for the EPOC system and its applications. It provides
convenient browsing and searching. The
aleppo tool builds compressed help databases from RTF
source documents.
8.2.5.1 Device families
EIKON is designed for colour or greyscale displays, alphanumeric keyboard input, pen input via
screen digitizer with extensions for sidebar and taskbar, and screen sizes of 640 wide by 240 or
more high.
Slight variations on this specification are feasible (for instance, trackpad or mouse rather than pen,
or alternative arrangements for the sidebar and task bar). Such variations would require only
minor modifications to EIKON and the SHELL, and none to the applications.
However, EPOC has been designed to support devices with significantly different characteristics
from those for which EIKON was envisaged — smaller screens, no pointer at all, different button
arrangements, numeric pad or no keyboard at all, sound-based interaction mechanisms, and
wireless information devices which look much more like a phone than a computer. Symbian and
its partners are working on the specification of a small number of device families, for which it will
issue reference designs for convenient adoption by EPOC OEMs and software developers.
Each reference design will be based on a GUI and shell tailored to its own requirements: these
will differ from EIKON — in some cases, quite significantly. To obtain maximum re-use when
implementing EPOC and its applications on a new device family, EPOC has been designed to
allow EIKON, the shell and everything that depends on them to be replaced, with minimal
impact on either EPOC’s lower-level components, or the applications themselves. This is a key
reason why Symbian practices — and recommends — the division of applications into two
components, an engine and a GUI.
8.2.5.2 EIKON
EIKON presents a GUI designed specifically for its intended target hardware, rather than being
scaled down from a GUI suitable for desktop PCs.
The screen real estate is used carefully. Menu bars are only displayed when necessary. Toolbars
may be toggled on and off. Application data may be zoomed to suit lighting conditions, eyesight
and the type of data. Greyscale or colour screens are supported: the colour scheme is modest and
professional in appearance. OEMs may conveniently modify the colour scheme, but not by end-
users.
A high-quality keyboard is assumed: EIKON allows novice users to use it easily, and provides
shortcuts for expert users.