DWD2: PinballMap users

by Chris Meardon

Dashboard week day 2 (DWD2)
Data/ topic: https://pinballmap.com/

Time needed: 8 hours.

Here’s the captains log for this voyage into the world of pinball.

  1. Who, What, Where, When, Why

    Taking a look at the data before pursuing any specific topic or task.
    The API has lots of endpoints and I’m giving them all a go to see what I can get out of them. It’s 9:36 and I’ve managed to call and endpoints to get all the regions, location types, locations and machines from the API.

  2. The API is case sensitive!

    As an explorer into the abi abyss I have discovered that the region ‘UK’ is different to the region of ‘uk’. At least the region parameter is case sensitive. We are in the ‘uk’, not ‘UK’

  3. I have High scores, but it’s not looking good

    The UK has no high scores. Ca-Central region has only 10. Wisconsin has 92 though so maybe it’s not so bad. It looks like the high scores are added by users and they do this infrequently.

  4. Ideas as of now

    ‘Where is my closest machine and what score do I have to beat?’
    ‘Are people using this API much?’
    ‘Pinball machine lookup’

  5. I found a site with information about the machines

    I’ve set up a web scrape to get more information about each of the machines. It’s in a Macro and probably took me an hour and a half or so to make. This may have been me falling down a rabbit hole but it is quite nice to have all this information about the machines at hand. Plenty of Regex fun.

  6. Using the macro

    I’ve called the API to get the list of machines and processed this data into a nice structure for tableau. I’ve then added in my macro to web scrape more information about these machines and set it to output to file so that I only have to run it once. This is a very intensive macro for the site I’m scraping and I’m a bad person for doing it.

  7. There’s rumours of badness

    I hear word from the crew that the machine ids change in the different tables. Yikes. Storms ahead. (12:04)

  8. It’s bad

    I can’t match up my table of scores to my table of descriptions. Nightmare.

  9. I had lunch

    Tasty green curry for £3.95

  10. It’s still bad

    I have no angle and I don’t think I can do what I as trying to do. I feel uncomfortable.

  11. I’ve realised that I’m not going to make anything good

    The rumours of badness from earlier does not seem to be an issue faced by the others anymore.

  12. Heading into tableau, almost blindly (14:45)

    I’ve got two datasets. One showing highscores, when they are logged and what machine it was for. Another with information about the machine including things like who made it, the music it played and other details. I cannot connect them and have no given up trying to.

    I’m struggling to find any enthusiasm about the project.

  13. Okay I’m going to settle on an angle

    ‘Who uses our API?’
    Let’s pretend we are the owner of the pinball mapping API and we want to create a report on the usage of our service.

  14. I feel slightly better about the whole thing

    I have a few charts on the go now. Nothing that interesting, but I have something

  15. Polishing the turd (16:00)

    Trying to make it all look nice now.

  16. Actually I kind of like this dashboard (16:54) Maybe I should upload it


var divElement = document.getElementById(‘viz1583254762884’); var vizElement = divElement.getElementsByTagName(‘object’)[0]; if ( divElement.offsetWidth > 800 ) { vizElement.style.width=’1000px’;vizElement.style.height=’3027px’;} else if ( divElement.offsetWidth > 500 ) { vizElement.style.width=’1000px’;vizElement.style.height=’3027px’;} else { vizElement.style.width=’100%’;vizElement.style.height=’3427px’;} var scriptElement = document.createElement(‘script’); scriptElement.src = ‘https://public.tableau.com/javascripts/api/viz_v1.js’; vizElement.parentNode.insertBefore(scriptElement, vizElement);

To conclude

Today was better than yesturday

I like some bits of this dashboard

Could do with some more analytics

Fri 27 Mar 2020

Fri 27 Mar 2020

Tue 24 Mar 2020