For the Google Summer of Code 2007, I, Leo Franchi will be working on integrating more web services into Amarok. Here I outline my basic proposal and goals.
Amarok as a music player focuses not only on playing music but also on helping the user to rediscover his music. Amarok achieves this partly though its rich integration with web services, pulling artist and song recommendations from Last.fm, artist information from Wikipedia, and lyrics from varied sites. Track meta-information allows users to learn more about his music, as well as potentially discover new tracks that are to his liking.
With the new context browser taking the center stage in Amarok 2.0, the possibilities for track meta-info expand greatly. The goal of this project is to design enhancements to the meta-info that is displayed in order to provide a rich audio-listening experience. This means pulling meta-info from more varied sources, including guitar tablature, upcoming concerts, more varied artist information, and more.
The first step in the restructuring of the Amarok web services consists of designing a scalable and expandable system for displaying track meta-info. This essentially entails designing aesthetically pleasing widgets that can be reused by web services on the QGraphicsView of the Context Browser. Once an architecture for web services has been created, the implementation of specific services can be started. The current web services need to be ported to the new design, including Wikipedia, Lyrics, and Last.fm suggestions. Then the discovery of new services can be added-upcoming concerts, other artist information, etc. Amarok will also support adding arbitrary new sources of track meta-info in order to simplify the process of expanding the quality and quantity of web content.