Archive for March, 2009

F1 Pit Stop Strategist – Fuel Stop Spreadsheet

Digging around looking for stats and data relating to the first Formula One Grand Prix of the new season, I came across some interesting looking technical info on the Race Car Engineering website (Formula 1 2009: Round 1 Australia tech data), as well as details of the staring weighs of the vehicles following qualification (post-qualifying car weights).

Assuming that the weight of the fuel is the post-qualifying weight of the car minus the minimum weight of the car, it should be possible to have a guess at when the teams are planning their first pit stop. So I started doodling a spreadsheet that could be used to try and work out fuel’n'pitting strategies (albeit very simplistically).

If you’re interested, you can find it here: Race Day Strategist Spreadsheet:

I’ve made a few assumptions about how to calculate how far the fuel will take a car, so if you can tell me if/where I’ve made any mistakes/errors/bad assumptions, please post a comment.

I’ve tried to make the working clear, where possible:

I also put together a ‘quick calculator’ that could be used to play-along-a-strategist while watching the race.

All the formulae were made up on the fly (“hmm, this could be interesting?”) so when I get a chance, I do a little reading to find out how other people have addressed the issue. (I’ve already found links for a couple of things I probably ought to reqad: Practice Work – Optimization of F1 – PIT STOP TACTICS (which may contain some interesting ideas) and the rather more involved Planning Formula One race strategies using discrete-event simulation (subscription required – so OU folks should be okay through the OU library. If there are any other things you think I should add to the list, please pop a reference to them in the comments.)

This spreadsheet could obviously go much further – addressing other pit stop timing delays, tyre considerations etc. Being able to pull in live timing data – e.g. time intervals between the car of interest and other vehicles – and predict car lap times would also add a little more intrigue when trying to decide whether or not to pit.

But it’s a start, and it got me asking a few questions that might not otherwise have come to mind ;-)

All I need to do now is work in the visual angle, maybe taking a little inspiration from Visualising Lap Time Data – Australian Grand Prix, 2009

Visualising Lap Time Data – Australian Grand Prix, 2009

One of the, err, side projects I’ve been looking at with a couple of people from the OBU has been bouncing around a few ideas about how we might “wrap” coverage of Formula One races with some open educational resources.

So with the first race of the new season over, I thought I’d have a quick play with some of the results data…

First off, where to get the results info? An API source doesn’t seem to be available anywhere that I’ve found as a free service, but the FIA media centre do publish a lot of the data (albeit in a PDF format): F1 Media Centre – Melbourne Grand Prix, 2009.

For convenience as much as anything, I thought I’d use Many Eyes Wikified to produce a set of visualisations based on the lap time data and the race lap chart.

To get the data into an appropriate form required a little bit of processing (for example, recasting the race lap chart to provide the ranking per lap ordered by driver) but as ever, most of the charts fell out easily enough (although a couple more issues were raised – like being able to specify the minimum y-axis range value on a bar chart, for example).

Anyway, you can find the charts linked to from here: Australia Lap Times visualisation.

In the meantime, here are some examples (click through to reach the interactive original).

First up, a scatter plot to compare lap times for each driver across the race:

Secondly, a line chart to compare time series lap times across different drivers:

This bar chart views lets you compare the lap times for each driver over a subset of laps:

A “traditional” drivers standings chart for each lap:

Finally, this bar chart can be run as an animation (sort of) to show the rank of each driver for each lap during the race:

There are a few more data sets (e.g. pitting behaviour) that I haven’t had a look at yet, but if and when I do, I will link to them from the Australia Lap Times visualisation page on Many Eyes Wikified.

PS If you’re really into thinking about the data, maybe you’d like to help me think around how to improve the “Pit stop strategist” spreadsheet I started messing around with too?! ;-)

A Week on the Digital Planet…

