Results 1 - 10
of
50
Usability Analysis of Visual Programming Environments: a `cognitive dimensions' framework
- JOURNAL OF VISUAL LANGUAGES AND COMPUTING
, 1996
"... The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. T ..."
Abstract
-
Cited by 510 (13 self)
- Add to MetaCart
The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. The purpose of this paper is to propose the framework as an evaluation technique for visual programming environments. We apply it to two commercially-available dataflow languages (with further examples from other systems) and conclude that it is effective and insightful; other HCI-based evaluation techniques focus on different aspects and would make good complements. Insofar as the examples we used are representative, current VPLs are successful in achieving a good `closeness of match', but designers need to consider the `viscosity' (resistance to local change) and the `secondary notation' (possibility of conveying extra meaning by choice of layout, colour, etc.).
Agentsheets: A Medium for Creating Domain-Oriented Visual Programming Languages
- IEEE Computer(March
, 1995
"... representations enable end users to achieve their programming goals. Here, designers work with users to tailor visual programming languages to specific problem domains. 0018-9162/95/$4.00 0 1995 IEEE n the high-technology workplace, many professionals work in domains that involve the analysis of com ..."
Abstract
-
Cited by 94 (15 self)
- Add to MetaCart
representations enable end users to achieve their programming goals. Here, designers work with users to tailor visual programming languages to specific problem domains. 0018-9162/95/$4.00 0 1995 IEEE n the high-technology workplace, many professionals work in domains that involve the analysis of complex, dynamic systems. These I systems include computer networks and user interfaces. To cope with the complexity intrinsic to these domains, environments for visualizing and interacting with dynamic processes are essential. Using current tech-nology, creating and modifying such environments often requires tradi-tional computer science programming skills. However, the professionals working in these domains typically are not formally trained in comput-
An Ethnographic Study of Distributed Problem Solving in Spreadsheet Development
, 1990
"... In contrast to the common view of spreadsheets as “single-user ” programs, we have found that spreadsheets offer surprisingly strong support for cooperative development of a wide variety of applications. Ethnographic interviews with spreadsheet users showed that nearly all of the spreadsheets used i ..."
Abstract
-
Cited by 53 (1 self)
- Add to MetaCart
In contrast to the common view of spreadsheets as “single-user ” programs, we have found that spreadsheets offer surprisingly strong support for cooperative development of a wide variety of applications. Ethnographic interviews with spreadsheet users showed that nearly all of the spreadsheets used in the work environments studied were the result of collaborative work by people with different levels of programming and domain expertise. Cooperation among spreadsheet users was spontaneous and casual; users activated existing informal social networks to initiate collaboration.
A Programming System for Children that is Designed for Usability
, 2002
"... A programming system is the user interface between the programmer and the computer. Programming is a notoriously difficult activity, and some of this difficulty can be attributed to the user interface as opposed to other factors. Historically, the designs of programming languages and tools have not ..."
Abstract
-
Cited by 47 (1 self)
- Add to MetaCart
A programming system is the user interface between the programmer and the computer. Programming is a notoriously difficult activity, and some of this difficulty can be attributed to the user interface as opposed to other factors. Historically, the designs of programming languages and tools have not emphasized usability. This thesis describes a new process for designing programming systems where HCI knowledge, principles and methods play an important role in all design decisions. The process began with an exhaustive review of three decades of research and observations about the difficulties encountered by beginner programmers. This material was catalogued and organized for this project as well as for the benefit of other future language designers. Where questions remained unanswered, new studies were designed and conducted, to examine how beginners naturally think about and express problem solutions. These studies revealed ways that current popular programming languages fail to support the natural abilities of beginners. All of this information was then used to design HANDS, a new programming system for children. HANDS is an event-based system featuring a concrete model for computation
Programmable Applications: Interpreter Meets Interface
- SIGCHI Bulletin
, 1995
"... Current fashion in "user-friendly" softw overreliance on direct manipulation inte: (and thus trhly user-friendly), applicatk faes and domain-enriched languages th This paper discusses some of the desigqr ation of such programmable applications,5 "SchemePaint," a graphics ap ..."
Abstract
-
Cited by 33 (4 self)
- Add to MetaCart
Current fashion in "user-friendly" softw overreliance on direct manipulation inte: (and thus trhly user-friendly), applicatk faes and domain-enriched languages th This paper discusses some of the desigqr ation of such programmable applications,5 "SchemePaint," a graphics application t interface with an interpreter for (a "gral; Copyright ) Massachusetts Institu This report describes research done at the Artificial Int Institute of Technology. Support for the laboratory's in part by the Advanced Research Projects Agency of It Naval Research contract N00014-89-J-3202 and by the number MIP-9001651.
Subtext: Uncovering the Simplicity of Programming
- IN OOPSLA ’05: PROCEEDINGS OF THE 20TH ANNUAL ACM SIGPLAN CONFERENCE ON OBJECT ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES, AND APPLICATIONS
, 2005
"... Representing programs as text strings makes programming harder then it has to be. The source text of a program is far removed from its behavior. Bridging this conceptual gulf is what makes programming so inhumanly difficult -- we are not compilers. Subtext is a new medium in which the representation ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
Representing programs as text strings makes programming harder then it has to be. The source text of a program is far removed from its behavior. Bridging this conceptual gulf is what makes programming so inhumanly difficult -- we are not compilers. Subtext is a new medium in which the representation of a program is the same thing as its execution. Like a spreadsheet, a program is visible and alive, constantly executing even as it is edited. Program edits are coherent semantic transformations. The essence of
Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions
- HCI'94
, 1994
"... We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by change ..."
Abstract
-
Cited by 25 (10 self)
- Add to MetaCart
(Show Context)
We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by changes in data objects. The system was designed to provide non-programmers with programming support for common, repetitive tasks and incorporates some principles of cognition to assist these users in learning to use it. With this in mind, we analyzed the language and its editor along cognitive dimensions. The assessment provided insight into both strengths and weaknesses of the system, prompting a number of design changes. This demonstrates how useful such an analysis can be.
Programming Substrates to Create Interactive Learning Environments
- Journal of Interactive Learning Environments, Special Issue on End-User Environments
, 1994
"... The design of an effective interactive learning environment requires understanding the intricate relationships among people, tools, and problems. Many end-users do not have the necessary skills, nor the time or patience to compose programs from computer science-sanctioned programming primitives. End ..."
Abstract
-
Cited by 24 (4 self)
- Add to MetaCart
(Show Context)
The design of an effective interactive learning environment requires understanding the intricate relationships among people, tools, and problems. Many end-users do not have the necessary skills, nor the time or patience to compose programs from computer science-sanctioned programming primitives. End-users require environments that elevate the task of programming to the manipulation of components that are directly pertinent to the problems to be solved. This paper introduces the Agentsheets programming substrate employed by designers to create interactive learning environments that are geared toward end-users solving specific problems. A number of educational
A Framework For Developing Experience-Based Usability Guidelines
- Proceeding of the Symposium on Designing Interactive Systems (DIS ‘95), Ann Arbor MI
, 1995
"... Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, ..."
Abstract
-
Cited by 22 (8 self)
- Add to MetaCart
Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, or abstract and general-purpose. At best, these general guidelines provide weak support that is insufficient to support developers faced with specific interface design problems targeted for specific user populations. If the potential of usability guidelines as an interface design technique is to be fully realized, they need to be augmented with context-specific guidelines and examples that synthesize isolated guidelines into domain-specific solutions to design problems. In this paper, we present a method in which software development organizations can develop and evolve domain-specific guidelines based on the kinds of applications they develop. The method facilitates the process of determin...