Project Description

advertisement
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
Download