Followers of my twitterstream (@psychemedia may have picked up on the fact that this week’s episode of the BBC World Service programme Digital Planet was also our second co-produced episode of this weekly series (the first being a geo-web special earlier this year).

As with other OU/BBC co-pros, we at the OU get to comment on various aspects of the pre-production of the programme (helping identify possibly story packages, and identifying key themes) as well as commenting on draft scripts. (If you follow presenter Gareth Mitchell’s tweets (@garethm), you’ll know that happens over the weekend before the Monday afternoon recording of the programme (as well as Monday morning itself!)

Unlike most other co-pros, though, we wanted our relationship with the Digital Planet team to extend onto the web, providing a supporting package around the programme, as well as a legacy (Digital Planet programmes are available for at least 7 days after transmission as a podcast, but unlike many BBC (rather than BBC World Service) programmes, a public archive of previous programmes is not available.

We also wanted to try to come up with content that could engage Digital Planet’s international audience in an interactive way. So for example, we provided the Digital Planet listeners’ map to support the geo special, to allow listerners to place a marker to show where they’re listening from:

…as well as how they’re listening:

How people listen to Digital Planet

(Note to self – if we can get a live feed of marker locations and comments, we can maybe post some live mashups…;-)

For more on the first episode, and the listeners’ map, check out Exploring the GeoWeb with Digital Planet.

So, what have we done for the second special? Well the theme this time was “DIY Technology”, with packages from the recent Maker Faire in Newcastle, the story of Microsoft’s Photosynth (did you know there’s an unofficial but accepted iPhone version?!), and a feature all about the fascinating world of font design (the programme will be around for a day or two yet via the podcast feed – you can reach it from the Open2.net Digital Planet pages).

Partly because ace developer Simon Budgen managed to pull so many things together, we’ve actually got a mini-site for the supporting materials for this episode – Digital Planet DIY Technology Special, on open2.net – so what will you find there?

First up, on something font-tastic, there’s an opportunity to see the font Gareth made from his own handwriting – Gareth New Roman – as well as a download link for th font. If you think you can do better, there are links to some online tools to get you started designing your own font.

Secondly, there’s our Digital Planet – Photosynth page, which contains a link to a Photosynth of the studio using photos taken during the recording of the programme, (unfortunately, we couldn’t embed the Silverlight version of the player in the page because BBC Future Media Standards and Guidelines prevent it:-(

The page also includes a clip from the programme that I topped and tailed with a biddly-dee biddly-dee bong, a programme intro, and a closing credit, which had been on my “things we need to demonstrate” list for ages. (There’s a rights story behind that clip too, that I’ll maybe tell one day…;-)

The third (count ‘em) page we got up wrapped the Maker Faire package (Digital Planet at the Maker Faire). Rather than embedding another audio clip taken from the programme, this page actually embeds (using the embed code anyone can use) a BBC video report from the Faire:

BAs if that wasnlt enough, the page actually embeds a couple of other things too – firstly , an image feed pulling appropriately tagged images in from Flickr:

(Note the reactive/responsive moderation policy we have in place…)

..and also some Youtube videos that describe how to make some “LED Throwies” that were featured in the Maker Faire package:

So that’s the ‘official’ mini-site. But there’s more…

Over on the Open2 Science and Technology blog, I posted an article about Arduino, a simple electronics development board – ideal for tinkering with. And embedded in that post, another clip from Digital Planet (without the top and tailing credits this time – just a simple cut from the programme):

Just by the by, there are a couple of other things to note about the blog post: first, the embedded image is one we grabbed from Wikipedia; and secondly, we managed to sneak a tease for a forthcoming OU course in there…

So that’s it, right? Well, not quite – over on Platform, the OU’s social site that’s open to anyone (not just members of the OU family), there’s another blog post – reinforcing the font package and mixing in a couple more font related things for people to do. (Note that the Platform post is not linked to from the open2 pages (the open2 blog post is) – it’s there solely as another entry point to the open2 pages.

And finally, just for the record, here’s a note on schedules… I started chatting to the BBC production team about four weeks ago, bouncing around ideas for the programme. A couple of phone calls and a couple of email exchanges firmed things up, and then I got copies of the pre-recorded packages last Friday. Gareth circulated a draft studio script on Saturday, and I sent it back with comments Sunday. Another draft arrived Monday morning, (along with a chaser phone call!), and I sent final comments back before the mid-afternoon recording. Gareth sent a copy of his font to Simon on Sunday (Monday?) and the site went up in draft form (no mini-site at that point) on Monday. Gareth uploaded the studio photos to flickr and let us have them Monday, and on Monday evening I pulled them into a Photosynth that was linked to on the Tuesday. The Platform post appeared Wednesady and the embedded audio clips, Sci/Tech blog and mini-site navigation were in place today (Thursday), having been edited on Tuesday and Wednesday (using Audacity, as it happens…).

Huge thanks to the DP production team (Angela Sain, Rami Tzabar, Michelle Martin) and of course Gareth and billt, and esp. Simon B for pulling the open2 site together so reactively:-)

As ever, great fun… and a wonderful production schedule to work to!

Mapping Realtime Events on Twitter

One of the nice things about blogging in WordPress is the dashboard report that shows which other blog pots are linking in to your blog. One of my posts that’s had a couple of incoming links lately is Simple Embeddable Twitter Map Mashup, firstly from this post on TweetMapping Archaeology and then from Twitter Watermain Mapping – Part Two.

This latter post – plotting out tweets around the occurrence of breaks in watermains – also plots out a map showing people twittering about stormwater.

Which got me thinking, how about a Twittermap to plot tweets about electricity, gas or water being cut off?

By altering the search term, you can search for other events, such as earthquake or bee swarm:

If you want to search around a particular location, then this pipe may be more useful- locale based twittermap (the default search is for the word bid, but it works equally well if you’re wondering where the fire is):

Finally if you’d rather just use the URL for a Twitter search feed as the basis for a map, this pipe should do: map a Twitter search feed URL.

404 “Page Not Found” Error pages and Autodiscoverable Feeds for UK Government Departments

Around the time of the IWMW event last year, I put together a couple of quick pages that published the 404/page not found error pages for all the UK HEI homepages I could find (UK HEI “Page Not Found” Error Pages) and all the autodiscoverable RSS feeds that could be found on the HEI web homepages (Back from Behind Enemy Lines, Without Being Autodiscovered(?!)).

(Rather tellingly, some of the 404 pages are still, err, rather basic, and and many of the sites still haven’t quite got the idea of the utility of this RSS malarkey yet…)

So given that I’ve started poking around various government department websites, here’s a page that pulls back images of their 404/page not found pages, as well as links to any RSS feeds that are autodiscoverable from the department’s home web page: UK Government Department webpage auditor.

The list of department homepage URLs is scraped from the central government department sites page on the Number10 website via this Yahoo pipe- UK Gov Dept Website Audit pipe, which scrapes a list of links from the central government department sites page HTML. (If there’s a more authoritative list somewhere, feel fee to post a link in the comments to this post.)

The pipe then annotates each department item with a non-existent page link and tries to autodiscover any RSS feeds that are linked to from the department homepage.

The pipe output feed is then loaded into the auditor webpage, and pulls in a thumbail for each 404 page from the Thummer service. (I actually hit this quite hard over the weekend… Sorry, Matt… However, the thumbnail generating code is available from the site, so if anyone fancies hosting a copy an maybe setting up a tracking service so we can see how government department website 404 pages change over the coming weeks, that’d be a neat thing to do..;-)

So what sorts of feed might be good to find on a Government department website? (It’s worth remembering you can link to several.) Typical offerings include news feeds and job ads. As of a week or two ago, a quick win has become available for grabbing the job ads from the Civil Service Job Service API on the Civil Service (beta) Developers page. And if that’s too hard, Steph Gray’s Civil Service jobs, your way describes a service he knocked together in no time that will “[g]enerate an RSS feed of jobs from any specific department”: Government Jobs Direct. So for example, here’s a Jobs feed from DIUS that could be made autodiscoverable from the DIUS homepage? ;-)

I’d quite like to see a feed of current consultations (and maybe one with a full list of recent consultations, both open and closed). As a quick win, the maintainers of the department websites could even just link to a feed of consultations being held by their department from Tell Them What You Think. For example, here’s where you can grab a feed of recent consultations from the Home Office:

(Harry, have you thought of making the feeds autodiscoverable from those pages too?;-)

Okay, that’s more than enough for now – I’ve probably already done more than enough to cause a few people grief this morning ;-) Just to recap: here’s a link to the UK Government Department 404 and feed autodiscovery page.

PS digging through my Pipes collection, I found another one to do with feed autodiscovery from government websites: Autodiscover Government Consultation feeds. This uses a pipe that grabs a list of Government Department consultation websites (via TellThemWhatYouThink) and then runs those pages through a feed autodiscovery routine.

When I get a chance, I’ll add this info to the auditor web page…

A Fair Use, or Not…? Visualising the THES UK Higher Education Pay Survey Data

Last week, Alan tweeted a challenge of sorts about me doing something to the academics’ pay data referred to in the THES article Pay packets of excellence. The data (Vice Chancellors pay in UK HEIs, and acadmics’ pay across UK HEIs) was published via two separate PDF documents, and “compiled and audited by Grant Thornton on behalf of Times Higher Education”.

The THES provided some analysis and interpretation of the data, and the survey was picked up by other media (e.g. here’s the Guardian’s take: Vice-chancellors’ salaries on a par with prime minister; the Telegraph said: Anger as university bosses claim £200,000 salaries; the Times: Campus fury at vice-chancellors’ windfalls; the Press Association: University chiefs pocket wage rise; and so on).

So partly to give Martin something concrete to think about in the context of Should universities break copyright law? and Universities as copyright warriors, is my republishing of the data contained in the two PDF documents on the THES website alongside the Pay packets of excellence article as a spreadsheet on Google spreadsheets a fair thing to do? (I didn’t notice any explicit license terms?)

(The data is here: UK HE VCs’ and Academics’ pay.)

Now why would I want to publish the data? Well, as it stands, the data as published in the PDF documents is all very well, but… what can you do with it? How useful is it to the reader? And what did the THES intend by publishing the data in the PDFs?

That readers could check the claims made in the article is one possibility; that other media channels could draw their own conclusions from the results and then cite the THES is another (“link bait”;-). But is there any implication or not that readers could take the data as data and manipulate, visualise it, and so on? If there is, is there any implication or expectation that journalists et al. might take the data into a private spreadsheet, maybe, manipulate it, understand it, and then publish their interpretation? Might there be a reasonable expectation that someone would republish the data as data so that people without the skills to take the data out of the PDF and put it into a spreadsheet could benefit from it being represented in that way?

As well as publishing the data via a Google spreadsheet, I also republished via two Many Eyes Wikified data pages: UK HE Vice Chancellors’ Salaries: Many Eyes wikified data page and UK HE Academic Salaries: Many Eyes wikified data page. So was this a fair thing to do, in any reasonable sense of the word?

And then of course, I did a few visualisations: UK HE Vice Chancellors’ Salaries: Many Eyes wikified visualisations page and UK HE Academic Salaries: Many Eyes wikified visualisations page.

So by making the data available, it means I can create visual interpretations of the data. Is this a fair thing to do with the data or not? If the data was published with the intention that other people publish their interpretations of it, does a visual interpretation count? And if so, what’s a fair way of creating that “data as data”? By publishing the data used to generate the visualisation in the spreadsheet, people can check the actual data that is feeding the visualisation, and then check that it’s the same as the THES data.

Finally, each Many Eyes visualisation is itself interactive. That is, a user can change the dimensions plotted in the chart and try to interpret (or make sense of) the data themselves in a visual way.

So is that a fair thing to do with data? Using it to underwrite the behaviour of a set of visualisations that a user can interact with and change themselves?

So here’s where we’re at: the THES published the data in a “closed” format – a PDF document. One of the features of the PDF is that the presentation of the document is locked down – it should always look the same.

By republishing the data as data in a public Google document, then other people can change how that data is presented. They can also use that data as the basis of a visualisation. Is there any difference between an IT literate journalist putting the data into a private spreadsheet and then publishing a visualisation of that data, and someone republishing the data so that anyone can visualise it?

Now let’s consider the Many Eyes visualisations. Suppose it is a fair use of the data to somehow use it to create a visuliastion, and then publish that visualisation as a static image. Presumably someone will have checked that the graphic is itself fair, and is not misrepresenting the data. That is, the data has not been misused or misapplied – it has been used in a responsible way and visualised appropriately.

But now suppose that Jo Public can start to play with the visualisation (because it is presented in an interactive way) and maybe configure the chart so that a nonsensical or misleading visulisation is produced, with the result that the person comes away from the data claiming something that is not true (for example, because they have misunderstood that the chart they have created does not show what they maybe intended it to show, or what they think it shows?). That person might now claim (incorrectly) that the THES data shows something that it does not – and they have a graphic to “prove” it.

This is where the educator thing comes in to play – I would probably want to argue that by republishing the data both as data and via interactive visualisations, I am providing an opportunity for people to engage with and interpret the data that the THES published.

If the THES published the data because they wanted people to be able to write about their own analysis of the data, I have just made that easier to do. I have “amplified” the intent of the THES. However, if the THES only published the data to back up the claims they made in their article, then what I have done may not be fair?

So, what do you think?

My Guardian OpenPlatform API’n'Data Hacks’n'Mashups Roundup

Over the last week or two, I’ve put together a handful of hacks demonstrating how to do various mashup related things using the Guardian open data on Google spreadsheets, and the open platform content API. So here’s a quick summary – think of it as a single post mashup uncourse… ;-)

Just as way of background, here’s how the Guardian Open Platform was announced (I didn’t get an invite ;-)

So here’s what I’ve been up to:

  • Using Many Eyes Wikified to Visualise Guardian Data Store Data on Google Docs: using a Guardian data in a particular Google docs spreadsheet, generate a URL that emits CSV formatted data from a specified region of cells in the spreadsheet and consume the live CSV data feed in Many Eyes wikified to visualise the data.
    Nuggets: how to generate the URL for the CSV output from a Google spreadsheet over a range of specified cells, and then consume that data in Many Eyes Wikified. Use the Many Eyes wikified data as the basis for several Many Eyes wikified visualisations.
  • Filtering Guardian Data Blog/Google Spreadsheet Data With Yahoo! Pipes: take a set of data regarding UK HE research funding from a Google spreadsheet via CSV into a Yahoo pipe, and then extract only those data rows that correspond to a particular result. Grab the CSV output from the pipe and pass it to Many Eyes wikified to visualise the research funding data for a single university.
    Nuggets: how to use Yahoo pipes to filter CSV data to only pass through items from rows where the data in a particular column matches a given term.
  • Creating Google Charts From CSV Data Inside a Yahoo Pipe: grab the CSV output from a Google spreadsheet into a Yahoo pipe, construct description elements for each feed item using data from several different columns in each CSV row, and then generate the URI for a call to the Google charts API using data from each row. By associated the chart URI with the appriopriate media group RSS attribute, a variety of widgets should be able to “play” the charts that are automatically generated from the spreadsheet data as a slideshow.
    Nuggets: how to create Google Charts within a Yahoo pipe (using the Google Charts API) based on data pulled into the pipe from a CSV file generated from a Google spreadsheet.
  • “JOIN”ing Data from the Guardian Data Store Student Satisfaction Data: pull data in from two different sheets on the same Google spreadsheet into Dabble DB, and generate another data table containing mashed together elements from the two spreadsheets. Display the result table via Many Eyes wikified.
    Nuggets: how to use Dabble DB to “join” data from two separate tables that share a similar key column.
  • Tinkering with the Guardian Content API – SerendipiTwitterNews: given a Twitter User id, pull the most recent tweets fro that user into a Yahoo pipe and run them though a term extractor; where terms are successfully extracted, use them as a query on the Guardian content API (either all articles, or just tech articles). The aim? Generate a news feed of items serendipitously related to your most recent tweets.
    Nuggets: using the Yahoo term extractor on a Twitter feed to generate search queries over the content API; using API tags to narrow down the search to a particular topic area.
  • Last Week’s Football Reports from the Guardian Content Store API (with a little dash of SPARQL): use a Yahoo pipe to pull football match reports “since last Saturday” from the content API, extract the name of the stadium each match was played in, and use as as the search term in a SPARQL query over a DBpedia page listing the locations of each English football stadium. Retrieve the lat/lon geo co-ordinates for each stadium from the SPARQL query, and associate them with the match reports. Plot the resulting feed of geo-annotated match reports on a Google map.
    Nuggets: running a SPARQL query over DBPedia from a Yahoo pipe.
  • Guardian Game Reviews – with Video Trailers: query the Guardian content API for game reviews from a Yahoo pipe, extract the title of each game and use it in another pipe that searches Youtube for a trailer (or review) of that game; create the URL of the actual Youtube movie file, and attach is as an enclosure URL to the output feed; view the result in a portable Grazr widget, which automatically embeds the Youtube videos in the widget.
    Nuggets: using an embedded pipe block to search over Youtube; creating a feed that will auto render an embedded Youtube player when viewed in a Grazr widget.

So there you have it… my Guardian OpenPlatform hacks to date…

Guardian Game Reviews – with Video Trailers

In what I intend to be the last post in the series for a while – maybe – here’s a quick hack around the Guardian Open-Platform Content API that shows how to “annotate” a particular set of articles (specifically, recent video game reviews) with video trailers for the corresponding game pulled in from Youtube, and then render the whole caboodle in a Grazr widget.

So let’s begin…

Take one Guardian API query:
http://api.guardianapis.com/content/search?filter=/global/reviews&filter=/technology/games&api_key=MYSECRETACTIVATEDAPIKEY we construct the URI and call the webservice:

Here’s a typical result:

As with the football results map pipe, the linkj-text looks like a good candidate for search query text. So let’s tweak it for use as a search on somewhere like Youtube:

I want to be able to let the user choose trailer or review videos, which is why I cleared the search string of the word “review” first, before adding the user preference back into the string.

Now run a Youtube GData/API search using an old pipe block I found laying around (Youtube video search pipe) and grab the top result:

Now I happen to know that if you give a Grazr widget a feed with enclosure.url attributes that point to a flash file, it will embed the flash resource for you:

So now we can take the RSS output of the pipe and pop it into a Guardian game review with video previews Grazr widget:

(The widget layout is customised as described in part in Setting the 3 Pane divider positions.)

If you want to grab the widget and embed it your own webpages, it’s easy enough to do so (although not on hosted WordPress blogs). Simply click on “Share” and select “Customize” from the widget menu bar:

Then you can customise the widget and grab an embed code, or a link to a full screen view:

Good, eh? ;-)

PS Grazr (which is actually an OPML viewer as well as an RSS viewer) embeds other stuff too. For example, here it as as a slideshare viewer; and here it is showing how to automatically generate embedded players for Youtube videos and MP3 audio files using delicious Feed Enhancer – Auto-Enclosures pipe. (If you’re into a bit of hackery, it’ll carry Scribd iPaper too: Embed Scribd iPaper in Grazr Demo. I’m guessing you should be able to get it to embed arbitrary flash games as well?)

Last Week’s Football Reports from the Guardian Content Store API (with a little dash of SPARQL)

A big :-) from me today – at last I think I’ve started to get my head round this mashup malarkey properly… forget the re-presentation stuff, the real power comes from using one information source to enrich another… but as map demos are the sine qua non of mashup demos, I’ll show you what I mean with a map demo…

