<?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/"
	>

<channel>
	<title>Xebia Blog &#187; Usability</title>
	<atom:link href="http://blog.xebia.com/category/usability/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Grails Syntax Highlighter Plugin Released</title>
		<link>http://blog.xebia.com/2008/05/20/grails-syntax-highlighter-plugin-released/</link>
		<comments>http://blog.xebia.com/2008/05/20/grails-syntax-highlighter-plugin-released/#comments</comments>
		<pubDate>Tue, 20 May 2008 18:28:25 +0000</pubDate>
		<dc:creator>Erik Pragt</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[syntax highlighter]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=570</guid>
		<description><![CDATA[Grails syntax highlighter plugin Yesterday, I released my first plugin for Grails. The goal of the plugin is to do Syntax Highlighting for Code Snippets in HTML pages, for which no plugin existed yet. The plugin supports a whole range of languages, and even includes Groovy Highlighting support. The Grails Synax Highlighter builds on the [...]]]></description>
			<content:encoded><![CDATA[<h3>Grails syntax highlighter plugin</h3>
<p>Yesterday, I released my first plugin for Grails. The goal of the plugin is to do Syntax Highlighting for Code Snippets in HTML pages, for which no plugin existed yet. The plugin supports a whole range of languages, and even includes Groovy Highlighting support. The Grails Synax Highlighter builds on the great work of Alex Gorbatchev, who wrote and maintains the Javascript Syntax Highlighter.<br />
<span id="more-570"></span><br />
Since pictures say more that a 1000 words can describe, I&#8217;ll show you a sample output of plugin:<br />
<a href='http://blog.xebia.com/wp-content/uploads/2008/05/overview.png'><img src="http://blog.xebia.com/wp-content/uploads/2008/05/overview.png" alt="" title="overview" width="500" height="171" class="alignnone size-full wp-image-572" /></a></p>
<p>The above is some syntax colored code, and also includes linenumbers, support to copy it to your clipboard, etc. So, how can we use it in Grails?</p>
<h3>Installation</h3>
<p>Well, the first step to take is to install it. If you don&#8217;t have a Grails project, you can create one by using the <code>grails create-app &lt;name></code> command. After that, install the plugin by doing a <code>grails install-plugin syntax-highlighter</code>. Grails will download the plugin from the plugin repository. The plugin contains everything you need, so there&#8217;s no need to manually download the Javascript library.</p>
<p>After the plugin is installed, you will have a new &#8216;syntaxhighlighter&#8217; directory in your
<projectroot>/web-app/js and css directory. These directories contain the various formatters, like Java, PHP, Groovy, and the style used for them, which can be changed by modifying the CSS file.</p>
<h3>Usage</h3>
<p>The Plugin can be used in the following way. First, include the &lt;syntax:resources> tag in the head of the GSP page. The &lt;syntax:resources> tag is responsible for loading the required Javascript and CSS and has two required attributes: name and languages. The name corresponds to the name of the<br />
code blocks to highlight in the body of the GSP page. The languages attribute takes in a map of different languages. <a href="http://www.grails.org/SyntaxHighlighter+Plugin">This page</a> provides an overview of all the supported languages.</p>
<p>To syntax highlight the code using the plugin, you can use the &lt;syntax:format> (which I should probably rename to &lt;syntax:highlight>, now I think of it..). This tag also has two required attributes, which are similar to the resource tag: name and language, which are hopefully self explanatory.</p>
<h3>Example</h3>
<p>A complete example looks like this:</p>
<pre lang="xml">
<html>
<head>
   <syntax:resources name="code" languages="${['Java', 'Groovy']}" />
</head>
<body>
<h1>Some Groovy code</h1>

   <syntax:format name="code" language="groovy">
class User {
   def name
   def password
}
   </syntax:format>
<h1>And some Java code</h1>

   <syntax:format name="code" language="java">
public class User {
   private String name;
   private String password;

   public String getName() {
     return name;
   }
}
   </syntax:format>
</body>
</html>
</pre>
<p>Which produces this output:</p>
<p><a href='http://blog.xebia.com/wp-content/uploads/2008/05/example-output.png'><img src="http://blog.xebia.com/wp-content/uploads/2008/05/example-output.png" alt="" title="example-output" class="aligncenter size-medium wp-image-571" /></a></p>
<p>As a bonus, the &lt;syntax:format> automatically encodes the HTML and XML elements in the tag body. So you don&#8217;t have to escape these elements yourself, the plugin does it for you. And if you don&#8217;t like it, you can turn it off by using the &lt;syntax:format escapeXml=&#8221;false&#8221;> attribute.</p>
<p>I hope this gave a nice overview of the plugin, and what you can do with it. For more information, head over to the <a href="http://www.grails.org/SyntaxHighlighter+Plugin">Grails Plugin page</a>, which should contain all the information you need. And if you miss something, don&#8217;t hesitate to leave a comment!</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2008/05/20/grails-syntax-highlighter-plugin-released/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2008%2F05%2F20%2Fgrails-syntax-highlighter-plugin-released%2F&amp;title=Grails%20Syntax%20Highlighter%20Plugin%20Released" id="wpa2a_2"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2008/05/20/grails-syntax-highlighter-plugin-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JavaOne 2008 Day Four: That&#8217;s a wrap!</title>
		<link>http://blog.xebia.com/2008/05/10/javaone-2008-day-four-thats-a-wrap/</link>
		<comments>http://blog.xebia.com/2008/05/10/javaone-2008-day-four-thats-a-wrap/#comments</comments>
		<pubDate>Sat, 10 May 2008 17:28:44 +0000</pubDate>
		<dc:creator>Mischa Dasberg</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Semantic Web]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=561</guid>
		<description><![CDATA[Today was the last day of the JavaOne Conference. We came to the point when a lot of OutOfMemoryErrors where thrown. We just managed to squeeze in the last sessions. Today&#8217;s keynote was all about toys. The guys from the Netbeans team showed some new features such as a JavaScript editor (which contains code completion), [...]]]></description>
			<content:encoded><![CDATA[<p>Today was the last day of the JavaOne Conference. We came to the point when a lot of OutOfMemoryErrors where thrown. We just managed to squeeze in the last sessions.</p>
<p>Today&#8217;s keynote was all about toys. The guys from the Netbeans team showed some new features such as a JavaScript editor (which contains code completion), Sentilla showed there small sensor thingies, which you can program to gather information, such as acceleration, temperature etc.., LiveScribe showed there very cool pen and lots more.</p>
<p>Today&#8217;s topic included:</p>
<ul>
<li>User Experience</li>
<li>SOA</li>
<li>Semantic Web</li>
</ul>
<p><span id="more-561"></span></p>
<p><strong>Mischa and Erik Jan  on The Layperson’s Guide to Building a Better User Experience</strong></p>
<p>Burk Hufnagel showed in his presentation how to <italic>leverage the skills you already have and build experiences that delight your users.</italic></p>
<p>The term “User Experience” describes how people feel about using something. This is very important, because if the experience isn&#8217;t satisfying,</p>
<ul>
<li>The ability to get things done is slow.</li>
<li>The software will be replaced by software that does have a satisfying experience.</li>
</ul>
<p>The Layperson&#8217;s guide is a guide for non-experts, on how to develop the best &#8220;User Experience&#8221; for the target group.</p>
<p>So what affects the user’s experience?</p>
<ul>
<li>Interaction Design</li>
<li>How the users thinks it works.</li>
<li>How the system is actually built.</li>
<li>How the system presents itself to the user</li>
</ul>
<p>Doing Test Driven Design has a couple of benefits like</p>
<ul>
<li>Writing tests first makes it easier to you create the right interfaces and behaviors later.</li>
<li>Writing tests first can reduce the chances of the implementation model leaking into the representation model.</li>
</ul>
<p>So how do you start? Well identifying the Key users is a good start.<br />
They are te ones that must be satisfied for the product to succeed in the market.<br />
Next you need to develop Persona&#8217;s, figure out there behavior, motivation and goals. It may take some time to get to the<br />
bottom of this, but it is better then to guess what they want. Try to limit the amount of persona&#8217;s, because you need to create<br />
an interface for all of them, to be able to get the best User Experience for all Key Users.</p>
<p>Developing like this may take a little more time on startup, but will gain a lot in the end.</p>
<p><strong>Jeroen on the Semantic Web</strong><br />
Today I had another talk on the Semantic Web, this time a real Technical Session by one of the same guys who talked in yesterday&#8217;s discussion panel, Dean Allemang from TopQuadruant. His talk was similarly titled as his book: Semantic Web for the Working Ontologist.</p>
<p>One of the best ways to describe the semantic web is probably using the following sentence: From data on the web to a Web of Data. Our current Web mostly consists of data that us humans can interpret as meaningful, but it has no meaning whatsoever to machines. In the Semantic Web, it is all about adding another dimension to data so that both humans and computers can reason about the data.</p>
<p>One of the standards for the Semantic Web is the Resource Description Framework (RDF). RDF is a way of storing data as triples (subject, predicate, object) distributed across a network, using URI&#8217;s as identifiers  for the data. For instance if I wanted to model the plays Hamlet and Romeo and Juliet written by Shakespeare in RDF I could write down the following:</p>
<pre>
(1, my:writer, Shakespeare)
(1, my:title, Hamlet)
(2, my:writer, Shakespeare)
(2, my:title, Romeo and Juliet)
</pre>
<p>However as you can see, my:title could be very different from your:title. Where my:title is the title of the play, your:title could be your degree, like &#8220;MSc.&#8221;. This means that the first requirement for the Semantic Web is that we need to agree to disagree. Using namespacing we can assign different meanings to the same terms.</p>
<p>The Semantic Web is all about data, and not about how you represent the data. Yo can chose your own representation and map that to someone else&#8217;s representation. For example, if I wanted to say that my:writer is the same as a Dubblin Core author, I could write down the following RDF triple:</p>
<pre>
(my:writer, owl:equivalentProperty, dc:author)
</pre>
<p>Now anyone knows that if I say writer, I am actually talking about an author. What is nice is that RDF is used for both the data, as well as the schema. Usig these constructions we can build an ontology. An ontology is best described as: A reusable component of a distributed semantic model. A well known example of an ontology is the Dublin Core standard.</p>
<p>This primer into the Semantic Web was pretty good and clear. I hope they&#8217;ll give some more talks on this subject.</p>
<p><strong>Marco on his day</strong><br />
<em>Keynote: extreme innovation</em><br />
This one was about some of the really cool things you can do with Java. The absolute highlight was the Pulse smartpen, a Java-enabled pen that can not only record what you write &#038; what you hear at the same time, but also order a cup of coffee. In Mandarin. Also noteworthy was a car that can drive &#038; park by itself, which will become hugely popular amongst Asian people &#038; women, I hope.</p>
<p><em>Designing GUI&#8217;s 101: From User Needs To Usable GUI&#8217;s</em><br />
Thank heaven this one only lasted for about 30 minutes, as absolutely nothing new was said (&#8220;so we first need to ask the users what they want, then create a prototype, and then ask the same users again what they think of it? Brilliant!&#8221;).</p>
<p><em>Using SOA, EAI, and BPM to reengineer Legacy Applications to Java 2 Platform, Enterprise J2EE Platform</em><br />
A real-life story about how to drag a legacy system kicking &#038; screaming into the 21st century. I really dug this one, with a very energetic speaker talking about how they wanted to save 30 years of business logic stored in the system by putting JNI on top of it, then later taking another step into the future with SOA. One lesson learned: apparently it&#8217;s easier to teach Java developers assembly code than vice versa. Which should insult me in some way as I started out doing machine language, but I&#8217;m just too tired to care at this point.</p>
<p><em>Open Source Development Tools fir the Java Platform, Enterprise Edition (Java Platform), Web 2.0 and SOA</em><br />
The final session I attended and it sure was hot, temperature wise that is. The demo gods still seemed to be angry, resulting in the room telling the presenter what to do, instead of the other way around (rule #61: if there is a stack trace, study it to see what is wrong – it will save time). After a change of subject (JBoss ESB instead of Seam) things got pretty interesting again, too bad it wasn&#8217;t possible anymore to get hold of the free development cd.</p>
<p><em>Epilogue</em><br />
It was really clear that this was the last day, as both the number of visitors and the energy level of those still present was down. After attending so many sessions (and writing about them to boot) I myself am &#8216;stuffed&#8217;, but all things considered it was a fantastic experience, and I certainly learned a lot. I&#8217;m glad I decided to concentrate on one track (SOA), even though it means I missed out on some other great presentations. Then again, my esteemed colleagues saw those, and I&#8217;m pretty sure they will blog about it as well somewhere else.</p>
<p>What do you mean, they share this space with me? I&#8217;m a star damn it, I deserve my own space! Now go get me some monkeys!</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2008/05/10/javaone-2008-day-four-thats-a-wrap/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2008%2F05%2F10%2Fjavaone-2008-day-four-thats-a-wrap%2F&amp;title=JavaOne%202008%20Day%20Four%3A%20That%26%238217%3Bs%20a%20wrap%21" id="wpa2a_4"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2008/05/10/javaone-2008-day-four-thats-a-wrap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Importance of Usability in Enterprise IT</title>
		<link>http://blog.xebia.com/2008/04/18/importance-of-usability-in-enterprise-it/</link>
		<comments>http://blog.xebia.com/2008/04/18/importance-of-usability-in-enterprise-it/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 09:35:14 +0000</pubDate>
		<dc:creator>ShriKant Vashishtha</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Usability]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=510</guid>
		<description><![CDATA[These days a lot of big organizations are spending a good amount of money on making their websites more usable. And you may want to know why? Think about a Fortune 50 organization (with around 100 thousands employee strength) which has many web applications working across the organization. It may have intranet applications, some business [...]]]></description>
			<content:encoded><![CDATA[<p>These days a lot of big organizations are spending a good amount of money on making their websites more usable. And you may want to know why?</p>
<p>Think about a Fortune 50 organization (with around 100 thousands employee strength) which has many web applications working across the organization. It may have intranet applications, some business applications etc to facilitate business in effective way. These organizations spend a lot of money on IT spending and generally require many new applications every quarter. Now think about a case where all these new web based applications are different in their look and feel (navigation, fonts, colors etc) from each other.<br />
<span id="more-510"></span></p>
<p>If that organization doesn’t use consistent look and feel, it becomes really hard for its employees to get used to new applications every now and then. People take a lot of time just to get familiar with the new application and its navigation and you may say, hey… why don’t you spend some money for training these people. Here I am not saying that you don’t change the look and feel with the span of time and with the advent of new technologies. But how about a situation where in case you want to change the look and feel across enterprise, it’s just the implementation of new enterprise UI standards to those applications without significant code change. </p>
<p>Good questions but how about training 100 thousand people. It takes a lot of money, resources and logistics efforts from enterprise side to train these people. And again in case a new person joins the company, he’ll have hard time to be familiar with the application.</p>
<p>So now as an IT division of that organization, we may not want to spend a lot of money but still would like to make applications usable. The answer to those questions comes in terms making your applications intuitive. Many organizations really believe the philosophy/slogan of a very well known usability book “Don’t make me think”. The idea is to make the applications so intuitive and self explanatory that you really will not require a full fledged training. If people get to work on a totally new applications and they are familiar with the look and feel, they really won’t take much time to get acclimatize with the new application.</p>
<p>Another focus area is to spend a lot less time on making things work with an application. Think about a case where it takes around 20 clicks and corresponding wait time to complete one business transaction. You may have come across with these kinds of applications already I guess. That’s a pain, don’t you think. Let me give you yet another example. While booking a plain ticket, if you want to select the destination, you may need to click on an image which pops-up a “choose destination” screen. You will put your search criteria followed by yet another click to search, select and put the result on the parent screen. That’s a lot of effort and time wastage. The end user may be annoyed if the internet speed is not good for some reason. How about you start typing and AJAX interface provide you the option to choose from just in time. You as an end user are able to finish that task within a sec. So less number of clicks is one of the usability principles you may want to focus on while creating the web application.</p>
<p>Let’s talk about some more examples which may be relevant to your day to day experience working with web applications.</p>
<ol>
<li>Complex Navigation: Sometimes you don’t have a clue for how to reach to a certain page as it may be under a complex (lengthy) and nested navigation (remember some Confluence pages )
<li>Ever thought why text is always left-aligned and not center aligned. Humans are more used to read from left-to-right always and as soon as you make the text center-aligned, people have a hard time just to read it.
<li>Older people feel more comfortable while reading something with big fonts. So it may make sense to provide the capabilities in the website to change it with a lot less efforts.
<li>Some colors are more soothing while reading. Generally you try to avoid something with black background but it’s generally pleasant to read something with white background.
<li>Consistent look and feel helps a lot in branding a company. Think about Xebia and you remember its logo and prominence of purple color. People start relating brand with logo and color and the way you structure the look and feel. If consistency is lost between websites, the brand doesn’t itch in the people’s memory.
</ol>
<p>In JEE based development, developers are more focused on creating the server side components and the focus towards creating a usable UI is relatively less as they may not be aware about UI usability at-all. Irrespective of cutting edge technologies you may be using, if application UI is not usable, people won’t use it. Many IT shops are already spending their resources on usability already and those who haven’t, need to focus on this aspect of software development to provide good IT solution to the customer.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2008/04/18/importance-of-usability-in-enterprise-it/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2008%2F04%2F18%2Fimportance-of-usability-in-enterprise-it%2F&amp;title=Importance%20of%20Usability%20in%20Enterprise%20IT" id="wpa2a_6"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2008/04/18/importance-of-usability-in-enterprise-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/category/usability/feed/ ) in 1.72973 seconds, on Feb 9th, 2012 at 5:11 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 6:11 pm UTC -->
