Thursday, September 27, 2007

Intel Mash Maker shows promise, but isn't there yet

I've spent the last couple of days playing around with Intel's Mash Maker, trying to see if it is a tool I would feel comfortable putting in front of a business masher. As with so many other mahsup tools, the answer is "No." Not only is it much too fragile at the moment (Their server has been down more than it has been up over the past couple of days.) but it still requires users to know HTML and XPath to scrape content.

However, unlike Google's Mashup Editor and Yahoo! Pipes, I can see the skeleton of a real business-user tool in the making.

For those of you who may not have read about Mash Maker, it is a semantic web-based HTML screen scraper developed at Intel's Berkley Research Lab. The idea behind the tool is to leverage the power of everyone in the world to classify, tag and otherwise bring under control the chaos of content that is now the web. Then when the content is tagged and understood, allow said content to be mashed with other content while providing hints about other available mashups.

Here is an example. There is nothing new about plotting all the good burrito restaurants near a specific location. We've been mashing up those sorts of sites for a couple of years now. However, what if you wanted to find the good burrito restaurants that were within walking distance of a tire repair shop? If you had to use Google or Yahoo! to develop this mashup, it wouldn't be worth your time. However, with Mash Maker you can create the mashup in minutes.

Run a search for burrito joints in your area code. Show the results as a table (A 'standard' mashup provided by Mash Maker) and copy them. Run a search for tire repair shops in your area. Paste in the burrito restaurant information and map the results. Now you have plotted on one map the burrito joints and the tire repair shops. It's faster to build the mashup than it would be to run two Google Map searches and tally the results on paper.

Why do I say the tool isn't yet ready for prime-time? Server crashing problems aside, getting to the point where Mash Maker understands the content in a web page is difficult. Any page that Mash Maker doesn't understand, and that includes nearly every website that I visited, needs to have a data extractor written to scrape out the content. Creating a data extractor requires the user to know how to write XPath expressions, and how to understand the relationship between the page's HTML and the rendered content. Sorry, but that's too much to ask of a business user. No, not because the business user is stupid, but because these users are experts in their subject area, not in HTML and XPath.

I have to conclude that "Mashups for the masses" is still only a pipe dream. However, I think Intel is on the right track. While Mash Maker isn't ready for my business mashers yet, it could be in the future.

Friday, September 21, 2007

Google's mashup editor is still for developers

I've been playing around with Google's Mashup Editor, trying to see if it is a reasonable tool for business mashers. It didn't take me long to know the answer: No, it isn't.

It is certainly an improvement over the old way of building Google Map mashups. That involved writing javaScript inside HTML pages and deploying to a handy web server. This wasn't a problem for me because I've been coding for many years, and I happen to have a web server on my machine. A business masher, someone with subject-matter expertise but not deep technical knowledge, wouldn't want to write the HTML or javaScript, and likely wouldn't have a web server on hand to which they have deployment access.

Is Mashup Editor any better than than browser-side mashing? In some ways yes, in many ways no. Google allows mashers to deploy mashups to Google's server, which is definitely an improvement for business mashers. Deploying to the cloud is likely the only way a business analyst will get his or her mashup published. IT isn't going to be able to spend time deploying mashups to internal servers. Certainly not when the mashups will probably need to be deployed several times before they are 'right.'

So Google is definitely on the right track, but Mashup Editor is still for developers, not for business mashers. Mashup Editor requires mashers to write code. It doesn't matter that the 'code' is in the form of an XML document. It is still code. For me it is a great tool because I can include feeds as easily as maps within the mashup. No more jumping between Yahoo pipes and Google Maps. I can also use existing HTML, including style sheets, and add data and map elements from Google's expanded tag list.

I would never, however, put Mashup Editor in front of a business analyst to build business mashups. Even though there is no longer a need to write javaScript for browser-side content mashing, mashers still have to use HTML, and XML tags are still programming.

If you want to combine visual and data elements in a mashup, you are comfortable with HTML, style sheets and XML tags and you don't care about process, go ahead and use Mashup Editor.

