Modus
Dennis Crowley // dens@dodgeball.com

Interactive Telecommunications Program @ NYU
Networked Objects // May 5, 2003


Audience:
Music enthusiasts, musicians, DJs

Description:
Build a better jukebox - one that enables the sharing, discovery and distribution of music in public spaces.

Ingredients:
1 Windows PC (running IIS, MS Access and custom Macromedia Director script)
1 PS2 barcode scanner ($20 on eBay)
1 Intel Web tablet (discontinued, try eBay)

What it Does
Music in a venue should reflect the taste of the people in that space, not the owner of the jukebox or the people working behind the bar. What if a jukebox allowed people to add their own music or could help you remember what was played at a particular time? What if the box was aware of who was in the room and could queue up your favorite songs as you walked through the door?

How it Works
Modus stresses both the discovery and distribution of music. Users are encouraged to upload digital music (mp3s) from their own personal collection. Users can also download music or view past playlists by accessing the jukebox from a web browser. Hear a song you want to remember? Swipe one of the freely available Modus cards though a barcode reader and your favorite songs are stored for later retrieval. The jukebox is also designed to re-distribute the most popular music- once a song passes a certain number-of-requests threshold, that track is copied to other jukeboxes allowing the most popular music to spread virally through a network of Modus devices. Mobile phones are used to detect the presence of users within a given space. When a user dials into the Modus box with his/her phone, Modus automatically queues up songs which that user has previously uploaded to the jukebox.

Feature Breakdown
There are three main ways in which users can interact with the Modus jukebox - via the jukebox kiosk, the web and mobile devices.


Web
The web is the out-of-venue extension of Modus. It enables users who have experienced Modus within a venue to follow up on their interaction by making music downloads, information on songs and artists, and user profiles available to the user.

1. Allows users to upload music The music in a public space should define the people within that space. This is an idea we had early on in the semester. Once a user registers on the Modus web site (www.dodgeball.com/modus) they have the ability to upload mp3 files. Uploading is a two step process. The first step involves users' browsing their PC, selecting a digital music file (mp3) and then hitting an "upload" button which moves the file from the users PC to the Modus box. The second step involves the user populating the database with information on the song they just uploaded. As the song is uploaded, the mp3 file's ID tags are read by an .asp script and are used to automatically populate the song title, artist, album and genre fields that are required to complete the second phase of the uploading process. Artist and title are required fields while album and genre are optional. The user is also prompted to select whether the song is a copyrighted work (not available for free download by other users) or a work protected under Lawrence Lessig's idea of "creative commons". (more on this below).
Bugs/To-Do/Thoughts:

1. We are currently not checking for duplicate songs/filenames, and we could run into problems if someone uploads a song with the same filename.

2. We are not screening for particular file types. There is nothing stopping someone from uploading .mov or .jpg or .doc files. Of course, these won't play in our Director queuing system, but they will show up in the database for users to queue.

3. We are not screen file sizes. There's nothing stopping someone from uploading a 2 gig file. We should probably fix this ASAP.

4. Legal implications. Is it even legal for users to upload music to a shared repository for playback in a public space?

5. Need to add another field, "upload to which venue?" with a drop down list of venues.

6. We need to think about the cap on the number of songs available in the jukebox. Limit it at 1000? What does the Hi-Fi jukebox - at 10th and Ave A - contain?
2. Allows users to download music
As much as we want people to be able to define a space by uploading their own music, we also want users to be able to gain access to the music that is playing in a public space. Ideally, all songs in the database that are available for play on the jukebox should be available for download from the web. Of course, this is illegal under today's copyright laws. Thus, users are prompted to choose whether the song they are uploading is a copyrighted work or a work intended for distribution ("creative commons"). If a song in the database is marked as a copyrighted work, it is not available for download. If a song is marked as a (cc) work, then the user can click on a link and download that particular song to their hard drive. Ideally, users should be able to log onto the web site and have the option to purchase individual songs (Apple's iTunes store style) or albums (iTunes or Amazon style). While we plan to make use of Amazon's affiliate program to try to generate revenue, I'm crossing my fingers that Apple offers some kind of affiliate program where sites like ourselves can generate revenue by driving traffic/sales to Apple's pay-per-song library.
Bugs/To-Do/Thoughts:

