Improve REST API Services integration in Banshee
The ultimate goal of the project is to finish the two plug-ins (developed by GSoC student last year), to make them production ready and polish their UI features. These plug-ins use REST Services (SongKick and FanArt.TV). And before going to release, they should be supplemented by important features: caching, geolocation, and better visualization for the FanArt.TV grid.
The entire project could be divided into the three most important parts:
Part 1: GeoLocation
SongKick extension would need to figure out in which city the user is in. This important feature will allow users to not worry about choosing the city in which they are located. And, for example, consider concerts, which will take place near user, as more relevant and show them higher than the others (or even present only concerts that are nearby).
Part 2: Caching
In order to prevent doing the same request (i.e.: does Coldplay have any concerts near my city) many times, we would need to query SongKick and save the reply somewhere in a disc. And then, when we need to query the API, first we should check last copy. (and put a timestamp, for example). The same thoughts about FanArt extension.
Part 3: Better visualization for the FanArt grid
Each logo, received from FanArt, can have different size, however, the ListView widget (which is hosted in Hyena) doesn't have variable-row-height support. After GSoC the FanArt's ListView should not have any unnecessary blank spaces in it.