So to start, here’s a simple query on the Guardian content store API for football match reports:

http://api.guardianapis.com/content/search?
filter=/football&filter=/global/matchreports&after=20090314&api_key=MYSECRETACTIVATEDKEY

It’s easy enough to construct the query URI using a relative date in the Yahoo pipe, so the query will always return the most recent match reports (in this case, matc h reports since “last saturday”):

It’s easy enough to use these results to generate an RSS feed of the most recent match reports:

Pulling the images in as Media RSS (eg media:group) elements means that things like the Google Ajax slide show control and the Pipes previewer can automatically generate a slideshow for you…

You can also get the straight feed of course:

A little bit of tinkering with the creation of the description element means we can bring the original byline and match score in to the description too:

Inspecting the API query results by eye, you might notice that a lot of the bylines have the form “John Doe at the Oojamaflip Stadium”:

Hmmm…

It’s easy enough to exploit this structural pattern to grab the stadium name using a regular expression or two:

I thien did a little experiment running the name of the stadia, and the name of the stadia plius football ground, UK through the Yahoo Location Extractor block to try to plot the sotries on map locations corresponding to the football ground locations, but the results weren’t that good…

…so I tweeted:

And got a couple of responses…

The XQuery/DBpedia with SPARQL – Stadium locations link looked pretty interesting, so I tweaked the example query on that page to return a list of English football stadia and their locations:

