How OUseful.Info Operates…

After receiving an honorable mention (and a bottle of bubbly:-) at the IWR Info Professional of the Year Awards, I’ve picked up a few new subscribers from the Info Pro community, so here’s a quick run down of how OUseful.info is (dis)organised to explain how an (un)professional (in the sense of an unconference…) such as myself goes about moving info I think is important around on the web.

OUseful.info, the blog

First up is OUseful.info, the blog. It lives on the web at http://ouseful.info (that is – “O U S E F U L dot info”;-), although that address currently redirects to a hosted WordPress blog at https://ouseful.wordpress.com.

The blog can also be accessed via a couple of RSS feeds. The feed I recommend that people use, (a) because it is enriched…; b) because then I can move blog engine and the feed will remain) can be found at http://feeds.feedburner.com/ouseful; a pure blog feed can also be found (and autodiscovered) direct from the WordPress blog at https://ouseful.wordpress.com/feed.

To keep up with comments to the OUseful.info blog, you can subscribe here:
https://ouseful.wordpress.com/comments/feed.

OUseful Archival Blog Search

Long time readers may know that OUseful.info, the Blog changed blog engine just before the summer. The old posts are archived at http://ouseful.open.ac.uk/blogarchive. The searchbox on the archive site still searches the original blogsite (the URLs from that site now redirect to http://ouseful.open.ac.uk/blogarchive), but that facility may die at any time.

A comprehensive search over both the legacy (blogarchive current blogsites can be found at:
http://www.google.com/cse?cx=009190243792682903990%3A2ke2vucb8nm (I’ll get a proper search page set up sometime whenever…!). This OUseful search engine is implemented as a Google Custom Serarch Engine, and searches over most of the blogs I maintain/post to (or have maintained in the past). I may try to get it to trawl the other OUseful properties too, but its focus for now is on blog content.

The OUseful linkblog

The enriched blog feed on Feedburner also pulls in content from one of my delicious bookmark tags on a daily basis: http://delicious.com/psychemedia/feedthru (the feed can be found at http://delicious.com/rss/psychemedia/feedthru). These bookmarks are ones that I think are important or likely to be of particular interest to OUseful.info readers. I try to annotate them with a description that reveals why you should clickthru… My feedthru bookmarks are also syndicated on the OUseful.info blog sidebar. My full bookmark list can be found at http://delicious.com/psychemedia.

The OUseful microblog

At the moment, the microblog conversation appears to be on Twitter, so to keep up with snippets of things I find interesting, and want to share, check out my Twitter stream – http://twitter.com/psychemedia. My recent tweets are also syndicated in the sidebar on the OUseful.info blog.

OUseful Presentations

Whenever I do a presentation, I try to post the slides to my slideshare account within a day or two of the presentation (often with a draft copy of the slides a day or two before the presentation):
http://www.slideshare.net/psychemedia (feed).

Many of my presentation slides are a little, err, “opaque” without me there to talk around them. This is partly deliberate (I disagree with seeing more than half a dozen words on a slide;-) and partly because I’m still trying to find a style of presenting that suits me. If you haven’t had to suffer sitting through a OUseful presentation yet, my rates are very reasonable ;-)

To see the presentations I’ve bookmarked as particularly special, you can see my favourite slideshare presentations here:
http://www.slideshare.net/psychemedia/favorites (feed). Note that I am considering refining this to use the feedthru tag for presentations I really want to share across the OUseful network (in which case, the URL will become http://www.slideshare.net/psychemedia/favorites/by-tag/feedthru and the feed URL will also change).

The OUseful Video Channel

Every so often I come across a Youtube video that gels with something I’ve been thinking about. Rather than submit these to delicious (or the delicious feedthru tag), I tend to favourite them on Youtube. You can see my favourites here: http://www.youtube.com/profile?user=psychemedia&view=favorites, or subscribe to them here: http://gdata.youtube.com/feeds/api/users/psychemedia/favorites.

The OUseful.info homepage

It’s been some time since I updated the OUseful homepage at http://ouseful.open.ac.uk explicitly as the intention behind it is that it aggregates and resyndicates other OUseful stuff. However, there are some static links there to some of the miniprojects I’ve dabbled with that I think are particularly OUseful. It’s also a demonstration of how to use a webtop (in the OUseful homepage case, I use Pageflakes).

