Last fall, Adrian Holovaty when interviewed by the Associated Press about mashups was asked: what happens when Google maps is no longer free of advertisements? He responded that he’d already created a version of his award-winning chicagocrime.org site that ran on Microsoft’s mapping platform. Just in case.
His response highlights the fact that the web-as-platform is actually a collection of different platforms that, like platforms of the past, may at times need some type of cross-platform layer to insulate developers from the differences across APIs. This would follow in the long and somewhat tortured history of earlier cross-platform libraries and tools: windowing Windows/Mac/X-Windows (ex: Qt, GTK+), operating systems Windows/Mac/Unix (Virtual PC, RogueWave), databases Oracle/SQL-Server/MySQL (ODBC), browsers IE/Netscape (Zorn Library), and so on. These probably go back to the dawn of software and maybe by the time the second platform existed there was the need for portability.
The various categories in this site’s API database give a sense of where there might be value in cross-platform portability: mapping, search, advertising, shipping, photos, bookmarks, storage, security, chat, calendars, media management, shopping, travel, and weather. This list will only get longer over time. Following David Berlind’s model, this is an optional layer between the API and browser layers.
If on the other hand the API providers adhered to common standards and interfaces this would be less necessary or certainly simpler (as 23 is doing by following the Flickr API model). Dave Winer recently kicked-off a some lively debate when he proposed cloning the Google search API. Which lead to good questions about how will this benefit API providers, hasn’t some of this already been solved, and that it may not be simple.
Of course some won’t see this whole new portability thing so much as an issue but as a business opportunity…