<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Can software developers build usable GUI&#8217;s?</title>
	<atom:link href="http://blog.smart-java.nl/blog/index.php/2009/04/17/can-software-developers-build-usable-guis/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.smart-java.nl/blog/index.php/2009/04/17/can-software-developers-build-usable-guis/</link>
	<description>Ordina J-Technologies - Java Blog</description>
	<lastBuildDate>Fri, 30 Jul 2010 13:00:28 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: vha17834</title>
		<link>http://blog.smart-java.nl/blog/index.php/2009/04/17/can-software-developers-build-usable-guis/comment-page-1/#comment-186</link>
		<dc:creator>vha17834</dc:creator>
		<pubDate>Wed, 22 Apr 2009 09:40:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/blog/?p=368#comment-186</guid>
		<description>Jan-Kees,

Of course I&#039;m talking in general. For sure there are software developers that can step into the mind of the end-user and are therefore able to build useable interfaces. But I think the majority is not quite aware what to focus on.

Interaction designers should have, just like the developers on your team, knowledge of the business domain they are working in. In addition to that they must understand how end-users interact/observe the system in order to design a highly useable interface. They shouldn&#039;t just copy what&#039;s currently hot. So when they don&#039;t know the domain and are just copying the hypes then they are probably as bad or even worse then when sofware developers design interfaces.

In my opinion your other points are the exact reason why developers are not the best interface designers. From a developers point of view we see a lot of technology related issues like transactions, commits, HTML elements, AJAX, forms etc. etc. This is the implementation model of the application. Developers should be good at this kind of modelling. 

End-users however have a different view on an application. End-users do not know (and should not know/care/bother) about the internals of the application. They have a so-called mental-model. This mental-model makes them comfortable enough to work with the application. 

You can compare this with how you think what happens when you use your cell-phone to call someone that happens to be on vacation in Italy. Your mental model just tells you that you push a number, the telephony switch receives those digits and makes a connection to the other phone. This is comfortable enough to use it. You don&#039;t have to know that there is HLR and a VLR involved and that the person you&#039;re calling has a temporary directory number assigned on the Italian switch. All this is handled by the network and the developers that wrote the software for the switch took care of that. The gap between the mental-model and the implementation model is bridged by those developers. All you, as the end-user of the system, need to know are is the phone number of the person you&#039;re calling which makes the system easy to use.

The same goes for UI design. We, developers, know the implementation model. The interaction designers should focus on the mental-model of the end-user and create a UI that matches that mental-model. It is the end-user that uses the system and the system must support the task the end-user is executing. There can be quite a mismatch between the mental-model and the implementation model. It is our job to close that gap with all creativity and technology we have to our disposal.

And as long as there are no (good) interaction designers available we should be aware of the end-users mental-model and that there might be a big mismatch with the implementation model.