Some OUseful firehoses

As well as the “published” content sources described above, you can keep up with my random doodlings via a couple of channels with a lower signal to noise ratio: my Yahoo Pipes http://pipes.yahoo.com/ouseful/ (feed), where I mess around with prototype pipes, only some of which get blogged about, and my flickr stream – http://flickr.com/photos/psychemedia (feed) – where you can get a feel for what posts I may be about to post from the screenshots I’m capturing…

One of the easiest ways to feed from the OUseful firehouse is to tap into my friendfeed account: http://friendfeed.com/psychemedia (feed).

So there you have it – a worklife/hobbylife lived in public…

PS you may be wondering why “OUseful” – that’s because when I started the OUseful.info blog, my intention was to write about stuff that might be OUseful, one day… (that is, useful in an OU context).

PPS you might be wondering why “psychemedia”. Psychemedia was a “counterculture” magazine I ran for a limited time. As a neologism, I like to think it’s defined as “the means by which minds communicate”.

Displaying Events from Multiple Google Calendars in a Single Embedded Calendar View

Of all the things Google Calendar is good for, producing a single embedded calendar from a set of Google Calendars has not been one of them…

[Cue sideaways glance] Or so I thought…

In a flurry of activity earlier today, the Reverend posted this:

while I was admiring the new link to UMW Blogs on the UMW homepage, I clicked on the Events link, and to my surprise it was a Google calendar. Wow! Who knew? When looking at the source code, I released it was actually an aggregation of 10 different Google Calendars–all the more fascinating.

Jim went on: “I did a search for the term “UMW” through Google’s public calendars and found over 40” and the describes subscribing to the calendars, looking at them in the single aggregated view within Google Calendar itself, before hitting a problem: “Google won’t given me an embed code for the aggregation of all of the public calendars I subscribed to around UMW”

Err… rewind one moment… “When looking at the source code, I released it was actually an aggregation of 10 different Google Calendars“…?

This is what Jim saw but didn’t see:

Got it yet?

Take these two calendars, discovered by searching the Public Calendars in Google Calendar:
Snooker Championships Listing (some events are listed over the next four months or so).
Formula One Grand Prix listings for 2009 (the events start during March, 2009).

Now look through to March on this calendar: aggregated calendar view. It shows events from both calendars in the same view.

So what we have here is an aggregated calendar view that can be used to display several (that is, multiple) Google calendar feeds in a single view. To embed the calendar in your own page, just stick it in an iframe.

For each extra calendar feed, just add &src=CALENDAR_ID to the URL. The CALENDAR_ID will probably be of the form:
jabqnchvht5r2pjv0haqlg1j8s%40group.calendar.google.com

PS I did wonder whether I could add the aggregated calendar view as a single calendar to my Google Calendar. It seems not:

That is, it looks like each calendar feed will be added separately, rather than as a single, combined calendar.

But while that would have been a “nice to have”, the ability to display events from multiple Google calendars in a single calendar view in such a straightforward way is probably a big enough win anyway:-)

PPS aren’t comments wonderful (thanks Steve:-) – it seems thaqt you can generate the combined embed code within Google Calendar… Subscribe to the calenders you want to display, then go to the calendar settings:

Select the “Customise the color, size and other options” in the “Embed the Calendar” area:

And then select the calendars you want to include:

Simple:-)

Video, Video, Everywhere…

Now I know I live in the provinces, but I have to admit I had a huge dose of futureshock when I went up to London earlier this week: videos on the underground…

You know those big adverts on the wall opposite you on the tube, at the other side of the track – now they move, powered by magic lanterns in boxes suspended from the ceiling… (It’s called XTP, apparently: Cross-track projection.)

And that’s not all – how about the DEPs – Digital Escalator Panels?

There are also large LCD panels displaying video ads at other strategic locations, such as T-junctions, on various parts of the tube hall network…

The future – as portrayed in Blade Runner and Minority Report – is becoming a part of everyday life. The following movie, produced by CBS Outdoor, is called “Future of the Underground“. But what it describes appears to be the present…

Also on the video front, Google just got a little bit more aggressive in terms of grabbing video search traffic. Not content with already competing for second place behind Google web search itself in terms of search volume, embedded Youtube players now include a Youtube search box (you may have noticed…;-):

