Amarok/Archives/Web Services Integration

From KDE Community Wiki

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.

Summary

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.

Details

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.

Project Timeline

  • May 28th: Begin on project. Create a widget to display content on the QGraphicsView Context Browser.
  • June 4th: Design a service system that allows arbitrary web services to create their own widgets and put them on the Context Browser.
  • June 18th: Port the current web services (lyrics, wiki, last.fm ) over to the new framework.
  • July 2nd: Implement new web services. Start with guitar tablature display. Also, begin researching possible databases of concerts for display.
  • July 9th: Implement concerts display, research other artist info that can be displayed.
  • July 16th: Implement more artist info. Create a system that allows arbitrary web services to be added easily.
  • July 30th: Begin usability review.
  • August 6th: Begin intensive testing and bugfixing.