« Monday Morning Recap | Main | Virus Warning.. Be Wary... »

The Dawn of the Mashup World: Part Ia: What is a Mashup?

The day following my initial post in this series, Thomas Howe produced what should be archived as a key reference post, The Truth is that Everything Isn't a Mashup, in which he goes on to succinctly articulate a definition of a mashup:

A mashup is an application that uses
1) modern Web integration technologies
2) to take content or services from two independent sources
3) to solve a unique or niche problem.

In general, you’d have to have all three to qualify in my book.

And his key points:

These integration technologies create a “web as platform” architecture, allowing the mashup developer to integrate his[/her] software on top of the world class infrastructures provided by Amazon or AOL, simply, easily and safely.

Mashups take things that might not go together, and puts them together in a valuable way.

.... [mashups] .... serve some small niche or community of interest. This last element isn’t so much about technology, or even business model, but is a very practical matter. Mashup architecture is a light weight architecture: it is best suited for solving small problems simply. [my bold]

When the winners in the Skype Mashup competition are announced over the next few weeks I think you will find that they all fit into Thomas' definition of mashups. (And most of the entries in practice did.) Read Thomas' entire post for completeness.

Update: The issue of the need for "Web integration technologies" has created some interesting discussion on a Skype Mashup Group chat. Does a mashup necessarily need "web integration". Here are two more definitions of mashups:

From TechWeb:

A mixture of content or elements. For example, an application that was built from routines from multiple sources or a Web site that combines content and/or scripts from multiple sources is said to be a mashup.

And the website for a previous mashup event:

What is a mashup?

  1. Wikipedia definition: A mashup is a website or application that combines content from more than one source into an integrated experience.
  2. Layman’s definition: Make technology the way you want it to be!

But if you go to Wikipedia today you get:

A mashup is a web application that combines data from more than one source into an integrated experience.

Does a mashup have to be a web application? What is the role of web services? Please use the Comments to continue the debate.

Tags: , , ,

TrackBack

TrackBack URL for this entry:
http://skypejournal.com/blog-mt/mt-tb.fcgi/3657

Comments

What!

One of his "Requirements" is NOT a needed one. Example: MytoGo for Skype makes Skype calling services portable to ANY DTMF capable phone.

Does this Mashup something? Sure even Dumb Phones can use Skype calling services remotely to call other Skype names and check voice mail for FREE, or use Skype rates for local and long distance calling needs.

To claim, that MyToGo for Skype is NOT a mashup because it uses NO web interface, only DTMF and the Skype API, well is far from true, and he should remove the need for Web services calls, which either come as a SOAP or REST flavors, AJAX, Javascript and Ruby.

Mash potatoes don't require http; Mashups don't either, People need to Stop trying to re-define things already defined. Do what science does, have another theory, give it a name, don't try and re-define an older name :P More about MyToGo for Skype here, and you be the judge:

http://www.testing.onlytherightanswers.com/modules.php?name=News&file=article&sid=58

Thanks for the notice, Jim. I really appreciate it.

I understand where you're coming from, but I think a little explanation might help. I sort of feel like Jane Goodall here, and I'm not trying to make a new definition of mashup. I'm trying to capture what I'm seeing at mashup camps, what I see at programmableweb and what I do in my engineering life. These guys use web integration technologies, and expect others to do so as well. I'm not saying that your stuff isn't great: I'm sure it is. I'm not saying C++ is bad: I use it all the time. Logically, you could say that, according to my definition, that anyone using the Skype API couldn't be writing a mashup because it uses C++... and I would say you have half a point. That does sit outside the circle, but it doesn't speak to other parts of your mashup that might use Web integration technologies. But aren't we figuring out how many angels can dance on the head of a pin? I'm trying to explain what the vast majority of the mashup developers do in a way that we can learn from it - I'm not trying to exclude others.

Here's some evidence for this particular part of my position (and I'll expound on it on my blog). ProgrammableWeb is widely seen as authoritative on mashups. They list 2313 different mashups using 511 APIs. In terms of usage, the top APIs are GoogleMaps, Flickr, Amazon, YouTube, VirtualEarth, YahooMaps, eBay, 411Sync, del.ico.us and Yahoo. All of them use Web integration technologies as their only method of invocation. None of them use C++. Nearly 75% of the mashups use mashups from the big boys, the other 25% is a fairly long tail of APIs, nearly all of them use Web integration technologies. Although I have not done the actual number, I would not be surprised to see a less than 5%, and maybe less, of mashups that don't use Web integration technologies. For all practical purposes, I'd call that a trend. I felt it was important to call it out.

Ok, from that angle. Programmable web has MyToGo as a "Best New Mashup" it is done in C#, uses NO http: interface for processing, yes it has http: for links only so...

Can we please define what a mashup should be? The End Result

Can we define what a cake is before we say it requires sugar.

I feel a Mashup is the sewing of two technologies that naturally are not connected at the time. That the output of a Mashup creates some enhancement or feature that the inputs to the Mashup do not provide standalone without the Mashup.

In my case, there is a device that is the input, so I also believe that a Mashup can have a device as input and not even require that the input is an application or is even smart or modifiable, in my case as the Input technology which is ANY DTMF capable phone and SkypeIn, merging these two technologies allows a dumb phone "A phone with no ability to update the client software, if it even has any software on it, or in it, it could be a simple landline phone, with no software"

The term Mashup was first used in Music, it is about mixing 2 songs, there are no limits in music Mashups, one does NOT say one song being mixed to produce this music Mashup must be Jazz, or Rap or the output music cannot be considered a "Vaild" Mashup.

There should be no limitation on what can create a mashup, not the protocol used such as only http: or the language used, think of that as Jazz or Rap, or evenif the input is an application or a device.

What is important is the end result, that the Mashup creates something that is NOT present without the Mashup being used. That something is enhanced, be it a device, or a combination of applications.

- There is a lot of useful work to be done combining IM APIs from Skype, AIM, MSN, YM etc etc with Web based APIs. So I think it's important to both recognise the trend in the proliferation of web based APIs but also not to limit Mashups to just these and so miss opportunities from very widely installed programs. I don't think spreading the idea that all the component parts of a Mashups *must* be web only is helpful. Hence ProgrammableWeb lists APIs, programs written to them and mashups using them that are not web based. This is a good thing.

Programming Language used to program a mashup is irrelevant. Use whatever works. There are mashups out there, documented on ProgrammableWeb that use php, perl, python, ruby, VB.net, c#, Delphi, Flash, Air and I've no doubt there's at least one written in C++ If you're mashing web technologies with desktop technologies you pretty much have to use a language that understands MS Windows and COM. Which tends to mean Python (FOSS) and VB.Net/c# (Microsoft).

So, are the the Skype worms mashups?

Good to see lots of comments. I don't want to feel like Jane Goodall or her subjects. Seems to me there is too much stressing over a definition. I would not have called anything we (TeleVoce) have shown so far a mash-up. Since we basically have already done the MyToGo by ZOverLord some time ago as PontiVoce I feel a right to comment. Why we have to concern ourselves with what language was used for coding seems irrelevant to a mashup. I have no concerns about how a mashup is defined, but it seems to me it is simply a combination of distinct web apps. I think the early examples exploiting Google Maps and Flickr are on target. If I use a Google API to display a map to an address on my website, that does not seem like a mashup. It is simply an API implementation-- which can be innovative, remarkable, surprising, exciting and whatever, but it doesn't become a mashup for being cool, Does it? I would just be happy to have a cool app and not care if anyone correctly or incorrectly thought it was a mashup.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Brought to you by:

Emerging Communications Conference

Auto generated tags