Development can be a dicey endeavor where outcomes might not always materialize as expected. Take, for example, recent problems with Google's integration of AJAX functionality into search, and it becomes obvious that the union of two great things doesn't always result in a great outcome.
The Perils of Success
Google dominates search and advertising on the web. Most of us really don't mind because they do such a phenomenal job of search and have really help change advertising in ways that make it much more accessible and feasible. Likewise, AJAX (or whatever we're calling its JSON-based sibling) is also a fantastic technology that can improve end-user experience and significantly cut-down on bandwidth when used correctly.
As such, you'd assume that if Google incorporated AJAX-like behavior into their search functionality, everyone would come out a winner. But it's not panning out that way. In fact, early indications of where this fusion of technology and dominance are headed border on the nefarious. Or at least, it could easily be construed that way.
Is the Sky Falling?
As outlined in two different blog posts, there are problems with the way Google has chosen to implement AJAX enabled search. Instead of linking to a site with a referrer of something like:
Google will actually refer traffic like so:
And if you've been around the block a few times when it comes to web development you'll spot the obvious problem as browsers don't send anything beyond the # sign when requesting resources from web servers. This, in turn, means that keywords (from Google) won't be recorded in your server's web logs. Consequently, if you're using a log-based analytics package to analyze traffic on your site, your analytics solution will become borderline useless when it comes to tracking which search terms are leading to your site.
Impact and Assessment
If you assume that Google's own analytics package won't be impacted by this change (as I did initially, though I still don't know for 100% sure), then it would be pretty easy to wonder whether this just represents an oversight or bug on Google's part, of if it's part of a bold move to muscle-out other Analytics offerings on the market. Happily, initial statements from Google on the subject appear to indicate that this is an unintended consequence of Google's attempt to streamline and speed-up search performance.
Development and the Perils of Success
To be fair, some of the fallout Google encounters with this transition is due to the high degree of success that Google has enjoyed. Browser toolbars, ranking widgets, and the like have been built on top of Google's search functionality, and when Google changes, those tools need to change. You could argue that Google has become a bit like Microsoft in that Google needs to decide either to hobble future functionality in terms of providing backwards compatibility or to break a few eggs to make an omelet. (And either choice will yield cries of “foul” from vocal groups on either side of the aisle.)
Whichever path they chose, it will be interesting to see what transpires. Moreover, watching how things unfold will serve as a reminder that as developers we can't see into the future any better than anyone else, no matter how much we want to. In other words, Google has built a powerful empire in part by enabling webmasters to hone content on their sites via a careful symbiosis of optimization and analytics, but even they have apparently run afoul of their own attempts to take this success to the next level.
Moreover, Google increasingly needs to deal with some of the side effects of their own success when it comes to implementing change. And no amount of planning or wasted effort in over-building their solutions would have protected them from having to deal with these issues, as success always leads to a certain level of unexpected, organic, growth that just can't be anticipated. Bear that in mind the next time you're tempted to delay the development of your own project to add a cool new feature or functionality that MIGHT address a hypothetical need in the future, because doing so will only hurt you now, and there's no way of telling what will be in the future short of waiting for it to arrive.