Grt,
 Vincent Hartsteen</description>
		<content:encoded><![CDATA[<p>Jan-Kees,</p>
<p>Of course I&#8217;m talking in general. For sure there are software developers that can step into the mind of the end-user and are therefore able to build useable interfaces. But I think the majority is not quite aware what to focus on.</p>
<p>Interaction designers should have, just like the developers on your team, knowledge of the business domain they are working in. In addition to that they must understand how end-users interact/observe the system in order to design a highly useable interface. They shouldn&#8217;t just copy what&#8217;s currently hot. So when they don&#8217;t know the domain and are just copying the hypes then they are probably as bad or even worse then when sofware developers design interfaces.</p>
<p>In my opinion your other points are the exact reason why developers are not the best interface designers. From a developers point of view we see a lot of technology related issues like transactions, commits, HTML elements, AJAX, forms etc. etc. This is the implementation model of the application. Developers should be good at this kind of modelling. </p>
<p>End-users however have a different view on an application. End-users do not know (and should not know/care/bother) about the internals of the application. They have a so-called mental-model. This mental-model makes them comfortable enough to work with the application. </p>
<p>You can compare this with how you think what happens when you use your cell-phone to call someone that happens to be on vacation in Italy. Your mental model just tells you that you push a number, the telephony switch receives those digits and makes a connection to the other phone. This is comfortable enough to use it. You don&#8217;t have to know that there is HLR and a VLR involved and that the person you&#8217;re calling has a temporary directory number assigned on the Italian switch. All this is handled by the network and the developers that wrote the software for the switch took care of that. The gap between the mental-model and the implementation model is bridged by those developers. All you, as the end-user of the system, need to know are is the phone number of the person you&#8217;re calling which makes the system easy to use.</p>
<p>The same goes for UI design. We, developers, know the implementation model. The interaction designers should focus on the mental-model of the end-user and create a UI that matches that mental-model. It is the end-user that uses the system and the system must support the task the end-user is executing. There can be quite a mismatch between the mental-model and the implementation model. It is our job to close that gap with all creativity and technology we have to our disposal.</p>
<p>And as long as there are no (good) interaction designers available we should be aware of the end-users mental-model and that there might be a big mismatch with the implementation model.</p>
<p>Grt,<br />
 Vincent Hartsteen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan-Kees van Andel</title>
		<link>http://blog.smart-java.nl/blog/index.php/2009/04/17/can-software-developers-build-usable-guis/comment-page-1/#comment-177</link>
		<dc:creator>Jan-Kees van Andel</dc:creator>
		<pubDate>Sun, 19 Apr 2009 10:09:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.smart-java.nl/blog/?p=368#comment-177</guid>
		<description>I understand your point, but I don&#039;t completely agree. Three things:

1 On my current project (ebanking project), we have a project team of about 20 people. About 10-12 of them are developers. We have 3 information analysts, 2 interaction designers and a visual designer. What I see with the graphics guys (interaction design + visual design) is that they are very Facebook/Hyves/Twitter oriented. They introduce things that may look good on a social networking site, but are useless when building a secure banking site. They don&#039;t understand (I think) the difference between playing around on the net and doing serious financial business. It&#039;s often the developers (with knowledge about backend systems and things like Interpay) who need to tell them that they are wrong.

2 Another thing is that developers are usually very capable of abstracting and modelling things into consistent structures. Consistency is also a good practice when designing UI&#039;s, because you want the user to directly understand what a UI component is doing. For example, you want to make it very clear to the user that some actions trigger the commit of a transaction. They can do everything they want when &quot;playing&quot;, but when it comes to the final &quot;submit/commit/save&quot;, they must be sure they&#039;ve entered correct data.

3 Developers are hard core internet users who usually understand the do&#039;s and don&#039;ts of web development. They understand the concepts of links/forms/back buttons/HTML elements/AJAX/state/security/performance, etc. and can thus oversee the whole picture when an interaction designer introduces some fancy thing.

Sure, I&#039;m aware that developers are usually lazy and thus do everything to prevent fancy stuff to enter the realm of requirements, but I don&#039;t agree with any statement that developers don&#039;t have a valid vision on UI design.

Just my two cents...</description>
		<content:encoded><![CDATA[<p>I understand your point, but I don&#8217;t completely agree. Three things:</p>
<p>1 On my current project (ebanking project), we have a project team of about 20 people. About 10-12 of them are developers. We have 3 information analysts, 2 interaction designers and a visual designer. What I see with the graphics guys (interaction design + visual design) is that they are very Facebook/Hyves/Twitter oriented. They introduce things that may look good on a social networking site, but are useless when building a secure banking site. They don&#8217;t understand (I think) the difference between playing around on the net and doing serious financial business. It&#8217;s often the developers (with knowledge about backend systems and things like Interpay) who need to tell them that they are wrong.</p>
<p>2 Another thing is that developers are usually very capable of abstracting and modelling things into consistent structures. Consistency is also a good practice when designing UI&#8217;s, because you want the user to directly understand what a UI component is doing. For example, you want to make it very clear to the user that some actions trigger the commit of a transaction. They can do everything they want when &#8220;playing&#8221;, but when it comes to the final &#8220;submit/commit/save&#8221;, they must be sure they&#8217;ve entered correct data.</p>
<p>3 Developers are hard core internet users who usually understand the do&#8217;s and don&#8217;ts of web development. They understand the concepts of links/forms/back buttons/HTML elements/AJAX/state/security/performance, etc. and can thus oversee the whole picture when an interaction designer introduces some fancy thing.</p>
<p>Sure, I&#8217;m aware that developers are usually lazy and thus do everything to prevent fancy stuff to enter the realm of requirements, but I don&#8217;t agree with any statement that developers don&#8217;t have a valid vision on UI design.</p>
<p>Just my two cents&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
