AgentSheets: an Interactive Simulation Environment with End-User Programmable Agents
Alexander Repenning · 2000
Current Information Technology is mostly focused on accessing information and provides little support for processing information. An exponentially growing amount of information becomes increasingly unmanageable with today’s information technology approaches. Through web portals, emails, chat rooms, and news lists all kinds of information can be accessed everywhere, all the time. Often embedded in rapidly flashing animations the information glut is fighting for our attention and we are fighting to locate relevant information. The ability to access information is a crucial first step but now we need to explore new means of processing information. How can we keep up with frequently updated website content and setup autonomous computation helping us to process that information? End-user programmable agents are a means to give people autonomous information-processing power. Simulation is a form of information processing. Agents can be used to build interactive simulations. AgentSheets is an agentbased simulation-authoring tool that allows end-users to build interactive simulations and publish them as Java applets on the web. Interactive simulations can help people to explore complex issues and communicate them to other people effectively. Interactive simulations are more engaging than static text, images and even video. Moreover, people can define the behavior of end-user programmable agents to access existing information such as stock ticker symbols and to process that information by analyzing and synthesizing it. Introduction With the dawn of the new millennium we are reflecting on the relatively short history of the information age. Yes, we have come a long way from the early beginnings. The Internet has matured from being a peculiar playground of a handful of researchers to a rapidly growing network connecting people, resources and services all over the planet. The rate of adoption is truly astonishing. In just 7 years the Internet has attained a market share of 25%. It took telephone 35 years to achieve the same penetration. In a technological context, reflection is often accompanied by prediction. What is next with information technology? What will we be able to do with technology, what will technology do to us? On an analytical level we have tools such as Moore’s law helping us to capture technological growth as mathematical functions. According to Moore’s law the speed of computer chips doubles every 18 months. Despite earlier calls for caution this has been true for many years. Even growth limitations attributed to physical constraints such as molecular limitations regularly have been overcome with new innovations. Maybe as soon as this or the next year we will see the first consumer PCs featuring 1 Giga Hertz clocked CPUs. Soon thereafter we will forget that there ever were CPUs operating at nonGiga Hertz speeds. Mega Hertz measurements will no longer be associated with computers at all. Instead all we will associate with Mega Hertz measure will the frequency of FM radio stations. Another kind of growth equally astonishing as the growth of computing speed is the growth of information spaces. Just like the speed of CPUs the number of websites on the Internet is growing exponentially. Since we are running out of valid internet IP numbers, soon we need to replace the current internet addressing scheme with a new one capable to deal with this kind of growth. Plotting the amount of information accessible via the Internet and the computing speed versus time we cannot react any other way than being genuinely impressed with information technology. No other technology ever has changed our lives so rapidly, so profoundly. How do we benefit from increasing information volume and computing speed? A loaded question to be sure. It is not clear what the exact shape of the curve would be if we were to plot the average Intelligence Quotient (IQ) or – if there would be such as thing – the Creativity Quotient over time. My fear is that IQ and CQ would look remarkably flat next to CPU speed and information volume. Maybe this is not terribly surprising but it still raises a number of essential issues. Just how it is possible that with more information accessible and with more computation power available we still fail to experience any kind of profound impact on the qualitative aspects of live such as education? The average degree of understanding of the world (science, politics, nature, etc.) appears not to have changed much despite the fact that most answers to complex questions may be just one web search away. ECommerce has become the most celebrated application of the Internet. Jeff Bezos, CEO of Amazon.com was just selected to be “1999 Person of the Year” by Time magazine for his pioneering success with eCommerce. I do not wish to attack these efforts in any way – I order most of my books from Amazon – but really hope that as a society we can push the internet beyond the aspiration of turning the web into a gigantic virtual shopping mall. Despite the rapid, again exponential, growth of shopping transaction on the web it is unlikely that in the end more people are reading books. There simply have to be information technology applications that have the potential to truly enrich life and not just to serve as a commodity. Today’s Internet killer apps (email, and eCommerce) push old types of content such as text, images and videos, through new media. What kind of other content types could there be and how can people use them to do what? In the remainder of this paper some scenarios are presented in which information technology is used as medium distributing interactive content. Interactive content such as simulations cannot be captured on a static, paper-based, medium. By now, the computational power of personal computers has reached the necessary levels to run sophisticated simulations that would have required a supercomputer only a couple of years ago. Using technologies such as Java and Flash, interactive content can be embedded in web pages and made accessible to everybody on the planet with a web browser. By now the idea of featuring interactive content on the Internet is not all that new anymore. However, the applications of interactive content discussed here are different in the sense that people who are not programmers or web designers have built this interactive content. The quest is the exploration of new tools that will enable computer end-users to build interactive content very much in the same spirit as tools – now called word processors – have enabled end-users to build static content on their computers. The specific tool discussed here called AgentSheets is only one instance of a more general framework of end-user tools to author interactive content. No detailed description of AgentSheets can be given here. Following a quick overview of the AgentSheets authoring tool is a description of how people have used AgentSheets to build simulations which, in turn, have been used to communicate complex ideas or to further their own understanding in ways impossible with static media. AgentSheets: A Simulation Authoring Tool Combining Java authoring, end-user programmable agents and spreadsheet technology, AgentSheets [Repenning and Sumner 1995] [Repenning, et al. 1998] (http://www.agentsheets.com) is an authoring tool that empowers casual computer users with no formal programming training to build and publish web-based interactive simulation. Figure 1. AgentSheets combines Agent, Spreadsheet and Java Authoring technology AgentSheets enables users to create such simulations, using its end-user programming language Visual AgenTalk (VAT). Users design agents' looks by drawing icons and create agents' behaviors by composing VAT conditions and actions from command palettes into rules. Conditions and actions allow agents to do a variety of operations including: • compute spreadsheet-like formulas • react to mouse clicks and key strokes • sense other agents • send messages to agents • play sampled sounds and MIDI instruments