OPML Support for JISCPress and WriteToReply

What’s the easiest way to read a document published on JISCPress or WriteToReply? One answer is just to read the document on the parent site, but another way is to pull the content into another space using the RSS/Atom syndication feeds that WordPress makes available, and that the digress.it plugin opens up even further.

In what follows, I’ll use URLs for example docs published on both JISCPress:
e.g. http://linkeddata.jiscpress.org
WriteToReply
e.g. http://writetoreply.org/publicsectortransparencyboard

The simplest subscription option is just to subscribe to the document as an RSS feed:

- http://linkeddata.jiscpress.org/feed/
http://writetoreply.org/publicsectortransparencyboard/feed/

This will pull the whole document into your feedreader, with each section of the document (i.e. each “page” of the doc as published on JISCPress/WriteToReply) as it’s own “blog post”.

Note that this form of subscription displays the posts in reverse order – to view the sections that make up the document in the “proper” order, we use URLs of the form:

- http://linkeddata.jiscpress.org/feed/?order=ASC
http://writetoreply.org/publicsectortransparencyboard/feed/?order=ASC

To view the comments from the document as a whole, we need a URL that looks like:

- http://linkeddata.jiscpress.org/comments/feed/
http://writetoreply.org/publicsectortransparencyboard/comments/feed/

It is also possible to get a separate RSS feed out of the platform for each page, as well as a separate comment feed for each page. For example, single item RSS feeds, where each page has an RSS feed with one item in it – the content of that page:

- http://linkeddata.jiscpress.org/executive-summary/?feed=rss2&withoutcomments=1
http://writetoreply.org/publicsectortransparencyboard/ptb-terms-of-reference/?feed=rss2&withoutcomments=1

And for comment feeds on a page basis:
http://linkeddata.jiscpress.org/the-semantic-web/feed
http://writetoreply.org/publicsectortransparencyboard/ptb-terms-of-reference/feed

If you were viewing any of these sorts of feed in a feed reader such as Google Reader, you would be able to favourite and share each separate page or each separate comment, for example.

For an example of the sort of thing this makes possible, see An Example Netvibes Dashboard for the Digital Britain Interim Report on WriteToReply.

We can also get feeds out on a page basis where each paragraph has a separate feed item to itself:

- http://linkeddata.jiscpress.org/feed/paragraphlevel/executive-summary
http://writetoreply.org/publicsectortransparencyboard/feed/paragraphlevel/ptb-terms-of-reference/

If you were viewing these sorts of feed in a feed reader such as Google Reader, you would be able to favourite and share each separate paragraph.

With so many separate feed URLs available, it can be a problem entering them separately into a dashboard such as Netvibes or a feed reader such as Google Reader, so I’ve created a couple of OPML generators:

- http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php
http://ouseful.open.ac.uk/xmltools/wtrOPML.php

They both take similar sorts of parameters, which are a little opaque at the moment as I try to work out sensible OPML element configurations.

The first parameter we need for the generator specifies the document:

- http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php?url=linkeddata
http://ouseful.open.ac.uk/xmltools/wtrOPML.php?url=publicsectortransparencyboard

Then we have the parameters b, c, s, and p… If you set these parameters in the URL (e.g. b=1, c=1&s=1), they act as follows:

$c = (isset($_GET[‘c’])) ? true : false;
// import feeds corresponding to comment feeds at the page level (i.e. each page will have its own comment feed or tab in the reader/dashboard)

$s = (isset($_GET[‘s’])) ? true : false;
// import feeds corresponding to single feed item per page feeds (i.e. each page will have its own feed or tab in the reader/dashboard; a single feed item will represent the whole of the page contents)

$p = (isset($_GET[‘p’])) ? true : false;
// import paragraph level feeds at the page level (i.e. each page will have its own feed or tab in the reader/dashboard and each paragraph will be a separate feed item)

if ((!($c))&&(!($p))) $s=true;
//default behaviour – if no comments and no para level feeds, use single item page level content feeds

$b = (isset($_GET[‘b’])) ? true : false;
// bundled – one folder – all the feeds will be imported into a single folder/page
// the default should be true, but it isn’t, so you’d be advised to normally set this parameter…

Using these various parameters, you can create a range of OPML files that can be used for the bulk import of feeds from a document published on WriteToReply or JISCPress. (Typically, you will need to donwload a copy of the OPML file to your desktop and then upload it to your dashboard/feed reader application. Download the document using File->Save Page As (and then choose the simplest format possible… e.g. Web Page, XML only).)

