September 2004 - Vol. 47 No. 9
Features
Opinion Editorial pointers
There is a growing faction of software developers dedicated to empowering end users with the tools to become, in fact, software developers. And if this thriving group fulfills this plan as envisioned, end users should never be aware of the new role they’ve assumed. The goal of end-user development (EUD) is to provide users the […]
News News track
A group of 4,000 scientists, including 48 Nobel Laureates, has called for the "restoration of scientific integrity in federal policymaking," charging the U.S. government with imposing strict controls on researchers who want to share ideas with colleagues in other countries. The Union of Concerned Scientists issued a report in July claiming current government policies could […]
Opinion Forum
The dictionary defines a myth as an unproved assertion about history, politics, or religious belief used as justification for social action. Peter J. Denning’s "The Profession of IT" column ("The Field of Programmers Myths," July 2004) extended this idea to include unproved assertions about computer science. Denning claimed the assumption "computer science equals programming" is […]
Opinion Staying connected
Relying on the pervasive technology network for security is potentially perilous when the technology fails.
Opinion Digital village
Wireless Infidelity I: War Driving
Although WiFi technology security vulnerabilities are well known, the extent of these vulnerabilities may be surprising: War driving experiences identify many potential points of entry.
Opinion Viewpoint
Granting ownership rights to data, as if it were private property, only limits data access without ensuring the benefits of researcher precedence or the rewards for good data collection.
Research and Advances End-user development
As software becomes more ubiquitous in products and on the Internet, so does the need to develop it. It is estimated that by 2005 in the U.S. alone, there will be 55 million end-user developers compared to 2.75 million professional software developers [1]. End-user development (EUD) is about taking control—not only of personalizing computer applications […]
Research and Advances End-user development
Meta-Design: a Manifesto For End-User Development
End-user development (EUD) activities range from customization to component configuration and programming. Office software, such as the ubiquitous spreadsheet, provides customization facilities, while the growth of the Web has added impetus to end-user scripting for interactive functions in Web sites. In scientific and engineering domains, end users frequently develop complex systems with standard programming languages such as C++ and Java. However, only a minority of users adapt commercial off-the-shelf (COTS) software products. Indeed, composing systems from reusable components, such as enterprise resource planing (ERP) systems, defeats most end users who resort to expensive and scarce expert developers for implementation.
Research and Advances End-user development
As an explicit design topic, end-user development (EUD) is rather new to human-computer interaction (HCI), although it is implicitly embedded in many design projects. What makes EUD different from other HCI topics is that in traditional HCI terms, users are experts in their tasks, and good tools should match these tasks. Conversely, end-user developers are trying to complete development tasks in which, by definition, they are not experts. Therefore, the dominating design goal of EUD tools is to compensate for a discrepancy between the user's expertise and the development task to be performed.
Research and Advances End-user development
The Economics of End–ser Development
The productivity paradox raised concerns that IT investment rarely leads to productivity gains [1]. End-user development (EUD), however, may provide the answer to this concern if increased productivity can be demonstrated. Recent research has questioned the productivity paradox and substantially improved our understanding about how IT productivity may be influenced by the manner of change.
Research and Advances End-user development
Agent-Based End-User Development
The goal of agent-based end-user development (EUD) is to empower end users with agents they can instruct directly. This process of instruction is completely transparent to the user; that is, it is not based on opaque adaptation mechanisms. Conceptually, the idea of instructing agents includes what is often called end-user programming [3] that addresses some of the major objections users have toward agents, such as the lack of trust and the need to train them. However, it poses the huge challenge of creating development tools suitable for end users who possess no programming background or interest in learning how to program.
Research and Advances End-user development
Natural Programming Languages and Environments
Over the last six years, we have been working to create programming languages and environments that are more natural, or closer to the way people think about their tasks. Our goal is to make it possible for people to express their ideas in the same way they think about them. To achieve this, we have performed various studies about how people think about programming tasks, both when trying to create a new program and when trying to find and fix bugs in existing programs. We then use this knowledge to develop new tools for programming and debugging.
Research and Advances End-user development
End-user programming has become the most common form of programming in use today [2], but there has been little investigation into the dependability of the programs end users create. This is problematic because the dependability of these programs can be very important; in some cases, errors in end-user programs, such as formula errors in spreadsheets, have cost millions of dollars. (For example, see www.theregister.co.uk/content/67/31298.html or panko.cba.hawaii.edu/ssr/Mypapers/whatknow.htm.) We have been investigating ways to address this problem by developing a software engineering paradigm viable for end-user programming, an approach we call end-user software engineering.
Research and Advances End-user development
Component-Based Technologies For End–ser Development
Component-based software development (CBSD) involves multiple roles. Framework builders create the infrastructure for components to interact; developers identify suitable domains and develop new components for them; application assemblers select domain-specific components and assemble them into applications; and end users employ component-based applications to perform daily tasks [7].
Research and Advances End-user development
Natural Development of -biquitous Interfaces
A goal of natural development is to ease the building of interactive software systems. Some work has been dedicated to obtaining natural programming [3], which aims to support programming through languages understandable by people without any specific programming skills. On one hand, natural development implies that people should be able to work through familiar and instantly understandable representations that allow them to easily express relevant concepts, and thereby create or modify applications. On the other hand, since a software artifact must be precisely specified in order to be implemented, there will still be the need for environments supporting transformations from intuitive and familiar representations into precise---but more difficult to develop---descriptions.
Research and Advances End-user development
There have been many "homes of the future" demonstrations, in which intelligent appliances communicate with each other for the convenience of the homeowner. Manufacturers, wealthy celebrities, gadget lovers, and researchers think they are great. But now that transport-layer technology for highly networked homes is commercially feasible (whether WiFi or simply cheap cabling), it's time to ask why typical households need it.
Calculating Error Rates For Filtering Software
Surveys in the U.S. have found that 95% of schools [4], 43% of public libraries [5], and 33% of teenagers' parents [8] employ filtering software to block access to pornography and other inappropriate content. Many products are also now available to filter out spam email.Filtering software, however, cannot perfectly discriminate between allowed and forbidden content, resulting in two types of errors. First, under-blocking occurs when content is not blocked that should be restricted. Second, over-blocking occurs when content is blocked that should not have been restricted. Steps can be taken to reduce the frequency of errors, and to reduce their costs (for example, by providing easy appeals processes, quick overrides, and corrections) but some errors are inevitable.
Supporting Systems Analysis and Design Through Fisheye Views
Demonstrating the usefulness of integrating context-based views into the systems analysis and design process.
Toward the Eco-Grid: a Harmoniously Evolved Interconnection Environment
The Internet, along with its myriad resources and users, constitutes a vast artificial virtual environment that benefits all of human society. But both the general public and the research community may be unaware of its developmental trend toward disorder due to the exponential growth of the numbers and types of its resources and users. By way of analogy, this trend can be explained with the help of the second law of thermodynamics, which states that if we regard the environment as a closed system with constant volume and energy, then every change to the system increases its tendency toward entropy.
Empowering Persons with Disabilities with Decision-Support Technology
A new software system allows users with disabilities, and their potential employers, to make informed choices about job opportunities and the impact those decisions may have on current and future benefits.
Academic vs. Practitioner Systems Planning and Analysis
The gap between academic and practitioner research focus and time perspectives inhibits the education and training of systems analysts and undermines systems planning and performance.
Opinion Technical opinion
Considering the potential benefits and trade-offs of file-sharing systems.
Opinion Inside risks
In this column we provide a high-level overview of some of the most pressing problem areas associated with risks to the constructive use of information technology. Although this may seem repetitive to those of you who have seen particular problems discussed in previous columns, each of these topics presents numerous challenges that must be urgently confronted. The primary message of this column is that the totality of all the interrelated challenges requires concerted efforts that transcend the individual problems and that reach agreement on viable actions for the future, even where strong disagreements exist today.