Web Development – What in the World is a Mashup?

I’ve wanted to write something about mashups because I’ve been having trouble understanding just what they are, and writing often clears the way to understanding with me. I hope this article works for you. On the other hand you may be perfectly clear on the subject already. In which case don’t read this article as it may just confuse things for you and I couldn’t live with the guilt. I’m joking!

Anyway, I read a book recently where mashups were touted as one of the additions to web applications that make for the difference between Web 1.0 and Web 2.0. Antediluvian Web 1.0, of course, was that unenlightened time near the turn of the century when our relationship with the web was limited to feeding it information and reading what it had to say. Web 2.0, or today’s web, not only takes what we feed it but interacts with our input; and what we read is then altered and illuminated in the process. Or something like that. Put a lot of the emphasis on the word “interacts” in my definition of Web 2.0.

Further research found that in order to make a mashup you first had to know something about XML because that is the language used to structure the data–whatever that means. I found a number of fine books on the subject I’ll never get around to reading. Then you have to know a lot about JavaScript because that will be the functionality that brings life to your web page. After that you are ready to form your mashup. All you need is php and mySQL to retrieve the data from the API or API’s (Google maps is a good example of an API often used in mashups). At this point I became fairly certain I wouldn’t be developing any mashups of my own any time soon as I am even less clear on the definition of API’s than I am of mashups.

Ok, so what is a mashup? A mashup, according to the Wikipedia is a “web page or application that combines data or functionality from two or more external sources to create a new service.” Apparently you couldn’t combine things under Web 1.0? Anyway, I don’t think I can improve much on that definition. In fact I feel like the judge who once defined pornography by saying he couldn’t define it but he knew it when he saw it!

The mashups I am most familiar with appear when I want to travel and need a place to stay. It seems every hotel and motel on the continent has a webpage with a map on it produced by Google Maps. Usually the information on the hotel jumps out at you when you run your cursor over an oversized pin in the map. You can usually zoom in on the motel to find the easiest way to get there. This is an example of two databases, Google maps and a hotel database acting in concert with JavaScript allowing you to interact with the webpage. Walla! You’ve got a mashup.