I’ll thought that it might be a good idea to keep a little dev log of my experience with developing and operating geotastic. In this moment, while I’m writing this, geotastic is alive and kicking for two months (plus a few extra days).
Most of the time went into getting the app prototype ready and implementing feature after feature. The prototype was ready after a work-heavy weekend.
The first month was really interesting and I’ll share the google maps API statistics below:
Up until 11th of October, traffic was almost non-existent. I mostly played myself or was busy creating country polygons like a maniac while trying to figure out how to optimize my randomizing algorithms.
On the 12th of October, I shared the app with the first community which lead to a small number of people trying it out. Things got a little “out of hand” on the 19th of October because the app was put into spotlight a little and the strain on the API is shocking in hindsight. I wasn’t really paying attention to the numbers and I didn’t had data to compare them to anything so I had no idea that the numbers were way to high. At the same time, I was trying to fix a memory leak issue that stemmed from using the google maps and street view java script API in a SPA context. As I found out, I somehow had to keep the initialized map instances around and reintroduce them to the DOM when needed. Before, I was initializing a new map instance every time the map showed up after a route change though. What a waste… that not only lead to the aforementioned memory leaks but also in heavy API usage. Every initialization costs money, after all.
So, after implementing a map pool class that kept the map instances alive after creation, the load on the API went down as well. A lot of expensive birds with one stone. The rest of the month went smoothly!
October accumulated 129,57€ in API usage costs. Google’s free tier got me covered!
Having fixed most of performance, stability and cost related issues in October, the next month was a great opportunity to try to increase the daily player base to see how the system would behave.
The graph for November looks a lot better! Even though the daily load is generally higher than in October, it did cost me just a little more in total (133,75 €). The optimizations really did pay off.
The month went over rather smoothly with a lot of new features and optimizations under the hood. Cleaning up the prototype code is messy but kind of rewarding in it’s own right. I also never stopped trying to improve the randomizer algorithms to work well in all circumstances… I’m looking at you, German street view coverage! Most of my player base is German and Germany did not work at all. But I was able to fix most issues (at the cost of a little higher API usage per game)
But at the end of November, thinks turned interesting again. The game was featured on the latest episode of “GeoBattle” which lead to a huge increase of beta access requests. I was really happy that the month was already almost over… But thinks might turn ugly in December.
We will see!