Slashdot Mirror


Advice for Building a Multi-Platform Lyrics Database?

AntonOnymous,Cowherd asks: "I am in the process of designing an application for general public use. The application will allow end users to search and display a large collection of songs (both lyrics and tunes) with annotations, all in text format. The intent is for this application to run cross-platform (Linux, Windows, Mac, and whatever else), so I want to avoid platform-specific binaries as much as possible. I also believe that the program should be Open Source. The end users will not necessarily be computer experts, so I want to avoid as much additional setup on their computers as possible. The application (data and program) will all be stored on a CD or DVD, and it should be able to be run locally. The most important part of this application is the data, not the program, so the guts of it should be fairly simple with a decent user interface. Does anyone have any suggestions as to general approach to setting this up, or have any pointers to existing open source programs which already perform a similar function?" "One way to implement this would be to set up each song (with lyrics, tune, and annotations) as a single record in a database. I would like to avoid the inherent security issues and overhead of setting up and running a database on a user's computer.

Another possibility, which is fairly appealing, is to use a Web Browser to provide the user interface, and to use Open Source text indexing/searching programs (such as Lucene or Egothor) as the engine. It is probably safe to assume that most users have a Browser. However, most users probably would not have a web-server (even a local one) on their computer, and going by the principle of as little messing around with the user's computer as possible, I would like to avoid having to set one up, even a local one."

5 of 65 comments (clear)

  1. web service by fuct000 · · Score: 2, Interesting

    store all of the data on a server and write either a .NET or Java EE program to share the information as a web service. Then just have a desktop client people download, which contacts the webservice to request the information.

    --
    Free continuous multi-player strategy http://www.holy-war.com/
  2. Wiki on a stick by Glonoinha · · Score: 3, Interesting

    Sounds like a perfect application of Wiki on a stick. I set one up in a few hours, most of which I wasn't even sober - and it can install with a zero-footprint (designed to run from a thumbdrive.)
    I have a little more write-up in my Journal, along with links.

    --
    Glonoinha the MebiByte Slayer
  3. Heh... by djsmiley · · Score: 3, Interesting

    Webservice.

    Lots of websites already do this, why bog your self down with something that has already been done? Unless its for some kind of research project for university/college of course.

    Open source solutions which do the same? Amarok has a "lyrics" tab which brings up the lyrics to the playing song, i think they are pulled from wikipedia but im not sure.

    Also musicbrainz has a huge database of music too, this is why they are seemingly linked in amarok.

    So basicly your not onto a winner with this unless your going to offer something all the hundreds of others fail to offer.

    Amarok, wikipedia and musicbrainz are all open source.

    Im not sure however, how all of these cope with non-english alphabets, which is something lots of people tend to bring up.

    --
    - http://www.milkme.co.uk
  4. The Mozilla Platform by Feneric · · Score: 2, Interesting

    Copyright issues aside (I'm assuming that you're talking about lyrics that you have the legal right to use) I'd say that there's a pretty simple answer to your problem. You're thinking through the pros and cons of using a back-end database versus a browser front-end, and you're not keen on running any flavor of server.

    You can get both the database and browser advantages without having to set up a separate server by building your app on the Mozilla platform. You can utilize its built-in RDF capabilities to store your data in a clean, extensible way, and fairly quickly put together a user interface using XUL and CSS that can work with Firefox, Seamonkey, Flock, etc., or even just the XUL app runner for a more stand-alone user experience.

    Because all of your data (and even interfaces) will be XML-compliant, you'll even be making it easier for third party apps to work with your stuff.

  5. Good story about a Lyrics Server and the Lawyers by PixelJonah · · Score: 2, Interesting

    So, a friend of mine wrote one of the first online lyrics servers.

    Here's his story.