Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Henry Lieberman is active.

Publication


Featured researches published by Henry Lieberman.


Communications of The ACM | 1983

A real-time garbage collector based on the lifetimes of objects

Henry Lieberman; Carl Hewitt

In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects cheaper than storage for long-lived objects, (2) that operates in real time—object creation and access times are bounded, (3) increases locality of reference, for better virtual memory performance, (4) works well with multiple processors and a large address space.


conference on object oriented programming systems languages and applications | 1986

Using prototypical objects to implement shared behavior in object-oriented systems

Henry Lieberman

A traditional philosophical controversy between representing general concepts as abstract sets or classes and representing concepts as concrete prototypes is reflected in a controversy between two mechanisms for sharing behavior between objects in object oriented programming languages. Inheritance splits the object world into classes , which encode behavior shared among a group of instances , which represent individual members of these sets. The class/instance distinction is not needed if the alternative of using prototypes is adopted. A prototype represents the default behavior for a concept, and new objects can re-use part of the knowledge stored in the prototype by saying how the new object differs from the prototype. The prototype approach seems to hold some advantages for representing default knowledge, and incrementally and dynamically modifying concepts. Delegation is the mechanism for implementing this in object oriented languages. After checking its idiosyncratic behavior, an object can forward a message to prototypes to invoke more general knowledge. Because class objects must be created before their instances can be used, and behavior can only be associated with classes, inheritance fixes the communication patterns between objects at instance creation time. Because any object can be used as a prototype, and any messages can be forwarded at any time, delegation is the more flexible and general of the two techniques.


human factors in computing systems | 1997

Autonomous interface agents

Henry Lieberman

Two branches of the trend towards “agents” that are gaining currency are inre~ace agents, software that actively assists a user in operating an interactive interface, and autonomous agents, software that takes action without user intervention and operates concurrently, either while the user is idle or taking other actions. These two branches are related, but not identical, and are often lumped together under the single term “agent”. Much agent work can be classified as either being an interface agent, but not autonomous, or as an autonomous agent, but not operating directly in the interface. We show why it is important to have agents that are both interface agents and autonomous agents. We explore some design principles for such agents, and illustrate these principles with a description of Letizia, an autonomous interface agent that makes real-time suggestions for Web pages that a user might be interested in browsing.


Ibm Systems Journal | 2000

Out of context: computer systems that adapt to, and learn from, context

Henry Lieberman; Ted Selker

There is a growing realization that computer systems will need to be increasingly sensitive to their context. Traditionally, hardware and software were conceptualized as input/output systems: systems that took input, explicitly given to them by a human, and acted upon that input alone to produce an explicit output. Now, this view is seen as being too restrictive. Smart computers, intelligent agent software, and digital devices of the future will have to operate on data that are not explicitly given to them, data that they observe or gather for themselves. These operations may be dependent on time, place, weather, user preferences, or the history of interaction. In other words, context. But what, exactly, is context? We look at perspectives from software agents, sensors, and embedded devices, and also contrast traditional mathematical and formal approaches. We see how each treats the problem of context and discuss the implications for design of context-sensitive hardware and software.


ACM Computing Surveys | 2011

The state of the art in end-user software engineering

Andrew J. Ko; Robin Abraham; Laura Beckwith; Alan F. Blackwell; Margaret M. Burnett; Martin Erwig; Christopher Scaffidi; Joseph Lawrance; Henry Lieberman; Brad A. Myers; Mary Beth Rosson; Gregg Rothermel; Mary Shaw; Susan Wiedenbeck

Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some user interface design ideas. Although these end-user programmers may not have the same goals as professional developers, they do face many of the same software engineering challenges, including understanding their requirements, as well as making decisions about design, reuse, integration, testing, and debugging. This article summarizes and classifies research on these activities, defining the area of End-User Software Engineering (EUSE) and related terminology. The article then discusses empirical research about end-user software engineering activities and the technologies designed to support them. The article also addresses several crosscutting issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy in the design of EUSE tools and the potential of educating users about software engineering principles.


End User Development | 2006

