Results 1 - 10
of
32
Interactive Sketching for the Early Stages of User Interface Design
, 1995
"... Current interactive user interface construction tools are often more of a hindrance than a benefit during the early stages of user interface design. These tools take too much time to use and force designers to specify more of the design details than they wish at this early stage. Most interface desi ..."
Abstract
-
Cited by 171 (14 self)
- Add to MetaCart
Current interactive user interface construction tools are often more of a hindrance than a benefit during the early stages of user interface design. These tools take too much time to use and force designers to specify more of the design details than they wish at this early stage. Most interface designers, especially those who have a background in graphic design, prefer to sketch early interface ideas on paper or on a whiteboard. We are developing an interactive tool called SILK that allows designers to quickly sketch an interface using an electronic pad and stylus. SILK preserves the important properties of pencil and paper: a rough drawing can be produced very quickly and the medium is very flexible. However, unlike a paper sketch, this electronic sketch is interactive and can easily be modified. In addition, our system allows designers to examine, annotate, and edit a complete history of the design. When the designer is satisfied with this early prototype, SILK can transform the sket...
User Interface Software Tools
- ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION
, 1993
"... Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others ..."
Abstract
-
Cited by 109 (8 self)
- Add to MetaCart
Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.
Linguistic Support for the Evolutionary Design of Software Architectures
, 1996
"... As a program's functionality evolves over time, its software architecture should evolve as well, so that it continues to match the program's design. This paper introduces the architecture language of Clock, a language for the development of interactive, multiuser applications. This architecture lang ..."
Abstract
-
Cited by 14 (6 self)
- Add to MetaCart
As a program's functionality evolves over time, its software architecture should evolve as well, so that it continues to match the program's design. This paper introduces the architecture language of Clock, a language for the development of interactive, multiuser applications. This architecture language possesses three properties supporting the easy restructuring of software architectures: restricted scoping supported by a constraint-based communication system, automatic message routing, and easy hierarchical restructuring of architectures. Clock's architecture language has a visual syntax, supported by the ClockWorks programming environment. 1 Introduction Garlan and Perry describe the process of developing a software architecture as "[exposing] the dimensions along which a system is expected to evolve", and identifying the system's "load-bearing walls" [3]. Implicit in this analogy is that the internals of the architecture 's components may evolve over time, but that changing the ...
Separations of Concerns in the Chiron-1 User Interface Development and Management System
- In Proceedings of the Conference on Human Factors in Computing Systems
, 1993
"... The development of user interfaces for large applications is subject to a series of well-known problems including cost, maintainability, and sensitivity to changes in the operating environment. The Chiron user interface development system has been built to address these software engineering concerns ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
The development of user interfaces for large applications is subject to a series of well-known problems including cost, maintainability, and sensitivity to changes in the operating environment. The Chiron user interface development system has been built to address these software engineering concerns. Chiron introduces a series of layers that insulate components of an application from other components that may experience change. To separate application code from user interface code, user interface agents called artists are attached to application abstract data types. Operations on abstract data types within the application implicitly trigger user interface activities. Chiron also provides insulation between the user interface layer and the underlying system; artist code is written in terms of abstract depiction libraries that insulate the code from the specifics of particular windowing systems and toolkits. Concurrency is pervasive in the Chiron architecture. Inside an application there...
Hyperflow: A Visual Programming Language for Pen Computers
- in IEEE Workshop on Visual Languages
, 1992
"... This paper presents the design philosophy of the Hyperflow visual programming language. It also gives an overview of its semantic model. The primary purpose of the language is to provide a user interface for a pen-based multimedia computer system designed for school children. Yet it is versatile eno ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
This paper presents the design philosophy of the Hyperflow visual programming language. It also gives an overview of its semantic model. The primary purpose of the language is to provide a user interface for a pen-based multimedia computer system designed for school children. Yet it is versatile enough to be used as a system programming language. The concept of visually interactive process, vip in short, is introduced as the fundamental element of the semantics. Vips communicate with each other through exchange of signals, either discrete or continuous. Each vip communicates with the user through its own interface box by displaying on the box information about the vip and by receiving information pen-scribed on the box. There are four different communication modes: mailing, posting, channeling, and broadcasting. Mailing and posting are for discrete signals and channeling and broadcasting are for continuous signals. Simple Hyperflow programs are given for the purpose of illustration, in...
Demonstrational and Constraint-Based Techniques for Pictorially Specifying Application Objects and Behaviors
, 1995
"... The Lapidary interface design tool is a demonstrational system that allows the graphics and run-time behaviors that go inside an application window to be specified pictorially. In particular, Lapidary allows the designer to draw example pictures of application-specific graphical objects that the end ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
The Lapidary interface design tool is a demonstrational system that allows the graphics and run-time behaviors that go inside an application window to be specified pictorially. In particular, Lapidary allows the designer to draw example pictures of application-specific graphical objects that the end user will manipulate (such as boxes and arrows, or elements of a list), the feedback that shows which objects are selected (such as small boxes on the sides and corners of an object), and the dynamic feedback objects (such as hair-line boxes to show where an object is being dragged). The run-time behavior of all these objects can be specified in a straightforward way using constraints, demonstration, and dialog boxes that allow the designer to provide abstract descriptions of the interactive response to the input devices. Lapidary generalizes from these specific example pictures and behaviors to create prototype objects and behaviors from which instances can be made at run-time. A novel fea...
Reusing Single-user Applications to Create Multi-user Internet Applications
- Innovative Internet Computing Systems (I2CS), Ilmenau, June 21-22, 2001, LNCS 2060
, 2001
"... Although there are many groupware platforms existing nowadays, collaborative multi-user applications are not yet widely accepted by end-users. In contrast to single-user applications, groupware applications often still have prototypical character and are lacking software quality. In this paper we in ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
Although there are many groupware platforms existing nowadays, collaborative multi-user applications are not yet widely accepted by end-users. In contrast to single-user applications, groupware applications often still have prototypical character and are lacking software quality. In this paper we introduce a three-step approach for reusing existing single-user applications for collaboration-aware multiuser applications. The three-step approach is based upon on our toolkit DreamTeam and its extension DreamObjects. By offering services for communication and coordination as well as data management and user interface development they significantly simplify the transformation of single-user applications into collaboration-aware applications. At the end of the paper we validate our approach with two examples: a diagram tool and a publicly available spreadsheet tool.
The UniForM WorkBench - a Higher Order Tool Integration Framework
- In International Workshop on Current Trends in Applied Formal Methods
, 1998
"... . The UniForM Workbench is an open ended tool integration framework for developing (formal) Software Development Environments (SDE) from the basis of pre-fabricated off-the-shelf development tools. The integration framework provides support for data, control and presentation integration as well ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
. The UniForM Workbench is an open ended tool integration framework for developing (formal) Software Development Environments (SDE) from the basis of pre-fabricated off-the-shelf development tools. The integration framework provides support for data, control and presentation integration as well as utilities for wrapping Haskell interfaces around existing development tools. Entire SDE's are then glued together on the basis of these encapsulations using Concurrent Haskell as the integration language, thus allowing integration to be done at a level of abstraction that is very close to the one offered by constructive formal specifications. So far, the integration framework has successfully been used to integrate tools for Haskell program development as well as specification and proof tools for Z specifications. During the 80's there were several attempts to provide environments for synthesizing tightly integrated SDE's from the basis of abstract language specifications. The Sy...
Composing the user interface with Haggis
- Advanced Functional Programming: Second Interational School, LNCS #1129
, 1996
"... This tutorial presents Haggis, a graphical user interface framework written in the lazy functional language Haskell. The Haggis framework provides the programmer with a compositional view of graphical user interfaces, where complete GUI applications can be built by repeatedly composing together part ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This tutorial presents Haggis, a graphical user interface framework written in the lazy functional language Haskell. The Haggis framework provides the programmer with a compositional view of graphical user interfaces, where complete GUI applications can be built by repeatedly composing together parts. The individual user interface components are treated as virtual I/O devices that can be interacted with by the application just files and other `normal' devices. A key ingredient of Haggis is the use of concurrency to provide its compositional view of GUIs. 1 Introduction An important and interesting application area is graphical user interface applications. Haggis[6] is one Haskell[5] framework for composing such GUI applications within a functional language. Apart from being anchored in a lazy functional language, some of the important features of Haggis are: ffl A graphical user interface is treated as a virtual I/O device. A very common way of structuring a graphical user interface p...

