programming has recently become more common among ordinary endusers of computer systems. We believe that these end-user programmers are not just coders but also designers, in that they interlace making design decisio...
详细信息
ISBN:
(纸本)9781605589299
programming has recently become more common among ordinary endusers of computer systems. We believe that these end-user programmers are not just coders but also designers, in that they interlace making design decisions with coding rather than treating them as two separate phases. To better understand and provide support for the programming and design needs of endusers, we propose a design theory-based approach to look at end-user programming. Toward this end, we conducted a think-aloud study with ten endusers creating a web mashup. By analyzing users' verbal and behavioral data using Schon's reflection-in-action design model and the notion of ideations from creativity literature, we discovered insights into end-user programmers' problem-solving attempts, successes, and obstacles, with accompanying implications for the design of end-user programming environments for mashups. The contribution of our work is three-fold: 1) the methodology of using a design lens to view programming, 2) evidence, through insights gained, of the usefulness of this approach, and 3) the implications themselves.
The study of complex activities such as scientific production and software development often requires modeling connections among heterogeneous entities including people, institutions, and artifacts. Despite advances i...
详细信息
The study of complex activities such as scientific production and software development often requires modeling connections among heterogeneous entities including people, institutions, and artifacts. Despite advances in algorithms and visualization techniques for understanding such social networks, the process of constructing network models and performing exploratory analysis remains difficult and time-consuming. In this article, we present Orion, a system for interactive modeling, transformation, and visualization of network data. Orion's interface enables the rapid manipulation of large graphs-including the specification of complex linking relationships-using simple drag-and-drop operations with desired node types. Orion maps these user interactions to statements in a declarative workflow language that incorporates both relational operators (e.g. selection, aggregation, and joins) and network analytics (e.g. centrality measures). We demonstrate how these features enable analysts to flexibly construct and compare networks in domains such as online health communities, electronic medical records, academic collaboration, and distributed software development.
Livecoding is an artistic programming practice in which an artist's low-level interaction can be observed with sufficiently high fidelity to allow for transcription and analysis. This paper presents the first repo...
详细信息
ISBN:
(纸本)9781450324731
Livecoding is an artistic programming practice in which an artist's low-level interaction can be observed with sufficiently high fidelity to allow for transcription and analysis. This paper presents the first reported "coding" of livecoding videos. From an identified corpus of videos available on the web, we coded performances of two different livecoding artists, recording both the (textual) programming edit events and the musical effect of these edits. Our analysis includes a novel, transition-matrix visualisation of the textual and musical dimensions of this data to create a "performer fingerprint". We show how detailed transcriptions of livecoding videos can be made which, we hope, will provide a foundation for further research into describing and understanding livecoding.
So called "apps" are widespread today on the Internet. Most of them allow users to extend the range of functionalities their websites offer. However, they potentially jeopardize the privacy of users. Indeed,...
详细信息
ISBN:
(纸本)9781479923939
So called "apps" are widespread today on the Internet. Most of them allow users to extend the range of functionalities their websites offer. However, they potentially jeopardize the privacy of users. Indeed, they collect, store and process personal pieces of information. Recent studies show that users feel they lack control over information. They also show that users distrust apps providers and would rather turn to their friends or family when they choose apps. In this paper we propose a model-driven approach to empower end-users with an extended control over their information. Our work is implemented as a web-based tool to compose apps and manage end-users privacy requirements. Our work showcases the unexploited possibilities of current web protocols and technologies in terms of privacy management.
Many tools help professional programmers with the difficult problem of finding information during code maintenance. The empirical success of these tools can be explained by Information Foraging Theory (IFT), which pre...
详细信息
ISBN:
(纸本)9781479940356
Many tools help professional programmers with the difficult problem of finding information during code maintenance. The empirical success of these tools can be explained by Information Foraging Theory (IFT), which predicts how a person seeks information by navigating through an information system based on the visual weight of information features presented to the person. Motivated by the success of these tools, we investigated the reasonable expectation that end-user programmers would likewise benefit from tools that increased the relative visual weight of important information features. We prototyped and evaluated two tools, each of which uses an existing algorithm to identify the most important lines of code. One prototype highlights important lines of code;the other prototype hides unimportant lines of code. An empirical study revealed that increasing the relative weight of important information features by highlighting did positively impact the amount of information foraged and the rate of information gained;on the other hand, decreasing the relative weight of unimportant information features by hiding had a modest negative impact. These results reveal opportunities for enhancing existing IFT-based foraging models and applying them to design more effective end-user programming tools for coding, debugging, and code reuse.
Various document types that combine model and view (e. g., text files, webpages, spreadsheets) make it easy to organize (possibly hierarchical) data, but make it difficult to extract raw data for any further manipulat...
详细信息
ISBN:
(纸本)9781450327848
Various document types that combine model and view (e. g., text files, webpages, spreadsheets) make it easy to organize (possibly hierarchical) data, but make it difficult to extract raw data for any further manipulation or querying. We present a general framework FlashExtract to extract relevant data from semi-structured documents using examples. It includes: (a) an interaction model that allows end-users to give examples to extract various fields and to relate them in a hierarchical organization using structure and sequence constructs. (b) an inductive synthesis algorithm to synthesize the intended program from few examples in any underlying domain-specific language for data extraction that has been built using our specified algebra of few core operators (map, filter, merge, and pair). We describe instantiation of our framework to three different domains: text files, webpages, and spreadsheets. On our benchmark comprising 75 documents, FlashExtract is able to extract intended data using an average of 2.36 examples in 0.84 seconds per field.
programming-by-example technologies empower end-users to create simple programs merely by providing input/output examples. Existing systems are designed around solvers specialized for a specific set of data types or d...
详细信息
ISBN:
(纸本)9781450327848
programming-by-example technologies empower end-users to create simple programs merely by providing input/output examples. Existing systems are designed around solvers specialized for a specific set of data types or domain-specific language (DSL). We present a program synthesizer which can be parameterized by an arbitrary DSL that may contain conditionals and loops and therefore is able to synthesize programs in any domain. In order to use our synthesizer, the user provides a sequence of increasingly sophisticated input/output examples along with an expert-written DSL definition. These two inputs correspond to the two key ideas that allow our synthesizer to work in arbitrary domains. First, we developed a novel iterative synthesis technique inspired by test-driven development-which also gives our technique the name of test-driven synthesis-where the input/output examples are consumed one at a time as the program is refined. Second, the DSL allows our system to take an efficient component-based approach to enumerating possible programs. We present applications of our synthesis methodology to end-user programming for transformations over strings, XML, and table layouts. We compare our synthesizer on these applications to state-of-the-art DSL-specific synthesizers as well to the general purpose synthesizer Sketch.
Mashups represent a typical type of service oriented applications targeting end-user development. However, due to lack of development expertise, end-users usually find it hard to build a mashup. Therefore, it is of pa...
详细信息
ISBN:
(纸本)9781479936168
Mashups represent a typical type of service oriented applications targeting end-user development. However, due to lack of development expertise, end-users usually find it hard to build a mashup. Therefore, it is of paramount importance to provide effective assistance to achieve efficient mashup development. In this work, we aim at leveraging the expertise that can be mined from voluminous mashups on Internet to recommend appropriate mashup modules and their composition patterns to facilitate pipe-like mashup development. First, we crawl all the mashups available in Yahoo! Pipes and extract the meta-data of each mashup from original JSON data. Second, we use GSP (Generalized Sequential Pattern) algorithm to mine the frequent composition pattern of mashup modules, and design an interactive recommendation algorithm to assist mashup development. Third, we implement a system prototype based on the proposed method and evaluate its effectiveness with 848 Yahoo! mashups through cross-validation.
Web services offer a more reliable and efficient way to access online data than scraping web pages. However, web service data are often in complex hierarchical structures that make it difficult for people to extract t...
详细信息
ISBN:
(纸本)9781479940356
Web services offer a more reliable and efficient way to access online data than scraping web pages. However, web service data are often in complex hierarchical structures that make it difficult for people to extract the desired parts or to perform any further data manipulation without writing a significant amount of surprisingly intricate code. In this paper, we present Gneiss, a tool that extends the familiar spreadsheet metaphor to support working with data returned from web services. Gneiss allows users to extract the desired fields in web service data using drag-and-drop, and refine the results through spreadsheet formulas, along with sorting and filtering the data. Hierarchical data are stored as nested tables in the spreadsheet and can be flattened for future operations. Data flow is two-way between the spreadsheet and the web services, enabling people to easily make a new request by modifying spreadsheet cells. In addition, using the dependency between spreadsheet cells, our tool is able to create parallel-running data extractions based on the user's sequential demonstration. We use a set of examples to demonstrate our tool's ability to create fast and reusable data extraction and manipulation programs that work with complex web service data.
Many vendors or producers of consumer electronics provide web services for collecting data from consumer devices or accessing it from web applications. In this paper, we develop an approach for supporting users of con...
详细信息
ISBN:
(纸本)9781479951468
Many vendors or producers of consumer electronics provide web services for collecting data from consumer devices or accessing it from web applications. In this paper, we develop an approach for supporting users of consumer devices in building customized applications on demand. We use Webble technology, a component-based middleware system, as a base technology for distribution of visual components. users can reuse web services that are connected to data or devices by wrapping those web services as visual components. We demonstrate the potential of the approach with an application example with real world consumer web services.
暂无评论