1. Add a copyright disclaimer on the upload page detailing how user's are responsible for properly tagging their files are © or (cc) works.

2. We are currently not tracking who downloads what. I'm not sure if this is a good thing or a bad thing. We should also be tracking the number of times a particular song is downloaded.

3. Add links for each song/album to link to the Amazon affiliate program. Maybe we can make a buck or two if Modus ever makes it to a public venue.
3. Allow users to view past playlists
This is fairly simple - if you hear a song you like, you should be able to check out the playlist to get the details on the artist/album in case you want to download or purchase that album online or offline. The Modus web site allows users to browse playlists by venue, date and time. Heard a particular song at ACE Bar last Friday? Visit the website and view the playlist.

4. Allow users to look at other users' music tastes
Modus has an awesome opportunity to act as a community for both music fans and musicians. By allowing users to view user profiles detailing what songs users have uploaded to particular venues, we are potentially exposing people to new music. Think of it's a spin-off of Amazon's if-you-liked-this-book-you-may-also-like· functionality, just not driven by a collaborative filtering engine.


Kiosk
The kiosk is the primary way in which users interact with Modus within a venue. Replacing the traditional jukebox is at least one flat, touch panel display (we are using the since discontinued Intel web tablets). A user interface specifically designed for the size constraints of the small tablet screen features buttons and UI elements that are large enough to control with the press of one's finger (as to avoid the use of a stylus).

1. Queue up songs // Sort by artist/title/genre and "most requested"
The tablet UI is the main consumer-facing element of Modus. Users are allowed to view all available songs sorted by artist, album, genre or to view which songs are the most popular. Behind the front end of Modus is an Access database that is keeping track of which songs are available and how frequently they are being requested. The UI is essentially an .asp script serving up dynamically generated HTML pages
Bugs/To-Do/Thoughts:

1. Er, this is supposed to be a pay-per-play model, yet we aren't charging people by the song. We need to build this in.

2. Should the jukebox be aware of who is using it? Do we require users to login (card swipe? Username/pin? RFID? Phone ID?) so that we can track what they are requesting and make music recommendations in-venue?
2. Play music
Also on the backend of the Modus box is a Director movie which is responsible for reading the queue and playing the right song at the right time. The Director movie is constantly pulling a dynamically driven flat-file queue from the web (ever 5 seconds). As a song is requested from the UI it is added to the queue and as a song is finished playing in the Director movie, a request is sent back to the queue specifically removing the completed song from the queue.
Bugs/To-Do/Thoughts:

1. Should we look into doing this using WinAmp or some other commercial mp3 player instead? If we do this, we need to find some way for the commercial player to send the "this song has been played" request back to the database.

2. The Director player will only play mp3 files. It will not play the WMA files that can be downloaded from the Big 5 pay-per-download digital music distribution services (e.g. MusicNet, PressPlay). It will also not play AAC (.m4p) files which are downloaded from Apple's new iTunes store.

3. Currently, the Director movie will not collect barcode data when the movie runs as a stand-alone projector. It only works when the file is played within the Director studio app as a .dir file.

4. The queue is not yet enabled to support multiple-venues.
3. Allow users to "bookmark" songs
How many times have you been in bar, heard a song you really liked, only to have no idea what song was playing, no way to figure out what was playing and probably no way to remember so you could ask someone the next day. We build a "bookmarking" feature into Modus for this reason. Next to the Modus box are items labeled with unique barcoded - right now we're using business cards, but we've thought about using coasters and matchbooks. If you hear a song that you like, simply grab a card, swipe it under the barcode reader and put the card in your pocket. Next time you're online, visit the Modus site, enter the barcode number that's on the back of the Modus card and you can look up the name/artist/title of the song that we playing at the particular time.

