Panlibus Blog

Archive for the 'AJAX' Category

Mashed Libraries

I’m sat at the moment amongst such a collection of library UK geekdom that I’ve not experienced the like before.  I’m in the basement of Birkbeck College in London for the Mashed Libraries UK 2008 event sponsored by UKOLN and organised by Owen Stephens.

Apart from the acrobatics of trying to get on to the wifi, which I’m sure could be made more than a little simpler and less frustrating, the day has got off to a great start.  Rob Styles did a great, mostly command line driven, introduction to using Talis Platform stores.  He was followed by Tony Hurst sharing his experiences, tips, and tricks, for using online tools such as Yahoo Pipes and the spreadsheet elements of Google Docs. This was an excellent session – each time I return to Yahoo Pipes I am amazed anew and wondering why I don’t use it more.  

Next we had Timm-Martin Siewert from Ex Libris, who gave an overview of their Open Platform Strategy, and a peek in to EL Commons.  This was the subject of a recent Talking with Talis podcast with Oren Beit-Arie Ex Libris Chief Strategy Officer.  Like myself in the podcast, others today questioned why EL Commons, being  a commons, is not open to all.

A previous colleague of mine from way back, Mark Allcock  now with OCLC then gave us a brief overview of readily available APIs from them.  Finally Ashley Sanders talked about some API work at COPAC.

After an excellent lunch, small groups formed resulting in much chatting and coding.

The afternoon was punctuated by a presentation from Paul Bevan, of the National Library of Wales.  Paul took us through the issues in how they are taking their resources to the majority of visitors – online.

That brought us to the end of the afternoon and some short reports on what people had been working.  Unsurprisingly from the presentations that started the day,  there were several groups who had made great progress using Yahoo Pipes and the Talis Platform and in several cases both of these.  For example via Pipes one group were pulling book records from Amazon, adding Jacket images then augmenting them with holdings data from the Platform. Another plotted library locations for records from the Platform, on a Google Map by again using holdings data and also location data from the Silkworm Directory.

All in all an excellent day enjoyed by thirty plus people interested in using technology to improve libraries.  There is already talk of the next one.  Well done Owen for organising this one.

Update: Dave Pattern has uploaded several photos of the day to Flickr – the image above being one of them.

WebOS – Joining a few more dots

There has been over the last few weeks some thoughts forming out of my mist around delivering useful functionality to where it is needed which has been crystallized a bit by Jason Kottke’s excellent posting GoogleOS? YahooOS? MozillaOS? WebOS?. A highly recommended read.

So this is my best guess as to how an “operating system” based on the Web (which I will refer to as “WebOS”) will work. There are three main parts to the system:

  • The Web browser (along with other browser-ish applications like Konfabulator) becomes the primary application interface through which the user views content, performs services, and manages data on their local machine and on the Web, often without even knowing the difference. Something like Firefox, Safari, or IE…ideally browser agnostic.
  • Web applications of the sort we’re all familiar with: Gmail, Flickr, and Bloglines, as well as other applications that are making the Web an ever richer environment for getting stuff done. (And ideally all Ajaxed up to provide an experience closer to that of traditional desktop apps.)
  • A local Web server to handle the data delivery and content display from the local machine to the browser. This local server will likely be highly optimized for its task, but would be capable of running locally installed Web applications (e.g. a local copy of Gmail and all its associated data).

That’s it. Aside from the browser and the Web server, applications will be written for the WebOS and won’t be specific to Windows, OS X, or Linux. This is also completely feasible, I think, for organizations like Google, Yahoo, Apple, Microsoft, or the Mozilla Foundation to make happen (more on this below).

There has been various initiatives to deliver ‘useful gizzmos’ to the user over the last couple of years or so. Yahoo Toolbar, Bookmarklets, Google Toolbar, and many other toolbars. PearlyKing2.jpg

If your browser is anything like mine [after the kids have been at it] the top of it has more buttons on it than you would find at a Pearly King convention!

