<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIDQ3k_fSp7ImA9WhRaEEQ.&quot;"><id>tag:blogger.com,1999:blog-5592086</id><updated>2012-02-12T19:56:12.745-05:00</updated><category term="design" /><category term="Vista" /><category term="travel" /><category term="fun" /><category term="tech" /><category term="people" /><category term="work" /><category term="usability" /><category term="gmail" /><category term="security" /><title>Digital clucking</title><subtitle type="html">Embrace your inner chicken</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.surprisedpoultry.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>134</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/surprisedpoultry/insomnia" /><feedburner:info uri="surprisedpoultry/insomnia" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEINRX4_fCp7ImA9WhRaEEU.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-2709335515186596277</id><published>2012-02-12T16:32:00.002-05:00</published><updated>2012-02-12T16:36:34.044-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-12T16:36:34.044-05:00</app:edited><title>A goal is a dream with a deadline</title><content type="html">&lt;a href="http://1.bp.blogspot.com/-Wy4a0ygtcV8/Tzgflqx3jxI/AAAAAAAAAgw/9wigJEHCRZ0/s1600/Comparaison.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Wy4a0ygtcV8/Tzgflqx3jxI/AAAAAAAAAgw/9wigJEHCRZ0/s800/Comparaison.jpg" width="100%" /&gt;&lt;/a&gt;
&lt;blockquote class="tr_bq"&gt;
A goal is a dream with a deadline&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; — Napoleon Hill (&lt;a href="http://en.wikiquote.org/wiki/Napoleon_Hill"&gt;wikiquote&lt;/a&gt;)&lt;/blockquote&gt;
This quote has almost become a cliche and many people have reused it in one way or another. You mostly see it in the form that Dr. Phil uses: &lt;i&gt;A goal without a deadline is just a dream.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This week marks the 1 year anniversary where my long standing dream of being healthier became a goal. About a year ago, I stood in front of a bunch of my colleagues in a Toastmasters meeting and I stated, out loud, that I would loose 50 lbs before July 1st.&lt;br /&gt;
&lt;br /&gt;
Goals are tricky, once you commit to a deadline and turn your dreams into goals, you expose yourself to missing the mark. And miss the mark you will. When I reached July and had met my goal. I re-set my goalpost. I wanted to reach 200 lbs by Valentine's day. And it is clear now that I won't meet that goal. I made good progress but I missed my mark.&lt;br /&gt;
&lt;br /&gt;
It turns-out that missing your mark ain't so bad. I think that once you start missing your objectives, you become more comfortable setting them and you get more out of your goals. You learn a lot aout yourself and about the goal you're trying to achieve. Achieving a goal is great and missing the goal kinda sucks. But it is much better than not setting one.&lt;br /&gt;
&lt;br /&gt;
That being said, no one wants to miss goal after goal. So, another good thing about setting goals is that it keeps you honest and realistic. Setting a goal is a commitment to yourself and being honest about it forces you to gauge your ability to achieve it before you start. You can set stretch goals but you can only stretch so much.&lt;br /&gt;
&lt;br /&gt;
So it is time to move my goalpost again. To reach a healthy weight for my height and age, I have to be just under the 190 lbs mark. So, my new goal is to reach that weight by July 1st.&lt;br /&gt;
&lt;br /&gt;
P.S. Sorry for the personal, self-congratulatory, somewhat off-topic post. Let me bring it back on topic a little. This also applies to products, teams, and workplaces. Grand visions without deadlines are just wishful thinking. But we all knew that right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-2709335515186596277?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/77KC9XjZRYk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/2709335515186596277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=2709335515186596277" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2709335515186596277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2709335515186596277?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/77KC9XjZRYk/goal-is-dream-with-deadline.html" title="A goal is a dream with a deadline" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Wy4a0ygtcV8/Tzgflqx3jxI/AAAAAAAAAgw/9wigJEHCRZ0/s72-c/Comparaison.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2012/02/goal-is-dream-with-deadline.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QEQH4zfCp7ImA9WhRaEEo.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-4730546286958242331</id><published>2012-02-11T12:32:00.001-05:00</published><updated>2012-02-12T14:35:01.084-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-12T14:35:01.084-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><title>Is there a good privacy model for applications</title><content type="html">This week, for those that don't know, Path's CEO had to issue an&amp;nbsp;&lt;a href="http://blog.path.com/post/17274932484/we-are-sorry"&gt;apology&lt;/a&gt;&amp;nbsp;to its user and update their app and now &lt;a href="http://thenextweb.com/mobile/2012/02/11/following-paths-contact-fiasco-instagram-silently-adds-a-contact-list-access-prompt/"&gt;Instagram updated their app&lt;/a&gt; to avoid the same PR problem. Basically, what both apps apparently did was to&amp;nbsp;automatically&amp;nbsp;collect users from your address book to &lt;i&gt;improve your social experience&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Some people will argue that this kind of thing cannot happen on Android phones. When you install an application from the Android market, there is a very detailed disclosure of what pieces of your device each application is allowed to touch. As a user, you preemptively accept to give the application access to your data &lt;i&gt;before&lt;/i&gt;&amp;nbsp;you make your purchase.&lt;br /&gt;
&lt;br /&gt;
For example, &lt;a href="https://market.android.com/details?id=com.touchnote.android"&gt;TouchNote Postcards&lt;/a&gt;&amp;nbsp;(I picked something from the featured applications) requires full access to the address book. The Android market gives you this dire warning:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
READ CONTACT DATA&lt;br /&gt;
Allows an application to read all of the contact (address) data stored on your device. Malicious applications can use this to send your data to other people.&lt;br /&gt;
&lt;br /&gt;
WRITE CONTACT DATA&lt;br /&gt;
Allows an application to modify the contact (address) data stored on your device. Malicious applications can use this to erase or modify your contact data.&amp;nbsp;&lt;/blockquote&gt;
Once you install this, you're done. You agreed; They own your contact data. The application maker can always state that they told you so.&lt;br /&gt;
&lt;br /&gt;
The Apple model is different. It is pretty much an all-or-nothing thing. There is no fine grained access-control built-in to the App store. The only control they give the user happens after you download and install the application and is mostly related to notifications.&lt;br /&gt;
&lt;br /&gt;
The interesting thing is that this week, Apple and its users are benefiting from the work of hackers that desire to understand what happens with their device. They examine the application's traffic and ultimately figure out what it does and can disclose it to the public. The threat of a PR nightmare and the potential devaluation of their company is the only thing that could potentially&amp;nbsp;keep application makers in check.&lt;br /&gt;
&lt;br /&gt;
The Apple model is clearly riskier. No doubt about that. Any application can just rummage through your personal data and send it over.&amp;nbsp;You would only know about it after the fact if someone bothered to investigate.&lt;br /&gt;
&lt;br /&gt;
But I really wonder what the effectiveness of the Android model actually is?&amp;nbsp;I suspect that for most users, the Android model fails to give the intended benefit. I fear that most users become numb to the constant privacy warnings. No matter how dire. Specifically because they can't even try the app if they don't agree to give away the permissions. The privacy warning is becoming the&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/End-user_license_agreement"&gt;EULA&lt;/a&gt; that we've all trained ourselves to just click through. In the end, the only person that it protects is the application maker.&lt;br /&gt;
&lt;br /&gt;
[Edit]&lt;br /&gt;
Marco Arment, the&amp;nbsp;developer&amp;nbsp;of Instapaper wrote about his thoughts on the &lt;a href="http://www.marco.org/2012/02/09/ios-address-book-should-prompt-users"&gt;IOS address book API&lt;/a&gt; and its security model.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-4730546286958242331?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/DiUw5wuR5Vk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/4730546286958242331/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=4730546286958242331" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4730546286958242331?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4730546286958242331?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/DiUw5wuR5Vk/is-there-good-privacy-model-for.html" title="Is there a good privacy model for applications" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2012/02/is-there-good-privacy-model-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQBRXg9eip7ImA9WhRVEUw.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-331041409447385967</id><published>2012-01-09T08:55:00.000-05:00</published><updated>2012-01-09T08:55:54.662-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T08:55:54.662-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Refactoring the user experience</title><content type="html">&lt;a href="http://www.flickr.com/photos/kevandotorg/6115603031/" title="Scaffold Matrix by Kevan, on Flickr"&gt;&lt;img alt="Scaffold Matrix" height="240" src="http://farm7.staticflickr.com/6190/6115603031_1e682553bb_m.jpg" style="float: right; margin: 5px;" width="180" /&gt;&lt;/a&gt;I'm starting a new project in the new year. I'm really excited about it. I can't talk about any specifics but it is a long term project in which me and my colleagues are working to integrate two large entreprise applications with disparate user experiences.&lt;br /&gt;
&lt;br /&gt;
From my previous life as a programmer, I know that integrating two disparate applications is really difficult. However, I have a good idea of how I'd go about it. Refactoring here is the tool of choice. Refactoring is a challenging and rewarding practice that, when done right, improves the software significantly and safely. So naturally, I tried to find the equivalent on the user experience side.&lt;br /&gt;
&lt;br /&gt;
Asking Google gave me a couple of articles. Most of which were making the case for it but none discussed what it would really look like. The more I thought about it, the more I wondered if you can refactor the user experience. By definition, code refactoring is "a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior".&lt;br /&gt;
&lt;br /&gt;
Code refactoring is a technique that works because it is based on a strict set of rules. For example:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Test profusely&lt;/li&gt;
&lt;li&gt;Think globally, act locally&lt;/li&gt;
&lt;li&gt;You can't change external&amp;nbsp;behaviour&lt;/li&gt;
&lt;li&gt;Don't add new functionality while refactoring&lt;/li&gt;
&lt;li&gt;Don't repeat yourself (don't copy-paste, always cut-paste)&lt;/li&gt;
&lt;li&gt;and much more...&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
What would refactoring the user experience look like? What would the rules be?&lt;br /&gt;
&lt;br /&gt;
Off the top of my head, here's a first kick at possible rules:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Test profusely (before and after refactoring)&lt;/li&gt;
&lt;li&gt;Set a &lt;i&gt;big picture&lt;/i&gt; goal. Always move towards that goal with each change&lt;/li&gt;
&lt;li&gt;You can't change the user's mental model (unless testing tells you it was wrong before)&lt;/li&gt;
&lt;li&gt;Adding new features is not refactoring.&lt;/li&gt;
&lt;li&gt;Jump at the opportunity to remove/hide/displace an unused feature when possible&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
So maybe it is possible to &lt;i&gt;refactor&lt;/i&gt;&amp;nbsp;a user experience. If it is, maybe there is a set of reusable rules that can be written down in a recipe book. I'll keep my eyes opened for things that I can see and my ears opened for any suggestions you might have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-331041409447385967?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/TsdDcStx1kQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/331041409447385967/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=331041409447385967" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/331041409447385967?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/331041409447385967?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/TsdDcStx1kQ/refactoring-user-experience.html" title="Refactoring the user experience" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2012/01/refactoring-user-experience.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcMRH85cCp7ImA9WhRWF04.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-4419432018262162225</id><published>2012-01-04T21:21:00.001-05:00</published><updated>2012-01-04T21:21:25.128-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T21:21:25.128-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><title>The war on general purpose computing</title><content type="html">&lt;a href="http://www.flickr.com/photos/andrewmalone/3709082415/" title="Obsolete by andrewmalone, on Flickr"&gt;&lt;img alt="Obsolete" height="240" src="http://farm3.staticflickr.com/2671/3709082415_05cdec01f7_m.jpg" style="float: right; margin: 5px;" width="236" /&gt;&lt;/a&gt;Today, many people tweeted about&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=HUEvRyemKSg"&gt;Cory Doctorow's keynote&lt;/a&gt;&amp;nbsp;at the CCC. Every one that uses the internet on a daily basis should spend the 50 minutes to listen to it. It is smart and enlightened.&lt;br /&gt;
&lt;br /&gt;
In this talk, he asserts that the fight against dumb copyright regulation is merely a battle in the war to protect the very nature of general purpose computing devices. And by extension, the war to save the internet.&lt;br /&gt;
&lt;br /&gt;
The assertion is based on the fact that most technology-based solutions to protect digital assets imply creating locked computing platforms. Platforms where the user is not in control or aware of the software that runs on the computer. In essence trying to create a computing device that is specialized. The natural extension of this is that companies (and&amp;nbsp;governments) won't have any incentive to produce/allow general purpose computers.&lt;br /&gt;
&lt;br /&gt;
I agree with the argument. It is a really dangerous thing to not have any control over the software that runs on your computer. It has implications on many of your freedoms and it creates many potentials for abuse by corporations and governments.&lt;br /&gt;
&lt;br /&gt;
The problem that I am seeing there is when he extends his argument to software that is running on the computer in your hearing aid or in your car. The idea of complete knowledge and freedom on what happens on your own devices is really appealing. But, aside from the people at that conference, who has time and knowledge to deal with that? Who will actively monitor and control software that runs on the hundreds of devices that they own?&lt;br /&gt;
&lt;br /&gt;
Some devices, even if they are at heart a general purpose computer, need to be trusted&amp;nbsp;implicitly. Accepting a trusted computing platform in some circumstances is one of those necessary compromises that we need to make in our modern lives.&lt;br /&gt;
&lt;br /&gt;
There is only one alternative solution that I can see to this problem: Force (through legislation) the software that runs in our devices to be open-sourced. And then, you can trust any 3rd party you choose to validate the software that runs your devices or even do it yourself if you're so inclined.&lt;br /&gt;
&lt;br /&gt;
But I wouldn't hold my breath for that.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-4419432018262162225?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/EUfRRwj6K1o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/4419432018262162225/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=4419432018262162225" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4419432018262162225?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4419432018262162225?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/EUfRRwj6K1o/war-on-general-purpose-computing.html" title="The war on general purpose computing" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2012/01/war-on-general-purpose-computing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIHSXg_fyp7ImA9WhRXEEs.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-3106412545913253807</id><published>2011-12-16T15:48:00.000-05:00</published><updated>2011-12-16T15:48:58.647-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T15:48:58.647-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Back to School</title><content type="html">&lt;a href="http://www.flickr.com/photos/barbro2009/5254115908/" title="School_01 by Barbro_Uppsala, on Flickr"&gt;&lt;img alt="School_01" height="154" src="http://farm6.staticflickr.com/5084/5254115908_8f12d47321_m.jpg" style="float: right; padding: 5px;" width="240" /&gt;&lt;/a&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;There is a bunch of us at &lt;a href="http://www.macadamian.com/"&gt;Macadamian&lt;/a&gt; that are volunteering as mentors for a small group of High-School students that are interested in software product development. The kids picked a small project to work on and we're helping them to turn it into a product.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;Of course, the main interest of the kids is technology and actual coding but, as part of the mentoring, we're also helping them with some of the things that surround development. For example, we set them up on GitHub and thought them the basics of source control.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;Yesterday, I had the privilege of meeting them for the first time and, as one of those non-coding activities, we ran a bit of a design workshop where we spent time on the whiteboard wireframing the UI for a particular user story for their application.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;It was really cool to break down the specific story into the various bits and to sketch a UI with them. We got them to get their first ideas on the board and then, challenged their design using the personas that they had defined in previous weeks. By asking questions like "Would Tony really know what to pick here?" they were able to break down their assumptions (which were based on the physical model of the data) and redesign a UI which was more respectful of the user's mental model and their context of use.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;At one point during the session, one of the kids turned to me and asked: "Do you really do this on projects?". I must have had this stupid grin on my face when I answered yes. The voice in the back of my head was saying: "Can you believe that I get paid to do this?".&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;By the end of the session, we had a complete workflow documented that they will be able to go out and code this week. And the kids had a glimpse of one of the non-coding parts of what turns a piece of software into a product.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit; line-height: 18px;"&gt;I'm really excited to see how it turns out.&lt;/span&gt;&lt;br /&gt;
&lt;div style="line-height: 18px;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-3106412545913253807?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/JyfWTJ5q3sI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/3106412545913253807/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=3106412545913253807" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/3106412545913253807?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/3106412545913253807?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/JyfWTJ5q3sI/back-to-school.html" title="Back to School" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/12/back-to-school.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYGQnc4eip7ImA9WhdVFkw.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-5427052801416016309</id><published>2011-09-21T10:08:00.000-04:00</published><updated>2011-09-21T10:08:43.932-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T10:08:43.932-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><title>The compost in my life</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-KXV73gFkAFI/TniMUxZ9kHI/AAAAAAAAAYA/El51ORnqCyg/s1600/TabletteACompost.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-KXV73gFkAFI/TniMUxZ9kHI/AAAAAAAAAYA/El51ORnqCyg/s1600/TabletteACompost.png" style="width: 90%;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Sometimes I feel like the only thing that comes out as a by-product of my life is stuff. There is a significant amount of stuff that I get rid every week with the garbage. But I'm not talking about that. I'm talking about the stuff that accumulates.&lt;br /&gt;
&lt;br /&gt;
In my home, I have an office. I set it up when I bought the house and at a time when, to do any serious work with a computer, you needed one of those large tower PCs. Nowadays, I do all my work on my laptop or on my iPad so I don't need an office. It has become a repository for my unused stuff. The compost that accumulates in my life. &lt;br /&gt;
&lt;br /&gt;
The picture above is from a shelf in my office. This shelf is a great examplar of stuff I keep all around my house. Let's see if the stuff can be categorized.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that you just don't throw away&lt;/b&gt;: The "non-designers design book" (throwing books away is a crime isn't it?), Macadamian baseball cap&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that have a sentimental value&lt;/b&gt;: The stuffed Smurf, Starbucks cup&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that are cute or beautiful or fun&lt;/b&gt;: The little cat rock statue, Peter (family guy that says funny things when you squeeze it)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that belong to other people that just happen to be in my possession&lt;/b&gt;: The bottle of rum, the plastic pitcher, "les laboratories Crete" book&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that are part of projects that never finished or even started&lt;/b&gt;: Bonsai tree kit, large bag of silica gel packets&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things that are obsolete or should be digital&lt;/b&gt;: Old compact flash cards, replacement batteries for a camera I don't use anymore, paper printout for the rules of a board game, software retail boxes, business cards&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tools&lt;/b&gt;: Air pressure gauge, paintbrushes, pens, 9v battery, tie-wrap, little hard-disk screw, cables, plugs, adaptors, lens cleaning cloth, the various containers to organize the stuff&lt;br /&gt;
&lt;br /&gt;
After making an inventory of the content of the shelf, I realize that (aside from the little pile of change) most of the stuff in there is stuff that I don't use often or at all. Yet I keep it. Stuff accumulates, a perfect incarnation of the principle of entropy. &lt;br /&gt;
&lt;br /&gt;
How to deal with that stuff? Is it different depending on the type of stuff?&lt;br /&gt;
&lt;br /&gt;
And putting it away is not the answer here. Actually, putting it away is part of the problem. It is not about cleanliness, it's about the stuff itself.&lt;br /&gt;
&lt;br /&gt;
Anyone has brilliant ideas here? How do you deal with your stuff?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-5427052801416016309?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/55zRWmCzGa8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/5427052801416016309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=5427052801416016309" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5427052801416016309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5427052801416016309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/55zRWmCzGa8/compost-in-my-life.html" title="The compost in my life" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-KXV73gFkAFI/TniMUxZ9kHI/AAAAAAAAAYA/El51ORnqCyg/s72-c/TabletteACompost.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/09/compost-in-my-life.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYFR3w5fCp7ImA9WhdWFEU.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-6860204807566508521</id><published>2011-09-08T09:21:00.000-04:00</published><updated>2011-09-08T09:21:56.224-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-08T09:21:56.224-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Information architecture is not about your database</title><content type="html">I've recently started a new project with a new customer. It is a rather large project to redesign an old process-control&amp;nbsp;application. I started by working with them on defining a design intent for the project and then I gave them an initial framework to define an information architecture.&lt;br /&gt;
&lt;br /&gt;
And then I got an odd silence in email replies. And ultimately, I got a phone call with this question:&amp;nbsp;Why do you need to talk about our database?&lt;br /&gt;
&lt;br /&gt;
So I found myself in a position to explain information architecture on the spot.&lt;br /&gt;
&lt;br /&gt;
I'm not trained as an information architect and there are &lt;a href="http://www.google.com/search?q=what+is+information+architecture"&gt;plenty of better answers online&lt;/a&gt; but here's my ad-hoc, 5 minute explanation of information architecture:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/8331761@N07/2502135281/" style="float: right;" title="DSCN0621 by musicmoon@rogers.com, on Flickr"&gt;&lt;img alt="DSCN0621" height="180" src="http://farm3.static.flickr.com/2360/2502135281_f9f1e0d378_m.jpg" width="240" /&gt;&lt;/a&gt;Most systems that we get to design and work with today are made-up of a big pile of information. Not unlike the pile of lego blocks in this picture. To be able to build an information system to warehouse and manipulate these blocks, systems architects will organize the data given specific criteria. For example, they might organize them based on their size. Or the number of studs on each block.&lt;br /&gt;
&lt;br /&gt;
This is why my customer had this reaction about his database.&lt;br /&gt;
&lt;br /&gt;
Information architecture, on the other hand, is more concerned with how the &lt;b&gt;user&lt;/b&gt; of the system organizes this information in their head.&amp;nbsp;If I were to dump a box of random legos on your desk and asked you to organize them,&amp;nbsp;&lt;b&gt;how would you do it?&lt;/b&gt; You can organize them by their size, color, function or any of a dozen potential criteria.&lt;br /&gt;
&lt;br /&gt;
This is a difficult task and it shouldn't be done in a vacuum. It needs to be done with the participation of your users. The main reason for this is that it is likely that you wouldn't organize the blocks the same way than they would. And it gets better:&amp;nbsp;There is a good chance that different users of your system view the data from different angles and require different ways to organize it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The benefit of going through this exercise is to discover the organization scheme that better suits your target user and the task that they are trying to accomplish. If you succeed in matching your user's mental model and design an interface that respects it, you will end-up with a system that makes more sense to them. A system that will feel more intuitive.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
There's a lot more to information architecture than sorting blocks. But as a first step, using IA techniques to organize the information in your system is a great way to start making sense of your data. And making sense of your data is a good first step to make your application more intuitive to your users.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-6860204807566508521?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/duwUR60w15w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/6860204807566508521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=6860204807566508521" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6860204807566508521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6860204807566508521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/duwUR60w15w/information-architecture-is-not-about.html" title="Information architecture is not about your database" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2360/2502135281_f9f1e0d378_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/09/information-architecture-is-not-about.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAMQnk8eip7ImA9WhdXF08.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-6727056295373908889</id><published>2011-08-30T09:43:00.010-04:00</published><updated>2011-08-30T13:53:03.772-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-30T13:53:03.772-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Giving the customer good value out of a concept design</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-G364mgBsBZ4/Tl0bq6H1RNI/AAAAAAAAAXg/740uUd5Rfjg/s1600/Concept%2BSketch.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://4.bp.blogspot.com/-G364mgBsBZ4/Tl0bq6H1RNI/AAAAAAAAAXg/740uUd5Rfjg/s320/Concept%2BSketch.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5646699931763033298" /&gt;&lt;/a&gt;Often, the first design engagement I get with a customer comes in the form of a concept design. When this happens with a first-time customer, they are typically unsure about the value of design (especially an outside designer) and don't want to spend too much money.
&lt;br /&gt;
&lt;br /&gt;Concept design is hard to scope but it usually is made of: Some soft of requirements/task analysis workshop, some high-level wireframe creation, some form of user feedback gathering and one or two visual design concepts. The bigest factor to limit the scope of the engagement is usually the budget.
&lt;br /&gt;
&lt;br /&gt;This means that engaging into a concept design project puts the designer in a double-jeopardy situation. The customer doesn't know what to expect (they were probably convinced by sales that designers are magical beings made of rainbows and chocolate cake) and the end of the project will be very arbitrary.
&lt;br /&gt;
&lt;br /&gt;Defining scope and managing expectations is hard to do but this is not what I want to discuss here. I want to talk about another other challenge with concept design: A concept design is not enough to start implementing. &lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, the customer often has to jump straight into implementation armed with only a high-level concept. So how do you give them more value out of the concept you created?
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;Explain your information hierarchy&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;One thing that feels like black magic to an outsider is how you organized the information in the concept. Explain your information hierarchy, the kinds of &lt;i&gt;objects&lt;/i&gt; you put in what &lt;i&gt;buckets&lt;/i&gt;. Refer to your sources (maybe you did card-sorting with some users). Give examples of features/data that you already laid-out in that hierarchy and maybe pick one that you haven't gotten to yet and show how you would categorize it.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another thing that can help is to pick a problem that you have solved in the concept that didn't fit so neatly in the information hierarchy you had picked. Or maybe it forced you to stretch it a little. Describe that and how the problem was solved.
&lt;br /&gt;&lt;div&gt;
&lt;br /&gt;&lt;b&gt;List-out your next steps&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So you've reached the end of your budget but there's more work to do. Be nice and lay-out the remaining work for your customer. They'll have to do it in one way or another. Take the remainder of the work that you would see and then, make a quick list of how you would proceed if the project were to continue.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This doesn't need to be complete. It probably can't be anyway. But the intent there is to give them a starting point to take your concept and turn it into a product. The scary thing is knowing where to start. Tell them what you would do.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;b&gt;Give some guidance&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Presumably, the customer came to you because you know what you're doing. This means that there's a lot of little decisions that you made while working on the concept that are only visible through the delivered artifacts. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Take some time to document some basic guidelines that you used in the concept. You can start from some basic all-purpose design guidelines and make it relevant to their product. Give an example of how it was applied in the context. There might also be decisions that you made regarding their UI like how you used modals or how you notify the user of errors. Take the time to turn those into guidelines.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;b&gt;Offer help&lt;/b&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The project might be over for you but the work is just starting for your customer. They might not be in a position to continue hiring you to finish the work but they might be able to use your help in smaller doses. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Propose an arrangement where they can schedule design reviews with you or maybe a demo of their product as they progress through the implementation. Be creative about it. They might be able to do a better good job of taking your concept forward if you are there to help them when they hit a difficult problem along the way.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The real value of a concept&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;
&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Customers see design artifacts like comps or wireframes as the product of a design. But, at the concept design stage, the real value is the high-level problem solving. If you are just handing your customer a slidedeck with your wireframes, they might be missing out.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A concept design is useless if it can't be turned into a product. At one point, you have to let go and accept that you can't do all the work. It is your job to make sure that your customer is well equipped to take it all the way there once you leave.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-6727056295373908889?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/Sj_EvPkGnnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/6727056295373908889/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=6727056295373908889" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6727056295373908889?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6727056295373908889?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/Sj_EvPkGnnQ/giving-customer-good-value-out-or.html" title="Giving the customer good value out of a concept design" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-G364mgBsBZ4/Tl0bq6H1RNI/AAAAAAAAAXg/740uUd5Rfjg/s72-c/Concept%2BSketch.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/08/giving-customer-good-value-out-or.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMMRX47cSp7ImA9WhdSE0g.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-5312119584848530973</id><published>2011-07-22T13:25:00.004-04:00</published><updated>2011-07-22T13:58:04.009-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T13:58:04.009-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Why I prefer high-fidelity wireframes</title><content type="html">&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-AsPRGFniwU8/Tim2TqZdJpI/AAAAAAAAATk/yGV9qGyvrFc/s1600/ProcessSketch.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 157px;" src="http://3.bp.blogspot.com/-AsPRGFniwU8/Tim2TqZdJpI/AAAAAAAAATk/yGV9qGyvrFc/s320/ProcessSketch.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5632233257918342802" /&gt;&lt;/a&gt;Ever since I started my new path as an interaction designer, the process has always been described the same way to me: concept/sketch -&amp;gt; wireframe -&amp;gt; visual design. All steps resulting in increasing levels of visual fidelity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm not a visual designer by any stretch of the imagination so my work has always been situated in the first two steps: sketching and wireframing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I love sketching and I think it is essential. I actually prefer sketching by hand and my sketches are typically very messy. I'm a doodler and this is typically how I get unstuck when I am faced with a hard problem. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But a significant portion of my time is spent wireframing. And I have been working with the assumption that wireframes have to be low fidelity. I've hated that assumption from the beginning because I find low-fidelity wireframes to be very limiting as a communication tool. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The low-fidelity wireframes reside in the uncanny valley of interaction design. Customers will gladly comment a concept sketch. And they will surely comment a fully rendered visual design. But somehow, I have had many customers that are blind to a low-fidelity wireframe. They'll just wave it by, blindly approving it just to come back with a metric-boatload of comments once it gets fully rendered or implemented. Mostly comments about things that were there in the wireframe; Just invisible to them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was reading this post: &lt;a href="http://uxmovement.com/wireframes/4-things-no-one-told-me-about-high-fidelity-wireframes/"&gt;4 things no one told me about high fidelity wireframes&lt;/a&gt; and I was filled with a great sense of relief: I'm not alone to prefer higher-fidelity wireframes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-5312119584848530973?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/blv4_kNyf1Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/5312119584848530973/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=5312119584848530973" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5312119584848530973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5312119584848530973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/blv4_kNyf1Q/why-i-prefer-high-fidelity-wireframes.html" title="Why I prefer high-fidelity wireframes" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-AsPRGFniwU8/Tim2TqZdJpI/AAAAAAAAATk/yGV9qGyvrFc/s72-c/ProcessSketch.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/07/why-i-prefer-high-fidelity-wireframes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8HSHo7eSp7ImA9WhdSEEQ.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-7833444019583727305</id><published>2011-07-19T12:59:00.002-04:00</published><updated>2011-07-19T14:07:19.401-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-19T14:07:19.401-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Technical people are people too</title><content type="html">&lt;b&gt;TL;DR:&lt;/b&gt; It is not because your product is targeted at technical users that it won't benefit from proper user experience design.&lt;div&gt;&lt;br /&gt;&lt;a style="float: right;" href="http://www.flickr.com/photos/adamcaudill/4846784503/" title="Server Room by AdamCaudill, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4113/4846784503_1c439e1ea3_m.jpg" width="179" height="240" alt="Server Room" /&gt;&lt;/a&gt;&lt;div&gt;Recently, I've been tasked to work on the redesign of many products that are targeted at technical users. Tools like network management or backup software. The initial engagement with those customers is almost always the same. They come to us because they have a competitor that has a “more modern” or better looking product. And they want to remain competitive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, the fresh coat of paint and new curtains approach is rarely the most effective approach to beat your competitors. Let's say your company has been putting out a product targeted at technical users. You've been doing it for years and you carved-out part of the market. Now, you're trying to distinguish yourself from your competition. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In any other case, improving the user experience would be a perfect way to get a leg-up on your competition. But your users are technical. They don't care for fancy user interfaces. They have spent time to learn your tool and are happy manually editing &lt;i&gt;.conf files&lt;/i&gt; and working around the quirks of your software. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;But are they really?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Although they are capable of figuring-out complicated technical products, technical users are just like normal users in many ways:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;They have other things to do than using your product.&lt;/b&gt; Typically, using your product is only one of the many things that they are responsible for. They might have chosen your product because it is reliable and useful. But believe me when I say that they'd use less of it if they could. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;By allowing them to perform their tasks more efficiently, you will delight your technical users to the point of evangelism.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;They view your product using completely different goggles than you do. &lt;/b&gt;When you look at your own product, you see the way it is built inside. You see code and database tables and network connections. This often means that your user interface reflects this &lt;i&gt;physical model&lt;/i&gt; or how your product works internally. Users, even technical users, see your product from their own angle. They see &lt;i&gt;their&lt;/i&gt; network equipment and &lt;i&gt;their&lt;/i&gt; servers and &lt;i&gt;their&lt;/i&gt; offices and equipment cabinets. In other words, they already have a &lt;i&gt;mental model&lt;/i&gt; of what your product should be doing. &lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;i&gt;If the Physical model&lt;/i&gt; you propose through your UI doesn't match the &lt;i&gt;mental model&lt;/i&gt; that they expect, it will create extra work for them and increase learning cost for even the most technical of users. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;How do we fix that?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Interestingly, the fact that you are targeting a very specific group of users is a good thing. The first step in the process is to validate assumptions about your product. Go to the users and observe how they use the product. Specifically:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;What are they actually using it for? (it might not be what you built it for)&lt;/li&gt;&lt;li&gt;What workarounds have they built around your product's limitations? (sometimes, technical users maintain whole suites of scripts and tools to do that)&lt;/li&gt;&lt;li&gt;What specific tasks do then need to get done often or in emergency situations&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Armed with this information, you can enter an incremental cycle of design, test, build, retest until you are successful at delighting those technical users.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;b&gt;When the coat of paint won't do&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Strangely enough, when I start work on a product with highly technical users, the request is almost always about making it prettier. However, especially with technical users, making it look good is probably the least cost-effective way to improve their experience. Technical users usually care about getting things done fast and accurately. They often can disregard an ugly UI if they can spend less time using it and more time getting other things done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-7833444019583727305?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/0Cmuedl74AA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/7833444019583727305/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=7833444019583727305" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7833444019583727305?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7833444019583727305?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/0Cmuedl74AA/technical-people-are-people-too.html" title="Technical people are people too" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm5.static.flickr.com/4113/4846784503_1c439e1ea3_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/07/technical-people-are-people-too.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04HSXs-eSp7ImA9WhZWE0w.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-5113076568518056622</id><published>2011-05-13T14:36:00.001-04:00</published><updated>2011-05-13T14:38:58.551-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T14:38:58.551-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>Unexpected behavior from customer</title><content type="html">&lt;div&gt;(reposting this because Blogger ate it)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today, I had a strange experience in a customer meeting. This meeting was part of a large iPad project to offer mobile features to the users of an existing desktop application. The purpose of the meeting was to review the remaining work to be done and identify the things that were more likely to add risk to the timeline. The remaining effort that could be spent on the project to reach the deadline was around 600 man-days and the estimate for the remaining work hovered dangerously close to that. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We were taking the time to identify individual feature details to identify the ones that might push us over the limit.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Suddenly, someone on the customer side did something completely unexpected. He suggested that we completely drop one of the major features. Not a small task or detail. Something big; Something that demos really well. Something that already exists in their desktop application. Something that we didn't expect them to have any flexibility about. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once we got over the initial shock of the idea, he proceeded to explain why. Although this was an important feature to their users, this particular feature would mostly be useful when their user was comfortably sitting at their desk. Not while they were walking making their rounds. (yes, it's for doctors)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This might be a decision that they will have a hard time explaining to their marketing department. However, what they get in exchange for that feature, is a project with less risk and more effort being put on the features that have more value to the end user.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Another thing that this gives them is a tremendous amount of leadership. The entire team, from our side (the vendor) to their side (the customer) can see by example what it is to do the right thing. It empowers the rest of the team to do what is right instead of doing what they are told. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was pleasantly surprised about this. Not because it meant that we would have less work to do. But because it meant that i was working with people for which the first priority is to do the work that has the most value for the end-user. And that they were willing to course correct if this was the best thing to do.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-5113076568518056622?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/Cu2As3I_h_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/5113076568518056622/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=5113076568518056622" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5113076568518056622?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5113076568518056622?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/Cu2As3I_h_s/unexpected-behavior-from-customer.html" title="Unexpected behavior from customer" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/05/unexpected-behavior-from-customer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQCSXk_fyp7ImA9WhZXFk8.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-5210830556212118518</id><published>2011-05-05T14:18:00.006-04:00</published><updated>2011-05-05T15:06:08.747-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T15:06:08.747-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>Building a next gen system: How not to forget anything?</title><content type="html">&lt;div&gt;Recently, there was an discussion thread at the office that started with this question: &lt;b&gt;Do you know any tool or process that could help this customer?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;We have a customer that wants to re-architect and evolve a large undocumented software written in C++.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They have very little automated tests if any, and the system is not designed to make it easy to add the unit tests that would be needed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They are wondering how they could ensure no feature is lost while reworking the system, and would like to have some sort of checklist to ensure that all functionality was maintained, and be able to know which test case need to be executed when a part of the code changes.&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I thought it was interesting so I decided to share my answer here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Buy them &lt;a href="http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/"&gt;this book&lt;/a&gt; and &lt;a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670"&gt;this book&lt;/a&gt; and give them a pat on the ass and wish them luck.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Joking aside, if it is as bad as it sounds, &lt;b&gt;doing this right will cost them almost as much as rewriting&lt;/b&gt;. But it is better than re-writing because they will get a stable, tested system out of this exercise. They have to be aware of this starting off. And they also have to resist the temptation to do a rewrite. At least, they have to consider a rewrite only as a last-ditch option.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't know of a systematic process that I can point to that would help them get out of this predicament. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am reminded of a previous life where we inherited a large mess of C# and ASP.Net code. We needed to stabilize the product, make it more testable and easier to modify.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The process we applied was as such:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Identify a good candidate subsystem to isolate &lt;/li&gt;&lt;li&gt;Refactor connections into that subsystem from the rest of the app to use a stable interface. Without changing implementation. Refactor typically means no change in functionality. Also don't forget that connections aren't always in code; Access to a database table is a connection that might need to be isolated&lt;/li&gt;&lt;li&gt;Write Unit tests against that stable interface &lt;/li&gt;&lt;li&gt;Goto 1&lt;/li&gt;&lt;/ol&gt;If you do this enough times, and start breaking subsystems into smaller units, you will end-up with something that will be much manageable. It becomes ravioli code instead of spaghetti code.&lt;br /&gt;&lt;br /&gt;Notice that, in this process, there is as little actual rewriting as possible. First part of the strategy is to break the big mess into smaller messes.&lt;br /&gt;&lt;br /&gt;To help in identifying pieces that can be broken off, you can use a tool like &lt;a href="http://www.cppdepend.com/"&gt;CPP Depend&lt;/a&gt; that will parse your code and identify pieces that depend on each other. You can also use that tool to validate that, once you've broken off a piece, there isn't still a stray code dependency between pieces.&lt;br /&gt;&lt;br /&gt;I also think that this is probably the best strategy if the system needs remain live, and to continue being maintained and evolved as this happens. Once a piece gets isolated, the system goes back to production with its new structure.&lt;br /&gt;&lt;br /&gt;One thing that we learned from doing this before is that, when a subsystem is being split, everyone in the team has to understand that split before it occurs. Otherwise, the part of the team that is still adding features will work against the guys that are trying to do the refactoring.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once a subsystem is sufficiently small and has a good unit test suite, you can then start entertaining the idea of a rewrite, with fewer risk.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Doing this is hard and requires experience and discipline. It also produces few improvements that are visible to anyone else but the programmers. There is a risk that people in management might wonder why there are no new features that get implemented for all that work.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;This is paying the debt. Not buying more stuff.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If management doesn't understand that upfront; &lt;b&gt;Some people will get impatient, other people might lose their jobs. &lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-5210830556212118518?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/aJZX_in1m5w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/5210830556212118518/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=5210830556212118518" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5210830556212118518?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5210830556212118518?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/aJZX_in1m5w/building-next-gen-system-how-not-to.html" title="Building a next gen system: How not to forget anything?" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2011/05/building-next-gen-system-how-not-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EEQ384fip7ImA9Wx9RFE8.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-2503439190827790750</id><published>2010-12-15T09:00:00.001-05:00</published><updated>2010-12-15T09:00:02.136-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-15T09:00:02.136-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Simple doesn't imply intuitive</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4HleEJ1G2Is/TQgEaIoP0hI/AAAAAAAAAR8/6KIg97yDR-0/s1600/SnowblowerControls.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 227px; float:right;" src="http://2.bp.blogspot.com/_4HleEJ1G2Is/TQgEaIoP0hI/AAAAAAAAAR8/6KIg97yDR-0/s320/SnowblowerControls.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5550691387773538834" /&gt;&lt;/a&gt;Today, we had a good snowfall and I spent some quality time with my shovel after work. As I was working on my driveway, I noticed that my neighbour was performing the time-honored ritual of teaching his teenage son how to use the snowblower.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As I was pushing snow I started to think about the user interface for the snowblower. Turns-out that a snowblower is a pretty simple machine. There are basically 5 functions:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Start throwing snow (auger control)&lt;/li&gt;&lt;li&gt;Start moving (drive clutch)&lt;/li&gt;&lt;li&gt;Direct the flow of snow (chute direction)&lt;/li&gt;&lt;li&gt;Control the speed of the engine (throttle)&lt;/li&gt;&lt;li&gt;Control the direction of movement (forward, backward)&lt;/li&gt;&lt;/ul&gt;Each of the functions is controlled by a lever and the user feedback is pretty direct. Push the lever; Machine reacts. Like I said, a pretty simple machine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, I'd be hard pressed to call this UI intuitive. I don't think that someone, being put in front of a snowblower for the first time, can &lt;i&gt;intuit&lt;/i&gt; how it works without being taught or without reading the manual. I find it interesting that, when designing User Interfaces for software, we often assume that something intuitive has to be so obvious that it is self explanatory.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, simple doesn't always imply intuitive. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, maybe. If you look at the definition of the word intuitive in the dictionary, it reads: &lt;i&gt;readily learned or understood. &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt;With this new definition, the snowblower's UI becomes intuitive. It does require that my neighbour's boy learn how it works but its simplicity makes it easy for the him to learn and understand how the machine reacts to his actions. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-2503439190827790750?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/JBqqY79ocrg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/2503439190827790750/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=2503439190827790750" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2503439190827790750?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2503439190827790750?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/JBqqY79ocrg/simple-doesnt-imply-intuitive.html" title="Simple doesn't imply intuitive" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_4HleEJ1G2Is/TQgEaIoP0hI/AAAAAAAAAR8/6KIg97yDR-0/s72-c/SnowblowerControls.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/12/simple-doesnt-imply-intuitive.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EMQn86fyp7ImA9Wx9REU0.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-6616759045488254943</id><published>2010-12-10T09:00:00.005-05:00</published><updated>2010-12-11T17:14:43.117-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-11T17:14:43.117-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>A source of friction between designers and developers</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4HleEJ1G2Is/TQElc_JAV7I/AAAAAAAAAR0/UpL9d-XmKgM/s1600/PainfulInteractions.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 200px;float: right;" src="http://3.bp.blogspot.com/_4HleEJ1G2Is/TQElc_JAV7I/AAAAAAAAAR0/UpL9d-XmKgM/s320/PainfulInteractions.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5548757395812931506" /&gt;&lt;/a&gt;This week, I went to Winnipeg for the penultimate visit in the &lt;a href="http://techdays.ca/"&gt;TechDays Canada&lt;/a&gt; tour. Over the past few weeks, me and my colleague &lt;a href="http://randomfishies.blogspot.com/"&gt;Tony&lt;/a&gt; have had the opportunity to talk to a large number of people about the (sometimes painful) interactions between designers and developers working on software projects. This picture is an actual slide in our deck, usually gets people laughing&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During the talk, we go on about tools, tricks and techniques to help alleviate this pain and to empower the designers in your team by making them an active part of your product development team. One of the things that we say in the talk is that it is not a problem with the people, it is a problem with the fact that their job (designers and developers) are fundamentally different. It forces each of them to approach the project from completely different angles. In other words: Don't hate the player, hate the game.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is even more obvious when you consider how both groups react when a change has to be made to an application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When a designer has to make a change to the design of a specific feature in an application; He will make the change and then, start considering the impact of that change on the rest of the application. To him, the important thing is that the application retains its consistency throughout the change and that the application be globally well designed. To a designer, change is global.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When a developer has to make a change to the implementation of a feature in an application; She will use techniques like layering, decoupling and encapsulation to limit the effect of the change on the rest of the application. To a developer, change is something that has to be controlled, a good change is a local change.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With these two positions that are at opposing ends of the same axis, no wonder that sometimes, designers get on developers nerves, and vice versa.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-6616759045488254943?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/ZyjJ_ckx_t0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/6616759045488254943/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=6616759045488254943" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6616759045488254943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/6616759045488254943?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/ZyjJ_ckx_t0/source-of-friction-between-designers.html" title="A source of friction between designers and developers" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_4HleEJ1G2Is/TQElc_JAV7I/AAAAAAAAAR0/UpL9d-XmKgM/s72-c/PainfulInteractions.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/12/source-of-friction-between-designers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAFQHszeip7ImA9Wx9SGUw.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-4543613053615244917</id><published>2010-12-09T10:55:00.003-05:00</published><updated>2010-12-09T13:18:31.582-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T13:18:31.582-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>User-Centered Agile Software Development</title><content type="html">I just finished reading &lt;a href="http://incontextdesign.com/books/user-centered-agile-methods/"&gt;User-Centered Agile Methods&lt;/a&gt;. It is a short and well written book that attempts to paint an accurate picture of how user experience design can fit in with current Agile development processes.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It has a whole bunch of useful nuggets of information (for both UXers and developers). However, the most useful piece to me is the really cogent description of &lt;i&gt;Sprint 0&lt;/i&gt; (&lt;i&gt;Inception sprint, Phase 0&lt;/i&gt;) . &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Sprint 0&lt;/i&gt; is one of the most debated aspects of integrating UX into the Agile development cycle. Many Agile experts state that &lt;i&gt;Sprint 0&lt;/i&gt; is a violation of the basic principles of Agile. While others say that it is just silly to start a project without a bit of planning and architecture.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;People that debate against &lt;i&gt;Sprint 0&lt;/i&gt; say that it is just one way to sneak &lt;i&gt;Big Design Up Front&lt;/i&gt; (BDUF) into agile development. The point that the book makes is that it isn't BDUF, It is &lt;i&gt;Big Picture Up Front&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the book, he explains:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;From the agile perspective, the world changes. Requirements change. Management goals change. Therefore, if you spend months working on a design, it is highly likely that most of that design will never be implemented as envisioned. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;But he counters:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;It has been the experience of the developers that every time users are shown a system that implements the requirements the developers were given, the users ask for something different. This makes it look like the requirements have changed. It is not apparent that the users were unable to articulate their real needs in the first place.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;Putting a UX designer on your team to be the voice of the user and using a &lt;i&gt;sprint 0&lt;/i&gt; to draw up the big picture will do a much better job at gathering useful requirements and crafting user stories than the project owner or the users themselves could ever do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In theory, not doing a &lt;i&gt;sprint 0&lt;/i&gt; and refining the application through iteration could achieve the same result as doing some UX design in a &lt;i&gt;sprint 0&lt;/i&gt;. The same way that unicellular organisms incrementally evolved into human beings. But that took millions of years and most of our projects are not planned on geologic time scales.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-4543613053615244917?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/cOvRFaWnE7A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/4543613053615244917/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=4543613053615244917" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4543613053615244917?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4543613053615244917?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/cOvRFaWnE7A/user-centered-agile-software.html" title="User-Centered Agile Software Development" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/12/user-centered-agile-software.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcARns8fyp7ImA9Wx9SEUg.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-902619248905842110</id><published>2010-11-30T15:36:00.005-05:00</published><updated>2010-11-30T16:20:47.577-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-30T16:20:47.577-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Making your web site a Wiki is not always a good idea</title><content type="html">Recently, we had a discussion at work about using tricky tactics to influence the behavior of users on a web site. The discussion was interesting and I decided to chime in by pointing my colleagues to the &lt;a href="http://darkpatterns.org/"&gt;darkpatterns.org&lt;/a&gt; web site. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before I sent the link, I tested it. To my dismay they had taken their web site and converted it to a Wiki. So, instead of being greeted with this:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4HleEJ1G2Is/TPVhQtZiWrI/AAAAAAAAARk/am2vjI0JOkc/s1600/DarkPatternsScreenShot.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://4.bp.blogspot.com/_4HleEJ1G2Is/TPVhQtZiWrI/AAAAAAAAARk/am2vjI0JOkc/s320/DarkPatternsScreenShot.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5545445455869139634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was instead greeted with this now familiar nugget of web design:&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4HleEJ1G2Is/TPVia6mAjWI/AAAAAAAAARs/aU6DQ-LbF2Y/s1600/DarkPatternsScreenShotNow.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://3.bp.blogspot.com/_4HleEJ1G2Is/TPVia6mAjWI/AAAAAAAAARs/aU6DQ-LbF2Y/s320/DarkPatternsScreenShotNow.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5545446730721430882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;My gut feeling was one of instant disappointment. Wikis are amazing collaboration tools and allow the content to &lt;i&gt;create and maintain itself.&lt;/i&gt; With little added effort to the site owner.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But Wikis also have huge drawbacks. Unless there is a really large (&lt;a href="http://wikipedia.org/"&gt;Wikipedia&lt;/a&gt;) or dedicated (&lt;a href="http://df.magmawiki.com/"&gt;MagmaWiki&lt;/a&gt;) user community, Wikis tend to become static or really disorganized. For example, our intranet at work is a Wiki and it is really hard to find things in there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This change to a Wiki also made the site design much more generic and removed the flavor of the original site. It visually is less recognizable and, most importantly, doesn't provide me with the feeling that I am having &lt;i&gt;curated experience&lt;/i&gt;. It looses a lot of its authoritative nature.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So if you manage a site with lots of user-contributed content, think twice before loading everything up in a wiki and calling it a day. The design of your site and the organization of its content have a lot of impact on how your users will perceive you. You shouldn't leave it to chance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-902619248905842110?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/aw1dS-M1y1g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/902619248905842110/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=902619248905842110" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/902619248905842110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/902619248905842110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/aw1dS-M1y1g/making-your-web-site-wiki-is-not-always.html" title="Making your web site a Wiki is not always a good idea" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_4HleEJ1G2Is/TPVhQtZiWrI/AAAAAAAAARk/am2vjI0JOkc/s72-c/DarkPatternsScreenShot.jpg" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/11/making-your-web-site-wiki-is-not-always.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YGSX4-fyp7ImA9WxFXEU0.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-5918431760898387062</id><published>2010-05-17T09:00:00.000-04:00</published><updated>2010-05-17T08:58:48.057-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-17T08:58:48.057-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>Everyone is a designer</title><content type="html">There is a new &lt;span style="font-style: italic;"&gt;buzzphrase&lt;/span&gt; that has emerged. Apparently, we are entering &lt;a href="http://www.lukew.com/ff/entry.asp?1092"&gt;the age of experience&lt;/a&gt;. The future will tell if this, like many other things, will pass or stick. However, one thing is certain, people that build products and offer services are becoming more and more aware of the need to provide the user with an experience that matches their expectations.&lt;br /&gt;&lt;br /&gt;The deeper trend that this reveals is that there will be more demand for products to be designed instead of just being put together haphazardly. The corollary to this is that more and more people will be put in a position to make design decisions. And many of these people will not be professional designers.&lt;br /&gt;&lt;br /&gt;A few weeks ago, while I was at a conference, someone asked the speaker: “How to we deal with developers that think that they are designers?”.&lt;br /&gt;&lt;br /&gt;I don't remember who answered the question at the time but I remember the answer: “They are designers; &lt;span style="font-style: italic;"&gt;Everyone is a designer&lt;/span&gt;”.&lt;br /&gt;&lt;br /&gt;In short, everyone designs, we all make design decisions all the time when we do mundane things like shopping for furniture or pick clothes. That doesn't mean that all the design decisions we make are good. The responsibility of professional designers in this case is to help people with less design knowledge to make the right decisions and spend the time to educate them on what is bad design. Sometimes, a little bit of knowledge goes a long way.&lt;br /&gt;&lt;br /&gt;Coincidentally, on my wait to the airport after the conference, I struck a conversation with the cab driver. He asked me why I was in town and I told him that I was at a conference about web application design. He went on and told me about his web site and how he was designing it and he barraged me with questions all the way to the airport. As I was stepping into the airport he followed-me to the door and asked:  “If you had one tip, just one, what would it be?”&lt;br /&gt;&lt;br /&gt;I gave him some random advice about not making his users work for nothing (like filling forms and whatnot). He thanked, me gave me the URL of his web site (he was selling African coffee online) and I went in the airport.&lt;br /&gt;&lt;br /&gt;I have had some time to think about this a little more since then. I would probably answer something completely different today like: “Buy &lt;a href="http://www.amazon.com/Think-Common-Sense-Approach-Usability/dp/0789723107"&gt;Don't make me think&lt;/a&gt; and read it.”&lt;br /&gt;&lt;br /&gt;But that is not the true morale of the story. The most important is that any little bit of knowledge about design is worth sharing. Because, whether it is by choice or not; &lt;span style="font-style: italic;"&gt;Everyone is a designer&lt;/span&gt;. And I never know when I might need to order some African coffee online and at that time, I'll be happy that I don't have to fill-out all those extra forms that he was going to put in his web site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-5918431760898387062?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/4KwOr3vGk6w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/5918431760898387062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=5918431760898387062" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5918431760898387062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/5918431760898387062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/4KwOr3vGk6w/everyone-is-designer.html" title="Everyone is a designer" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/05/everyone-is-designer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNQHozeyp7ImA9WxFQEks.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-2085214176624497237</id><published>2010-05-07T16:49:00.002-04:00</published><updated>2010-05-07T17:03:11.483-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-07T17:03:11.483-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><title>Keeping my MacBook cool</title><content type="html">Since I got my MacBook, I have been plagued with random Kernel Panics that, at first I though were all related to specific software. But as time went on, seemed more and more random. Usually, they happened at the end of the day and didn't seem to be related to a particular piece of software.&lt;br /&gt;&lt;br /&gt;After a while, I was suspecting a problem with heat buildup. I had noticed that, after a day of usage at the office, my MPB would be really warm to the touch when I packed it to go home. After installing iStat nano, I observed that the temperature would get all the way to 70C and yet, the fan would remain steady at 2000 rmp.&lt;br /&gt;&lt;br /&gt;I had observed that the fan would speed-up when I was doing something CPU intensive but the speed didn't seem to be related to the CPU temperature, only CPU usage. That seemed odd to me as I use the computer all day and the CPU rarely spikes very long. So the heat kept building up and I kept getting Kernel Panics.&lt;br /&gt;&lt;br /&gt;3 weeks ago, I found and installed &lt;a href="http://www.macupdate.com/info.php/id/23137/fan-control"&gt;Fan Control&lt;/a&gt;. A little control panel utility that monitors the CPU temperature and changes the minimum fan speed for me as the temperature changes throughout the day.&lt;br /&gt;&lt;br /&gt;My MPB now remains under 60C all day and I haven't had an unexplained kernel panic since.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-2085214176624497237?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/1kGYScEMyO4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/2085214176624497237/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=2085214176624497237" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2085214176624497237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/2085214176624497237?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/1kGYScEMyO4/keeping-my-macbook-cool.html" title="Keeping my MacBook cool" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/05/keeping-my-macbook-cool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4BSXw6eCp7ImA9WxFRGEQ.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-4263299220414223583</id><published>2010-05-03T08:00:00.003-04:00</published><updated>2010-05-03T11:02:38.210-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T11:02:38.210-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>Do everything you can</title><content type="html">In my last passage at the Pearson International airport in Toronto, I stopped over at one of the restaurants for a bite to eat. While waiting for my food, I observed a message stuck to the register on the counter. It said: "Do everything you can to make the traveler's life better."&lt;br /&gt;&lt;br /&gt;I realize that the piece of paper stuck to the monitor is just a reminder. And that there is probably a better message that was given to the staff of the restaurant to give it context or meaning. Or was there?&lt;br /&gt;&lt;br /&gt;I can definitely see the management wanting to get a better performing organization hiring a consultant. I can see the consultant telling them that they needed to have a vision statement for their organization. They lock themselves in a room for a day and collectively author this vision statement: &lt;span style="font-style: italic;"&gt;At Molson's T1 lounge, we make everything we can to make the traveler's life better&lt;/span&gt;. And then the managers come back and organize a company gathering and serve drinks and present the company vision in a nice PowerPoint.&lt;br /&gt;&lt;br /&gt;Although the statement is short and memorable (the business consultant told them that the vision statement had to be short and memorable), it does not have much meaning by itself. The individual employee, the one that didn't participate in authoring the statement, is left with two important questions: Where is the limit of "everything I can do"? and; What does it meant to make the traveler's life better?&lt;br /&gt;&lt;br /&gt;I have learned last week that the solution is to make the vision concrete. You are trying to define an experience for the traveler so you need to tell the story from the traveler's standpoint and not the company's. To do this from the traveler's point of view, you need to create a clear  picture of that traveler. In other words, a persona representing this traveler. You  need to know enough about him to know what is important to him and what  are his goals. After all, you cannot make his life better if you do not know what his goals are.&lt;br /&gt;&lt;br /&gt;Once you now the person that you are trying to help, you need to create an instance of the vision. A context that the employees can use to guide their own interpretation of the vision. For example, you could tell the story of the traveler missing his connection an having a hard time getting home. Show how the employee at the bar can help make this traveler's life better by serving him food and, while he is eating, making a phone call to help him to get another flight or lodging.&lt;br /&gt;&lt;br /&gt;In an situation like this restaurant, you might want to pick 2 or 3  personas to tell stories around. To make the story easier to tell and remember, you could make a small comic-book or short movie to show to employees this instantiation of the vision. Once you have seen such a video, you don't need a reminder on your monitor. The message becomes really concrete and memorable. This is a key element of creating a compelling experience for the traveler.&lt;br /&gt;&lt;br /&gt;All employees at this restaurant are design agents of the traveler's experience. And they cannot design a compelling experience for the traveler if they do not have a clear picture in their minds of the vision for this experience. Making the vision concrete is an essential step in achieving this.&lt;br /&gt;&lt;br /&gt;And you; Can you articulate in a concrete way the vision of your company from the point of view of your customer or your end-user?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-4263299220414223583?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/YEXlmeYx4uM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/4263299220414223583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=4263299220414223583" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4263299220414223583?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/4263299220414223583?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/YEXlmeYx4uM/do-everything-you-can.html" title="Do everything you can" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/05/do-everything-you-can.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYMRHg5fip7ImA9WxFRFUg.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-270914293517569928</id><published>2010-04-29T10:22:00.003-04:00</published><updated>2010-04-29T10:59:45.626-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-29T10:59:45.626-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>UIE Web App Master Tour, day 2</title><content type="html">Sitting at the airport waiting for my flight home this morning, I thought that I'd checkin on the second and last day of the Web App Master Tour in Minneapolis.&lt;br /&gt;&lt;br /&gt;The bar was set high after the first day I was pumped to hear more. Bill Scott started us off by stating that designing interactions is like performing magic on stage. It is in the details and in the performance. The slightest mistake destroys the illusion. And then he covered examples of what were those details that you have to pay attention to if you want the delicacy of the illusion to be preserved.&lt;br /&gt;&lt;br /&gt;Then, Ken Kellog spoke about the path that his research team took to bring change to the marriott.com online reservation system and main page. How you have to ensure that you do no harm to the &lt;span style="font-style: italic;"&gt;cash cow&lt;/span&gt; and the importance of negotiation. Also the fact that even if you have 100 stakeholders in a project. Each one is still a person.&lt;br /&gt;&lt;br /&gt;After lunch, Luke Wroblewski shared results from his research regarding web forms. Most notably, how to handle validation and get better input from the user. He then went on to conclude that the best form might be no form at all. Discussing things like Facebook connect for registration and using alternate methods of input like GPS, camera and the like.&lt;br /&gt;&lt;br /&gt;Mark Trammel from Twitter then proceeded to walk us through the latest redesigns to the sign-up process of Twitter and how it was driven by the model of engagement that they have constructed through their own user research. He explained the concept of the magnet, the hook and the glue. Which is used to take users through the engagement ladder from curious to casual and finally, to a committed user.&lt;br /&gt;&lt;br /&gt;And finally, Jared Spool closed the circle by finishing up the concepts that he had introduced in the very first talk by discussing about the importance of having a vision that you can articulate. That their research concluded that it is an essential component of the recipe for companies that were successful at creating compelling user experiences.&lt;br /&gt;&lt;br /&gt;In short, 2 days of interesting talks and discussions. Well worth my time.&lt;br /&gt;&lt;br /&gt;In addition, this was my first time in Minneapolis and I felt right at home. I had the whole evening to soak in the city and I am glad that I did. I walked to a restaurant by the river called &lt;a href="http://www.gingerhop.com/"&gt;Ginger Hop&lt;/a&gt; and mingled with the locals. Had a really good vegetarian curry and a local beer called &lt;span style="font-style: italic;"&gt;Farm Girl&lt;/span&gt;. Traded baseball storied (always useful to have one of those handy) and finished the evening catching a movie at the &lt;a href="http://www.mspfilmfest.org/MMX/"&gt;MSP International Film Festival&lt;/a&gt;. (the movie was called &lt;a href="http://www.mspfilmfest.org/MMX/content/bone-man-der-knochenmann"&gt;The bone man&lt;/a&gt; and it was very good. Got a little weird at the end)&lt;br /&gt;&lt;br /&gt;Awesome time and I am really looking forward to the next time I come back to Minneapolis or the next time I cross paths with someone I met this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-270914293517569928?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/KnqAWAntRWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/270914293517569928/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=270914293517569928" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/270914293517569928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/270914293517569928?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/KnqAWAntRWk/uie-web-app-master-tour-day-2.html" title="UIE Web App Master Tour, day 2" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/04/uie-web-app-master-tour-day-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMQXozfCp7ImA9WxFRFEg.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-1136982171329702341</id><published>2010-04-28T08:34:00.003-04:00</published><updated>2010-04-28T08:56:20.484-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T08:56:20.484-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>UIE Web App Master Tour, day 1</title><content type="html">Just thought that I would write a little something before I walk into the second day of the UIE Web App Master Tour in Minneapolis.&lt;br /&gt;&lt;br /&gt;So far, it has been a really fun and interesting experience. Lots of interesting people and really great presentations.&lt;br /&gt;&lt;br /&gt;Jared Spool opened with an interesting presentation about some of the research that he and his team have been working on to try to define what the required skills that a &lt;span style="font-style: italic;"&gt;design team&lt;/span&gt; needs to have to solve the difficult problems that today's application can bring to the table.&lt;br /&gt;&lt;br /&gt;Stephen Anderson also shared his work on the psychology of the user and how what is known about psychology can help make applications more seductive. He walked us through the process of using &lt;span style="font-style: italic;"&gt;mental notes&lt;/span&gt; cards to help with brainstorming. (I want a deck of those cards)&lt;br /&gt;&lt;br /&gt;In the afternoon, Hagan Rivers spoke about navigation hell. That is a really large topic that seems a little dry. No worries, the presentation was pretty interesting and had 2 little gems in it: &lt;span style="font-style: italic;"&gt;Navigation is its own application&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Navigation is like storytelling&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Christian Crumlish spoke about social media. He broke it down into its basic components and the patterns that make things social. With simple examples and a few anti-patterns to be aware of.&lt;br /&gt;&lt;br /&gt;The day ended with Jason Fried that walked us through the redesign of the project overview page of the Basecamp application. He even joined the conversation with his team live from the stage to comment on an iteration of the design that had just been posted on their chat. (he didn't like it)&lt;br /&gt;&lt;br /&gt;Looking forward to today's presentations, I'll check in again tonight or tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-1136982171329702341?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/6hcoknkGMkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/1136982171329702341/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=1136982171329702341" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/1136982171329702341?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/1136982171329702341?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/6hcoknkGMkU/uie-web-app-master-tour-day-1.html" title="UIE Web App Master Tour, day 1" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/04/uie-web-app-master-tour-day-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMEQnszcCp7ImA9WxFSEkk.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-8259564762130898337</id><published>2010-04-14T08:00:00.001-04:00</published><updated>2010-04-14T08:00:03.588-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-14T08:00:03.588-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><title>The geeks don't matter</title><content type="html">Oh yes, I said it, the geeks don't matter. Or maybe I should be more nuanced: As a consumer group, the geeks don't matter as much as they used to.&lt;br /&gt;&lt;br /&gt;After the latest round of announcements from Apple about the iPhone, All over the internet, on blogs, FaceBook, Twitter and wherever you choose to point your browser, you'll find a whole lot of angry geeks. That is, if you are yourself a geek. Otherwise, you're probably not reading those articles.&lt;br /&gt;&lt;br /&gt;People are angry that Apple is further building their closed system. That they are removing user's freedom to choose. That they are forcing developers to write Apple specific code by blocking cross-compilers and all that. They vent online making all sorts of arguments about how they won't use Apple products and how they have lost their trust in apple that has finally become as bad as Microsoft.&lt;br /&gt;&lt;br /&gt;Vent and rant all you want. Rest assured however that it doesn't matter. It will not change Apple's decisions. You, me, the geeks, are not the main customer group for Apple. See, we never were. This is perfectly consistent with Apple's past behavior and strategy.&lt;br /&gt;&lt;br /&gt;And geeks all over should be ready to suffer even more and get angrier. Not only are geeks not the main customer group for Apple. But they are bound to loose their status as the main customer group of most other technology companies as well. The biggest accomplishment of Apple over the past few years, culminating with this week's announcement, is to demonstrate that if you don't aim your technology product to a technologically savvy audience, you end-up making bucketloads of money.&lt;br /&gt;&lt;br /&gt;This means that other technology companies will also realize that they can stop caring about the requests for openness from the technology elite. They can safely ignore this because it is much more lucrative to sell to the &lt;span style="font-style: italic;"&gt;normals&lt;/span&gt; than it is to sell to the geeks.&lt;br /&gt;&lt;br /&gt;Some will argue that this is not the best for the consumer. But then again, companies rarely do things because they are best for the consumer. They do things because they are best for themselves. (tobacco, agro-industry, oil companies, etc...) Why would a company like Apple (or Microsoft, or Google or Amazon) voluntarily limit the amount of revenue they can extract from their customers just to preserve their rights to choose the content that they consume or the way they consume it.&lt;br /&gt;&lt;br /&gt;Consumers will continue to purchase proprietary devices with arbitrary limitations because they are not interested in how it works or why it works in a particular way. They just want to get something that satisfies their needs, that works and that they can afford.&lt;br /&gt;&lt;br /&gt;I guess us geeks should get used to this. The era of large technology companies run by geeks building products for geeks is over.&lt;br /&gt;&lt;br /&gt;Hey... we had a good run, it was fun while it lasted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-8259564762130898337?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/pupP3cGKNWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/8259564762130898337/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=8259564762130898337" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/8259564762130898337?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/8259564762130898337?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/pupP3cGKNWk/geeks-dont-matter.html" title="The geeks don't matter" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>12</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/04/geeks-dont-matter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFQXw7cSp7ImA9WxFSEEo.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-7966520827091803689</id><published>2010-04-12T08:00:00.001-04:00</published><updated>2010-04-12T08:00:10.209-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-12T08:00:10.209-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>An exchange program for employees</title><content type="html">A few weeks ago, I read an interesting post from &lt;a href="http://www.darrenbarefoot.com/"&gt;Darren Barefoot&lt;/a&gt; who was asking &lt;a href="http://www.darrenbarefoot.com/archives/2010/03/what-if-we-traded-employees-like-hockey-teams-trade-players.html"&gt;What if we traded employees like hockey teams trade players?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is an interesting concept but I think it might be too much of a culture shift to be practical.&lt;br /&gt;&lt;br /&gt;As someone already pointed out in the comments, large companies already do this between departments. However, I work for a smaller company and there are no other departments to shift the employee to.&lt;br /&gt;&lt;br /&gt;Although my employer is not big enough to do this, the company is old enough to have employees that have been there for more than 7 years. Some are choosing to leave. Not necessarily because it is not a fit or are unhappy but because they don't want to stagnate. There's an urge to see elsewhere.&lt;br /&gt;&lt;br /&gt;What if we sort of went half-way? What if companies were setup to participate in an employee exchange program? Take 2 software companies in the same town. One is specialized in iPhone development and the other is specialized in writing software for medical devices. Both are staffed with a mix of programmers that are competent but some of them need a change of pace and are feeling the need to keep their knowledge fresh. They could swap one or 2 programmers from each side for 3-6 months.&lt;br /&gt;&lt;br /&gt;As an employee, it seems like a good situation. Your employment status doesn't change, you get to satisfy your &lt;span style="font-style: italic;"&gt;wanderlust&lt;/span&gt; and you get to learn new skills.&lt;br /&gt;&lt;br /&gt;As an employer, you benefit from having people trained in the other company's specialty and in addition, you get to learn a little bit from how the other company works. There might be an opportunity to streamline your own practices. Since you're trying to involve employees with similar skill level, they will contribute to your own projects. Maybe not as much as a fully ramped-up employee but it is like getting some training for a lesser cost.&lt;br /&gt;&lt;br /&gt;There is always a risk that, after the exchange, the employee might want to stay with the other company. It is probably possible to mitigate this contractually. Through a &lt;span style="font-style: italic;"&gt;no-hire&lt;/span&gt; clause or through some compensation agreement. But I feel that the openness of the exchange program would make it easier for companies to be better prepared for these &lt;span style="font-style: italic;"&gt;unplanned departures&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I have been working 12 years in the same company. I like my job, I don't want to quit. But if I had the opportunity, I would be interested in seeing how it is done somewhere else. If just to satisfy my curiosity and possibly learn a thing or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-7966520827091803689?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/nVcK07xhaCI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/7966520827091803689/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=7966520827091803689" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7966520827091803689?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7966520827091803689?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/nVcK07xhaCI/exchange-program-for-employees.html" title="An exchange program for employees" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/04/exchange-program-for-employees.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGQXg-cCp7ImA9WxFTFEU.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-8588635555593369285</id><published>2010-04-05T11:45:00.000-04:00</published><updated>2010-04-05T11:45:20.658-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-05T11:45:20.658-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>After the gold rush</title><content type="html">&lt;p style="clear: both"&gt;Recently, a colleague of mine was cleaning his desk and found a copy of &lt;a href="http://www.amazon.com/After-Gold-Rush-Profession-Engineering/dp/0735608776"&gt;After the gold rush&lt;/a&gt; (the book, not the album) that he had borrowed from me years ago.&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;div&gt;This reminded me of how I felt about that book. When I first read this book, I was just starting my career and I was very impressed by that book. It is one of those books that I would have put on the must-read list for any software developer. &lt;/div&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;div&gt;I really liked the idea of software being thought of as an engineering discipline. I wanted software companies to make better software and the process to become more predictable. I used to work for a company that made shrink wrap software and that was known for the death-march style of software development. &lt;/div&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;div&gt;Well, the gold rush came and went, and came and went. Software development had changed but I have also changed. More than 10 years later, I don't think the same way at all about programming. In the past 10 years, we have tried to formalize, productize and normalize software development. And as much as we tried, it pushed back and wanted to go back to its true nature. &lt;/div&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;div&gt;I think that software development is a craft. Something that skilled, trained people do. There is still a category of software that is purely engineering; like software that runs nuclear power plants and the space shuttle. But that is a tiny fragment of the software that gets written in the world. In the past few years, software has become so entrenched in our lives that it has become very personal. Software is not about machines but more about people. &lt;/div&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;a href="http://www.flickr.com/photos/curlsdiva/537474268/" class="image-link"&gt;&lt;img src="http://lh4.ggpht.com/_4HleEJ1G2Is/S7oFjbVINkI/AAAAAAAAAQU/3fXIsQ7TE-E/s800/woodworker-thumb.jpg" height="192" align="right" width="240" style=" display: inline; float: right; margin: 0 0 10px 10px;" /&gt;&lt;/a&gt;&lt;div&gt;People don't like to consider software as a craft because they associate craftsmen with the old guy making custom vintage furniture replicas in his workshop. But there are other large-scale human endeavours that are also run by craftspeople. Movies are one great example. Movies have been compared with software development before but I'm looking at it from the point of view of the skill required. Movies involved large budget, tight schedules and lots of specialized, highly technical labor. In many cases, actual engineering is involved. But in the movie industry, engineers that work on a movie set are considered craftsmen and there is no negative connotation to this.&lt;br /&gt;&lt;br /&gt;Like software, there is a method to the creation of movies and there are ways to manage these large projects even if it is not all guesswork and gut feel. So I think that, after the gold rush, we should embrace the craft of software development. We should learn to deal with it as such and learn to manage it properly. Instead of trying to force-fit an engineering or manufacturing process that will never really fit.&lt;/div&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;/p&gt;&lt;br class='final-break' style='clear: both' /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-8588635555593369285?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/8zY-YZlYS08" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/8588635555593369285/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=8588635555593369285" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/8588635555593369285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/8588635555593369285?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/8zY-YZlYS08/after-gold-rush.html" title="After the gold rush" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_4HleEJ1G2Is/S7oFjbVINkI/AAAAAAAAAQU/3fXIsQ7TE-E/s72-c/woodworker-thumb.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/04/after-gold-rush.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUHQX4yfCp7ImA9WxFTEEk.&quot;"><id>tag:blogger.com,1999:blog-5592086.post-7057889251017507218</id><published>2010-03-31T09:14:00.003-04:00</published><updated>2010-03-31T09:47:10.094-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-31T09:47:10.094-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>To every person involved in designing software</title><content type="html">&lt;p style="clear: both;"&gt;Greetings.&lt;br /&gt;&lt;br /&gt;As we learn to design software, a recurring problem becomes clear.&lt;br /&gt;&lt;br /&gt;The problem is this: To differentiate between &lt;strong&gt;valuable&lt;/strong&gt; and not-valuable. Let me break it down now.&lt;br /&gt;&lt;br /&gt;Everyone in product management is screaming at us to make the software easier to use. We are also tasked with it, it seems, cramming a shitload of features into a little bit of time.&lt;br /&gt;&lt;br /&gt;Our friends, the penguins, think that we, therefore are employed to write features — and, so, at times, it seems to us.&lt;br /&gt;&lt;br /&gt;But note: The users will not log-in to use features. You wouldn't, I wouldn't. No one would or will. The user will only log-in and keep logging-in to &lt;strong&gt;get value&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Question: &lt;strong&gt;What is value?&lt;/strong&gt; Value, again, is the quest of the user to overcome those things which prevent him from achieving a &lt;strong&gt;specific, acute goal&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;So: we, the software authors, must ask ourselves of &lt;strong&gt;every feature&lt;/strong&gt; these three questions.&lt;br /&gt;1. Who wants that?&lt;br /&gt;2. What happens if they don't get it?&lt;br /&gt;3. Why do they want it?&lt;/p&gt;&lt;p style="clear: both;"&gt;The answers to these questions are Litmus paper. Apply them, and their answer will tell you if the feature adds value or not.&lt;/p&gt;&lt;p style="clear: both;"&gt;There is not magic fairy dust that will turn a superfluous, useless, redundant or merely hard to use feature valuable once the user downloads the software. &lt;strong&gt;You&lt;/strong&gt; the software author are in charge of making sure every feature is valuable.&lt;br /&gt;&lt;br /&gt;If the features confuses or bores you when you design it, rest assured that it will bore the programmers, and will, then bore the user, and we're all going back to the breadline.&lt;br /&gt;&lt;br /&gt;Someone has to make the feature valuable. It is not the programmer's job (the programmer's job is to make it work to the design). It is not the project manager's job. His or her job is to make sure it gets built and delivered on time and on budget. &lt;strong&gt;It is your job&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Every feature must be valuable. That means: The user must have a simple, straightforward, pressing need which impels him or her to show-up and use the feature.&lt;br /&gt;&lt;br /&gt;This need is why they came. It is what the feature is about. Their attempt to get this need met will lead, at the end of the workflow, to success. If this need is complex and requires more than one feature, this need will, then, of necessity, propel the user into the next feature.&lt;br /&gt;&lt;br /&gt;All of these workflows, taken together, will, over the course of the session, constitute a completed task.&lt;br /&gt;&lt;br /&gt;Any feature, thus, which does not both advance the task and standalone (has value, by itself, on its own merits) is either superfluous, or incorrectly designed.&lt;br /&gt;&lt;br /&gt;I close with one though: Look at the feature and ask yourself "&lt;strong&gt;Does it add value? Is it essential? Does it help the user complete their tasks?&lt;/strong&gt;"&lt;br /&gt;&lt;br /&gt;Answer truthfully.&lt;br /&gt;&lt;br /&gt;If the answer is "no", write it again or throw it out.&lt;br /&gt;&lt;br /&gt;It is not your responsibility to know all the answers, but it is your responsibility to know and ask the right questions, over and over, until it becomes second nature.&lt;br /&gt;&lt;br /&gt;With apologies to David Mamet (&lt;a href="http://www.movieline.com/2010/03/david-mamets-memo-to-the-writers-of-the-unit.php"&gt;original text&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5592086-7057889251017507218?l=blog.surprisedpoultry.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/surprisedpoultry/insomnia/~4/KyGfjsPFYE8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.surprisedpoultry.com/feeds/7057889251017507218/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5592086&amp;postID=7057889251017507218" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7057889251017507218?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5592086/posts/default/7057889251017507218?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/surprisedpoultry/insomnia/~3/KyGfjsPFYE8/to-every-person-involved-in-designing.html" title="To every person involved in designing software" /><author><name>Francis Beaudet</name><uri>https://profiles.google.com/117903885410157142079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-UbgecxJhRRI/AAAAAAAAAAI/AAAAAAAAAXM/BNVXI6JBxmk/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.surprisedpoultry.com/2010/03/to-every-person-involved-in-designing.html</feedburner:origLink></entry></feed>

