PICT Memento plugin allows us to step into a wiki’s past

March 16th, 2010 by rorymcnicholl

The PICT project is pretty much over, but I can steal a few moments out of my day every now and then to do a bit of house keeping, try out a new plugin and maybe even blog about it.

Inspired by Rob Sanderson’s lightening talk at dev8D on Memento I decided to go for the bounty offered for writing a memento client. My tack was to enable a mediawiki instance to handle the Accept-Date protocol using an existing plugin. Then to write a little PICT tool that supplied a user interface by which users could specify a date and browse their PICT enabled mediawiki “from the past”… spooky!

Thanks to getting nowhere near the deadline (those involved with this project will be grinning at that), I got nowhere near the prize, but I did finish a prototype plugin and threw it up on a mediawiki instance for another project: CLASM-demo. CLASM is the name of project not a piece of conjurers’ onomatopoeia, so click on that link to see the PICT-memento client in action. A wiki with more pages would have been a better example, but at least it does have a lot of revisions.

PICT has also enjoyed some interest from real world concerns with lots of users and stuff, which we’ll be doing our best to facilitate. So hopefully there will be more to report in the coming months.

Final Progress Post

February 18th, 2010 by rorymcnicholl

PICT: Platform Independent Community Toolbox (#JISCPICT)

Screen shots (click on them for versions you can see properly)

PICT on dablog – an example of tags

PICT on ULCC Publications Archive – an example of comments

PICT comments on pubs.ulcc.ac.uk

The PICT server administration page

PICT server admin page

What is PICT?

PICT provides a set of tools that can be added to any website and allow users to enrich the resource and communicate with others interested in that resource. A group of websites with PICT form an interlinked community of related resources. This allows the users to define links between related resources and key concepts. It also provides an opportunity to pool user born data on all the resources within a group of related (but disparate) websites into a single place for easy community-centric reuse.

Who might use PICT?
In the first instance PICT must be deployed by the website owner/administrator. This means that there needs to be (collective) will on the part of of web resource owners to kick the community off. Once this is done however the toolbox will be available to all end users of the website(s) in a given community. Imagine a cohort of academics engaged in the same area of research. They come from various institutions and use various web-based applications to engage in and record their research. Two of the resource owners (possibly themselves academics in the research community) decide to deploy PICT on their particular web-based resources – Two blogs, one repository and a static website. Researches accessing these resources can now define links between the individual pages of each resource using tags and engage in discussion using a simple commenting interface. The data that the members of the community add via the PICT interface is added to the PICT community not just that individual website. As such it can be easily aggregated and reformatted for various forms of reuse. Other website owners within the research community like what they see and they deploy PICT on their websites, however the scope can always be limited to those resources of interest to the community.

You can see a working prototype of PICT across a small community of ULCC websites:

End User documentation: About PICT

The Code: PICT project repository

The Docs: PICT technical documentation

Date of Release: 15th February 2010

The team:

  • Rory McNicholl, r.mcnicholl ehem ulcc.ac.uk – University of London Computer Centre
  • Ben Wheeler, b.wheeler ehem ulcc.ac.uk – University of London Computer Centre

Some analysis provided by

  • Richard Davis, r.davis ehem ulcc.ac.uk – University of London Computer Centre
  • Kevin Ashley, k.ashley ehem ulcc.ac.uk – University of London Computer Centre

The project website: PICT website

PICT PIMS entry: https://pims.jisc.ac.uk/projects/view/1337

Table of Content for Project Posts:

Value Add

February 13th, 2010 by rorymcnicholl

The genesis of the idea for PICT came about when playing around with the SNEEP interface and jQuery. The original SNEEP interface used the scriptaculous/prototype.js axis that is bundled with EPrints. I prefer jQuery and was using it to upgrade the interface to SNEEP. Part of this process involved detaching the SNEEP interface from the page flow and overlaying it. This conceptual change to the UI made me think “Why do these tools need to be tethered to a single website?” and so PICT was concieved.

A few months down the line the next big discovery was the amount we had bitten off in attempting to implement an easy to use cross-domain service. In the end perseverance, a lot of new skills learned and help from the libraries mentioned in the Technical Standards post got us vaguely where we wanted to be.

Technical standards

February 13th, 2010 by rorymcnicholl

I wouldn’t even have attempted such a project if it wasn’t for the loveliness of jQuery. The PICT-client is itself designed as a jQuery plugin. It also makes use of the following jQuery plugins:

  • jquery.cookies
  • json2
  • openid-jquery
  • jquery.md5
  • jquery.validate
  • jquery.query
  • jquery.getscrollbarwidth

As well as this The PICT-client maintains its own (very rough and ready) plugin architecture that should hopefully allow the easy addition of further tools to the box in time.
Coordinating authentication between a disparate group of domains was large obstacle for this project to overcome. In the end the following (unforeseen) workarounds were needed:

  • A proxy on the domain (the machine with the toolbar) to forward ajax requests to the PICT-server. This meant that the PICT-client is not a purely javascript animal :(
  • Recourse to the popup window. For contacting OpenID providers and registering authenticaed sessions on the PICT-server
  • In all these things php’s cURL library was an enourmous help
  • A (EPrints reliant!) PERL implementation of the PICT-client proxy uses LWP::UserAgent for the same purpose.

The PICT-Server attempts to implement a relaxed attitude to your choosen database server and as such makes use of PHP Data Objects. In reality it has turned out to bea very MySQL affair, but hopefully the groundwork is there to convert it into a true database agnostic at a later date.

OpenID is an important part of increasing the usability of the PICT-client for the end user. As well as the openid-jquery plugin mentioned above, PICT uses the dope-openid libraryto handle the dialogue between the PICT-server and the Openid providers. dope-openid is a rewrite of the Simple-Openid library and makes use of Yadis library.

Finally the Portable PHP password hashing framework is used to encrypt and store user passwords on the PICT-server. Passords are also passed though the jquery.md5 plugin before being sent from the PICT-client.

Day-to-day work

November 5th, 2009 by rorymcnicholl

In order to handle a number of projects (and their varying demands) at once interspliced with those little (and sometimes big) jobs relating to existing services I’ve found human cloning to be an invaluable tool. At first I cloned myself and split the work 50-50, but I soon realised that I could make better use of this indispensable resource by cloning someone who is better at my job than I am. So under cover of darkness I set about gathering DNA samples from eminent computer scientists and thinkers in the world of the information environment. I can’t say I’m proud of some of the things I had to do, stealing handkerchiefs and the contents of discarded coffee mugs… it could have been worse. Now, however, I am reaping the benefits as my team of clones take on up to 90% of my work (and nail it!). I keep my hand in, giving myself a few tasks so as not to appear completely clueless at various work related events (others will have to judge if my efforts on that have actually worked).

Oh would that it were…

On a less facetious note, I have found prezi a welcome evolution from scribbling on a pad and then losing it. Still not as quick as scribbling but sometimes slowing things down and zooming out is just what is needed… and its harder to lose.

http://prezi.com/olsrs7-su37_/view/

User participation

November 5th, 2009 by rorymcnicholl

A set of similar online research resources and instances of people talking about these resources can be seen as a manifestation of a research community online. This online community has more often than not evolved over time and can be somewhat nebulous in nature. It becomes difficult for a research to keep track of what is going on their field. Innovations such as aggregation services and RSS feeds have helped a great deal with this problem of keeping a handle on an ever evolving community.

Attempts are often made to create online community hubs; websites that aggregate resources and information on those resources alongside communicative tools. There are of course many social networking sites that simply bring similarly minded people together and let them exchange information on the resources they use. These approaches work to a greater or lesser extent, with PICT we are trying out a slightly different approach.

We believe that the potential of PICT lies in its capability to draw together existing web resources by offering a common set of useful tools that enhance the levels of interaction between individuals within a community.

Other approaches to community collaboration.

  • The embedded approach – A resource owner makes sure that their site includes tools that allow users to enrich his, hers and others experience. (Various comments plugins, tagging and other folksonomy creating gadgets, SNEEP)
    • My resource is the community! – This approach ignores the rest of the community, what they might be saying and the other resources out there.
  • The toolbar approach – A user can download a nifty set of tools that they can use on any resource they happen to encounter. (Zotero, Diig, , Delicious). Being user-centric is on the whole a good thing, but…
    • User hasn’t download it – They might not know about this wonderful tool and if they don’t get it they haven’t got it..
    • Mass of disparate data – A large third party site aggregating data can certainly be an advantage if the more data the better, but sometimes the better the data the better.
    • Not scoped for the community – What is all this stuff? Some of these sites have facilities to create groups and communities within the mayhem, even then they tend to be rather broad.
    • Whose data is this? – Data is owned and managed outside the community (not a problem? at least you’d only have yourself to blame)
  • The desktop approach – (Pliny, MS Office, OpenOffice, etc). This is traditional computing stuff. Email clients, word processors etc.
    • Private thoughts – Desktop tools can be great for creating and viewing digital resources, but it would seem that web browsers are still the best way to share them amongst a community.
  • The third-party approach – A site that provides the means to search resources and maintain networks of similarly minded people (Google, facebook, etc)
    • Huge scope – again a wide scope can be really useful, but if you spend most of your day working in one area you may appreciate a more concise approach.
    • User-centric – We’re not saying this is a bad thing, but directing people toward a facebook group, for example, may attract less people than a debate that is happening where the resource is.

———-
Had a brief meeting with Craig Bellamy from the Centre for e-Research at Kings College London. Explained PICT with the help of a biro. His assessment was that the framework for presenting tools at the point of use (on existing websites), whilst retaining a broader community level scope was a good one. Attempts to create community hubs often end in rather quiet websites due to a difficulty in providing a critical mass of users and hence enough initial interest. This and the prevalence of existing well established community services (facebook etc).

He felt that the PICT tools in themselves are not particularly exciting (maybe not exciting but I’m hoping useful) and that some killer community network tool would be a real boon. If the framework we’re building has any legs then hopefully that killer tool can be added to the suite in time.

Also had interesting ideas on scoping communities. Suggested the advantages of basing communities around quite specific subjects (eg Charles Darwin). Also the use of PICT to maintain a community directory (whether or not resources listed in the directory had PICT deployed).

In terms of participation he seemed to think that there was a possibility of trialling PICT on arts-humatities.net. Although not really a range of resources that represent the online workplace of a research community, this would be most welcomed.

—–

We had earlier identified Dr Simon Coles of Southampton University Chemistry department as a possible participant due to his involvement with setting up the eCrystals federation. The purpose of the federation project was to normalise practices of deposit and description amongst digital resource owners within the crystallography communtity. So Simon has spent a lot of time and effort bringing resource owners together.

We’re please to report that he was very interested in PICT:

“We had a partner engagement problem in eCrystals, in part due to a lack of tools to provide extra functionality on top of the standard repository. Chickens and Eggs! I would certainly like to take this further, as I think PICT would provide exactly what I am after in terms of community annotation etc.”

Have agreed to contact Simon again once the project is more mature tolook into the possibility of trailing some tools on some (hopefully more than one anyway) of the eCrystals federation repositories.

Project SWOTing

July 16th, 2009 by rorymcnicholl

Strengths:

  1. Toolbox Code base inherited from previous SNEEP project
  2. Owned and managed by community resource owners (Not a traditional third party run service like zotero or diigo)
  3. No download needed by end user
  4. Once deployed by resource owner, immediately available to all resource users (with javascript enabled)
  5. Architecture should allow for new tools to be easily added by contributors (or removed by site admins)
  6. PICT “home site” providing aggregation of data gathered by PICT server

Weaknesses:

  1. Relies on acceptance by web resource owners
  2. Preferable for one resource owner to manage the PICT server (though ULCC could host for early adopters)
  3. Possible clashes between code library used by PICT (JQuery) and existing JS code libraries on host sites (could slow downloads if more than one library used)

Opportunities:

  1. Consultation with potential users (both resource owners and resource users) to provide a toolset useful for web based research
  2. Offer PICT versions written with a range of JS code libraries (JQuery, Prototype, mootools, etc) (see Weakness 2)
  3. Creation of community hubs that aggregate resources along with user-born data to provide powerful community resource
  4. Allowing use of tools on resources from outside a set of PICT enabled web sites (using a downloadable toolbar or via PICT homesite) would broaden appeal (see Threat 1)
  5. Possible PICT server hosting service could be offered by ULCC where a community lacks capability

Threats:

  1. Other web-research toolbox solutions already established (albeit with a less community centric approach)
  2. Lack of take up by resource owners
  3. User ID and authentication across multiple site, could prove very complex
  4. Complication introduced by ID/auth issues prove barrier to use
  5. Tools offered not popular with resource users