But isn't it all data? Although web content certainly is an important type of information available on a web site, Data needs to be treated differently. Here I'm talking about Data with a capital D -- I thought the Wikipedia description was good: "Data refers to a collection of organized information, usually the results of experience, observation or experiment, or a set of premises. This may consist of numbers, words, or images, particularly as measurements or observations of a set of variables." Here are some of the ways that Data is different:
There are several implications of this including:
The prior post Taxonomy Mappings: Be Careful When Integrating gave some examples and described the problem of taxonomy mappings. Related to that is false precision in your tags. In thinking about this more, it occurs to me that there are probably two useful rules of thumb to keep in mind whenever tagging/pulling content (whether the content is automatically tagged, or mapped from another taxonomy, or mapped by hand):
In both of these cases, when you pull by the fine-grained taxonomy there is a false sense of precision (and you can get grossly wrong.Another way of stating the rules of thumb above:
Of course, by far the most preferable treatment is that all content, across the various systems you want to pull from (onto the same web page, for example) is tagged to the same, fine-grained taxonomy (or at as fine grained as you ever expect to need to pull from). Otherwise you'll have to resort to taxonomy mappings, or retroactively tag content.
The natural temptation on planning a product's roadmap is to plan far into the future. That temptation arises for reasons such as wanting to please clients by telling them you'll give them what they say they want, wanting to relay the internal technical teams' plans to deliver something far in the future, feeling that you already know the list of features that users want, and not wanting to feel like you're planning all the time. In my experience, that is less successful than trying to only plan and publicize a short time horizon out (and not even promising anything outside that time horizon). Here are some of the reasons:
I partially read the following a while ago that helped convince me to push toward short delivery schedules: Agile and Iterative Development: A Manager's Guide by Craig Larman and Getting Real by 37signals.
Since posting Enabling the Interaction Publisher, I've done some more research on mashup builders. I found a lot of excellent resources (see end of this post for a list), but felt that a summary of what's out there would be helpful (this is what I would have liked to see when I researched this). Although lists of tools exist, I wasn't getting a sense of the overall space. Note that I believe that mashup editors are only part of enabling the interaction publisher: the other parts being standardized access to data (particularly all data from one institution) and deeply embedding these types of tools in content management systems (for instance, using topic-driven templates already in your CMS to drive mashups that are driven by those topics).
Some of the particular variables that are probably most relevant in what tool you should use for your particular application / situation:
Although I was hoping to put together a fuller spreadsheet of all the tools out there, I selected a subset that was either easy to start using or had very clear documentation (I used all to at least some extent but AquaLogic Pages). At any rate, here's a brief (and admittedly incomplete) table comparing different mashup builders along the criteria listed above (please comment with any corrections/additions):
| Mashup Builder | Hosted? | What outputs? | What inputs? | Building Environment | Browser Restrictions | Can be embedded? |
| Apatar | N/A (run from desktop) | A wide range including: RSS, Text, Salesforce, File, MySQL, Amazon S3 | A wide range including: RSS, Text, Salesforce, File, MySQL, Amazon S3 | Visually create a flowchart | N/A | No |
| AquaLogic Pages | No | Interactions: Data Table, Record List, Text, Map, |
RSS, web services, user-created data | WYSIWYG | ? | Partially? (only within BEA environment) |
| Dapper | Yes | Feeds: XML, RSS, HTML, JSON. Interactions: Google Gadgets, Google Maps (more) | web pages or RSS | Pointing at the parts of the screen you want scraped and/or filling in forms | Depends on output | Yes |
| Google Mashup Editor | Yes | Hosted web page (within GME environment) | RSS, GoogleBase, or user inputs | coding | ? | No |
| Microsoft Popfly | Yes | Interactions: Gobs, although much of the focus seems to be on playful things like wak-a-mole | web pages, RSS | Visually create a flowchart | Silverlight + Firefox 2 or IE7 (!) | |
| QEDWiki | Either (although install option didn't work for me) |
Wiki pages |
XML, RSS | WYSIWYG + filling out forms | ? | |
| StrikeIron SOA Express for Excel | Desktop (extension to Excel) | Excel sheet | Web Services, especially StrikeIron services | Excel | N/A | No |
| Yahoo! Pipes | Yes | Feeds + Interactions (Maps / Lists) | Feeds / CSV / some other specific web sources / limited generic XML (reference) | Visually create a flowchart | Didn't see official reference, but seems to run on Firefox 2.0, IE6, and Opera 9.24 |
I found the easiest to use were Apatar, StrikeIron SOA Express for Excel, and Yahoo! Pipes (if you just want to play with something to get a feel for mashup editors, I'd recommend starting with these), although each is entirely different. Although QEDwiki has a great intro video and appears to be able to do a lot, I got the least far actually using it. Although I'm sure that someone that knows Dapper inside and out could create a feed from scraping pages, in practice I didn't manage to get it to do the two tests I tried (for example, in trying to scrape country pages from the World Bank site, it wouldn't let me since the different pages were coming from different domains although they were driven from the same CMS). Popfly seemed interesting, but doesn't appear to be geared toward the enterprise and has very specific browser requirements. That said, these were just initial impressions (and initial ease of use may be irrelevant for a particular application) -- the main purpose of this post was to put together the matrix above just getting a feel for the current overall state / scope of mashup editors.
Here are some excellent resources on mashup editors:
I've been thinking about and researching how an institution can share its data, documents, and other content. Obviously your data and content is already exposed via the web, but providing the data in a more structured way allows more users (both internal and external) to manipulate the data in interesting ways, for example in mashups. There seem to be a few ways to share data from an enterprise with a lot of content:
Anytown,
See how this page appears in Firefox Operator (also notice the tagspaces):
