|Subject:||[Librefm-discuss] Libre.fm GSoC Project - sephiap|
|Date:||Tue, 7 Jun 2011 21:14:55 +0100|
Dear Libre.fm Users,
This year I was fortunate enough to have my GSoC proposal accepted under gnu for the gnu-fm project (you may read the entire proposal at http://www.seczero.net/gsoc.txt). This message serves to inform as to the background of the project, current status & immediate targets and to open a forum regarding the proposed functionality and how it may be taylored in implementation to best serve the community.
The proposal encompasses a few different targets, their purposes are defined below:
- Expand the breadth of statistical data accessible through the site. That is, to provide a mechanism to create dynamic queries which allow the construction of data which bears more significance to the user than the static information currently provided.
- Overhaul listener statistics page to provide more meaningful data and to redesign the way this information is delivered. The use of jqPlot will be used to provide this functionality, delivering the data requested by the user in the dynamic query generation.
- Overhaul the artist statistics page to, again, provide more meaningful data, exposing the new functionality in dynamic query generation to accomplish the displaying of track vs track comparason, for example.
- Implement a track statistics page through the aforementioned functionality to compare the relative popularity, over an arbritrary period of time, against any other track. This feature will be particularly useful for artists themselves to, for example, compare the popularity of songs between an album released based on usage patterns.
- Extend external API to allow third party services & applications to utilise the new statistical functionality. Where applicable, the new functions will conform to the naming and logical precedent set by the last.fm API.
- Time permitting, utilise the extended API calls to create a demonstrative active widget for websites and / or WordPress installations which connect to a user's information dynamically creating content.
The project has only just begun, this week I have been implementing jqPlot within the scope of the current statistics page (not introducing any further statistical functionality) in order to gain community feedback on the aesthetic and direction of the project. The new internal API methods are beginning to be designed to facilitate dynamic query generation as is the visual design of the listener, artist and track statistics page.
jqPlot functionality is being encapsulated within a graph object which is then extended into child graph type objects which control their own data and visualisation options. Screenshots of current progress will be made available to the libre.fm group on identi.ca soon, pending working local data set (current issue being investigated)
This week's target include the completion of the jqPlot implementation on the current statistics page and merging this into the master branch. Once this has been completed, the further development of the refined internal API structure to achieve the required functions will continue in earnest.
Getting The Community's Opinion
I will be providing regular updates to the libre.fm identi.ca group as well as this weekly email (due to be sent each Friday). The primary point of feedback at present is what information does the community want represented? Which comparisons and utilities would be particularly interesting, whether acadamically or simply out of interest? The current scope of the dynamic query generation includes notions such as;
"Which tracks do I listen to most on Fridays?"
"How does my listening habit compare to <user> over <time>?"
Much of the anticipated functionality is being derived from last.fm and its associated tools and services which offer similar utility, but this is an opportunity for the community to help shape the focus of the implementation from the offset.
Getting In Contact
I am eager to get as much constructive feedback as possible, if you have any ideas / contributions / disagreements you may contact me using the following methods:
IRC: sephiap on Freenode
I look forward to hearing from you all over the next couple of months and will continue to keep you updated.
Matt Pugh (sephiap)
|[Prev in Thread]||Current Thread||[Next in Thread]|