Project Description Problems or questions: 040-2475980 Date: 25-03-2004 Unit: Entertainment Task code Project: Project Name: Java Project By Author (Use only your last name): MORGAN Click to save document to IDPortal Click to refresh data above Project Introduction In the design approach of ID, both concept and technology are important. Sometimes one works on the concept first (top-down), sometimes from the technology (bottom-up), but usually the design process develops both at the same time ('head in the clouds and feet on the ground'). Concept and technology are intertwined: one can develop a concept through tinkering, programming, etc. This project is a collaboration project between ID and the department of Computer Science. Coaches from ID and student assistants from CS will help ID students with the programming, and make sure a sufficient level of understanding of programming issues is reached and skills are developed. In the Java project the emphasis is on developing programming skills, in relation to conceptual development, data structures, and algorithms. The project involves a simulated world with interacting agents. Within the given software framework, the students can design and program their own world. Even simple agents can give rise to intriguing phenomena. Thus, the project explores the concept of ermergent behaviour. Emergent behaviour: “the whole is more than the sum of the parts” Have you ever observed a large swarm of birds? How the swarm seems to move as one, coordinated body? Without internal collisions? Did you wonder how these limited bird brains could organize this? The answer is surprisingly simple. These birds don’t have central organization or communication. A single bird doesn’t oversee the swarm at all. All it does is look at its close neighbours and obey just three rules: 1) don’t get too close to anyone, 2) don’t get too far from everyone, 3) adjust your direction towards that of your neighbours. The result of all birds obeying these rules is a swarm behaviour that looks very coordinated indeed. This swarm behaviour we call emergent: it is not intended to happen, in fact there is no ruling intelligence, the behaviour is the result of applying simple rules by many individuals. Second example: economy. Economic growth largely depends on consumer spending. And consumer spending is the resultant of individual spending. Again, three simple rules may determine the behaviour of complex economic systems: 1) If you have confidence in the economy, you will spend more money, 2) If you see other people spend money, you will get more confidence in the economy, 3) If you spend too much money, you will go bankrupt and your spending will collapse. These rules, when followed by many individuals, may determine the behaviour of an economy, resulting in a fairly stable, cyclic pattern. Project, Objectives and Opportunities for Competency Development Domain Play specific information Even though the concept of software agents has existed from the late 70s, agents were introduced to the general public in the mid 90s largely through cyberpunk culture. Authors of these works were not limited by existing technology in designing their ‘ideal’ agents, and this led to rather romanticised visions of agents. A fine example of one such ideal agent can be found in Neal Stephenson’s 1992 novel, Snow Crash; Stephenson calls his agents daemons and interaction with these...they are interfaced with, through virtual reality: The Librarian daemon looks like a pleasant, fiftyish, silverhaired, bearded man with bright blue eyes, wearing a V-neck sweater over a work shirt, with a coarsely woven, tweedylooking wool tie. The tie is loosened, the sleeves pushed up. Even though he's just a piece of software, he has reason to be cheerful; he can move through the nearly infinite stacks of information in the Library with the agility of a spider dancing across a vast web of cross-references. The Librarian is the only piece of CIC software that costs even more than Earth; the only thing he can't do is think. "Yes, sir," the Librarian says. He is eager without being obnoxiously chipper; he clasps his hands behind his back, rocks forward slightly on the balls of his feet, raises his eyebrows expectantly over his half-glasses. "Babel's a city in Babylon, right?" . . . "That’s okay, really,” Hiro says. "You’re a pretty decent piece of ware. Who wrote you, anyway?" "For the most part I write myself," the Librarian says. "That is, I have the innate ability to learn from experience. But this ability was originally coded into me by my creator." Although existing agents are not as advanced as the Librarian, things can be learned from him. His entire presence (appearance, mannerisms and the way he talks) reflects his function. Besides this, his function is adaptable to the needs of the user. Furthermore, the librarian can exceed human capabilities and is an autonomous entity. However, an agent such as the librarian can also raise questions such as whether or not you want technology to take control of certain choices and how an agent influences the users. Taste The subject matter of this project is entertainment media. Currently, every year, approximately 4000 Movies are produced, 90,000 audio CDs are released, and 48 million hours of original TV programming are made in the world. This amount continues to grow as the technology to create media becomes more and more accessible. At the same time the nature of the popular media is changing from passive media, such as TV and Radio, to more active media such as web-pages and download services like the iTunes Music Store or its less legal alternatives. This means that the consumer is increasingly in control of his choices of media. However, navigating one’s way in the ocean of entertainment media is an almost impossible task in view of the vast quantity of media out there. To help consumers enlarge their active role in media selection, you are going to create an agent that has 'taste'. This agent learns from his or her taste in music, movies or TV. The agent can then assist the user in tasks such as deciding what to watch on TV, discovering new music, or picking a movie based on the people you are with. The agent you design resides on a mobile device, such as an iPod. This means that your agents can have a wide variety of input, for example: Basic play count information: What content was played by what artist, what genre? Environmental input: What public places does the user frequent, what content is played by people surrounding the user? User Interaction: A user can give the agent instructions or advice (Yes, I like this song.) Multi Agent input: When the mobile device is connected to the Internet, the agent can seek out other connected agents and share ‘experience’. It is up to you to decide what media to focus on and the main goal of your agent, to introduce the user to new content, to make decisions for the user, etc. Another decision to be made is how to define taste. Taste is an abstract concept that needs to be brought back to a mathematical model in order for your agent to work with it. After you have developed your concept and defined taste, you need to collect some relevant content data for your agent to work with. You will simulate your mobile media agent in the agent-environment provided in this project; and physical interactions can be realised through the use of phidgets. Like authors of cyberpunk, with the exception of the agent technology, you don’t need to limit your design to current technology. Your environment can be simulated through software and phidgets. When multiple autonomous instances of your agent are introduced into your simulated environment they can start interacting, at which point emergent behaviour can arise. Examples could be an agent introducing a user to unexpected content or two people being brought together by their agents. Domain Play -specific steps 1. 2. 3. 4. 5. Develop a concept for an agent on a mobile device. Create a mathematical model for ‘taste’ Collect content data Program your agent in a simulated environment Observe and adjust emergent behaviour Objectives Develop programming skills (writing code, understanding data structures, principles of Object Oriented programming) and applying this in the project, carrying out the concept of algorithms. Gaining insight in agent technology and possibly in physical interaction and distributed system. Physical Interaction As stated, the students are encouraged not to limit themselves to the standard interfaces such as mouse, keyboard and screen, but also use sound, projections, sensors and actuators. In order to facilitate such input and output, several technologies can be used such as microcontrollers or dedicated Phidgets (hardware to create physical widgets, see www.phidgets.com). All sorts of real world parameters can then be incorporated in the agent world, such as temperature, light levels, motion (using servo motors), lights, etc. enabling a richer interaction using multiple sensory modalities. Competency development Integrating Technology, Ideas and Concepts Deliverables Interim presentation and deliverables: 1. Concept development 2. Design aspects & criteria o The representation of the state and history of the agents, through any modality (visual, auditory, touch etc.) o The appearance of the agent world o The Interactions: Students communicate via interactions of the agents: agent-agent interaction, agent- object interaction, agent-canvas interaction. o Emergent behaviour 3. Proof of concept 4. Presentation Final Presentation and deliverables: 1. Report in duplicate (for coach and student-assistant) o Design aspects & criteria, and proof of concept o Planning o Emergent behaviour observation, analysis and experiments o If applicable, User guide/Manual o Documentation of the code 2. The Java program / digital code in duplicate(for coach and student-assistant) o Code on CD in envelope in report o And/Or URL 3. Presentation, including simulation Client Information Not applicable List of Available Resources/Experts During the project there will be Student assistants from the faculty of Informatics. The availability (schedule of presence) and ways of communication with these experts will be given during the first weeks of the Project. References aRt&D Research and development in Art, V2_NAi Publishers, 2005. the art of experimental interaction design. IdN Special 04, 2004. John Maeda Creative Code ¿ aesthetics and computation, MIT Press, 2004 Maeda@Media, Thames & Hudson, 2000 Design by Numbers, MIT Press, 1999 (see also the assignment by Christoph Bartneck, www.bartneck.de/work/education/designByNumbers/index.html) Toshio Iwai Various interactive agents art works such as Musical Insects, and games, such as Electroplankton, Game for the Nintendo DS and SimTunes See also his contributions to the Doors 1 and 5 (Play) conferences, see museum.doorsofperception.com Other interesting title on Interactive Art and Games Information Art, intersections of art, science and technology, Steve Wilson, MIT Press, 2002 The Art of Programming: Sonic Arts 2001 Conference on Digital Art, Music and Education Rules of Play ¿ game design fundamentals, Katie Salen and Eric Zimmerman. MIT Press, 2003 Hardware Physical Computing ¿ sensing and controlling the physical world with computers, Tom Igoe and Dan O'Sullivan. Thomson Course Technology, 2004 Domain Play specific information Last.fm An example of an existing system that analyses your taste in music is Last.fm (http://www.last.fm). Last.fm keeps track of all music you listen to. On the basis of that information and similar information on thousands of other users, you are offered a fully personalised radio station. On this station you will hear a lot of familiar music, but also completely new music that might turn out to become a personal favourite. sync.nl Sync.nl is another example of a system that adjusts it’s content to the user. The site revolves mainly about news in the categories of science, technology and business Resources http://web.media.mit.edu/~pattie/CACM-94/CACM-94.p1.html http://www.last.fm http://sync.nl/preview http://www.wired.com/wired/archive/4.11/myprob.html