Much of yesterday was spent implicitly pondering the difference between a Mashup and an Integration. The question cropped up in conversation with Gareth, but came to a head as the Osmosoftonians investigated the use of TiddlyWiki to add an offline experience to an internal system only a vendor account manager could love. Coincidentally, JP was also yesterday musing about enterprise information and flow, from which my take is the blog is very enterprisey when charted on a diagram, but that's all hidden, dynamic loosely connected, plumbing. It's a convoluted route when drawn out in plan, but the result of the power of hyperlinks: you don't need a map to construct a Web-flow, you just follow the signs.
As a result, I'm pretty sure there isn't a knife-edge, a nonconstructive proof, but when considering calling something a mashup, you might like to ask the following questions:
- Is everything "zero touch", that is, can you get to your data without having to engage in a dialog with some jobsworth to ask for permission, open up a channel, send you documentation, add users, test data, whatever?
- Can you play around with the data, view it in a browser without worrying about accidently firing nuclear missiles? In other words, is it safe?
- Is the site stable? Can you send a link to a page to someone else and they, assuming they have access, see the same data? Are the Web pages bookmarkable? That is, does the site use cool URIs?
- Is the data available in an open, easily parseable form, HTML with Microformats, Atom, JSON, XML, etc
- Does the site eschew so called rich user experiences such as Flash, Silverlight, AIR, and other proprietary nonsense when presenting data?
- can you access the data from a HTML form, or with a drop of Javascript in a browser, without having to download Jar, War, Ear, DLL, PEAR, Eggs or other SDK like stuff?
- Are the URIs accessible from The Web, visible to services such as Dapper, Yahoo! Pipes, Google Maps, i.e. don't involve NAT, WINS or other scoped addresses which only make sense behind a firewall?
- Do the words "SOA", "EAI", "SOAP", "WSDL", or heaven forbid "BPEL" crop up during conversation, except within bunny quotes and followed by sniggers?
- To protect private data, does the site use OAuth, OpenID, a simple digest scheme or even Username, password and cookies rather than some complex, probably federated, security method for access control?
- Does it solve a problem for you personally, scratch your itch or help someone you know and care about, rather than being a prospective development to fulfill someone else's perceived requirements for their ideal "user"?
- Would you ever consider developing the idea yourself, you know, just for the fun of it?
If the answer to some of the above is "no", in particular the first and last ones, then you have an integration on your hands. Bad luck. It's going to be expensive, and certainly not pretty.
Bumper sticker: Mashup fun? No need to ask!