I'm happy to announce that we've opened the API that powers http://searchbeta.active.com, the solution scheduled to become the new Search engine behind active.com in the coming months. By opening the API we're hoping developers will think of interesting ways to use and mashup our data. The API provides programmatic access into our core directory of assets, including:
While this data was already available before through the Asset Syndication API, it is now possible to conduct relevancy-based searches based on keywords. Plus, the new Search API is fast and allows for a variety of output formats including:
I'm happy to announce the release of searchbeta.active.com! We've been working for many months to improve upon our "Alpha" and today we're ready to open the new Search to you. Keep in mind it's still in beta and there are a few kinks. We're hoping to gather a lot of user feedback so that, when it comes time to replace search.active.com, we've built a product that you will love to use. Check out this screencast for details:
We're well underway developing the new search.active.com, and I thought I'd take a moment to discuss a realt-time, publish/subscribe messaging layer we're inserting into the Search architecture. In the beginning of my career I worked building distributed OSS/BSS applications integrating various line of business systems with products from a middleware vendor called TIBCO. During this time I was introduced to the concept of "[publish/subscribe|http://en.wikipedia.org/wiki/Publish/subscribe]", whereby an application sends one message that may be consumed by many disparate applications. For example, when a customer calls into a call center to order broadband internet, the customer service rep enters order details into a CRM system. When the order details have been captured, the CRM system submits the order for processing. Various applications might be interested in that order, including the workflow system which manages the provisioning process and the Customer Data Store application which warehouses all customer records. Though the publish/subscribe pattern, the CRM system simply publishes the "new order" message knowing nothing about the applications that might be interested in it. Interested systems then consume it and do work with the data.
Decoupling in this way yields a powerful layer of extensibility whereby "n" number of applications can be integrated to consume messages with no modification required to those that produce them.
TIBCO provided a messaging layer called Rendezvous that I worked with on several projects back in the early days. Rendezvous was the medium, or "Enterprise Service Bus" (ESB), through which messages were exchanged. It also cost about $100K. Cheaper (i.e. free) alternatives have come about since then, including an implementation of the XMPP protocol called ejabberd. While XMPP is widely thought to be an instant messaging protocol, it's publish/subscribe plugin makes it a good ESB candidate for simple messaging solutions. There are XMPP clients written in .NET, Java, Ruby, etc., so interoperability is maintained.
The new Search solution is trialing XMPP to synchronize ratings data with the search index. Functionally we've proven XMPP does the job as our prototype is using it today, and we're hoping the platform will be robust enough that we can broaden its use to other AMP initiatives which might include real-time registration notification and social message streaming.
I'm excited about the options publish/subscribe gives us architecturally speaking. Hopefully this is the first of many posts heralding this new design paradigm and highlighting its uses.
We now have over 100 users in our Search Beta, and the feedback we've received so far has been positive. One user has asked:
"I would love to see something interactive where I could quickly access different multimedia from past events. It wouldn't necessarily be official race photos (I'd actually prefer that they weren't) but even links to a search results page for the event's name in Flickr or YouTube would be great. Even a search OUTSIDE the active network, bringing me to different bloggers who have posted about the events or written race reports from past events would be great to see."
I couldn't agree more. There's a ton of interesting, relevant content out there in the cloud that would add value to search. We're working now to implement this feature, pulling in photos from flickr, videos from youtube, tweets from twitter and blog posts from technorati (a blog search engine).
We've been listening to our users, like bikehugger, who asks "Possibly not enough coffee, but has anyone else just stared at Active.com wondering how to register for an event?" (http://twitter.com/bikehugger/statuses/998940596). Our users want to a) find the events to register for and b) run through a no-hassle registration process.
Here we're addressing "a" - making it easier to find stuff to do.
So we've been working to make search a bit easier and a bit more relevant. I'm happy to invite you to our highly experimental, closed search beta. The first 100 users can sign-up at http://labs.active.com/users/new, using the invite code "blogsearchinvite".