Blummy: The Mother of All Bookmarklets

Check out Alexander Kirk’s new website: Blummy. A blummy is a kind of bookmarklet that opens up a kind of pop-up portal, giving you access to various web services. Just like a portal is made up of Portlets, a Blummy is made of Blummlets, which essentially do the kind of things bookmarklets do. e.g. A blummlet can let you subscribe to this page with Bloglines, change the browser location, or show an image. Where the blummlet is interactive, the action takes place within the popup as a Live Form.

Here’s a few interesting things about the site:

  • Because the Blummlet lives in a bookmarklet, XMLHttpRequest can access any domain. Scott Isaacs recently suggested it would be worth the risk for browsers to drop the same-domain policy, though it’s unlikely to happen anytime soon. A bookmarklet, I’m guessing, gets around that constraint.
  • The site lets users share Blummlets, which might lead to Cross-Site Scripting (XSS) attacks like the now-famous myspace effort. Alexander’s well aware of this risk, which is why there’s a “Report Concern” checkbutton. It will be interesting to see how this kind of moderation works out. I still think users might need something stricter, like a whitelist approach, where Blummlets have to be explicitly approved by “the community”, i.e. guilty until proven innocent. (This is still vulnerable, but I think it’s a better trade-off overall.)
  • There are shades of yubnub here, as well as the widget/gadget/startlet idea seen on start.com. Leading to a repository of Blummlets. I mentioned to Alexander it would be nice to see an RSS feed, where users could somehow drag or a Blummlet into their existing Blummy.
  • Speaking of gadgets/widgets, the popup feels something like Dashboard and Konfabulator. Another example of tha Ajax Desktop, and a pretty useful one in this case. There are various popup bookmarklets like JSCalc, which offer one particular function. They are convenient , but there’s no central management point, and a lot of duplication and inconsistency in how the manage the popup experience. So Blummy does to the browser what Dashboard does the windows system: provide a common structure for individual applets. I haven’t looked into the programming model, but there’s probably good scope for a JS util library to further facilitate Blummlet development.

Protopage as Portal

I mentioned Protopage yesterday. It’s look-and-feel has so much more appeal than the standard Ajaxian portals (Google Homepage, Backbase, Start, etc.). Considering the others are more powerful functionally – given that you can do stuff like grab RSS feeds and search history – I wondered why I like Protopage so much more. There’s a lot to like, but I’ve decided one particular design decision was critical:

The portlets are free-floatingI.

By portlets, I mean all the little bits of self-managing content. In the standard Ajaxian portlet apps, you can drag-and-drop, but you’re constrained to a three-column layout, and each column must begin at the top and continue unbroken. Eschewing that approach and going for completely arbitary positioning gives Protopage several advantages:

  • It’s classical direct manipulation, the idea that made windowing desktops so popular. The user feels in control when they can move and drop content anywhere instead of being constrained by the desktop traffic laws. I’m saying “desktop” rather than web page because I can’t help thinking of protopage as a desktop right now (despite its name!).

  • Not only does the user feel in control, but the free-range arrangement makes protopage more valuable as a portal. With content arranged according to the user’s mindset, it’s easier to navigate and manage.

  • The design exploits whitespace. As building architects and town planners know, some space is good. It helps structure things and is visually appealling. The 3-column portals do contain space, but only by virtue of there being no content there yet – the user can’t directly create space.

  • Another benefit of the space is the background actually becomes useful. You can have a personalised desktop image, which can be any image URL. And the user has the power to work around any blurring effect because they are in complete control: they can move portlets around, change the background, and even change the colour scheme. Users can even arrange the portlets around the structure of the background image.

All in all, I’m impressed! Protopage is pure Ajax, one of the finest production-level Ajax apps to arrive since the hype began.