Conference PaperPDF Available

LCARS: the next generation programming context

Authors:

Abstract and Figures

In this paper, we present a high-level graphical language to develop pervasive applications based on a unique interface design. The language supports a wide range of programming constructs. Its graphical notation is based on the LCARS design, which is appealing to different target groups, based on their specific interests and requirements. We show that users can easily create pervasive applications using an LCARS-based user interface. The first step is to describe the technical context in which the application will execute. Based on this technical context, the UI offers a context-specific set of visual primitives. By composing these visual primitives on the screen, the user can specify the behavior of the application.
Content may be subject to copyright.
AVl 2OO6 - Context in Advanced Interfaces 23. May 2006, Venezia, Italy
LCARS – The Next Generation Programming Context
Andreas Heil
Universität Stuttgart
Universitätsstraße 38
70569 Stuttgart, Germany
andreas.heil@ipvs.uni-stuttgart.de
Iman Moradi
University of Huddersfield
Department of Creative Technologies
Canalside East, HD1 3DH, UK
i.moradi@hud.ac.uk
Torben Weis
Universität Stuttgart
Universitätsstraße 38
70569 Stuttgart, Germany
torben.weis@ipvs.uni-stuttgart.de
ABSTRACT
In this paper, we present a high-level graphical language to
develop pervasive applications based on a unique interface
design. The language supports a wide range of programming
constructs. Its graphical notation is based on the LCARS design,
which is appealing to different target groups, based on their
specific interests and requirements. We show that users can easily
create pervasive applications using an LCARS-based user
interface. The first step is to describe the technical context in
which the application will execute. Based on this technical
context, the UI offers a context-specific set of visual primitives.
By composing these visual primitives on the screen, the user can
specify the behavior of the application.
Categories and Subject Descriptors
H.5.2 [Information Interfaces and Presentation (e.g., HCI)]:
User Interfaces – Graphical user interfaces (GUI), Interaction
styles (e.g., commands, menus, forms, direct manipulation);
H.1.2 [Models and Principles]: User/Machine Systems – Human
factors.
General Terms
Design, Human Factors, Languages.
Keywords
Visual Programming Languages, VRDK, Robots, Model-Driven
Software Engineering, Context, Ubiquitous Computing.
1. INTRODUCTION
In the 1980s Michael Okuda designed a new kind of user interface
(UI) known as Library Computer Access and Retrieval System
(LCARS) [9]. The name originally stands for the main computer
onboard of Galaxy-class starships of the television series Star
Trek: The Next Generation [2] but it is also used for the colorful
interface featured in the television series. Based on this design
which is commonly appropriated on many fan websites, a
community approach tried to develop and publish a standardized
layout and color scheme to investigate if it is possible to assign
real functionality to the fictional interface and to use the LCARS
in a manner in which it was meant to be utilized in within the
series [8]. Inspired by this idea, the Visual Robot Development
Kit (VRDK) [5] UI was developed to create an easy accessible
interface to program systems related to their current context rather
then the specific platform the code has to be developed for.
Beside this, we point out a specific feature of the UI that enables
you to abstract the appearance of several UI elements by
presenting these elements to the user in an appropriate context.
This paper is organized as follows. In the next Section we discuss
related work. In Section 3 we describe the VRDK user interface
and overall features of the system. Section 4 addresses the
context-related programming building blocks and their usage. We
conclude with a summary of the lessons learned and an overview
of future work on this topic.
2. RELATED WORK
Several kinds of visual programming languages exist already.
Two that have been around for over 15 years and cater to
professionals within science and the arts, are LabVIEW [7] and
Max/MSP [3]. LabVIEW provides a graphical programming
language, which focuses on the design, control, and testing of
embedded systems, industrial monitoring, and a variety of
automated tests and measurements. Max/MSP is widely used by
performers, composers, and musicians to synthesize sample and
process signals in an intuitive visual way. Core graphical
elements used in Max/MSP can be modified using different user
specified object names thus changing their current context. Both
approaches have a tendency to allow users free reign over layout
without providing many helpful cues.
3. THE LCARS APPROACH
Inspired by the distinguishable qualities of the LCARS interface
elements, the VRDK design introduces several visual concepts for
interacting with the application. For a seamless integration of the
programming environment, the LCARS design was applied to the
entire VRDK application. As we learnt the chosen interface had
three elements, which made it very enjoyable to use: In [6]
challenge1, fantasy2, and curiosity3 are mentioned as the three
building blocks which make the user experience captivating and
enjoyable.
Figure 1. Applied LCARS style
1 Finding and testing the capabilities of the tool.
2 The Star Trek Television series associations.
3 Discovering a new interface.
AVl 2OO6 - Context in Advanced Interfaces 23. May 2006, Venezia, Italy
As depicted in Figure 1, standard UI elements were replaced by
LCARS inspired elements. The regions depicting Process,
Function as well as Hardware are the equivalents to tabs, while
Ink, Mouse, and Erase can be understood and operated as a group
of radio buttons. With the same appearance Run complies with the
functionality of a button. Finally, the image also shows a textbox
that contains the text VRDK. Users can identify the purpose of
each UI element in relation to its particular semantic space [4]
without explicit reference to common design conventions.
The first step in developing a new application model is to set up a
specific technical context, which has to be composed (cf. Figure
2). Additional entities available for composing a context can be
easily created and added as plug-ins.
Figure 2. Composing a programming context
Related to the aforementioned context composition, the user gains
access to specific commands and functions. By adding new
elements to the technical context, new iconic programming
elements are added to the UI. Figure 3 shows an increasing
variety of programming elements as new devices and software
components extend the technical context.
Figure 3. Context related programming elements
Often, non-traditional audiences are the target users of visual
programming languages [1]. We can identify several groups of
users who may benefit from the system: Young children (6-12
years) benefit from the context-related availability of commands
and functionality, focusing on the particular topic of interest.
Children (12-16 years) are interested because they are driven by
exploration and the learning of new things as well as working
with systems, which present a playful challenge. Young People
and adults (16-50) as well as elderly people (50 and above)
benefit from simple uncluttered interfaces.
4. CONTEXT RELATED VISUAL TOKENS
The visual programming language used in the VRDK is based on
a context-free grammar. Each iconic programming element
available for programming is in turn a rule or a terminal symbol
of this grammar. These iconic elements are henceforth named
visual tokens [1]. In contrast to many other approaches (cf.
Section 2), the VRDK supports all major programming constructs
as shown in Figure 4.
Figure 4. Major programming constructs as visual tokens
General programming tasks can be modeled by the visual tokens
without setting a specific technical context. By adding additional
devices or software components to a context view, new visual
tokens become available within the UI. The color scheme of the
visual tokens is predominately chosen to support the user in
identifying specific constructs, such as control constructs or
statements. By extending the technical context, additional
commands and statements become available as shown in Figure 3.
Removing entities from the context implicates the removal of
related commands and statements from the visual token palette.
Therefore, VRDK verifies the model before the removal of any
element takes place. Consequently, any inconsistencies will be
made apparent to the user. If the specific entity and thus the
related visual tokens are used within the model, this conflict must
be resolved before the removal is processed as indicated in Figure
5.
Basic Controls
Constructs Extended Set of
Control Constructs
Empty Context Extended Context
Expand Context
Reduce Context
Figure 5. Modifying context
It is important to note that the context can be composed and
evaluated without the physical presence of the particular entities
used within the context view. The major benefit in this approach
lies in the possibility of testing and simulating the application
model without any risk or real world consequences.
5. OUTLOOK AND FUTURE WORK
In this paper, we have presented a user interface, inspired by a
well-known design from a popular television series. Two different
kinds of views on context can be observed: The first instance
relates to how the UI abstracts conventional expectations of how
UI elements behave. Their usage appears within the direct context
of the element and the user can easily identify them as interaction
ready buttons, radio buttons, or textboxes. Furthermore, the
VRDK allows users to develop graphical models by composing
rather than writing source code. As a benefit for the user, they can
observe changes within the model immediately. In addition, an
international experiment is planned to evaluate the effectiveness
of this visual programming language and its adoption by students
who are not formally trained in being programmers who possess
AVl 2OO6 - Context in Advanced Interfaces 23. May 2006, Venezia, Italy
none or very little knowledge of programming methodology. A
further question to be investigated is the significance of the user’s
cultural background in their experience of using the system. Also
related to this is the question of how being oblivious to the
television series4 may affect the usage of VRDK.
6. REFERENCES
[1] Emerging Technologies. Handbook of Software
Engineering and Knowledge Engineering, ed. S.K.
Chang. Vol. 2. 2002: World Scientific Publishing
[2] CBS Studio Inc., STARTREK.COM - Website (2006):
http://www.startrek.com (06.04.2006).
[3] Cycling '74, Max/MSP - Website (2006): (05.04.2006).
[4] Kaplan, N. and Moulthrop, S.: Where No Mind Has
Gone Before: Ontological Design for Virtual Spaces. In
European Conference on Hypermedia Technologies.
1994. p. 206-216.
[5] Knoll, M., et al. Scripting your Home. In 2nd
International Workshop on Location- and Context-
Awareness (LoCA 2006). 2006. Dublin, Ireland.
4 As far as this is possible.
[6] Malone, T.W.: Heuristics for Designing Enjoyable User
Interfaces: Lessons from Computer Games. In
Conference on Human Factors in Computing Systems.
1982. Gaithersburg, Maryland, United States: ACM
Press. p. 63-68.
[7] National Instruments Corporation: LabVIEW - The
software that powers virtual instrumentation - Website
(2006): (07.03.2006).
[8] Rossi, C.: LCARS Standards Development Board -
Website (2006): http://www.lcarsdeveloper.com
(06.04.2006).
[9] Wikipedia: LCARS - Website (2006):
http://en.wikipedia.org/wiki/Lcars (06.04.2006).
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
Our homes and lives are as individual as ourselves. Many aspects, such as technical equipment, furniture, and usage patterns in these surroundings differ. Thus, personalization of applications that operate in such environments is required. The challenge for tools and programming paradigms is to provide a powerful but yet easy-to-use platform. In this paper we illustrate how our visual scripting language puts these requirements for programming ubiquitous computing environments into action.
Chapter
Full-text available
In this paper, we describe how software processes can be supported using knowledge management, concentrating on the creative manual tasks performed bydevelopers. The main support needed by developers is the availability of the knowledge about the development processes relevant to their task. As a result, software process modeling can be considered as a knowledge management task. The paper provides an overview of the knowledge needed by developers. It then reviews various approaches to knowledge representation including artificial intelligence, structured plain text, and software process modeling approaches, to identify representation schemes suitable for software processes. Finally, the paper looks at the management aspects of software process knowledge.
Article
In this paper, I will discuss two questions: (1) Why are computer games so captivating? and (2) How can the features that make computer games captivating be used to make other user interfaces interesting and enjoyable to use? After briefly summarizing several studies of what makes computer games fun, I will discuss some guidelines for designing enjoyable user interfaces. Even though I will focus primarily on what makes systems enjoyable, I will suggest how some of the same features that make systems enjoyable can also make them easier to learn and to use.
Article
Hypermedia designers have tried to move beyond the directed graph concept, which defines hypermedia structures as aggregations of nodes and links. A substantial body of work attempts to describe hypertexts in terms of extended or global spaces. According to this approach, nodes and links acquire meaning in relation to the space in which they are deployed. Some theory of space thus becomes essential for any advance in hypermedia design; but the type of space implied by electronic information systems, from hyperdocuments to “consensual hallucinations,” requires careful analysis. Familiar metaphors drawn from physics, architecture, and everyday experience have only limited descriptive or explanatory value for this type of space. As theorists of virtual reality point out, new information systems demand an internal rather than an external perspective. This shift demands a more sophisticated approach to hypermedia space, one that accounts both for stable design properties (architectonic space) and for unforseen outcomes, or what Winograd and Flores call “breakdowns.” Following Wexelblat in cyberspace theory and Dillon, McKnight, and Richardson in hypermedia theory, we call the domain of these outcomes semantic space. In two thought experiments, or brief exercises in interface design, we attempt to reconcile these divergent notions of space within the conceptual system of hypermedia.