So for example:

- http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php?url=linkeddata&b=1&c=1&p=1&s=1
http://ouseful.open.ac.uk/xmltools/wtrOPML.php?url=ukgovoss&c=1

These OPML feeds can be useful for:

- importing feeds into Netvibes in one go, and creating dashboards with either one tab per document, or separate tabs for each document;

- importing feeds into Google Reader, so that you can read, share and favourite parts of documents (even down to the paragraph level if you import paragraph level feeds).

[Note: I’m thinking that the generation of paragraph level feeds needs tweaking in digress.it so that the title shows the first 50 or so characters of the paragraph, rather than the page title?]

Using WriteToReply to Publish Committee Papers. Is an Active Role for WTR in Meetings Also Possible?

Last night I spent an hour or two putting the various papers released so far by the Public Sector Transparency Board on WriteToReply, an unofficial act but one that seems to have met with approval:

WTR public Secotr Transparency Board

The majority of documents we’ve published on WriteToReply previously tend to be large, standalone documents, albeit with multiple sections that we tend to map on to separate blog posts. Recently, I’ve also started exploring how it feels to post “single page” consultations within a more general blog setting (e.g. Single Page Commentable Consultation Docs).

The PSTB site is a different matter, however, because there are likely to be several separate documents for each meeting of the board (if nothing else, at least and agenda and the minutes), as well as multiple sittings of the board.

Public Sector Transparency Board, WTR

So how does this change things?

The first thing to realise is that the structure – one post per document – encourages linking between documents. So for example, if the agenda identifies that a particular document was a subject of discussion, a link can be included to that page. If a particular section, or point raised in a document is minuted, then the way that WriteToReply generates unique URLs for each paragraph means that a link can be included that references that particular paragraph.

Capturing the forward path – from document paragraph in to the minutes, for example – relies on WordPress capturing a link from the minutes to a paragraph link via a trackback. It strikes me that in a WTR environment, if notes or minutes on the discussion of a particular paragraph or section were captured as comments, then a comment feed would automatically capture an ordered and referenced set of notes/minutes, that could be fed directly into a derived document?

The ability to syndicate and embed (i.e. transclude) paragraph level content from one WriteToReply document in another web document (as demonstrated in Engaging With the Issues Raised By The Google Book Settlement and described in Taking the Conversation Elsewhere – Embedded Quotes) is also a feature that begins to look attractive once we start thinking about a document ecosystem. So for example, if we minute a reference to a particular document in a tabled document, we might allow the viewer to read that paragaph via a sub-text annotation within the context of the minutes.

A more extreme mechanic might to be allow the reader to view elements of documents considered by the Board using a TiddlyWiki like mechanic; (if you haven’t tried TiddlyWiki, follow the link to it now, and then try clicking on some of the links on the TiddlyWIki page. For some users, the TiddlyWiki user experience is compelling; others hate it…)

In this case, clicking on a link in a minute would dynamically pull in the corresponding paragraph or section from the linked to document. Once read, the user could then “close” the referred to paragraph. (You really do need to have played with TiddyWiki recently to appreciate what I might mean by that!)

To return to the PSTB example, it will be interesting to see how the evolving nature of the site plays out and whether WriteToReply could play an active role in both the preparation for and run up to a meeting, as well as recording discussions and decisions made by the Board.

For example, if we manage to get prior notice of tabled items and the meeting agenda, then we’ll be able to solicit comments on very specific items that can possibly be referred to within the meetings of the Board itself. Even Board members might use WTR to take notes on – and solicit further comments on – particular sections of the document, as well as being able to refer to them via user feeds during the meeting itself.

As we get more documents, we should be able to increase the linkage between documents (though it will remain to be seen how that might turn out to be useful, if at all). In the sense that the published documents (and comments) provide a corpus for a search engine over issues considered by the Board, I think we’d probably need to offer paragraph level search, as well as comment level search (e.g. see this demonstration hack: Paragraph Level Search Results on WordPress Using Digress.it and Yahoo Pipes; I don’t think it searches comments though? In fact, does WordPress allow users to search through comments?).

I believe that there is certainly scope for using this sort of approach to “amplify” both preparation for and dissemination of PSTB discussions at the very least. If anyone else out there would like to explore the possibility of using a WriteToReply environment to support meeting based activities (“amplified meetings”), (either on a public site or a closed site), please get in touch:-)

Single Page Commentable Consultation Docs

With a new doc out on WriteToReply published by DCMS, I’ve started getting fired up again by the sorts of things that I think the platform is capable of, so over the next couple of weeks I hope to post a few ideas, and will then start looking for ways of trying to get the ones that seem workable and useful actually implemented (and ideally, funded).

So for example, one of the things I’ve been playing with are what we might refer to as “single page consultations” (micro-consultations?). Here are a couple of examples:

Here’s another example:

- Lessons Learned from Publishing Local Election Data

Note that this isn’t a consultation, as such, more it’s a set of observations (lessons) that might benefit from discussion, or that independently (at paragraph level) might act as a useful focus of, or foil for, further discussion.

So – my observation, based on the examples above, is that there may be some mileage in exploring a WriteToReply-like way of publishing short, single page documents that would benefit from being able to offer:

- unique paragraph level URLs (atomisation);
– commenting at the paragraph level (commentability), with the ability to track comments associated with a particular paragraph.

Of course, it’s easy enough to add unique URLs within any document yourself using the the name attribute within and HTML <a>/anchor element.

So for example, <a name=”here”>here</a> can be linked to by appending #here to end of the current page URL.

However, the approach I’m thinking of would be more automated than that. For example, a WordPress theme (style sheet) or plugin extension that would:

- allow the user to place a chunk of text to be atomised and made commentable in a particular HTML block element (such as a blockquote, or a div with a particular class attribute) and then do the digress.it thing to the content in that block element; this could presumably be achieved by tweaking digress.it to only run over a limited set of block elements; for page load efficiency, any necessary client-side code would only be loaded if an appropriate block element was present in the page; or

- allow the user to place a chunk of text to be atomised and made commentable within a WordPress shortcode block (e.g. using the WordPress shortcode API, and then let the shortcode API mark up and include any necessary client side code within the block; or

- allow the user to create a custom blog post type that applies the digress.it theme to that post.

To make the single commentable pages work in within the context of a blog with non-commentable posts and an arbitrary visual theme, the commenting mechanic for “embedded” or “inline” atomisable and commentable areas may need to change from the floating comment panel used as a default by digress.it for an inline theme (see for example Inline Comments on WriteToReply? or this example of “sub-text annotations”: New Buzzwords: Geo-Aware eBooks and Sub-text Annotations).

I’m not sure whether any of the above strategies would work, but the sort of capability I’m after is some sort of WordPress plugin that would let me run an everyday blog, but then for certain posts, or a subset of the content of certain posts, have it atomised and made commentable. So for example, I could include a list of recommendations, or questions, or references, within a blog post, and automatically let the theme give just those elements unique URLs and make them separately commentable.

PS following a tweet from @girlinthe regarding the availability of a comments feed from a particular page, I added a simple sidebar link to just such a thing.

Page level comments feed on WTR

It’s configured simply by adding a link to: feed, which is a link relative to the current page URL. That is:

Comments for this page on WTR

When the link is displayed, the current page URL is prepended, so the link actually points to http://example.com/thisBlog/thisPage/feed

Remember, you can also get a variety of other feeds out from the page too.

For example, the full text of the page can be grabbed as a single item RSS feed from the URL:

- http://example.com/thisBlog/thisPage/?feed=atom&withoutcomments=1

An RSS feed of the page containing each paragraph as a separate feed item can be obtained using the construction:

- http://example.com/thisBlog/feed/paragraphlevel/thisPage/

Don’t you just love WordPress, and the digress.it theme?!;-)

Signaling Important Document Paragraphs in WriteToReply – And a Possible Mobile Theme?

One of the strategies I use for reading long documents that I want to comment on take detailed notes from is to read through the document quickly, marking or highlighting the parts I think are important (or quotable), and then doing another pass where I dwell on the parts I marked.

With the publication via WriteToReply of a comment soliciting speech from Ed Vaizey on public libraries yesterday (Remodelling Libraries, [press release]), I started thinking again how we might support a highlighting approach in WriteToReply. In a post earlier this year (Skim.it – Like Digress.it, But With Ratings Rather than Comments?), I briefly considered how we might publish documents in a paragraph atomising way (as we do using the digress.it WordPress theme) and then allow readers to add ratings (rather than comments) to the document at a paragraph level. Something like this, maybe:

