There's a room, large enough for a small cocktail party, with people able to mill around and mingle, striking up conversations with strangers. But the conversation is flagging... these people are interested in diverse,
even *eclectic*, topics. So, why are they just talking about computers and the weather and George Clooney's motorcycle accident?
Okay, rewind. Let's start again, but this time, we'll put the conversational jukebox in the corner of the room. Anyone in the room can spin a track on the jukebox. Unlike a musical jukebox, the tracks can run all at the same
time, but like a musical jukebox, the track lasts only 3-6 minutes.
James is in the room. He hasn't overheard a conversation that interests him. Rather than leave and look for a more interesting place, he goes up to the jukebox, swipes his RFID pass. The screen shows an animation of a vinyl phonographic disc spinning up, and makes a needle-scratch kind of noise.
Then, the computer begins speaking. It's reading phrases from news and blog articles that are relevant to James. It's googled James' name, and it's checked out the tags associated with his conference registration. James is into gene mapping, exotic sandwich-fillings, and amateur dentistry.
"I never tried a strawberry and anchovy sandwich, but I'd like to."
"Ethical dilemmas of genetic adversity."
"Third molars needed extracting."
Every 20 seconds or so, the jukebox reads something out. Beula is also in the room and decides to spin her track on the conversational jukebox.
"I learned some new salsa steps at class yesterday"
"Metallica's new album"
"Can you make a sandwich out of cake?"
"Tango is the new salsa"
The Jukebox is spinning conversations for Beula and James at the same time. For variety, it also checks google news and technorati and the conference public jaiku channel.
UI shows simple animations of spinning disks with names on them, to show whose name and data is influencing the jukebox at a particular time.
At the bottom of the screen, the sentences that the jukebox has said are printed on the screen.
- Function to take a blob of HTML, and parse out suitable sentences.
- Components to get suitable HTML blobs from various places like technorati, google news, jaiku, etc. based on some strings provided such as a person's name and their tags.
- Function to speak a given sentence.
- Object that tracks what tracks are being spun, and expires tracks after N minutes.
- Function to take an RFID signature, and look up the delegate in the conference database, returning the delegate's name and tags.