Giter VIP home page Giter VIP logo

explr's Introduction

Explr.fm

Explr.fm is an online information visualization for Last.fm users. It displays the user's music taste distributed on a world map. Built with love and D3.js.

Install

First you need Node. To install gulp and all necessary plugins, run:

$ npm install

To build the project and start a local server, run:

$ gulp

To build and then deploy the website to https://mold.github.io/explr, run:

$ gulp deploy

Todo-list


  • Improve screenshotting
    • Show a warning when screenshotting before all artists have been loaded?
    • imgur upload?
  • Improve api code
  • Refactor everything

Team

Tommy Feldt Daniel Molin Moa Bergsmark Anna Movin

explr's People

Contributors

alexekorn avatar dependabot[bot] avatar fymmot avatar iandioch avatar mikemanger avatar moabe avatar mold avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

explr's Issues

Data as text

is there any way we can get the data for our countries as well as scrobbles and artists of those countries as pure text?
I would like to put it into pie charts and other things.

Problem with North vs South Korean artists

From DM on Reddit:

from jjaazz sent 2 years ago

i have noticed that the tag "korean" is messing some of my stats. if an artist has a "korea(n)" and "south korea(n)" tag, it counts it as south korean. if an artist has a "korea(n)" and "north korea(n)" it counts it as south korean as well.

with both countries being called korea in english i think it would be wise to change the way that tag works.

anyway thanks for the awesome site!

Stops loading artists

I have tried this several times on different browsers, on different accounts, but at some point the tool will stop loading new artists and get stuck on some multiple of 50. This is without clicking or even hovering over any artists.

Artist Location Tags Don't Update Without Clearing Cache

Not necessarily an issue depending on view but can be a frustrating feature that many users might not be aware of but artist tags do not properly update without clearing cache.

What I mean by this is that if you listen to a brand new artist that is not properly tagged yet (or any artist missing location tags), it will appear in the bottom left as artists that are missing location data. If you click those artists, tag them, wait 1 - 3 days, they will still never move from that list to their tagged country unless you clear your cache.

If you're on chrome, use this to easily find and clear cache for just the explr site:
chrome://settings/siteData?searchSubpage=mold.github.io

Storage exception on large profiles

My profile has a reasonably large number of artists (12000) which seems to be about the limit of Google Chrome's storage limit (which I think is 10MB):

Uncaught DOMException: Failed to set the 'countryCountObj' property on 'Storage': Setting the value of 'countryCountObj' exceeded the quota.

Storing the data in a less verbose way will help (one hack I found was removing the image meta data in countryCountObj - see c91c8e2), but catching the error and displaying a prompt is probably the way to go.

209 countries listed as 210 countries

It's a great tool and really fun to use. However, in the website it says there are a total of 210 countries, whereas, countries.csv only lists a total of 209 countries (210 lines but the first line is the heading line). Because of that, no one can get a 100% score even if they tried, which is rather unfortunate.

Update map with more countries

For the sake of encouraged exploration, some countries should be split into their constituent territories.

From `wizzard':

Maldives aren't showing on the map, also there is a lot of countries/territories that are "undefined" and don't work either (like guernsey, jersey, isle of man, guam, falkland islands, united states virgin islands and some others).

French Guiana is another example, as mentioned in the FAQ.

Add hardcoded artist countries

For badly tagged artists with a known and confirmed country of origin, we should just look them up from a public file of mappings and take additions through pull requests.

Scrobbled from # countries shows incorrect count

The Scrobbled from # countries shows that I've listened to 114 countries, and my friend has listened to 28 countries. Exporting the data (or counting the countries manually for my friend) shows only 113 countries for me, and 27 countries for my friend.

image image

Might be related to #22

Missing Scrobble Counts

The tool seems to miss some scrobbles, notably scrobbles that do not have a proper scrobble date (the old, official last.fm import from iTunes created scrobbles like these). I believe this is caused by using the library.getartists api method instead of the user.gettopartists method. Both methods return almost identical responses so they are almost interchangeable, but the user.gettopartists method is more accurate for scrobble counts.

Artist being linked to country without country tag?

Per the FAQ "An artist's associated country is determined by its user-generated tags on last.fm, and these are not always correct. Mistakes will often occur when there are more than one artist with the same name. It's a problem with the data that we can't do anything about." I assumed this was the case with artist Ariel showing up in Argentina, since there are many artists with this name collected in one profile. But looking at the profile it doesn't have a tag "Argentina" or "Argentinian" or even any mention of Argentina in the Bio. So why does Ariel show up as being Argentinian?
image
image

Time periods

Not sure if you're still working on this but if possible I think it would be cool to have the option to see only my data for the past month, year, or other time periods.

The spinner/loading box never disappears

probably related, throws at the end of loading all artists:

script.js:126 Uncaught TypeError: e.artists.artist.forEach is not a function
    at script.js:126:1
    at lastfm.js:133:1
    at Object.<anonymous> (d3.v3.min.js:1:11277)
    at Object.t (d3.v3.min.js:1:1565)
    at XMLHttpRequest.i (d3.v3.min.js:1:10137)

Fix Côte D'Ivoire tags

People have pointed out that #coted'ivore is not a working tag, and that it needs aliases

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.