favouriting paragraphs

Another factor that I think needs to be taken into account is the ability to read documents on mobile devices. A variety of mobile themes are available for WordPress, from the “run anywhere WordPress mobile edition to the iPhone/Android loving WPTouch.

So what I’ve started thinking is that maybe iskim.it should be a mobile theme to complement a desktop browser theme along the lines of digress.it and the mooted skim.it, that would allow users to “favourite” or “star” paragraphs they think are important so they can return to them later, maybe on a desktop or portable computer, rather than a mobile device (hmm… desktop, portable, mobile…). For exampe, the iskim.it should:

0) work on mobile devices;
1) atomise docs into paragraphs;
2) allow a user to “favorite” a paragraph;
3) allow a user to review a list of the paragraph they have favourited;
4) allow a user to optionally comment on the paragraphs they have favourited;
5) allow a user to look at the paragraphs favourited by another user;
6) allow a user to look at a list of the most favourited paragraphs across all users.

(Note that similar functionality (1+) should also be made available on the parent website via a parent skim.it theme.)

The aim of doing this is to identify quickly, and without the need to comment, those paragraphs that are deemed “important”. (I did wonder whether the “favouriting” should offer two options – “important”, and “needs challenging”?)

Unlike the 5 star ranking scheme sketched in the image above, we’d only need a single star:

More doodlings around the idea of skim.it

It might also be worth considering indicating how many other people had favourited a paragraph? For example:

ALternative views of skim.it favoriting with count

In the above example, the star/count appears at the end of the paragraph, because you ant to signal the importance of the paragraph after you have read it…

ALternatively, we might try to signal the perceived importance of the paragraph at the start of the paragraph, and then allow to the reader to make their own signal after reading it:

Your signals and my signal - skim.it doodle

The aim of the skim.it idea is to provide a way for readers to flag those sections of a document that are worthy or requiring of comment, and thus be capable of acting as a precursor to commenting on those sections. For mobile users, where time may be tight, the keyboard interface fiddly or difficult to use, the simple interaction – click to star – means that users can read a document and bookmark those parts of it that are important to them.

The ability to view the document via a filter of “most heavily favourited” provides a crowd sourced alternative to an executive summary of the document.

PS I am using the star as a way of signaling the importance of particular paragraphs. It’s not hard to extend this idea to social signaling, where for example a user clicks to tweet the link to that particular paragraph, or clicks to share the link to that paragraph on a social bookmarking service such as delicious.

Public Data Principles: RSS Autodiscovery on Government Department Websites?

