<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Craig's Musings</title>
	
	<link>http://craigrandall.net</link>
	<description>Thoughts about software architecture, books and life</description>
	<lastBuildDate>Sat, 28 Apr 2012 05:02:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/craigrandall" /><feedburner:info uri="craigrandall" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Adventures with Twitter in Groovy</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/uDwHM1U5CLc/</link>
		<comments>http://craigrandall.net/archives/2012/04/adventures-with-twitter-in-groovy/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 15:56:27 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[D3]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[tweetstream]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1662</guid>
		<description><![CDATA[TweetHave you ever wanted to get a better sense of an event&#8217;s commentary on Twitter? For example, a subset of your following may be attending an event in your periphery but making interesting enough comments to warrant a closer look. &#8230; <a href="http://craigrandall.net/archives/2012/04/adventures-with-twitter-in-groovy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1662" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FJaQNzm&amp;via=craigsmusings&amp;text=Adventures%20with%20Twitter%20in%20Groovy&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F04%2Fadventures-with-twitter-in-groovy%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Have you ever wanted to get a better sense of an event&#8217;s commentary on Twitter? For example, a subset of your following may be attending an event in your periphery but making interesting enough comments to warrant a closer look.</p>
<p>Well, I&#8217;ve had these thoughts on an increasing basis lately so I thought I&#8217;d dive into the Twitter stream a bit to see what I could learn.</p>
<p>Fortunately, I was aware of a <a href="https://gist.github.com/1193676" target="_blank">gist to query Twitter</a> by <a href="http://www.twitter.com/pmonks" title="Peter Monks" target="_blank">@pmonks</a>, and this Groovy script became the foundation for my exploration.</p>
<p>Since I don&#8217;t normally program in Groovy, I had to setup Groovy on my MacBook Pro. (To be clear, I went for &#8220;get this to work&#8221; rather than &#8220;accomplish your configuration with all best practices incorporated.&#8221; I&#8217;m sure there may be better techniques where Groovy setup on MacOS is concerned, and I thank you in advance for any comment-based pointers.)</p>
<ol>
<li>Visit the Groovy website and understand <a href="http://groovy.codehaus.org/Installing+Groovy" title="Installing Groovy" target="_blank">basic Groovy installation instructions</a>.</li>
<li>Downloaded the <a href="http://dist.groovy.codehaus.org/distributions/groovy-binary-1.8.6.zip" target="_blank">binary release (Zip) of Groovy 1.8.6</a> (i.e. latest available version of the stable branch at the time of this post).</li>
<li>Extracted Zip contents and moved (via Terminal) them under my up-to-date Java distribution:
<pre>prompt$ sudo mv ~/downloads/groovy-1.8.6 /usr/share/java</pre>
<p> (I&#8217;ve seen apparent best practice guidance to create a symlink that allows you to access Groovy without referencing the version number, but I&#8217;ve skipped that here.)</li>
<li>Edit your .profile file to point your environment to your new Groovy installation. (If you don&#8217;t have a .profile file, <a href="http://trickortip.com/312/MAC-OSX-Lion-Terminal/where-is-the-profile-file-in-mac-os-x-lion-mac-terminal-trick.html" target="_blank">read and follow this</a>.)
<pre>prompt$ open /Applications/TextEdit.app .profile</pre>
<p>Add (or confirm) the following lines in your .profile file:</p>
<pre>JAVA_HOME=/Library/Java/Home; export JAVA_HOME
GROOVY_HOME=/usr/share/java/groovy-1.8.6; export GROOVY_HOME
PATH=$GROOVY_HOME/bin:$PATH; export PATH</pre>
<p>Save your .profile file, exit TextEdit, close all open Terminal windows, exit Terminal and open a new Terminal window to enable .profile changes to take effect.</li>
<li>Confirm that Groovy is ready to act on your script:
<pre>prompt$ groovy -v</pre>
<p>
My confirmation looked as follows:<br />
Groovy Version: 1.8.6 JVM: 1.6.0_31 Vendor: Apple Inc. OS: Mac OS X</li>
</ol>
<p>For this particular script, queryTwitter.groovy, you need to provide a peer twitter4j.properties file that will provide to Twitter your username and password. Once that&#8217;s ready,</p>
<pre>prompt$ groovy queryTwitter.groovy %23interesting_event</pre>
<p>The results are ready to be nested within a <em>table</em> element, if you want to produce HTML for display as-is. However, you could also modify the script to render JSON output and pursue alternative visualizations (e.g. rate of tweets over time, geolocation of individuals in the tweetstream, word clouds for the event, influencer status, etc.)&#8211;something for <a href="http://craigrandall.net/archives/2012/02/d3-data-driven-documents/" title="D3 (Data-Driven Documents)">D3.js</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=uDwHM1U5CLc:LldJfq2nXek:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=uDwHM1U5CLc:LldJfq2nXek:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=uDwHM1U5CLc:LldJfq2nXek:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=uDwHM1U5CLc:LldJfq2nXek:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=uDwHM1U5CLc:LldJfq2nXek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=uDwHM1U5CLc:LldJfq2nXek:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=uDwHM1U5CLc:LldJfq2nXek:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/uDwHM1U5CLc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/04/adventures-with-twitter-in-groovy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/04/adventures-with-twitter-in-groovy/</feedburner:origLink></item>
		<item>
		<title>D3 (Data-Driven Documents)</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/8_lgYhLLq9A/</link>
		<comments>http://craigrandall.net/archives/2012/02/d3-data-driven-documents/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 22:52:39 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[D3]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1629</guid>
		<description><![CDATA[Tweet &#8220;D3.js is a small, free JavaScript library for manipulating documents based on data.&#8221; -http://mbostock.github.com/d3/ Since I&#8217;ve been trying to spread the word with colleagues about this powerful, expressive visualization technology, I thought it might be worth sharing similarly here. &#8230; <a href="http://craigrandall.net/archives/2012/02/d3-data-driven-documents/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1629" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FyuorlL&amp;via=craigsmusings&amp;text=D3%20%28Data-Driven%20Documents%29&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F02%2Fd3-data-driven-documents%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><img src="http://craigrandall.net/images/d3.png" alt="Examples of D3-based visualizations" /></p>
<p>&#8220;D3.js is a small, free JavaScript library for manipulating documents based on data.&#8221; -<strong><a href="http://mbostock.github.com/d3/" target="_blank">http://mbostock.github.com/d3/</a></strong></p>
<p>Since I&#8217;ve been trying to spread the word with colleagues about this powerful, expressive visualization technology, I thought it might be worth sharing similarly here.</p>
<p>The following tutorials have been helpful in ramping folks up on D3:</p>
<ul>
<li><a href="http://www.janwillemtulp.com/2011/03/20/tutorial-introduction-to-d3/" target="_blank">Jan Willem Tulp&#8217;s introduction</a> (also <a href="http://www.janwillemtulp.com/category/d3/" target="_blank">his blog posts on D3</a> and <a href="http://fellinlovewithdata.com/guides/tftp-jan-willem-d3-protovis" target="_blank">his interview about D3</a>)</li>
<li><a href="https://graphics.stanford.edu/wikis/cs448b-11-fall/D3_Tutorial" target="_blank">Stanford CS</a></li>
<li><a href="http://alignedleft.com/tutorials/d3/" target="_blank">Scotty Murray&#8217;s series</a></li>
</ul>
<p>D3&#8242;s creator, <a href="http://twitter.com/mbostock" target="_blank">Mike Bostock</a>, has published a <a href="http://vis.stanford.edu/papers/d3" target="_blank">white paper on D3</a> (Stanford Visualization Group) and <a href="http://cdn-smooth.ms-studiosmedia.com/events/W3C/Day2/Web_Standards.mp4" title="Data Visualization with Web Standards" target="_blank">presented D3</a> during the most recent W3Conf (browser-based <a href="http://mbostock.github.com/d3/talk/20111116/#0" target="_blank">slides</a>).</p>
<p>A couple of spotlights on D3 include <a href="http://flowingdata.com/2011/03/09/data-driven-documents-for-visualization-in-the-browser/" title="Data-Driven Documents for visualization in the browser" target="_blank">one by Flowing Data</a> and <a href="http://www.svgmagazine.com/jul2011/spotson_d3.js.html" target="_blank">another by SVG Magazine</a>.</p>
<p>Flowing Data also posted an application of D3, &#8220;<a href="http://projects.flowingdata.com/timeuse/" target="_blank">How Americans Spend Their Day</a>&#8221; (<a href="http://flowingdata.com/2011/09/20/how-do-americans-spend-their-days/" target="_blank">background context</a>).</p>
<p>If this whets your appetite, visit the <strong><a href="https://github.com/mbostock/d3/wiki" target="_blank">D3 wiki</a></strong> for a whole lot more goodness (documentation, additional tutorials, example visualizations, etc.).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=8_lgYhLLq9A:8tz66PCYNZo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=8_lgYhLLq9A:8tz66PCYNZo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=8_lgYhLLq9A:8tz66PCYNZo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=8_lgYhLLq9A:8tz66PCYNZo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=8_lgYhLLq9A:8tz66PCYNZo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=8_lgYhLLq9A:8tz66PCYNZo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=8_lgYhLLq9A:8tz66PCYNZo:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/8_lgYhLLq9A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/02/d3-data-driven-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>

		<feedburner:origLink>http://craigrandall.net/archives/2012/02/d3-data-driven-documents/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/craigrandall/~5/VxRsbUw2WXI/Web_Standards.mp4" length="453051173" type="video/mp4" /><feedburner:origEnclosureLink>http://cdn-smooth.ms-studiosmedia.com/events/W3C/Day2/Web_Standards.mp4</feedburner:origEnclosureLink></item>
		<item>
		<title>Modularity without modules…what’s the point?</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/lgixu4dDSqM/</link>
		<comments>http://craigrandall.net/archives/2011/12/point-of-modularity/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 19:02:32 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CX]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[anticipation]]></category>
		<category><![CDATA[brand]]></category>
		<category><![CDATA[Cruiser]]></category>
		<category><![CDATA[custserv]]></category>
		<category><![CDATA[deck]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[Razor]]></category>
		<category><![CDATA[scooter]]></category>
		<category><![CDATA[Social]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1618</guid>
		<description><![CDATA[TweetIf you follow me on Twitter, you might have an idea that my son is currently without one of his rides (i.e. a Razor Cruiser kick scooter). My son is big and tall for his age, and this scooter is &#8230; <a href="http://craigrandall.net/archives/2011/12/point-of-modularity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1618" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FsBidvO&amp;via=craigsmusings&amp;text=Modularity%20without%20modules%26%238230%3Bwhat%26%238217%3Bs%20the%20point%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F12%2Fpoint-of-modularity%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>If you <a href="http://twitter.com/craigsmusings" rel="me" title="Follow Craig on Twitter (@craigsmusings)" target="_blank">follow me on Twitter</a>, you might have an idea that my son is currently without one of his rides (i.e. a <a href="http://www.razor.com/us/products/cruiser/" target="_blank">Razor Cruiser</a> kick scooter). My son is big and tall for his age, and this scooter is perfect for him.</p>
<p>Like most boys his age, though, he doesn&#8217;t understand &#8220;cruiser&#8221; in the face of a neighborhood of boys who all like to jump all manner of wheeled vehicle. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  As a result of this lack of appreciation (er, love of both scooter and jumping), what looked like</p>
<p><img src="http://craigrandall.net/images/cruiser-orig.jpg" alt="Unridden Razor Cruiser kick scooter" /></p>
<p>now looks like</p>
<p><img src="http://craigrandall.net/images/cruiser-front-assembly.jpg" alt="Used Razor Cruiser kick scooter front assembly" /></p>
<p><img src="http://craigrandall.net/images/cruiser-failed-deck-1.jpg" alt="Failed wood/fiberglass Razor Cruiser kick scooter deck" /></p>
<p><img src="http://craigrandall.net/images/cruiser-failed-deck-2.jpg" alt="Failed wood/fiberglass Razor Cruiser kick scooter deck (close-up)" /></p>
<p><img src="http://craigrandall.net/images/cruiser-back-assembly.jpg" alt="Used Razor Cruiser kick scooter back assembly" /></p>
<p>Do you see the opportunity?</p>
<p>Razor makes a quality product&#8211;one the is easy to use and maintain. Ease of maintenance is largely facilitated by modularity of design.</p>
<p>So when my son came to me with the disappointment of pushing his ride too hard, my first thought was to simply disassemble the scooter to isolate the failed part (deck). Easily accomplished.</p>
<p>Except that apparently <a href="http://razor.custhelp.com/app/answers/detail/a_id/223" title="Purchasing Replacement Parts" target="_blank">Razor and its authorized parts retailers</a> doesn&#8217;t stock replacement decks for the Cruiser kick scooter.</p>
<p>So&#8230;Razor built a modular kick scooter but doesn&#8217;t stock a critical module (deck).</p>
<p><strong>What&#8217;s the point of modularity, if there are no modules (i.e. ability to swap module instances that fulfill necessary interfaces)?</strong></p>
<p>My son&#8217;s predicament is clearly of his own making, but herein is opportunity for Razor. Beyond already clearly stating what their product is designed to perform, Razor can anticipate that <em>boys will be boys</em> and provide timely relief in the form of complete replacement parts, including readily available decks.</p>
<p>Within earshot of my son are more than a dozen boys of similar age, and they&#8217;re always outside planning their next jump. Many already own their own Razor, too. What if he could turn around an accident with word that Razor saved the day? Talk about <em>brand advocacy</em> and <em>social media</em>!</p>
<p>What&#8217;s your Razor-like story? What&#8217;s your Razor-like opportunity?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=lgixu4dDSqM:vHe3MMVKO60:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=lgixu4dDSqM:vHe3MMVKO60:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=lgixu4dDSqM:vHe3MMVKO60:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=lgixu4dDSqM:vHe3MMVKO60:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=lgixu4dDSqM:vHe3MMVKO60:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=lgixu4dDSqM:vHe3MMVKO60:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=lgixu4dDSqM:vHe3MMVKO60:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/lgixu4dDSqM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/12/point-of-modularity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/12/point-of-modularity/</feedburner:origLink></item>
		<item>
		<title>Adobe Connect bookmarklet</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/r7mGSqqzyos/</link>
		<comments>http://craigrandall.net/archives/2011/10/adobe-connect-bookmarklet/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 19:14:52 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe Connect]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[Connect]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1600</guid>
		<description><![CDATA[TweetHere is a technique you can apply to your browser to make your Adobe Connect room joining workflow more streamlined. If you work at Adobe, you use Connect on a regular basis. After a while, and in the face of &#8230; <a href="http://craigrandall.net/archives/2011/10/adobe-connect-bookmarklet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1600" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FqVZOZy&amp;via=craigsmusings&amp;text=Adobe%20Connect%20bookmarklet&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F10%2Fadobe-connect-bookmarklet%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Here is a technique you can apply to your browser to make your Adobe Connect room joining workflow more streamlined.</p>
<p>If you work at Adobe, you use <a title="Adobe Connect" href="http://www.adobe.com/products/adobeconnect.html" target="_blank">Connect</a> on a regular basis. After a while, and in the face of shortened URLs (and everything else), you start to just think in terms of frequented room names.</p>
<p>If this sounds like you, you can simply your Connect room joining experience as follows:<br />
<code><br />
javascript:q=window.getSelection();<br />
if(q==""){q=prompt('Please%20enter%20the%20name%20of%20<br />
the%20Adobe%20Connect%20room%20you%20wish%20to%20join:')};<br />
if(q)location.href='http://my.adobeconnect.com/'+escape(q);<br />
</code></p>
<p>This code is simply the logic inside a bookmarklet that you can drag and drop into most modern browsers. That is, you can drag the following link into the links bar of your browser: <a href="javascript:Qr=document.getSelection();if(!Qr){void(Qr=prompt('Please%20enter%20the%20name%20of%20the%20Adobe%20Connect%20room%20you%20wish%20to%20join:',''))};if(Qr)location.href='http://my.adobeconnect.com/'+escape(Qr)"><strong>Connect</strong></a></p>
<p>Then you can click on the bookmark link to receive a dialog as follows:<br />
<img src="http://craigrandall.net/images/adobe-connect-bookmarklet-dialog.png" alt="Adobe Connect bookmarklet dialog" /></p>
<p>Please note that you may need to replace &#8220;http://my.adobeconnect.com/&#8221; with your Adobe Connect host URL.</p>
<p>(HT <a href="http://twitter.com/chrisvls" title="Chris van Loben Sels on Twitter" target="_blank">@chrisvls</a>)</p>
<p>P.S. While we&#8217;re talking about Adobe Connect productivity, I recommend that you visit the <a href="http://www.connectusers.com/downloads/" target="_blank">Adobe Connect User Community downloads page</a> for additional tools.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=r7mGSqqzyos:51hGmMZp2A0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=r7mGSqqzyos:51hGmMZp2A0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=r7mGSqqzyos:51hGmMZp2A0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=r7mGSqqzyos:51hGmMZp2A0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=r7mGSqqzyos:51hGmMZp2A0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=r7mGSqqzyos:51hGmMZp2A0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=r7mGSqqzyos:51hGmMZp2A0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/r7mGSqqzyos" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/10/adobe-connect-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/10/adobe-connect-bookmarklet/</feedburner:origLink></item>
		<item>
		<title>The Experience Architecture</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/wk66zz4ofU8/</link>
		<comments>http://craigrandall.net/archives/2011/10/the-experience-architecture/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 16:15:11 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[CX]]></category>
		<category><![CDATA[Digital Marketing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[Client Context]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[WEM]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1582</guid>
		<description><![CDATA[Tweet The Experience Architecture (MAX 2011) View more presentations from Craig Randall. In my #AdobeMAX session today, I presented a set of experience architecture principles with my colleague Marcel Boucher as follows: Modularity is critical to &#8216;better experience faster&#8217; Everything &#8230; <a href="http://craigrandall.net/archives/2011/10/the-experience-architecture/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1582" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FrnlpHZ&amp;via=craigsmusings&amp;text=The%20Experience%20Architecture&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F10%2Fthe-experience-architecture%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><iframe title="AdobeTV Video Player" width="480" height="296" src="http://tv.adobe.com/embed/802/11245/" frameborder="0" allowfullscreen scrolling="no"></iframe></p>
<div style="width:425px" id="__ss_9533832"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/the-experience-architecture-max-2011" title="The Experience Architecture (MAX 2011)">The Experience Architecture (MAX 2011)</a></strong><object id="__sse9533832" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=theexperiencearchitecturemax2011-111004001304-phpapp01&#038;stripped_title=the-experience-architecture-max-2011&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse9533832" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=theexperiencearchitecturemax2011-111004001304-phpapp01&#038;stripped_title=the-experience-architecture-max-2011&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>In my <a href="http://search.twitter.com/search?q=%23AdobeMAX" title="Adobe MAX 2011">#AdobeMAX</a> session today, I presented a set of <em>experience architecture</em> principles with my colleague <a href="http://twitter.com/marcelboucher" title="@marcelboucher">Marcel Boucher</a> as follows:</p>
<ul>
<li><a href="http://craigrandall.net/archives/2011/07/modularity-in-adep/" title="Modularity is critical to industrialize differentiated experience">Modularity is critical to &#8216;better experience faster&#8217;</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/everything-is-content/" title="Everything is content">Everything is content (and content is managed in a repository)</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/context-is-king/" title="Context is king">Context is king</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/" title="Cloud first, mobile first, social first">Cloud first, mobile first, social first</a></li>
</ul>
<p>I&#8217;ve gone into greater detail about these principles in a technical white paper that is available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Enterprise Developer Center" target="_blank">Adobe Enterprise Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform: Architectural principles and choices" target="_blank">PDF download</a>.</p>
<p>During our session, Marcel presented two demonstrations:</p>
<ol>
<li>The first demonstration featured an overall <strong>vision</strong> for customer experience in the retail banking domain. If you weren&#8217;t able to catch this demo live, you can see it presented <a href="http://www.finovate.com/spring11vid/adobe.html" title="Adobe retail banking solution demonstration" target="_blank">here</a> during the FinovateSpring 2011 event. </li>
<li>Marcel&#8217;s second demonstration provided more of the <strong>how</strong> behind the vision in terms of Adobe&#8217;s integration across its <a href="http://www.adobe.com/solutions/customer-experience/web-experience-management.html" target="_blank">Web Experience Management (WEM) solution</a>, <a href="http://www.omniture.com/en/products/analytics/sitecatalyst" target="_blank">SiteCatalyst</a> and <a href="http://www.omniture.com/en/products/conversion/test-and-target" target="_blank">Test&#038;Target</a>. A video similar to Marcel&#8217;s demonstration of this integration is available <a href="http://www.day.com/day/en/products/targeting_optimization.html" target="_blank">here</a>.</li>
</ol>
<p>MAX is always a great event, and the enterprise team at Adobe is looking forward to sharing more with you about Digital Marketing at our upcoming summit in March 2012.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=wk66zz4ofU8:a5JC-cflrP4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=wk66zz4ofU8:a5JC-cflrP4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=wk66zz4ofU8:a5JC-cflrP4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=wk66zz4ofU8:a5JC-cflrP4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=wk66zz4ofU8:a5JC-cflrP4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=wk66zz4ofU8:a5JC-cflrP4:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=wk66zz4ofU8:a5JC-cflrP4:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/wk66zz4ofU8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/10/the-experience-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/10/the-experience-architecture/</feedburner:origLink></item>
		<item>
		<title>Cloud first, mobile first, social first</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/kWvWYao3sYY/</link>
		<comments>http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 15:53:03 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[WEM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1545</guid>
		<description><![CDATA[TweetThe Adobe® Digital Enterprise Platform (ADEP) Experience Server supports WAN clustering (important in high latency situations and given distributed infrastructure), hot cluster join (allowing you to expand infrastructure on the fly), and runs in a very small memory and CPU &#8230; <a href="http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1545" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpDO153&amp;via=craigsmusings&amp;text=Cloud%20first%2C%20mobile%20first%2C%20social%20first&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Fcloud-1st-mobile-1st-social-1st%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>The <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a> (ADEP) Experience Server supports WAN clustering (important in high latency situations and given distributed infrastructure), hot cluster join (allowing you to expand infrastructure on the fly), and runs in a very small memory and CPU footprint. This makes the Experience Server suitable for deployment in the cloud, whether actual deployments are done there or on premise.[1]</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/mobile-explosion.png" title="Click image to enlarge: Explosion of mobile devices"><img src="http://craigrandall.net/adep/thumbs/mobile-explosion.png" alt="Explosion of mobile devices" /></a></p>
<p>In pursuing interaction patterns, ADEP starts its approach with mobile devices (particularly tablets) and then expands to consider other environments. ADEP can detect over 17,000 devices,[2] enabling content contributors to understand exactly what experience will be delivered to segmented content consumers via device emulation support. ADEP presents the concept of device groups to reduce the complexity and managing the diverse range of never-ending devices and device types.</p>
<p align="center"><img src="http://craigrandall.net/adep/social.png" alt="Direct service of one may indicate subsequent service to others" /></p>
<p>Today&#8217;s customer increasingly leverages social activities to gain validation of their decisions and to share them with others. ADEP supports a range of social capabilities including support for local communities and the ability to glean information from public communities (Facebook, Twitter, etc.) and use that information to tailor the customer experience. Social capabilities in the platform are much like the public social environment: they surround everything we do and are available for use at any time for any purpose.</p>
<p>With ADEP:</p>
<ul>
<li>You build applications for the cloud with on premise in mind,</li>
<li>You build applications for mobile with desktop in mind, and </li>
<li>You understand that every user is a contributor and has a social graph.</li>
</ul>
<p>This post wraps up the current series on <a href="http://craigrandall.net/archives/2011/07/adep-architecture-principles/" title="Adobe® Digital Enterprise Platform architecture principles">ADEP architecture principles</a>. Now that we have a shared frame of reference, we&#8217;ll return to <a href="http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/" title="XOA >> UX Components >> Client Component Framework >>&#8221;>the previous track</a> concerning customer experience from an application development point of view. Next: Composite Application Framework.</p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<p>Footnotes:<br />
[1] i.e. ADEP Experience Server is &#8220;cloud ready&#8221;<br />
[2] Adobe&#8217;s Customer Experience Solution for Web Experience Management (previously known as CQ5), leverages the <a href="http://wurfl.sourceforge.net/" title="an XML configuration file plus a set of programming APIs to access the data in real-time environments" target="_blank">WURFL device description repository</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=kWvWYao3sYY:ujrjlIclL58:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kWvWYao3sYY:ujrjlIclL58:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kWvWYao3sYY:ujrjlIclL58:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kWvWYao3sYY:ujrjlIclL58:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kWvWYao3sYY:ujrjlIclL58:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kWvWYao3sYY:ujrjlIclL58:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kWvWYao3sYY:ujrjlIclL58:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/kWvWYao3sYY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/</feedburner:origLink></item>
		<item>
		<title>Context is king</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/oSMdBZZlas8/</link>
		<comments>http://craigrandall.net/archives/2011/07/context-is-king/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 14:34:42 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Client Context]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[WEM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1543</guid>
		<description><![CDATA[TweetGiven the previous principle, you may be surprised to read that context, not content, is king in the Adobe® Digital Enterprise Platform. Actually it&#8217;s more like a king and his kingdom. Great content is critical to customer experience, and customers &#8230; <a href="http://craigrandall.net/archives/2011/07/context-is-king/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1543" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fn3AJmh&amp;via=craigsmusings&amp;text=Context%20is%20king&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Fcontext-is-king%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Given the <a href="http://craigrandall.net/archives/2011/07/everything-is-content/" title="Everything is content">previous principle</a>, you may be surprised to read that context, not content, is king in the <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a>. Actually it&#8217;s more like a king and his kingdom. Great content is critical to customer experience, and customers experience content <em>in context</em>.</p>
<p>At the center of Adobe&#8217;s technology for customizing and optimizing user experience is something called the Context Cloud.[1]</p>
<p>Adobe&#8217;s approach to building CEM solutions aims to empower and delight customers by (among other means) giving Web visitors exactly the information they need, in the right form, at the right time. Doing this reliably and in real-time can be a challenge. It requires software that can aggregate relevant user information from a variety of sources so as to drive intelligent provisioning of content on a page according to predetermined strategies.</p>
<p>Adobe&#8217;s Customer Experience Solution for Web Experience Management rises to this challenge with a patent-pending technology called the Context Cloud. The Context Cloud represents a dynamically assembled collection of user data that can be used to determine exactly what content should be shown, for example, on a given Web page in a given situation. </p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/context-cloud.png" title="Click image to enlarge: Envisioning Context Cloud extension for social"><img src="http://craigrandall.net/adep/thumbs/context-cloud.png" alt="Envisioning Context Cloud extension for social" /></a></p>
<p>Several things make Adobe&#8217;s implementation of the Context Cloud unique:</p>
<ol>
<li>Much of the information (such as info about the user&#8217;s viewing environment) is derived on the fly in real-time; it is not persisted anywhere.</li>
<li>Marketers can experiment with different user-data values to see changes to a page in real-time (e.g. to try different campaign strategies before going live).</li>
<li>The Context Cloud is <em>extensible</em>. You can add a new (custom) session-store object whose contents can fully participate in campaign &#8220;what if&#8221; scenarios.[2]</li>
<li>Non-volatile information shown in the Context Cloud viewer is persisted on the <em>client side</em> (in a cookie), relieving the server of having to maintain (and then transport back and forth) large amounts of user data.</li>
</ol>
<p>Because user info is persisted on the client, concerns over privacy and control of potentially sensitive user data are easily allayed: The user has ultimate control over the data.</p>
<p>Credit: Thanks to <a href="http://asserttrue.blogspot.com/" title="Kas Thomas, ADEP Technology Evangelist, Adobe" target="_blank">Kas Thomas</a> for his work in describing Context Cloud. </p>
<p>Next: <a href="http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/" title="Cloud first, mobile first, social first">cloud first, mobile first, social first</a></p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<p>Footnotes:<br />
[1] Previously in Day Software, Context Cloud was referred to as <a href="http://dev.day.com/content/docs/en/cq/current/administering/clickstream_cloud.html" target="_blank">Clickstream Cloud</a>.<br />
[2] When Adobe CQ5.4 released in February 2011, it demonstrated this extensibility via <a href="http://www.day.com/day/en/products/targeting_optimization.html" title="Targeted and personalized experiences" target="_blank">its integration with Omniture</a>. CQ5 is now known as the Customer Experience Solution for Web Experience Management.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=oSMdBZZlas8:RrfDvA0vsM0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=oSMdBZZlas8:RrfDvA0vsM0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=oSMdBZZlas8:RrfDvA0vsM0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=oSMdBZZlas8:RrfDvA0vsM0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=oSMdBZZlas8:RrfDvA0vsM0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=oSMdBZZlas8:RrfDvA0vsM0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=oSMdBZZlas8:RrfDvA0vsM0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/oSMdBZZlas8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/context-is-king/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/context-is-king/</feedburner:origLink></item>
		<item>
		<title>Everything is content</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/Kiq68htd2pc/</link>
		<comments>http://craigrandall.net/archives/2011/07/everything-is-content/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 20:32:18 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[WEM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1539</guid>
		<description><![CDATA[TweetIn the Adobe® Digital Enterprise Platform (ADEP), everything is content, and content resides in a repository. There are no loose files somewhere else to manage. Source code, dynamic modules, configuration and even the state of an application reside side by &#8230; <a href="http://craigrandall.net/archives/2011/07/everything-is-content/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1539" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fq0xMEE&amp;via=craigsmusings&amp;text=Everything%20is%20content&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Feverything-is-content%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>In the <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a> (ADEP), everything is content, and content resides in a repository. There are no loose files somewhere else to manage. Source code, dynamic modules, configuration and even the state of an application reside side by side with marketing collateral, digital assets such as images, audio and video, etc. The content repository recognizes that &#8220;meta&#8221; is in the eye of the beholder.[1] Consequently, there is no justification to treat content (i.e. the file stream) and metadata differently.</p>
<p align="center"><img src="http://craigrandall.net/adep/adep-experience-server-resource-first-request-processing.png" alt="Resource-first request processing in the ADEP Experience Server" /></p>
<p>Since the content repository consistently manages this diversity, the rich set of content services above the repository is uniformly available. For example, the resource-first request processing of the ADEP Experience Server[2] is equally available to traditional content such as Web pages and to applications such as a product configurator. By managing to a wide definition of content, ADEP can reduce the amount of code and effort required to deliver a solution.</p>
<p>Since ADEP provides a virtual content repository that easily connects with existing content silos in an enterprise, &#8220;everything is content&#8221; also means that any existing content is free to participate in serving customer experience (e.g. via marketing campaigns, customer communication, etc.).</p>
<p>Next: <a href="http://craigrandall.net/archives/2011/07/context-is-king/" title="Context is king">context is king</a>.</p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<p>Footnotes:<br />
[1] Content management systems that treat files in a differentiated, somehow more valuable, manner miss the reality that often the metadata around the file has the real business value.<br />
[2] At the core of the ADEP Experience Server is CRX technology that Adobe acquired from Day Software. More on the ADEP Experience Server in a future post.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=Kiq68htd2pc:GGVrmP03B6M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Kiq68htd2pc:GGVrmP03B6M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Kiq68htd2pc:GGVrmP03B6M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Kiq68htd2pc:GGVrmP03B6M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Kiq68htd2pc:GGVrmP03B6M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Kiq68htd2pc:GGVrmP03B6M:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Kiq68htd2pc:GGVrmP03B6M:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/Kiq68htd2pc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/everything-is-content/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/everything-is-content/</feedburner:origLink></item>
		<item>
		<title>Modularity is critical to industrialize differentiated experience</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/0ltSQlv1hb4/</link>
		<comments>http://craigrandall.net/archives/2011/07/modularity-in-adep/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 14:33:54 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[WEM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1529</guid>
		<description><![CDATA[TweetModularity is perhaps the most essential architecture principle applied across the Adobe® Digital Enterprise Platform (ADEP). Modularization in ADEP enables you to manage the complexity of your CEM solutions by separating them into independent components and other concerns that can &#8230; <a href="http://craigrandall.net/archives/2011/07/modularity-in-adep/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1529" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FnoVHEm&amp;via=craigsmusings&amp;text=Modularity%20is%20critical%20to%20industrialize%20differentiated%20experience&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Fmodularity-in-adep%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><em>Modularity</em> is perhaps the most essential architecture principle applied across the <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a> (ADEP). Modularization in ADEP enables you to manage the complexity of your CEM solutions by separating them into independent components and other concerns that can be worked on by different development teams and tested in isolation. When deployed, these solutions consume minimal footprint that is associated with specific workload requirements (i.e. resource usage is kept to what is essential for delivering business value).</p>
<p align="center"><img src="http://craigrandall.net/images/modularity.jpg" alt="Modularity" /></p>
<p>The very nature of differentiated customer experience is modular&#8211;my experience today should differ from my experience tomorrow, from my experience yesterday and from what another customer may experience. ADEP anticipates, is tuned for and can accelerate composition and reuse. In an enterprise context, supporting such modularity means that you can draw upon the breadth of assets (content, applications, documents, processes, services) available, including those from Adobe, Adobe&#8217;s partners, systems integrators, agencies and other teams within your enterprise. These assets can be brought to bear on business problems in a manner that can be partitioned and rolled out incrementally with minimal disruption (e.g. hot deployment[1]).</p>
<p>Modularity in ADEP is a form of separation of concerns that provides both logical and physical encapsulation of classes. Modularity is desirable because it allows you to break applications into logically independent pieces that can be independently changed and reasoned about. Modularity enables division of labor across a solution, and it promotes abstraction, reuse and ease of maintenance and repair.</p>
<p>As a consequence of embracing modularity as a core architecture principle, software modules in ADEP are self-contained (local wholes), highly cohesive (fulfill single purposes) and loosely coupled (well-isolated from other modules).</p>
<p>To support all three properties, it is vital for modules to have a well-defined interface for interaction with other modules. A stable interface enforces logical boundaries between modules and prevents access to internal implementation details. Ideally, the interface should be defined in terms of what each module offers to other modules, and what each module requires from other modules.</p>
<p>Modularity is driven across the ADEP architecture via the following principles:</p>
<ul>
<li>Interface-based programming[2]</li>
<li>Externalization of cross-cutting concerns (aspect-oriented programming[3])</li>
<li>Late binding of implementation instances to interfaces (dependency injection;[4] extensibility)</li>
</ul>
<p>Next: <a href="http://craigrandall.net/archives/2011/07/everything-is-content/" title="Everything is content">everything is content</a>.</p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<p>Footnotes:<br />
[1] i.e. a provision of dynamic modularity in an OSGi-based system like ADEP<br />
[2] Please consider <a href="http://pragprog.com/book/kpiod/interface-oriented-design" title="Ken Pugh, Interface Oriented Design (Dallas: Pragmatic Bookshelf, 2006)" target="_blank">Interface Oriented Design</a> for a more detailed discussion of interface-based programming.<br />
[3] Please consider <a href="http://www.manning.com/laddad2/" title="Ramnivas Laddad, AspectJ in Action: Enterprise AOP with Spring Applications, Second Edition (Greenwich: Manning, 2009)" target="_blank">AspectJ in Action: Enterprise AOP with Spring Applications, Second Edition</a> for a more detailed discussion of aspect-oriented programming (AOP).<br />
[4] Please consider <a href="http://www.manning.com/prasanna/" title="Dhanji Prasanna, Dependency Injection: Design patterns using Spring and Guice (Greenwich: Manning, 2009)" target="_blank">Dependency Injection: Design patterns using Spring and Guice</a> for a more detailed discussion of dependency injection (DI).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=0ltSQlv1hb4:lmkWXaBtVLo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0ltSQlv1hb4:lmkWXaBtVLo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0ltSQlv1hb4:lmkWXaBtVLo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0ltSQlv1hb4:lmkWXaBtVLo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0ltSQlv1hb4:lmkWXaBtVLo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0ltSQlv1hb4:lmkWXaBtVLo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0ltSQlv1hb4:lmkWXaBtVLo:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/0ltSQlv1hb4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/modularity-in-adep/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/modularity-in-adep/</feedburner:origLink></item>
		<item>
		<title>Adobe® Digital Enterprise Platform architecture principles</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/KxL7RL8Z9N0/</link>
		<comments>http://craigrandall.net/archives/2011/07/adep-architecture-principles/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 05:23:53 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1524</guid>
		<description><![CDATA[TweetArchitecture is the result of a collective set of design choices, and these choices are informed by principles. It occurred to me that before I continue much further with my current series on &#8220;content + apps&#8221;&#8211;a design pillar in Adobe&#8217;s &#8230; <a href="http://craigrandall.net/archives/2011/07/adep-architecture-principles/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1524" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fqr16nN&amp;via=craigsmusings&amp;text=Adobe%C2%AE%20Digital%20Enterprise%20Platform%20architecture%20principles&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Fadep-architecture-principles%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Architecture is the result of a collective set of design choices, and these choices are informed by principles.</p>
<p>It occurred to me that before I continue much further with my current series on &#8220;content + apps&#8221;&#8211;a design pillar in Adobe&#8217;s enterprise software platform for Customer Experience Management&#8211;it would be good to share the architectural principles of the <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a> (ADEP). Talking first about ADEP architectural aspirations will hopefully clarify their realization (i.e. architecture implementation choices in ADEP).</p>
<p align="center"><img src="http://craigrandall.net/adep/adep-banner.png" alt="ADEP banner" /></p>
<p>In summary, here are the principles:</p>
<ul>
<li><a href="http://craigrandall.net/archives/2011/07/modularity-in-adep/" title="Modularity is critical to industrialize differentiated experience">Modularity is critical to industrialize differentiated experience</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/everything-is-content/" title="Everything is content">Everything is content</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/context-is-king/" title="Context is king">Context is king</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/" title="Cloud first, mobile first, social first">Cloud first, mobile first, social first</a></li>
</ul>
<p>Next, we&#8217;ll examine <a href="http://craigrandall.net/archives/2011/07/modularity-in-adep/" title="Modularity is critical to industrialize differentiated experience">the importance of modularity to ADEP</a>.</p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=KxL7RL8Z9N0:WVDpYWDHVPo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=KxL7RL8Z9N0:WVDpYWDHVPo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=KxL7RL8Z9N0:WVDpYWDHVPo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=KxL7RL8Z9N0:WVDpYWDHVPo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=KxL7RL8Z9N0:WVDpYWDHVPo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=KxL7RL8Z9N0:WVDpYWDHVPo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=KxL7RL8Z9N0:WVDpYWDHVPo:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/KxL7RL8Z9N0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/adep-architecture-principles/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/adep-architecture-principles/</feedburner:origLink></item>
		<item>
		<title>What is the Client Component Framework?</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/W6GoKERqKNE/</link>
		<comments>http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 01:47:35 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[CCF]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[gravity]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1500</guid>
		<description><![CDATA[TweetRelated series of posts about Adobe® Digital Enterprise Platform (ADEP): What is XOA? What is a UX Component? This post Awhile ago, Stacy Young broke the news of an internal-to-Adobe framework for RIA development, inspired by OSGi and Spring and &#8230; <a href="http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1500" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FnUlhku&amp;via=craigsmusings&amp;text=What%20is%20the%20Client%20Component%20Framework%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Fwhat-is-the-client-component-framework%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Related series of posts about <strong><a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a></strong> (ADEP):</p>
<ol>
<li><a title="What is XOA?" href="http://craigrandall.net/archives/2011/06/what-is-xoa/">What is XOA?</a></li>
<li><a title="What is a UX Component?" href="http://craigrandall.net/archives/2011/06/what-is-a-ux-component/">What is a UX Component?</a></li>
<li>This post <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ol>
<p>Awhile ago, Stacy Young <a href="http://stacyyoung.org/2009/10/02/gravity-exciting-new-technology-coming-to-adobe-labs/" title="Codename Gravity: Exciting new technology coming to Adobe Labs" target="_blank">broke the news</a> of an internal-to-Adobe framework for RIA development, inspired by OSGi and Spring and targeting the Flash Platform, called &#8220;Gravity.&#8221;</p>
<p>If you&#8217;re a Java developer, you probably already now about <a href="http://www.osgi.org/About/WhatIsOSGi" title="What is OSGi?" target="_blank">OSGi</a> and <a href="http://www.springsource.org/about" title="About Spring (core framework)" target="_blank">Spring</a>, de facto standard implementations of modularity and dependency injection (among other things), respectively. Both are leveraged within the <strong>Adobe® Digital Enterprise Platform</strong> (ADEP).</p>
<p>Although &#8220;Gravity&#8221; never did make it to Adobe Labs, work on the framework never ceased. In fact, work on &#8220;Gravity&#8221; increased as it became clear that large-scale application development on the client (edge device) with Flash and AIR required similar modularity and dependency injection support.</p>
<p>One of the attractions of so-called Rich Internet Application[1] development is a blurred line between client and server, leveraging the full facilities of the local environment where software executes. In order to promote such blur, though, it helps to have a consistent programming model end-to-end. ADEP provides this consistency by embracing OSGi and Spring on the server-side and by offering the Client Component Framework (pka &#8220;Gravity&#8221;) on the client-side for customer experiences built on AIR or the Flash Player.</p>
<p>If you attended my session at MAX last year, &#8220;<a href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/" title="Realizing great customer experiences with LiveCycle ES3">Realizing great customer experiences with LiveCycle ES3</a>,&#8221; you may remember that I talked a fair bit about &#8220;Gravity&#8221;&#8211;now the Client Component Framework in ADEP. As you can see, marketing has since determined final product names; so, please apply the following translation when reviewing that content (i.e. slides 26-47 in particular):</p>
<ul>
<li>Gravity &#8211; now <em>Client Component Framework</em></li>
<li>Mosaic &#8211; now <em>Composite Application Framework</em></li>
<li>LiveCycle RIA Server &#8211; now ADEP <em>Experience Server</em></li>
<li>LiveCycle ES (user management integration) &#8211; now ADEP <em>Document Server</em></li>
<li>LiveCycle ES3 Solution Application &#8211; now <em>Customer Experience Solutio</em>n (powered by ADEP)</li>
<li>Field Force Automation &#8211; now the Adobe <em>Unified Workspace</em> Customer Experience Solution</li>
</ul>
<p>Shortly after MAX 2010, <a href="http://stacyyoung.org/2010/12/06/gravity-public-release-in-summer-of-2011/" title="Gravity: Public release in summer of 2011" target="_blank">Stacy reiterated</a> that a public release of &#8220;Gravity&#8221; was approaching.</p>
<p>As has been the case for the past few months, you can <strong>play with the Client Component Framework now</strong>. To do so, please <a href="https://prerelease.adobe.com/callout/default.html?callid=948840B78061416C9150B2C6F2AD6647" title="ADEP Pre-release Program" target="_blank">join the pre-release program for the Adobe® Digital Enterprise Platform</a> (ADEP). (Don&#8217;t worry if the initial screen says something about <em>LiveCycle ES3</em>; you will subsequently see reference to ADEP.) Once you do sign-up, please <strong>post your feedback</strong> on this technology (and the rest of the platform) to the pre-release forums. Thanks! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Although it&#8217;s just now becoming a public, supported API in its own right, the Client Component Framework in ADEP has been used in production for awhile now. LiveCycle Mosaic 9.5 (part of LiveCycle ES2.5) leverages Gravity internally for managing composite RIA components (i.e. <em>tiles</em>).</p>
<p align="center"><img src="http://craigrandall.net/adep/ccf's-place-in-flash-platform.jpg" alt="Where does the Client Component Framework fit within the Flash Platform?" /></p>
<p>As shown in the above figure, the Client Component Framework operates above the Flash Player and below the Flex SDK&#8211;much like the <a href="http://www.adobe.com/devnet/tlf.html" title="TLF on Adobe DevNet" target="_blank">Text Layout Framework</a>. That is, the framework operates independent of the Flex SDK and supports a mixed-SDK-version runtime environment. This is especially important for large enterprise project that may need to reuse components from other vendors that don&#8217;t all leverage the very latest (or same) Flex SDK.</p>
<p>Additional points of value in the framework include the following:</p>
<ul>
<li>It enables you to choose what parts of your solution to upgrade and when.</li>
<li>Newer versions of a component that may leverage a newer Flex SDK can co-exist with older versions of the same components based on an older SDK.</li>
<li>Since components using the Client Component Framework communicate via a service registry, not each other, you can apply versioning and other policies as you would expect of a service-oriented architecture.</li>
<li>Components using the Client Component Framework are intrinsically loosely-coupled, which improves their changeability, comprehensibility and testability.</li>
</ul>
<p>Having introduced the Client Component Framework, next we&#8217;ll talk about the Composite Application Framework, which leverages the subject of today&#8217;s post. Cheers!</p>
<p>[1] Aren&#8217;t most apps RIAs these days?</p>
<p>Update 7/26/2011: Instead of moving on to the Composite Application Framework, I thought it best to address <a href="http://craigrandall.net/archives/2011/07/adep-architecture-principles/" title="Adobe® Digital Enterprise Platform architecture principles">ADEP architecture principles</a> first with a set of posts.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=W6GoKERqKNE:Dpdiv-gGhl0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=W6GoKERqKNE:Dpdiv-gGhl0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=W6GoKERqKNE:Dpdiv-gGhl0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=W6GoKERqKNE:Dpdiv-gGhl0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=W6GoKERqKNE:Dpdiv-gGhl0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=W6GoKERqKNE:Dpdiv-gGhl0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=W6GoKERqKNE:Dpdiv-gGhl0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/W6GoKERqKNE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/</feedburner:origLink></item>
		<item>
		<title>What is a UX Component?</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/Pjs8QMuYw2U/</link>
		<comments>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 20:16:17 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1480</guid>
		<description><![CDATA[TweetPreviously, I offered some thoughts in response to &#8220;What is XOA?&#8221; To recap, experience-oriented architecture indicates an approach to solution design that is about the customer in, not the underlying systems out. I mentioned the concept of experience components in &#8230; <a href="http://craigrandall.net/archives/2011/06/what-is-a-ux-component/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1480" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fj7X8Jh&amp;via=craigsmusings&amp;text=What%20is%20a%20UX%20Component%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F06%2Fwhat-is-a-ux-component%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Previously, I offered some thoughts in response to &#8220;<a href="http://craigrandall.net/archives/2011/06/what-is-xoa/">What is XOA?</a>&#8221; To recap, <em>experience-oriented architecture</em> indicates an approach to solution design that is about the customer in, not the underlying systems out. I mentioned the concept of <em>experience components</em> in the <strong><a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a></strong> (ADEP) as a concrete expression of XOA for Flex developers, noting that XOA is, in fact, technology agnostic.</p>
<p>Now, let&#8217;s talk in more detail about <em>UX Components</em>.</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-makeup.png" title="Click image to enlarge: UX Component makeup"><img src="http://craigrandall.net/adep/thumbs/ux-component-makeup.jpg" alt="UX Component makeup" /></a></p>
<p>Adobe CEM applications use a component model that is oriented toward reuse across a spectrum of applications. At one end of the spectrum we have static applications where individual components are statically linked into an application. At the other end of the spectrum, individual components are placed in a catalog on a server and dynamically injected into an application at runtime. We call these &#8220;experience components&#8221;&#8211;<em>UX Components</em>.</p>
<p>Technically speaking, a UX Component is a combination of MXML and ActionScript classes that is bundled into SWC files that separate concerns and encapsulate each concern behind an interface. Interfaces make the implementation of concerns (i.e. presentation, domain, etc.) replaceable and extensible.</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-decomposition.png" title="Click image to enlarge: Technical decomposition of a UX Component"><img src="http://craigrandall.net/adep/thumbs/ux-component-decomposition.jpg" alt="Technical decomposition of a UX Component" /></a></p>
<p>The fact that a UX Component is well-composed behind a set of interfaces, allows you to focus on the concrete implementation of familiar coding <em>patterns</em> productively.</p>
<p>For example, let&#8217;s assume that the domain model and service integration specified by Adobe for a UX Component is well-suited for your use case, but in order to differentiate your customer experience, you need to implement a custom user interface. By leveraging UX Components in ADEP, you simply focus your attention on implementing a custom view and presentation model that will leverage everything as-is:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-comp-pattern-custom-view.png" title="Click image to enlarge: UX Component pattern: custom view and presentation model"><img src="http://craigrandall.net/adep/thumbs/ux-comp-pattern-custom-view.jpg" alt="UX Component pattern: custom view and presentation model" /></a></p>
<p>Another common requirement involves integrating existing systems into new customer experiences. Depending on your use case, you may be satisfied with a UX Component as provided by Adobe. So, you need only focus on implementing a custom façade to ensure that customer interaction with your experience is integrated with your existing infrastructure:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-comp-pattern-custom-facade.png" title="Click image to enlarge: UX Component pattern: custom application façade"><img src="http://craigrandall.net/adep/thumbs/ux-comp-pattern-custom-facade.jpg" alt="UX Component pattern: custom application façade" /></a></p>
<p>Here is an example of a UX Component:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-look1.png" title="Click image to enlarge: Example UX Component"><img src="http://craigrandall.net/adep/thumbs/ux-component-look1.jpg" alt="Example UX Component" /></a></p>
<p>At the top is a logo component and a navigation bar. The left column has a calendar, and the right column has resources finder and a document viewer. Each of these components are very generic displays of information. For instance, the project calendar is a graphical list of items, actually a tree of items that is rolled up into a Gantt chart. Each of these items has a start date, finish date, phases, a current state shown in color and descriptions.</p>
<p>A UX Component is completely independent of its data source. Simply by injecting a data source at runtime and providing a different skin, a different application experience can be delivered:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-look2.png" title="Click image to enlarge: Previous UX Component with new look and feel"><img src="http://craigrandall.net/adep/thumbs/ux-component-look2.jpg" alt="Previous UX Component with new look and feel" /></a></p>
<p>Here is the same calendar UX component, with a new skin and a new data source. This shows a charcoal theme, and the data is a product development plan rather than a marketing plan. The renderer for each of the items now shows the phases of the project as colors in the bar.</p>
<p>By creating a well thought out UX Component, where concerns are inheritable, skins are replaceable, and services are injectable, <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">ADEP</a> enables you to achieve a high level of reuse while providing both richness and consistency in the experience.</p>
<p><a href="http://craigrandall.net/archives/tag/adep/" title="Posts tagged for Adobe® Digital Enterprise Platform">More on ADEP</a>&#8216;s Composite Application Framework (pka Mosaic) and Client Component Framework (pka Gravity) in future posts&#8230;</p>
<p>Update 7/6/2011: &#8220;<a href="http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/">What is the Client Component Framework?</a>&#8220;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=Pjs8QMuYw2U:x91WsRts7CM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Pjs8QMuYw2U:x91WsRts7CM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Pjs8QMuYw2U:x91WsRts7CM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Pjs8QMuYw2U:x91WsRts7CM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Pjs8QMuYw2U:x91WsRts7CM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Pjs8QMuYw2U:x91WsRts7CM:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Pjs8QMuYw2U:x91WsRts7CM:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/Pjs8QMuYw2U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/</feedburner:origLink></item>
		<item>
		<title>What is XOA?</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/XHC-i1TViJw/</link>
		<comments>http://craigrandall.net/archives/2011/06/what-is-xoa/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 04:45:21 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CX]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[XD]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1471</guid>
		<description><![CDATA[TweetXOA stands for experience-oriented architecture. XOA was first coined by Adobe&#8217;s Steven Webster &#8220;to very specifically mean applying design thinking to evolving an architecture stack, and more recently, to talk about instrumenting an experience in order that it can be &#8230; <a href="http://craigrandall.net/archives/2011/06/what-is-xoa/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1471" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FoTMJXm&amp;via=craigsmusings&amp;text=What%20is%20XOA%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F06%2Fwhat-is-xoa%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>XOA stands for <em>experience-oriented architecture</em>. XOA was first coined by Adobe&#8217;s <a href="http://blogs.adobe.com/swebster/?s=xoa&#038;x=0&#038;y=0" title="XOA-related posts on Steven's blog" target="_blank">Steven Webster</a> &#8220;to very specifically mean applying design thinking to evolving an architecture stack, and more recently, to talk about instrumenting an experience in order that it can be measured and monitored as delivering against intended KPIs.&#8221; It is therefore incorrect to reduce XOA down to component development. At its heart, XOA embodies best practices for RIA development, whether in the browser or on the desktop.</p>
<p>In the (<a href="http://eon.businesswire.com/news/eon/20110619005124/en" title="Adobe Launches New Digital Enterprise Platform for Customer Experience Management" target="_blank">just-announced</a>) <strong>Adobe® Digital Enterprise Platform</strong>, XOA manifests its RIA best practices via layers (concerns) as follows:</p>
<ul>
<li>Presentation – view rendering</li>
<li>Domain – client-side computations, abstraction of server calls, etc.</li>
<li>Infrastructure – server communication</li>
</ul>
<p>XOA is an architectural approach and is not bound to a particular technology (e.g. applies to Flex, HTML5, native mobile, etc.). XOA is certainly not meant to be a formal label—just like you wouldn&#8217;t expect to see &#8220;SOA&#8221; in XML, etc.</p>
<p>This layered architecture [1] provides an efficient way of segregating the code related to view rendition, client side computations, perpetual asynchronous communication, etc. Embracing such separation of concerns enables <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">ADEP</a> development projects to be easier to understand and to manage. Moreover, it helps developers with different personas to work in tandem on a component (e.g. the UI developer in concert with a business logic developer).</p>
<p>Example of applying XOA to ADEP-based Flex development: Enterprise Flex components (aka <em>UX (User Experience) Components</em>) are mostly data-driven with data synchronizing from a backend server over Remoting, Data Services, etc. With data coming from server in an asynchronous fashion and component assembling itself by computations, the complexity increases manifold since the component, apart from rendering itself also needs to construct itself. Therefore, it becomes extremely important to separate concerns before the component development turns unmanageable. However, please keep in mind that XOA is about much more than component development as noted above.</p>
<p>For example, a UX Component in ADEP is an enterprise Flex component that embodies XOA principles.</p>
<p>More on UX Components and other aspects of <a href="http://craigrandall.net/archives/tag/adep/" title="Posts tagged for Adobe® Digital Enterprise Platform">ADEP</a> in future posts&#8230;</p>
<p>Update 6/30/2011: &#8220;<a href="http://craigrandall.net/archives/2011/06/what-is-a-ux-component/">What is a UX Component?</a>&#8221;</p>
<p>[1] You may recall that I spoke about XOA during my MAX 2010 session, &#8220;<a href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/" title="Realizing great customer experiences with LiveCycle ES3">Realizing great customer experiences with LiveCycle ES3</a>.&#8221; (ADEP replaces &#8220;LiveCycle ES3.&#8221; ADEP is the new brand that incorporates aspects of LiveCycle with aspects of <a href="http://craigrandall.net/archives/2010/07/adobe-cem-day/" title="Adobe, Customer Experience Management and Day Software">the Day Software aquisition</a>.)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=XHC-i1TViJw:BJDED_qApHU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=XHC-i1TViJw:BJDED_qApHU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=XHC-i1TViJw:BJDED_qApHU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=XHC-i1TViJw:BJDED_qApHU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=XHC-i1TViJw:BJDED_qApHU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=XHC-i1TViJw:BJDED_qApHU:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=XHC-i1TViJw:BJDED_qApHU:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/XHC-i1TViJw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/06/what-is-xoa/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/06/what-is-xoa/</feedburner:origLink></item>
		<item>
		<title>U2360OAK</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/ujAEOLPoRdg/</link>
		<comments>http://craigrandall.net/archives/2011/06/u2360oak/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 19:48:34 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[concert]]></category>
		<category><![CDATA[Kravitz]]></category>
		<category><![CDATA[liveconcert]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Oakland]]></category>
		<category><![CDATA[U2]]></category>
		<category><![CDATA[U2360OAK]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1467</guid>
		<description><![CDATA[TweetEarlier this week, my wife and I finally got to see U2 in concert after purchasing tickets more than two years ago due to a mid-concert accident by Bono in 2010. I recall having a better time at the U2 &#8230; <a href="http://craigrandall.net/archives/2011/06/u2360oak/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1467" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FkR5swF&amp;via=craigsmusings&amp;text=U2360OAK&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F06%2Fu2360oak%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Earlier this week, my wife and I finally got to see U2 in concert after purchasing tickets more than two years ago due to a mid-concert accident by Bono in 2010. I recall having a better time at the U2 concert in San Jose (Vertigo tour), but it was a good time nonetheless&#8211;could have been due, in part, to enjoying good seats&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p align="center"><img src="http://craigrandall.net/images/u2360oak1.jpg" alt="Oakland (o.co) coliseum stadium, section 219, row 1, seats 11-12" /><br />
<img src="http://craigrandall.net/images/u2360oak2.jpg" alt="U2360OAK is show number 94; the attendance number was approaching 63,000 at the time of this photo" /><br />
<img src="http://craigrandall.net/images/u2360oak3.jpg" alt="U2 performing" /><br />
<img src="http://craigrandall.net/images/u2360oak4.jpg" alt="U2 performing" /><br />
<img src="http://craigrandall.net/images/u2360oak5.jpg" alt="U2 performing" /></p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/EdqIAxR6A6o?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EdqIAxR6A6o?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>This first video&#8211;all were taken with my Flip video recorder and uploaded directly to YouTube in HD&#8211;is Lenny Kravitz opening his act as the main opening band for U2 with &#8220;Come On Get It.&#8221;</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/O3zxwo0lGUw?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/O3zxwo0lGUw?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The second video is Lenny Kravitz performing &#8220;Let Love Rule.&#8221;</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/7B9RdS5gd5E?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7B9RdS5gd5E?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The third video is U2 performing &#8220;Elevation.&#8221;</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ihr27QoeYzQ?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ihr27QoeYzQ?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The third video is U2 performing &#8220;City of Blinding Lights.&#8221;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=ujAEOLPoRdg:1XMu1yZsiNk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ujAEOLPoRdg:1XMu1yZsiNk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ujAEOLPoRdg:1XMu1yZsiNk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ujAEOLPoRdg:1XMu1yZsiNk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ujAEOLPoRdg:1XMu1yZsiNk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ujAEOLPoRdg:1XMu1yZsiNk:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ujAEOLPoRdg:1XMu1yZsiNk:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/ujAEOLPoRdg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/06/u2360oak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/06/u2360oak/</feedburner:origLink></item>
		<item>
		<title>Thoughts on social software</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/YjWWIPoh2gk/</link>
		<comments>http://craigrandall.net/archives/2011/06/thoughts-on-social-software/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 16:27:27 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[contextography]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[customer experience]]></category>
		<category><![CDATA[Dealing with Darwin]]></category>
		<category><![CDATA[Geoffrey Moore]]></category>
		<category><![CDATA[impressions]]></category>
		<category><![CDATA[Social]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1460</guid>
		<description><![CDATA[TweetSocial is a popular adjective in software these days (along with cloud and mobile); so, I thought I&#8217;d capture some of how I view social in light of enterprise software and customer experience. When I think about &#8220;social software&#8221; I &#8230; <a href="http://craigrandall.net/archives/2011/06/thoughts-on-social-software/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1460" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FjQstiN&amp;via=craigsmusings&amp;text=Thoughts%20on%20social%20software&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F06%2Fthoughts-on-social-software%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><em>Social</em> is a popular adjective in software these days (along with <em>cloud</em> and <em>mobile</em>); so, I thought I&#8217;d capture some of how I view social in light of enterprise software and customer experience.</p>
<p><img src="http://craigrandall.net/images/footprint-in-sand.jpg" alt="Footprint in the sand" /></p>
<p>When I think about &#8220;social software&#8221; I think about <em>how experiences are impressionable</em> (e.g. customers can leave impressions causing other direct/indirect participants to learn/benefit/dialog/collaborate). To me, &#8220;social&#8221; means allowing users to leave impressions such that impressions are mined for context and understood in context. Software that embraces this notion of sociability becomes more context-sensitive as a whole much like a piece of UI might present or hide itself depending on context (e.g. user&#8217;s role, workflow state, etc.) or a different service is invoked depending on context (e.g. SLA).</p>
<p>To me, &#8220;social software&#8221; isn&#8217;t about simply sprinkling social artifacts into existing systems (e.g. adding tags, ranking, etc.). It&#8217;s about ensuring that software incorporates sociability into its equilibrium as presented to customers.</p>
<p>One hears &#8220;less is more&#8221; and &#8220;more is more.&#8221; I find that both can be true, and the user will ultimate indicate the truth. In the case of providing more context, a user action to exclude is social to the underlying system, if that system is built to recognize it as such. That is, being exclusive is part of being social; excluding (and including) is a form of engagement. &#8220;Social software&#8221; must promote engagement&#8211;for relationship-based business benefit.</p>
<p>Being <em>social</em> can mean being <em>friendly</em> (i.e. sensitive to past expressions of preference, a form of context, as well current inference of the task at hand in a framing goal). A context-sensitive platform should go beyond just facilitating &#8220;one degree of friendliness.&#8221; It should anticipate the implications of deeper&#8230;collaboration. When a compelling experience and frictionless interaction is delivered to one, it can become a beacon for many subsequent experiences and interactions. So, how can this downstream effect be understood up front? How should context-sensitivity adjust, pivot, etc. to optimally understand this potential (reality)? &#8220;Social software&#8221; get this at its <a href="http://craigrandall.net/archives/2006/01/get-out-of-context/" "Core, not context, as per Dealing with Darwin by Geoffrey Moore">core</a>.</p>
<p>Social is about collaboration&#8211;with purpose. To understand/infer purpose requires being sensitive to <em>context</em>.[1]</p>
<p>My definition of being social is as follows: a software system that allows any user to leave an impression, expecting that the system will recognize it, understand it and subsequently bring it to bear on the resulting experience, across space and time (i.e. same customer and/or different customer(s), immediately and/or in the future). This is just one of the traits we&#8217;re building into our enterprise platform at Adobe.</p>
<p>[1] For more on context, you may want to check out what my colleague <a href="http://twitter.com/bitpakkit" title="@bitpakkit" target="_blank">Ben Watson</a> <a href="http://blogs.adobe.com/imho/2011/05/contextography.html" title="An introduction to 'contextography'" target="_blank">has started</a> over at <a href="http://contextography.com" target="_blank">Contextography.com</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=YjWWIPoh2gk:v80sW-VL-3M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=YjWWIPoh2gk:v80sW-VL-3M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=YjWWIPoh2gk:v80sW-VL-3M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=YjWWIPoh2gk:v80sW-VL-3M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=YjWWIPoh2gk:v80sW-VL-3M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=YjWWIPoh2gk:v80sW-VL-3M:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=YjWWIPoh2gk:v80sW-VL-3M:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/YjWWIPoh2gk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/06/thoughts-on-social-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/06/thoughts-on-social-software/</feedburner:origLink></item>
		<item>
		<title>Person availability sparkline for Outlook meeting requests</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/WPURRLI71o0/</link>
		<comments>http://craigrandall.net/archives/2011/02/outlook-sparkline-idea/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 06:28:24 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[sparklines]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1455</guid>
		<description><![CDATA[TweetDear Outlook team: As I was riding home on the train today talking with my fellow riders, an idea for a practical feature in an upcoming Outlook release developed. Since time is precious, and I&#8217;m focused on other pursuits, I &#8230; <a href="http://craigrandall.net/archives/2011/02/outlook-sparkline-idea/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1455" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FmWO2KT&amp;via=craigsmusings&amp;text=Person%20availability%20sparkline%20for%20Outlook%20meeting%20requests&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F02%2Foutlook-sparkline-idea%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Dear Outlook team:</p>
<p>As I was riding home on the train today talking with my fellow riders, an idea for a practical feature in an upcoming Outlook release developed. Since time is precious, and I&#8217;m focused on other pursuits, I wanted to place this idea into the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons</a> for your consideration.</p>
<p>At least the passengers of the train car I typically occupy find it all too common to receive meeting requests in Outlook that clearly conflict with existing appointments already scheduled. It&#8217;s as if the person who called the meeting just added names (reading off a script) without even bothering to click into the Scheduling Assistant UI.</p>
<p><img src="http://craigrandall.net/images/outlook-mtg-request.png" alt="Default Outlook 2010 Meeting Request UI" /></p>
<p>This is unfortunate since that UI does a fairly good job of actually assisting the caller of a meeting with the scheduling process.</p>
<p><img src="http://craigrandall.net/images/sched-assist.png" alt="Outlook 2010 Meeting Request Scheduling Assistant" /></p>
<p>However, it&#8217;s hard to teach a drone how to find pollen; so, I think there is an opportunity to bring more assistance into the default Appointment UI.</p>
<p><a title="Edward Tufte: ''data-intense, design-simple, word-sized graphics" href="http://en.wikipedia.org/wiki/Sparkline" target="_blank">Sparklines</a>.</p>
<p>Here&#8217;s the essential idea: as attendees (or resources) are entered into a meeting request, dynamically shade the background of each name according to availability as follows:</p>
<ul>
<li>Green &#8211; potential attendee is completely available</li>
<li>Yellow &#8211; potential attendee has a tentative conflict (i.e. a complet or partial conflict)</li>
<li>Red &#8211; potential attendee has already committed to attend another meeting</li>
</ul>
<p>Changes to the date/time of the meeting should trigger event handlers that reflect any change in availability shading.</p>
<p>Additionally, you could also provide another, central visual cue for the overall meeting (e.g. a green highlight effect around the current Send button to indicate that there are presently no scheduling conflicts known to the system).</p>
<p>Frankly, I think it&#8217;s fair to question a person calling a meeting who doesn&#8217;t bother to confirm attendee availability. However, we are talking about drones not worker bees. So, for those of us who receive such meeting requests all too frequently, please consider this idea for a future release of Outlook. (If you have implementation questions, you can always reach out to your <a title="Excel 2010: Sparklines" href="http://blogs.office.com/b/microsoft-excel/archive/2009/07/17/sparklines-in-excel.aspx" target="_blank">Excel</a> colleagues. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>Thanks for your consideration.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=WPURRLI71o0:mKXkGh5fNKY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WPURRLI71o0:mKXkGh5fNKY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WPURRLI71o0:mKXkGh5fNKY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WPURRLI71o0:mKXkGh5fNKY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WPURRLI71o0:mKXkGh5fNKY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WPURRLI71o0:mKXkGh5fNKY:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WPURRLI71o0:mKXkGh5fNKY:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/WPURRLI71o0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/02/outlook-sparkline-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/02/outlook-sparkline-idea/</feedburner:origLink></item>
		<item>
		<title>Program or Be Programmed</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/gBQjfaG9Q04/</link>
		<comments>http://craigrandall.net/archives/2011/01/program-or-be-programmed/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 19:17:54 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Non-fiction]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[choice]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[contemplation]]></category>
		<category><![CDATA[fact]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[openness]]></category>
		<category><![CDATA[place]]></category>
		<category><![CDATA[purpose]]></category>
		<category><![CDATA[Rushkoff]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1447</guid>
		<description><![CDATA[TweetThe industrial age challenged us to rethink the limits of the human body: Where does my body end and the tool begin? The digital age challenges us to rethink the limits of the human mind: What are the boundaries of &#8230; <a href="http://craigrandall.net/archives/2011/01/program-or-be-programmed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1447" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fhc9vh3&amp;via=craigsmusings&amp;text=Program%20or%20Be%20Programmed&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F01%2Fprogram-or-be-programmed%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><blockquote><p>The industrial age challenged us to rethink the limits of the human body: Where does my body end and the tool begin? The digital age challenges us to rethink the limits of the human mind: What are the boundaries of my cognition?</p></blockquote>
<p>It&#8217;s <a title="i.e. dismissing evidence-based reality by ridicule"href="http://www.facingthechallenge.org/rushkoff.php" target="_blank">tragically ironic</a> that the tagline for <a title="Program or Be Programmed: Ten Commands for a Digital Age" href="http://www.orbooks.com/our-books/program/" target="_blank">Douglas Rushkoff&#8217;s book</a> incorporates an Old Testament reference to <em>the</em> Ten Commandments, since Rushkoff writes in his introduction that the Jewish race has, since the time of Moses, merely promoted an &#8220;enduring myth&#8221; where the contents of those stone tablets is concerned.</p>
<p>Regardless, Rushkoff&#8217;s perspective is fascinating and worth some contemplation:</p>
<ul>
<li>Are we just learning to <em>use</em> programs or are we learning to <em>make</em> programs?</li>
<li>Do we favor the distracted over the focused, the automatic over the considered, and the contrary over the compassionate? Why?</li>
<li>Do we merely grant our kids access to the capabilities given to them by others, or do we empower them to determine the value-creating capabilities of these technologies for themselves?</li>
<li>Do we pursue new abilities, or do we fetishize new toys?</li>
<li>Are we optimizing our machines for humanity, or are we optimizing humans for machinery?</li>
<li>Do we think and behave differently when operating different technology as we do given different settings?</li>
<li><strong>Are we allowing computers and networks to discourage our more complex processes</strong>&#8211;our higher order cognition, contemplation, innovation, and meaning making&#8211;in addition to copying our intellectual processes (i.e. our repeatable programs)?</li>
</ul>
<p>&#8230;and these are questions that arise after reading just the introductory chapter&#8230;</p>
<p>Apparently Rushkoff&#8217;s book grew from a short talk he has given on the subject, and there is substantial commentary to wade into just on the talk alone. [1][2]</p>
<p>Contemplation. Something that can all to easily become sacrificed on the altar of busyness. Something to fight for, protect and prize. Warmly embracing <em>why</em>.</p>
<p><strong>Here&#8217;s to a 2011 that is <em>more focused, considered and compassionate</em>!</strong></p>
<p>[1] <a href="http://rushkoff.com/2010/03/25/program-or-be-programmed/" target="_blank">http://rushkoff.com/2010/03/25/program-or-be-programmed/</a><br />
[2] <a href="http://rushkoff.com/2010/03/25/program-or-be-programmed/" target="_blank">http://boingboing.net/2010/03/30/rushkoff-program-or.html</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=gBQjfaG9Q04:PpciB8nWGZw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=gBQjfaG9Q04:PpciB8nWGZw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=gBQjfaG9Q04:PpciB8nWGZw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=gBQjfaG9Q04:PpciB8nWGZw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=gBQjfaG9Q04:PpciB8nWGZw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=gBQjfaG9Q04:PpciB8nWGZw:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=gBQjfaG9Q04:PpciB8nWGZw:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/gBQjfaG9Q04" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/01/program-or-be-programmed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2011/01/program-or-be-programmed/</feedburner:origLink></item>
		<item>
		<title>Day community now a part of Adobe Enterprise Café</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/0n6x7iJbe_s/</link>
		<comments>http://craigrandall.net/archives/2010/12/day-in-cafe/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 16:20:01 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[Cafe]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[Enterprise Cafe]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[Omniture]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1433</guid>
		<description><![CDATA[TweetA little over a month ago, I encouraged my readers&#8211;many new from the Day Software (now Adobe) community via the Ignite conference in Berlin&#8211;to download and leverage Adobe Enterprise Café. &#8230;the Café is hard at work to integrate the Day &#8230; <a href="http://craigrandall.net/archives/2010/12/day-in-cafe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1433" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FhdBZtJ&amp;via=craigsmusings&amp;text=Day%20community%20now%20a%20part%20of%20Adobe%20Enterprise%20Caf%C3%A9&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F12%2Fday-in-cafe%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>A little over a month ago, I encouraged my readers&#8211;many new from the Day Software (now Adobe) community via the Ignite conference in Berlin&#8211;to <a title="When content meets apps, Berlin edition" href="http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/">download and leverage Adobe Enterprise Café</a>.</p>
<blockquote><p>&#8230;the Café is hard at work to integrate the Day community as well. However, you don&#8217;t need to wait for that new version of Café; you can install Café today and when the Day community is integrated, you&#8217;ll receive that update the next time you launch the Adobe AIR application.</p></blockquote>
<p>Hopefully you&#8217;re already receiving value from Café. If you held out for the Day community integration with Café, that day has arrived.</p>
<p>Presenting <strong>Adobe Enterprise Café 1.6</strong>!</p>
<p align="center"><iframe width="224" height="200" frameborder=0 scrolling="no" src="http://cafe.host.adobe.com/download/"></iframe></p>
<p>Update 7/29/2011: Now that the Adobe® Digital Enterprise Platform (ADEP) has been announced, I recommend that you upgrade to <strong>Adobe Enterprise Café 1.8</strong>, which features a new ADEP community that is the combination of the previous LiveCycle and Day Communities.</p>
<p align="center"><img src="http://craigrandall.net/adep/adep-in-cafe.png" alt="Adobe® Digital Enterprise Platform community within Adobe Enterprise Café (since v1.8)" /></p>
<p>For technical insights on ADEP, please follow the <a href="http://craigrandall.net/archives/categories/adobe/adep/" title="Craig's blog posts categorized under Adobe® Digital Enterprise Platform (ADEP)">ADEP category</a> and/or <a href="http://craigrandall.net/archives/tag/adep/" title="Craig's blog posts tagged for Adobe® Digital Enterprise Platform (ADEP)">ADEP tag</a> herein. Thanks.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=0n6x7iJbe_s:wMrW8F0E4xc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0n6x7iJbe_s:wMrW8F0E4xc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0n6x7iJbe_s:wMrW8F0E4xc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0n6x7iJbe_s:wMrW8F0E4xc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0n6x7iJbe_s:wMrW8F0E4xc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=0n6x7iJbe_s:wMrW8F0E4xc:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=0n6x7iJbe_s:wMrW8F0E4xc:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/0n6x7iJbe_s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/12/day-in-cafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/12/day-in-cafe/</feedburner:origLink></item>
		<item>
		<title>(Re)Balancing atoms and bits</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/kVB0tEULSvc/</link>
		<comments>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 17:54:44 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[Instapaper]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[winnowing]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1413</guid>
		<description><![CDATA[TweetSeveral years ago, I blogged about how I winnowed atom-based content at that time. When I consider my increasingly digital life now, I smile at how out-dated that post seems. Maybe some day I&#8217;ll let go of my hardcopy altogether &#8230; <a href="http://craigrandall.net/archives/2010/11/re-atoms-and-bits/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1413" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FfXK2A6&amp;via=craigsmusings&amp;text=%28Re%29Balancing%20atoms%20and%20bits&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F11%2Fre-atoms-and-bits%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Several years ago, I blogged about <a title="Winnowing content" href="http://craigrandall.net/archives/2004/01/winnowing-content/">how I winnowed atom-based content at that time</a>. When I consider my increasingly digital life now, I smile at how out-dated that post seems. </p>
<blockquote><p>Maybe some day I&#8217;ll let go of my hardcopy altogether and go 100% digital.</p></blockquote>
<p>Almost two years after my winnowing (paper-based) content post, I <a title="Personal content management evolution" href="http://craigrandall.net/archives/2005/10/personal-cm-evolution/">briefly waxed sentimental about personal content management</a>. Judging by that post&#8217;s imagery, I&#8217;m not sure how much &#8220;evolution&#8221; had actually occurred. I do know that the binders of paper were eventually tosed outright, but even a quick glance at my current technical library at home tells me that I have far from reached any &#8220;evolved&#8221; state.</p>
<p>As a visual person, I tend to value what I can see and tangibly interact with. Books present a particular challenge to me. A good book, in hard cover format especially, is immediately available to give to someone else as a loan or a gift (e.g. from one generation to the next). The same book in electronic format is more subject to the winds of technology (e.g. will there be a reader for this format? what all is required to actually <strong>read</strong> the book in terms of supporting hardware and software? etc.). On the other hand, if I took the time to bookmark or otherwise annotate paper, this could distract subsequent reading by others&#8211;electronic metadata should be more distinctly layered and separable from original content.</p>
<p>Given the choice between hunter or gatherer in a shopping context, I&#8217;m definitely a <em>hunter</em>. Put me in the middle of a men&#8217;s department or clothing store and I&#8217;ll happily panoramically scan the selection, deciding in mere seconds whether there is something for me (to <del datetime="2010-11-27T07:09:30+00:00">kill</del>purchase), or not. (Thankfully, my wife is my primary wardrobe consultant; so, my hunter instincts are necessarily balanced and muted. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) However, as much as I may be a hunter over clothes, I am a serious <em>gatherer</em> of books and music. Places like Barnes &#038; Noble and Borders <em>love</em> guys like me.</p>
<p>So, you might think that my struggle over books (i.e. physical or digital) is a struggle I have with music, too. Perhaps, but I think that my music-as-content evolution is a bit more &#8220;advanced&#8221; and, therefore, may be informative.</p>
<p>Although I still buy physical CDs more than digital downloads, all of my music is immediately rendered in digital format and almost entirely consumed digitally thereafter. Going &#8220;essentially digital&#8221; has enabled me to take full advantage of classification software (e.g. <a href="http://musicbrainz.org/" target="_blank">MusicBrainz</a>, <a href="http://www.freedb.org/" target="_blank">freedb</a>, etc.), playback software (e.g. Apple iTunes, Microsoft Zune, etc.), recommendation engines like <a title="Pandora rocks!" href="http://craigrandall.net/archives/2005/08/pandora-rocks/">Pandora</a>, etc. and also various playback hardware (e.g. an Apple iDevice, laptop, PC, etc.). If I read the liner notes for an album, I do so once (typically after unwrapping the CD). From then on, interaction with music is based on bits rather than atoms (the occasional CD play through my high fidelity entertainment system notwithstanding).</p>
<p>Perhaps with the advent of <a href="http://www.theatlantic.com/technology/print/2010/11/the-undesigned-web/65458/" target="_blank">The Undesigned Web</a>, software like <a href="http://www.instapaper.com" target="_blank">Instapaper</a>, and hardware like iPad, etc., my interaction with reading material will tip to become predominantly digital. Certainly, as I use the <a href="http://www.instapaper.com/extras" target="_blank">Read Later</a> feature of Instapaper, I find it to be a digital equivalent to my paper-based content winnowing approach from years ago. (Tapping into familiar workstreams is always an effective catalyst to change my behavior.)</p>
<blockquote><p>&#8230;if I did go digital my office would be too Spartan.</p></blockquote>
<p>Actually, I think another contributing factor to my attempt at balancing the gathering of atoms with gathering bits instead is the fact that there is limited physical space to house either. Today, it&#8217;s not really a concern over becoming Spartan, it&#8217;s about using limited wall and desktop space to display physical items of the greatest value (e.g. family photos, art, sculpture, etc.).</p>
<p>Just like I&#8217;m able to visualize the &#8220;height&#8221; (or &#8220;depth&#8221;) of, say, my iPod (i.e. the number of digitized albums stored in terms of a stack of CD cases), I&#8217;m beginning to visualize my iPad in a similar manner (i.e. in terms of the stack of print magazines and books available electronically instead). Virtually speaking, such devices &#8220;fill a room.&#8221; </p>
<p>Who knows, I may just have to invest in <a title="DIY Book Scanners Turn Your Books Into Bytes" href="http://www.wired.com/gadgetlab/2009/12/diy-book-scanner/" target="_blank">my own book scanner</a> to help free up some shelf space&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=kVB0tEULSvc:KQba0vGr0x0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kVB0tEULSvc:KQba0vGr0x0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kVB0tEULSvc:KQba0vGr0x0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kVB0tEULSvc:KQba0vGr0x0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kVB0tEULSvc:KQba0vGr0x0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=kVB0tEULSvc:KQba0vGr0x0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=kVB0tEULSvc:KQba0vGr0x0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/kVB0tEULSvc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/</feedburner:origLink></item>
		<item>
		<title>When content meets apps, Berlin edition</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/IRfVN1tiFks/</link>
		<comments>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:22:52 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Enterprise Cafe]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1402</guid>
		<description><![CDATA[TweetThanks to everyone at Day Ignite Berlin 2010 who came to the technical track session that I presented this afternoon. In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows: When Content Meets Applications View more presentations &#8230; <a href="http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1402" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FdjSnwP&amp;via=craigsmusings&amp;text=When%20content%20meets%20apps%2C%20Berlin%20edition&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F11%2Fwhen-content-meets-apps-berlin-edition%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Day Ignite Berlin 2010 who came to the technical track session that I presented this afternoon. In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5658958"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/when-content-meets-applications-5658958" title="When Content Meets Applications">When Content Meets Applications</a></strong><object id="__sse5658958" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=when-content-meets-applicationsber-101103145350-phpapp02&#038;stripped_title=when-content-meets-applications-5658958&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5658958" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=when-content-meets-applicationsber-101103145350-phpapp02&#038;stripped_title=when-content-meets-applications-5658958&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>During this presentation I recommended that you consume my &#8220;Realizing great customer experiences with LiveCycle ES3&#8243; presentation from Adobe MAX 2010, if you&#8217;re interested in more details about the architecture and capabilities of LiveCycle ES3. You will find that presentation <a href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
<p>I also asked you to consider downloading and installing <a href="http://www.adobe.com/devnet/enterprise/cafe.html" target="_blank">Adobe Enterprise Café</a>. Café, as we like to call it in Adobe, helps you stay in touch with the enterprise community, receive news, find information and aggregate content related to Adobe LiveCycle ES (Enterprise Suite), Acrobat, Connect, ColdFusion, the Adobe Flash Platform, and (since its v1.5 release) the Omniture community. Targeted at the general developer ecosystem, Café is the one tool you need to search across the entire community knowledge base and stay in touch with the Adobe teams. Furthermore, the Café is hard at work to integrate the Day community as well. However, you don&#8217;t need to wait for that new version of Café; you can install Café today and when the Day community is integrated, you&#8217;ll receive that update the next time you launch the Adobe AIR application.</p>
<p align="center"><iframe width="224" height="200" frameborder=0 scrolling="no" src="http://cafe.host.adobe.com/download/"></iframe></p>
<p>When I presented this session with Alex Choy in Chicago, <a title="@irina_guseva" href="http://twitter.com/irina_guseva/" target="_blank">Irina Guseva</a> of CMS Wire published her thoughts on the session: &#8220;<a href="http://www.cmswire.com/cms/web-engagement/apps-as-content-or-how-day-and-adobe-may-fit-together-008905.php" target="_blank">Apps as Content, or How Day and Adobe May Fit Together</a>.&#8221;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=IRfVN1tiFks:6iXwmoxBhbU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=IRfVN1tiFks:6iXwmoxBhbU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=IRfVN1tiFks:6iXwmoxBhbU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=IRfVN1tiFks:6iXwmoxBhbU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=IRfVN1tiFks:6iXwmoxBhbU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=IRfVN1tiFks:6iXwmoxBhbU:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=IRfVN1tiFks:6iXwmoxBhbU:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/IRfVN1tiFks" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/</feedburner:origLink></item>
		<item>
		<title>Adobe, Day and open development</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/aNm7ybVgEJU/</link>
		<comments>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 20:37:13 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Conway's Law]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[open community]]></category>
		<category><![CDATA[open development]]></category>
		<category><![CDATA[the Apache way]]></category>
		<category><![CDATA[WCM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1395</guid>
		<description><![CDATA[TweetThanks to everyone at Adobe MAX 2010 who came to the session that David Nuescheler, Roy Fielding and I presented. If you weren&#8217;t able to attend our session, it&#8217;s provided below. Roy kicked off the discussion by talking about open &#8230; <a href="http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1395" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FaYN4zU&amp;via=craigsmusings&amp;text=Adobe%2C%20Day%20and%20open%20development&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Fadobe-day-and-open-development%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Adobe MAX 2010 who came to the session that <a title="@davidnuescheler" href="http://twitter.com/davidnuescheler" target="_blank">David Nuescheler</a>, <a title="@fielding" href="http://twitter.com/fielding" target="_blank">Roy Fielding</a> and I presented. If you weren&#8217;t able to attend our session, it&#8217;s provided below.</p>
<p>Roy kicked off the discussion by talking about open development and how open development is critical to architecture. David followed Roy by showing how open development principles have been powerfully applied at Day to its products like CQ5, providing live demonstrations to our audience. I wrapped up this discussion by relating WCM and Day content infrastructure (e.g. Sling and CRX) to Adobe&#8217;s CEM platform and specifically to LiveCycle RIA. (For more detail on LiveCycle RIA and other aspects of the LiveCycle ES3 release, which is currently under development, please see <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">my previous post</a>.)</p>
<p>In order to keep the conversation going, I’ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5611687"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/strengthening-adobes-enterprise-platform-with-day-software-and-open-development" title="Strengthening Adobe’s Enterprise Platform with Day Software and Open Development">Strengthening Adobe’s Enterprise Platform with Day Software and Open Development</a></strong><object id="__sse5611687" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=strengthening-adobes-enterprise-platform-with-day-software-and-open-development-101029150356-phpapp01&#038;stripped_title=strengthening-adobes-enterprise-platform-with-day-software-and-open-development&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5611687" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=strengthening-adobes-enterprise-platform-with-day-software-and-open-development-101029150356-phpapp01&#038;stripped_title=strengthening-adobes-enterprise-platform-with-day-software-and-open-development&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>, <a href="http://www.slideshare.net/uncled">David Nuescheler</a> and <a href="http://www.slideshare.net/royfielding">Roy Fielding</a>.</div>
</div>
<p>Update 11/5/2010: You can now <a title="Strengthening Adobe’s Enterprise Platform with Day Software and Open Development" href="http://2010.max.adobe.com/online/2010/MAX289_1288043052218KODZ" target="_blank">watch and listen to this MAX session online</a> (i.e. in synchronized fashion).</p>
<p>Update 12/3/2010: <a title="@jayankandathil" href="http://twitter.com/jayankandathil" target="_blank">Jayan</a> has done a nice job of rounding up LiveCycle-flavored MAX sessions, including this one, <a title="MAX 2010 Sessions With a LiveCycle Flavor" href="http://blogs.adobe.com/livecycle/2010/12/max-2010-sessions-with-a-livecycle-flavor.html" target="_blank">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=aNm7ybVgEJU:uuFlCmyEn34:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=aNm7ybVgEJU:uuFlCmyEn34:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=aNm7ybVgEJU:uuFlCmyEn34:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=aNm7ybVgEJU:uuFlCmyEn34:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=aNm7ybVgEJU:uuFlCmyEn34:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=aNm7ybVgEJU:uuFlCmyEn34:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=aNm7ybVgEJU:uuFlCmyEn34:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/aNm7ybVgEJU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/</feedburner:origLink></item>
		<item>
		<title>Realizing great customer experiences with LiveCycle ES3</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/7sbsSyL28qM/</link>
		<comments>http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 20:47:08 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CX]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[es3]]></category>
		<category><![CDATA[gravity]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[XD]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1381</guid>
		<description><![CDATA[TweetThanks to everyone at Adobe MAX 2010 who came to the sessions that I presented. I enjoyed the interactivity during after after the presentations, especially listening to your thoughts on how Adobe CEM will enable you to realize your own &#8230; <a href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1381" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FbuzlaB&amp;via=craigsmusings&amp;text=Realizing%20great%20customer%20experiences%20with%20LiveCycle%20ES3&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Frealizing-great-customer-experiences-with-livecycle-es3%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Adobe MAX 2010 who came to the sessions that I presented. I enjoyed the interactivity during after after the presentations, especially listening to your thoughts on how Adobe CEM will enable you to realize your own customer experience vision as well as the growing expectations of your prospects, consumers, customers and clients.</p>
<p>In order to keep the conversation going, I’ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5586245"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/realizing-great-customer-experiences-with-adobe-livecycle-es3" title="Realizing Great Customer Experiences with Adobe® LiveCycle® ES3">Realizing Great Customer Experiences with Adobe® LiveCycle® ES3</a></strong><object id="__sse5586245" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=realizing-great-customer-experiences-with-livecycle-es3-101027152845-phpapp02&#038;stripped_title=realizing-great-customer-experiences-with-adobe-livecycle-es3&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5586245" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=realizing-great-customer-experiences-with-livecycle-es3-101027152845-phpapp02&#038;stripped_title=realizing-great-customer-experiences-with-adobe-livecycle-es3&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p><a href="http://craigrandall.net/files/Realizing-Great-Customer-Experiences-with-LiveCycle-ES3.mp3" class="wpaudio">Realizing Great Customer Experiences with Adobe® LiveCycle® ES3 &#8211; Craig Randall</a></p>
<p>Whether you were able to attend MAX or not, I encourage you to check out <a href="http://tv.adobe.com/channel/max/max-2010/" target="_blank">MAX 2010 on Adobe TV</a> (e.g. <a title="MAX 2010 keynotes on Adobe TV" href="http://tv.adobe.com/show/max-2010-keynotes/" target="_blank">here are the keynotes</a>). Please also visit the <a href="http://2010.max.adobe.com/sessions/catalog/" target="_blank">MAX 2010 session catalog</a> to browse all sessions and download presentations of interest.</p>
<p>Update 11/5/2010: You can now <a title="Realizing Great Customer Experiences with Adobe® LiveCycle® ES3" href="http://2010.max.adobe.com/online/2010/MAX241_1288038435750ILBH" target="_blank">watch and listen to this MAX session online</a> (i.e. in synchronized fashion). It appears that the good folks at MAX decided to post the slides and recording that corresponded to my first delivery (on Monday during MAX). While that session went well, I did receive some feedback that I incorporated into a revised deck that was also recorded (on Wednesday during MAX). Personally, I liked the latter content and delivery better than the first, and that is what is provided here in this blog post, above.</p>
<p>Update 12/3/2010: <a title="@jayankandathil" href="http://twitter.com/jayankandathil" target="_blank">Jayan</a> has done a nice job of rounding up LiveCycle-flavored MAX sessions, including this one, <a title="MAX 2010 Sessions With a LiveCycle Flavor" href="http://blogs.adobe.com/livecycle/2010/12/max-2010-sessions-with-a-livecycle-flavor.html" target="_blank">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=7sbsSyL28qM:bIg9mzq6b-s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7sbsSyL28qM:bIg9mzq6b-s:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7sbsSyL28qM:bIg9mzq6b-s:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7sbsSyL28qM:bIg9mzq6b-s:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7sbsSyL28qM:bIg9mzq6b-s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7sbsSyL28qM:bIg9mzq6b-s:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7sbsSyL28qM:bIg9mzq6b-s:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/7sbsSyL28qM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>

		<feedburner:origLink>http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/craigrandall/~5/OnVRberKI7M/Realizing-Great-Customer-Experiences-with-LiveCycle-ES3.mp3" length="12123238" type="audio/mpeg" /><feedburner:origEnclosureLink>http://craigrandall.net/files/Realizing-Great-Customer-Experiences-with-LiveCycle-ES3.mp3</feedburner:origEnclosureLink></item>
		<item>
		<title>Allison ignited</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/y0AGfapg0O4/</link>
		<comments>http://craigrandall.net/archives/2010/10/allison-ignited/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 18:53:16 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[chicago]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[houseofblues]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[liveconcert]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1366</guid>
		<description><![CDATA[TweetThe closing event for Day Ignite Chicago 2010 was a real treat: a private concert by the Bernard Allison Group at House of Blues® Chicago. The band, left to right: Jose James (sax, backing vocals, percussion) Bernard Allison (guitar, vocals, &#8230; <a href="http://craigrandall.net/archives/2010/10/allison-ignited/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1366" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FrrDsiR&amp;via=craigsmusings&amp;text=Allison%20ignited&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Fallison-ignited%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>The closing event for <a href="http://www.day.com/ignite/chicago.html" target="_blank">Day Ignite Chicago 2010</a> was a real treat: a private concert by the <a href="http://www.bernardallison.com/" target="_blank">Bernard Allison Group</a> at <a href="http://www.houseofblues.com/venues/clubvenues/chicago/" target="_blank">House of Blues® Chicago</a>.</p>
<p align="center"><img src="http://craigrandall.net/images/101014-Bernard-Allison-Group-HoB-Chicago.jpg" alt="Bernard Allison Group at House of Blues® Chicago on 10/14/2010" /></p>
<p>The band, left to right:</p>
<ul>
<li>Jose James (sax, backing vocals, percussion)</li>
<li>Bernard Allison (guitar, vocals, keyboards)</li>
<li>Erick Ballard (drums)</li>
<li>George Moye (bass guitar)</li>
<li>Toby Marshall (keyboards)</li>
</ul>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/7XGAzmFTR44?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7XGAzmFTR44?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>This first video&#8211;all were taken with my iPhone and uploaded directly to YouTube; so, the quality isn&#8217;t the best&#8211;is the group opening without Bernard, playing the first track off their latest album <a href="http://itunes.apple.com/us/album/the-otherside/id343395776" target="_blank">The Otherside</a>: &#8220;Send It In&#8221; (2:42).</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/47wZOTqQ5kE?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/47wZOTqQ5kE?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The second video above is &#8220;The Otherside&#8221;&#8211;track #5 off their latest album of the same name (6:01). At the beginning of the video, Bernard introduces the band.</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rkNLLjSfmBg?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/rkNLLjSfmBg?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The third video above is the group going Hendrix, playing the Jimi Hendrix classic, &#8220;Fire&#8221;&#8211;also the 11th track on <em>The Otherside</em>. Around the 5:57 mark, Bernard introduces Erick Ballard for a substantial drum solo that earned him the evening nickname of &#8220;The Energizer Bunny&#8221; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (12:34).</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/XdUs2P6eRYA?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/XdUs2P6eRYA?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The fourth video above is a two-song medley that highlights various band members (8:39).</p>
<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/exYObHMHolM?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/exYObHMHolM?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The fifth video above is a bass solo by George Moye (4:10).</p>
<p>I recorded another video that occurred in between the fourth and fifth videos above; however, it was 15:40 in duration and YouTube doesn&#8217;t accept videos longer than 15 minutes currently.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=y0AGfapg0O4:qLSo4282Wl8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=y0AGfapg0O4:qLSo4282Wl8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=y0AGfapg0O4:qLSo4282Wl8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=y0AGfapg0O4:qLSo4282Wl8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=y0AGfapg0O4:qLSo4282Wl8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=y0AGfapg0O4:qLSo4282Wl8:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=y0AGfapg0O4:qLSo4282Wl8:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/y0AGfapg0O4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/allison-ignited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/10/allison-ignited/</feedburner:origLink></item>
		<item>
		<title>When content meets applications</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/m1VrkxQ68-o/</link>
		<comments>http://craigrandall.net/archives/2010/10/when-content-meets-apps/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 22:42:35 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1360</guid>
		<description><![CDATA[TweetThanks to everyone at Day Ignite Chicago 2010 who came to the technical track session that Alex and I presented&#8211;especially those who stood the entire time in a packed room. In order to keep the conversation going, I&#8217;ve uploaded this &#8230; <a href="http://craigrandall.net/archives/2010/10/when-content-meets-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1360" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpQZScB&amp;via=craigsmusings&amp;text=When%20content%20meets%20applications&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Fwhen-content-meets-apps%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Day Ignite Chicago 2010 who came to the technical track session that Alex and I presented&#8211;especially those who stood the entire time in a packed room.</p>
<p>In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5446976"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/when-content-meets-applications" title="When Content Meets Applications">When Content Meets Applications</a></strong><object id="__sse5446976" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whencontentmeetsapps-101014172712-phpapp01&#038;stripped_title=when-content-meets-applications&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5446976" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whencontentmeetsapps-101014172712-phpapp01&#038;stripped_title=when-content-meets-applications&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>We&#8217;re very excited at Adobe about the opportunity to work with those at Day Software as fellow colleagues. By working together with you, we believe that great things will emerge from the <em>unified delivery of content plus applications</em>.</p>
<p>P.S. If you&#8217;re not already watching the <a title="Results for #dayignite on Twitter" href="http://twitter.com/#search/%23dayignite" target="_blank">#dayignite</a> tweetstream, why not? <img src='http://craigrandall.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Update 10/18/2010: <a title="@irina_guseva" href="http://twitter.com/irina_guseva/" target="_blank">Irina Guseva</a> published her thoughts on this presentation on CMS Wire: &#8220;<a href="http://www.cmswire.com/cms/web-engagement/apps-as-content-or-how-day-and-adobe-may-fit-together-008905.php" target="_blank">Apps as Content, or How Day and Adobe May Fit Together</a>.&#8221;</p>
<p>Update 10/22/2010: Presentations from Day Ignite Chicago 2010 are appearing <a title="Day Ignite Chicago 2010 presentations on Slideshare" href="http://www.slideshare.net/event/day-ignite-chicago-2010/slideshows" target="_blank">here</a>. Presentations that will also be delivered during Day Ignite Berlin 2010 won&#8217;t appear on Slideshare until after both events have concluded. (That being said, you can see a thorough write-up of David Nuescheler&#8217;s presentation <a title="Sneak Peek into Day's CQ 5.4 CMS" href="http://www.cmswire.com/cms/web-engagement/sneak-peek-into-days-cq-54-cms-dayignite-008854.php" target="_blank">here</a>.) Event photos from Chicago are <a title="Day Ignite Chicago 2010 photos on Shutterfly" href="http://dayignite2010.shutterfly.com/pictures" target="_blank">here</a>.</p>
<p>Update on 10/27/2010: The message first delivered in Chicago around the <em>unified delivery of content and applications</em> was expanded upon in Los Angeles at Adobe MAX 2010, and that presentation is now available <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=m1VrkxQ68-o:O_4kQjyMQLM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=m1VrkxQ68-o:O_4kQjyMQLM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=m1VrkxQ68-o:O_4kQjyMQLM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=m1VrkxQ68-o:O_4kQjyMQLM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=m1VrkxQ68-o:O_4kQjyMQLM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=m1VrkxQ68-o:O_4kQjyMQLM:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=m1VrkxQ68-o:O_4kQjyMQLM:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/m1VrkxQ68-o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/when-content-meets-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/10/when-content-meets-apps/</feedburner:origLink></item>
		<item>
		<title>Upcoming speaking engagements</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/NhRy3VYeq4g/</link>
		<comments>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 22:54:26 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CQ]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[opendev]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1347</guid>
		<description><![CDATA[TweetConferences have always been about networking and when you have the privilege to speak at a conference it&#8217;s about engaging with your audience, listening to feedback and sharing ideas. In the next several weeks, I&#8217;ve been given the opportunity to &#8230; <a href="http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1347" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fb7gAg1&amp;via=craigsmusings&amp;text=Upcoming%20speaking%20engagements&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F09%2Fupcoming-speaking-engagements%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Conferences have always been about networking and when you have the privilege to speak at a conference it&#8217;s about engaging with your audience, listening to feedback and sharing ideas.</p>
<p>In the next several weeks, I&#8217;ve been given the opportunity to speak at two different venues: <a title="Adobe Systems Incorporated" href="http://www.adobe.com/" target="_blank">Adobe</a>&apos;s annual <a title="Adobe MAX 2010" href="http://max.adobe.com/" target="_blank">MAX conference</a> and <a href="http://www.day.com/" target="_blank">Day Software</a>&apos;s <a title="Day Ignite 2010: The Innovative Summit" href="http://www.day.com/ignite.html" target="_blank">Ignite conference</a>. This will be my first time speaking at either venue, and I&#8217;m really looking forward to the experiences.</p>
<p>So, if you&#8217;re in Chicago, Los Angeles or Berlin and want to learn more about Adobe&#8217;s focus on customer experience, I encourage you to take advantage of the following opportunities:</p>
<ol>
<li><strong>When Content Meets Applications</strong>, <a title="Day 2, Technical Track" href="http://www.day.com/ignite/chicago/speakers/tracks.html" target="_blank">October 14, 2010, Day Ignite Chicago 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Come hear how the combination of Adobe and Day will help you realize greater customer experiences through contextually agile content and applications that have been previously managed separately.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: Alex Choy, VP of Engineering and Technical Marketing, LiveCycle, &#038; Craig Randall, Principal Scientist, Adobe</li>
<li><strong>Realizing Great Customer Experiences with LiveCycle ES Next</strong>, <a title="Day 1, Develop Track" href="http://2010.max.adobe.com/schedule/by-session/realizing-great-customer-experiences-with-livecycle-es-next/f95a7457-ca6d-44fb-a515-2160de729515" target="_blank">October 25, 2010, Adobe MAX 2010</a> (repeated on 10/27/2010)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hear how focusing on user experience can improve the value of the enterprise applications you deliver. Also learn about architectural changes in the next release of Adobe LiveCycle Enterprise Suite as well as new features in servers, client runtimes, and tools that will allow you to build, deploy, and measure excellent customer experiences.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speaker: Craig Randall, Principal Scientist, Adobe</li>
<li><strong>Strengthening Adobe’s Enterprise Platform with Day Software and Open Development</strong>, <a title="Day 1, Develop Track" href="http://2010.max.adobe.com/schedule/by-session/strengthening-adobes-enterprise-platform-with-day-software-and-open-development/9ab81a0a-c0a4-4096-b994-8dd1d422eaa2" target="_blank">October 25, 2010, Adobe MAX 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Learn how the combination of Day&#8217;s leading web solutions and Adobe&#8217;s enterprise portfolio provides a unique opportunity to developers: a unified web content and application delivery platform. By introducing web content management, digital asset management, and social collaboration to Adobe’s product portfolio, the combination offers developers an impressive set of capabilities to create, manage, distribute, and monetize content while delivering the best experience possible. Learn why open development is the cornerstone of Day&#8217;s R&#038;D strategy for web content management and how it can help software development organizations design more adaptive systems and leverage the power of virtual communities.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: David Nuescheler, CTO, Day Software, Roy Fielding, Chief Scientist, Day Software, &#038; Craig Randall, Principal Scientist, Adobe</li>
<li><strong>When Content Meets Applications</strong>, <a title="Day 2, Technical Track" href="http://www.day.com/ignite/berlin/speakers/tracks.html" target="_blank">November 3, 2010, Day Ignite Berlin 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Come hear how the combination of Adobe and Day will help you realize greater customer experiences through contextually agile content and applications that have been previously managed separately.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: Alex Choy, VP of Engineering and Technical Marketing, LiveCycle &#038; Craig Randall, Principal Scientist, Adobe</li>
</ol>
<p>See you there! Otherwise, check back later for updates online. Cheers.</p>
<p>Update on 10/14/2010: The presentation for #1, above, is now available <a title="When content meets applications" href="http://craigrandall.net/archives/2010/10/when-content-meets-apps/">here</a>.</p>
<p>Update on 10/27/2010: The presentation for #2, above, is now available <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
<p>Update on 10/29/2010: The presentation for #3, above, is now available <a title="Adobe, Day and open development" href="http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/">here</a>.</p>
<p>Update on 11/3/2010: The presentation for #4, above, is now available <a title="When content meets apps, Berlin edition" href="http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=NhRy3VYeq4g:4Ky9RvS0xo0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=NhRy3VYeq4g:4Ky9RvS0xo0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=NhRy3VYeq4g:4Ky9RvS0xo0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=NhRy3VYeq4g:4Ky9RvS0xo0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=NhRy3VYeq4g:4Ky9RvS0xo0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=NhRy3VYeq4g:4Ky9RvS0xo0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=NhRy3VYeq4g:4Ky9RvS0xo0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/NhRy3VYeq4g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/</feedburner:origLink></item>
		<item>
		<title>Adobe, Customer Experience Management and Day Software</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/Q_j7Njzfa_M/</link>
		<comments>http://craigrandall.net/archives/2010/07/adobe-cem-day/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 05:00:21 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Connect]]></category>
		<category><![CDATA[CQ]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[DAM]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[JCR]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[SoCo]]></category>
		<category><![CDATA[WCM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1328</guid>
		<description><![CDATA[TweetUpdate 10/28/2010: Adobe successfully completes its acquisition of Day Software. Day will operate as a new product line within Adobe&#8217;s Digital Enterprise Solutions Business Unit, joining Acrobat, Connect and LiveCycle. Welcome to all my new teammates! Adobe has just announced &#8230; <a href="http://craigrandall.net/archives/2010/07/adobe-cem-day/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1328" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FcqDznO&amp;via=craigsmusings&amp;text=Adobe%2C%20Customer%20Experience%20Management%20and%20Day%20Software&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F07%2Fadobe-cem-day%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Update 10/28/2010: <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/201010/102910AdobeAcquiresDaySoftware.html" target="_blank">Adobe successfully completes its acquisition of Day Software</a>. Day will operate as a new product line within Adobe&#8217;s Digital Enterprise Solutions Business Unit, joining Acrobat, Connect and LiveCycle. Welcome to all my new teammates! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a title="Adobe Systems Incorporated" href="http://www.adobe.com/" target="_blank">Adobe</a> has <a title="Adobe to Acquire Day Software" href="http://www.businesswire.com/portal/site/cnnmoney/index.jsp?ndmViewId=news_view&#038;newsId=20100727007505&#038;newsLang=en&#038;ndmConfigId=1000618&#038;vnsId=33" target="_blank">just announced</a> a definitive agreement stipulating its intent to acquire <a href="http://www.day.com/" target="_blank">Day Software</a>. This acquisition will bolster Adobe&#8217;s leadership in Customer Experience Management, bringing Day&#8217;s industry-leading <a href="http://www.day.com/day/en/products/web_content_management.html" target="_blank">Web Content Management</a>, <a href="http://www.day.com/day/en/products/digital_asset_management.html" target="_blank">Digital Asset Management</a> and <a href="http://www.day.com/day/en/products/social_collaboration.html" target="_blank">Social Collaboration</a> applications, better known collectively as <em>CQ</em>, and <em>Web scale</em> content application infrastructure (<a href="http://www.day.com/day/en/products/crx.html" target="_blank">CRX</a>) together with <a title="Adobe® LiveCycle® Enterprise Suite" href="http://www.adobe.com/products/livecycle/" target="_blank">Adobe&#8217;s LiveCycle</a>, <a title="Adobe® Connect™" href="http://www.adobe.com/products/connect/" target="_blank">Connect</a> and other enterprise software offerings&#8211;not to mention <a title="Adobe® Flash® Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe&#8217;s Flash Platform</a> and <a title="Adobe Creative Suite" href="http: //www.adobe.com/products/creativesuite/" target="_blank">industry-leading tools for creative professionals</a>.</p>
<p>There is plenty to talk about in terms of how deeply aligned this acquisition is architecturally, technically and in terms of shared vision, and I plan to use this space to go into more of these details over time (e.g. synergies between <a href="http://www.day.com/day/en/products/web_content_management/targeting_optimization.html"  target="_blank">Day&#8217;s targeting and optimization</a> and <a title="Adobe® Omniture®" href="http://www.omniture.com/" target="_blank">Adobe Omniture</a>&#8216;s capabilities). However, I&#8217;m equally excited by the <em>people</em> involved here.</p>
<p>I&#8217;m looking forward to shortly being able to call folks like <a title="@davidnuescheler" href="http://twitter.com/davidnuescheler" target="_blank">David Nuescheler</a>, <a title="@kevinc2003" href="http://twitter.com/kevinc2003" target="_blank">Kevin Cochrane</a> and <a title="Roy's blog" href="http://roy.gbiv.com/untangled/" target="_blank">Roy T. Fielding</a> not just industry colleagues but fellow Adobe employees. <strong>Welcome to Adobe, Day Software!</strong></p>
<p>For more on Adobe&#8217;s approach to superior customer experience, I encourage you to subscribe to <a title="Adobe CEM blog" href="http://blogs.adobe.com/experiencedelivers/" target="_blank">experiencedelivers.com</a> and/or follow <a title="Adobe CEM on Twitter" href="http://twitter.com/adobecem" target="_blank">@AdobeCEM</a>.</p>
<p>Update 7/28/2010: The Web is all a-buzz about this acquisition, and I would say it&#8217;s with good reason. Simply put: <strong>customer experience wins and therefore customers win, which means that businesses embracing Adobe CEM increase their own profitability</strong>. </p>
<p>Since my brief post above, Adobe has posted a <a title="Adobe to Acquire Day Sofware"  href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/pdfs/201007/072810AdobetoAcquireDaySoftware.pdf" target="_blank">press release</a> and <atitle ="Adobe to Acquire Day Sofware - Frequently Asked Questions" href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/pdfs/201007/072810AdobetoAcquireDaySoftwareFAQ.pdf" target="_blank">FAQ about the acquisition. Rob Tarkoff, SVP and GM of Adobe&#8217;s Digital Enterprise Solutions Business Unit (or DESBU) has also posted his thoughts, offering some <a title="Adobe Expands Enterprise Software Portfolio with Web Content Management - Acquires Day Software" href="http://blogs.adobe.com/conversations/2010/07/adobe_expands_enterprise_softw.html" target="_blank">key takeaways to consider from this acquisition</a>.</atitle></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=Q_j7Njzfa_M:dhwCdn3RCww:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Q_j7Njzfa_M:dhwCdn3RCww:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Q_j7Njzfa_M:dhwCdn3RCww:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Q_j7Njzfa_M:dhwCdn3RCww:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Q_j7Njzfa_M:dhwCdn3RCww:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Q_j7Njzfa_M:dhwCdn3RCww:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Q_j7Njzfa_M:dhwCdn3RCww:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/Q_j7Njzfa_M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/07/adobe-cem-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/07/adobe-cem-day/</feedburner:origLink></item>
		<item>
		<title>Understanding LiveCycle ES2′s application model</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/59NFRacLtXA/</link>
		<comments>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/#comments</comments>
		<pubDate>Wed, 19 May 2010 23:15:42 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appmodel]]></category>
		<category><![CDATA[asset]]></category>
		<category><![CDATA[ES2]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[Workbench]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1289</guid>
		<description><![CDATA[TweetNote: If you&#8217;re visiting this blog from the Adobe LiveCycle Developer Center or from the Adobe LiveCycle Blog, welcome to my musings. You&#8217;re invited to tell me what you want to know about LiveCycle via a comment. Thanks in advance! &#8230; <a href="http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1289" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FaxiZP1&amp;via=craigsmusings&amp;text=Understanding%20LiveCycle%20ES2%26%238242%3Bs%20application%20model&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F05%2Flivecycle-es2-app-model%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Note: If you&#8217;re visiting this blog from the <a href="http://www.adobe.com/devnet/livecycle/" target="_blank">Adobe LiveCycle Developer Center</a> or from the <a title="New In LiveCycle ES2 - 'Applications'"href="http://blogs.adobe.com/livecycle/2010/06/new_in_livecycle_es2_-_applica.html" target="_blank">Adobe LiveCycle Blog</a>, welcome to my musings. You&#8217;re invited to tell me what you want to know about LiveCycle via a comment. Thanks in advance! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This longer-than-usual post is intended to help customers understand why the new application model exists in <a title="Adobe LiveCycle Enterprise Suite" href="http://www.adobe.com/products/livecycle/" target="_blank">LiveCycle ES2</a> and understand how to migrate LiveCycle ES assets into ES2 assets, based on business value into doing so. It is meant to complement, not reiterate, other content already published concerning the application model (e.g. the section on migration process, below, is just an example meant to whet the reader’s appetite for more detailed demonstration/conversation elsewhere).</p>
<p>So, without further ado&#8230;</p>
<p>Table of contents:</p>
<ol>
<li><a href="#intro">Introduction</a></li>
<li><a href="#principles">Application model principles</a></li>
<li><a href="#migration>Example migration to ES2 application model</a></li>
<li><a href="#conclusion">Conclusion</a></li>
<li><a href="#resources">Additional resources</a></li>
</ol>
<h3 id="intro">Introduction</h3>
<p>When Adobe LiveCycle ES2 released, major advancements and changes occurred in several areas of application development. The purpose of this white paper is to explain these advances specifically in the context of migrating existing LiveCycle assets into the new ES2 application model. However, before the migration process is described step by step, it&#8217;s important to understand the new model, why it is exists and when it should be leveraged.</p>
<p>The most notable changes to application development in LiveCycle ES2 are as follows:</p>
<ul>
<li>LiveCycle Applications</li>
<li>Versioning</li>
<li>Far and Near References</li>
</ul>
<p>All new development work in LiveCycle ES2 occurs in LiveCycle Applications.<a href="#footone">[1]</a> A new Applications view replaces the Processes and Resources views in LiveCycle Workbench ES2 as the primary view for application development. Both Processes and Resources views remain to support upgraded LiveCycle assets that have not yet been migrated to LiveCycle Applications.</p>
<p>LiveCycle Applications contain processes, forms, guides, data models, events, fragments, images, DDX files (Assembler document service), DSC&#8217;s, etc.<a href="#foottwo">[2]</a> A LiveCycle Application is a container of design-time assets. When a LiveCycle Application is deployed, services are delivered into the runtime, and at this point a particular service&#8217;s implementation becomes hidden from the consumer (e.g. there is no “File | New -> Service” that emits a service object in LiveCycle). Consumers continue to discover services via the LiveCycle Service Registry.</p>
<p>It is important to understand that from now on when you do something in Workbench the first thing you do is &#8220;File | New -> LiveCycle Application&#8221; and that the Application is the container for all your application assets.</p>
<p>A LiveCycle Application is the basis for a hardened, discrete versioning model in LiveCycle ES2. That is, application assets do not have versions of their own; they inherit the version of their parent LiveCycle Application. These version numbers are immutable, meaning that they do not change even when the application is deployed on different LiveCycle systems. In LiveCycle ES an edit/save gesture on an application assert <em>could</em> result in the creation of a new version of that asset; however, in LiveCycle ES2 such gestures will <em>not</em>&#8211;version is defined solely by the hosting application.</p>
<p>A LiveCycle Application is the context for how asset references are maintained. An asset referring to another asset in the same LiveCycle Application uses a relative <em>near reference</em>. When an asset refers to an asset in a different LiveCycle Application then it is a <em>far reference</em>. Far references are required to state LiveCycle Application name and version (e.g. repository:///Applications/NewCustomers/1.0/Loan/Forms/request.xdp).</p>
<p align="center"><img src="http://craigrandall.net/images/es2-appmodel-fig.1.png" alt="Applications, assets and references" /><br />Figure 1. Applications, Assets and References</p>
<p>In the above figure, there are two applications (i.e. App1 and App2) and a total of three application assets (i.e. A, B and C). The line between A and B represents a near reference (i.e. wholly contained by App1). The line between A and C represents a far reference (i.e. a reference that spans from one application to another application&#8211;specific version).</p>
<p>In the above figure, App1 and App2 can be versioned (i.e. 1.0, 1.1, 2.0, etc.); however, A, B and C cannot be versioned apart from their containing LiveCycle Application.</p>
<h3 id="principles">Application Model Principles</h3>
<p>So, why did LiveCycle ES2 usher in a new application model, and why should you want to upgrade to leveraging it?</p>
<p>In LiveCycle ES, there were services/processes, events, forms and Document Service Components (DSCs). Each object had distinct user interface with different semantics for how the object could be edited, locked, activated, secured, versioned and exported. Conceptual information that the user acquired while using one subsystem was not transferable to the other subsystems. One of the design goals of the LiveCycle ES2 application model was to normalize these behaviors and provide a consistent user model across the managed objects.</p>
<p>The LiveCycle ES2 application model provides hooks at strategic points in an asset’s runtime. The ability to transactionally deploy a collection of assets and the ability to intercept the runtime lookup of a named asset both represent key indirection points that can be leveraged in future versions of LiveCycle.</p>
<p>The LiveCycle ES2 application model enforces a consistent persistence model for the design-time assets. This, in turn, provides the foundation for supporting disconnected mode (offline or occasional connectivity), SCM integration and intuitive experience in Workbench (e.g. login/logout, open/save).</p>
<p>Your confidence during migration is of utmost importance. The LiveCycle ES2 application model addresses migration confidence by enabling existing investments to continue running in a &#8220;bug compatible&#8221; manner. Maintenance of existing systems can involve evolving an existing system on an as-needed basis.</p>
<p>The application model in ES2 supports two types of changes: semantic and non-semantic. Given that an application is a composition of assets, change can refer to the set of assets in the application and/or to the assets themselves—both their content and their associated metadata.</p>
<p>A non-semantic change represents an update that does not provide any new functionality over prior versions but rather represents an incremental refinement. Bug fixes and patches are good examples for a non-semantic change. A non-semantic change never requires consumers to be aware of the change. Non-semantic changes can be imposed by the producer on all of its consumers without requiring the participation of the consumer. </p>
<p>A semantic change represents an update that will introduce new capability above what is available in pre-existing versions. It is possible that a semantic change will necessitate that the consumers adjust the way that they interact with the objects. A semantic change must be explicitly requested by consumers, it is never implicitly forced upon them by the producer.</p>
<h3 id="migration">Example migration to ES2 application model</h3>
<p>So, now that you have a better understanding of a LiveCycle Application and the new application model in LiveCycle ES2, let&#8217;s walk through the process of migrating a LiveCycle ES (8.x) process to a LiveCycle ES2 (9.x) process:</p>
<ol>
<li>Deploy the LiveCycle ES LCA as LiveCycle Archives (8.x) (Compatibility mode).
<ul>
<li>The LiveCycle ES processes will run as-is on LiveCycle ES2 as LiveCycle is backward-compatible. If your goal is to simply move the running content to an ES2-based server (without taking advantage of any new capabilities) you are done.</li>
<li>If you want to leverage native ES2 functionality, you will need to follow the rest of these migration steps in order to convert the LiveCycle ES process to LiveCycle ES2 process. Converting the process will result in a service name change since the LiveCycle Application name (namespace), version, etc. become part of the service name in LiveCycle ES2.</li>
<li>Best practice: If you are adding new resources to the application the recommendation would be to do a full migration and import all assets into the new application, resetting the deployment identifiers. Mixing and matching legacy ES resources and the new ES2 application model is not recommended.</li>
</ul>
</li>
<li>In Workbench, create a new application (e.g. MyApplication).
<ul>
<li>Application name forms a namespace for assets therein.</li>
<li>You can optionally create folders within the application to specialize this namespace further.</li>
<li>For example, your development team may have particular standards for organization (e.g. based on asset type, based along functional lines, etc.).</li>
<li>In this particular migration, we&#8217;ll create a &#8220;processes&#8221; folder to receive the imported ES process assets.</li>
</ul>
</li>
<li>In Workbench, right-click on MyApplication/1.0/processes and select Import. In the dialog shown, select Process and click Next. In the next screen, select the LiveCycle ES process from its LiveCycle ES category. Click Finish.</li>
<li>The LiveCycle ES process will be added to the LiveCycle Application (i.e. MyApplication). Please note that this is a copy of the original process.
<ul>
<li>The service name of original process is the process name itself; however, the service name of the new process is ApplicationName/processes/ProcessName.</li>
<li>Assets in ES lived apart from a namespace (i.e. unqualified services at runtime). ES assets in ES2 operate in a global service namespace (implied) at runtime. Native ES2 assets operate in application-scoped namespaces.</li>
</ul>
</li>
<li>If the original LiveCycle ES process has dependencies on other LiveCycle ES sub-processes, the new LiveCycle ES2 process will also have the same dependencies (i.e. LiveCycle ES2 process depending on LiveCycle ES processes). Therefore, in order to create a self-sufficient LiveCycle ES2 LCA containing processes with the same functionality, we need to identify and reset these dependencies. That means finding each dependency, visiting it and pointing it to something new.
<ul>
<li>In order to point a dependency at something new, the desired dependency target must exist in the application.</li>
<li>Best practice: create self-contained applications.</li>
</ul>
</li>
<li>To remove dependencies from other LiveCycle ES processes, we’ll have to repeat steps #3 to #4 and import all those processes under the same LiveCycle Application (e.g. ApplicationName/processes/SubprocessName).</li>
<li>After importing all processes under the LiveCycle Application, we’ll have to edit all the processes individually in order to replace all the sub-process activity with the new processes.
<ul>
<li>Consider the following example: Process A uses process B (LiveCycle ES).
<ul>
<li>Both ES processes are imported into the LiveCycle Application, which results in processes A’ and B’ (LiveCycle ES2).</li>
<li>However, process A’ (LiveCycle ES2) still uses process B (LiveCycle ES).</li>
<li>We edit A’ and replace activity B with B’, using the same input/output parameters.</li>
</ul>
</li>
<li>This step requires manual editing of all processes using sub-processes, which is time-consuming and can be error-prone without sufficient attention to detail.</li>
</ul>
</li>
</ol>
<p>This example is simply focused on process asset migration, but, as previously noted, there are several other application asset types that may be migrated.</p>
<h3 id="conclusion">Conclusion</h3>
<p>Hopefully this paper has been helpful to your understanding of why there is a new application model in LiveCycle ES2 and how to take advantage of this capability with your LiveCycle ES investments in mind.</p>
<p>The LiveCycle team continues to work on enhancing migration support for its customers (e.g. increased automation), and it appreciates your feedback.</p>
<h3 id="resources">Additional Resources</h3>
<p>For a more detailed dive into the process of migrating LiveCycle ES applications and assets to LiveCycle ES2, please consider the following content:</p>
<ul>
<li><a href="http://livecycleapps.wordpress.com/2010/05/12/migrating-an-application-from-adobe%c2%ae-livecycle%c2%ae-es-to-es2/" target="_blank">Migrating an Application from Adobe LiveCycle ES to ES2</a> (guided demonstration by my LiveCycle colleague <a title="LiveCycle Espresso" href="http://livecycleapps.wordpress.com/ target="_blank">Seth Reilly</a>)</li>
<li><a href="http://help.adobe.com/en_US/livecycle/9.0/leverage_legacy_solutions.pdf" target="_blank">Leveraging Legacy Solutions in LiveCycle ES2</a> (document)</li>
</ul>
<h4>Footnotes</h4>
<ol>
<li>
<div id="footone"><em>LiveCycle Application</em> should not be confused with LCA, which stands for <em>LiveCycle Archive</em>. LiveCycle Archives continue to provide the ability to export an application along with its assets (i.e. variables, images, documents, etc. since ES, service endpoint configuration and security since ES Update 1, etc.). Asides: (a) legacy LCA&#8217;s are still supported in ES2 (i.e. it&#8217;s possible to create/import them), and (b) there are two kinds of native ES2 LCA&#8217;s: patch (a specifically selected set of assets) and full (one or more applications where all content from the application is involved&#8211;no need to explicitly enumerate assets).</div>
</li>
<li>
<div id="foottwo">These contained objects are called <em>assets</em> (i.e. application assets).</div>
</li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=59NFRacLtXA:5uFdNJ_BRpU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=59NFRacLtXA:5uFdNJ_BRpU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=59NFRacLtXA:5uFdNJ_BRpU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=59NFRacLtXA:5uFdNJ_BRpU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=59NFRacLtXA:5uFdNJ_BRpU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=59NFRacLtXA:5uFdNJ_BRpU:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=59NFRacLtXA:5uFdNJ_BRpU:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/59NFRacLtXA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/</feedburner:origLink></item>
		<item>
		<title>Adobe Community Action Week – RAFT</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/Ct6ri8iuY6g/</link>
		<comments>http://craigrandall.net/archives/2010/05/adobe-at-raft/#comments</comments>
		<pubDate>Sat, 15 May 2010 00:06:34 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[hoba]]></category>
		<category><![CDATA[raft]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1276</guid>
		<description><![CDATA[TweetThis week has been Adobe Community Action Week for Adobe employees globally. On Monday, I mentioned that I was looking forward to my particular action choice: RAFT. Today I had the privilege of serving local teachers with members of my &#8230; <a href="http://craigrandall.net/archives/2010/05/adobe-at-raft/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1276" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FoOxmYx&amp;via=craigsmusings&amp;text=Adobe%20Community%20Action%20Week%20%26%238211%3B%20RAFT&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F05%2Fadobe-at-raft%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>This week has been Adobe Community Action Week for Adobe employees globally. On Monday, <a href="http://twitter.com/craigsmusings/status/13737999929">I mentioned</a> that I was looking forward to my particular action choice: <a title="About RAFT" href="http://raft.net/about" target="_blank">RAFT</a>. Today I had the privilege of serving local teachers with members of my team (<a title="Adobe LiveCycle Enterprise Suite" href="http://www.adobe.com/products/livecycle/" target="_blank">LiveCycle</a>) along with others from Adobe by investing time and energy into RAFT (Resource Area for Teachers).</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-1.jpg" alt="Adobe at RAFT" /></p>
<p>RAFT provides thousands of Bay Area teachers and community groups with a wide range of interactive learning materials, enhancing math, science, technology and art programs. Materials are surplus items donated by over 1,000 local businesses and range from cardboard tubes to computers!</p>
<p>My Mom was a middle-school teacher for 16 years; so I know firsthand how great an impact teachers have on the lives of their students, yet how underappreciated teachers often are in broader society. So, it felt especially good to &#8220;give back&#8221; to such important individuals in the local community.</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-2.jpg" alt="Adobe at RAFT" /></p>
<p>There were about 50 volunteers altogether and together, in just a few hours, we were able to make a significant contribution in the assembly of various kits that will be used by local teachers (e.g. <a href="http://www.raft.net/ideas/Glove-a-Phone.pdf" target="_blank">glove-a-phone</a> packs, sticker packs, etc.).</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-3.jpg" alt="Adobe at RAFT" /></p>
<p>I was drawn, along with my project-teammates, to the adhesive paper station. Basically our task was to unroll, about 12 feet at a time, lengths of two foot wide adhesive backed white butcher paper, rolled up and rubber-banded for individual application by teachers. A full roll of this paper weighs about 350 pounds, and we proved this by finishing the better part of one roll and starting on a second, new roll before our time ran out. The photo above captures the state of the receiving bin for these individual rolls before we started with our contribution.</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-4.jpg" alt="Adobe at RAFT" /></p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-5.jpg" alt="Adobe at RAFT" /></p>
<p>There were roughly four distinct tasks involved, although some of us on the team (ahem) were a bit more creative about &#8220;tasks.&#8221; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Unrolling was easily the most strenuous; cutting; re-rolling and rubber-banding; binning.</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-6.jpg" alt="Adobe at RAFT" /></p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-7.jpg" alt="Adobe at RAFT" /></p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-8.jpg" alt="Adobe at RAFT" /></p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-9.jpg" alt="Adobe at RAFT" /></p>
<p>It may not seem like much, but when you compare the previous two images with the first bin capture, above, I&#8217;d say that we accomplished a fair bit of work. It&#8217;s fun to think about all the classroom projects that were enabled in the process, too!</p>
<p align="center"><img src="http://craigrandall.net/images/100514-adobe-at-raft-10.jpg" alt="Adobe at RAFT" /></p>
<p>Acts of service are always more rewarding to those who serve, and today&#8217;s experience at RAFT was no exception.</p>
<p>If you&#8217;re a teacher and can make your way to Sunnyvale, you should really check out RAFT. If you&#8217;re a parent of a student whose teacher can get to RAFT, consider giving a RAFT gift card. If you want to make an impact on Bay Area teachers, volunteer your time and energy at RAFT. You&#8217;ll be glad that you did!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=Ct6ri8iuY6g:0mtCOBJ2R1E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Ct6ri8iuY6g:0mtCOBJ2R1E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Ct6ri8iuY6g:0mtCOBJ2R1E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Ct6ri8iuY6g:0mtCOBJ2R1E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Ct6ri8iuY6g:0mtCOBJ2R1E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=Ct6ri8iuY6g:0mtCOBJ2R1E:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=Ct6ri8iuY6g:0mtCOBJ2R1E:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/Ct6ri8iuY6g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/05/adobe-at-raft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2010/05/adobe-at-raft/</feedburner:origLink></item>
		<item>
		<title>Rich Internet Applications</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/BPprPhYYpy8/</link>
		<comments>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 00:45:42 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Smart clients]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1250</guid>
		<description><![CDATA[TweetDuring the MAX 2009 conference, Duane Nickull was interviewed by DZone on the subject of RIA architectures. As an architect, I appreciated Duane&#8217;s comments about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing &#8230; <a href="http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1250" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FomLH0f&amp;via=craigsmusings&amp;text=Rich%20Internet%20Applications&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F12%2Fneed-for-ria-exemplified%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>During the MAX 2009 conference, <a href="http://technoracle.blogspot.com/" target="_blank">Duane Nickull</a> was <a title="RIA Architectures: An Exclusive Interview with Adobe's Duane Nickull" href="http://ria.dzone.com/videos/nickull-ria-architectures" target="_blank">interviewed by DZone</a> on the subject of RIA architectures. As an architect, I appreciated <a href="http://technoracle.blogspot.com/2009/12/ria-architectures-exclusive-interview.html" target="_blank">Duane&#8217;s comments</a> about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing interaction design and user experience, distilling key business requirements by working closely with those the RIA will serve, being mindful of the framing process-oriented context, etc.).</p>
<p>In particular, <em>don&#8217;t frustrate users</em> resonates with me (e.g. it&#8217;s a non-technical answer to &#8220;what is an RIA?&#8221; (or &#8220;reeyah&#8221;). Duane&#8217;s Revenue Canada example (or not &#8220;getting&#8221; this) is a good one. It just so happens that I encountered my own today&#8230;</p>
<p>First, two exhibits off Twitter:</p>
<ul>
<li>A &#8211; <a href="http://twitter.com/craigsmusings/statuses/7165576150" target="_blank">I try to help shine a light on a community voice</a></li>
<li>B &#8211; (less than six hours later) <a href="http://twitter.com/EMC_Documentum/statuses/7175639125" target="_blank">subject vendor asks for community input</a></li>
</ul>
<p>Don&#8217;t get me wrong, more vendors need to be reaching out and engaging with their communities in deep and meaningful ways. So, I&#8217;m not suggesting that creating a forum for community discussion is bad. However&#8230;</p>
<p>What if, instead, the forum was seeded (pre-launch) by a reasonable distillation of those who&#8217;ve <a title="Documentum Renewal: Identity Management" href="http://wordofpie.com/2009/12/29/documentum-renewal-identity-management/" target="_blank">already voiced their concerns</a>, like Pie? The Web is there to be culled&#8211;&#8221;listened to&#8221; if you will&#8211;you just need to mine it.</p>
<p>As Duane and his co-authors talk about in <a title="Web 2.0 Architectures: What Entrepreneurs and Information Architects Need to Know" href="http://www.amazon.com/gp/product/0596514433?ie=UTF8&#038;tag=crasmus-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596514433" target="_blank">Web 2.0 Architectures</a>, more and more of us are <em>living declaratively</em>. Certainly this is true when it comes to providing candid feedback and standing behind things we believe in (e.g. vendors we want to succeed&#8230;and those we don&#8217;t).</p>
<p>So, an alternative forum post could have listed <a title="Documentum Renewal: Identity Management" href="http://wordofpie.com/2009/12/29/documentum-renewal-identity-management/" target="_blank">Pie&#8217;s identity management feedback</a> alongside the feedback of others&#8211;fully annotated with community profiles, source links, etc. Of course, those supporting the forum could proactively reach out to folks like Pie to confirm that discovered feedback is appropriate for syndication and could enable contributors to easily follow the conversation moving forward&#8211;ideally in the medium of their choice (e.g. email, feed, etc.).</p>
<p>Update 12/29/2009: Of course, <a title="@piewords" href="http://twitter.com/piewords" target="_blank">Pie</a>, being the strong advocate he is, reached out again and <a href="https://community.emc.com/message/441512#441512" target="_blank">updated the forum post himself</a>. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/BPprPhYYpy8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/</feedburner:origLink></item>
		<item>
		<title>Submitting VMware Workstation 7 to install</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/UB0I8_YSdko/</link>
		<comments>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 07:43:38 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1231</guid>
		<description><![CDATA[TweetRoughly a month ago, VMware released a new major version of its Workstation (and Fusion) software (i.e. 7.0 (and 3.0, respectively)). So, it seemed like a good time to upgrade from version 6.5.3. Past protocol suggested the following approach: uninstall &#8230; <a href="http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1231" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fr0HlRq&amp;via=craigsmusings&amp;text=Submitting%20VMware%20Workstation%207%20to%20install&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F11%2Fvmware-wrkstn-7-to-install%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Roughly a month ago, <a href="http://www.vmware.com/" target="_blank">VMware</a> released a new major version of its <a href="http://www.vmware.com/products/workstation/" target="_blank">Workstation</a> (and <a href="http://www.vmware.com/products/fusion/" target="_blank">Fusion</a>) software (i.e. 7.0 (and 3.0, respectively)). So, it seemed like a good time to upgrade from version 6.5.3. Past protocol suggested the following approach: uninstall old, reboot, and install new. Unfortunately, and unexpectedly, this approach failed to result in an up-to-date Workstation installation.</p>
<p>Shortly after launching VMware-workstation-full-7.0.0-203739.exe, the installer presented:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-1.png" alt="(Version: )" /></p>
<p>Clicking the <em>Uninstall</em> button resulted in a second cryptic dialog being presented:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-2.png" alt="The MSI '' failed." /></p>
<p>&#8220;The MSI &#8221; failed.&#8221; seems to be a fairly unique phrase, especially when combined with VMware, etc.; so, I Googled to see what others had encountered. Suffice it to say that I found nothing that ultimately solved my installation issue&#8211;although I was able to reclaim over 9 GB of free space by running <a href="http://www.ccleaner.com/" target="_blank">CCleaner</a>, thanks to one post.</p>
<p>So, I <a href="http://pubs.vmware.com/ws7_ace26/ws_user/man_intro.3.10.html" target="_blank">confirmed</a> that my host operating system is supported by VMware Workstation 7.0. I further confirmed that my Windows file system and registry were both clean of VMware-related content&#8211;rebooting after this confirmation. Nada.</p>
<p>Sometimes I&#8217;ve seen installers insist on being the party to uninstall older software. Since I&#8217;d uninstalled VMware Workstation 6.5.3 myself, I tried to reinstall the older software, reboot my host OS, and retry installing VMware Workstation 7.0:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-3.png" alt="6.5.3 install-uninstall" /></p>
<p>In hindsight, I could have seen that this wouldn&#8217;t resolve anything, but I clicked <em>Uninstall</em> as before&#8230;only to end up with the failed mystery MSI dialog once more.</p>
<p>So, I tracked down where VMware Workstation 7 wrote its installation logs: %TEMP%\vmware_*.log. I re-ran the installer to arrive back at the top state above, allowing me to recognize the associated log file and examine its state at the point of presenting the uninstall panel:</p>
<pre class="csharpcode">20091128194313:INFO    CGetMSIStateOperation::Execute: Examining the system for VMware Workstation.msi
20091128194313:INFO    CGetMSIStateOperation::Execute: MSI Data ProductCode: {A3FF5CB2-FB35-4658-8751-9EDE1D65B3AA}, PackageCode: {CDA82EA5-329A-428D-8ED3-9857244767DE}, UpgradeCode: {14F539F3-C4A4-4597-A29D-8C1D753ACC93} , Version: 7.0.0.9911
20091128194313:ERROR** CGetMSIStateOperation::GetSysVersionString: ::MsiGetProductInfo failed to retrieve the version string for {{98D1A713-438C-4A23-8AB6-41B37C4A2D47}} due to error: 1605
20091128194313:INFO    CGetMSIStateOperation::Execute: Installed MSI Data ProductCode: {98D1A713-438C-4A23-8AB6-41B37C4A2D47}, Version:
20091128194313:INFO    CGetMSIStateOperation::Execute: Default MSI Action: upgrade, Details: cross product
20091128194313:INFO    CBootstrapCmd::RunOperation: Operation 'GetMSIState' completed successfully with return code 65539
20091128194313:INFO    upgrade
20091128194313:INFO    cross product
20091128194313:INFO    CGetMSIStateOperation::Execute: Examining the system for
20091128194313:INFO    CGetMSIStateOperation::Execute: MSI Data ProductCode: {233A935E-6132-48B2-840F-37C9D32555D5}, PackageCode: {46F73961-902A-4A20-BB36-5060DC6ACB2C}, UpgradeCode: {2A0F937B-3E75-47D8-9306-14D45CC0F756} , Version: 4.0.0.0
20091128194313:INFO    CGetMSIStateOperation::Execute: Default MSI Action: install, Details:
20091128194313:INFO    CBootstrapCmd::RunOperation: Operation 'GetMSIState' completed successfully with return code 65539
20091128194313:INFO    install
20091128194313:INFO    SaveSetting: Wrote setting 'action', value 'upgrade'
20091128194313:INFO
20091128194313:INFO
20091128194313:INFO    {98D1A713-438C-4A23-8AB6-41B37C4A2D47}
20091128194313:INFO    SaveSetting: Wrote setting '{98D1A713-438C-4A23-8AB6-41B37C4A2D47}', value ';'
20091128194313:INFO    {98D1A713-438C-4A23-8AB6-41B37C4A2D47}</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Right away, I could see that the installer was recognizing an unexpected upgrade state rather than the expected &#8220;fresh&#8221; install state. Fortunately, the log also captured more details behind this divergent recognition: &#8220;failed to retrieve the version string for {{98D1A713-438C-4A23-8AB6-41B37C4A2D47}} due to error: 1605.&#8221; First of all, this log statement is a bit of an oxymoron, since <a href="http://msdn.microsoft.com/en-us/library/aa368542(VS.85).aspx" target="_blank">Windows error code 1605</a> (ERROR_UNKNOWN_PRODUCT) means &#8220;This action is only valid for products that are currently installed.&#8221; That is, if the product isn&#8217;t installed, then shouldn&#8217;t the current installer be &#8220;happy?&#8221; Second, this error led to the sparse dialogs (i.e. &#8221; (Version: )&#8221; and &#8220;The MSI &#8221;failed.&#8221;).</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-4.png" alt="1605 redux" /></p>
<p>Again in hindsight, I could have Googled the suspect GUID to determine its relationship with VMware Workstation 5.5. However, I went back to my Windows Registry to perform additional forensics first. The first RegDB reference I found is associated with Windows&#8217; ARP Cache, which has to do with Windows&#8217; TCP/IP stack (i.e. needs to be left intact). I did find another RegDB key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders, with a value named C:\WINDOWS\Installer\{98D1A713-438C-4A23-8AB6-41B37C4A2D47}\, which I removed. Nevertheless, after rebooting, I was still unable to install VMware Workstation 7.0</p>
<p>So, I thought that if my 6.5.3-based hack appeared to have some merit, perhaps a similar, 5.5-based hack could, too. First I had to download the 5.5.9 installer and unearth my version 5.5 license key. With these in hand, I installed VMware Workstation 5.5.9 and then rebooted my host OS as directed.</p>
<p>Following reboot, I re-ran the VMware Workstation 7.0 installer, yet again:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-5.png" alt="5.5.9 install-uninstall" /></p>
<p>This time, after clicking <em>Uninstall</em>, I was eventually presented with the ability to proceed with installing the new software. After choosing to reboot at the end of the installation process and rebooting, I&#8217;m able to run VMware Workstation 7 as I originally expected.</p>
<p>Hopefully this knowledge sharing will help you to avoid the wasted time and energy I experienced. At least that&#8217;s my purpose in posting. Cheers&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/UB0I8_YSdko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/</feedburner:origLink></item>
	</channel>
</rss>

