Today I want to share with you how does the regular work we do at TasteKid look like. This is not a big new feature announcement, just some of the things we did over the past couple of weeks… the kind of stuff that keeps us busy, so that everything runs smoothly, TasteKid’s knowledge keeps improving, and you can explore your taste :)
1. Improving country detection
While we’re not tracking user precise locations, we allow everybody to set and display (on their profile) the country they live in. When a new user creates an account, we try to detect the country based on their IP. For this, we use the GeoLite country database. Because IP addresses are reassigned, the database loses its accuracy over time. We didn’t update the database in a long time, because we were storing the country numerical identifier for each user, and, as we later discovered, these change from version to version. Therefore, using this tutorial and switching to country codes, we refactored the country database update procedure and website code. Now we should be back to 99.8% accuracy in country detection for new users.
2. Updating counters for likes, dislikes and comments
When you click on a resource (band, film, etc.), a tooltip appears with related information, including the number of likes, dislikes and comments for that resource, given by TasteKid users. Those counters were incremented each time a user liked, disliked or commented on a resource. However, they were not decremented when a user that performed such an action deleted her account. Therefore, there was a small discrepancy between these counters, and the real values, displayed on the resource details page. We fixed this, and now these counters are recomputed at regular intervals of time, to make sure their values are correct and they account for deleted users.
3. Centering clips on pages without description
A quick one - On resource details page without a description but with a YouTube clip, like this one, we centered the clip. Before, it used to be aligned to the right, as it is for all the other pages that also contain a textual description.
4. Reconstructing the Freebase per-topic datasets
During the learning process, TasteKid makes use of Freebase. The per-topic data dumps of Freebase were deprecated - exactly the information that TasteKid was using. Since the only currently available data dumps are provided for the entire Freebase data in RDF Turtle format, we preferred to reconstruct the per-topic datasets ourselves, by implementing a script that makes use of the MQL Read API to query Freebase repeatedly.
5. Updating the knowledge base
The reconstruction of the Freebase per-topic data dumps finished just in time to build and release our most comprehensive knowledge base to date - with over half a million resources and 30 million connections. Building this index is a relatively complicated procedure (we’re constantly working on making it more simple and efficient), and usually takes a few days. But once completed, the improvements and the fresh results are totally worth it.
This was to give a flavor of what we constantly deal with at TasteKid. During these two weeks we did other things as well, but I decided to describe these five points in more detail, as they provide a good mix of back-end and front-end tasks. I hope you liked it… and now, back to work :)
We recently re-implemented a large part of TasteKid’s core - the algorithms and data structures used to crunch numbers and generate recommendations. Besides making it more efficient (btw, big up for Redis!), a direct result is that the knowledge base has doubled in size. This should lead to better recommendations, especially for less popular bands, movies, TV shows, books, authors and games.
We know TasteKid still gives silly recommendations for certain items. There’s always (lots of) room for improvement, but we hope this update is a big step in the right direction!
Over the past few weeks, we implemented a series of small updates and fixes. For instance, there was something preventing the embed Youtube clips featured in our resource info boxes to go full screen. We fixed that, and now you can watch the trailers of the movies you discover properly. Also, a bug was allowing users to save on their profiles resource titles that begin or end with white spaces, and considering them to be different from the actual resource that the user intended to add. We also addressed other similar issues.
I would like to thank our users who reported these issues. We read carefully all your feedback, and, even though we rarely give an immediate response, we take everything into consideration. Most of the things we fixed were small bugs that we probably wouldn’t have found without you, so we really appreciate your reports!
Most of TasteKid’s users discover new bands, movies, TV shows, books, authors and games without creating an account. Today however, we want to say special thanks to the 50,000+ registered users that took the time to create a profile and save their favorite stuff. We really hope you enjoy the experience. And, as always, for all users, keep exploring your taste!
First, we would like to wish all of you a happy, healthy and playful new year! Spread love and keep exploring your taste!
Second, we want to announce that we just migrated our Facebook page. Previously we were using our App’s page, but Facebook recently discontinued this option and we had to designate a distinct page to be our official stream.
Thirdly, after a short drawback, we just finalized the most recent update on our knowledge base, so everything should be fresh now.
For those of you that are using or planning to use our API, I’m writing this to inform you on some recent changes regarding usage limits and requirements.
Since more and more people are experimenting with or using our API, we developed a better tracking system, so we can monitor overall API usage, prevent abuse and allow as many useful applications as possible use it in good conditions.
Anonymous API usage is now limited to 15 requests per IP per day. You need to request an appID using this form for more. Once you fill in the request, you will be instantly provided via email with the information needed to identify your app and perform up to 150 requests per day. If you need more, please follow-up using our contact form and we will consider increasing your limit. Don’t forget to cache results whenever possible, and don’t perform multiple registrations for the same app.
There are no other changes on the actual request or response formats. For more details and examples, check out the API page.