Youtube embedded player now with search box

If you paste the full Youtube embed code into your pages, then you can disable the display of the search box with the showsearch=0 embedded player parameter. (You can also disable the display of both related videos and the search bar by setting rel=0.)

However, if you are using WordPress, and embed movies using the construction, as I am, you’ll have to settle for whatever defaults WordPress chooses to embed…

I’m actually finding this so annoying that if the hosted WordPress folks don’t change the default embedded code to disable the search box, or they don’t provide me with the option to disable it, for example by using the construction [youtube=http://uk.youtube.com/watch?v=IrjsR6fdGxo&rel=0], I may well have to move blog again…

Visual Controls for Spreadsheets

Some time ago, Paul Walk remarked that “Yahoo Pipes [might] do for web development what the spreadsheet did for non-web development before it (Microsoft Excel has been described as the most widely used Integrated Development Environment)”. After seeing how Google spreadsheets could be used as part of quick online mashup at the recent Mashed Library, Paul revised this observation along the lines of “the online spreadsheet [might] do for web development what the spreadsheet did for non-web development before it”.

In An Ad Hoc Youtube Playlist Player Gadget, Via Google Spreadsheets, I showed how a Google gadget can be used as a container for arbitrary Javascript code that can be used to process the contents of one or more Google spreadsheet cells, which, combined with the ability to pull in XML content from a remote location into a spreadsheet in real time, suggests that there is a lot more life in the spreadsheet than one might previously have thought.

So in a spirit of “what if” I wonder whether there is an opportunity for spreadsheets to take the next step towards being a development platform for the web in the following ways:

  • by offering support for a visual controls API, (cf. the Google Visualization API) which would provide a set of visual controls – sliders, calendar widgets and so on – that could directly change the state of a spreadsheet cell. I don’t know if the Google spreadsheet gadgets have helper functions that already support the ability to write, or change, cell values, but the Google Gdata spreadsheet does support updates (e.g. updating cells and Updating rows). Just like the visualization API lets you visually chart the contents of a set of cells, a visual controls API could provide visual interfaces for writing and updating cell values. So if anyone from the Lazyweb is listening, any chance of a trivial demo showing how to use something like a YUI slider widget within a Google spreadsheet gadget to update a spreadsheet cell? Or maybe a video type, that would take the URL of a a media file, or the splash page URl for a video on something like Youtube, and automatically create a player/popup player for the video if you select it? Or similarly, an audio player for an MP3 file? Or a slideshow widget for a set of image file cells?
  • “Rich typed” cells; for example, Pamela Fox showed how to use a map gadget in Google spreadsheets to geocode some spreadsheet location cells (Geocoding with Google Spreadsheets (and Gadgets)), so how would it be if we could define a location type cell which actually had a couple of other cells associated with in “another dimension” that were automatically populated with latitude and longitude values, based on a geocoding of the location entered in to a “location type” cell?
  • “real cell relative” addressing; I don’t really know much about spreadsheets, so I don’t know whether such a facility already exists, but it is possible to “really relatively reference” one cell from another; for example, could I create a formula along the lines of ={-1,-1}*{-1,0} that would take a cell “left one and up one” ({-1, -1}) and multiply it by the contents of the cell “left one” {-1, 0})? So e.g. if i paste the formula into C3, it performs the calculation B2*B3?
  • Rich typed cells could go further, and automatically pop-up an appropriate visual control if the cell as typed that way? (e.g. as a “slider controlled value”, for example; and a date type cell might launch a calendar control when you try to edit it, for example?

PS for my thoughts on reinventing email, see Sending Wikimail Messages in Gmail ;-)

An Ad Hoc Youtube Playlist Player Gadget, Via Google Spreadsheets

A tweet from Keir Clarke from Google Maps Mania last week tipped me off to this post from maps evangelist Pamela Fox – Geocoding with Google Spreadsheets (and Gadgets) – in which she demonstrates how to improve the spreadsheets to maps workflow using a Google spreadsheet gadget.

I’d actually been thinking about using a mapplet in the maps environment, (rather than a gadget in the spreadsheets environment) to do something similar, so it was great to see how someone else had set about tackling the matter :-)

