<?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=patterns" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Mon, 18 May 2026 08:23:39 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/wip_common_navigation</guid>
    <title>WIP: Common Navigation</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/wip_common_navigation</link>
    <pubDate>Sun, 27 Mar 2011 10:08:44 +0000</pubDate>
    <category>Web Development</category>
    <category>asf</category>
    <category>jazz</category>
    <category>lotusconnections</category>
    <category>patterns</category>
    <category>ux</category>
    <category>wip</category>
<atom:summary type="html">&lt;p style=&quot;font-style:italic;&quot;&gt;
This is the second 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;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;
Synopsis&lt;/p&gt;

&lt;p&gt;Make separate web sites and applications appear to be one by using common user interface elements for navigation.&lt;/p&gt;
</atom:summary><description>&lt;p style=&quot;font-style:italic;&quot;&gt;
This is the second 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;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Synopsis&lt;/p&gt;

&lt;p&gt;Make separate web sites and applications appear to be one by using common user interface elements for navigation.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;
Motivations&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide easy navigation between integrated web sites &amp;amp; applications.&lt;/li&gt;
&lt;li&gt;Make separate web sites appear to be one and parts of the same overall user interface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;
Related patterns&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;/ul&gt;

&lt;p&gt;This pattern is an extension of the Links pattern. The idea is to use links combined with common user interface (UI) elements, as a way to provide navigation between integrated sites and to make the separate sites appear to be parts of a whole application. This pattern is usually implemented via a banner with links, a tabs or some other type of menu component.&lt;/p&gt;

&lt;p&gt;To make this work, somebody has to create the common navigation, give it an attractive design, decide which web sites or applications are included in the navigation. Consequently, this pattern works well for a set of web sites owned by the same organization, or a suite of packaged web applications.&lt;/p&gt;

&lt;h3&gt;Pros and Cons&lt;/h3&gt;

&lt;p&gt;The advantages of Common Navigation are that it works, it does make separate web sites seem to be part of one integrated whole and it&amp;#39;s relatively easy to implement. One disadvantage of this approach is that the Common Navigation elements can either conflict with, in a visual sense, or distract from the web sites themselves. But if you&amp;#39;re selling a suite of web applications, you&amp;#39;ve got control of whole design and you can solve this problem.&lt;/p&gt;

&lt;h3&gt;Examples&lt;/h3&gt;

&lt;p&gt;Here are some examples of Common Navigation that I see almost everyday. The first is Google.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Common Navigation in Google web applications&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://gmail.com&quot;&gt;Google Mail&lt;/a&gt;, Calendar and other Google apps all share a Common Navigation bar across the top of the page. Google decides which apps appear in the menu, and the tech blogs whine whenever an item is moved or removed from the line-up. This is  a pretty shallow integration: just links to applications and no more.&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/50121a6f-4e8a-43a6-a13a-b01e11a1ca6c&quot;&gt;

&lt;p&gt;Now, let&amp;#39;s see a deeper example.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Common Navigation in IBM Lotus Connections&lt;/p&gt;

&lt;p&gt;IBM &lt;a href=&quot;http://www.ibm.com/software/lotus/products/connections/&quot;&gt;Lotus Connections&lt;/a&gt; is a suite of social software applications including social networking, blogs, wiki, forums, file sharing and etc. As you can see below, Common Navigation is used to provide links, not just to applications, but into specific parts of applications. For example, the Latest Entries page in the Blogs app, and the Wikis that I own vs. Public Wikis.&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/6284aed1-5625-4ae3-b387-b5e7ad5ba47d&quot;&gt;

&lt;p&gt;Next, another suite example.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Common Navigation in IBM Rational Team Concert&lt;/p&gt;

&lt;p&gt;IBM Rational&amp;#39;s Jazz-based products use Common Navigation, but with a project-orientation, showing a user&amp;#39;s project&amp;#39;s within each application. You can see this below in &lt;a href=&quot;http://jazz.net/projects/rational-team-concert/&quot;&gt;Rational Team Concert&lt;/a&gt;. A development project spans different applications and may have requirements managed by one web application, defects tracked by another, test cases managed by a third and so on. Each user sees the right menu for their projects.&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/79dbc845-bfab-42a7-80b5-72f449394072&quot;&gt;

&lt;p&gt;Next, an example that&amp;#39;s not a suite of web applications.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Common Navigation in StumleUpon&lt;/p&gt;

&lt;p&gt;Another example is &lt;a href=&quot;http://www.stumbleupon.com/&quot;&gt;StumbleUpon&lt;/a&gt;. When you use StumbleUpon, you see the banner at the top of every page. You press the Stumble! button and a you see a randomly selected web page from anywhere on the web, or from some specific category of web site, and you still see the StumbleUpon banner. The StumbleUpon banner makes the whole web seem like one big site, deigned for &amp;quot;stumbling&amp;quot; around and sharing the things you find with friends.&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/8a8b1e37-75e9-44fe-a1d4-494bdd2298e1&quot;&gt;

&lt;h3&gt;Wrapping up&lt;/h3&gt;

&lt;p&gt;I wasn&amp;#39;t sure that Common Navigation really deserved its own pattern, as it&amp;#39;s really just a simple and obvious application of the Links pattern, but I think this works. As always, feedback is welcome. What did I get wrong? What did I leave out?&lt;/p&gt;

