The executable constraint is proposed to offer designers a way to define a new set of constraints on top of an editing tool. It aims mainly to maintain the integrity of data structures such as diagrams that users crea...
详细信息
The executable constraint is proposed to offer designers a way to define a new set of constraints on top of an editing tool. It aims mainly to maintain the integrity of data structures such as diagrams that users create, during an edit session. When a part of the structure is modified by a user, the computer modifies other parts as a consequence of the user's instructions given in advance. Executable constraints are sequences of editing operations whose fixed points give relations to be maintained. They are constructed from primitive editing operations by demonstration to avoid textual form of expression, so that non-programmers can define new relations. Priority and condition are introduced to cope with over-constrained or conditional situations. (C) 2003 Elsevier Science Ltd. All rights reserved.
Whether it is sleep, diet, or procrastination, changing behaviours can be challenging. Individuals could design and build their own personalised digital interventions to help them reach their goals, but little is know...
详细信息
The success of a programming system depends as much on the learnability of its language concepts as the usability of its interface. We argue that learnability can be significantly improved by integrating into the prog...
详细信息
The success of a programming system depends as much on the learnability of its language concepts as the usability of its interface. We argue that learnability can be significantly improved by integrating into the programming system learning supports that allow individuals to educate themselves about the syntax, semantics and applications of a language. Reflecting on our experience with developing novice programming systems, we identify infrastructural characteristics of such systems that can make the integration of learning supports practical. We focus on five core facilities: annotatability, scriptability monitorability, supplementability and constrainability. Our hope is that our examination of these technical facilities and their tradeoffs can inform the design of future programming systems that better address the educational needs of their users. (C) 2001 Academic Press.
Systems with conversational interfaces are rather popular nowadays. However, their full potential is not yet exploited. For the time being, users are restricted to calling predefined functions. Soon, users will expect...
详细信息
Systems with conversational interfaces are rather popular nowadays. However, their full potential is not yet exploited. For the time being, users are restricted to calling predefined functions. Soon, users will expect to customize systems to their needs and create own functions using nothing but spoken instructions. Thus, future systems must understand how laypersons teach new functionality to intelligent systems. The understanding of natural language teaching sequences is a first step toward comprehensive end-user programming in natural language. We propose to analyze the semantics of spoken teaching sequences with a hierarchical classification approach. First, we classify whether an utterance constitutes an effort to teach a new function or not. Afterward, a second classifier locates the distinct semantic parts of teaching efforts: declaration of a new function, specification of intermediate steps, and superfluous information. For both tasks we implement a broad range of machine learning techniques: classical approaches, such as Naive Bayes, and neural network configurations of various types and architectures, such as bidirectional LSTMs. Additionally, we introduce two heuristic-based adaptations that are tailored to the task of understanding teaching sequences. As data basis we use 3168 descriptions gathered in a user study. For the first task convolutional neural networks obtain the best results (accuracy: 96.6%);bidirectional LSTMs excel in the second (accuracy: 98.8%). The adaptations improve the first-level classification considerably (plus 2.2% points).
Web services offer a more reliable and efficient way to access online data than scraping web pages. However, interacting with web services to retrieve data often requires people to write a lot of code. Moreover, many ...
详细信息
Web services offer a more reliable and efficient way to access online data than scraping web pages. However, interacting with web services to retrieve data often requires people to write a lot of code. Moreover, many web services return data in complex hierarchical structures that make it difficult for people to perform any further data manipulation. We developed Gneiss, a tool that extends the familiar spreadsheet metaphor to support using structured web service data. Gneiss lets users retrieve or stream arbitrary JSON data returned from web services to a spreadsheet using interaction techniques without writing any code. It introduces a novel visualization that represents hierarchies in data using nested spreadsheet cells and allows users to easily reshape and regroup the extracted structured data. Data flow is two-way between the spreadsheet and the web services, enabling people to easily make a new web service call and retrieve new data by modifying spreadsheet cells. We report results form a user study that showed that Gneiss helped spreadsheet users use and analyze structured data more efficiently than Excel and even outperform professional programmers writing code. We further use a set of examples to demonstrate our tool's ability to create reusable data extraction and manipulation programs that work with complex web service data. (C) 2016 Elsevier Ltd. All rights reserved.
We investigate the practicality of letting average users customize smart-home devices using trigger-action ("if, then") programming. We find trigger-action programming can express most desired behaviors subm...
详细信息
ISBN:
(纸本)9781450324731
We investigate the practicality of letting average users customize smart-home devices using trigger-action ("if, then") programming. We find trigger-action programming can express most desired behaviors submitted by participants in an online study. We identify a class of triggers requiring machine learning that has received little attention. We evaluate the uniqueness of the 67,169 trigger-action programs shared on *** , finding that real users have written a large number of unique trigger-action interactions. Finally, we conduct a 226-participant usability test of trigger-action programming, finding that inexperienced users can quickly learn to create programs containing multiple triggers or actions.
This paper describes the ESPranto Software Development Kit, which supports the development of sensor/actuator based applications, most notably educational toys and games. It enables non-technical users, such as parent...
详细信息
ISBN:
(纸本)9781605582467
This paper describes the ESPranto Software Development Kit, which supports the development of sensor/actuator based applications, most notably educational toys and games. It enables non-technical users, such as parents, teachers, game developers and psychologists, to specify applications by themselves. The SDK allows them to start off quickly with developing simple applications. Then, as their programming skills increase with experience, the SDK supports them to create more complex applications. This is achieved by offering a. complete tool chain with one, consistent programming paradigm. Each link is a separate tool offering a tailored amount of flexibility and complexity. To ensure that users can understand the feedback the SDK provides them, it is given in terms of the tool currently used. Furthermore, by preventing runtime errors, a user can be sure a program will work correctly if it compiles. We validated the ESPranto SDK partially by tests, but mainly by monitoring users applying the SDK. In practice the ESPranto SDK indeed proved to meet its design goals for all of its intended users.
programming takes designers away from typical domainand task-based interfaces such as three-dimensional modellers. It thus imposes additional cognitive load on the already challenging design task. programming in the m...
详细信息
ISBN:
(纸本)9789881902610
programming takes designers away from typical domainand task-based interfaces such as three-dimensional modellers. It thus imposes additional cognitive load on the already challenging design task. programming in the model is a system design strategy that embeds the act of programming in a 3D CAD model. This paper presents the argument for programming in the model and two user interface constructs that support such programming.
We introduces a new UI model of Trigger-Action programming (TAP), that allows users to program through touch-control interfaces to create complicated tasks easily. We present three different user interfaces (UI), for ...
详细信息
ISBN:
(纸本)9783319496221;9783319496214
We introduces a new UI model of Trigger-Action programming (TAP), that allows users to program through touch-control interfaces to create complicated tasks easily. We present three different user interfaces (UI), for each user interface, we analyze its advantages, limitations, and potential utility. We explain how our UIs can mitigate the problems of TAP caused by ambiguity and demonstrate why our UIs will benefit people without programming backgrounds.
The ongoing adoption of the latest Web development patterns such as AJAX is helping to enhance the user experience on the Web. Moreover, there is now API-based support from various vendors that allow seamless fusion o...
详细信息
ISBN:
(数字)9783540731054
ISBN:
(纸本)9783540731047
The ongoing adoption of the latest Web development patterns such as AJAX is helping to enhance the user experience on the Web. Moreover, there is now API-based support from various vendors that allow seamless fusion of disparate data sources into a single application. However, the barrier for Web designers to integrate such features into their Web applications remains high. This hampers a wider proliferation of such novel Web applications. In this paper, we conduct an experiment to see whether visual programming is appropriate for allowing Web designers integrate the aforementioned features. For the experiment, we have developed a prototype, tentatively named WIPER that allows Web designers to incorporate pre-built JavaScript components into live Web pages using drag-and-drop. We combined rapid revision with usability testing to iteratively advance our prototype. Working with users, we have learned that with some targeted refinements, visual programming paradigm can be very effective in achieving our goal.
暂无评论