Is it a tool for business mashers?

Nope.

Wednesday, September 19, 2007

Where will we get business mashup data? Not from Intel's MashMaker.

Business mashups promise to put the means of application production into the hands of subject-matter experts. With the right tools and some know-how, anyone can create a process-centric application that mashes-up data from several sources, all without bothering IT.

Here's a problem with that scenario: Where will we get the services? Creating and deploying web services to use in mashups requires technical skills generally found in IT. Will business mashers stand up SOA infrastructures? Will they code up some SOAP or REST-based web services to deliver the content they need to mash?

Unlikely, and this will become an increasing problem. Business mashers need a way to create these services without the help of IT. It isn't that IT doesn't want to help, but IT is simply too busy keeping the mail server running. Business requests for services will end up in the seemingly bottomless backlog of IT development requests.

It doesn't have to be that way, however. Intel, an unlikely entrant into the consumer mashup business, has announced a program called MashMaker that uses HTML screen scraping to let users mash any web page. Well, I suspect not just any old page. I expect that pages using Flash may pose some problems.

Of course, this is going to cause a fire-storm of controversy. Who owns data on a website and is it legal to pull it into mashups? You can be sure that industries relying on copyrights (music, newspapers, books...) are going to have a hissy-fit. The courts will have to figure that out.

Regardless of the copyright issues, Intel is on the right track. They want to combine del.icio.us-like tags with Amazon-like recommendations to suggest mashup ideas to users. (People who mashed this page also mashed this other page...) That's a great idea, but I'm concerned about Intel's approach. Sure you can mash-up any web-page, but you have to use Intel's mashup tools to do it. Intel seems to be going down the proprietary path, and that's a shame. We've worked long and hard in the software industry and finally have some standards available for constructing loosely-coupled applications. They may not be perfect, but they work.

Intel's MashupMaker isn't set up to work well with others. You can't deconstruct a page and access the data you've extracted in, say, a BPEL service flow or from a BPM engine. MashMaker would be much more powerful if it generated a call-able web service that could be consumed by any standards-based loosely-coupled application.

I've signed up to beta MashMaker, so I'll let you know more when I get a feel for what it can do. Meanwhile, it's a step in the right direction at the very least.

Monday, September 17, 2007

Do we need business mashups?

I've been talking quite a bit about business mashups lately, and besides the standard, "What is a mashup?" and "Why did you have to call them that?" I've been asked whether we need business mashups. Aren't the mashups we already have good enough?

That's a good question, but to answer it I need to explain what other sorts of mashups are out there in the world. For simplicity's sake I will only talk about software mashups, not music mashups, video mashups or any other sort of mashup.

There are several types of software mashups, the most common being the consumer mashup, best exemplified by the many GoogleMap applications. GoogleMap applications range from calculating the distance of a lunchtime run to showing which hotels the stars frequent in Beverly Hills. Just to play around, I even created one myself, showing the good burrito joints near my office. If you're interested, you can take a look at many consumer mashups by visiting Programmable Web.

Other common types of mashup are “data mashups” and “enterprise mashups.” A data mashup combines multiple data sources into a new data source, such as combining the data from multiple RSS feeds into a single feed with a graphical front end. An enterprise mashup usually integrates data from internal and external sources. For example, it could create a market share report by combining an external list of all houses sold in the last week with internal data about which houses one agency sold.

Consumer and data mashups aren’t enough if you are trying to solve business problems. These problems generally have several things in common. They involve multiple stakeholders, they cross organizational boundaries, they interface with multiple back-end systems, and at the heart of every business problem is a process: a process for provisioning new employees, approving expense reports, or approving sales discounts.

Consumer and data mashups don’t provide the necessary capabilities to solve business problems. Business Mashups offer not only a unified experience, like consumer mashups, but have at their core a powerful process engine. This process engine lets you cross organizational boundaries and pull together stakeholders throughout your business. You get the right information to the right people at the right time so they can get the job done. No consumer or data mashup can do that.

So do we need another sort of mashup?

Oh, yes, we do.