&lt;p&gt;Next up: Web Annotations.&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/web_integration_patterns</guid>
    <title>Web Integration Patterns</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/web_integration_patterns</link>
    <pubDate>Tue, 15 Mar 2011 09:30:40 +0000</pubDate>
    <category>Web Development</category>
    <category>asf</category>
    <category>patterns</category>
    <category>wip</category>
<atom:summary type="html">&lt;p&gt;In my &lt;a href=&quot;http://rollerweblogger.org/roller/entry/more_than_bloggy&quot;&gt;previous post&lt;/a&gt;, I promised to write a blog series on Web Integration Patterns. This post explains the concept and a bit about how I plan to write about it.&lt;/p&gt;

&lt;p&gt;What I&#146;m calling Web Integration Patterns are techniques for integrating software systems, web applications and web sites using the common technologies of the web. These patterns build on HTTP, HTML, JavaScript and sometimes JSON, RDF and XML to provide ways to integrate software systems and include both programmatic approaches and user interface integrations.&lt;/p&gt;</atom:summary><description>&lt;p&gt;In my &lt;a href=&quot;http://rollerweblogger.org/roller/entry/more_than_bloggy&quot;&gt;previous post&lt;/a&gt;, I promised to write a blog series on Web Integration Patterns. This post explains the concept and a bit about how I plan to write about it.&lt;/p&gt;

&lt;p&gt;What I&#146;m calling Web Integration Patterns are techniques for integrating software systems, web applications and web sites using the common technologies of the web. These patterns build on HTTP, HTML, JavaScript and sometimes JSON, RDF and XML to provide ways to integrate software systems and include both programmatic approaches and user interface integrations.&lt;/p&gt;

&lt;h4&gt;Not the same as Enterprise Integration Patterns&lt;/h4&gt;

&lt;p&gt;These patterns are different from &lt;a href=&quot;http://www.eaipatterns.com/&quot;&gt;Enterprise Integration Patterns&lt;/a&gt; (from the book of the same title). Those enterprise patterns make the most sense inside an organization where shared-databases and specifically messaging middle-wares are part of the common infrastructure. Web Integration Patterns assume only the web as common infrastructure, or at least the best of them do, and that means they can work equally as well in a controlled enterprise Intranet as they do on the big wild Internet. They can work well for a suite of web applications or a family of loosely related web sites.&lt;/p&gt;

&lt;h4&gt;Four categories of patterns covered&lt;/h4&gt;

&lt;p&gt;I plan to write about a dozen blog entries each covering one pattern, and I&#146;ll do at least one per week. I&#146;ll start with the basic patterns then introduce more advanced patterns. I&#146;ve organized the patterns into four groupings, listed below in the order that I will cover them:&lt;/p&gt;

(I&amp;#39;ll add links in below as I publish each pattern)

&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Basic Patterns&lt;/span&gt;: fundamental patterns which are relatively easy to implement, and, mostly, possible on a website made up of static HTML pages.
&lt;ul&gt;
   &lt;li&gt;#1 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_links&quot;&gt;Links&lt;/a&gt;: Use links as a way to integrate web sites &amp; applications via navigation and relationships between resources.&lt;/li&gt;
   &lt;li&gt;#2 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_common_navigation&quot;&gt;Common Navigation&lt;/a&gt;: Make separate web sites and applications appear to be one by using common user interface elements for navigation.&lt;/li&gt;
   &lt;li&gt;#3 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_embedded_properties_in_html&quot;&gt;Embedded Properties in HTML&lt;/a&gt;: Enable easier integration and better search across integrated web applications and sites by using standard mechanisms (e.g. Microformats, RDFa) to embed property values in HTML pages.
   &lt;li&gt;#4 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_resource_preview&quot;&gt;Resource Preview&lt;/a&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;/li&gt;
   &lt;li&gt;#5 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_widgets_and_gadgets&quot;&gt;Widgets and Gadgets&lt;/a&gt;: Allow other web sites and applications to integrate your site into their web pages by providing an embeddable user interface, commonly known as a Gadget or Widget&lt;/li&gt;
    &lt;li&gt;#6 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_feed_based_integration&quot;&gt;Feed-based Integration&lt;/a&gt; integrating web sites and applications by using standard feed formats, e.g. RSS and Atom, to convey timely information, updates, status messages, events and other information&lt;/li&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Advanced Patterns&lt;/span&gt;: more advanced patterns, which may require some server-side logic and infrastructure beyond a plain old web server.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Authentication Patterns&lt;/span&gt;: these are advanced patterns that concern authentication and authorization of users and web sites, including Single Sign On, OpenID and more.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Social Patterns&lt;/span&gt;: patterns from the world of social networking, including things like OpenSocial, Facebook apps and ActivityStreams.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perhaps using the word &#147;patterns&#148; is a bit pretentious. I&#146;m no &lt;a href=&quot;http://en.wikipedia.org/wiki/Design_Patterns&quot;&gt;gang of four&lt;/a&gt; or even one, and I don&#146;t plan to give these patterns the comprehensive treatment examples that you&#146;d find in a patterns book. I won&#146;t be providing source code examples either. Still, I think Web Integration Patterns is the right name and format, so I&#146;m sticking with it.&lt;/p&gt;

&lt;p&gt;The first pattern that I&#146;ll cover is Links. More Later...&lt;/p&gt;</description>  </item>
</channel>
</rss>