Kodi Community Forum

Full Version: Media scrobbling integration framework w. unified frontend GUI & scrobbler addons API
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[EDIT]: I changed the thread topic subject from "Social media integration framework" to "Media scrobbling integration framework" to difference from normal social media which most Kodi / XBMC developers do not care for at all.

Kodi / XBMC developers have previously said that they will not add social media integration to XBMC's core themselves, and only want scrobbling features in Kodi / XBMC as addons, (like for example the Trakt.tv scrobbler addon).


Maybe they would change their mind if some could code a unified media scrobbling GUI frontend framework with a common scrobbler addons API into XBMC's core so that it will be easy to write scrobbling addons?


It could then be a little similar to the PVR frontend/backend concept for XBMC, with a common social media frontend framework in Kodi / XBMC that others could write addons for, with unified interface for log-ins, etc.

That way the actual social media addons for any specific social media site would not be inside Kodi / XBMC core code, and skinners would then just have to add skin support for such addons using common GUI elements.


Having a unified social media GUI frontend framework and API would mean a common standard size of "Like" buttons, star ratings feedback, etc. and windows for adding text like "this is a must see kickass movie".

You could that way have different third-party social media addons in Kodi / XBMC for Trakt.tv and ShareThe.TV, as well as Facebook, and Twitter, etc. all only using this common API and GUI framework in Kodi / XBMC Smile


I guess that this same framework and API could also be used for submitting simple star ratings and rankings to thetvdb.com and themoviedb.org after viewing if the users have registered user account for those sites.

As well as content recommendations from Synopsi.TV, Flixster, and GetGlue based on what you are watching under your profile in Kodi / XBMC, similar to Boxee but not only using your social media connections.

And why not use this very same framework and API for music scrobblers and well as for, that way you could move Last.fm and Libre.fm music scrobbling code out of Kodi / XBMC's core and into separate scrobber addons.

These work kind of like genius recommendations system in iTunes, with recommendations for content based on what you previously watched or listed too.

The GUI for the recommendation system would from an end-users point of view look something similar to Last.fm music scrobbling and movies recommendations in Netflix web-applications Big Grin
http://betakit.com/2012/04/16/synopsitv-...mendations
http://www.engadget.com/2012/04/18/googl...pp-update/

Image Image


Boxee would then get a little competition, though it would be nothing to stop them from also help develop this common social media framework and API for Kodi / XBMC, as could probably get ideas from their GUI Huh

This is only a suggestion a suggestion about something that I think a lot normal users not present in these forums would want to have in Kodi / XBMC, and probably something to raise the wife acceptance factor Wink
I also had this idea some time ago, especially to remove the hardcoded last.fm and libre.fm scrobblers and make them a addon. Unfortunately I'm no dev and core-devs in general don't care much about social media stuff (like me actually - besides of probably last.fm). But if you have the time and knowledge to come up with a good API concept I might be able to find a willing dev (no promises though). Would have been a nice project for GSOC btw.
I changed the thread topic subject from "Social media integration framework" to "Media scrobbling integration framework" to difference from normal social media which most XBMC developers do not care for.
(2012-05-07, 16:15)da-anda Wrote: [ -> ]if you have the time and knowledge to come up with a good API concept I might be able to find a willing dev (no promises though)
I believe that themoviedb.org or thetvdb.com was planing on extending their API to include personal ranking / ratings submitting, a.k.a. scrobbling.

Maybe start with that simple concept for movie and TV episode scrobbling and combine with the existing scrobbler code for Last.fm and Libre.fm

Move that code out into a module and add to XBMC's built-in command for the Python API, re-use existing Last.fm and Libre.fm GUI elements?
(2012-05-07, 16:15)da-anda Wrote: [ -> ]Would have been a nice project for GSOC btw.
Yeah maybe suggest this idea for next year if no one volunteers to do this outside of GSoC sooner.
I just heard from the devs that additional scrobblers are already possible using addons. All needed events to listen to should be available via Python. So maybe a skilled python/addon coder could create a generic "API" and skinners begin to support it then?
(2012-05-07, 17:31)da-anda Wrote: [ -> ]I just heard from the devs that additional scrobblers are already possible using addons. All needed events to listen to should be available via Python. So maybe a skilled python/addon coder could create a generic "API" and skinners begin to support it then?
I was rather thinking of native C++ implementation in XBMC's core into the existing GUI library and API's to keep it all in one common standard Undecided