Then we have the desktop add-ins like the MSN Toolbar, Google’s Sidebar, Konfabulator, etc. Apart from the usefulness of desktop search [which IMHO would be wonderful if it was a combination of Windows Desktop and Google Desktop’s integration with the web in general and my browser history in particular] how really useful are the gizzmos that they all [a massive generalisation] provide. How many weather feeds do you need telling you that it is raining to convince you that the sunshine outside the window is a figment of your imagination!

So why is it that so much promise is not being realised? Well, to pinch a Web marketing mantra, most of the value is in the long-tail and its not being realised.

Let me explain. Currently there are two basic approaches to deliver new web-integrated functionality on to the desktop with the tools/platforms that are around.

Way one – The Google Sidebar way – A gizzmo on this platform has full access to the Windows subsystem, so it is comparatively easy to interact with other applications on the desktop. All you have to do to build one is to whip out your handy copy of Visual Studio and start coding away. Interaction with browser content may not be too easy, but a good Visual Studio guy should be up to it. All users need is to download the Sidebar and your plug-in.

Way two – The Greasemonkey way – A gizzmo on this platform has full access to what the [Firefox] browser is up to, and via AJAX calls access to services around the planet. All you have to do to build one is whip out you handy copy of Notepad or similar and start coding away in Javascript. No access to what’s going on on the desktop but powerful inside the confines of the browser. All users need is to be running Firefox and have installed the Greasemonkey extension.

There are a couple of hybrids around also. Plain old Javascript with AJAX embeded in a web page – a bit like Greasemonkey but due to security issues this method is restricted in what is possible. Still the user has only to view a page to get the value add. And then there is Konfabulator, an easily accessible Javascript engine, and Widget deployment platform, but with little desktop integration and even less browser integration.

One thing is very clear, if the cost of entry to a community is the price of a copy of Visual Studio and the understanding of how to use it, you are going to get far fewer people participating than you would if all they need is a simple text editor and a Javascript book.

So where do Jason’s thoughts help? He envisages his WebOS providing on/off-line capability with suitable local web services feeding locally stored content in to an enriched AJAX environment where the browser window becomes the desktop. This would deliver a great environment in to which a long tail of developers, regardless of if they use VS or Notepad as their IDE, to add their value to the world.

This won’t happen overnight though, there will be some false dawns on the way. For me the ‘killer’ step on this road would be for something like Sidebar to deliver an embedded Javvascript engine and [separate] browser window. This could leverage the long-tail of the developer comunity [currently hitting the Konfabulator Forums with hundreds of postings a day] on top of a simply downloaded gizzmo platform from a well known widely trusted by the users brand.

Gunk script worrying the Greasemonkeys

The Greasemonkey community having just got over its recent security scare is now experiencing traffic on its mailing list because they have identified a simple bit of JavaScript which effectively stops a Greasemonkey script from modifying the display of a web page.

A few weeks back it was reported that Greasemonkey that oh so useful Firefox Extension that lets you run Javascript on top of any web page, could also be misused to effectively expose the contents of you PC’s disk to the world. Panic over! Greasemonkey version 0.5 (still in beta) plugs the security holes.

When I was a teenager [what now feels eons ago] fixing my own car engines on my parents drive, I could only start work if I had a can of a wonderful product called Gunk on the shelf. Invariably when I’d finished major under the hood surgery there would be significant amounts of oil & grease on the paving below the car. Bring on the Gunk, and the driveway would be degreased in no time.

The concern of the current traffic on the Greasemonkey mailing list is that they have appeared to have discovered the JavaScript equivalent of Gunk. Place the few lines of code in the correct place on your web page and it will detect any changes that a Greasemonkey script makes to the page. It then automatically reverses those changes; degreasemonkeying the page!

Having found Greasemonkey such a valuable tool, I hope they discover a Gunk Script antidote soon. It would a bit of a blow to the AJAX/Remixing revolution if it became a standard paranoid action for web site designers to drop in a gunk script in to every page to prevent remixing of their content.