MusicBottle

From MusicBrainz Wiki
Revision as of 22:01, 24 October 2012 by Freso (talk | contribs) (Implementation: Some more stuff)

MusicBottle (or "the bottle") is the temporary codename for a new project being discussed mostly between caller#6 and Freso. This here page will document design decisions etc.

Discussion will happen probably mostly on IRC in the room #musicbottle. Feel free to come and hang out. We will probably also utilise the mb-devel mailing list for getting feedback on some design decisions (e.g., input on how to implement caching).

Background

(Write stuff.)

Design decisions/philosophy

  1. Don't hardcode any information. While it may be tempting to mark that Mozart is a composer in the code, we want the site to display the what can be retrieved using only MusicBrainz. Retrieving information from sources linked to from MB data is fine, but hardcoding such info is not.

Implementation

As Freso likes writing Python and CallerNo6 wants to learn the language, this quickly became the language of the project (even though no code has yet been written). Flask was initially recommended by ianweller and subsequently endorsed by ruaok, so that is the framework we're currently looking into. We will most likely aim for getting the code running on an nginx server.

We're also going to need some kind of cache, to not hit MusicBrainz (or other sites) over and over again. We're looking into MongoDB and possibly other NoSQL databases for now.

The main codebase will be GPL v2+ and any libraries developed to keep sane abstractions will be LGPL'd. (Any Flask-specific extensions will be BSD/MIT-style licensed.) All the code will be in Git repositories.

Other pointers

Random ideas

How and what to pull in and how to present it?

Twitter, YouTube, Facebook, ... activity streams.

Images from fanart.tv

Proper name

The "Musicbottle" name is just a codename until we decide on a proper name. Several suggestions have been thrown back and forth. General themes are music and brains (for obvious reasons), bottles/flasks (due to using Flask), and Star Trek (because of MusicBrainz Picard and CallerNo6 being an old-time trekkie). Suggestions are welcome.

Inspiration

Mock-up pages

Other sites