The concept is similar to the existing scrapers but with a generic scrobblers API for Python, so that all look and feel exactly the same in the GUI.

Having only the one GUI framework and one API for scrobblers, like for scrapers, which means that skinners just have to add it once to their skins.

Each skin would display all scrobbers exactly the same, with only different logos, no matter if they are for Trakt.tv, ShareThe.TV, TMDb, or Flixster.

The key here should be user consistency, just like for scrapers, there would be no confusion for users on how to use them since all look the same.


The user would just need to go into video library settings once to download and login to all registered scrobblers, and those logos are then shown.


After watching a movie or TV episode the skin would pop-up a common star ratings feedback window to allow submission to registered scrobblers.

Once could also let the user go in under movie information to submit or change ratings to registered scrobblers, and music submitted automatically.


Again from a usability point of view this would work very similar to how scrapers in XBMC work today; you only download and configure them once.

(2012-05-07, 18:58)Bstrdsmkr Wrote: [ -> ]Like this? http://forum.xbmc.org/showthread.php?tid=125837
I think Boxee is a better example on how it should work from a users perspective, but support for multiple scrobblers via settings directly in XBMC.
again with this. we have categorically said NO and we mean it. we will facilitate this crap but we will never integrate in core.
Honestly, I'm not sure how Last.fm made it into core in the first place lol

All the capabilities are there to build this as an addon. It seems (to me at least) pretty squarely outside the scope of xbmc core.

So far, ruuk's ShareSocial is capable of everything you've mentioned so far. This is GOOD thing if you want to see this happen. There are FAR more python devs than xbmc devs
we did not have those capabilities back in 2005...
Bumping as an idea for Google Summer of Code as again, I think it would be a good idea if Kodi also had an universal media "Scrobbling" framework in Kodi's core with a common API that can push (and pull) this tracking data from scrobble client plugins as service addons.

Such a "Scrobbling" framework and API inside Kodi's core could be used not only for movies and tv shows but for music and games too.

For reference, the term for this function is scrobble http://en.wiktionary.org/wiki/scrobble as originally defined by Last.FM http://www.last.fm/help/faq?category=99

And since it was Last.FM who basically invented this concept once idea would be to to try to find someone who have already revered engineered the Last.FM framework and API and reuse that code if released as open source.
Bumping this for GSoC 2017.

Please also see request for dedicated "Scrobblers" development forum here http://forum.kodi.tv/showthread.php?tid=308921

(2017-03-06, 13:48)RockerC Wrote: [ -> ]There is already a dedicated forum for development discussion of metadata scrapers here:

http://forum.kodi.tv/forumdisplay.php?fid=60

How about a dedicated forum for scrobbler development like for Last.FM, Libre.fm, Trakt.tv, ShareThe.TV, Flixster, Synopsi.TV, Flixster, and GetGlue?


Reason is it would be cool if Kodi could get more scrobblers for other similar tracking services.

Would be very nice if Team Kodi could encurage creation or new scrobbler addons for Kodi, and not only for Music but for Movies and TV Shows as well.


This suggestion is related to requested scrobbling framework integration idea posted here : http://forum.kodi.tv/showthread.php?tid=130917


Deffinition = To publish one's music-listening habits to the Internet via software, in order to track when and how often certain songs are played.


What is scrobbling?

http://www.urbandictionary.com/define.php?term=Scrobble

Scrobble - When Last.fm automatically sends the name of each song played by audio player, they call this “scrobbling.”

The application will scrobble your playlist.

Scrobble - A term used by last.fm. Scrobbling involves taking the last songs you played through your media player (eg. iTunes), and filing away the info to improve, and better tailor the songs that are played for you through last.fm. After a number of songs are listened to through your media player of choice, a window from last.fm will appear, listing these songs, and confirming that you wish to scrobble them. The user has the option of de-selecting songs that they do not wish to scrobble or run in hidden-mode to temporary disable scrobbling.

I scrobbled all of my favorite songs today and now last.fm is recommending much better music.

Keywords: Scrobbler, Scrobblers, Scrobbled, Scrobble, Scrobbling, addons API, addon APIs.