Looking over the UK Gov Transparency Board’s draft Public Data Principles, one of the suggested principles (#) proposes that:

Public data underlying the Government’s own websites will be published in reusable form for others to use – anything published on Government websites should be available as data for others to reuse. Public bodies should not require people to come to their websites to obtain information.

One example of how this might work is to look at the Direct Gov Syndication API, but there are maybe some simpler alternatives…? Like RSS…

So for example, over on Mash the State, Adrian Short had a go at hassling local councils into publishing RSS feeds by the end of 2009, although not many of them took up the challenge at the time… (maybe the new principles will nudge them towards doing this?) Here, for example, are some obvious starting points:
– council news (here’s an example council news feed from Shropshire Council);
– recent planning applications (here’s an example Planning RSS feed from Lichfield District Council);
– current roadworks (here’s an example traffic/roadworks feed from Glasgow City Council);
– council jobs (here’s an example council advertised jobs feed from Sutton Council);
– current consultations (here’s an example open consultations feed from Bristol City Council).

In accord with another of the draft Public Data principles (#),

Public data will be timely and fine grained – Data will be released as quickly as possible after its collection and in as fine a detail as is possible. Speed may mean that the first release may have inaccuracies; more accurate versions will be released when available.
Release data quickly, and then re-publish it in linked data form – Linked data standards allow the most powerful and easiest re-use of data. However most existing internal public sector data is not in linked data form. Rather than delay any release of the data, our recommendation is to release it ‘as is’ as soon as possible, and then work to convert it to a better format.

even if the published feeds could be better (e.g. planning feeds might benefit from geo-data that allow planning notices to be displayed at an appropriate location on a map), there’s no reason not to start opening up this “data” now in a way that supports syndication.

At a government departmental level, one of the things I’ve been interested in tracking previously has been government consultation announcements. It’s possible to search for these, and generate email alerts and RSS subscriptions, via Tell Them What You Think. A list of government department consultation websites can also be found on Direct Gov: list of Government consultation websites. (To make that list a little more portable, I popped it onto my doodlings area of WriteToReply; WTR: Government consultation websites; and courtesy of the magic of the digress.it theme we run there, it’s easy enough to get an RSS feed out with each department listed as a separate item (although rather than resolving to the consultation web page URLs, the feed links point back to the corresponding paragraph on Doodlings): some sort of feed of Government consultation websites.)

If each of those consultation websites published an autodiscoverable RSS feed containing the currently open consultations (and maybe even made that data available as a calendar feed as well, with consultation opening and closing dates specified), it would be simple for aggregating services like Tell Them What You Think, or announcement services like a Direct Gov “New Consultations” feature, to consume and re-present this information in an alternative context.

(Note that consultation websites should also be making consultation information available on consultation web pages in a machine readable way using RDFa. E.g. see @lesteph’s Adding RDFa to a consultation.)

Any changes to website design – changes that break the screenscraping routines used by many services like Tell Them What You Think – would be able to continue operating as long as the RSS feed URLs remained unchanged. (Of course, it might be that aggregating services parse the content of RSS feeds in particular ways to extract structured information from them, essentially scraping the feed contents, so in those cases, if the way feed content was presented were to change, the services would still break…)

Anyway, to return to the draft Public Data Principle I opened this post with, RSS (and related protocols such as Atom) can go a long way towards helping achieve the aim that “[p]ublic bodies should not require people to come to their websites to obtain information”.

Using WriteToReply Documents as the Basis for Discussion in a Meeting Room Setting

One of the things I experimented with a long time ago was the ability to use an RSS feed to power a presentation (e.g. Feedshow Link Presenter – Testing Audience Synch). The idea was that that you should be able to bookmark a set of webpages using a social bookmarking tool, and then take the RSS feed of those bookmarked links and use it to drive a presentation; the presentation itself would be a walkthrough of the bookmarked pages.

Anyway, not so long ago, the Delicious social bookmarking service started to offer a similar service: Browse These Bookmarks, so that’s all well and good..:-)

One of the things that I had on the Feedshow Presenter to do list (and I’m not sure whether I ever coded this up or not) was to be able to display any description text saved with a bookmark before showing the contents of the bookmarked page. This in turn suggests another way of using a feed powered presentation tool – as a vehicle simply for displaying text elements from an RSS feed in a presentation like format.

Now I know that death by Powerpoint is often brought on by text heavy slides, but sometimes you may need to chat around text; and sometimes, splashing the text you want to talk around on a screen might be a handy thing to do…

Enter Google Reader Play, a tool that does exactly that – give it an RSS feed, and it will let you present one feed item at a time. Like this:

Google reader play

So what I’m thinking is, if you want to talk around a document, then maybe talking around the document at a paragraph level is a handy thing to be able to do.

And a good place to find paragraph level feeds is from something like WriteToReply…

So for example, if you look at the Digital Economy Act on WriteToReply, and go to a particular page such as http://writetoreply.org/deact/subscriber-appeals/, you can get an RSS feed from that page by constructing a URL of the form http://writetoreply.org/deact/feed/paragraphlevel/subscriber-appeals/

(Note there’s a minor glitch at the moment – the title of the feed itself is incorrect…)

So to discuss each paragraph in turn from that page, all we need to so is view the feed in Google Reader Play.

To make things easier, I’ve created a couple of bookmarks (bootstrapped from my “Get Current URL” pattern bookmarklet generator).

Firstly, given any RSS feed, here’s a bookmarklet for viewing it in Google Reader Play:

javascript:(function(){ window.location='http://www.google.com/reader/play/#item/feed'+encodeURIComponent('/'+window.location.href);})()

Secondly, given a page from a document hosted on WriteToReply, (not the RSS feed – the actual page; such as this one) this bookmarklet will construct the paragraph level page feed and pass it to Google Reader Play:

javascript:(function(){ u=window.location.href.replace(/(.*writetoreply.org/[^/]*)/(.*)/,"$1/feed/paragraphlevel/$2"); window.location='http://www.google.com/reader/play/#item/feed'+encodeURIComponent('/'+u);})()

So there you have it, another way of supporting discussion around documents hosted on WriteToReply :-)