Hello everyone and welcome to yet another version release of Project Odyssey: Version 1.2 is finally out! With it comes a choice of an official name. Project Odyssey will from now on be known and branded as The Japan Map. And with it, you are now also able to reach the map directly by entering www.thejapanmap.com into the browser. (I legit don’t know how this domain wasn’t already snatched up by someone else)

But by far the biggest change of this release is the introduction of The Video Finder. By right-clicking anywhere on the map, you will now be able to open up the context-menu and select the Find Nearby Videos option. Selecting this option will load a number of videos from the database close to that location. Sounds simple, right? And it is! But only for your use, and definitely not very simple for me to implement….

The Video Finder in action

You see, the question isn’t just being able to do this. When running a website, you have to do so efficiently. I could of course take every single coordinate in my database and compute the distance to them to find the closest ones. However, this process takes an entire second to compute. Not much you think? Wrong! Imagine having 1000 users on the site at the same time. If this feature took a second for each call to run, it would take a user 1000 seconds before a result would be provided to them! Nope, this doesn’t work. And it will work even worse over time as the app and data grows further. This approach is thus not scalable and a more efficient way to do things had to be found.

Introducing: Spatial Indexes and Spatial queries. Instead of computing the distance to all points in the database, I can instead create a bounding box around the area and retrieve all points within it. This operation can be done with something called a Spatial Index, which makes it incredibly fast as it doesn’t rely on a full scan of the database to accomplish. Scalability is therefore also guaranteed. Figuring this out was quite challenging. Nevertheless, the time spent was more than worth it.

This is what such a bounding box around an area looks like.

I actually got the idea for this feature from my friend Tobi who I went on vacation to Rimini with together. The Video Finder thus became the first of the set of discoverability features that I am planning for the map. Previously, the map functioned more to show off the places each individual YouTuber went to rather than helping you discover places. This changes with The Video Finder, which makes this quite a special release to me.

Enough about The Video Finder though: One additional small update is the ability to hide most of the UI by pressing the button next to the Find Channel field. I added this mostly for use on smartphones as the additional UI that was added for The Video Finder feature ended up cluttering up the display too much! Usability is after all incredibly important to a web-based app!

Anyways, I thank you for reading! My next task will be to make the data better as there are quite a lot of blips on the map that I want to sort out. I thoroughly hope you enjoy the new feature and before I forget: Please take a look at the video I made announcing this feature. I think the back and forth with Cassandra is quite entertaining.

Happy Video Discovering

Niko

Subscribe to My Channel
You must be logged in to post a comment.
Menu