<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jorge Manrubia &#187; Books</title>
	<atom:link href="http://jorgemanrubia.net/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://jorgemanrubia.net</link>
	<description>Personal Page</description>
	<lastBuildDate>Mon, 19 Sep 2011 23:39:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>I have read&#8230; &#8216;The Inmates Are Running the Asylum&#8217;</title>
		<link>http://jorgemanrubia.net/2010/03/19/i-have-read-the-inmates-are-running-the-asylum/</link>
		<comments>http://jorgemanrubia.net/2010/03/19/i-have-read-the-inmates-are-running-the-asylum/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 21:14:28 +0000</pubDate>
		<dc:creator>Jorge Manrubia</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://jorgemanrubia.net/?p=384</guid>
		<description><![CDATA[I have recently finished reading The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity, by Alan Cooper. It is a book about user experience and interaction design. About why it is so important, why most people in the industry of software development don&#8217;t pay attention [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently finished reading <a href="http://www.amazon.com/exec/obidos/ASIN/0672326140/ref=nosim/jorgmanrpersp-20"><em>The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity</em></a>, by Alan Cooper. It is a book about user experience and interaction design. About why it is so important, why most people in the industry of software development don&#8217;t pay attention to it, and the consequences of that. It is a superb reading I totally recommend.</p>

<p>In my opinion, its current scoring in Amazon (4 stars) is difficult to understand. I would give it a 6 if I could. I think it is better than <a href="http://www.amazon.com/exec/obidos/ASIN/0470084111/ref=nosim/jorgmanrpersp-20">About Face 3: The Essentials of Interaction Design</a>, also by Cooper. With this last one my expectations were very high but weren&#8217;t completely fulfilled (I think a 40% percent of the book was avoidable). But each page of <em>The inmates&#8230;</em> contains a lot of thoughts you can learn from. With many sentences I found myself thinking: &#8216;that&#8217;s totally obvious&#8230; but I hadn&#8217;t stopped to think about it until I read this&#8217;. And that&#8217;s exactly my favorite reaction when I am reading a technical book.</p>

<p>I would like to talk about the role of interaction design in two applications I use daily.</p>

<h3>Lotus Notes: how not to design user interfaces</h3>

<p><a href="http://en.wikipedia.org/wiki/IBM_Lotus_Notes">Lotus Notes</a> is the mail client I have to use at work. There are so many wrong things about it that you can easily find web pages like <a href="http://techrepublic.com.com/5208-6230-0.html?forumID=102&amp;threadID=248584&amp;start=0">Is Lotus Notes the worst business application ever?</a>, <a href="http://lotusnotessucks.4t.com/index.html">Lotus Notes Sucks</a> or <a href="http://www.guardian.co.uk/technology/blog/2006/jan/24/islotusnotes">Is Lotus Notes the world&#8217;s worst application?</a>.</p>

<p>Why does this application provoke these kind of reactions?. I think the key is its user interface and the experience it produces in the poor user. Let me show you an example:</p>

<p><a href="http://jorgemanrubia.net/blog/wp-content/uploads/2010/03/lotus_notes_screenshot.jpg">
    <img src="http://jorgemanrubia.net/blog/wp-content/uploads/2010/03/lotus_notes_screenshot.jpg" style="width: 70%;"></img>
</a></p>

<p>The screenshot shows how Lotus Notes let you manage your mail. It offers you 48 buttons with their 48 icons to do that (and the real scary part comes when you try to search for some functionality using the chaotic  and non-standard menus). Managing your mail is about reading, writing, searching and organizing. None of these very fundamental goals is properly covered by Notes.</p>

<ul>
<li><p><strong>Reading.</strong> Notes let you activate a &#8220;Preview Panel&#8221; that split the window in two parts, so you can read the contents of mails without opening them in new windows. It also draws in red color the mails you haven&#8217;t read yet. If you have your inbox empty (and I always keep it empty), when a new mail arrives, and you have the preview panel open, the mail is automatically marked as &#8216;read&#8217;. This behavior has made me miss several mails.</p>

<p>Another good feature is that there is no obvious mechanism to force the checking of new mail. When some colleague has just send me an email I want to check, I close my inbox and open it again.</p></li>
<li><p><strong>Searching.</strong> This is where Notes really rocks. It makes searching your messages so difficult that I really think about it twice before doing it. It offers you two icons: a magnifier and some binoculars (you can look for them in the screenshot, if you like the &#8216;Where&#8217;s Wally?&#8217; kind of games). Even today I can&#8217;t tell you the difference. I always use the keyboard shortcut that let me search in the subjects of the selected folder (so if I want to search in all my mail, I have to select the &#8220;All messages&#8221; folder).</p>

<p>There is another &#8220;search in deep&#8221; functionality but it is so slow that I difficultly dare to use it. When you are used to Gmail, or you have seen the way Apple Mail does it, searching in Notes is like going back 20 years.</p></li>
<li><p><strong>Organizing.</strong> I like to archive most of the mails I receive. I have to do it in a local inbox, since my remote account has a limited size. I have tried hardly to find a shortcut for the action of archiving email, since I am always doing it. I haven&#8217;t being able to. I have googled for it, searched in the menus, looked for it in the help of Notes&#8230; Nothing. I am sure there is a way but I have been more than two years dragging the mail with my mouse, from the inbox, to the archive folder. There are like 10 buttons in the top of my inbox, each one with its shortcut, and no one of them could do this.</p>

<p>Organizing in folders is also very difficult. The problems start even before the drag and drop process. If you try to reorganize the folders hierarchy you&#8217;ll know what I am talking about.</p></li>
</ul>

<p>Allan Cooper talks about 14 factors that make software polite. Lotus Notes violates them all. For example, when you want to delete a file attachment of a message, an annoying modal dialog ask you whether you are sure, because it cannot be undone. Another example is the inability Lotus has to remember the state I left the workbench. Everyday I start Notes and it shows me the start panel. I always open my personal mail, and also the corporate mail of my team. Everyday I have to repeat the same operation and it annoys me, specially because Notes is not a lightweight and responsive product.</p>

<p>In a few months we will start using Microsoft Outlook at work. I haven&#8217;t used Outlook in the last 6 years but I am totally convinced I am going to be much more happy (because whatever Outlook does to manage your mail, it couldn&#8217;t be worse).</p>

<h3>Mac <acronym title="Operating System">OS</acronym> X Time Machine: how complex systems can have wonderful user interfaces</h3>

<p>If you have ever used some kind of Backup software, you can easily think about how many options you can configure: destination folder, backups periodicity, whether to compress them or not and the level of compression, scheduling, folders to include and exclude&#8230; Simply configuring the scheduling can make you visit several wizard pages choosing the days of the week, the exact time of each backup and so on. The next screenshot shows the configuration options of <a href="timemachine">Time Machine</a>, the Mac <acronym title="Operating System">OS</acronym> X backup system:</p>

<p><a href="http://jorgemanrubia.net/blog/wp-content/uploads/2010/03/time_machine_screenshot.png">
    <img src="http://jorgemanrubia.net/blog/wp-content/uploads/2010/03/time_machine_screenshot.png" style="width: 70%;"></img>
</a></p>

<p>You don&#8217;t have to worry about configuring anything because the application makes all the decisions for you. And I loved that approach. Even in the case where the backup disk run out of space, the system warns you about it, telling you that it is going to start discarding old backups. It makes the decision for you and let you keep working.</p>

<p>And this way of doing things is totally logical because, after all, your most probable goals when you are using backup software don&#8217;t include spending your time creating enterprise-class backup configurations and schedules. What you probably want are two things: recovering some missing files occasionally, or restoring the full system in case of disaster. And both things can be done easily with the Time Capsule. And in the case of browsing the history of your files, the <a href="http://www.youtube.com/watch?v=R8vx9cI9yTY">interaction design is totally outstanding</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://jorgemanrubia.net/2010/03/19/i-have-read-the-inmates-are-running-the-asylum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I have read&#8230; &#8216;The Mythical Man-Month: Essays on Software Engineering&#8217;</title>
		<link>http://jorgemanrubia.net/2010/01/09/i-have-read-the-mythical-man-month-essays-on-software-engineering/</link>
		<comments>http://jorgemanrubia.net/2010/01/09/i-have-read-the-mythical-man-month-essays-on-software-engineering/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 02:18:52 +0000</pubDate>
		<dc:creator>Jorge Manrubia</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://jorgemanrubia.net/2010/01/09/i-have-read-the-mythical-man-month-essays-on-software-engineering/</guid>
		<description><![CDATA[I have decided to write my first review on my last reading: The Mythical Man-Month: Essays on Software Engineering. The title of the book refers to the the unit of effort man-month. It is used by (I want to think &#8216;old&#8217;) metrics to estimate and schedule software development. As Brooks explains in his book, while [...]]]></description>
			<content:encoded><![CDATA[<p>I have decided to write my first review on my last reading: <a href="http://www.amazon.com/exec/obidos/ASIN/0201835959/ref=nosim/jorgmanrpersp-20">The Mythical Man-Month: Essays on Software Engineering</a>.</p>

<p><a href="http://www.amazon.com/exec/obidos/ASIN/0201835959/ref=nosim/jorgmanrpersp-20"><img src="http://ecx.images-amazon.com/images/I/51WIpM70FEL._SL160_.jpg" alt="Cover image of 'The Mythical Man-Month: Essays on Software Engineering'" /></a></p>

<p>The title of the book refers to the the unit of effort <em>man-month</em>. It is used by (I want to think &#8216;old&#8217;) metrics to estimate and schedule software development. As Brooks explains in his book, while <em>cost</em> varies on the product of number of people and number of months, <em>progress</em> does not. It would do it if tasks in software development could be partitioned between individuals with no communication among them. When you take into consideration the need of <em>communication</em> between parts, the effort increases as <code>n(n-1)/2</code>. The famous <a href="http://en.wikipedia.org/wiki/Brooks_Law">Brook&#8217;s Law</a> appeared in this book as an oversimplifying but eloquent way to capture the problem:</p>

<blockquote>
  <p>Adding manpower to a late software project makes it later</p>
</blockquote>

<p>If you are interested in reading about the importance of communication in software development I recommend you to read <em><a href="http://www.amazon.com/exec/obidos/ASIN/0321482751/ref=nosim/jorgmanrpersp-20">Agile Software Development: The Cooperative Game</a></em>. This book contains the most sensible discussion on the nature of software development that I have ever read. Cockburn defends that software development is <q>a cooperative game of invention and communication</q>.</p>

<p>Returning to the <em>The Mythical Man-Month</em> book, Another thing I loved is how it talks about the human factor in software development. In the chapter <em>The surgical team</em>, Fred Brooks says the following:</p>

<blockquote>
  <p>The conclusion is simple: if a 200-man project has 25 managers who are the most competent and experienced programmers, fire the 175 troops and put the managers back to programming</p>
</blockquote>

<p>When I read this sentence I was totally amazed. Notice that the author was the project manager of the massive software system of IBM System/360 (<acronym title="Operating System">OS</acronym>/360). So more than 3 decades ago, a software developer with experience in developing huge programs, didn&#8217;t emphasized the need of ceremony and heavyweight recipes for software development. Instead he could clearly see what many people can&#8217;t today. He proposed that the most expert programmers should act as surgeons leading a surgical team. The rest of the team should assist them in order to maximize their effectiveness with the core tasks of writing the specs, designing, coding and testing.</p>

<p>Fred Brooks mentions a <a href="http://portal.acm.org/citation.cfm?id=362858">1968 study</a> that concludes that the best programmers are 10 times more <em>productive</em> that the worst ones. Robert L. Glass in <a href="http://www.amazon.com/exec/obidos/ASIN/0321117425/ref=nosim/jorgmanrpersp-20">Facts and Fallacies of Software Engineering</a> talks about numbers ranging from 5 times better to 28 times better. Ignoring this fact is, in my opinion, the source of many deep problems in the spanish software development industry today. Companies don&#8217;t see technical talent as an asset to make more money, but simply like something academical.</p>

<p>Although these were the topics I enjoyed most, the book covers many other software development principles which are totally valid today: the importance of prototyping and the <a href="http://en.wikipedia.org/wiki/Wicked_problem">wicked</a> nature of the discipline, the dangers of over-designing, the need of cohesive teams with good communication mechanisms&#8230; The visionary condition of the author was proved again with his famous article <a href="http://en.wikipedia.org/wiki/No_Silver_Bullet"><em>No silver bullet</em></a>, which stated that nothing in the next 10 years (from 1986) would provide one order of magnitude improvement in software development. The article is included in the book by the way.</p>

<p>In conclusion, it is a book that I totally recommend. The principles it talks about are totally valid today and I really enjoyed reading about them considering the time the book was written. I am simply amazed by the fact that 34 years ago, someone was able to recapitulate so many true and concise ideas on software engineering, even before that software engineering, as a discipline, existed.</p>]]></content:encoded>
			<wfw:commentRss>http://jorgemanrubia.net/2010/01/09/i-have-read-the-mythical-man-month-essays-on-software-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My book backlog</title>
		<link>http://jorgemanrubia.net/2009/12/07/my-book-backlog/</link>
		<comments>http://jorgemanrubia.net/2009/12/07/my-book-backlog/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 01:30:43 +0000</pubDate>
		<dc:creator>Jorge Manrubia</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://jorgemanrubia.net/2009/12/07/my-book-backlog/</guid>
		<description><![CDATA[I have created an electronic registry of the books I read. To create it I have used the Now Reading Reloaded extension, based in the excellent WordPress Now Reading extension. This extension makes very easy adding books searching for them in Amazon, and retrieving their data from Amazon&#8217;s servers (including their cover image). It also [...]]]></description>
			<content:encoded><![CDATA[<p>I have created an <a href="http://jorgemanrubia.net/book-backlog/">electronic registry of the books I read</a>. To create it I have used the  <a href="http://wordpress.org/extend/plugins/now-reading-reloaded/">Now Reading Reloaded extension</a>, based in the excellent <a href="http://robm.me.uk/projects/plugins/wordpress/now-reading">WordPress Now Reading extension</a>. This extension makes very easy adding books searching for them in <a href="http://www.amazon.com/">Amazon</a>, and retrieving their data from Amazon&#8217;s servers (including their cover image). It also let you manage the life cycle of books (reading now, finished and unread).</p>

<p>So I installed this extension, went to my physical library and added the technical books I own. Then I modified the <acronym title="Pre-Hypertext Processing">PHP</acronym> templates to fit my page theme and show the results in the way I wanted.</p>

<p>My last two Amazon&#8217;s orders have been quite big (the current USD/EUR exchange rate has something to do with it), so now I have 16 books waiting to be read in my library (and a few more in <a href="http://www.amazon.com/registry/wishlist/36SJ6E0V7WWWR/ref=cm_wl_act_vv?_encoding=UTF8&amp;visitor-view=1&amp;reveal=">my Amazon&#8217;s wish list</a>). In recent times I have focused my reading mainly in agile development, ruby on rails, good programming practices and, to a lesser extent, user experience design.</p>

<p>I intend to write reviews of the books I read in the form of blog posts. I&#8217;ll link back the reviews from the <a href="http://jorgemanrubia.net/book-backlog/">book backlog</a>, using a Now Reading feature that let you associate a post number to book entries.</p>]]></content:encoded>
			<wfw:commentRss>http://jorgemanrubia.net/2009/12/07/my-book-backlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

