I get asked occasionally “what is a mashup?” This is typically after a “what is web 2.0” conversation, and similarly, it can be interpreted differently by different people. Sure, maybe there are no right or wrong definitions, it is still an emerging concept, but being the purist that I am, I’ll attempt to define a mashup the most technically sound, business applicable way.
Before I get into some technical examples of a mashup, perhaps I can describe it contextually in a way many people will understand, reminiscent of another term of long ago – “portal.” A mashup essentially represents several distinct views (technologies/pages/services/what-have-you) combined into a single application presenting data in a new way. Put another way, it “mashs up” several disparate services into a new, more meaningful service. This new service may be more productive, a single repository of information, or just extensions of a service which intend to leverage someone’s expertise.
A couple good examples can be found over at mashupCamp where developers come together to showcase their use of or offerings of mashups, which can also be considered APIs and even SDKs.
Ok, great, so you understand what a mashup IS, but what is the business model behind them? Well, many at this stage don’t have one. They effectively serve as a developers playground, enabling rich functionality with nominal effort. Mashups today serve the ‘bleeding edge’ developer community. No mashups aren’t just about AJAX, but they share similar tendencies in that most of the underlying technology has been around for awhile, just not exploited, or made readily available as it has become today.
So it stands, everything old is new again! What the “portal” (arguably) failed to deliver upon last time around is back again, this time under the guise of mashup. So what makes it more compelling this time around? Well, a couple of things. Firstly, unlike last time, you don’t need to robust platform with intrinsic support between vendors. You don’t need complicated interfaces, in fact you don’t even really need to be a good programmer! The real kicker now is the simplicity; consistent with other web 2.0 tendencies, user-generated content and rapid, low-cost development makes it sexy. Creating a mashup of flickr, youtube & google maps can be done in literally hours with your favorite [programming] language of choice.
Ok, so its easy to use. Why is it going to stick around this time? First off, who knows if it will ever hit critical mass, however, based on the patterns of the previous few years it wouldn’t surprise me to see some successful services emerge collaborating content from several sources. The principals are fairly sound, you do what you do good at and I’ll stick to doing what I’m good at and lets just agree to play nice together. Here’s where things start to get interesting. Everything is fine and dandy when your “borrowing” content and nobody is really noticing (hence your little site isn’t yet obtaining 10K new customers each day). However, if/when you do happen to draw some attention, maybe even make some money, that is when things start to get muddy. We’re already seeing this kind of activity within mySpace, content providers are making it so easy to consume their services and embed it into other sites that the hosts actually have to block, stop or restrict access. This isn’t always easy. Remember a while back when PayPal infiltrated eBay? Here we go again. On the other side of the fence you have intellectual property protection. Who owns what, who has rights, permissions, authority not to mention who gets compensated or royalties. This is just tip of the iceberg.
Take the simplicity, power and flexibility of mashups (glorified APIs) derive something new and you may have yourself a potentially valuable website. What if I said you could (with several readily available tools), consume data (content, feeds, articles, etc) from what are considered restricted sites – either those you protect behind a login or those that may require payment for access – combine it all together and make it available for free to other users? Sounds scary huh? It is, and its being done everyday. With one valid user account, a program can be written to infiltrate your “secure” data, pull it out of your site, repackage it and offer it up to a whole new audience. Yep, its probably illegal, but until it gets mainstream attention its not exactly being discouraged, hell, most businesses don’t even realize its happening.
Mashups to me, really represent a new paradigm for the web. This hodgepodge of technologies, vendors, services, platforms, tools, acronyms and yes, even expectations is exactly what we aimed to solve several years ago with STANDARDS. Back when Netscape was battling with IE, EDI became XML and interoperability, cross-platform compliant software was all the rage – technology shops finally wised up and said, hey its in everyone’s best interest for us to all get along. Standards bodies then drafted guidelines for HTML, CSS, XSL and the major vendors started playing nice, applications could talk to one another consistently, we didn’t have multiple instances supporting different platforms and we could all live happily ever after. Well, at least we thought. Mashups represent the wild-west again, rouge developers deploying new technologies without due diligence, with (in our defense) for the better of the “community” – let users decide what they want we cry. Let the markets work in other words.
Its clear to say the jury is still out on what exactly mashups represent, it does however offer suggestions that with every step forward, we must take a step back. Every advancement (even web 2.0) comes with some baggage. Making technology so easy to use/deploy its bound to fall into the hands of those less disciplined, less knowledgeable as to how things “should work” and frankly, surface others with malicious intent. As of now, its up to us to self-regulate ourselves, as the tools have become so powerful there’s no simple “easy button” to protect ourselves. Knowledge is key.
On the positive side mashups can represent significant breakthroughs. Innovative companies can now interact with sites/services they never before could. If a site doesn’t offer an API, no problem we’ll create one for them. This is a practice formerly referred to as screen-scraping and its becoming easier to do and you no longer have to roll your own. Literally any standard HTML can be “lifted” from site A, tunneled to site B and repurposed. Some tools harvest by CSS tags, others use micro formats – whatever the flavor, it’s the newest technique to interact with remote sites/services. The reverse is also true, if you have data you can programmatically inject it into remote sites, now I’m not talking maliciously or sql injection here, but rather remote form submissions, such as a login. One simple application I saw demonstrated how a developer liked a girl on facebook, however her status was not “single”. So he wrote an application that would programmatically log into facebook, scan her profile and alert him when her status changed! Just think about the power this represents! Monitor your competitors, incorporate new business workflows, review sale prices of your next plasma tv – the uses are only limited by your imagination!