Results 1 - 10
of
35
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.
A Specification Language for Direct Manipulation User Interfaces
- ACM TRANSACTIONS ON GRAPHICS
, 1986
"... A direct manipulation user interface presents a set of visual representations on a display and a repertoire of manipulations that can be performed on any of them. Such representations might include screen buttons, scroll bars, spreadsheet cells, or flowchart boxes. Interaction techniques of this ..."
Abstract
-
Cited by 65 (10 self)
- Add to MetaCart
A direct manipulation user interface presents a set of visual representations on a display and a repertoire of manipulations that can be performed on any of them. Such representations might include screen buttons, scroll bars, spreadsheet cells, or flowchart boxes. Interaction techniques of this kind were first seen in interactive graphics systems; they are now proving effective in user interfaces for applications that are not inherently graphical. While they are often easy to learn and use, these interfaces are also typically difficult to specify and program clearly. Examination of
ConMan: A Visual Programming Language for Interactive Graphics
- Computer Graphics
, 1988
"... Traditionally, interactive applications have been difficult to build, modify and extend. These integrated applications provide bounded functionality, have a single thread of control and a fixed user interface that must anticipate every-thing the user will need. Current workstations allow several pro ..."
Abstract
-
Cited by 59 (0 self)
- Add to MetaCart
Traditionally, interactive applications have been difficult to build, modify and extend. These integrated applications provide bounded functionality, have a single thread of control and a fixed user interface that must anticipate every-thing the user will need. Current workstations allow several processes to share the screen. With proper com-munication between processes, it is possible to escape previous models for application develop-ment and evolution. ConMan is a high-level visual language we use on an IRIS workstation that lets users dynamically build and modify graphics applica-tions. To do this, a system designer dis-integrates complex applications into modular components. By interactively connecting simple components, the user constructs a complete graphics application that matches the needs of a task. A connection manager controls the flow of data between individual components. As a result, we replace the usual user-machine dialog with a dynamic live performance that is orches-trated by the user.
Building User Interfaces by Direct Manipulation
, 1993
"... this paper achieves this goal by separating the user interface from the application program, as is done in many user interface management systems [Pfaff 83], and by using a user interface editor to build the interfaces. In a sense, we apply the direct manipulation style [Schneiderman 83] characteris ..."
Abstract
-
Cited by 36 (0 self)
- Add to MetaCart
this paper achieves this goal by separating the user interface from the application program, as is done in many user interface management systems [Pfaff 83], and by using a user interface editor to build the interfaces. In a sense, we apply the direct manipulation style [Schneiderman 83] characteristic of user interfaces to the very process of building them, as opposed to building them by programming. The disadvantage is that we have to determine fixed but sufficiently general classes of user interfaces that can be assembled by direct interaction and yet cover most of the common cases. However, we gain a method of easily constructing, modifying, maintaining and customizing interfaces
Genuinely functional user interfaces
- In Proceedings of the 2001 Haskell Workshop
, 2001
"... Fruit is a new graphical user interface library for Haskell based on a formal model of user interfaces. The model identifies signals (continuous time-varying values) and signal transformers (pure functions mapping signals to signals) as core abstractions, and defines GUIs compositionally as signal t ..."
Abstract
-
Cited by 33 (3 self)
- Add to MetaCart
Fruit is a new graphical user interface library for Haskell based on a formal model of user interfaces. The model identifies signals (continuous time-varying values) and signal transformers (pure functions mapping signals to signals) as core abstractions, and defines GUIs compositionally as signal transformers. In this paper, we describe why we think a formal denotational model of user interfaces is useful, present our model and prototype library implementation, and show some example programs that demonstrate novel features of our library.
Concurrent ML: Design, Application and Semantics
, 1993
"... Machine" [BB90], except that there are no "cooling" and "heating" transitions (the process sets of this semantics can be thought of as perpetually "hot" solutions). The concurrent evaluation relation extends "7\Gamma!" to finite sets of terms (i.e., processes) and adds additional rules for process c ..."
Abstract
-
Cited by 31 (0 self)
- Add to MetaCart
Machine" [BB90], except that there are no "cooling" and "heating" transitions (the process sets of this semantics can be thought of as perpetually "hot" solutions). The concurrent evaluation relation extends "7\Gamma!" to finite sets of terms (i.e., processes) and adds additional rules for process creation, channel creation, and communication. We assume a set of process identifiers, and define the set of processes and process sets as: ß 2 ProcId process IDs p = hß; ei 2 Proc = (ProcId \Theta Exp) processes P 2 Fin(Proc) process sets We often write a process as hß; E[e]i, where the evaluation context serves the role of the program counter, marking the current state of evaluation. Definition4. A process set P is well-formed if for all hß; ei 2 P the following hold: -- FV(e) = ; (e is closed), and -- there is no e 0 6= e, such that hß; e 0 i 2 P. It is occasionally useful to view well-formed process sets as finite maps from ProcId to Exp. If P is a finite set of process state...
A multi-threaded higher-order user interface toolkit
- User Interface Software
, 1993
"... This paper describes eXene, a user interface toolkit implemented in a concurrent extension of Standard ML. The design and use of eXene is inextricably woven with the presence of multiple threads and a high-level language. These features replace the object-oriented design of most toolkits, and provid ..."
Abstract
-
Cited by 31 (3 self)
- Add to MetaCart
This paper describes eXene, a user interface toolkit implemented in a concurrent extension of Standard ML. The design and use of eXene is inextricably woven with the presence of multiple threads and a high-level language. These features replace the object-oriented design of most toolkits, and provide a better basis for dealing with the complexities of user interfaces, especially concerning such aspects as type safety, extensibility, component reuse and the balance between the user interface and other parts of the program. 1
Synchronization Transformations for Parallel Computing
- In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages
, 1997
"... ion Transformations Since the synchronization transformations deal primarily with the movement and manipulation of synchronization nodes, it is appropriate for the compiler to use an abstract, simplified representation of the actual computation in the ICFG. The compiler can therefore apply several t ..."
Abstract
-
Cited by 24 (8 self)
- Add to MetaCart
ion Transformations Since the synchronization transformations deal primarily with the movement and manipulation of synchronization nodes, it is appropriate for the compiler to use an abstract, simplified representation of the actual computation in the ICFG. The compiler can therefore apply several transformations that replace concrete representations of computation with more abstract representations. The end result is a simpler and smaller ICFG, which improves the performance and functionality of the synchronization optimization algorithms. The transformations are as follows: ---Node Abstraction: A connected set of assignment, conditional nodes or summary nodes with a single incoming edge and a single outgoing edge is replaced by a single summary node. Figure 2 presents this transformation. \Delta 5 ---Procedure Abstraction: The invocation of a procedure that consists only of assignment, conditional nodes or summary nodes is replaced with a single node summarizing the execution of t...
Creating highly-interactive and graphical user interfaces by demonstration
- Computer Graphics
, 1986
"... It is very time-consuming and expensive to create the graphical, highly-interactive styles of user interfaces that are increasingly common. User Interface Management Systems (UIMSs) attempt to make the creation of user interfaces easier, but most existing UIMSs cannot create the low-level interactio ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
It is very time-consuming and expensive to create the graphical, highly-interactive styles of user interfaces that are increasingly common. User Interface Management Systems (UIMSs) attempt to make the creation of user interfaces easier, but most existing UIMSs cannot create the low-level interaction techniques (pop-up, pull-down and fixed menus, on-screen "light buttons", scroll-bars, ela-borate feedback mechanisms and animations, etc.) that are frequently used. This paper describes Peridot, a system that automatically creates the code for these user inter-faces while the designer demonstrates to the system how the interface should look and work. Peridot uses rule-based inferencing so no programming by the designer is required, and Direct Manipulation techniques are used to create Direct Manipulation interfaces, which can make full use of a mouse and other input devices. This allows extremely rapid protetyping of user interfaces.

