Bob Balaban May 20 2007 08:44:27 AMGreetings, Geeks!
Ok, I need your help on this one, I'm confused. I've been hearing about "mashups" now for a few months. Boy, have I been hearing about them....it seems as though they're on the radio in the morning, and on the blog or in the trade-news column of every MBLIFMR pundit on the Net. (That's "Management By Last In-Flight Magazine Read", for you newbies).
It seems to me that there's way less here than meets the eye, but of course this is UI-land, and I don't always trust my own judgments here. I want to say what I think "mashups" mean in the Domino Web App space, and I want YOU, dear, loyal Geekdom denizens, to tell me whether I'm right on, close, or WAAAAYYYYY wrong. Ok? I promise, you won't hurt my feelings.
Cutting directly to the chase -- to me a mashup is nothing more than a bunch of rectangles on a browser page, where each rectangle represents the UI for a different app. Sometimes the rectangles (mashlets?) can "talk" to each other, sometimes not. One nice feature for the user experience (in most cases, anyway) is that when the content of one mashlet updates, the other's don't have to refresh. I guess this is what AJAX is for, and that's probably a good thing.
I've seen other, fancier mashups (like the ubiquitous GoogleMaps examples) where the mashlet UIs are actually overlaid, on on top of the other. This style seems useful for geographically oriented information, but not much good otherwise (ok, I said this was my opinion!)
To me, if I'm accurate in my description, "mashups" are really a Portal-style interface, with a few variations: 1) A Portal page is "assembed" (the UI is aggregated) on a server, whereas a mashup could be aggregated on a server, but could also be aggregated on the client; 2) Portlets come with an inherent (because the code really only exists on the server) ability to talk to each other ("click 2 action", or the newer form, "Composite Applications"), mashlets might or might not have that ability, as there are no standards for how to do it -- so all mashlets from Google, say, can talk to each other, but not to mashlets from Microsoft...
How am I doing so far? Is this stuff here to stay, or are we just fooling around?
Assuming this stuff is real for now, what does this mean (or what COULD it mean) for Domino Web Apps? (Now we head off into What if....? land)
Let's also hand-wave into existence a client-side communication mechanism whereby mashlets can securely exchange "properties" and trigger "actions". For example, when the user clicks on a mail message in the Inbox mashlet, the Activities view automatically re-shuffles itself to show all Activities involving the sender of that email. And of course, all names in all mashelts are automatically presence-enabled for Sametime....
I kind of like that idea, do you?
It seems (to me, anyway) awfully close to Composite Applications, which, if you've been following the betas for Notes 8 you've already heard about. Both patterns involve assembling "components" onto a page and figuring out how they can/should talk to each other.
But I see a couple of important differences:
1) CompApps require WebSphere Portal or the Notes rich client to run, Domino mashups would run in a browser (though of course they could also consume Portal mashlets/portlets)
2) CompApps require pre-wiring of the components at assembly time (this is something you do in the Composite Application Editor in Notes 8); mashups may or may not require pre-wiring. If they use the "Click 2 Action" style of automatic discovery, then "wiring" is dynamic and occurs on the client page at runtime.
Discuss! Is this something we should build? Would you use it?
Naturally, it pre-supposes some new capabilities on the Domino server for this to work right. I have hinted at some of these in other posts, but I'll say no more about it right now.
- Comments