Tools

"... In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end user programming ” in the United States. The original context and method which generated this number had two weaknesses, both of which we address. First, it relies on undocumented, judgment based factors to estima ..."

In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end user programming ” in the United States. The original context and method which generated this number had two weaknesses, both of which we address. First, it relies on undocumented, judgment based factors to estimate the number of end user programmers based on the total number of end users; we address this weakness by identifying specific end user sub populations and then estimating their sizes. Second, Boehm&apos;s estimate relies on additional undocumented, judgment based factors to adjust for rising computer usage rates; we address this weakness by integrating fresh Bureau of Labor Statistics (BLS) data and projections as well as a richer estimation method. With these improvements to Boehm’s method, we estimate that in 2012 there will be 90 million end users in American workplaces. Of these, we anticipate that over 55 million will use spreadsheets or databases (and therefore may potentially program), while over 13 million will describe themselves as programmers, compared to BLS projections of fewer than 3 million professional programmers. We have validated our improved method by generating estimates for 2001 and 2003, then verifying that our estimates are consistent with existing estimates from other sources.

"... 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 ..."

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

"... MashMaker is a web-based tool that makes it easy for normal users to create mashups from live data on the internet. Users can query, combine, and explore data, using an interface inspired by spreadsheets and web browsers. Like a spreadsheet, MashMaker mixes program and data and allows ad-hoc unstruc ..."

MashMaker is a web-based tool that makes it easy for normal users to create mashups from live data on the internet. Users can query, combine, and explore data, using an interface inspired by spreadsheets and web browsers. Like a spreadsheet, MashMaker mixes program and data and allows ad-hoc unstructured editing of programs. Like a web browser, MashMaker allows users to find the information they are interested in by browsing, rather than writing code, and allows users to bookmark interesting things they find, forming new widgets — reusable mashup fragments. MashMaker is also a modern functional programming language with non-side effecting expressions, higher order functions, and lazy evaluation. We argue that a functional language provides an excellent model to allow users to easily create mashups from web data. In order to cope with this unusual domain, MashMaker contains a number of deviations from normal functional programming languages. Data is live, programs are mixed with data, map and fold operations are described using direct manipulation of data, data is structured like a file-system, and it is possible to write a program largely by browsing around, without having to type or decide in advance what one wants to do.

"... We present a spreadsheet approach to simplifying the process of managing, programming, and interacting with sensor networks and visualizing, archiving and retrieving sensor data. An Excel spreadsheet prototype has been built to demonstrate the idea. This environment provides Excel users, who are alr ..."

We present a spreadsheet approach to simplifying the process of managing, programming, and interacting with sensor networks and visualizing, archiving and retrieving sensor data. An Excel spreadsheet prototype has been built to demonstrate the idea. This environment provides Excel users, who are already familiar with spreadsheet applications, a convenient and powerful tool for programming and data analysis. We discuss the architecture of this prototype and our experience in implementing the tool. We show two different classes of sensor-net applications built using this platform. We also present performance data on the scalability of the tool with respect to data rate and number of data streams.

"... There is great potential in enabling users to interact with digital information by integrating it with everyday physical objects. However, developing these interfaces requires programmers to acquire and abstract physical input. This is difficult, is time-consuming, and requires a high level of techn ..."

There is great potential in enabling users to interact with digital information by integrating it with everyday physical objects. However, developing these interfaces requires programmers to acquire and abstract physical input. This is difficult, is time-consuming, and requires a high level of technical expertise in fields very different from user interface development—especially in the case of computer vision. Based on structured interviews with researchers, a literature review, and our own experience building physical interfaces, we created Papier-Mâché, a toolkit for integrating physical and digital interactions. Its library supports computer vision, electronic tags, and barcodes. Papier-Mâché introduces high-level abstractions for working with these input technologies that facilitate technology portability. We evaluated this toolkit through a laboratory study and longitudinal use in course and research projects, finding the input abstractions, technology portability, and monitoring facilities to be highly effective.

