Monday, October 14, 2013

2013-10-14: Right-Click to the Past -- Memento for Chrome

Last week LANL released Memento for Chrome, an extension that adds Memento capability for Chrome browsers.  It represents such a leap in capability and speed that the prior MementoFox (Memento for FireFox) add-on should be considered deprecated. 

It's not just a FireFox vs. Chrome thing either; Memento for Chrome features a subtle change in how it interacts with the past and present.  MementoFox had a toggle switch for present vs. Time Travel mode that would trap and modify all outbound requests, from the current page and all subsequent pages until turned off, to go from the form of:

http://example.com/index.html

to:

http://mementoproxy.lanl.gov/aggr/timegate/http://example.com/index.html

This involved some complicated logic to determine when you were getting a memento (i.e., archived web entity) vs. something from the live web.  When you factored in native Memento archives vs. proxied Memento archives, things could get hairy (see the 2011 Code4Lib paper for a (dated) discussion of some of the issues).  Due to differences in how they archive web pages, it was not possible to take an HTML page from archives like WebCite and Archive.is and modify all the links to go through the Memento aggregator. 

Instead of a toggle switch, Memento for Chrome features a "right-click" model in which time travel is only for the next click and (from the client's point of view) is not sticky.  Basically, you load the present version of "index.html", and the prior versions are accessed by right-clicking in the page or on the next link itself to pull up the option of traveling to some prior date (set separately via a calendar interface).  This means the client only modifies a single request, and the subsequent requests are processed unfiltered.

For most web archives, all the subsequent requests for embedded images, stylesheets, etc. will be rewritten to be relative to the archive of the parent HTML page.  In other words, if you land inside the Internet Archive, then all the embedded resources will come from the Internet Archive, and all the subsequent links in the HTML to other pages will be rewritten to take you to pages inside the Internet Archive.  This means sometimes you'll miss a resource that is present in another archive but not in the current archive or the target date can drift over many clicks (see Scott Ainsworth's JCDL 2013 paper on this topic), but this allows the client to run much faster.  You can always choose to right-click (instead of just a regular click) to reapply the Memento time travel. 

On other archives, like WebCite and Archive.is,  as well as other systems like wikis, the links to other pages aren't rewritten to point back into the archive, and a regular click will pop you out of time travel mode and back to the present web.  In this case, successive right-clicks are required to stay in time travel mode.

Herbert has prepared a very nice demo video that packs many features into 78 seconds.  If you want to know why Memento for Chrome is really special, watch this video:


  • he starts at the current version of techcrunch.com, and then sets a datetime preference for June 20, 2011. 
  • right-clicking in the current page, he chooses the option to time travel to a version near June 20, 2011 (in this case, he gets June 20, 2011 exactly, but that's not always possible)
  • he right-clicks on the link for gnonstop.com, and chooses to get an archived version (in this case, the archive delivers a close but not exact version of June 21, 2011).
  • note the archived pages for techcrunch.com and gnonstop.com both come from the Internet Archive.
  • to see the current version, he right-clicks and chooses "get at current time" and sees that the current version is unavailable.
  • from that page he right-clicks and chooses "get near current time", which is basically "get me the most recent archived version", which at the time of this video was July 8, 2011 and the archived pages comes from a different Memento-enabled archive, Archive.is
If the above is interesting to you, I recommend the longer (10 minute) video Herbert prepared with an earlier version of Memento for Chrome:



Some highlights include:
  • 00:30 -- 1:30: a Google search is done in the present, but the first blue link is right-clicked to visit the prior version
  • 02:15 -- 03:00: from the Google results page, a link is followed in the present, then the page is viewed in the past via a right-click
  • 04:10 -- 05:03: shows how the client works with the SiteStory Transactional Web Archive
  • 05:10 -- 07:00: an extended session about how it works with Wikipedia (i.e., Mediawiki)
  • 07:20 -- 08:20: interacting with an archived 404 and resetting the date
Keep in mind this is an older version of the software, but there are enough interesting bits in the video that I think it still warrants viewing for those who care about various special cases.

On the other hand, if you don't care about the details watch the short video and then download the Chrome extension and get started.  We welcome feedback on the memento-dev email list, or please be the first to review the extension.  Thanks to Harish Shankar for an excellent job on the development of this extension.

--Michael

P.S.  Note that other Memento clients are still available, including iOS, Android, and the mcurl command line client.  Though slowed by his PhD breadth exam and other obligations, Mat Kelly is still developing Tachyon, a Chrome extension with a toggle model similar to MementoFox, first developed by Andy Jackson

No comments:

Post a Comment