(Topic ID: 221045)

Completely updated Pinside Maps!


By robin

1 year ago



Topic Stats

  • 55 posts
  • 35 Pinsiders participating
  • Latest reply 1 year ago by RyanClaytor
  • Topic is favorited by 2 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    There have been 9 images uploaded to this topic. (View topic image gallery).

    pasted_image (resized).png
    Screen Shot 2018-07-31 at 16.24.49  (resized).png
    584BBD40-CBEF-4586-9B3C-40A6770C9380 (resized).png
    pasted_image (resized).png
    clustered (resized).png
    7-13-2018 8-48-14 AM (resized).jpg
    search_filter (resized).png
    full_map (resized).png
    high-estimate (resized).png

    There are 55 posts in this topic. You are on page 1 of 2.
    34
    #1 1 year ago

    Hey all, let's talk about maps!



    TL;DR If you don't want to read the story behind our new maps, simply check out the new maps here!

    That's not a bill you want to see every month

    As you probably know, Pinside has various pages where we use maps to visualize things like Pinsider locations, "where to play" locations, classified ads, and business locations etc. Especially our pinball "where to play" map is very popular amongst traveling Pinsiders.

    To display these maps, we've been using Google Maps since, well, forever. Their API allowed us to embed those cool Google Maps on Pinside, essentially at no cost (well, there were usage limits, but we managed to stay below them).

    Until two months ago, when I received an e-mail from Google announcing some big changes to their Maps API products. And by big, I mean shocking. They were introducing a new pricing structure and at the same time reducing the number of free map loads I could perform from around 25,000 daily to 28,000 *monthly*. Yes, that's monthly! I used their calculator to get an estimate of my monthly costs, entering our current usage numbers (see screenshot) .... Ouch!

    Now, don't get me wrong, I think Google Maps is an amazing product. But these are prices that Pinside simply doesn't have the budget for. And to make matters worse, the new pricing was to go into effect in a month, on June 16th. Which left me one month to find an alternative maps provider AND and rewrite all of our mapping code (luckily, this period was later extended by another month as even Google realized that a month was fairly unreasonable).

    So I went looking for alternatives. Plenty of other companies offering maps products, but I quickly learned that a) they all cost serious money with the pageviews were generating and b) none of them were exactly what I was looking for. Plus I would have to rewrite all my maps code again - and for how long until that company would increase their prices? Change their APIs? Disappear?

    It dawned on me that the only good solution would be to build my own Google Pinside Maps solution!

    I found this cool open source project called Mapbox-gl, which uses WebGL to display vectorized map data. I then set up a beefy web server and set up a map tiles generator (thanks to https://switch2osm.org/), powered by data from the OpenStreetMap project. Then I started designing a base map and implemented the Pinside API to get locations to display as blue and purple dots on that map:

    Woohoo, look at all those dots!

    Look at those dots! When fully zoomed out, the map currently displays 12,685 Pinsiders and 8,120 locations (totaling 97,813 pinball machines). Yup, Mapbox-gl is pretty awesome. After several weeks (long days, lots of coffee) I got everything working fairly smoothly(*) and I even managed to implement our game search filter. Cool!

    The search filter lets you find locations/Pinsiders that have certain games.

    (*) I say "fairly smoothly" because WebGL is fairly heavy on the CPU, so some older computers may not play so nicely. An alternative in the form of raster maps is something I'm looking into as well as it will play nicer with older/slower computers and phones.

    The result is now ready for you all to enjoy. It's still in beta but since the Google maps will stop working in 3 days from now (July 16th), it's better than nothing

    Some final points:

    - due to the time constraints, this was all not tested extremely well. Hence the "beta" tag!
    - first map load might be kind of slow as a lot of the main data (base map, scripts, styling) will need to be cached by your browser
    - if you experience slow/sluggish scrolling or zooming, bear with me as I'm still optimizing stuff (plus our CDN still needs to cache the map tiles for you locally).
    - the plan is to add Biz and Classified Ads to the map too.
    - I will be replacing all instances of Google Maps with our own Pinside maps within the next days.


    Check it out: https://pinside.com/pinball/map/mapbox

    I hope you like the update! Got ideas or suggestions for improvement? Things to add to the map filter? Spotted a bug? Let me know!

    Should play nicely with modern phones too!

    #2 1 year ago
    Quoted from robin:

    They were introducing a new pricing structure and at the same time reducing the number of free map loads I could perform from around 25,000 daily to 28,000 *monthly*. Yes, that's monthly! I used their calculator to get an estimate of my monthly costs, entering our current usage numbers (see screenshot) .... Ouch!

    Wow. I wonder what the ramifications of this will be across tons of other web sites. Glad you found a work around. I just tested it, it works great.

    And for anyone worried about privacy, just do what I did; set your location "close enough" (same city) but not where you live.

    #3 1 year ago
    Quoted from frolic:

    Wow. I wonder what the ramifications of this will be across tons of other web sites. Glad you found a work around. I just tested it, it works great.
    And for anyone worried about privacy, just do what I did; set your location "close enough" (same city) but not where you live.

    Yes, great suggestion. I always tell people to do that. I even considered doing this by default (slightly randomize a user location) but figured I'd leave it to the end user.

    #4 1 year ago

    Nice! I've submitted a couple edits, and it worked smoothly!

    #5 1 year ago

    As a Google Maps API Geek/Hobbyist, I love it! Performance is outstanding, functionality just about perfect.

    Have you tinkered at all with the notion of Marker Clusters? Could help visualize density numerically, then explode as you drill/zoom-in.

    Questions:

    1. I see a pinsider near me with a qty of "-1", is that a bug or a feature? (have vs want? )

    2. Can I create a new marker for a machine I do not own. There is a restaurant nearby, not on the map, with 1-2 machines.
    .
    .
    .
    .
    One of my Google Maps, with clusters, for a subset of our US Clients:
    7-13-2018 8-48-14 AM (resized).jpg

    #6 1 year ago
    Quoted from markp99:

    As a Google Maps API Geek/Hobbyist, I love it! Performance is outstanding, functionality just about perfect.
    Have you tinkered at all with the notion of Marker Clusters? Could help visualize density numerically, then explode as you drill/zoom-in.
    Questions:
    1. I see a pinsider near me with a qty of "-1", is that a bug or a feature? (have vs want? )
    2. Can I create a new marker for a machine I do not own. There is a restaurant nearby, not on the map, with 1-2 machines.
    .
    .
    .
    .
    One of my Google Maps, with clusters, for a subset of our US Clients:

    Thanks, I appreciate the feedback!

    Yes, clusters were in fact implemented, but disabled due to some issue with the filter that I just couldn't get working. Plus, I also kind of like the view of all those independent dots on the map. So I decided to leave it unclustered for now. If I can fix the filter issue it will prbably become a view option.

    If you're curious, this is what it looked like:

    Clustered markers

    As for your other questions:
    1) That's a bug, the circle should actually show ? to indicate that the user's collection is not visible to you.
    2) Yes, please go to https://pinside.com/pinball/map and click on the "+ Add a location" button.

    #8 1 year ago

    Thanks for everything you do!

    #9 1 year ago
    Quoted from robin:

    Thanks, I appreciate the feedback!
    Yes, clusters were in fact implemented, but disabled due to some issue with the filter that I just couldn't get working.

    For my Map task, we needed to see client density at a macro level, to help inform hiring/training needs.

    For Pinside's map, the most common use models would be (for me anyway):

    1. Zoom directly to a desired location, then poke around

    2. Search for a machine, then zoom-in...

    The clustered macro/density view, while interesting on its own, might not provide a lot of useful function. If you do implement, On/Off feature is definitely the way to go.

    Keep the good stuff coming!

    #10 1 year ago
    Quoted from markp99:

    For my Map task, we needed to see client density at a macro level, to help inform hiring/training needs.
    For Pinside's map, the most common use models would be (for me anyway):
    1. Zoom directly to a desired location, then poke around
    2. Search for a machine, then zoom-in...
    The clustered macro/density view, while interesting on its own, might not provide a lot of useful function. If you do implement, On/Off feature is definitely the way to go.
    Keep the good stuff coming!

    Good points.

    As for #1: keep in mind that your mouse scroll wheel is your friend on the map. You can go from world view to streetlevel view in a second! That beats clicking on cluster markers 3-4 times before getting there. Just hold your mouse on e.g. Chicago and turn that scroll wheel!

    #11 1 year ago

    Great work. These big guys are no dummies that’s for sure. Think of all of the cool things Google gives everyone “for free”. Unlike many “free” things that are worth about what you paid, they make it really good and useful. You get hooked. Then after for a while, what was free now comes with a price. A similar thing just happened with Google site search, I had to scramble to find a new solution for a web site after the price suddenly skyrocketed. I’m just glad there are so many great people out there working on viable options, including open source. Problem is many people won’t want to expend the effort to make the change like you did, they’ll just stick with what works and pay the price.

    Amazon will play this game as well. After they take care of the last dregs of their competition, the low prices and free shipping will suddenly disappear.

    #12 1 year ago

    This is all pretty amazing. Thank you for all of your hard work.

    #13 1 year ago

    As always robin you have outdone yourself, just another reason why I’m happy to continually donate and support Pinside.

    #14 1 year ago
    Quoted from J85M:

    As always robin you have outdone yourself, just another reason why I’m happy to continually donate and support Pinside.

    Agreed !

    #15 1 year ago

    Love it. Nice to see the move to an open solution to keep costs down. Great work!

    #16 1 year ago

    cool robin, nice work

    I checked my local area and wondering a few things.
    - one of the sited places closed down - is there a way to delete that site
    - I also updated 2 sites, one with the number of games and the other with what was on site - it saves it when you open that site but not the number when in map view as that view still shows the previous sited number before edits.

    #17 1 year ago

    Good work Robin, I like these better than the old maps

    #18 1 year ago

    These look great!!! Already used them to find some new locations to play at this weekend! Thanks Robin!

    #19 1 year ago
    Quoted from swinks:

    - one of the sited places closed down - is there a way to delete that site

    Yes, simply visit the location by clicking the details link, then use the edit button to remove all the games from that location.

    Note: the current policy, rather than remove a location completely, is to simply remove all its games. The reasoning is that the locations themselves are still findable and people can see the last udated date, comments, "no more games" etc. This also helps in cases where locations remove their game temporarily. It will keep all photos/comments etc.

    Quoted from swinks:

    - I also updated 2 sites, one with the number of games and the other with what was on site - it saves it when you open that site but not the number when in map view as that view still shows the previous sited number before edits.

    This is due to a thing called 'caching' where your browser stores a local copy and only retrieves an updated copy every x days. I'm still working on this (smarter caching), but for now, the proper way to refresh would be to hold down shift and hit refresh on your browser. Sorry for that inconvenience.

    #20 1 year ago

    thanks for sharing, real nice feature and will add a few other places as well

    #21 1 year ago

    I'm having trouble viewing the maps.
    Using Chrome on a macbook pro... Just shows blue and "loading..."
    I checked my adblocker and it is disabled for this site.
    I checked in Safari and that didn't show anything.

    Is this a webgl issue?
    Let me know if you want me to test anything.

    #22 1 year ago

    Firefox on an imac is fine..
    Safari on an imac only opens pinside in a very basic format with no pictures at all

    if that is of any help

    #23 1 year ago

    I'm not seeing those issues here. Maps load fine in Safari, Chome and Firefox (all on Mac).

    Can you try holding shift and clicking refresh? Does that help?

    #24 1 year ago

    iPad Air 2 with safari browser. No pins loaded. I got the map, but nothing else.

    Maybe it needs to load data?
    584BBD40-CBEF-4586-9B3C-40A6770C9380 (resized).png

    #25 1 year ago

    Never mind. It loaded on my 2nd attempt.

    #26 1 year ago

    Yeah, that caching is definitely an issue which I still need to fix. The plan is to have those locations files stored on the server and ony change them as people make updates to the map. Gotta look into those caching headers techniques.

    Today I got around removing all Google maps from the site. I only use google for place search autocompletion now (like the search box in our new maps), so hopefully that alone will keep me under their $200 monthly threshold

    #27 1 year ago

    Thanks for all you do for everyone with keeping these updates rolling out Robin. Everyone appreciates it.

    #28 1 year ago

    One thing I noticed is that the location for some Pinsiders is generic...meaning it will just show the town/city they are in. For example, I show up in Carpentersville, IL with no further location (actual street address location) detail. This is good.

    While other Pinsiders will show the actual location of their address. This could be bad in today's days of online privacy concerns. I am betting some Pinsiders woundn't want their actual physical home location to be displayed on this map... especially if they have large, valuable, or rare collections.

    Would it be possible to make it so all Pinsiders only show up in their town/city with no more detail?

    #29 1 year ago
    Quoted from robin:

    Yeah, that caching is definitely an issue which I still need to fix. The plan is to have those locations files stored on the server and ony change them as people make updates to the map. Gotta look into those caching headers techniques.

    If you're storing them in a predictable place, it can be as simple as serving with Last-Modified, and checking (if your http server doesn't already) If-Modified-Since. Your server can then respond with a 304 if there is no change.

    If you're not storing them as files, but as database objects or similar, you can store a hash of the data as "Etag" and honoring If-None-Match. This will always ask your server if the content has changed, and your server can respond with a 304.

    You could also serve a URL with a long lived Cache-Control: max age value, basically setting a guarantee that you'll never serve different content for the same URL. This could be as simple as suffixing the URL with a hash of what you're serving. This way the browser just checks it's internal cache to see if it has that version or not; and if it does, it doesn't even do a. single round trip to your server. This technique is particularly used for javascript and css caching. The thing here is you gotta *guarantee* that a url's content never changes.

    #30 1 year ago

    pretty slow on my machine. i7-4790 with 64 gigs of ram. gnu/linux os.

    #31 1 year ago

    Thanks for your time and talent in building this map. I’ll be donating soon. You may have saved a ton of money from google, and at the same time gained a new member.

    #32 1 year ago

    Good improvement. It would be nice to show optionally street names and titles in the list, maybe even the optionally the location names and titles projected on the map. This would make the map usable for a pinball bar crawl.

    I also found a bug: the names on the list are being duplicated when you resize the map.

    Screen Shot 2018-07-31 at 16.24.49 (resized).png
    #33 1 year ago

    Are pictures loading a lot slower now?

    #34 1 year ago

    Pinside map is not currently working for me on mobile or google chrome.

    #35 1 year ago

    yes experiencing picture loading slow down as well for the last 24hrs for the whole pinside site

    #36 1 year ago

    this has not worked for me for a few days now. on both IOS, Safari, & Chrome. any suggestions?

    #37 1 year ago

    also noticed that I am getting pm's when I log on today but they are not getting to my personal email since this morning.

    #38 1 year ago
    Quoted from New_England:

    Pinside map is not currently working for me on mobile or google chrome.

    I'm having pinside map issues too -- couldn't load in Chrome, IE, or mobile (chrome).

    #39 1 year ago

    Nice work! This prompted me to remove a former location where CFTBL was unfortunately replaced by gambling machines. Upon refresh, the change was live. Map displayed correctly on Chrome browser.

    #40 1 year ago

    I am using Chrome on Mac and it loads, but just shows a blue screen.

    1 week later
    #41 1 year ago

    How do I find games for sale in a specific state, like Arizona only

    #42 1 year ago

    If the initial slow load was segmented and had a progress bar to indicate something's happening, that would help...

    #43 1 year ago
    Quoted from Jackontherocks:

    How do I find games for sale in a specific state, like Arizona only

    https://pinside.com/pinball/market/classifieds

    There's an option to limit to specific distance from pinside location.

    #44 1 year ago

    I'm really happy with the map! It works good and loads fast. But it REALLY needs to be updated.

    #45 1 year ago
    Quoted from jfesler:

    https://pinside.com/pinball/market/classifieds
    There's an option to limit to specific distance from pinside location.

    Thanks that helped and worked out

    #46 1 year ago

    How do Pinsiders add themselves to the map? Like a business?

    #47 1 year ago
    Quoted from nwpinball:

    How do Pinsiders add themselves to the map? Like a business?

    Simply set your location in your user profile.

    #48 1 year ago

    Small update!

    I have added classified ads to the map. This can be very useful, for example, to find out where people are selling (or looking for) a Guardians of the Galaxy pinball machine:

    All Guardians of the Galaxy ads currently on our Marketplace.

    This means "ads on the map" is also working again.

    #49 1 year ago
    Quoted from robin:

    Small update!
    I have added classified ads to the map. This can be very useful, for example, to find out where people are selling (or looking for) a Guardians of the Galaxy pinball machine:
    [quoted image]
    This means "ads on the map" is also working again.

    Really happy to hear! Been missing this feature!

    #50 1 year ago

    The way I "look for games" is to have a wishlist. I do not create 20+ ads.

    My wish for many years has been a way to "see on a map" where the wishlisters are for a certain game, so I can contact them when I want to sell a game locally in my state.

    I hope there's something about the new system that will make this easier to implement. Are there any plans to implement this?

    thanks,
    -mof

    Promoted items from the Pinside Marketplace
    $ 22.00
    Playfield - Toys/Add-ons
    ModFather Pinball Mods
    $ 150.00
    Various Other Swag
    Test item Out of stock
    Pinside Shop
    $ 8,000.00
    From: $ 9.99
    Eproms
    Matt's Basement Arcade
    € 22.00
    Playfield - Toys/Add-ons
    YOYOKOPTER MODS
    $ 7,599.00
    Pinball Machine
    Classic Game Rooms
    $ 33.50
    Playfield - Toys/Add-ons
    Lermods
    $ 999.00
    $ 19.95
    Playfield - Toys/Add-ons
    ULEKstore
    From: $ 9.99
    Eproms
    Matt's Basement Arcade
    $ 16.00
    $ 24.00
    € 8.10
    Flipper Parts
    Buthamburg
    $ 7,499.00
    Pinball Machine
    Classic Game Rooms
    $ 24.00
    Playfield - Other
    Pin Monk
    $ 76.95
    Cabinet - Shooter Rods
    Super Skill Shot Shop
    $ 5.00
    Boards
    Allteksystems
    $ 7,599.00
    Pinball Machine
    Operation Pinball
    $ 20.99
    Lighting - Interactive
    Lee's Parts
    $ 245.95
    Boards
    Allteksystems
    $ 123.00
    Playfield - Toys/Add-ons
    Lermods
    $ 63.00
    Playfield - Toys/Add-ons
    Lermods
    $ 248.85
    Cabinet - Sound/Speakers
    PinWoofer
    There are 55 posts in this topic. You are on page 1 of 2.

    Hey there! Got a moment?

    Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside