Finally, we tackled the phone user interface. The personal server was also a large source of
The phone we chose to use was the Nokia 6600. headaches. Connecting applications over
Our main requirement for the phone was that it Bluetooth worked every 3rd or 4th time we would
had a Bluetooth interface. The 6600 was try, or the server would randomly lose power, or
chosen because there were others here who reset. Our programs connect via Bluetooth just
had already done some development work with fine to other systems, so we believe the
the phone so we would have someone to talk to Bluetooth hardware on the server itself may be a
if we had any problems. bit buggy. These problems with the server
severely slowed development progress
The user interface design was modeled loosely throughout the project.
after the iPod interface. A basic phone
application was created to handle the device
discovery and connection. Then a list of the 6. Evaluation
usual playback commands are implemented to
list songs, play, stop, or skip to the next or We evaluated the Mp3 radio in 3 categories:
previous song. When a command is selected, a program robustness and stability, usability, and
message is sent across the Bluetooth music quality.
connection to the server.
We wanted the system to run smoothly. The
Putting the three pieces together, we have a server shouldn’t crash, the phone shouldn’t get
phone interface which efficiently talks to the hung up on its programming, and messages
personal server and has control over all basic should stream between the two without
music playback functions. unrecoverable loss or large delay. Mp3 Radio
passed in most of this area. The message
transport was flawless. To this day we have
5. Implementation never lost a packet or gotten corrupt data that
we have noticed. The Bluetooth protocols do a
Our largest obstacle in the project was good job of getting data across, and fast too.
Bluetooth. The protocol stack is very complex Everything going through the pipe does so
and figuring out how it all worked was quite a without noticeable latency. The phone did pretty
task. Dealing with connecting Bluetooth across well. No hang-ups or crashes have happened,
two different operating systems only made although if the connection attempts fail, the
matters worse. The personal server runs Linux, phone will block out Bluetooth for a time while it
which handles Bluetooth fairly well once things fixes itself internally. If this happens, Bluetooth
get going. The phone was much more can be turned off on the phone and then
complicated. switched back on to clear things up faster.
However, while the program is running,
[Richard, check out what I’m saying here…] everything goes very smoothly. Lastly is the
personal server. Nothing about our
programming has been causing problems, but
the server itself is a bit stubborn. Random As far as extending playlist control, it would be
resets or power failures, and Bluetooth nice to have full control over playlists. Using the
connectivity issues have constantly been a phone, a user should be able to create new lists,
bother. load saved ones, and modify them on the fly.
Currently,
The second category we aimed for was usability.
Does the player work well for what it was [what CAN we do?]
designed? Like the scenario in the introduction
above, can you just throw the server in a Another feature of our project that could be done
briefcase and tune any radio around you to the in the future is a file transfer system. Currently,
right frequency to hear your music? The answer there is no way to add or remove music from the
is yes. Our player passed with flying colors. compact flash except by removing the memory
Getting music to and from your player requires card and reading it on some other device. We
some more wired interfacing right now, but all need some sort of front end for the users to
music playback is completely mobile and access the files with.
wireless. Mp3 Radio passes the usability test.
There are two routes to take on this, either a
The last category was music quality. How good network approach or a web approach. A front
is the sound that comes from the player? The end could be built that would create an SSH
answer is about what you would expect from an session to the personal server via its wireless
FM broadcast. The signal is good and clear if connection, or even use FTP protocols to
your server is near the radio, but once you go transfer files in and out. This approach would be
about 20 feet away, the signal begins to die efficient and secure, but it is downfall is
down. That is the nature of radio broadcast, but portability. The goal of Mp3 Radio is portability.
for what it would be used for, the 20 radius is Taking your music anywhere means a user
acceptable. On a related note, plugging shouldn’t be confined to a single computer with
headphones into the server works perfectly, installed software to transfer files.
although not within our project goals.
A better approach is a web solution. The
personal server runs an Apache web server, so
7. Conclusion and Future Work why not take advantage of that? A web
application could be created that would let you
The next thing this project needs is features. upload and manage files from any internet
Our Mp3 Radio project only implements the connection.
minimal functions of a music player such as play,
stop, next, and previous. Other players have Another thing to consider would be a peer to
things like fast forward, reverse, much more peer connection. Perhaps users could
playlist control, or current song information. exchange files directly from personal server to
Much of this is supported in some way or personal server. This introduces more security
another by Madplay; it would just be a matter of issues and would be a whole other project, but
extending the project. Unfortunately, we didn’t would be an interesting thing to tackle.
have the time to do that.
Something we could have done better if we did
Seeing the song play time displayed on the the project over again, would be to learn
phone, along with the bit rate and other common Symbian. A guide to programming in Symbian
Mp3 header information, would be a definite would have been a great thing to have, but we
plus, and should be one of the first things to learned it all the hard way, and spent many
improve on the phone’s interface. Real time frustrating hours not getting anywhere. Similarly,
song information would mean sending constant another valuable lesson can be learned here.
updates to the phone, which may or may not Start early.
affect the efficiency of the player. However, it is
likely that the extra messages will not be too
much of a burden, and some packet loss would 8. Acknowledgements
definitely be acceptable since the data could
easily be interpolated.
A warm thanks to Trevor Pering from Intel personal server the following command is
Research, who has been invaluable in helping needed to run the application:
with everything concerning the personal server.
> ./madplay –r /mnt/cf1/Music/*.mp3
Thank you to Don Patterson and Nik Livic for
help figuring out how to program to the Nokia -r is a repeat flag. This will cause the playlist to
phone. loop when it reaches its end instead of closing
the player.