Anyway, a quick look through the spreadsheet gadgets tutorial convinced me it should be easy enough to create a gadget that could act as a video playlist player for a set of Youtube movie URLs listed in a spreadsheet. I already had some gadget code that I guessed may be reusable, and it turned out it was (Google Gadgets – RSS Feed Powered YouTube Playlist Player).

Here’s a demo:

Highlight the list of cells and include the custom gadget URL for the player: http://hosting.gmodules.com/ig/gadgets/file/100510412849522254945/videoPlaylistSpreadsheetNew.xml?nocache.

As to where the list of videos came from? I scraped them from a webpage that included lots of embedded videos (i.e. a webpage that was essentially an ad hoc video playlist). A quick peak at the source of a candidate page showed me where I could find the URLs:

If we now load this page in to a Google spreadsheet using the =importXML formula (not the =importHTML formula), we can use an XPATH expression to pull out all the movie URLs from the page.

Here’s the expression you need:
//object/param[@name=’movie’]/@value

For a couple of examples, see this how to scrape a list of Youtube movies from a webpage using Google spreadsheets and view them in a Google gadget.

Speedmash and Mashalong

Last week I attended the very enjoyable Mashed Library event, which was pulled together by Owen Stephens (review here).

My own contribution was in part a follow on to the APIs session I attended at CETIS08 – a quick demo of how to use Yahoo Pipes and Google spreadsheets as rapid mashing tools. I had intended to script what I was going to do quite carefully, but an extended dinner at Sagar (which I can heartily recommend:-) put paid to that, and the “script” I did put together just got left by the wayside…

However, I’ve started thinking that a proper demo session, lasting one to two hours, with 2-4 hrs playtime to follow, might be a Good Thing to do… (The timings would make for either a half day or full day session, with breaks etc.)

So just to scribble down a few thoughts and neologisms that cropped up last week, here’s what such an event might involve, drawing on cookery programmes to help guide the format:

Owen’s observation that the flavour of the Mashed Library hackathon was heavily influenced by the “presentations” was well made; and maybe why it’s worth trying to build a programme around pushing a certain small set of tools and APIs, effectively offering “micro-training” in them to start with, and then exploring their potential use in the hands-on sessions, makes sense? It might also mean we could get the tools’n’API providers to offer a bit of sponsorship, e.g. in terms of covering the catering costs?

So, whaddya think? Worth a try in the New Year? If you think it might work, prove your commitment by coming up with a T-shirt design for the event, were it to take place ;-)

PS hmm, all these cookery references remind me of the How Do I Cook? custom search engine. Have you tried searching it yet?

PPS I guess I should also point out the JISC Developer Happiness Days event that is booked for early next year. Have you signed up yet?;-)

So What Do You Think You’re Doing, Sonny?

A tweet from @benjamindyer alerted me to a trial being run in Portsmouth where “behavioural analytics” are being deployed on the city’s CCTV footage in order to “alert a CCTV operator to a potential crime in the making” (Portsmouth gets crime-predicting CCTV).

I have to say this reminded me a little, in equal measures, of Phillip Kerr’s A Philosophical Investigation, and the film Minority Report, both of which explore, in different ways, the idea of “precrime”, or at least, the likelihood of a crime occurring, although I suspect the behavioural video analysis still has some way to go before it is reliable…!

When I chased the “crime predicting CCTV” story a little, it took me to Smart CCTV, the company behind the system being used in Portsmouth.

And seeing those screenshots, I wondered – wouldn’t this make for a brilliant bit of digital storytelling, in which the story is a machine interpretation of life going on, presented via a series of automatically generated, behavioural analysis subtitles, as we follow an unlikely suspect via the CCTV network?

See also: CCTV hacked by video artists, Red Road, Video Number Plate Recognition (VNPR) systems, etc. etc.

PS if you live in Portsmouth, you might as well give up on the idea of privacy. For example, add in a bit of Path Intelligence, “the only automated measurement technology that can continuously monitor the path that your shoppers or passengers take” which is (or at least, was) running in Portsmouth’s Gunwharf Quays shopping area (Shops track customers via mobile phone), and, err, erm… who knows?!

PPS it’s just so easy to feed paranoia, isn’t it? Gullible Twitter users hand over their usernames and passwords – did you get your Twitterank yet?! ;-)