PREFIX p:
PREFIX skos:
PREFIX geo:
PREFIX rdfs:
SELECT * WHERE
{?ground skos:subject .
?ground geo:long ?long.
?ground geo:lat ?lat.
?ground rdfs:label ?groundname.
FILTER (lang(?groundname) ='en').
}

and created a pipe to call dBpedia with that query (dbpedia example – English football stadium location lookup pipe):

Because I don’t know how to write SPARQL, I wasn’t sure how to tweak the query to just return the record for a given stadium name (feel tfree to comment telling me how ;-) – so instead I used a pipe filter block to filter the results instead. (This combination of search and filter can be a very powerful one when you don’t know how to phrase a particular qusry, or when a query language doesn’t support a search limit you want…

It was now a simple matter to add this pipe in to geocode the locations of the appropriate stadium for each match report:

So let’s recap – we call the Guardian content API for match reports since “last saturday” and construct a nice RSS feed from it, with description text that includes the byline and match score, as well as the match report. Then we pull out the name of stadium each match was played at (relying on the convention that seems to work much of the time that the byline records the stadium) and pass it through another pipe that asks DBpedia for a list of UK football stadium locations, and then filters out the one we want.

Tweak the location data to a form Yahoo pipes likes (which means it will create a nice geoRSS or KML feed for us) and what do we get? Map based match reports:

As I’ve show in this blog many times before, it’s easy enough to grab a KML feed from the More options pipe output and view the results elsewhere:

(Click on a marker on the google map and it will pop up the match report.)

So what do we learn from this? Hmmm – that I need to learn to speak SPARQL, maybe?!

PS @kitwallace has come up trumps with a tweak to the SPARQL query that will do the query by stadium name in one:
FILTER (lang(?groundname) =’en’ && regex(?groundname,’Old Trafford’)). Ta, muchly :-)

