When it comes to making your site important, platforms trounce software hands down. Facebook learned this the easy way; today, the myriad of Facebook applications available make the social networking site a typical destination for a significant proportion of internet users. Indeed, many users now browse new content on their favourite sites via their respective Facebook apps. Platform wins. Yahoo! is about to accomplish the same, this time in web search, and has opted for PHP.
Yahoo! is set to revisit the area of opening up a platform, bt in a highly novel area: search results. All the major search providers have been experimenting with providing useful data in search results since their inception. After all, a few words around instances of the search query is rarely reflective of the information contained in a page. The main challenge, however, has always been the same: how do we determine what information to display? With the rise of microformats, Yahoo! could have the perfect solution: let the user take the decision. With Yahoo! Searchmonkey, web search just became a platform.
The long and short of it is this: developers can create mini “presentation applications”, in PHP, that generate fields for presentation of data. There’s also some complex systems in place for custom data services and data feeds, but primarily it’s these presentation applications that take centre stage. Information is typically drawn from microformats, then used in place of the typical search result text. Rasmus Lerdorf has a fantastic example of SearchMonkey – we go from this:
Now, isn’t the second result a whole lot more useful?
This has already made an impact; developers have been singing Yahoo’s praises and even openly declaring their switch to Yahoo! search. Personally, I’ve been using Yahoo! over Google for years, as it always felt like a more advanced search platform; the search query suggestions tend to be more accurate, the topic hints help me really find what I’m looking for, and the interface is just a step slicker than Google’s. With SearchMonkey, Yahoo! is now at the lead of the pack, taking advantage of the semantic web to produce quite possibly the most advanced general search system currently available. More importantly, however, Yahoo! is taking advantage of the sheer mass of PHP developers – many already familiar with Yahoo’s Developer Center and web services – and giving them the power to extend and enrich the core of the typical user’s online experience.
This is also a major push for PHP; Python had a momentary spike in interest through Google’s App Engine, but this has not seen significant uptake as yet. On the other hand, SearchMonkey is set to perform similarly to Facebook apps, especially given the potential SEO and business benefits. Watch Developer Tutorials for a SearchMonkey tutorial in coming weeks. Given the general momentum towards the web, and now its use in SearchMonkey, PHP could very well become a key part of the typical enterprise stack, even alongside Java and MS languages.
SearchMonkey is also very flexible with regard to data: once you create a data source, it is reusable across presentation applications. Essentially, this is encouraging good development practice while making it easier to use their platform at the same time.
Finally, Yahoo! has taken a very interesting approach to running the platform: they allow you to run your PHP code on Yahoo!’s servers. Naturally, there are all sorts of security restrictions in place, but there’s a very generous whitelist of PHP functions available, and you have the standard PHP syntax you’ve been using all along. PHP, now powering another platform, is set to power the next generation of the web, where information rules supreme.