Programming with other programmers libraries

Login was down

I was going to write an update related to a funny issue that modern day programmers encounter but I realized that the login functionality of Famous Meme Maps was temporarily disrupted, so I couldn't log in to make that post. I'm not sure what happened but I was using a library to process Reddit API requests called Reddit.Net. It was throwing an error when trying to parse the response from Reddit but fortunately the library is open-source so I downloaded a copy and started to debug. After a few minutes, I found changing a required field to a optional field made the process work again, so fortunately that was a quick fix. Having a site like this will require a bunch of alerts for when issues like this arise, I've got the monitoring down but now to setup the parameters so they can let me know when the health of the site is less than optimal. I'm lucky that no one is using the site right now so there wasn't a noticeable service disruption or else it could cause a bad experience for the users.

I was up early this morning, as is usually the case, and I got to work on a feature that has been rattling around in my head. I wanted to highlight this feature and it is images.famousmememaps.com. That URL doesn't do a whole lot by itself, but when passed the proper parameters it creates a thumbnail of the map you request in nearly real time. It runs a few processes on a few servers and gives a simple output of a thumbnail image. It's a complex solution but it meets the requirements I've laid out and I'd have to say should turn out to be pretty resilient and quick. To give some further insight to how the whole process works it goes like this:

  • when you share https://famousmememaps.com/home/map/1/most-famous-person (or any map on the site) in an app or website sometimes a quick snippet is shown that gives a description and image (among some other things).
  • behind the scenes when your phone or computer reaches out to famousmememaps.com, it gets a response with some meta data that includes an image linked to the new app. Your phone pings images.famousmememaps.com then is beamed down a thumbnail image
  • images.famousmemememaps.com transforms the complex and interactive SVG maps of Famous Meme Maps into a flat JPEG image that is pretty representative of what the interactive map looks like at any point in time with an hour cache
  • this gives a unique image to each shared link and makes sure the map is at the forefront of the site experience

It's small details like this and the engagement potential of the site that makes me hopeful this way of memeing has some legs to move. This new app I've created also allows for taking larger snapshots of maps so I might play around with it for those of you who want to share a map but don't necessarily want to share something interactive. Before I close out, it's been a month since I made the first map on this site and yesterday my friend and co-worker Fraser created his first (and second) map on this site 30 days later! That was exciting. I also woke up to see another user created a map, so thank you anonymous benefactor for trying out the site, hopefully your experience was nothing less than stellar!