Easier Twitter Powered Subtitles for Youtube Movies

Pretty much all the sentiment I’ve picked from my post on Twitter Powered Subtitles for Conference Audio/Videos on Youtube is that the process for generating the subtitles is too complicated, so I’ve had a go at simplifying it:

The workflow is now as follows. Suppose you have a recording of an event that people were tweeting through using a particular hashtag, and you want to annotate the recording using the tweets made at the time as subtitles.

    Go to Twitter advanced search and search for the particular hashtag;

  1. Tweak the number of results on the page and the date setting (if necessary):
  2. If you only want tweets FROM a particular person, limit the search that way too:
  3. If the results you want to convert to subtitles are on “older” search results pages, navigate to the required results page
  4. When you have a results page containing the tweets you want to convert to subtitles, grab the URL of that results page and copy it into the subtitler form at http://ouseful.open.ac.uk/twitterSubtitles.php
  5. Optionally, if you want to specify the tweet that you want to be the first subtitle, copy its URL (that is, the URL that is pointed to by the View tweet link for that tweet:
  6. Optionally again, if you want to specify the tweet on the results page that you want to be the lastsubtitle, grab it’s URL and paste it into the form.
  7. Generate the subtitles:
  8. Save the page as a text file with the suffix .sub:
  9. You can now upload the .sub subtitle file to Youtube.
  10. So hopefully, that’s a little easier? (Note that there is a also a bookmarklet on the subtitler page that will create the subtitle file directly from a Twitter advanced search results page.)

    PS here are some more thoughts about ways in which the subtitler might develop: Twitter Powered Youtube Subtitles, Reprise: Anytime Commenting.

    PPS if anyone fancies converting the Javascript that generates the subtitles in the browser to PHP that will do the processing on the server, please feel free to post the code back here as a comment ;-)

    PPPS Woudln’t it be good if CoverItLive offered an exportable subtitle file from previous events? In the meantime, does anyone know if it’s possible to get an RSS feed of posts from previous CoverItLive event commentaries?

    PPPs See also: Twitterprompter?, discussing several possible use cases for Twitter in a live presentation environment.

Next Page »


TweetMeme Chicklet

Custom Search Engines

How Do I? Instructional Video Metasearch Engine
OUseful web properties search

OUseful feedthru bookmarks...

Pages

 

March 2009
M T W T F S S
« Feb   Apr »
 1
2345678
9101112131415
16171819202122
23242526272829
3031