<?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>Letters from the Equator &#187; development</title>
	<atom:link href="http://boonyew.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://boonyew.com/blog</link>
	<description>Maybe.</description>
	<lastBuildDate>Thu, 05 Jan 2012 21:47:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Using UCD for the first time and how I failed</title>
		<link>http://feedproxy.google.com/~r/boon/interaction/~3/Sc_3mynUeLs/</link>
		<comments>http://feedproxy.google.com/~r/boon/interaction/~3/Sc_3mynUeLs/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 13:56:54 +0000</pubDate>
		<dc:creator>boon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://boonyew.com/interaction/?p=382</guid>
		<description><![CDATA[My very first attempt at incorporating a user-centered design approach in my software development project was, in many ways &#8211; an important start for me, career-wise. It&#8217;s because of that project that I am where I am now &#8211; I would certainly not have been accepted into the MSc, which subsequently opened a lot of [...]]]></description>
			<content:encoded><![CDATA[<p>My very first attempt at incorporating a user-centered design approach in my software development project was, in many ways &#8211; an important start for me, career-wise. It&#8217;s because of that project that I am where I am now &#8211; I would certainly not have been accepted into the MSc, which subsequently opened a lot of doors for me in the UX industry here in London.</p>
<p>But, despite all that, that project was a failure from a UCD and &#8220;business&#8221; perspective. Firstly, the interface felt too much like Flickr. Then, our team was fairly novice so our interview data wasn&#8217;t very promising. This caused the personas to feel sort of half put together. The end result was somewhat lacklustre &#8211; in some ways, we could&#8217;ve delivered the same thing by getting inspiration from other websites and not having to use Cooper&#8217;s Goal-Directed Design.</p>
<p>However, to stop there would be to completely miss the point.</p>
<h3>Introducing UCD &#8211; the first round might not count</h3>
<p>I insisted on using a UCD process not because I wanted to deliver something spectacular, but because I wanted the team members to see the value of a UCD process. Or, perhaps more accurately, it was mainly just me who was keen on seeing the value of a UCD process (and to see if I could do it).</p>
<p>This is where I think a lot of projects tend to reject UCD &#8211; when they can&#8217;t see any results.</p>
<p>It&#8217;s easy to run a company with an &#8220;efficiency&#8221; mindset &#8211; it&#8217;s sort of built into the status quo. Everyone is reluctant to change &#8211; not just management. So, I didn&#8217;t just have problems with my line manager &#8211; I had problems with my team members. (thankfully, my interviewees were really helpful). No one except for myself was really looking to see this succeed.</p>
<p>So, of course &#8211; how could I expect it to succeed?</p>
<h3>The process reveals not so much results, but opportunities</h3>
<p>The effort of building applications is often a team effort &#8211; not just one UX person calling the shots. But valuable lessons can still be gleaned from UX failures, much more than they can from plain old technical failures &#8211; mainly because that additional perspective from the user is so raw and tangible that it almost creates some kind of &#8220;why haven&#8217;t we done this earlier&#8221; response?</p>
<p>When team members get thrown into a UCD process &#8211; they don&#8217;t realize the potential &#8220;failure&#8221; of the outcome, they look at the process and the value of that access to users they finally get &#8211; something they never used to have in the past. Suddenly, they realize it is possible to build applications based on user research, user feedback, and purposeful design.</p>
<p>Developers and designers all need to realize that there are many ways to build an application, and sometimes it makes sense to learn a new tool so that the right one can be used for the right job. Introducing UCD to a conventional software team can sometimes help them gain ideas to make things better.</p>
<p>I took those lessons I learnt from the failure with me, because you never unlearn an experience like this. You just get better. And now I realize just how much more UCD is like craft than science.</p>
<img src="http://feeds.feedburner.com/~r/boon/interaction/~4/Sc_3mynUeLs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://boonyew.com/interaction/2010/01/27/using-ucd-for-the-first-time-and-how-i-failed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Rite of Passage</title>
		<link>http://feedproxy.google.com/~r/boon/interaction/~3/wkya9BhFeC8/</link>
		<comments>http://feedproxy.google.com/~r/boon/interaction/~3/wkya9BhFeC8/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 18:05:06 +0000</pubDate>
		<dc:creator>boon</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://boonyew.com/interaction/?p=198</guid>
		<description><![CDATA[Once again, I am getting my hands dirty with CSS. And I&#8217;m no expert, but having read through numerous articles from A List Apart, I&#8217;ve been fairly sensitive to how &#8220;designer-y&#8221; people think and react to CSS issues.
For one, I am currently working with rey who&#8217;s coding up the front-end for a site we&#8217;re building. [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, I am getting my hands dirty with CSS. And I&#8217;m no expert, but having read through numerous articles from <a href="http://www.alistapart.com/topics/topic/css/">A List Apart</a>, I&#8217;ve been fairly sensitive to how &#8220;designer-y&#8221; people think and react to CSS issues.</p>
<p>For one, I am currently working with <a href="http://www.reyhan.org/">rey</a> who&#8217;s coding up the front-end for a site we&#8217;re building. And bad habit of hacking up layouts with inline styles has driven him up the wall. I&#8217;ve recently made the effort to migrate my styles into our stylesheets, but only when I was styling up a panel quite seriously (as opposed to just using HTML markup and existing styles).</p>
<p><strong>Reusable CSS isn&#8217;t quite like reusable code</strong></p>
<p>The gap that I had crossed was this idea that <em>it&#8217;s okay to create a style that&#8217;s never going to get re-used</em>.</p>
<p>For the longest time, I was using inline styles because it was quick and dirty, and for the most part, many styles were bespoke. I felt that only reusable styles  should be put in a stylesheet. It&#8217;s one of those coder things where we like to build reusable components and keep them organized and use them in what we call an <em>architecture</em>. But I had to put that coder thinking aside for awhile, when it came to CSS.</p>
<p>The reason is because styling up a div one way doesn&#8217;t mean it looks right when it gets placed in another section of the page. The effect of one small change in one component can and will affect the feel of the other components. This is not just true in terms of the visual layout, but also in CSS &#8211; because there are cascading styles that will enforce itself upon any child components.</p>
<p>In an object-oriented programming paradigm, extending a class or object is often an act of empowering (decorating) that object based on elements inherited from its parents (a very bottom-up approach). But in CSS, it almost seems like the reverse when you don&#8217;t necessarily want to inherit from a parent element, unless you had a very intimate understanding of the way it was styled from the top-down.</p>
<p><strong>Approaching a user model</strong></p>
<p>Rey uses the term &#8220;semantic&#8221; a lot when he&#8217;s talking about CSS, referencing the act of naming a class based on the purpose of the component that was being styled. Again, this is partly contrary to the way system-thinking works, where you often name it based on a <em>process</em> (e.g. Data Access Object, FileFactory). This other gap I had crossed was about having a <em>user model vs. a system model </em>(which Norman talks about).</p>
<p>The issue here isn&#8217;t so much about whether I was naming a CSS class inappropriately, but about the way I viewed my styles with respect to the design of the site. In short, I would be thinking of the site the way a viewer would think about it &#8211; an about page, a contact list, a article side-quote, and so on.</p>
<p>Interestingly, CSS would &#8216;encourage&#8217; me to think in terms of how different components looked and &#8216;felt&#8217;, nested in other components or on a different markup tag. For example, an article side-quote within a blog post vs. outside a blog post. Or a quote within a div or a span, or as a link. Or as a link within a span? Or as a list?</p>
<p>To a programmer, there&#8217;s a point where all these elements look like plain-old boxes. But to a designer, they&#8217;re like specialised tools that are meant to be used one way and not another. And I believe it&#8217;s because designers have a greater empathy for human beings &#8211; how we view, organize interact with and consume information.</p>
<p><strong>What the books don&#8217;t tell you</strong></p>
<p>I&#8217;ve been frustrated by many books on the subject of technical languages like PHP, CSS, and so on. Simply because many of these books completely ignore the fact that there&#8217;s an art of programming that can&#8217;t be communicated by instruction. It is this art that sets apart good designers and expert designers, good programmers and expert programmers. And this makes the difference between Ruby and Kohana and Django &#8211; not that one is particularly better than one another (trying to avoid flame bait here), but that the frameworks have been designed to appeal to a specific type of programming &#8220;art&#8221;.</p>
<p>Although there&#8217;s only &#8220;one&#8221; CSS (albeit with multiple revisions), there&#8217;s still many books on how to write CSS, and different authors will present their formulas based on their own design habits. Some are comfortable using CSS hacks, while some are strong advocates of reusable patterns, but this quote from Alan Cooper keeps coming back to me &#8211; that programming is craft and all software is bespoke.</p>
<p>So, there&#8217;s never going to be a one-size-fits-all solution. Ultimately, <em>all</em> programmers and designers have to lean on their craftsmanship in order to determine the right solution.</p>
<p>And I still haven&#8217;t found a book that helps me do that.</p>
<p>The reason why I feel this is frustrating is because many other crafts like painting or architecture or photography actually <em>have </em>books like that. About the art of the craft. Even some business books are dedicated to just that &#8211; the art of business. But almost 99% of the books out there on CSS, HTML, etc. are instructional, not inspirational.</p>
<p><strong>Community as our last hope</strong></p>
<p>Alas, one thing developers and designers do have is the technology itself, not as a solution itself, but as an enabler. I think that if we are going to reach a level of maturity in designing applications the &#8220;right&#8221; way, it will most likely be facilitated by community interaction, rather than plugins, frameworks or cut-and-paste code snippets.</p>
<p>The reason I say this is because every few months or so, a new browser version is released, a new styling standard has been established, or Microsoft continues to fail in delivering standards-based compliance and even makes it inconsistent with its previous browsers. And the only way we can survive this madness is if we work as a community.</p>
<p>But I am finding it difficult to meet (or fearful of meeting) people who might be willing to mentor me in CSS, of all things. And I assume experts think most web designers out there want cut-and-paste code. In fact, most articles I come across, with a few exceptions, are like that &#8211; catering for the cut-throat, deadline driven, plugin-frenzied, shock-effect designers and developers who want all of life&#8217;s problems handed on a silver platter.</p>
<p>There&#8217;s a lot to be said in the world of CSS, but as long as it&#8217;s not catering towards proper craftsmanship, I&#8217;ll be doing it the hard way with my bare hands and peering through the grapevines.</p>
<img src="http://feeds.feedburner.com/~r/boon/interaction/~4/wkya9BhFeC8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://boonyew.com/interaction/2009/06/07/css-rite-of-passage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

