Behavior, Content, Money – 3 Things you should never give away for free!!!

BCmoney MobileTV

OpenRecommender v1.0 released!

Posted by bryan on November 11, 2011 in Semantic Web, Web Services with 1 Comment

No Gravatar

This is a post to announce the ALPHA release of OpenRecommender, version 1.0.


Project logo w. Chinese characters for 'Trust'

Have you ever wondered if there was a better way to find information on the web? Before today, there has been lots of ways from targeted search to surfing aimlessly, or from social sharing via SNS platforms like Facebook or Google+ to required reading assigned by professors, co-workers or managers by email (i.e. “Recommended reading”). Even “stumbling” across interesting content via tools like StumbleUpon, Digg and Delicious is also commonly mistaken as being a form of “recommendation” service. These tools are not Recommendation Engines though, they are most accurately described as Social Bookmarking tools (i.e. users must manually save something for later, or, “mark their place” so they can take up where they left off in browsing/reading). In fact these tools have some opportunity to become web-wide Recommendation Engines since links can be submitted on any topic, and some (such as Digg) even have “Related Content” suggestions that group item or user similarity, however the problem is that similarity is just one small measure of relevance for true recommendations. OpenRecommender identifies 15 algorithm types for generating high quality recommendations. The more the merrier, in fact, so any algorithm could be used as long as it can be ranked in real-time.

Today, I’m proud to be able to share a first look at a new approach that represents a “Recommendation” more completely than ever before. The OpenRecommender project ALPHA release realizes the first step in a talk I gave exactly one year ago at AWOSS 2010:

Who can use it?

You, right now!

Go here for an example:



What is it?

OpenRecommender is in short, an open source recommendation engine.

The more complete answer though, is that it is a piece of information retrieval middleware designed to be a lightweight, scalable bridge between multiple data publishers on the World Wide Web. Through integration of data from multiple sources, the middleware is capable of intelligently retrieving, sorting, ranking, filtering, aggregating and displaying data choices to users.


When is it available?

Please note though, that today’s release is only the ALPHA release, so the software is still not well-tested or complete based on the author’s original goals. As usual with most open source projects, proceed with caution, but definitely proceed. Although there is a lot of work to do to get it to a 2.0 BETA release (which is planned December 12th, 2012 for symmetry’s sake), the author maintains that a lot of work has gone into it already, and it is definitely worth testing out if you are an early adopter (comments ranging from harsh criticism to generous praise are not only welcome but encouraged).

After that, depending on the success of OpenRecommender there may be a formal launch of a specific product,  so stay tuned for that, but its far too early to tell at this point.


Where can I get it?


  • Hopefully it will be running in the background of your favorite websites and social networks soon!

In the meantime, it will be running here, on BCmoney. You will see it run after videos finish playing, as well as in the Search page which often doesn’t find the videos you are looking for on this site itself, so instead it will suggest that you try videos from several other publishers.



Why does the world (wide web) need it?

Since I began building (over four years ago) and then running (live since December 7th, 2007) this online/mobile video-sharing portal, I quickly realized the usefulness of tools which help sift through large amounts of data, especially those that help users and publishers alike to find content of interest to them specifically. It is this vision for a more personalized and relevant experience that motivated me to continue my little experiment these past four years, learning along the way about what works and what doesn’t in publishing and aggregating content from around the web.

Today, NetCraft (a web survey leader) estimates that there are approximately 525,998,433 sites known to be in existence on the World Wide Web. Similarly, Pingdom estimates that over half of these sites in 2010, roughly 255 million, were actively maintained and used. Meanwhile, the Linked Data Web graph diagram is exploding in both size and number of participants:


Class diagram for the LOD datasets

Figure courtesy of Richard Cyganiak of the Linked Open Data (LOD) Community


Hopefully, with OpenRecommender, people will be able to find what they are looking for more easily. Perhaps someday they won’t even need to waste hours searching the entire web for things, when a system like OpenRecommender can help them get to the information they need, while still keeping the importance of their personal privacy and the negative effects of the filter bubble closely in mind.


How do I use it?

You shouldn’t have to do anything different. Simply continue participating in Social Media and sharing information that interests you. If you are very eager to try it or contribute though, you could:

  • Make suggestions on how to improve it here
  • Let the publishers that you interact with take care of the rest. If you feel like you want to see the OpenRecommender specification followed by a publisher that you use, feel free to send them an email with a link to the project’s website:

NOTE: If you do email a publisher or social network to encourage OpenRecommender support, you should mention the following quote in the email to get your point across:

In order for OpenRecommender to be able to recommend data from your site, it must be available in an open format via a documented API in CSV, XML, JSON or RDF formats, or, it must include semantic markup in the HTML it presents to users on its regular webpages. If it uses semantic HTML markup rather than an API, the data must be in either MicroFormats (must produce well-structured, valid xHTML), RDFa (such as OpenGraph Protocol), attributes (as in HTML5 Microdata) or a well-documented combination of these.


  • Please consider trying to run an instance on your site and provide feedback here
  • Find tools, tutorials, documentation and more at the OpenRecommender project site

What’s Missing?
Large amounts of data are required. But data is everywhere; so, the next little while I’ll be focused on integrating a large number of APIs and Linked Data sets into the core dataset that powers the Recommendation Engine. The algorithms have to be REALLY good to be able to recommend across large amounts of data quickly and efficiently. Right now, I’ll be the first to admit that they are mediocre at best. In order to get over this initial hurdle, and, to solve the cold-start problem of having to train the algorithms, I will next integrate an instance of Apache Mahout with several training datasets from the Linked Data community (TV, Movies, Music, Books and more).

Last but certainly not least, what’s missing most of all is a slick user interface that works across multiple platforms. This is in the works though, to deliver a kind of expose on the capabilities of OpenRecommender.

That’s all for now. Hopefully OpenRecommender proves to be useful for everyone on the entire web some day, but realistically that could be a long way off. With the amount of time spent on it, I would be happy just to hear that it was useful to a single person other than myself!