<?xml version="1.0" encoding="utf-8"?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/rss.xsl" media="screen"?><rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
  <title>Blogging Roller</title>
  <link>https://rollerweblogger.org/roller/</link>
    <atom:link rel="self" type="application/rss+xml" href="https://rollerweblogger.org/roller/feed/entries/rss?tags=resourcepreview" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Tue, 28 Apr 2026 07:02:22 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/wip_resource_preview</guid>
    <title>WIP: Resource Preview</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/wip_resource_preview</link>
    <pubDate>Fri, 3 Jun 2011 09:00:35 +0000</pubDate>
    <category>Web Development</category>
    <category>asf</category>
    <category>oslc</category>
    <category>resourcepreview</category>
    <category>uipreview</category>
    <category>wip</category>
<atom:summary type="html">&lt;p&gt;&lt;i&gt;This is the fourth in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Synopsis&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Enhance links shown in HTML pages so that users can hover, mouse-over, or use some other gesture, to view a preview of the resource at the other end of the link.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Motivations&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make it convenient for a user to get information about a link but without having to navigate to the link and without having to leave the current web page in the browser.&lt;/li&gt;
&lt;li&gt;Make applications appear to be part of one integrated whole by enabling them to delegate to each other&amp;#39;s user interfaces for preview display.&lt;/li&gt;
&lt;/ul&gt;</atom:summary><description>&lt;p&gt;&lt;i&gt;This is the fourth in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Synopsis&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Enhance links shown in HTML pages so that users can hover, mouse-over, or use some other gesture, to view a preview of the resource at the other end of the link.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Motivations&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make it convenient for a user to get information about a link but without having to navigate to the link and without having to leave the current web page in the browser.&lt;/li&gt;
&lt;li&gt;Make applications appear to be part of one integrated whole by enabling them to delegate to each other&amp;#39;s user interfaces for preview display.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Complements&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_links&quot;&gt;Links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delegated Resource Creation &amp;amp; Selection&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_common_navigation&quot;&gt;Common Navigation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This pattern allows users to view a preview of links that are displayed in a web page. This preview might be a simple tool-tip with plain-text, a more rich JavaScript-driven display with hyper-text and graphics, or it might be a thumbnail view of the page at the other end of the link.&lt;/p&gt;

&lt;p&gt;Resource Preview works well for web applications that use the &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_links&quot;&gt;Links&lt;/a&gt; pattern for integration and use links to establish relationships between resources. If a user is looking at a Bug Report, for example, they might see a list of links to associated resources like attachments to the bug, test cases impacted by the bug, etc. The user can hover over links and see a preview with key information for each link, without leaving the current web page that they are on. Below are three different approaches to applying the Resource Preview pattern in web applications.&lt;/p&gt;

&lt;h3&gt;Approach #1: Preview Site offers previews to other applications&lt;/h3&gt;

&lt;p&gt;With this approach, there is a special preview site that crawls a set of web sites and creates Resource Previews of the web pages of those sites. Then, web sites that wish to display previews on links use some special JavaScript magic to display those previews. An example of this preview site approach is &lt;a href=&quot;http://www.snap.com/&quot;&gt;Snap.com&lt;/a&gt;&#146;s &lt;a href=&quot;http://www.snap.com/snapshots.php&quot;&gt;Snap-Shots&lt;/a&gt; service. Anybody with a web site can sign up for the service, get some special HTML code that can be added to their site to display a graphical and thumbnail-style preview whenever a user hovers over a link.&lt;/p&gt; 

&lt;p&gt;Here&#146;s an example of a Snap.com preview on the company&#146;s blog:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/d5be1c22-5263-4286-a025-6fc2aa7f4c44&quot; alt=&quot;Snap.com preview&quot;&gt;

&lt;p&gt;The advantages of the preview site approach are participating sites don&#146;t have to do anything except for adding a small bit of JavaScript code to enable previews. The disadvantage is that the automatically generated previews often can&#146;t offer more than a page title, thumbnail image and perhaps a short excerpt from the page being previewed. Also, it&#146;s interesting to note that  there was a &lt;a href=&quot;http://thenextweb.com/2008/01/26/snapcom-to-critics-you-wanna-step-outside/&quot;&gt;backlash&lt;/a&gt; against Snap-Shots and some people thought they were distracting and gimmicky. Regardless of that criticism, this approach to Resource Previews is not very interesting from a Web Integration Patterns point of view because the focus is making one site more useful and interactive, and not integrating with others.&lt;/p&gt;

&lt;h3&gt;Approach #2: Application creates and displays previews as needed&lt;/h3&gt;

&lt;p&gt;With this approach, an application that needs to provide preview creates the previews that it needs and take case of displaying them. The best known examples of this approach are probably the preview features built into Microsoft&#146;s Bing and Google&#146;s search engine. This approach is also not very interesting as a WIP because its all about making one site more useful, not integrating with others.&lt;/p&gt;

&lt;p&gt;Here&#146;s an example of a Resource Preview in Microsoft Bing:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/46c0d83d-597e-4dad-8eaa-1ada5e933795&quot; alt=&quot;Bing preview&quot;&gt;

&lt;h3&gt;Approach #3: Applications offer previews of their own resources&lt;/h3&gt;

&lt;p&gt;This approach is to enable web applications provide previews of their own resources and make them available via a simple protocol. The best example of this approach is &lt;a href=&quot;http://open-services.net/bin/view/Main/OslcCoreUiPreview&quot;&gt;OSLC UI Preview&lt;/a&gt;, which is part of the &lt;a href=&quot;http://open-services.net&quot;&gt;OSLC specifications&lt;/a&gt;. The OSLC specs are designed to enable integration between ALM tools, but can be applied to integrating web applications of almost any stripe. Applications that implement OSLC UI Preview provide a UI Preview for each resource, one that provides a summary of the resource and links to large and small previews of the resource. &lt;/p&gt;

&lt;p&gt;Here&#146;s an example of an &lt;a href=&quot;http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/OslcCompactPreviewTooltips&quot;&gt;OSLC UI Preview from FusionForge&lt;/a&gt;, an open source ALM suite:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/ad5008ea-2010-4873-9140-fdad5d87c2fc&quot; alt=&quot;FusionForge preview&quot;&gt;

&lt;p&gt;Here&#146;s an example of a Resource Preview from &lt;a href=&quot;https://jazz.net/projects/rational-team-concert/&quot;&gt;IBM Rational Team Concert&lt;/a&gt;, which also implements the OSLC UI Preview spec:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/95919538-b750-4ba8-b96f-272f5b020d46&quot; alt=&quot;RTC preview&quot;&gt;

&lt;p&gt;There are several advantages to this approach. Preview-providing applications have complete control over the content and appearance of previews for their resources. Preview-consuming applications don&#146;t have to create and format them, they just display what comes back from the provider. No special preview site is needed to enable previews. Another advantage to this approach to Resource Previews is the OSLC UI Preview specification, which defines an open and standard way to provide and consume previews.&lt;/p&gt;

&lt;h3&gt;Wrapping up&lt;/h3&gt;

&lt;p&gt;I&amp;#39;ve explained what I call the Resource Pattern and three different ways that I&amp;#39;ve seen it used. Resource Preview is a good way to add value to the &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_links&quot;&gt;Links&lt;/a&gt; pattern and to make links even more useful. The best way to implement this pattern is to ask all web applications that want to integrate to offer Resource Previews via a standard protocol such as OSLC UI Preview, and to display them whenever a user hovers over a link.&lt;/p&gt;
</description>  </item>
</channel>
</rss>