157 research outputs found
A Usability Study of End-User Construction of Direct Manipulation User Interfaces
This paper describes an empirical study of end-users that tested the usability of The Programmers\u27 Playground graphical environment. The Programmers\u27 Playground is a software library and run-time system for constructing distributed multimedia applications. Playground\u27s graphical environment enables end-users to create direct manipulation graphical user interfaces (GUIs) and to dynamically configure communication among distributed application components. In this study, 28 end-users with no prior experience in distributed computing or user interface construction were timed and evaluated on several tasks using our graphical environment. Tasks included the use of direct and indirect constraint relationships, visual configuration of distributed applications, and graphical user interface construction. The results show that a wide variety of end-users (i.e., not just programmers) can learn and apply these concepts, utilizing our graphical environment to constructe distributed multimedia applications
The Playground Mediator: Visual Tool for Configuring and Debugging Distributed Applications
The Mediator is a visual configuration tool for use with The Programmers\u27 Playground distributed programming environment. With the Mediator, one can interactively launch distributed application modules, configured communication among the modules, observe communication patterns, interactively control module communication, kill running modules, and receive imported applications from a separate World Wide Web interface. This manual describes how to use the Mediator both as a stand-alone configuration tool and as a visual interface to the Playground Application Management System
User Interface Applications of a Multi-way Constraint Solver
Constraints are widely recognized as a useful tool for user interface constructino. Through constraints, relationships among user interface components can be defined declaratively, leaving the task of relationship management to a constraint solver. Multi-way constraint solvers supporting constraint hierarchies provide a means to specify preferential constraint relationships with a dynamically changing computation flow, making them especially well suited to interactive user interfaces. However, previous such constraint solvers lack the ability to enforce inequalities or to effectively handle cyclic constraint relationships. These deficiencies limit the problems that could be solved using a constraint-based approach. This paper presents a new algorithm called UltraBlue for solving hierarchies of multi-way constraints and discusses its application to the architecture of the EUPHORIA user interace management system. Contributions of UltraBlue include a value consistency mechanism for maintaining arbitrary assertoins (e.g., inequality relationships) and a cycle avoidance heuristic algorithm for eliminating cyclic constraint relationships. Cycles of constraints are resolved with respect to each constraint\u27s relative strength, making it possible to construct acyclic constraint graphs that can be effectively solved, while preferring constraints of greater importance
End-User Visualization and Manipulation of Distributed Aggregate Data
Aggregate visualization and manipulation enables the viewing and interaction of dynamically changing data sets in a graphically meaningful way. However, off-the-shelf applications typically provide only limited ways to view static aggregates and generally do not support manipulation of aggregate data through the resulting visualization. To be fully dynamic, an aggregate visualization should be customizable to suit the individual's needs and should allow end-users to modify the data through direct manipulation. This paper describes a software system that empowers end-users to create interactive aggregate visualizations through a visual language interface. Included are mechanisms for specifying how aggregate data is processed from multiple sources of a distributed application, providing functionality similar to project, select, join, and cross product of relational databases. This approach gives end-users the power to create customized, interactive visualizations of dynamically changing ..
Visual Specification of Interprocess and Intraprocess Communication
We present a visual specification language for constructing distributed applications and their direct manipulation graphical user interfaces. Each distributed application consists of a collection of independent modules and a configuration of logical connections that define communication among the data interfaces of the modules. Our specification language uses a single visual mechanism that allows end-users to define interprocess communication among distributed modules and to define intraprocess communication among objects within a module. This seamless specification provides a general encapsulation/abstraction mechanism and is designed to support dynamic change to the communication structure. User interfaces are completely decoupled from the module(s) they control
EUPHORIA Reference Manual
EUPHORIA is a user interface management system that enables end-users to create direct manipulation graphical user interfaces (GUIs) through interactive drawing. Used in conjunction with The Programmers\u27 Playground, a distributed programming environment, end-users can dynamically create and associate GUI components with an underlying application without programming, This document describes EUPHORIA\u27s functionality
EUPHORIA: End-User Construction of Direct Manipulation User Interfaces for Distributed Applications
The Programmers\u27 Playground is a software library and run-time system for creating distributed multimedia applications from collections of reusable software moduels. This paper presents the design and implementation of EUPHORIA, Playground\u27s user interface management system. Implemented as a Playground module, EUPHORIA allows end-users to create direct manipulation graphical user interfaces (GUIs) exclusively through the use of a graphics editor. No programming is required. At run-time, attributes of the GUI state can be exposed and connected to external Playground modules, allowing the user to vosualize and directly manipulate state information in remote Playground modules. Features of EUPHORIA include real-time direct manipulation graphics, constraint-based editing and visualization, imaginary alignment objects, user-definable types, and user-definable widgets with alternative representations
The Programmers\u27 Playground Application Management System User Guide
Application Management permits the advertising, launching, and configuring of distributed applications created using the Programmers\u27 Playground. Applications can be documented and made available to end-users through the use of application pages on the World Wide Web. The launching and configuring of applications is performed by a brokerage system consisting of an applicatoin broker and one or more hierarchies of module launchers. This document describes how to setup and use the components of the Application Management system
Application Development and Management in The Programmers\u27 Playground
Application management refers to the process of making software applications available to end-users and providing automated mechanisms for launching and joining such applications. The Programmers\u27 Playground is a computing environment for creating distributed applications from modular, reusable components. This paper discusses a set of tools that enable application developers to: (1) design and debug Playground distributed applications from existing off-the-shelf components using a visual configuration tool, (2) make new application components available on the Internet through a launcher service, and (3) make complete distributed applications available via a World Wide Web interface, enabling end-users to launch and join the applications interactively. Our system automates the tasks involved in launching distributed applications. This system is completely general-purpose; no programming is required to customize it for particular applications
- …