<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Data.Driven() &#187; User Experience</title>
	<atom:link href="http://datadriven.com.au/category/user-experience/feed/" rel="self" type="application/rss+xml" />
	<link>http://datadriven.com.au</link>
	<description>Marcos Caceres&#039; ramblings about stuff</description>
	<lastBuildDate>Wed, 14 Jul 2010 19:31:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9; </copyright>
		<managingEditor>marcosscaceres@gmail.com ()</managingEditor>
		<webMaster>marcosscaceres@gmail.com()</webMaster>
		<category></category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>Marcos Caceres#039; ramblings about stuff</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>marcosscaceres@gmail.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://datadriven.com.au/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://datadriven.com.au/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Data.Driven()</title>
			<link>http://datadriven.com.au</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Privacy of Geolocation Implementations</title>
		<link>http://datadriven.com.au/2010/06/privacy-of-geolocation-implementations/</link>
		<comments>http://datadriven.com.au/2010/06/privacy-of-geolocation-implementations/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 22:38:18 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[User Experience]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=200</guid>
		<description><![CDATA[Here is my position paper, &#8220;Privacy of Geolocation Implementations&#8221; (PDF ~500K), that I prepared for the W3C Workshop on Privacy for Advanced Web APIs.
UPDATE: the presentation slides are now available.
It&#8217;s a little bit drafty, so any feedback or comments welcomed. I will republish as a HTML file soon.
Investigating privacy in depth has been one of [...]]]></description>
			<content:encoded><![CDATA[<p>Here is my position paper, &#8220;<a href="http://datadriven.com.au/wp-content/uploads/2010/06/caceres_marcos_geopriv.pdf">Privacy of Geolocation Implementations</a>&#8221; (PDF ~500K), that I prepared for the <a href="http://www.w3.org/2010/api-privacy-ws/">W3C Workshop on Privacy for Advanced Web APIs</a>.</p>
<p><strong>UPDATE:</strong> the <a href="http://datadriven.com.au/2010/07/presentation-slides-privacy-of-geolocation-implementations/">presentation slides</a> are now available.</p>
<p>It&#8217;s a little bit drafty, so any feedback or comments welcomed. I will republish as a HTML file soon.</p>
<p>Investigating privacy in depth has been one of the most interesting things I&#8217;ve done in a long time&#8230; though it has left me a little bit creeped out. Hopefully I&#8217;ll get around to writing a bit more about what I read, what I&#8217;ve learned, and what practical changes I&#8217;ve made.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2010%2F06%2Fprivacy-of-geolocation-implementations%2F&amp;t=Privacy%20of%20Geolocation%20Implementations" id="facebook_share_link_200">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_200') || document.getElementById('facebook_share_icon_200') || document.getElementById('facebook_share_both_200') || document.getElementById('facebook_share_button_200');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_200') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2010/06/privacy-of-geolocation-implementations/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Privacy implications of using digital signatures to enable APIs</title>
		<link>http://datadriven.com.au/2010/06/digsigs-and-apis/</link>
		<comments>http://datadriven.com.au/2010/06/digsigs-and-apis/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:49:35 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=180</guid>
		<description><![CDATA[The following part of my forthcoming position paper for the W3C Workshop on Privacy and advanced APIs. Because my paper focused on implementation of geo-location, this sections had to be cut out. However, I think the following is relevant to the discussion about privacy and packaged Web applications, which is why I am publishing it here.
When it [...]]]></description>
			<content:encoded><![CDATA[<p><em>The following part of my forthcoming position paper for the <a href="http://www.w3.org/2010/api-privacy-ws/">W3C Workshop on Privacy and advanced APIs</a>. Because my paper focused on implementation of geo-location, this sections had to be cut out. However, I think the following is relevant to the discussion about privacy and packaged Web applications, which is why I am publishing it here.</em></p>
<p>When it comes to privacy, it is obviously insufficient to simply define an API in terms of an Interface Definition Language (IDL), such as  WebIDL and OMGIDL, within specifications. IDLs are limited in that they only allow one to express simple inputs, outputs, and data type constraints. Nevertheless, implementations exist based on specifications that only provide IDL definitions, which are agnostic to privacy.  To overcome these limitations, some implementers leverage  digital signatures as the means of enabling privacy-sensitive APIs in an application. For example, if application &#8220;X&#8221; is signed by company &#8220;Y&#8221; then allow application &#8220;X&#8221; to access API &#8220;Z&#8221;.</p>
<div class="wp-caption aligncenter" style="width: 378px"><img style="margin-top: 0px; margin-bottom: 0px; padding: 0px;" title="Java Fail" src="http://datadriven.com.au/wp-content/uploads/2010/06/Screen-shot-2010-06-04-at-3.50.07-PM.png" alt="Java digital signature OCSP validation fail" width="368" height="153" /><p class="wp-caption-text">Java treats an application as unsigned, and reduces its privileges: meaning some APIs will not be available.</p></div>
<p>Such an approach to privacy is limited in that it hands control of privacy matters over to a third-party (the signer) and implicitly assumes that the end-users unquestionably, or via a End User License Agreement (EULA), trusts the signer as the authority to enable an API without necessarily informing an end-user as to what is going on &#8220;under the hood&#8221; &#8211; such a model is commonly seen in the Java application space.</p>
<h3>Feature Requests</h3>
<p>Others have extended the digital signature to enable API model by having software developers explicitly declare what functionality an application will use (lets call them &#8220;<em>feature requests</em>&#8220;). Upon installation, the end-user is presented with a dialog informing them of the capabilities the application will use, and if they wish to proceed. An example is Chrome&#8217;s browser extensions, seen on the right.</p>
<div class="wp-caption aligncenter" style="width: 321px"><img title="Install lastPass on Google Chrome" src="http://datadriven.com.au/wp-content/uploads/2010/06/Screen-shot-2010-06-06-at-8.52.36-PM.png" alt="Install lastPass on Google Chrome" width="311" height="154" /><p class="wp-caption-text">Chrome&#39;s browser extensions show the capabilities of a packaged application, but lacks information about consequences.</p></div>
<p>From a privacy perspective, this model is significantly better then simply enabling APIs based on digital signatures. However, this model is also problematic in that it often does not provide any meaningful information about, for instance, what &#8220;can access your browsing history&#8221; coupled with &#8220;access your data on all websites&#8221; means. It can be argued that this model unfairly puts the consequences of consent on the end-user, by entering them into an agreement with an application without recourse (i.e., &#8220;Yes website/application X, you can access my history data even though I don&#8217;t know what you will do with it.&#8221;).</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2010%2F06%2Fdigsigs-and-apis%2F&amp;t=Privacy%20implications%20of%20using%20digital%20signatures%20to%20enable%20APIs" id="facebook_share_link_180">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_180') || document.getElementById('facebook_share_icon_180') || document.getElementById('facebook_share_both_180') || document.getElementById('facebook_share_button_180');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_180') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2010/06/digsigs-and-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annoying Word 2007 Citations Styles</title>
		<link>http://datadriven.com.au/2007/10/annoying-word-2007-citations-styles/</link>
		<comments>http://datadriven.com.au/2007/10/annoying-word-2007-citations-styles/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 06:34:54 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/2007/10/17/annoying-word-2007-citations-styles/</guid>
		<description><![CDATA[Yesterday I started writing a paper for WWW2008 about widgets (and given the highly competitive nature of the WWW conferences, I doubt it will be accepted). Anyway, the conference mandates that citations conform to ACM&#8217;s referencing style (eg. smith [1] says, &#8220;bla bla&#8221;), which is not currently supported by Microsoft Word. My immediate thought was, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I started writing a paper for WWW2008 about widgets (and given the highly competitive nature of the WWW conferences, I doubt it will be accepted). Anyway, the conference mandates that citations conform to ACM&#8217;s referencing style (eg. smith [1] says, &#8220;bla bla&#8221;), which is not currently supported by Microsoft Word. My immediate thought was, &#8220;Right! Word&#8217;s style files are just (OO)XML so it should just be a simple matter of changing some angled brackets to create the ACM style!&#8221;. My plan was to base the ACM style on the already supported ISO 690 style, which is similar except it uses parenthesis &#8220;(1)&#8221; instead of brackets &#8220;[1]&#8220;. So I went into MS Word&#8217;s program file directory, and located the bibliographical styles. To my shock, the reference style file was an impenetrable XSLT file (7093 lines long and completely uncommented!). I spent about 20 minutes trying to work out what the hell the file was doing&#8230; but eventually I gave up <img src='http://datadriven.com.au/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . I compared ISO 690 XSLT style file to the ACM Bibtex sytle file. The bibtex style file is only around 1700 lines long, and nicely commented I might add.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2007%2F10%2Fannoying-word-2007-citations-styles%2F&amp;t=Annoying%20Word%202007%20Citations%20Styles" id="facebook_share_link_75">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_75') || document.getElementById('facebook_share_icon_75') || document.getElementById('facebook_share_both_75') || document.getElementById('facebook_share_button_75');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_75') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2007/10/annoying-word-2007-citations-styles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unistalled Windows Vista!</title>
		<link>http://datadriven.com.au/2007/05/unistalled-windows-vista/</link>
		<comments>http://datadriven.com.au/2007/05/unistalled-windows-vista/#comments</comments>
		<pubDate>Thu, 17 May 2007 08:32:46 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/2007/05/17/unistalled-windows-vista/</guid>
		<description><![CDATA[If you are thinking of installing Vista, don&#8217;t! It is easily the biggest waste of time and money ever.  Their campaign should really focus on the &#8220;Wow! now that&#8217;s total crap&#8221; factor. Easily the most counter productivepiece of software I have ever used. After using it for 6 months I swear I was about [...]]]></description>
			<content:encoded><![CDATA[<p>If you are thinking of installing Vista, don&#8217;t! It is easily the biggest waste of time and money ever.  Their campaign should really focus on the &#8220;Wow! now that&#8217;s total crap&#8221; factor. Easily the most counter productivepiece of software I have ever used. After using it for 6 months I swear I was about to throw my laptop against the wall. I don&#8217;t usually experience frustration with software, but Windows Vista just goes too far. It&#8217;s slow, even with all the glitz turned off, and nothing works properly: could not print as the spooler service would constantly crash on start-up, explorer.exe constantly crashed, slow, slow, system freezes, more slowness, would not come back from sleep mode, argh I get angry just thinking about it!!!</p>
<p>I instead reverted back to WindowsXP (which we have now dubbed &#8220;the workhorse&#8221;). Out of frustration I also installed Ubuntu, hoping to free myself from Microsoft&#8230; alas, Linux still has a few years to go. The world is rosey again <img src='http://datadriven.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2007%2F05%2Funistalled-windows-vista%2F&amp;t=Unistalled%20Windows%20Vista%21" id="facebook_share_link_45">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_45') || document.getElementById('facebook_share_icon_45') || document.getElementById('facebook_share_both_45') || document.getElementById('facebook_share_button_45');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_45') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2007/05/unistalled-windows-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically loading Google Analytics</title>
		<link>http://datadriven.com.au/2006/12/dynamically-loading-google-analytics/</link>
		<comments>http://datadriven.com.au/2006/12/dynamically-loading-google-analytics/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 13:39:07 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.datadriven.com.au/2006/12/05/dynamically-loading-google-analytics/</guid>
		<description><![CDATA[I finally finished the Creative Industries Newswire website. The Creative Industries Newswire is a centralized place where authorized QUT staff members can author and publish news items. It is a place where users can access those news items, leave comments, and subscribe to individual news wires via RSS. It basically runs off WordPress.

A few interesting [...]]]></description>
			<content:encoded><![CDATA[<p>I finally finished the <a href="http://newswire.ci.qut.edu.au/" title="The creative industries newswire homepage">Creative Industries Newswire </a>website. The Creative Industries Newswire is a centralized place where authorized QUT staff members can author and publish news items. It is a place where users can access those news items, leave comments, and subscribe to individual news wires via RSS. It basically runs off <a href="http://wordpress.org/" title="wordpress pwns">WordPress</a>.</p>
<p style="text-align: center"><a href="http://newswire.ci.qut.edu.au/" title="The creative industries newswire homepage"><img src="http://www.datadriven.com.au/wp-content/uploads/2006/12/newswire.png" id="image31" alt="Creative Industries newswire homepage." /></a></p>
<p>A few interesting issues that emerged with relation to using <a href="http://www.google.com/analytics/" title="Google analytics ">Google analytics</a>.  The issue with this website is that it is used by both public users and users on an intranet. Intranet users at QUT may be authenticated to access resources on the intranet (such as the newswire website), but not resources on the internet. When an unauthenticated users tries to load a page with the following Google-provided code the browser  attempts to load the script but eventually times out. This can take around to 60 odd seconds in Firefox (or something close to that, not sure exactly how long). The implication is that, to the user, the browser looks as if it is still loading content. And in the browser, it does not execute the<br />
<code>&lt;script&gt; </code> tags. Below is the problematic code that Google provides:</p>
<blockquote><p><code> </code></p>
<pre>
&lt;script src="http://www.google-analytics.com/urchin.js"  type="text/javascript"&gt;
&lt;/script&gt;</pre>
<pre>&lt;script type="text/javascript"&gt;
   _uacct = "UA-XXXXXX-1"; urchinTracker();
&lt;/script&gt;</pre>
</blockquote>
<p>Looking at the code above, what essentially happens is:</p>
<ol>
<li>urchin.js needs to load synchronously and block the second script tag from running</li>
<li>once loaded, the code inside the second script element must be run</li>
<li>if the code is run without the script first loading, then the urchinTracker() method will be undefined.</li>
</ol>
<p>So, like I already stated, in the intranet scenario, the urchinTracker() method is never called because urchin.js is never loaded. To make the whole process a bit more &#8220;behind-the-scenes&#8221; I decided to recode the Google code so that it is run only once the document has executed it &#8220;onload&#8221; function. The following simply dynamically appends the DOM with a script element AFTER the document has loaded. If the script element can reach its src, then analytics info is sent to Google, otherwise, nothing happens:</p>
<blockquote><p><code> </code></p>
<pre>
window.onload = function(){
   var scriptLoadFunction = function(){
   _uacct = "UA-XXXXX-X";
   urchinTracker();
};
var e = loadScript("https://ssl.google-analytics.com/urchin.js", scriptLoadFunction);
}

function loadScript(url,aFunction){
var e = document.createElement("script");
if(e.addEventListener){
e.addEventListener("load",aFunction,true);
}else{ //try to force IE to work, but alas, it does not.
e.attachEvent("onload",aFunction);
}
e.type="text/javascript";
e.src = url;
document.getElementsByTagName("head")[0].appendChild(e);
return e;
}</pre>
</blockquote>
<p>The code works great in <a href="http://getfirefox.com/" title="Best browser ever">Firefox 2.0</a> but does not work in <a href="http://www.microsoft.com/windows/ie/default.mspx" title="the not so good browser">IE6 or IE7</a> (as IE does not support the <code>addEventListener()</code> function). If anyone has a work around to this problem, I&#8217;ll like to hear about it.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2006%2F12%2Fdynamically-loading-google-analytics%2F&amp;t=Dynamically%20loading%20Google%20Analytics" id="facebook_share_link_30">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_30') || document.getElementById('facebook_share_icon_30') || document.getElementById('facebook_share_both_30') || document.getElementById('facebook_share_button_30');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_30') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2006/12/dynamically-loading-google-analytics/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Designing Visual Interfaces</title>
		<link>http://datadriven.com.au/2006/10/designing-visual-interfaces/</link>
		<comments>http://datadriven.com.au/2006/10/designing-visual-interfaces/#comments</comments>
		<pubDate>Sun, 22 Oct 2006 06:56:21 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Book review]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.datadriven.com.au/2006/10/22/designing-visual-interfaces/</guid>
		<description><![CDATA[Today I am reading Designing Visual Interfaces: communication oriented techniques by Kevin Mullet and Darrell Sano.
Here are some gems
Visual Design attempts to solve communication problems in a way that is at once functionally effective and aesthetically pleasing. (p1)
By communication, we mean the full process by which the behaviour of one goal-seeking entity comes to be [...]]]></description>
			<content:encoded><![CDATA[<p>Today I am reading <em>Designing Visual Interfaces: communication oriented techniques</em> by Kevin Mullet and Darrell Sano.</p>
<p>Here are some gems</p>
<p><em>Visual Design</em> attempts to solve <em>communication</em> problems in a way that is at once functionally effective and aesthetically pleasing. (p1)</p>
<p>By <em>communication</em>, we mean the full process by which the behaviour of one goal-seeking entity comes to be affected by that of another through the reciprocal exchange of messages or <em>signs</em> over some mediating physical channel.p1</p>
<p>The goal of communcation-oriented design is to develop a message that can be accuratley transmitted and correctly interpreted, and which will produce the desired bhavioral outcome after it have been understood by its recipient.p2</p>
<p>We refer frequently to a visual language, by which we mean the visual characteristics (shape, size, position, orientation, color, texture, etc.) of a particular set of design elements (point, line, plane, volume, etc.) and the away they are related to one another (balance, thythm, structure, proportion, etc) in solving a particular problem. Any <em>language system </em>defines both a universe of possible signs and a set of rules for using them. Every visual language thus has a <em>formal vocabulary </em>containing the basic design elements from which higher-level representations are assembled, and a <em>visual syntax </em>describing how elements may be combined within that system.<br />
p2</p>
<p>In the context of GUI toolkits, &#8220;&#8230;most toolkits impose unnecessary design restrictions as a side effect of their own implementation or internal structure.&#8221;p4</p>
<p>Basic principles of visual organisation developed through centuries of experience with print media have rarely been applied to the on-screen media, and communication has suffered as a result. p5</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2006%2F10%2Fdesigning-visual-interfaces%2F&amp;t=Designing%20Visual%20Interfaces" id="facebook_share_link_22">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_22') || document.getElementById('facebook_share_icon_22') || document.getElementById('facebook_share_both_22') || document.getElementById('facebook_share_button_22');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_22') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2006/10/designing-visual-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The essence of effective RIAs</title>
		<link>http://datadriven.com.au/2006/08/the-essence-of-effective-rias/</link>
		<comments>http://datadriven.com.au/2006/08/the-essence-of-effective-rias/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 08:00:00 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[RIAs]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.datadriven.com.au/?p=15</guid>
		<description><![CDATA[I just finished reading (actually, the computer just read to me (w00t!)) The Essence of Effective Rich Internet Applications, a Macromedia white paper by Kevin Mullet. Although terribly business oriented in tone and examples, (some people might like been spoken to like an executive-type, kinda makes you feel like you could hang out with Donald [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished reading (actually, the computer just read to me (w00t!)) <a href="http://download.macromedia.com/pub/solutions/downloads/business/essence_of_ria.pdf"><em>The Essence of Effective Rich Internet Applications</em></a>, a Macromedia white paper by Kevin Mullet. Although terribly business oriented in tone and examples, (some people might like been spoken to like an executive-type, kinda makes you feel like you could hang out with Donald Trump) the paper outlines some nice little keywords that Macromedia uses to describe what makes an effective RIA, namely:</p>
<ul>
<li>Seamless experience</li>
<li>Focused experience</li>
<li>Connected experiece</li>
<li>Aware experience</li>
</ul>
<p><span id="more-15"></span><strong>Seamless experience</strong>When it comes to RIAs, the user experience should be seamless. Seamlessness applies to both the layout of information on an interface (static/spatial), and also the temporality of that experience (dynamic/temporal/spatial). Mullet cites the obvious example of page reloads and the quick flash of white that the user might see as a new page is loaded.  Often this breaks the interface metaphor, particularly as it relates to tabbed interface elements. I agree that this is a significant problem, but have never felt it was a massive problem from a design perspective (the millions of happy Amazon users will bear witness to that!). Obviously, it is much better if the response of clicking on a tab is instantaneous, which I am sure we will see more frequently with XMLHttpRequest taking off.</p>
<p><strong>Focus experience</strong></p>
<p>The tools of the application should be task focused and not try to solve everything with one interface.  &#8220;A <em>focused </em>experience has a purpose that is clearly defined at the outset and continuously reinforced&#8221; (p17).</p>
<p><strong>Connected experience</strong></p>
<p>The application will be both interoperable and able to cope with periodic disconnections from the network without disrupting the user&#8217;s productivity. Connectedness and disconnectedness should be as seamless as possible to the user experience, with the software either intelligently finding alternative way to access the network, or caching the user&#8217;s work locally until the network connection can be re-established.</p>
<p><strong>Aware experience</strong></p>
<p>Aware talks about an adaptive user interface. This can range from full adaptivenes , to simple little things like an auto complete function.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2006%2F08%2Fthe-essence-of-effective-rias%2F&amp;t=The%20essence%20of%20effective%20RIAs" id="facebook_share_link_15">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_15') || document.getElementById('facebook_share_icon_15') || document.getElementById('facebook_share_both_15') || document.getElementById('facebook_share_button_15');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_15') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2006/08/the-essence-of-effective-rias/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elements of user experience</title>
		<link>http://datadriven.com.au/2006/05/elements-of-user-experience/</link>
		<comments>http://datadriven.com.au/2006/05/elements-of-user-experience/#comments</comments>
		<pubDate>Tue, 30 May 2006 06:23:42 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Book review]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.datadriven.com.au/?p=8</guid>
		<description><![CDATA[This entry is basically notes I took while reading from Jesse James Garrett’s book Elements of User Experience.We all know Jesse as the guy that gaves us the most inaccurate accronym in all of computing history (yes, I am talking about AJAX   ). However, his book is pretty cool yet some what overly [...]]]></description>
			<content:encoded><![CDATA[<p>This entry is basically notes I took while reading from Jesse James Garrett’s book <em>Elements of User Experience.</em>We all know Jesse as the guy that gaves us the most inaccurate accronym in all of computing history (yes, I am talking about AJAX <img src='http://datadriven.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). However, his book is pretty cool yet some what overly simplistic. Then again,  the intended audience is anyone, so that makes the content it very accessible to just about anyone. If I had some rating stars, I would sprinkle 3 or 4 liberally.</p>
<p><span id="more-8"></span></p>
<p>Jesse James Garrett defines user experience as “how the product behaves and is used in the real world” (p10). The above definition is interesting because it means that user experience, in a design context, follows form, and we all know that form follows function. That is, understanding how a user experiences an object takes place after a product has been put into a context where people are “realistically” using it. If the user experience takes the form of study to inform the design process, then it forms a feedback loop.</p>
<p>Anyway, Garrett (p22-23) breaks the elements of a user’s experience into 5 planes. These five elements are not concrete elements themselves, but more like logical development methodologies that come together to make a final form. The layers start from abstract ideas, such as the goals and user needs, and which slowly materialise into concrete representations as some sort of a user interface:</p>
<ul type="disc">
<li>The      surface plane: presentational elements of a design</li>
<li>The      skeleton plane: the logical organisational structure of elements within      the design</li>
<li>The structure plane: overall logical structure of all the content of a web site and the logical content blocks which are presented to user as they interface with the site</li>
<li>The scope plane: the scope of functionality on the site, and the logical tools that allow users access to that functionality</li>
<li>The      strategy plane: defines the aims and objectives of the site.</li>
</ul>
<p>Design decisions made at any level ultimately affect the effectiveness of every other level.</p>
<p>Although lacking any historical data, Garrett (p28-29) describes the shift (and continual development) of the web as a publishing medium to an application platform: “Technology continued to advance on both fronts as all kinds of sites made the transition from static collections of information that changed infrequently to dynamic data-driven sites that were constantly evolving.”</p>
<p>Garrett continues by describing a web development community that was divided into two groups: those that approached the web from a software engineering approach, applying knowledge routed in traditional desktop software development. The other group approached the problem from a media distribution/electronic publishing perspective, relying on knowledge from electronic publishing, media distribution models, and information science. He describes this as a problematic duality of sorts, were half view the web as a software interface, and the other half as a hypertext system (p30).</p>
<p>Garrett continues (p31), stating that understanding the web as a software interface means looking at tasks. : “the steps involved in a process and how people think about completing them… we consider the site as a tool, or set of tools that the user employs to accomplish one of more tasks.” However, on the hypertext system side, the problem becomes one that relates to <em>information: </em>“what information the site offers and what it means to our users. Hypertext is about creating an information space that users can move through.”</p>
<p>Garret takes the development methodologies used by each group to refine the five layers listed above. This produces a hybrid development methodology where the needs of the needs of the business are juxtaposed with the needs of users. On strategy plane, we now find <em>user needs </em>and <em>site objectives</em>. For a banking website, for example, users need tools to be able to do their banking on-line, while the bank needs to cut costs of maintaining ATMs by introducing a web-based service.</p>
<p>On the scope layer, we now find <em>functional specification </em>and <em>content requirements</em>. The functional specification is the complete feature set to be used on a website, while content requirements includes what content is required for the site.</p>
<p>On the structure plane we now find <em>information architecture </em>and <em>interaction design. </em>Interaction design refers to “how the system behaves in response to the user” (p32). Information architecture refers to the logical groupings of content so that it makes sense to the user.</p>
<p><em> </em></p>
<p>On the skeleton layer, we find <em>information design</em> covering both the software and hypertext side, but it is also complimented by <em>interface design </em>and <em>navigational design</em>. Information design refers to “the presentation of information in way that facilitates understanding” (p34). Interface design refers to “arranging interface elements to enable users to interact with the functionality of the system.” And, navigational design refers to “the set of screen elements that allow the user to move through the information architecture.”</p>
<p>Lastly, on the surface plane, Garrett puts visual design, what he defines as “the look of the finished product.” (all quotes are from p33-4)</p>
<p>To summarise, elements fall into either software interface (SI) or hypertext systems (HS) discourses, or on both sides (BS):</p>
<ul type="disc" style="margin-top: 0cm">
<li>Surface</li>
<ul type="circle" style="margin-top: 0cm">
<li>Visual       design (BS)</li>
</ul>
<li>Skeleton</li>
<ul type="circle" style="margin-top: 0cm">
<li>Information       design (BS)</li>
<li>Interaction       design (SI)</li>
<li>Navigational       design (HS)</li>
</ul>
<li>Structure</li>
<ul type="circle" style="margin-top: 0cm">
<li>Interaction       design (SI)</li>
<li>Information       architecture (HS)</li>
</ul>
<li>Scope</li>
<ul type="circle" style="margin-top: 0cm">
<li>Functional       specifications (SI)</li>
<li>Content       requirements (HS)</li>
</ul>
<li>Strategy</li>
<ul type="circle" style="margin-top: 0cm">
<li>User       Needs (BS)</li>
<li>Site       Objectives (BS)</li>
</ul>
</ul>
<p>In practice, the expertise from each field becomes the goal of each layer. Each layer is a goal, not finished one at a time, but done relative to each other. The lower levels have a higher priority in the creating cycle, because they are the foundation and ultimately determine the form of the system.</p>
<p><strong>The strategy plane</strong></p>
<p>“the foundation of a successful user experience is a clearly articulated strategy” (p39).</p>
<p>Site objectives – what does the business want to get from the website (p41)</p>
<p>Business goals</p>
<p>Bran identity – as is relates to the political agenda in the communication process (p42)</p>
<p>Suceess metrics – what tools are used to measure the successful implementation of the site objectives and user user needs. “Concrete indicators how effectively the user experience is meeting the strategic goals.(p44)”</p>
<p>User needs – what do the users need from the website</p>
<p>User segmentation – used to identify different user groups (p47)</p>
<p>Demographics: age, gender, education level,</p>
<p style="margin-left: 72pt">Psychographic “profiles descbbe the attidudes and perceptions that your users have about the world or agbout the subject matter of your site in aprticular.” (p47)</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdatadriven.com.au%2F2006%2F05%2Felements-of-user-experience%2F&amp;t=Elements%20of%20user%20experience" id="facebook_share_link_8">Share on Facebook</a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_8') || document.getElementById('facebook_share_icon_8') || document.getElementById('facebook_share_both_8') || document.getElementById('facebook_share_button_8');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_8') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://datadriven.com.au/2006/05/elements-of-user-experience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
