Generic User Interface
Generic User Interface
Generic User
Interface
Development
LEARNING OUTCOMES
By the end of this topic, you should be able to:
1.
2.
3.
4.
5.
X INTRODUCTION
A GUI permits a computer user to move from one application to another. A good
GUI makes an application easy, practical, and efficient to use, and the
marketplace success of todays software programs depends on a good GUI
design. Consider the Macintosh and the IBM-PC. Computer users view Apples
Macintosh computers as having the best GUI. Likewise, their positive view of the
Macintosh system is almost double of the Windows users. The development of a
new software is extremely expensive. With the success or failure of a product and
maybe the entire company dependent on the GUIs reception in the marketplace,
a good GUI design is extremely important. Unfortunately, it is not easy to define
if an applications GUI is easy, practical, or efficient. These are the attributes that
do not lend themselves to counting. The marketplace does attempt to access these
attributes, however, but even after over 10 years of GUI development, there are
still questions concerning what is a good GUI design.
66
4.1
TOPIC 4
The User Interface (UI) is everything designed into an information device with
which a human being may interact including display screen, keyboard, mouse,
light pen, the appearance of a desktop, illuminated characters, help messages,
and how an application program or a website invites interaction and responds to
it. The user interface can arguably include the total user experience, which may
include the aesthetic appearance of the device, response time, and the content
that is presented to the user within the context of the user interfacing information
technology. In early computers, there was very little user interface except for a
few buttons at an operators console. The user interface was largely in the form of
punched card input and report output.
The user interface was a nearly blank display screen with a command line, a
keyboard, and a set of commands and computer responses that were exchanged.
This command line interface led to one in which menus (list of choices written in
text) predominated. And, finally, the graphical user interface GUI arrived,
originating mainly in Xerox's Palo Alto Research Centre, adopted and enhanced
by Apple Computer, and finally effectively standardised by Microsoft in its
Windows operating systems.
The Visual part of computer application or operating system through which a
user interacts with a computer or software. It determines how commands are
given to the computer or the program and how information is displayed on the
screen. Three main types of user interfaces are (1) Command language: the user
must know the machine and program-specific instructions or codes. (2) Menus:
user chooses the commands from lists displayed on the screen. (3) Graphical user
Interface (GUI): user gives commands by selecting and clicking on icons
displayed on the screen.
Over the past decade, the rapid prototyping of user interfaces has become quite a
common technique in the industry; however, prototyping remains weak in
linking the application domain with the user interface, and automated
prototyping is mostly limited to database-oriented integration in the overall
requirements engineering process.
Recently, the use of scenarios for requirements acquisition has gained a lot of
attention in the research community. Yet the applications most importantly, the
prototyping and the scenario approaches lack transition from scenarios to formal
specifications, the target of the requirements engineering process, remain illdefined.
TOPIC 4
W 67
4.2
68
TOPIC 4
present some details of the generic vocabulary and the advantages of this approach
in this paper. Based on our experience with UIML, we have learned that the generic
vocabulary is not sufficient to build interfaces for widely varying platforms, such as
Voice XML, handhelds (e.g., Palm PDAs) and desktops. In this paper, we describe
the preliminary results of a multi-step process of building multi-platform user
interfaces. It involves programming in UIML at different levels of abstractions with
the support of transformations that move the developers work from one
representation to the next. This paper presents our initial results on this area. The
language design for UIML was done in 1997 by a group of individuals that went on
to start the company Harmonica. At that time, the language was deemed too early
for commercial adoption, thus, the company development plans were put in hiatus
for a few years. Meanwhile research in UIML began at the Computer Science
Department at Virginia Tech. At the end of 1999, with the expansion of the Internet
and the adoption of HTML and other mark-up languages, it was deemed
appropriate to commercialise UIML. Since then, Harmonica has been creating
commercial tools to support the deployment of UIML to commercial environments.
In parallel, research continues on UIML at Virginia Tech. Support for UIML
continues to grow beyond these two organisations. For example, there was a
conference devoted to UIML in March 2001 held in France. More information on
UIML can be found at http://www.uiml.org.
ACTIVITY 4.1
Discuss with your friends and teacher about User Interface and
Building Generic User Interface.
TOPIC 4
W 69
SELF-CHECK 4.1
Fill in the blanks:
1.
2.
3.
4.
5.
4.3
4.3.1
70
TOPIC 4
4.3.2
UIML
The declarative XML-based language that can be used to define user interfaces is
UIML. The designing goals of UIML are to reduce the time to develop user
interfaces for multiple device families. A related design rationale Behind UIML
is to allow a family of interfaces to be created in which the common features are
factored out One of the primary design goals of UIML is to provide a canonical
format for describing interfaces that map to multiple devices. In this section we
present some of UIML's language features.
<?xml version="1.0" ?>
<!DOCTYPE uiml PUBLIC "-//Harmonia//DTD UIML 2.0 Draft//EN"
"UIML2_0g.dtd">
<uiml>
<head>...</head>
<interface>
<structure>...</structure>
<content>...</content>
<behavior>...</behavior>
<style>...</style>
</interface>
<peers>...</peers>
<template>...</template>
</uiml>
TOPIC 4
W 71
<Structure>
The relationships between the various UI elements within the interface, is
represented using. <Structure>: The physical organisation of the interface,
including each <structure> is comprised of different <part>s. Each part
represents the actual platform-specific UI Element and is associated with a
single class of UI elements. The particular category of UI elements in UIML
is represented by class in UIML. Different parts may be nested to
represent a hierarchical relationship. There might be more than one
structure in a UIML document representing different organisations of the
same UI.
(b)
<style>
A list of properties and values used to render the interface are stored in
style. The properties are usually associated with individual parts within the
UIML document through the part-names. Properties can also be associated
with particular classes of parts. The properties associated with parts for
Graphical User Interfaces (GUIs) could be the background colour,
foreground colour, font, etc. We can also implement multiple styles within
a single UIML document associated with multiple structures or even the
same structure. This facilitates the use of different styles for different
contexts.
72
TOPIC 4
(c)
<content>
The actual content associated with the various parts of the interface is
represented by content. A clean separation of the content from the structure
is useful when different content is needed under different contexts. This
feature of UIML is very helpful when creating interfaces that might be used
in multiple languages. An example of this is a UI in French and English, for
which separate content is needed.
(d)
<behaviour>
A set of conditions and associated actions within rules specified the
behaviour of an interface. UIML permits two types of conditions. The first
condition is when an event occurs, while the second is true when an event
occurs and the value of some data associated with the event is equal to a
certain value.
There are four kinds of actions that occur the first action is to assign a value to a
part's property. The second action is to call an external function or method. The
third is to fire an event and the fourth action is to restructure the interface.
Currently, there are platform-specific renderers available for UIML for a number
of different platforms. These include Java, HTML, WML, and Voice XML. Each of
these renderers has a platform-specific vocabulary associated with it to describe
the UI elements, their behaviour and layout. In this way, the generic vocabulary
is not a lowest-common-denominator approach. The generic UIML file would
then contain three <style> elements. One is for cross-platform style, one for
HTML, and one for Java UIs:
< uiml>
...
<style id="all Platforms">
<property id="g: title">My User Interface</property>
</style>
<style id="only HTML" source="all Platforms">
<property id="h: link-colour">red</property>
</style>
<style id="only Java" source="all Platforms">
TOPIC 4
W 73
SELF-CHECK 4.2
1.
2.
3.
4.
5.
6.
7.
4.4
The simple X forms defines how our form looks, what our form does, where the
form is of any type developed on any language. Traditional HTML Web forms do
not separate the purpose from the presentation of a form. This allows for flexible
presentation options, including classic XHTML forms, to be attached to an XML
form definition.
74
TOPIC 4
The following Figure 4.1 illustrates how a single device-independent XML form
definition, called the X Forms Model, and has the capability to work with a
variety of standard or proprietary user interfaces.
The main concept behind the X forms is that forms collect data, which is
expressed as XML instance data. The X Forms Model describes the structure of
the instance data. This is important, since like XML, forms represent a structured
interchange of data. Workflow, auto-fill, and pre-fill form applications are
supported through the use of instance data.
The X Forms User Interface provides a standard set of visual controls that are
targeted toward replacing todays XHTML form controls. These form controls are
directly usable inside XHTML and other XML documents, like SVG. Other
groups, such as the Voice Browser Working Group, may also independently
develop user interface components for X Forms.
TOPIC 4
W 75
Finally, there needs to be a channel for instance data to flow to and from the X
Forms Processor. For this, the X Forms Submit Protocol defines how X Forms
send and receive data, including the ability to suspend and resume the
completion of a form.
The following Figure 4.2 summarises the main aspects of X Forms.
4.4.1
(a)
(b)
(c)
The X forms provide dynamic access to server data sources during form
execution.
(d)
(e)
(f)
Richer user interface to meet the needs of business, consumer and device
control applications.
(g)
The X forms support for handheld, television, and desktop browsers, plus
printers and scanners.
76
TOPIC 4
(h)
(i)
The X form provide facility for multiple forms per page, and pages per
form.
(j)
EXERCISE 4.1
1.
2.
4.5
As we know that forms are used for collecting data, so its not we can say that the
most important concept in X Forms is instance data, an internal representation of
the data mapped to the familiar form controls. Instance data is based on XML and
defined in terms of X Path's internal tree representation and processing of XML.
It might seem strange at first to associate X Path and X Forms. X Path is best
known as the common layer between XSLT and X Pointer, not as a foundation for
web forms. As X Forms evolved, however, it became apparent that forms needed
greater structure than was possible with simple name-value pairs. With
structured data comes the need to reach into the instance data to connect or
bind form controls to specific parts of the data structure, hence X Path.
Since X Forms and XSLT are related through X Path, it is interesting to compare
the two technologies. XSLT is usually described in terms of three trees, usually
produced by parsing XML documents: XSLT with labelled source tree, style
sheet tree, and result tree and arrows.
(a)
From input sources, typically documents, a source tree and style sheet
tree are parsed into memory.
(b)
Processing of these two trees forms a third tree, the result tree.
(c)
X Forms processing is similar, but combines input and output into the same tree:
a single tree, labelled 'instance data', with arrows in and out.
TOPIC 4
W 77
(a)
(b)
Processing of the instance data involves interacting with the user and
recording any changes in the data.
4.6
ROLE OF WAP
WAP permits wireless device users to provide information from internet over
wireless network, without wasting a much time and cost. WAP permits mobile
devices to interact with application servers and information databases via the
internet. Applications can be animatedly downloading, uploaded and run on
WAP devices.
WAP is useful in numerous ways. Major profits of WAP are as below:
(a)
(b)
(c)
(d)
4.6.1
Benefits to Developers
WAP permits developers to generate applications with more features and raises
the price of application for the customer. WAP authorize developers to build up
applications that can be work across diverse types of devices, browsers, gateways
and networks. The wireless Transport Layer Security requirement of WAP
permits developers to simply integrate protection features into their applications.
4.6.2
WAP also supply support to WAP device inventers. WAP device producers have
multiplicity of WAP sustaining micro browsers like blazer and embider and
WAP operating systems like symbian and palmOS. By using WAP sustaining
micro browsers and operating system in to WAP device, manufactures can
extensively improve the worth of devices and users of WAP devices can access a
variety of applications and services produced by a big society of web developers
on WAP tools. Simultaneously, the producers are guaranteed that the micro
browser and WAP operating system will function across a broad series of WAP
gateways and networks without making any physical and rational modify in
hard ware of WAP tool.
78
4.6.3
TOPIC 4
WAP service provides also gain by cheering their client base to use WAP tools
and supplying support of WAP gateways themselves. They permit their clients to
a large number applications and content obtainable on the internet. Because
service providers manage the WAP gateway, they can also manage the home
page of their own WAP site. Bulky wireless content providers are recognized to
expend a vast quantity to get a space on the home pages of the service providers.
So that the WAP users can also access other wireless sites along with service
providers site.
4.6.4
Benefits to End-users
4.7
ROLE OF J2ME
J2ME GUI permits you to extend mobile applications having the appearanceand- feel, in addition to functionality of desktop applications. Mobile Java
developers are well conscious of the harsh boundaries of the integral user
interface offered by J2ME. The interface is totally at the sympathy of the virtual
machine with small or no control left to the developer. This is well for
throwaway small applications, but most saleable and bigger applications need
precise organization over their user interfaces, even if only for artistic functions.
Developers only have two real alternatives: Produce their own user interface by
means of low-level graphical directions, or use a third-party mobile GUI. There
TOPIC 4
W 79
are only a small number of mobile GUI libraries principles permitting for, but the
majority of them fall victim to some of the following troubles:
(a)
(b)
(c)
(d)
Because of these problems, many developers still end up developing their own
GUI libraries from scratch, potentially delaying their projects for months. Our
company faced the same problem when we started to develop our mobile
applications. Since we were unable to find a suitable mobile GUI library, we
decided to develop our own the J2ME GUI library.
4.8
ROLE OF BREW
Mobile phones are an ideal means of interaction with other populace together
with serving us to preserve our contact lists, to do lists etc. With time
supplementary features on these devices twisted them into Smart phones which
further offering phone functionality also acted as a Personal Digital Assistant. A
Smart phone also permits for setting up of new applications. In the light of ever
increasing list of functionalities, a Smart phone desires an efficient device to
organize them all an operating system. As of current circumstances there are a
number of smart phone operating systems like Symbian, Microsoft Windows
Mobile, Palm OS etc. BREW is also the one from this class.
4.8.1
BREW Overview
(a)
(b)
80
TOPIC 4
(c)
(d)
(e)
Small size about 150kB smaller than the rest of rival operating systems
in the market.
(f)
(g)
(h)
Supported classes
(b)
Supported applets
(c)
Applet details
(d)
Module Information file is produced with BREW MIF Editor tool incorporated in
SDK. Resource files can comprise speech and tool specific data for BREW
applications therefore facilitating the localization.
TOPIC 4
4.8.2
W 81
At its current Mobility Developer discussion, Microsoft laid out its procedure for
facilitating developers to generate next-generation location-aware applications.
The new platform involves some existing hardware, software, and services, in
addition to new server products designed to reduce the time to advertise for
corporations that desires to provide products relying on the platform to their
consumers.
Mobility Landscape
With the numeral new PCs procured each year (as divergent to those procured to
replace obtainable systems) commencing to reject, Microsoft known that the next
conflict will be fought for the software that is used by the millions of
transportable devices that will be procured over the next decade. Cell phones,
BlackBerrys, pagers, Palm-powered PCs, Pocket PCs, and most laptop and tablet
PCs will make up the huge mass of new computing tools. And they all have a
common process- they're de intended to function when not attached to the
corporate group. Furthermore, the huge mass of the tools will also not be
processing a Microsoft operating system. This means that Microsoft has to
discover a way to produce returns from the tools, and it has to offer its
consumers with a method to use its software to offer services on the tools.
SELF-CHECK 4.3
1.
2.
Hardware
There are three versions of Windows Mobile for various hardware devices:
Windows Mobile Professional runs on 'Windows Phones' (Smartphone) with
touch screens.
(a)
(b)
Classic.
82
TOPIC 4
The goal of a user interface design is to make the user's interaction as simple
and efficient as possible, in terms of accomplishing user goals what is often
called user centred design.
The goal of user interface design User interface design or user interface
engineering is the design of computers, appliances, machines, mobile
communication devices, software applications, and websites with the focus
on the user's experience and interaction. X Forms may be defined as an XML
format for the specification of a data processing model for XML data and user
interface(s) for the XML data, such as web forms, etc.
FSK
1.
2.
3.
4.