<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" 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>Tue, 18 Jun 2013 19:18:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>		<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>Quantified Self</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/UzqPUFya8sk/</link>
		<comments>http://craigrandall.net/archives/2013/06/quantified-self/#comments</comments>
		<pubDate>Sun, 16 Jun 2013 04:30:19 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[behavior management]]></category>
		<category><![CDATA[BodyMedia]]></category>
		<category><![CDATA[cloud service]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[IFTTT]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Jawbone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[RunKeeper]]></category>
		<category><![CDATA[UP]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=4820</guid>
		<description><![CDATA[Tweet Given the domains that I serve professionally as well as my own desire to better understand aspects of my own health, I decided to start &#8220;quantifying myself.&#8221; For the uninitiated, the Quantified Self movement involves a group of folks who share an interest in self-knowledge through self-tracking. This post captures my initial experience using [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton4820" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2F11HVx3a&amp;via=craigsmusings&amp;text=Quantified%20Self&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2013%2F06%2Fquantified-self%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 align="center"><img src="http://craigrandall.net/images/qslogo.png" alt="Quantified Self logo" /></p>
<p>Given the domains that I serve professionally as well as my own desire to better understand aspects of my own health, I decided to start &#8220;quantifying myself.&#8221; For the uninitiated, the <em>Quantified Self</em> movement involves a group of folks who share an interest in self-knowledge through self-tracking.</p>
<p>This post captures my initial experience using <a href="https://jawbone.com/up" title="UP: Know yourself; live better" target="_blank">UP by Jawbone</a>&#8211;first on iOS and then on Android (same bracelet). There are several other devices to consider; however, I chose UP given <a href="http://gigaom.com/2013/04/30/jawbone-buys-bodymedia-to-go-big-in-wearable-technology-and-health-tracking/" title="Jawbone buys BodyMedia to go big in wearable technology and health tracking" target="_blank">Jawbone&#8217;s BodyMedia acquisition and its platform direction</a>.</p>
<h3>Getting Started</h3>
<p>Setup is a breeze and once you&#8217;re fully configured the UP mobile app cheerily greets your arrival.</p>
<p align="center"><img src="http://craigrandall.net/images/up/01-you-joined-ios-up.png" alt="You've joined UP!" /></p>
<p>Like most software types I know, I just &#8220;went for it&#8221; and didn&#8217;t first study the manual. Besides the little paper-based booklet in the box is vastly superseded by the extended user guide available online as a PDF <a href="http://content.jawbone.com/static/www/pdf/manuals/up/up-by-jawbone-extended-manual-en.pdf" title="up-by-jawbone-extended-manual-en.pdf" target="_blank">here</a> (English link).</p>
<p>Fortunately the UI is simple and inviting, and it&#8217;s worth exploring given its bias toward more gradual disclosure in context (i.e. drill-in for details, etc.).</p>
<p><img src="http://craigrandall.net/images/up/06-main-panel-nav-ui-ios-up.png" alt="Main panel navigation UI in iOS" /> <img src="http://craigrandall.net/images/up/04-activities-ui-ios-up.png" alt="Main activities UI in iOS" /></p>
<p align="center"><img src="http://craigrandall.net/images/up/05-goals-ui-ios-up.png" alt="Goals UI in iOS" /></p>
<p>If you&#8217;re missing out on something useful, the app may provide a timely nudge in the right direction. For example, since I didn&#8217;t bother with the manual, I wasn&#8217;t aware of the Lifeline view.</p>
<p align="center"><img src="http://craigrandall.net/images/up/07-lifeline-insight-ui-ios-up.png" alt="Insight toward Lifeline view" /></p>
<p>Becoming aware of Lifeline also encouraged my curiosity toward the Trends view.</p>
<p><img src="http://craigrandall.net/images/up/07-lifeline-ui-ios-up.png" alt="Lifeline view in iOS" /> <img src="http://craigrandall.net/images/up/08-trends-ui-ios-up.png" alt="Trends view in iOS" /></p>
<p>If you want to know more detail about your movement of sleep that day, just tap the appropriate colored arrow bar (purple for sleep and orange for movement).</p>
<p><img src="http://craigrandall.net/images/up/54-move-ui-android-up.png" alt="Day's movement summary UI on Android" /> <img src="http://craigrandall.net/images/up/55-sleep-ui-android-up.png" alt="Day's sleep summary UI on Android" /></p>
<p>The consistent use of color in the mobile app helps develop user intuition.</p>
<h3>Slight Mobile App Differences&#8211;Same Cloud Service</h3>
<p>At the time I purchased my UP bracelet, I didn&#8217;t have a viable Android device according to <a href="https://jawbone.com/up/devices" title="UP Device Compatibility" target="_blank">Jawbone&#8217;s device compatibility page</a>. So, I initially used my iPhone 3GS&#8211;really just an iPod Touch, since it&#8217;s no longer used as a cell phone. Thankfully I just updated my Android smartphone to a Samsung Galaxy S4; so, I have the UP mobile app on both devices. More importantly I confirmed firsthand that the mobile app talks to a cloud service after syncing with my UP bracelet.</p>
<p>Notice how the Android UX differs subtlety from the iOS UX&#8230; </p>
<p align="center"><img src="http://craigrandall.net/images/up/50-main-view-ui-android-up.png" alt="Main UP UI on Android" /></p>
<p align="center"><img src="http://craigrandall.net/images/up/51-main-panel-nav-ui-android-up.png" alt="Main next-level UP UI on Android" /></p>
<p>Personally, I think that the Android UX could benefit from improved visual association where next-level pop-up panes are concerned (ala Twitter).</p>
<p align="center"><img src="http://craigrandall.net/images/twitter-nav-ui.png" alt="Main panel navigation in Twitter mobile app" /></p>
<p>In general, the Android UI is a bit more spartan than the iOS UI. The iOS UI seems a bit more playful</p>
<p align="center"><img src="http://craigrandall.net/images/up/02-ios-sync-ui-ios-up.png" alt="Sync on the UP app for iOS" /></p>
<p>For example, compared to the iOS sync experience (above), the Android sync experience narrowly focused on sync and doesn&#8217;t report summary information as a result of sync completion.</p>
<p align="center"><img src="http://craigrandall.net/images/up/02-ios-sync-ui-ios-up_uploading.png" alt="Sync (uploading) on the UP app for iOS" /></p>
<p>The Android sync experience also doesn&#8217;t feature the rotating sun and clouds animation.</p>
<p>However, both Android and iOS apps do feature sunburst graphics as a way to reinforce achievement.</p>
<p><img src="http://craigrandall.net/images/up/10-sunburst-animation-encourages.png" alt="Sunburst (animated) to reinforce achievement" /> <img src="http://craigrandall.net/images/up/11-sunburst-in-ctx-encourages.png" alt="Sunburst to reinforce achievement" /></p>
<h3>User Experience Bugs (or Features?)</h3>
<p>There are a few UX quirks with UP that I&#8217;ve experienced in my almost-a-month worth of daily use.</p>
<p>First, I encountered some behavior management in the app that didn&#8217;t progress as I expected.</p>
<p align="center"><img src="http://craigrandall.net/images/up/56-example-behavior-mgmt-unrecognized.png" alt="Example of behavior management that didn't progress as expected" /></p>
<p>While I appreciated the insight &#8220;card&#8221; encouraging me to beat my current average, once I accomplished that objective, UP didn&#8217;t refresh itself to recognize my accomplishment. Perhaps it thought that I wasn&#8217;t done being active&#8230;after 9pm. Regardless, I expected to at least have the app inform me that I actually took it up on its challenge of me. Since it did not, I may be less likely to drill into future insights, and that is unfortunate and avoidable.</p>
<p>The next sub-optimal experience to share involves my first attempt at what UP calls a Power Nap (see this specific alert above).</p>
<p align="center"><img src="http://craigrandall.net/images/up/59-evidence-of-blown-power-nap.png" alt="Evidence of a blown Power Nap" /></p>
<p>According to the app, it did try to wake me by vibrating the bracelet; however, I must have been tired since I didn&#8217;t wake and continued in deep sleep well beyond the time frame I entered in the app. Fortunately, I wasn&#8217;t late for anything critical, but, again, the fact that it didn&#8217;t effectively wake me as I directed UP may cause me to use that feature less in the future.</p>
<p>The last frustration to share was when I discovered how the activity editor deals with trimming activity duration. It appears to simply compress the data from the prior timeframe into the new timeframe, and this really makes no sense&#8211;given my use case.</p>
<p>Basically I realized about 10 minutes after walking our dog that I forgot to press the bracelet to mark the end of my timed activity. (I appreciate that the UP bracelet can automatically determine your transition from sleep to activity, without requiring you to manually transition the bracelet from sleep mode to activity mode.)</p>
<p align="center"><img src="http://craigrandall.net/images/up/60-evidence-of-duration-bug.png" alt="Time shifting inflexibilty" /></p>
<p>UP does allow you to edit your activity; so, I went into my walking data to trim off the time, bringing the end-of-activity marker in toward the last noticeable movement bar (representing a decent number of steps per minute). Upon shortening the duration, I expected to roughly the same number of steps and a marker as described (at 10:58am versus 11:06am); however, the new graph was shown with the same &#8220;lack of movement&#8221; gap before the new end-of-activity marker (at 10:58am). Distance and Steps were the same; Pace and Calories dropped.</p>
<p>Since UP keeps track of daily data as well as per activity data during each day, I expected UP to simply take whatever steps may have occurred in the truncated portion of the activity to apply them to the day (outside specific activities). I expected UP to reset the end-of-activity marker as I just described; however, for some reason (a bug?) it doesn&#8217;t&#8230;</p>
<h3>More To Explore</h3>
<p>I still have yet to leverage every feature in UP as it currently exists. For example, I have yet to use the diet features of UP&#8211;they seem to be too manual for me to give it my time.</p>
<p align="center"><img src="http://craigrandall.net/images/up/03-logging-diet-ios-up.png" alt="Logging diet in UP" /></p>
<p>I need to recruit other UP&#8217;ers to my Team. Flying solo currently&#8230;</p>
<p align="center"><img src="http://craigrandall.net/images/up/09-team-insight-ui-ios-up.png" alt="Insight into Team feature" /></p>
<p>I also need to visit the Apps experience in UP to give things like its <a href="https://ifttt.com/jawbone_up" title="UP by Jawbone Channel (of recipes)" target="_blank">integration with IFTTT</a> a try. If I recall, I think that there may be a nice integration with <a href="http://runkeeper.com/running-app" title="RunKeeper: The Personal  Trainer in your Pocket" target="_blank">RunKeeper</a>, which I also have in my app arsenal. Just need to turn the integration on and lace up my running shoes&#8230;</p>
<p>If you, my reader, use UP or a similar device, I&#8217;d love to hear of your experience and how you&#8217;re getting the most from self-tracking. Thanks!</p>
<p>Update 6/17/2013: Further reading:</p>
<ul>
<li><a href="http://onemorelifehack.com/2013/05/14/great-ifttt-com-recipes-for-your-jawbone-up/" title="Great IFTTT recipes for your Jawbone UP" target="_blank">Great IFTTT recipes for your Jawbone UP</a></li>
<li>Part 1: <a href="http://readwrite.com/2013/05/27/can-a-fitness-tracker-really-change-your-life" title="Can A Fitness Tracker Really Change Your Life?" target="_blank">Can A Fitness Tracker Really Change Your Life?</a><br />
Part 2: <a href="http://readwrite.com/2013/06/14/can-a-fitness-tracker-really-change-your-life-part-two" title="My Fitbit Flex Hasn't Changed My Life, But It's Telling Me What's Wrong" target="_blank">My Fitbit Flex Hasn&#8217;t Changed My Life, But It&#8217;s Telling Me What&#8217;s Wrong</a><br />
- From the post: &#8220;I&#8217;m not getting much in the way of suggestions. It would be great, for instance, if the Fitbit app on my iPhone let me know when I was spending an unhealthy amount of time sitting, perhaps with a nudging notification telling me to go take a walk. Instead, it just shows a depressing pie chart, making sure to highlight my time spent wasting away in a chair with the color gray.&#8221;<br />
- Perhaps the author would appreciate the <a href="https://jawbone.com/kb/articles/411.html#idle" title="Configuring Idle Alert" target="_blank">UP&#8217;s Idle Alert feature</a>: If I&#8217;ve been sitting for too long at my desk, I&#8217;ve told UP to send a slight vibration on my wrist to gently nudge me toward movement. Certainly the visualization in UP is less drab than what he showed for Flex.</li>
<li>According to a <a href="http://www.pewinternet.org/Reports/2013/Tracking-for-Health/Main-Report/Seven-in-ten-US-adults-track-a-health-indicator-for-themselves-or-for-a-loved-one.aspx" title="Seven in ten U.S. adults track a health indicator for themselves or for a loved one" target="_blank">report released in January by the Pew Internet Project</a>, 69 percent of Americans track some kind of health data, and one in five of those trackers use some form of technology.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=UzqPUFya8sk:RPOjKV1Q5Hs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UzqPUFya8sk:RPOjKV1Q5Hs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UzqPUFya8sk:RPOjKV1Q5Hs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UzqPUFya8sk:RPOjKV1Q5Hs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UzqPUFya8sk:RPOjKV1Q5Hs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UzqPUFya8sk:RPOjKV1Q5Hs:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UzqPUFya8sk:RPOjKV1Q5Hs:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/UzqPUFya8sk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2013/06/quantified-self/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2013/06/quantified-self/</feedburner:origLink></item>
		<item>
		<title>I learned to program…</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/O6_7hKftnTc/</link>
		<comments>http://craigrandall.net/archives/2013/01/i-learned-to-program/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 06:56:14 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Commodore]]></category>
		<category><![CDATA[ilearnedtoprogram]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sprite]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=4568</guid>
		<description><![CDATA[TweetI forget who exactly did, but someone not too long ago mentioned Ben Chun&#8217;s ilearnedtoprogram project, and I submitted my programming start. Apparently Ben has moved on to other things; so, I doubt that what I submitted with ever be shown at http://ilearnedtoprogram.com/. Therefore, here is what caused me to learn how to program&#8230; I [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton4568" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FTFlVN7&amp;via=craigsmusings&amp;text=I%20learned%20to%20program%26%238230%3B&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2013%2F01%2Fi-learned-to-program%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>I forget who exactly did, but someone not too long ago mentioned Ben Chun&#8217;s <a href="http://benchun.net/projects/ilearnedtoprogram/" title="I learned to program..." target="_blank">ilearnedtoprogram</a> project, and I submitted my programming start. Apparently Ben has moved on to other things; so, I doubt that what I submitted with ever be shown at <a href="http://ilearnedtoprogram.com/" title="I learned to program..." target="_blank">http://ilearnedtoprogram.com/</a>.</p>
<p>Therefore, here is what caused me to learn how to program&#8230;</p>
<p><strong>I learned to program&#8230;</p>
<p>using a Commodore 64 to replace my 3&#215;5 card based stick figure animations after my Dad told me about sprites&#8211;that I could manipulate no less than 8 of them at a time!</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=O6_7hKftnTc:HERBSFwiA8o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O6_7hKftnTc:HERBSFwiA8o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O6_7hKftnTc:HERBSFwiA8o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O6_7hKftnTc:HERBSFwiA8o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O6_7hKftnTc:HERBSFwiA8o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O6_7hKftnTc:HERBSFwiA8o:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O6_7hKftnTc:HERBSFwiA8o:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/O6_7hKftnTc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2013/01/i-learned-to-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2013/01/i-learned-to-program/</feedburner:origLink></item>
		<item>
		<title>New custom-built Wenge desk</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/E8ODV6kxmkQ/</link>
		<comments>http://craigrandall.net/archives/2012/12/new-custom-built-wenge-desk/#comments</comments>
		<pubDate>Tue, 01 Jan 2013 06:21:08 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[Dad]]></category>
		<category><![CDATA[desk]]></category>
		<category><![CDATA[hierloom]]></category>
		<category><![CDATA[Wenge]]></category>
		<category><![CDATA[woodworking]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=4531</guid>
		<description><![CDATA[TweetBefore I started my current position at Oracle, I took a short break from work and entered into one of my Dad&#8217;s hobbies: woodworking. Since he retired, he has assembled quite a workshop that has already produced many fine results enjoyed by family and friends. Instead of purchasing a new desk from a store, we [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton4531" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FVt57Ht&amp;via=craigsmusings&amp;text=New%20custom-built%20Wenge%20desk&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F12%2Fnew-custom-built-wenge-desk%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>Before I started my current position at Oracle, I took a short break from work and entered into one of my Dad&#8217;s hobbies: woodworking. Since he retired, he has assembled quite a workshop that has already produced many fine results enjoyed by family and friends. Instead of purchasing a new desk from a store, we decided to design and build my new desk ourselves. After looking over my Dad&#8217;s woodworking books on hardwood, I decided that the desk would be built out of the African hardwood Wenge.</p>
<p>The following pictures capture the process from sourcing the wood to realizing the finished desk. They are in chronological order.</p>
<p align="center"><img src="http://craigrandall.net/images/120530-wenge-desk-1.jpg" alt="MacBeath Hardwood" /><br />
The Wenge hardwood for this project was sourced from <a href="http://www.macbeath.com/" title="MacBeath Hardwood" target="_blank">MacBeath Hardwood</a>&#8216;s Berkeley location.<br />
<img src="http://craigrandall.net/images/120530-wenge-desk-2.jpg" alt="Wenge boards" /><br />
The finished desk below began its life as a humble set of boards.<br />
<img src="http://craigrandall.net/images/120601-wenge-desk-3.jpg" alt="Prepare untapered leg" /><br />
Some of the boards became legs.<br />
<img src="http://craigrandall.net/images/120601-wenge-desk-4.jpg" alt="Determine desktop grain" /><br />
Other boards were selected for their grain pattern to form the desktop.<br />
<img src="http://craigrandall.net/images/120601-wenge-desk-5.jpg" alt="Learned a new power tool" /><br />
I got to learn how to use a new power tool (i.e. a plate joiner) and apply biscuit joins.<br />
<img src="http://craigrandall.net/images/120601-wenge-desk-6.jpg" alt="Prepare center of desktop" /><br />
At this point, my regular involvement in the project lessened quite a bit as I started my new job, but my Dad kept making steady progress.<br />
<img src="http://craigrandall.net/images/120629-wenge-desk-7.jpg" alt="Leg tapering jig" /><br />
My Dad built a custom jig for the legs, which would become tapered along both sets of opposing sides.<br />
<img src="http://craigrandall.net/images/120630-wenge-desk-8.jpg" alt="Tapered legs in two dimensions" /><br />
<img src="http://craigrandall.net/images/120711-wenge-desk-9.jpg" alt="Model leg assembly" /><br />
Each step involving the Wenge legs was preceded by a prototype in lesser wood.<br />
<img src="http://craigrandall.net/images/120711-wenge-desk-10.jpg" alt="Model leg assembly detail" /><br />
<img src="http://craigrandall.net/images/120722-wenge-desk-11.jpg" alt="Loose side assemblies" /><br />
<img src="http://craigrandall.net/images/120801-wenge-desk-12.jpg" alt="Loose bottom assembly" /><br />
Before finally glueing pieces of the desk together, a dry assembly was made to confirm fit.<br />
<img src="http://craigrandall.net/images/120822-wenge-desk-13.jpg" alt="Securing side assembly to desktop" /><br />
By now you can appreciate why my Dad insights that a woodworker can never have too many clamps (or too many gift cards to <a href="http://www.rockler.com/" title="Rockler: Woodworking and Hardware" target="_blank">Rockler</a>).<br />
<img src="http://craigrandall.net/images/120824-wenge-desk-14.jpg" alt="Unfinished grain pattern" /><br />
The wood for the legs was selected to achieve a particular grain pattern, too.<br />
<img src="http://craigrandall.net/images/120824-wenge-desk-15.jpg" alt="Capture of 3D tampering" /><br />
This shows the overall taper of the legs more clearly.<br />
<img src="http://craigrandall.net/images/120824-wenge-desk-16.jpg" alt="Sketching ideas for drawers and center shelf" /><br />
At this point, it was clear that I needed to treat my Dad to a <a href="http://www.beer-shop.org/beer-menu/" title="v" target="_blank">ØL Beercafe &#038; Bottle Shop</a> visit in order to spark our creativity over a <a href="http://www.ratebeer.com/beer/aegir-natt-imperial-porter/129139/" title="Ægir Natt Imperial Porter" target="_blank">Ægir Natt Imperial Porter</a> and an <a href="http://www.ratebeer.com/beer/upright-engelberg-pilsener-hallertauer/123059/" title="Upright Engelberg Pils" target="_blank">Upright Engelberg Pils</a>.<br />
<img src="http://craigrandall.net/images/120824-wenge-desk-17.jpg" alt="Preparing desktop underside for shelf and drawers" /><br />
<img src="http://craigrandall.net/images/120829-wenge-desk-18.jpg" alt="Unfinished side drawers" /><br />
<img src="http://craigrandall.net/images/120924-wenge-desk-19.jpg" alt="Unfinished center shelf" /><br />
At this point, my Dad worked on the desk&#8217;s undercarriage.<br />
<img src="http://craigrandall.net/images/121028-wenge-desk-20.jpg" alt="Sanded, unfinished desktop" /><br />
Here is the desktop grain pattern detail after sanding and before finishing.<br />
<img src="http://craigrandall.net/images/121115-wenge-desk-21.jpg" alt="Desk before delivery for finishing" /><br />
<img src="http://craigrandall.net/images/121115-wenge-desk-22.jpg" alt="Desk before delivery for finishing" /><br />
Here is how the desk appeared before it was delivered to be finished by Englund Studio in Oakland.<br />
<img src="http://craigrandall.net/images/121129-wenge-desk-23.jpg" alt="Finished desk" /><br />
Here is how the desk appeared after it was finished.<br />
<img src="http://craigrandall.net/images/121207-wenge-desk-24.jpg" alt="Finished shelf and drawers" /><br />
So as not to draw attention away from the Wenge, the center pull-out shelf and side drawers were painted in matte black.<br />
<img src="http://craigrandall.net/images/121229-wenge-desk-25.jpg" alt="Finished desk" /><br />
<img src="http://craigrandall.net/images/121229-wenge-desk-26.jpg" alt="Finished desk" /><br />
Here you can see the detail that my Dad put into the front of the pull-out shelf, which is held magnetically at an angle matching that set by the legs of the desk.<br />
<img src="http://craigrandall.net/images/121229-wenge-desk-27.jpg" alt="Finished desktop" /><br />
Here is the desktop grain pattern after finishing. It&#8217;s what I get to enjoy now every time I sit down to work at home.
</p>
<p>Now I am the very proud owner of a custom-built Wenge desk, all the more special since my Dad was essentially its maker. He was kind enough to put his wood mark on the right leg facing me as I work; so, I can glance down at any time to be reminded of this project and all I learned working at his side.</p>
<p>Thanks, Dad!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=E8ODV6kxmkQ:fg0zXRcI2TY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=E8ODV6kxmkQ:fg0zXRcI2TY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=E8ODV6kxmkQ:fg0zXRcI2TY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=E8ODV6kxmkQ:fg0zXRcI2TY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=E8ODV6kxmkQ:fg0zXRcI2TY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=E8ODV6kxmkQ:fg0zXRcI2TY:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=E8ODV6kxmkQ:fg0zXRcI2TY:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/E8ODV6kxmkQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/12/new-custom-built-wenge-desk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/12/new-custom-built-wenge-desk/</feedburner:origLink></item>
		<item>
		<title>About open community – a tale of two tools</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/7O1R3Op0N8I/</link>
		<comments>http://craigrandall.net/archives/2012/11/re-open-community/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 21:09:10 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET Reflector]]></category>
		<category><![CDATA[codeplex]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[decompilation]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[dotPeek]]></category>
		<category><![CDATA[JustDecompile]]></category>
		<category><![CDATA[NDoc]]></category>
		<category><![CDATA[Sandcastle]]></category>
		<category><![CDATA[SHFB]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=4461</guid>
		<description><![CDATA[TweetWhen you take a step back from a community for spell after being in the thick of it for some time, it&#8217;s interesting to see what you find upon return. In this case, I&#8217;m referring to the .NET community and there are two stories that I want to highlight: Documentation automation Decompilation Town of NDoc [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton4461" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FSI0HrP&amp;via=craigsmusings&amp;text=About%20open%20community%20%26%238211%3B%20a%20tale%20of%20two%20tools&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F11%2Fre-open-community%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>When you take a step back from a community for spell after being in the thick of it for some time, it&#8217;s interesting to see what you find upon return.</p>
<p>In this case, I&#8217;m referring to the .NET community and there are two stories that I want to highlight:</p>
<ul>
<li>Documentation automation</li>
<li>Decompilation</li>
</ul>
<p><strong>Town of NDoc</strong></p>
<p>Once upon a time, there was <a href="http://ndoc.sourceforge.net/" title="NDoc: Code Documentation Generator for .NET" target="_blank">NDoc</a>, a convenient tool to help developers produce reference-level documentation for their .NET assemblies and solutions.</p>
<p>A force from the Pacific Northwest determined that there was much value in NDoc, and <a href="http://sandcastle.codeplex.com/" target="_blank">Sandcastle</a> was born. (<a href="http://en.wikipedia.org/wiki/NDoc" title="Wikipedia article with more context" target="_blank">Note</a>: The chapter on NIH isn&#8217;t covered here, nor are the alleged actions of an individual in the NDoc &#8220;community.&#8221;)</p>
<p>Sandcastle was more about the command line than NDoc, and eventually <a href="http://shfb.codeplex.com/" target="_blank">Sandcastle Help File Builder</a> arose:</p>
<blockquote><p>
Sandcastle was originally created by Microsoft back in 2006. The last official release from Microsoft occurred in June 2010. Until October 2012, it was hosted at the Sandcastle project site on CodePlex. In October 2012, Microsoft officially declared that they were ceasing support and development of Sandcastle. The Sandcastle tools have been merged into the Sandcastle Help File Builder project and all future development and support for them will be handled at this project site. The Sandcastle tools themselves remain separate from and have no dependency on the help file builder. As such, they can be used in a standalone fashion with your own scripts and build tools if that is your preference.
</p></blockquote>
<p>Assuming that Kevin Downs and others who originally contributed to NDoc are happily pursuing new ventures (and satisfied to see their initial efforts validated by SHFB et al), it seems like documentation automation is alive and well in the .NET community.</p>
<p><strong>City of .NET Reflector</strong></p>
<p>Once upon a time, Lutz Roeder authored and maintained the most excellent .NET Reflector decompilation tool for the .NET developer community. At its prime, I didn&#8217;t know a .NET developer who wasn&#8217;t actively using the tool and who wouldn&#8217;t readily nominate Lutz for knighthood.</p>
<p>But then <a href="http://blog.lutzroeder.com/2008/08/future-of-net-reflector.html" title="The Future of .NET Reflector" target="_blank">.NET Reflector&#8217;s future changed</a>&#8230;</p>
<blockquote><p>Red Gate will continue to provide the free community version&#8230;</p></blockquote>
<p>Well, until <a href="http://www.red-gate.com/our-company/about/news/dot-net-reflector-7" title="2/2/2011: Red Gate to charge $35 for .NET Reflector" target="_blank">they didn&#8217;t</a>!</p>
<p>Other than referencing <a href="http://www.zdnet.com/blog/burnette/red-gate-we-could-not-make-the-free-model-work-for-us-as-a-commercial-company/2176" title="Red Gate: We could not make the free model work for us as a commercial company" target="_blank">ZDnet&#8217;s coverage at the time</a>, I&#8217;ll leave you to Google the rest of the flames that resulted from this decision. Suffice it to say that it got ugly, and the $35 price is now <a href="http://www.reflector.net/" target="_blank">no less than $95 and as high as $195</a>.</p>
<p>The severe curve in price hikes tends to indicate a sharp drop in demand. Furthermore, the original <a href="http://reflectoraddins.codeplex.com/" title=".NET Reflector Add-ins | Codeplex" target="_blank">Reflector add-ins portal</a> seems to have been abandoned, which is a shame&#8211;lots of solid contributions were made therein that I use to leverage frequently (er, once upon a time)&#8230;</p>
<p>So, in the face of a tool that was free but now costs almost a benjamin for the basic version, what to do?</p>
<p>Two potential alternatives quickly present themselves: <a href="http://www.telerik.com/products/decompiler.aspx" target="_blank">Telerik JustDecompile</a> and <a href="http://www.jetbrains.com/decompiler/" target="_blank">JetBrains dotPeek</a>. Let&#8217;s start with <strong>dotPeek</strong>&#8230;</p>
<p>I&#8217;ve had some experience working with JetBrains in the past to establish a more open stance. Unfortunately, that didn&#8217;t result in any great or lasting success:</p>
<ul>
<li>11/14/2006: <a href="http://craigrandall.net/archives/2006/11/an-open-source-omea/" title="An open source Omea?">An open source Omea?</a></li>
<li>5/30/2007: <a href="http://craigrandall.net/archives/2007/05/an-open-letter-to-jetbrains-about-omea/" title="An open letter to Jetbrains about Omea">An open letter to Jetbrains about Omea</a></li>
<li>3/15/2008: <a href="http://craigrandall.net/archives/2008/03/omea-is-open-to-the-community/" title="Omea is open to the community">Omea is open to the community</a></li>
<li>Today: No mention of openness on <a href="http://www.jetbrains.com/omea/" target="_blank">JetBrain&#8217;s Omea home page</a>, which hasn&#8217;t been updated since version 2.2 was released on <em>11/16/2006</em>; no life in <a href="http://devnet.jetbrains.net/community/omea" target="_blank">the Omea development &#8220;community&#8221;</a> (other than a thick coat of spam everywhere)&#8230;</li>
</ul>
<p>It&#8217;s interesting to see other potential similarities, too, between the Omea progression and the dotPeek progression. For example, JetBrains originally realized Omea by hiring <a href="http://blogs.jetbrains.com/yole/archives/000001.html" title="Introducing" target="_blank">Dmitry Jemerov</a> who authored <a href="http://yole.ru/projects/syndirella/" title="Syndirella" target="_blank">Syndirella</a>&#8211;ironically an open source project. More recently, the <a href="http://blogs.jetbrains.com/dotnet/2011/06/new-dotpeek-early-build-pioneering-dotpeek-plug-ins/" title="New dotPeek Early Build + Pioneering dotPeek Plug-ins" target="_blank">first dotPeek plug-in</a> author, <a href="https://twitter.com/citizenmatt" title="@citizenmatt" target="_blank">Matt Ellis</a> joined JetBrains as a <a href="http://sticklebackplastic.com/post/2012/06/20/JetBrains-plugins-+-me.aspx" title="JetBrains, plugins + me" target="_blank">.NET development tools evangelist</a>. <a href="http://sticklebackplastic.com/post/2011/05/31/Assembly-lists-for-dotPeek.aspx" title="Assembly lists for dotPeek!" target="_blank">Assembly list support</a> is already baked into dotPeek 1.0 directly.</p>
<p>As I remarked on Twitter, <a href="https://twitter.com/craigsmusings/status/268047027626209280" target="_blank">I sincerely hope</a> that JetBrains has embraced <a href="https://twitter.com/craigsmusings/status/268045042093019136" target="_blank">open development for dotPeek</a>; otherwise, I fear reactions to dotPeek such as <a href="http://it.toolbox.com/blogs/elsua/jetbrains-omea-pro-and-its-awful-consequences-of-lack-of-commitment-21746" title="Example consequences to customer base due to lack of product commitment" target="_blank">this one for Omea</a>.</p>
<p>Switching to <strong>JustDecompile</strong>, one of my first (positive community-oriented) impressions came from reading the (timely) comments on <a href="http://www.greycastle.se/justdecompile-vs-dotpeek/" title="JustDecompile vs DotPeek" target="_blank">this blog post</a>.</p>
<p>Even the blog&#8217;s first criticism&#8211;<em>needs registration for download</em>&#8211;has been addressed. I agree that this was a bit heavy-handed, but now you can download JustDecompile straightaway and only provide/create account information if you want support for the free tool (during JustDecompile installation).</p>
<p>Telerik has posted two, free <a href="http://www.telerik.com/products/decompiler/extensions.aspx" title="Telerik JustDecompile Plugins" target="_blank">plugins</a>, which installed easily (after I realized that you have to expand the .sflb files for JustDecompile to find the entry points as otherwise instructed). (Telerik, please update your <a href="http://www.telerik.com/products/decompiler/extensions.aspx#instructions-for-loading-and-unloading-plugins" title="How to load and unload JustDecompile plugins" target="_blank">instructions</a> to make this clear.) </p>
<p>Time will tell if the .NET community will rally around this tool by submitting new plugins. It&#8217;s clear that Telerik is listening to the community it has (e.g. <a href="http://blogs.telerik.com/justteam/posts/11-08-08/create-projects-with-justdecompile.aspx" title="Create Projects with JustDecompile" target="_blank">this feature</a> came directly from the <a href="http://justdecompile.uservoice.com/forums/113277-justdecompile-feature-suggestions" target="_blank">UserVoice site for JustDecompile</a>), and that is a good start.</p>
<p>I wonder if things would have worked out differently if GitHub had been around at the time the original transitions for .NET Reflector and NDoc had occurred. (<a href="http://www.github.com/lutzroeder" target="_blank">Lutz is on GitHub</a>, just not including .NET Reflector <a href="http://blog.lutzroeder.com/2008/08/future-of-net-reflector.html" title="The Future of .NET Reflector" target="_blank">due to its aforementioned transfer</a>.)</p>
<p>Is it too late for .NET decompilation to become truly open, supported by a vibrant community?</p>
<p>In the tale of two tools, the formative city of decompilation could take some cues from the happy town of documentation.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=7O1R3Op0N8I:Nb7B3_MteJY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7O1R3Op0N8I:Nb7B3_MteJY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7O1R3Op0N8I:Nb7B3_MteJY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7O1R3Op0N8I:Nb7B3_MteJY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7O1R3Op0N8I:Nb7B3_MteJY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=7O1R3Op0N8I:Nb7B3_MteJY:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=7O1R3Op0N8I:Nb7B3_MteJY:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/7O1R3Op0N8I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/11/re-open-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/11/re-open-community/</feedburner:origLink></item>
		<item>
		<title>Inspiration</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/ptE7w0-4L-M/</link>
		<comments>http://craigrandall.net/archives/2012/10/inspiration/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 04:15:42 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Felix]]></category>
		<category><![CDATA[guts]]></category>
		<category><![CDATA[livejump]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[Stratos]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=4417</guid>
		<description><![CDATA[TweetEvery once in a while, something truly inspirational occurs. Earlier today I was able to witness one such event live with my kids via YouTube: the Mach 1.24 freefall by &#8220;Fearless Felix&#8221; (Felix Baumgartner) from over 24 miles above the earth. The following pictures are courtesy of the iPad&#8217;s screen capture facility while watching the [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton4417" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FXbuLj7&amp;via=craigsmusings&amp;text=Inspiration&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F10%2Finspiration%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>Every once in a while, something truly inspirational occurs. Earlier today I was able to witness one such event live with my kids via YouTube: the Mach 1.24 freefall by &#8220;Fearless Felix&#8221; (Felix Baumgartner) from over 24 miles above the earth.</p>
<p>The following pictures are courtesy of the iPad&#8217;s screen capture facility while watching the jump live on YouTube. They are in chronological order.</p>
<p><img src="http://craigrandall.net/images/IMG_0177.PNG" alt="Felix Baumgartner" /><br />
<img src="http://craigrandall.net/images/IMG_0179.PNG" alt="Vertical track" /><br />
<img src="http://craigrandall.net/images/IMG_0189.PNG" alt="View of Earth below" /><br />
<img src="http://craigrandall.net/images/IMG_0190.PNG" alt="Temperature and pressure" /><br />
<img src="http://craigrandall.net/images/IMG_0194.PNG" alt="Inside closed capsule" /><br />
<img src="http://craigrandall.net/images/IMG_0199.PNG" alt="Inside opened capsule" /><br />
<img src="http://craigrandall.net/images/IMG_0201.PNG" alt="Stepping out" /><br />
<img src="http://craigrandall.net/images/IMG_0202.PNG" alt="Stepping out" /><br />
<img src="http://craigrandall.net/images/IMG_0204.PNG" alt="Stepping out" /><br />
<img src="http://craigrandall.net/images/IMG_0205.PNG" alt="Jumping off toward Earth" /><br />
<img src="http://craigrandall.net/images/IMG_0206.PNG" alt="Speed record achieved" /><br />
<img src="http://craigrandall.net/images/IMG_0207.PNG" alt="Freefall short of record" /><br />
<img src="http://craigrandall.net/images/IMG_0209.PNG" alt="Guided flight" /><br />
<img src="http://craigrandall.net/images/IMG_0211.PNG" alt="Guided flight" /><br />
<img src="http://craigrandall.net/images/IMG_0213.PNG" alt="Home sweet home" /></p>
<p>Although the world may have been focused on Felix (and his mom), I reminded my kids that even a seemingly individual event involves a team. This event was no different and the Stratos team is probably significantly larger than those captured on the video:</p>
<p><img src="http://craigrandall.net/images/IMG_0187.PNG" alt="Stratos Mission Control Team" /></p>
<p>Thanks again, Felix and team, for inspiring me and my kids today, and congratulations on your accomplishments!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=ptE7w0-4L-M:nvcOSZGiSug:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ptE7w0-4L-M:nvcOSZGiSug:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ptE7w0-4L-M:nvcOSZGiSug:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ptE7w0-4L-M:nvcOSZGiSug:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ptE7w0-4L-M:nvcOSZGiSug:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ptE7w0-4L-M:nvcOSZGiSug:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ptE7w0-4L-M:nvcOSZGiSug:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/ptE7w0-4L-M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/10/inspiration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/10/inspiration/</feedburner:origLink></item>
		<item>
		<title>Integration</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/VNsk_mULkj0/</link>
		<comments>http://craigrandall.net/archives/2012/09/integration/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 21:23:01 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[layers]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1693</guid>
		<description><![CDATA[TweetIntegration. This word/concept similar to application, component, data, service and so many other concerns in the software realm: it&#8217;s often the case that there are N + M meanings floating around a conversation with N people on the subject. If you provide a portfolio of products to customers, integration is typically an important aspect of [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton1693" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FTeQSqH&amp;via=craigsmusings&amp;text=Integration&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F09%2Fintegration%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>Integration</em>. This word/concept similar to application, component, data, service and so many other concerns in the software realm: it&#8217;s often the case that there are N + M meanings floating around a conversation with N people on the subject. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If you provide a portfolio of products to customers, integration is typically an important aspect of your offering. Do these products play well with each other? Can there inputs and outputs be combined into broader workflow, etc.?</p>
<p>Unfortunately I find that many integrations seems to be merely technical in nature&#8211;as if to answer &#8220;yes&#8221; to &#8220;can I <em>technically</em> integrate?&#8221; Much like answering &#8220;yes&#8221; to &#8220;do you know the time?&#8221; this strikes me as missing the point altogether.</p>
<p>Integrations must be about <strong>how should I deliver the right experience to my user</strong>. That is, integrations should be <em>experience-driven</em>.</p>
<p>So, what may be some of the signs that indicate a need for focused improvement?</p>
<ul>
<li>Workflows that span across products involve multiple login experiences (interruptions).</li>
<li>Users are forced to deal with experiences designed for a persona other than their own.</li>
<li>Software concerns are not consistent and therefore are not intuitive (e.g. able to be reused spontaneously in new business contexts).</li>
<li>Integration gaps in product must be addressed via professional services, consulting or directly by customers.</li>
</ul>
<p>Any of this sound familiar?</p>
<p>When I get involved in an integration-related project, I tend to think about the following layered concerns:</p>
<p><img src="http://craigrandall.net/images/layered-approach-to-integration.png" width="411" height="185" alt="" /></p>
<p>This approach involves:</p>
<ul>
<li>an experience-driven focus on key business roles/personas and their workflows &#8211; <em>user objective</em> over product feature/function (<strong>seamless</strong>)
</li>
<li>data and insight in context for better decisions and actions &#8211; mere hand-offs don&#8217;t add value (<strong>frictionless</strong>)</li>
<li><a href="http://craigrandall.net/archives/2011/06/thoughts-on-social-software/" title="Thoughts on social software">social</a> as glue across users (<strong>relational</strong>) &#8211; provide others&#8217; insights in context[1] to facilitate further insight and action</li>
</ul>
<p>How do you view and tackle integration in your own products?</p>
<p>[1] e.g. <a href="http://craigrandall.net/archives/2012/09/queue-and-flow/" title="Activity Streams: Queue and Flow">http://craigrandall.net/archives/2012/09/queue-and-flow/</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=VNsk_mULkj0:NAZDu1OznAk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=VNsk_mULkj0:NAZDu1OznAk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=VNsk_mULkj0:NAZDu1OznAk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=VNsk_mULkj0:NAZDu1OznAk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=VNsk_mULkj0:NAZDu1OznAk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=VNsk_mULkj0:NAZDu1OznAk:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=VNsk_mULkj0:NAZDu1OznAk:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/VNsk_mULkj0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/09/integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/09/integration/</feedburner:origLink></item>
		<item>
		<title>Activity Streams: Queue and Flow</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/ayVjWKat6E8/</link>
		<comments>http://craigrandall.net/archives/2012/09/queue-and-flow/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 17:47:53 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Experience]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[activities]]></category>
		<category><![CDATA[activity stream]]></category>
		<category><![CDATA[flow]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1683</guid>
		<description><![CDATA[TweetAwhile ago, when I was working with a team on activity stream related experience, I found myself thinking about two distinct concepts: queue and flow. Until I came across this information stream related article, I had forgotten to share these concepts (e.g. to receive feedback). So, about queue and flow&#8230; When I say queue I [...]]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton1683" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FOLNtd6&amp;via=craigsmusings&amp;text=Activity%20Streams%3A%20Queue%20and%20Flow&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2012%2F09%2Fqueue-and-flow%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>Awhile ago, when I was working with a team on <a href="http://activitystrea.ms/" title="Activity Streams" target="_blank">activity stream</a> related experience, I found myself thinking about two distinct concepts: queue and flow.</p>
<p>Until I came across <a href="http://www.readwriteweb.com/archives/the-future-of-streams-twitter-looms-as-biggest-obstacle.php" title="The Future of Streams: Twitter Looms As Biggest Obstacle" target="_blank">this information stream related article</a>, I had forgotten to share these concepts (e.g. to receive feedback).</p>
<p>So, about queue and flow&#8230;</p>
<p>When I say <em>queue</em> I refer to things such as alerts, things that require actions, things that indicate workflow, dependencies, bottlenecks, etc.</p>
<p>When I say <em>flow</em> I refer to context for queued activities (tasks) and also context to realize new tasks.</p>
<p>Feeds and inboxes are simply expressions of <em>queue</em> and/or <em>flow</em>. For example, wiki change notifications, mail list subscriptions, etc. are flow-like. Emails sent to me specifically may be queue-like. Tools like <a href="https://ifttt.com/" title="If This Then That" target="_blank">IFTTT</a> make it clear that rules (or <em>recipes</em>) can be brought to bear on activity streams.</p>
<p>Queues can form automatically/implicitly and manually/explicitly. For example, business rules may be met, causing an activity to enter one or more queues. A colleague may signal a dependency to a teammate (need cross-check, need assistance, need answer/insight to take own action, etc.), resulting in a queued activity.</p>
<p><em>Flow</em> should unfold itself based on need to know. For example:</p>
<ul>
<li>Meaningful default (last X activities, filters apply, time-based, etc.)</li>
<li>Ability to expand view&#8211;up to a point (e.g. Twitter handles roughly previous 8~10 hours)</li>
</ul>
<p>As I mentioned briefly above, an activity in the Flow can become an activity in a Queue:</p>
<ul>
<li>Alert someone else (as a notification with no dependency)</li>
<li>Alert someone else and subscribe to subsequent activity from that alert</li>
<li>Alert and realize own dependency on that task being completed</li>
</ul>
<p>Anyway, that&#8217;s my brain dump on the matter of activity streams. How are you using them in your user experiences (UX)? How are you helping your users avoid information overload?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=ayVjWKat6E8:ESY8GxrYg8M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ayVjWKat6E8:ESY8GxrYg8M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ayVjWKat6E8:ESY8GxrYg8M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ayVjWKat6E8:ESY8GxrYg8M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ayVjWKat6E8:ESY8GxrYg8M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ayVjWKat6E8:ESY8GxrYg8M:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ayVjWKat6E8:ESY8GxrYg8M:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/ayVjWKat6E8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2012/09/queue-and-flow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2012/09/queue-and-flow/</feedburner:origLink></item>
		<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. Well, I&#8217;ve had these thoughts on an increasing basis lately so I thought I&#8217;d dive [...]]]></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. The following tutorials have been helpful in ramping folks up on D3: Jan Willem Tulp&#8217;s [...]]]></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>
<p>Update 8/30/2012: Mike Bostock posted his 3/5/2012 <a href="http://bost.ocks.org/mike/d3/workshop/" target="_blank">D3 workshop</a> given at <a href="http://vizbi.org/2012/" target="_blank">VIZBI 2012</a>. Also since my original post, I discovered <a href="http://www.recursion.org/d3-for-mere-mortals/" target="_blank">D3 for Mere Mortals</a> and Christophe Viau&#8217;s <a href="http://christopheviau.com/d3_tutorial/" target="_blank">Try D3 Now</a> post.</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 perfect for him. Like most boys his age, though, he doesn&#8217;t understand &#8220;cruiser&#8221; in the [...]]]></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 shortened URLs (and everything else), you start to just think in terms of frequented room [...]]]></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 is content (and content is managed in a repository) Context is king Cloud first, mobile [...]]]></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 footprint. This makes the Experience Server suitable for deployment in the cloud, whether actual deployments [...]]]></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 experience content in context. At the center of Adobe&#8217;s technology for customizing and optimizing user [...]]]></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 side with marketing collateral, digital assets such as images, audio and video, etc. The content [...]]]></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 be worked on by different development teams and tested in isolation. When deployed, these solutions [...]]]></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 enterprise software platform for Customer Experience Management&#8211;it would be good to share the architectural principles [...]]]></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 targeting the Flash Platform, called &#8220;Gravity.&#8221; If you&#8217;re a Java developer, you probably already now [...]]]></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 the Adobe® Digital Enterprise Platform (ADEP) as a concrete expression of XOA for Flex developers, [...]]]></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 measured and monitored as delivering against intended KPIs.&#8221; It is therefore incorrect to reduce XOA [...]]]></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 concert in San Jose (Vertigo tour), but it was a good time nonetheless&#8211;could have been [...]]]></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 think about how experiences are impressionable (e.g. customers can leave impressions causing other direct/indirect participants [...]]]></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>1</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 wanted to place this idea into the Creative Commons for your consideration. At least the [...]]]></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 my cognition? It&#8217;s tragically ironic that the tagline for Douglas Rushkoff&#8217;s book incorporates an Old [...]]]></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 community as well. However, you don&#8217;t need to wait for that new version of Café; [...]]]></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 and go 100% digital. Almost two years after my winnowing (paper-based) content post, I briefly [...]]]></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 from Craig Randall. During this presentation I recommended that you consume my &#8220;Realizing great customer [...]]]></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 development and how open development is critical to architecture. David followed Roy by showing how [...]]]></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 customer experience vision as well as the growing expectations of your prospects, consumers, customers and [...]]]></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, keyboards) Erick Ballard (drums) George Moye (bass guitar) Toby Marshall (keyboards) This first video&#8211;all were [...]]]></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>
	</channel>
</rss>