End-User Development: An Emerging Paradigm

Henry Lieberman; Fabio Paternò; Markus Klann; Volker Wulf

We think that over the next few years, the goal of interactive systems and services will evolve from just making systems easy to use (even though that goal has not yet been completely achieved) to making systems that are easy to develop by end users. By now, most people have become familiar with the basic functionality and interfaces of computers, but they are not able to manage any programming language. Therefore, they cannot develop new applications or modify current ones according to their needs. In order to address such challenges it is necessary a new paradigm, based on a multidisciplinary approach involving several types of expertise, such as software engineering, human-computer inter- action, CSCW, which are now rather fragmented and with little interaction. The resulting methods and tools can provide results useful across many application domains, such as ERP, multi-device services (accessible through both mobile and stationary devices), and professional applications.


intelligent user interfaces | 1998

Let's browse: a collaborative Web browsing agent

Henry Lieberman; Neil W. Van Dyke; Adriana Santarosa Vivacqua

Web browsing, like most of today’s desktop applications, is usually a solitary activity. Other forms of media, such as watching television, are often done by groups of people, such as families or friends. What would it be like to do collaborative Web browsing? Could the computer provide assistance to group browsing by trying to help find mutual interests among the participants? Let’s Browse is an experiment in building an agent to assist a group of people in browsing, by suggesting new material likely to be of common interest. It is built as an extension to the single user Web browsing agent Letizia. Let’s Browse features automatic detection of the presence of users, automated “channel surfing” browsing, and dynamic display of the user profiles and explanation of recommendations.q 1999 Elsevier Science B.V. All rights reserved.


intelligent user interfaces | 2001

Intelligent profiling by example

Sybil Shearin; Henry Lieberman

The Apt Decision agent learns user preferences in the domain of rental real estate by observing the users critique of apartment features. Users provide a small number of criteria in the initial interaction, receive a display of sample apartments, and then react to any feature of any apartment independently, in any order. Users learn which features are important to them as they discover the details of specific apartments. The agent uses interactive learning techniques to build a profile of user preferences, which can then be saved and used in further retrievals. Because the users actions in specifying preferences are also used by the agent to create a profile, the result is an agent that builds a profile without redundant or unnecessary effort on the users part.


user interface software and technology | 1994

Powers of ten thousand: navigating in large information spaces

Henry Lieberman

How would you interactively browse a <italic>very</italic> large display space, for example, a street map of the entire United States? The traditional solution is <italic>zoom</italic> and <italic>pan</italic>. But each time a zoom-in operation takes place, the context from which it came is visually lost. Sequential applications of the zoom-in and zoom-out operations may become tedious. This paper proposes an alternative technique, the <italic>macroscope</italic>, based on zooming and planning in multiple translucent layers. A macroscope display should comfortably permit browsing continuously on a single image, or set of images in multiple resolutions, on a scale of at least 1 to 10,000.


Ai Magazine | 2004

Beating Common Sense into Interactive Applications

Henry Lieberman; Hugo Liu; Push Singh; Barbara Barry

A long-standing dream of artificial intelligence has been to put commonsense knowledge into computers -- enabling machines to reason about everyday life. Some projects, such as Cyc, have begun to amass large collections of such knowledge. However, it is widely assumed that the use of common sense in interactive applications will remain impractical for years, until these collections can be considered sufficiently complete and commonsense reasoning sufficiently robust. Recently, at the Massachusetts Institute of Technologys Media Laboratory, we have had some success in applying commonsense knowledge in a number of intelligent interface agents, despite the admittedly spotty coverage and unreliable inference of todays commonsense knowledge systems. This article surveys several of these applications and reflects on interface design principles that enable successful use of commonsense knowledge.

Collaboration


Dive into the Henry Lieberman's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

James A. Hendler

Rensselaer Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar

Hugo Liu

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Tim Berners-Lee

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Christopher Fry

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Catherine Havasi

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Ted Selker

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Karthik Dinakar

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Carl Hewitt

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Dustin Arthur Smith

Massachusetts Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge