Title: Past, Present, and Future of User Interface Software Tools
1Chapter 10
Past, Present, and Future of User Interface
Software Tools
2Introduction
- Research in the area of user interface software
has had an enormous impact on todays software
development. - Virtually all applications today are built using
window managers, toolkits, and interface builders
that have their roots in the research of the 70s,
80s, and 90s.
3Homogeneity Sophistication
- Most applications on Windows, UNIX, and Mac look
and work in very similar fashions, primarily
using a small set of constructs invented 15 or
more years ago. - Hardware has stabilized on the desktop machine.
4New Problems
- Many feel opportunities for improved graphical
interfaces are being lost to stagnation. - Many conventional techniques cannot be applied to
newer technology stating to emerge (PDAs,
digital cell phones, etc.) - This leads to dramatic increase in diversity.
5Evaluating Themes
- Themes that are important in determining
successful tools - Parts of the user interface that are addressed
- Threshold and ceiling
- Path of least resistance
- Predictability
- Moving Targets
610.2.1 Historical Perspective
Parts of the User Interface Threshold /
Ceiling Path of Least Resistance Predictability Mo
ving Target
710.2.2 What Worked
User Interface Tools have had a tremendous impact
on software development. An example of current
generation environment would be Microsoft OLE.
810.2.2.1 Windows Managers and Toolkits
Windows Managers provide a basic programming
model for drawing and screen update.Toolkits
make managing the creation of interfaces a much
easier process.
910.2.2.2 Event Languages
With Event Languages, events are properly sorted
to programs which contain the necessary code to
complete the task.Event Languages also
encourage the use of Mode-Free styles of
interfaces.
1010.2.2.3 Interactive Graphical Tools
These tools help the user to create windows and
dialogue boxes using interactive, graphical
menus.By using graphical means to express
graphical concepts, the developer can better
understand what is to be done.
1110.2.2.4 Component Systems
Example
Different components can take place within other
components.(EX.) A drawing program can be
implemented inside a writing program.
1210.2.2.5 Scripting Languages
The first toolkits were developed using
programming languages that were
interpreted.Combing different ideas (Scripting,
Components, and Interface Builders) has had major
success.
1310.2.2.6 Hypertext
Hypertext attained amazing popularity with the
creation of the World Wide Web. Its easy to
understand creation process is key to its
success.
1410.2.2.7 Object-Oriented Programming
Uses visible objects when programming to create a
better understanding of the end product.
1510.2.3 Promising Approaches That Have Not Caught
On
With standardization came the lack of a need for
tools which appealed to a wide variety of
styles. As they were created, research and ideas
changed.
1610.2.3.1 User Interface Management Systems
User Interface Management Systems offered a
higher degree of customization and control.
1710.2.3.2 Formal Language-Based Tools
Formal Language-Based Tools fell victim to the
moving target problem. It involved dialogue
management taking a very central role. While it
was able to manage systems well, it grew obsolete
as better ideas were implemented.
1810.2.3.3 Constraints
Constraints are declared once and maintained
automatically by the system. Constraint systems
offer simple, declarative specifications for a
capability useful in implementing several
different aspects of an interface.
1910.2.3.4 Model-Based and Automatic Techniques
Users implement the functionality and relies on
the system to create the interfaces.Unfortunatel
y, these systems proved too unpredictable and
became obsolete.
2010.3.1 Computers Becoming a Commodity
As time progresses, the hardwares level of
sophistication rises while cost of such hardware
diminishes.
http//www.transhumanist.com/volume1/moravec.htm
2110.3.2.1 Varying Input and Output
Capabilities 10.3.2.2 Tools to Rapidly Prototype
Devices
We cannot assume we are going to use the same I/O
as in the past with new, ubiquitous computing
devices.
2210.3.3 Recognition-Based User Interfaces
The system must be able to recognize the input
(hence recognition-based). I.E. speech, facial
expressions, hand motions, handwriting
recognition, etc. The system must be able to
interpret the new inputs. The system must be able
to give feedback on what it perceives to be the
input.
2310.3.2.3 Tools for Coordinating Multiple,
Distributed Communicating Devices
These new devices must be able to communicate
with one another and sync the data they contain
to be truly useful. This kind of connectivity,
given the circumstances, must be provided at a
low level in the hardware (bluetooth, 802.11) and
OS.
2410.3.4 Three-Dimensional Technologies
The two-dimension approach to interfaces resemble
paper. A new three-dimensional approach required
the designer and user to thing on new techniques
and metaphors. Suns Looking Glass environment is
already making headway into this 3D space. Also,
Microsofts future OS, Longhorn, will most likely
have a 3D environment.
http//wwws.sun.com/software/looking_glass/
2510.3.5 End-User Programming, Customization, and
Scripting
Taking the theory of spreadsheets which allow
users to program and manipulate data, future
systems should make it easier for the user to
program. This will facilitate user customization
to increase productivity. Needs to be developed
in the OSs toolkit, not by a separate, compiler
identity.
10.1
2610.3.6 Further Issues for Future Tools
-Skill and dexterity levels of users -Non-overlapp
ing layout or rectangular and opaque interactive
components -Using fixed libraries of interactive
components -Interactive setting -Requiring the
users full attention -Support for
evaluation -Creating usable interfaces
27OS Issues
- Some capabilities must be provided at a very low
level for it to make intelligent choices (ex.
Windows CE for palm devices cannot find out what
type of hardware buttons are available on the
PDA). - Todays network interfaces cannot decide how fast
a connection is available.
28OS Issues Cont.
- Interfaces of the future will need to be able to
make intelligent choices based on knowledge of
the current systems capabilities and connections
to its environment. - Ideally, all of the required capabilities with be
packed with the operating system.
29Conclusion
- Research and innovation in tools lead the
innovation of user interface design, and has made
an enormous impact on software development. - Design is poised for a radical change with the
rise in new technologies such as
recognition-based user interfaces, 3D, etc.
30Conclusion
- It is believed that future tools will be based
around the ability to provide info about the
user, devices, and the applications state,
rather than events. - It is recommended that future tools aim for a low
threshold, so that they are easy to use but can
still provide a high ceiling.
31Conclusion
- Predictability is a key attribute, and should not
be sacrificed to make tool smarter. - These new challenges provide new opportunities
and research problems for the user interface
tools of tomorrow.