There's no real science behind it - every time a user runs a card under the barcode reader, the reader reads the code and ties to the song that is currently playing in the queue. This data is stored in the database for the user to retrieve at a later date. There's no limit to the number of songs that one can bookmark with a given barcode, and no limit to the number of barcoded items a user can take with them. After all, they're cheap - paper items - lose it and who cares, just pick up another one.
Bugs/To-Do/Thoughts:

1. We need to build bookmark functionality into mobile devices. You should be able to bookmark songs via your phone, but how do we do this sans barcode. Hmmm..
4. Feedback mechanism
One of the original ideas for Modus was to allow users to control the music in a given space by giving feedback on the song that was currently playing. My placing red and green (yay or nay) buttons within a venue - on tables, at the bar, near the jukebox, on the walls - we wanted to people to be able to vote up songs as they liked and vote down songs they disliked. There was talk of having the lighting change based on the average ranking of the song, or perhaps having the song fade out if, say, 80% of the votes were negative.

While the functionality for user-generated feedback exists in the Director app, we decided not to pursue this feature since we found that people didn't see the benefit to making a yes/no decision on a song that was currently playing. This may be something we revisit in the future though.

5. Viral music distribution to other Modus boxes
Why have on Modus box when you can have 20? Imagine there was a network of Modus boxes spread throughout the East Village. Support for simultaneous multiple venues already exists within the box - allowing people to view the most popular songs and playlists at other venues featuring Modus devices. The real killer is the ability for songs to move virally throughout the network as they gain popularity. Imagine a local band uploading their new single, requesting it in a bar and gaining enough exposure for the track that other people start requesting it as well. Once the song hits a given threshold (e.g. 20 requests) the song automatically appears in the database at other venues - without being uploaded by another user (the original user still retains upload credit for the song). This concept allows the most popular music to spread throughout multiple venues.

6. Presence Detection
Call it Big Brother, but the jukebox should be aware of who's in the room and the music preferences of those people. The idea is that once walk into a bar, Modus can tell that I'm there, look up my preferences and then queue up songs that I like.

Of course, presence detection is a tough feature to build - no one is carrying around RFID tags, RFID reader are too expensive and its impossible to sniff out the unique IDs of mobile phones that are in a given room.

We have currently build a system by which a user can tell the Modus box that he or she is within a venue by pulling up a web page on a mobile phone with a web browser. Once the user logs in and selects the venue that he or she is currently at, the phone sends the user a confirmation and then automatically queues up the most requested of the songs that the user has uploaded. If the user has not uploaded any songs, then the phone pings back a message encouraging the user to upload their own music to the Modus box.
Bugs/To-Do/Thoughts:

1. Double-check the scenario in case the user has not uploaded any songs.

Mobile Device
With most people walking around with mobile phones in their pockets, it would be a shame not to take advantage of these devices within a space. By allowing people to use their mobile phones to queue up songs, see what's currently playing, browse playlists and submit their location for the purpose of presence detection, we're essentially bringing the web-based, outside-venue, on-line experience back into the venue.
Bugs/To-Do/Thoughts:

1. Can we pull Amazon one-stop shopping into the phone? That would be slick.

Future
What devices will people be carrying two years from now? IPods that connect directly to other iPods via WiFi? PocketPC devices that sniff data via Bluetooth? Whatever devices we'll see down the road, Modus will be able to handle their new functionality. Whether it's allowing people to transfer the night's playlist to their device before they go, downloading music from the jukebox to one's device or connecting one's iPod to a firewire port on the table, the infrastructure we've build so far will scale to the functionality that next-generation devices will be able to support.

Modus in Action
Web interface - allows users to upload/download
Kiosk interface - used to queue up songs

(c) 2003, dennis crowley