"... The rapid growth of social networking sites and web communities have motivated web sites to expose their APIs to external developers who create mashups by assembling existing functionalities. Current APIs, however, aim toward developers with programming expertise; they are not directly usable by wid ..."

The rapid growth of social networking sites and web communities have motivated web sites to expose their APIs to external developers who create mashups by assembling existing functionalities. Current APIs, however, aim toward developers with programming expertise; they are not directly usable by wider class of users who do not have programming background, but would nevertheless like to build their own mashups. To address this need, we propose a spreadsheet-based Web mashups development framework, which enables users to develop mashups in the popular spreadsheet environment. First, we provide a mechanism that makes structured data first class values of spreadsheet cells. Second, we propose a new component model that can be used to develop fairly sophisticated mashups, involving joining data sources and keeping spreadsheet data up to date. Third, to simplify mashup development, we provide a collection of spreadsheet-based mashup patterns that captures common Web data access and spreadsheet presentation functionalities. Users can reuse and customize these patterns to build spreadsheet-based Web mashups instead of developing them from scratch. Fourth, we enable users to manipulate structured data presented on spreadsheet in a drag-and-drop fashion. Finally, we have developed and tested a proof-of-concept prototype to demonstrate the utility of the proposed framework.

"... Usability is an important feature for programming languages. However, user studies which compare programming languages or systems are both very expensive and typically inconclusive. In this paper, we posit that discount usability methods can be successfully applied to programming languages concepts ..."

Usability is an important feature for programming languages. However, user studies which compare programming languages or systems are both very expensive and typically inconclusive. In this paper, we posit that discount usability methods can be successfully applied to programming languages concepts such as language features. We give examples of useful feedback received from applying heuristic evaluation to a selection of language features targeted at parallel programming.

"... Abstract. Many domain-specific languages arise in the past years, try-ing to bring feasible alternatives for existing solutions with purpose to simplify programmers work. Although these little languages seem to be easier to use, there is an open issue whether they bring advantages com-paring to most ..."

Abstract. Many domain-specific languages arise in the past years, try-ing to bring feasible alternatives for existing solutions with purpose to simplify programmers work. Although these little languages seem to be easier to use, there is an open issue whether they bring advantages com-paring to most commonly used implementation approach, application libraries. In this work we present an experiment, carried out to compare such domain-specific language with comparable application library. The experiment was conducted with 36 programmers, which were answer-ing questions on more than 100 long pages on both implementation ap-proaches. For domain-specific language and application library the same problem domain has been used – construction of graphical user inter-faces. In terms of domain-specific language, XAML has been used and C # Forms for application library. For comparison of XAML and C# Forms cognitive dimension framework has been used. 1

"... In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end-user programming ” in the United States. Examining the original context and method which generated this number reveals that it actually estimates the number of computer users in businesses—not programmers, per se— ..."

In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end-user programming ” in the United States. Examining the original context and method which generated this number reveals that it actually estimates the number of computer users in businesses—not programmers, per se—and it assumes constant computer usage rates. This paper extends Boehm’s estimate using fresh Bureau of Labor Statistics (BLS) data, including the latest BLS occupational projections (which are for 2012), and a richer estimation method. We estimate that in 2012, there will be 90 million end-users in American workplaces. Of these, we anticipate that over 55 million will use spreadsheets or databases (and therefore will be potential end-user programmers), while over 13 million will describe themselves as programmers. Thus, the potential pool of end-user programmers will probably substantially exceed the population who view themselves as programmers. Each of these estimates, in turn, substantially exceeds the latest BLS projections of fewer than 3 million professional programmers in 2012. Since not all end-users perform the same programming tasks, we surmise that the vast, heterogeneous pool of endusers likely will benefit from a diversity of tools to support their programming activities. Developing such tools efficiently requires a better characterization of what features are valued by each end-user sub-population. To that end, this paper concludes by outlining plans for future research, including creating an abstraction-focused