<?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>Pawel Brodzinski on Software Project Management &#187; software design</title>
	<atom:link href="http://blog.brodzinski.com/category/software-design/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.brodzinski.com</link>
	<description>Dealing with software projects in real life</description>
	<lastBuildDate>Mon, 30 Jan 2012 21:59:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>SparkUp Conference: What’s New in UX and Web Design</title>
		<link>http://blog.brodzinski.com/2010/05/sparkup-whats-new-ux-aweb-design.html</link>
		<comments>http://blog.brodzinski.com/2010/05/sparkup-whats-new-ux-aweb-design.html#comments</comments>
		<pubDate>Wed, 26 May 2010 16:24:12 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[website design]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=1827</guid>
		<description><![CDATA[I’ve just come back from SparkUp Conference which is probably the first conference focusing on web development, web design and user experience in Poland. You can find a few words about the conference itself at the end of this post, but my reason for attending the event wasn’t to judge hosts but to catch on [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2010/05/sparkup-whats-new-ux-aweb-design.html" title="Permanent link to SparkUp Conference: What’s New in UX and Web Design"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/sparkupconf.png" width="200" height="200" alt="SparkUp Conference" /></a>
</p><p>I’ve just come back from <a href="http://www.sparkup.pl/en/main">SparkUp Conference</a> which is probably the first conference focusing on web development, web design and user experience in Poland. You can find a few words about the conference itself at the end of this post, but my reason for attending the event wasn’t to judge hosts but to catch on with new trends in web design.</p>
<p>I don’t feel like an expert in the area so I expected to hear pretty much new information and learn what we’re doing wrong.</p>
<p><strong>Make it simple</strong></p>
<p>If I wanted to point the only, most important message repeated over and over again at SparkUp it would be: make your design less cluttered. The more things you’re trying to pack into a website the harder it is for user to find what they’re looking for. The more elements you try to stress using visual tricks the harder it is for user to focus on the real goal of the site.</p>
<p>It is the old lesson you can say and you’ll be right. If the world has learned one thing about web design from Google this was the thing. The change we made in just a few years from <a href="http://web.archive.org/web/20000208033440/http://www.altavista.com/index.html">packed sites</a> competing for our attention to <a href="http://web.archive.org/web/20030328001650/www.google.com/">single-purpose sites</a> with clean and simple design is impressive. Yet it appears we need to be told that still after all these years.</p>
<p><strong>Learn how to keep user on site for more than 30 seconds</strong></p>
<p>This is another pretty obvious message, but I’m not surprised at all we heard that. Most sites suck at keeping user’s attention for a minute or so. What more, if I wanted to point the biggest failure of design of this blog it would be exactly this – keeping you, dear readers, on the site for a longer time and making you click something than close tab button. Bounce rate close to 80% is nothing to be proud about.</p>
<p>Anyway it looks like new visitors don’t find here what they’re looking for because it can’t be found easily enough or just named wrongly. For this discussion I just won’t consider my writings can be boring or stupid. But coming back to the point, if we aren’t able to draw attention of visitors during first half of a minute they’re gone and they’re not coming back.</p>
<p>Interesting thing is it works the very same way with mobile applications downloaded to our smartphones. Even though it isn’t a website and the app sits on our device we won’t invest much more of our time.</p>
<p><strong>It’s not always the user who is the king</strong></p>
<p>This one was a bit of surprise for me, but it appears you may want to build a site which is sub-optimal for users but maximizes your other goal, namely advertisement exposure. I never looked at that this way, but to some point this does make sense. This also explains why typical news sites suck so much.</p>
<p><strong>Not everything has to be perfect</strong></p>
<p>We have a number of different browsers. Some of them infamous for their bugs or non-standard behaviors, IE6 being the most notable one. When designing a site we often try to polish every detail. But it appears that the good enough principle works here as well. Users won’t notice that corners aren’t rounded in Internet Explorer or there’s no shadow in Chrome or some graphics aren’t perfectly aligned in Firefox. After all they don’t switch like crazy between different browsers. And they don’t come to your site to judge design but to achieve some goal: find information, buy etc.</p>
<p><strong>Web 2.0 with human face</strong></p>
<p>I pretty much expected to hear a lot of web 2.0 and social media crap thrown at every presentation during the event. And I was positively surprised. Of course there were a lot of social media apps used as examples but it wasn’t pushy at all. That’s natural some of strategies used by social media sites can be used more universally and that’s basically how this content was sold on the conference.</p>
<p><strong>Summary</strong></p>
<p>I’d say I expected to hear more novelties and it appeared people keep saying pretty much the same things you already know, if you use some common sense at least. This isn’t a bad news however. You just don’t need to use all new stuff to build a great site.</p>
<p>What more, being a few steps behind may even help you, as not every idea adopted by the industry appears to be great. A good example is using a lot of Flash, which is sometimes credited as overused technology.</p>
<p><strong>About SparkUp Conference</strong></p>
<p>This was the first edition of the event and hosts need to improve a lot. A list of glitches is pretty long: slides were hardly seen (very dark and blurred) despite three projectors in each room, some problems with audio, coughing wifi, not enough snacks during breaks, a very long line for lunch and light on the stage virtually blinding presenters. Even <a href="http://twitter.com/#search?q=%23sparkupconf">Twitter coverage</a> was poor. But the worst organizational glitch was a lack of host.</p>
<p>There was no one trying to keep the schedule, shouting at people staying too long at breaks, introducing presenters, running with a microphone during Q&amp;A sessions etc. One person for each room would be enough. All these issues can be ascribed as problems of a first version, but <a href="http://agilece.com/">AgileCE</a> this year was also version 1.0 and <a href="http://blog.brodzinski.com/2010/04/agilece-2010.html">it was organized way better</a> than SparkUp.</p>
<p>Another thing is presentations quality. To be honest I expected more. Not that I complain about caliber of speakers. Actually I’m neither web designer nor web developer so celebrities from that niche are anonymous for me anyway. But I expect people would be prepared to deliver their presentations, and their speech would go rather smoothly. Not that all presentations were mediocre, but a couple of them were definitely below-average.</p>
<p>When I was considering attending AgileCE I had doubts how it would eventually go, but after the conference I’m sure I’ll be there next year. With SparkUp it is the other way around: I thought it was a great idea for an event, but I’m not so sure if I’m going to be there next year.</p>
<div id="tweetbutton1827" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F05%2Fsparkup-whats-new-ux-aweb-design.html&amp;via=pawelbrodzinski&amp;text=SparkUp%20Conference%3A%20What%E2%80%99s%20New%20in%20UX%20and%20Web%20Design&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F05%2Fsparkup-whats-new-ux-aweb-design.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2010/05/sparkup-whats-new-ux-aweb-design.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GUI Redesign Trap</title>
		<link>http://blog.brodzinski.com/2010/05/gui-redesign-trap.html</link>
		<comments>http://blog.brodzinski.com/2010/05/gui-redesign-trap.html#comments</comments>
		<pubDate>Tue, 18 May 2010 17:50:15 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=1812</guid>
		<description><![CDATA[English version of Wikipedia has recently gone through face-lifting. Now GUI is a bit smoother, a bit nicer. A thing I don’t really care about, but fine, people would like it. At the same time they moved search box from the left sidebar to top right corner. What can I say, the new place is [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2010/05/gui-redesign-trap.html" title="Permanent link to GUI Redesign Trap"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/wikipedia.png" width="200" height="200" alt="Wikipedia" /></a>
</p><p>English version of Wikipedia has recently gone through face-lifting. Now GUI is a bit smoother, a bit nicer. A thing I don’t really care about, but fine, people would like it.</p>
<p>At the same time they moved search box from the left sidebar to top right corner. What can I say, the new place is used on different sites to locate search box. On different sites, yes, but not on a freaking Wikipedia. On Wikipedia it is always on the left sidebar. Always. I mean it was until someone decided it to hide somewhere else.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/wikipedia-eng.png"><img class="aligncenter size-medium wp-image-1813" title="wikipedia eng" src="http://blog.brodzinski.com/wp-content/uploads/wikipedia-eng-400x149.png" alt="" width="400" height="149" /></a></p>
<p>As a comparison you can see Polish version of the site with the old design.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/wikipedia-pl.png"><img class="aligncenter size-medium wp-image-1814" title="wikipedia pl" src="http://blog.brodzinski.com/wp-content/uploads/wikipedia-pl-399x146.png" alt="" width="399" height="146" /></a></p>
<p>You may laugh at me but I spent like 20 seconds looking for search box. Why? Because I got used to the place where the control was and I expected it there. I would be as much confused if Google suddenly moved search box somewhere else.</p>
<p>I bet that if Wikipedia had left search boxes in the old place and in the new one vast majority of people, like 99%, would have used the old one.</p>
<p>Pretty much the same happened with Microsoft Office 2007 with redesigned menus. I use it for about 3 years already and it still happens I get frustrated trying to find one of these options you use once a couple of years. With the old Office it could be found in Options or other Settings. And now it is um&#8230; somewhere.</p>
<p><strong>The problem is users get used to your design. And then, they expect there won’t be significant changes.</strong> And if there have to be a change people expect it will be done the way Google chose when face-lifting search. They polished graphic too, but the search box is exactly where it used to be for centuries.</p>
<p>If you decide to move important piece of your GUI somewhere else or, worse, redo the whole GUI just think about it once more. You will likely confuse your users.</p>
<p>I don’t say it has to be wrong automatically. Sometimes you just have to invite new design; otherwise we would still use command line interfaces. <strong>But if you took Windows 95 user sat him in front of Windows 7 he would feel familiar.</strong> Start menu, task bar and windows with the same elements: menus, status bars, title bars etc. And that’s not without a reason. <strong>It easier to switch people from one application to another when they know which function is where and they aren’t surprised with the way things work.</strong></p>
<p>Personally I don’t really get the Wikipedia move. If I really wanted to move search box I would rather put it in the middle, Google-way, but most likely I would just leave it where it was. I don’t see how this change was needed but I do see how it confuses users. And that’s exactly the GUI redesign trap.</p>
<div id="tweetbutton1812" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F05%2Fgui-redesign-trap.html&amp;via=pawelbrodzinski&amp;text=GUI%20Redesign%20Trap&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F05%2Fgui-redesign-trap.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2010/05/gui-redesign-trap.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Make Registration Damn Easy (or Users Will Walk Away)</title>
		<link>http://blog.brodzinski.com/2010/03/make-registration-easy.html</link>
		<comments>http://blog.brodzinski.com/2010/03/make-registration-easy.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:49:44 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[registration]]></category>
		<category><![CDATA[share point]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=1666</guid>
		<description><![CDATA[I recently registered to last Krakow .Net Developer’s Group meeting. Group’s site is run on SharePoint Server. What does it mean? Well, probably administrators can use vast choice of different web parts available for share point and can configure security in details. But what’s in it for me as a user? Let’s talk about simple [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2010/03/make-registration-easy.html" title="Permanent link to Make Registration Damn Easy (or Users Will Walk Away)"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/register.png" width="200" height="200" alt="Register button" /></a>
</p><p>I recently registered to last Krakow .Net Developer’s Group meeting. Group’s site is run on <a href="http://en.wikipedia.org/wiki/Microsoft_SharePoint">SharePoint Server</a>. What does it mean? Well, probably administrators can use vast choice of different web parts available for share point and can configure security in details.</p>
<p>But what’s in it for me as a user? Let’s talk about simple event registration process. What you need to do to register for the event is:</p>
<ol>
<li>Find a list of attendees just to learn there’s no ‘register’ button.</li>
<li>Learn you need to sign in to the site (SharePoint server in this case).</li>
<li>Register on the server.</li>
<li>Find confirmation email and confirm your registration.</li>
<li>Go back to the event site to learn you have to need to fill your profile.</li>
<li>Fill your profile and learn it works pretty inconsistently.</li>
<li>Go back to the event site to find (surprise, surprise) you still can’t register to the event.</li>
<li>Check your email client to read useless information that you filled your profile. As if you didn’t do it seconds ago.</li>
<li>Learn you need to apply for the group which organizes event before you can register.</li>
<li>Apply for the group. You need to fill 3 required fields instead of checking the ‘I want to go to the goddamn event’ flag.</li>
<li>Read an email telling you that you’ve just applied for the group and need to wait for acceptance. The email does it in completely cryptic way.</li>
<li>Wait patiently.</li>
<li>Get an email with cryptic information about you being accepted to the group. Woo-hoo!</li>
<li>Go back to the event site to find out there is no damn ‘register’ button whatsoever.</li>
<li>After few random tests use ‘new’ and ‘add new record’ options respectively to finally register to the event.</li>
<li>Read an email telling you how “<em>adding registered user in localization workflow has been completed.</em>” What the hell?</li>
</ol>
<p>I was determined so I made it to the last point. In any other case I’d leave somewhere between point 5 and 8. Is this the goal of hosts? I didn’t think so.</p>
<p>Actually at least half of this rant should be addressed to SharePoint team but if administrators took a while to think what a pain in the neck it is to register to their event they might reconsider the process. They should unless they want to keep it elite and drive potential attendees away. “<em>You’ve passed 16-point registration process; you’re worthy; you are allowed to join.</em>”</p>
<p>A nice story, but what is it really about?</p>
<p>If you run or build a site with some kind of registration make it damn easy. Think about the easiest possible way of registration and then rule out at least one step. Do it or potential users will remain potential forever. They will walk away faster than you think.</p>
<ul>
<li><strong>If you can live with anonymous users don’t force them to register (but create an incentive for them to do so).</strong></li>
</ul>
<ul>
<li><strong>If you don’t need to get confirmation of an email address don’t ask for it.</strong></li>
</ul>
<ul>
<li><strong>If you don’t need to get full profile of users just leave it as an option, don’t push it to the front page after first login.</strong></li>
</ul>
<ul>
<li><strong>Don’t create few-step registration process. Just don’t, OK?</strong></li>
</ul>
<ul>
<li><strong>Use <a title="OpenID" href="http://www.codinghorror.com/blog/2008/05/openid-does-the-world-really-need-yet-another-username-and-password.html">OpenID</a> mechanism as an option which would make registration much easier and much safer for users.</strong></li>
</ul>
<p>The other story is SharePoint which does really crappy job as <a href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a> standing behind internet sites. There are loads of better options. SharePoint was aimed at intranet sites and even there it doesn’t do a good job. Moving it to the internet is just wrong.</p>
<div id="tweetbutton1666" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F03%2Fmake-registration-easy.html&amp;via=pawelbrodzinski&amp;text=Make%20Registration%20Damn%20Easy%20%28or%20Users%20Will%20Walk%20Away%29&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F03%2Fmake-registration-easy.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2010/03/make-registration-easy.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Google Buzz Is Good, Google Wave Isn&#8217;t and How It Relates to Product Management</title>
		<link>http://blog.brodzinski.com/2010/02/google-buzz-google-wave-product-management.html</link>
		<comments>http://blog.brodzinski.com/2010/02/google-buzz-google-wave-product-management.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 17:48:09 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software business]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[google buzz]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[product management]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=1622</guid>
		<description><![CDATA[A couple of days ago GMail greeted me differently. Instead of good old inbox I saw big shiny add prompting me to try out Google Buzz. Add I instantly hated. I was all: “Give me my damn inbox back. I don’t even want to seek damn ‘skip this’ link. I hate you Google!” Wasn’t I [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2010/02/google-buzz-google-wave-product-management.html" title="Permanent link to Why Google Buzz Is Good, Google Wave Isn&#8217;t and How It Relates to Product Management"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/2010/02/google-buzz.png" width="286" height="68" alt="google buzz" /></a>
</p><p>A couple of days ago GMail greeted me differently. Instead of good old inbox I saw big shiny add prompting me to try out <a title="Google Buzz" href="http://www.google.com/buzz">Google Buzz</a>. Add I instantly hated. I was all: “<em>Give me my damn inbox back. I don’t even want to seek damn ‘skip this’ link. I hate you Google!</em>”</p>
<p>Wasn’t I supposed to write why I think Google Buzz is good? Well, thanks for reminding me.</p>
<p>Anyway, I finally checked Buzz and while I can’t say at the moment whether it is good product I can already say it is significantly better than recently released <a title="Google Wave" href="http://wave.google.com/">Google Wave</a> when it comes to product management.</p>
<p><span style="font-weight: bold; font-size: 130%;">Product Communication</span></p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/2010/02/gmail-buzz.png"><img class="alignright size-full wp-image-1626" title="gmail buzz" src="http://blog.brodzinski.com/wp-content/uploads/2010/02/gmail-buzz.png" alt="" /></a>I learned there is something like Google Buzz because of this annoying advert I mentioned above but the only thing I was looking for then was ‘go to my inbox’ link. I didn’t even read what the heck the thing is all about. But the next thing I noticed was another link in my GMail navigation panel waiting patiently to be clicked. A kind of passive invitation – click me if you’re curious, click me when you’re ready.</p>
<p>With Wave it was a different story. People started writing how cool or how crappy Wave was. I checked it to avoid being out-of-date. If I wasn’t reading what Google is going to bring up next, and face it: most people don’t, I wouldn’t even know there is such thing as Wave.</p>
<p>What does it teaches us when it comes to product management? <strong>Make it easy to learn about your new product.</strong> Buzz is there, waiting for you to take a look whenever you feel like it. You see it every time you click on your GMail inbox, which many people do very often. Sooner or later you will check what the new product is. If you’re one of these huge corporations which gets a lot of PR you can also base on your fame and let people talk about your product, but it won’t be anywhere as successful as integration with one of your current applications.</p>
<p>First product is just one click away from you all the time. Another requires much reading, finding out what it is and getting an invitation. The latter is hell lot of work for average user.</p>
<p><span style="font-weight: bold; font-size: 130%;">Leverage Existing Products</span></p>
<p>Google has Blogger, Google Talk and Picasa, all producing some kind of feeds: posts, status messages and information about new pictures respectively. This may be automatically pushed to Buzz and magically people use the new app seamlessly. My first thought was: Twitter and Facebook statuses should be next. Well, actually Twitter is already integrated (one-way, but still). It just isn’t enabled by design since you have to point Twitter profile to finish integration.</p>
<p>Wave doesn’t integrate with anything. This is yet another stand-alone application. The only thing you can get is email notifications, but that doesn’t help with feeding Wave with any content.</p>
<p>If you launch new product addressed to mass market make people use it without even being aware of the fact. Sure, there aren’t many companies which can pre-configure everything like Google. Apple, Microsoft, maybe a few others. <strong>But even then let people do the configuration part only once and make the rest happen automatically. Even when someone isn’t coming back to the app as far as it goes on auto-pilot you build your user base up.</strong></p>
<p><span style="font-weight: bold; font-size: 130%;">Make It Simple</span></p>
<p>Buzz copied Facebook and Twitter GUI, which already works great. One textbox where you write something and post/publish/submit button. OK, there’s configuration too which I don’t even try to learn at the moment. Somehow people I know just pop up and I start following them. When I wear my user hat I don’t even care how it happens. What I care is I can follow plenty of my friends and do it easily.</p>
<p>Wave tried to do too many things. Collaboration, conversations, pictures, videos, documents and all the stuff. Wave does many things but neither of them is done well. And worst of all it doesn’t help to link with your friends which, for social media app, should be the single most important goal.</p>
<p>Trying to get the product right at the first time is doomed. Trying to get every possible feature great with first approach is impossible. It’s much better to choose one or two features, do them good enough and then fix them until they’re great. Until then don’t push more half-assed features than you have to. <strong>If you <a href="http://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it-doesnt-need.html">do few key things right</a> you don’t need to have everything on board at the day 1.</strong></p>
<p><span style="font-weight: bold; font-size: 130%;">Summary</span></p>
<p>I don’t say Buzz is a good product. I don’t know yet. The thing I know is I will use Buzz because I already set custom status messages at Google Talk which should automatically make their way to Buzz. The same way a bunch of my friends will use it. Plenty of them don’t use Twitter or Facebook so this will be the first virtual place where we meet and that’s where Buzz kicks ass from the day 1.</p>
<p>That’s all thanks to very good product management strategy. Much, much better than it was with Google Wave.</p>
<p>Just a couple of days after launch more of my friends use Buzz than Wave. That was left-handed anyway, since it’s pretty easy to have at least 1 user.</p>
<p>It is possible Wave today is better product than Buzz. I’m almost sure it took way more work to bring Wave where it is today than to launch Buzz. And yet, just because of very wise product management, Wave folks should go ask Buzz team for training.</p>
<p>Even if tomorrow I’m going to learn Buzz sucks, I’ll keep coming back because:</p>
<ul>
<li> I use it anyway (seamlessly)</li>
<li> It is at hand all the time</li>
<li>It is used (seamlessly) by more and more people I care about</li>
</ul>
<p>None of these things can be told about Wave.</p>
<p><strong>It appears not only the product itself matters but also how you drive it.</strong></p>
<div id="tweetbutton1622" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F02%2Fgoogle-buzz-google-wave-product-management.html&amp;via=pawelbrodzinski&amp;text=Why%20Google%20Buzz%20Is%20Good%2C%20Google%20Wave%20Isn%26%238217%3Bt%20and%20How%20It%20Relates%20to%20Product%20Management&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2010%2F02%2Fgoogle-buzz-google-wave-product-management.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2010/02/google-buzz-google-wave-product-management.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Wave: What You Should Avoid When Releasing Your App</title>
		<link>http://blog.brodzinski.com/2009/11/google-wave-what-you-should-avoid-when.html</link>
		<comments>http://blog.brodzinski.com/2009/11/google-wave-what-you-should-avoid-when.html#comments</comments>
		<pubDate>Thu, 19 Nov 2009 17:24:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/11/google-wave-what-you-should-avoid-when-releasing-your-app.html</guid>
		<description><![CDATA[You can approach this post in at least four different ways. Your attention can be drawn by Google Wave part, namely my rant on the subject, or by a list of thing which you should avoid while shipping your application, which is a kind of lesson learned from the part one. You may also come [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.widgetslab.com/wp-content/uploads/2009/10/google-wave-logo.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 256px; height: 256px;" src="http://www.widgetslab.com/wp-content/uploads/2009/10/google-wave-logo.png" border="0" alt="" /></a>You can approach this post in at least four different ways. Your attention can be drawn by Google Wave part, namely my rant on the subject, or by a list of thing which you should avoid while shipping your application, which is a kind of lesson learned from the part one. You may also come here for both or neither of them. In the latter case I guess that’s quite a success I kept you here up to this point.</p>
<p>Anyway the whole thing starts with the story about Google Wave. Feel free to skip to the second part if you don’t feel like reading yet another rant about yet another Google application.</p>
<p><span style="font-weight: bold; font-size: 130%;">Google Wave</span></p>
<p><a href="http://www.progressblog.com/">Lech</a> invited me to try out Google Wave the other day. There was pretty much <a href="http://twitter.com/#search?q=google%20wave">buzz on Wave</a> recently so it’s a chance to set my own opinion.</p>
<p>I took my <a href="http://blog.brodzinski.com/2009/03/minimal-screen-resolution-for.html">tiny netbook</a> and logged in to Google Wave. The first thing is, what a surprise, an introductory video. A cool one. I could see top left corner of it. Oh I soon noticed “full screen” button on the frame so I could see whole video, which at the same time became completely irrelevant since the guy was showing other frames which I could no longer see since I full-screened frame with the video. Well, you don’t have another chance to make first impression they say.</p>
<p>Hey Google, have you ever heard about this little thingies called netbooks which are <a href="http://awards.t3.com/categories/computer-of-the-year/lenovo-ideapad-s10e">so damn popular</a> these times? Yes, the ones with 1024&#215;600 or similar screens. I must tell you Google Wave sucks when you use one of these.</p>
<p>I tried to play with Wave for a while trying to find the way of use just for myself. Nah, too slow, too feature-poor and too buggy. I thought it might be a replacement for good old Google Notebook but I couldn’t even paste a picture there, easy way.</p>
<p>But that’s all fine since they told us it’s the collaboration tool, didn’t they? And as far as remember there isn’t much collaboration happening between me and&#8230; um&#8230; me.</p>
<p>An occasion to test collaboration features of Wave appeared soon after. Along with <a href="http://www.progressblog.com/">Lech</a>, <a href="http://twitter.com/zpepe">Peter</a>, <a href="http://twitter.com/martinkoKlingac">Martin</a> and a couple of others we shared two waves trying to run a discussion and collaborate online.</p>
<p>What can I say? First thing Google Wave is buggy. We found long list of issues which annoys us, huge lag on slower machines being probably the worst one. If the application you use cannot display characters as you write them something is fucked up big time. Hey Google, have you heard that these neat netbooks everyone uses aren’t very fast machines? Well, I tell you, not even close these fancy powerful machines you develop your code on.</p>
<p>Let aside quality. “Ship early” they said. What about functionality? A tough question. I thought about the most obvious scenarios like editing a document by a couple of people at the same time or a discussion on some subject or a hard-copy for intensive brainstorming&#8230; Actually none of these.</p>
<p>Co-editing a document is a flawed concept as a whole. If you try to write something and your cursor is jumping all over the screen because someone else tries to write his part just above you’re all “<span style="font-style: italic;">WTF?? What the hell is happening with this darn application?</span>” I don’t know how the problem will be dealt with but definitely some other way than broadcasting each keystroke among all collaborators.</p>
<p>Over to discussion part. I must say threaded conversation in Google Wave looks neat. Nothing like <a href="http://www.phpbb.com/">phpbb</a> forum. It’s really nice. You even get use to vague way of editing the conversation pretty fast. The problem is it becomes cluttered virtually in minutes. If you’ve seen some multi-threaded flame wars on popular portals you get what I’m talking about. It takes just a dozen of posts and you start losing your focus. After few dozen you no longer know which subject was discussed in which part of the thread, multiple sub-thread are forked by people utterly disagreeing with one little sentence thrown between the lines as a joke and people start wandering in different directions which happens during every uncontrolled discussion. If you happen to be offline for a couple of days finding any reasonable order in the thread becomes a great story for the next Mission Impossible movie.</p>
<p>Maybe brainstorming then? Maybe, if you try hard enough. This scenario is basically the mix of two above and you feel exactly the same pains. The main product of brainstorming ends up somewhere in the middle of conversation between “be right back” and “this feature sucks” messages. And no, co-editing the post doesn’t become easier just because it’s record of brainstorming.</p>
<p>And one more thing – every of these things you could do with other tools, namely Google Docs, any IM chat (Skype is fine) and shared mindmap (<a href="http://www.mindmeister.com/">MindMeister</a> anyone?).</p>
<p>This brings me to sad conclusion: Google Wave is released too early (e.g. is too buggy) and solves no real problem. What can we learn from this example?</p>
<p><span style="font-weight: bold; font-size: 130%;">What You Should Avoid When Releasing Your App</span></p>
<p><span style="font-weight: bold;">•    Don’t release too early</span><br />
If your software wouldn’t pass 15-minute acceptance tests of a person who just skim through the app it isn’t ready yet. Release early doesn’t mean you can release complete shit as long as it’s early. If the app is too crappy people won’t come back to check the second beta.</p>
<p><span style="font-weight: bold;">•    Don’t release meaningless software</span><br />
Solve at least one users’ problem. Choosing problems which are real helps much. You can generate a lot of buzz with being just cool, but folks won’t stick with the app. I keep coming back to Google Docs and Spreadsheets despite their (still) poor functionality because they solve a problem of as-easy-as-possible documents sharing. I keep coming back to discontinued Google Notebook because it’s the easiest way to group a bunch of hard copies of website pieces. Solve one yet unsolved problem and I’ll keep coming back to you because I’m too lazy to look for another, possibly better, solution.</p>
<p><span style="font-weight: bold;">•    Don’t ignore people with worse hardware than yours</span><br />
Think how a web application would look on low-resolution screens such as netbooks or mobile phones. I wrote about importance of <a href="http://blog.brodzinski.com/2007/12/what-is-your-mobile-website.html">optimizing your website for mobile phones</a> a couple of years ago and guess what: people didn’t stop using their mobiles to browse the web. They’re browsing the web with their phones like crazy. And in the meantime the whole new market of computers with screens worse than good old 1024&#215;768 emerged.</p>
<p><span style="font-weight: bold;">•    Don’t overlook boring features just because they’re boring</span><br />
If the most basic functionality is screwed nothing is going to rescue you. If your application sucks as displaying characters users type on keyboard you shouldn’t really bother about introductory video or widgets your app can have.</p>
<p><span style="font-weight: bold;">•    Don’t forget about branding</span><br />
A big name helps. If your company happen to be named Google, Amazon, Microsoft or such people will use your shit no matter what. You won’t hurt of a bunch of rants on your new product since that’s pretty much expected. On the other hand if no one ever heard about your organization you don’t want people to learn about you from a rant which is on the top of search results. If that’s how you start with your branding it may be a bit harder to draw other users.</p>
<p>Yes, I’m aware I sound so old-school and so boring. Feel free to ignore me as I’m not a typical early adopter. But don’t cry when people stop coming back after a couple of visits. And yes, you have their emails in your database but the only business you can make on that is selling them to some spammer since people aren’t going to give you next chance.</p>
<div id="tweetbutton957" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F11%2Fgoogle-wave-what-you-should-avoid-when.html&amp;via=pawelbrodzinski&amp;text=Google%20Wave%3A%20What%20You%20Should%20Avoid%20When%20Releasing%20Your%20App&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F11%2Fgoogle-wave-what-you-should-avoid-when.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/11/google-wave-what-you-should-avoid-when.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Keyboard Shortcuts in Web Applications</title>
		<link>http://blog.brodzinski.com/2009/10/keyboard-shortcuts-in-web-applications.html</link>
		<comments>http://blog.brodzinski.com/2009/10/keyboard-shortcuts-in-web-applications.html#comments</comments>
		<pubDate>Mon, 05 Oct 2009 18:29:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[usability issues]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/10/keyboard-shortcuts-in-web-applications.html</guid>
		<description><![CDATA[What are differences between modern web application and good old thick client we used back than before internet bubble came? One is responsiveness. Web applications generally suck when it comes to rapid response to user’s actions. Just today my friend told me how fast a time tracking app has become when he installed recently released [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_w55opxuxeX8/Sso-cOayNII/AAAAAAAAEUc/KQphdroJkIc/s1600-h/shortcut.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 125px;" src="http://3.bp.blogspot.com/_w55opxuxeX8/Sso-cOayNII/AAAAAAAAEUc/KQphdroJkIc/s320/shortcut.jpg" alt="" id="BLOGGER_PHOTO_ID_5389188558729917570" border="0" /></a><br />What are differences between modern web application and good old thick client we used back than before internet bubble came?</p>
<p>One is responsiveness. Web applications generally suck when it comes to rapid response to user’s actions. Just today my friend told me how fast a time tracking app has become when he installed recently released <a href="http://blog.chromium.org/2009/09/introducing-google-chrome-frame.html">Google Chrome add-on for Internet Explorer</a>. If it wasn’t a web app he wouldn’t touch the application with that level of responsiveness. Not even with a stick.</p>
<p>What else? My call is usability. Web is still mouse-focused while most of old school thick clients are, or at least should be, keyboard-focused. The early web was all about navigating with mouse but that’s the old truth: <a href="http://blog.brodzinski.com/2006/06/no-mouse-navigation.html">keyboard is faster</a>. The web should just mimic keyboard-driven navigation from thick clients, shouldn’t it?</p>
<p>Well, no. Not so fast. The problem is every web page works within some thick client – a web browser. Now, you can’t just use all these Alt+something or Ctrl+something since you don’t know which version of which browser your user launched.</p>
<p>Yes, Ctrl+O opens a file and Ctrl+S saves a file pretty much everywhere. But you don’t really know what Alt+N does in my Firefox and in my Internet Explorer. And as far as shortcut isn’t intercepted by the browser it will be passed to a web application. Unfortunately you can’t know when it is and when it isn’t.</p>
<p>The answer? I wish I had one which works every time but that’s not true. One great approach is the one used by Google Reader. They use characters and Shift+characters as their shortcuts. This doesn’t interfere with Alt+something or Ctrl+something used by browsers. Unfortunately this doesn’t work whenever you have a lot of text to be filled by the user since then you use letters and big letters to fill the text.</p>
<p>Another option? Leave shortcuts alone but make standard <a href="http://blog.brodzinski.com/2008/07/usability-issues-tab-order.html">tab-pedaling</a> as intuitive as possible.</p>
<p>Any other ideas how to solve the problem?</p>
<p>On a side note: a little hiatus here was connected with deployment of <a href="http://blog.brodzinski.com/2008/10/my-private-project.html">my private project</a>. In other words: finally we have moved. There are glitches all over the place but the first service pack (term copyrighted by <a href="http://headworx.slupik.com/">Szymon</a>) is scheduled for the next year.</p>
<div id="tweetbutton942" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F10%2Fkeyboard-shortcuts-in-web-applications.html&amp;via=pawelbrodzinski&amp;text=Keyboard%20Shortcuts%20in%20Web%20Applications&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F10%2Fkeyboard-shortcuts-in-web-applications.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/10/keyboard-shortcuts-in-web-applications.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MockupScreens Review</title>
		<link>http://blog.brodzinski.com/2009/09/mockupscreens-review.html</link>
		<comments>http://blog.brodzinski.com/2009/09/mockupscreens-review.html#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:43:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[gui design]]></category>
		<category><![CDATA[mockupscreens]]></category>
		<category><![CDATA[project management software]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/09/mockupscreens-review.html</guid>
		<description><![CDATA[What’s your favorite tool to create a GUI design? Mine is whiteboard and a marker. Unfortunately it has some disadvantages. While windows and controls can be created rapidly whiteboard leaves you with pretty rough design. You don’t really think about specific positioning of all buttons and lists. You don’t think whether labels are fine or [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mockupscreens.com/"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 121px; height: 65px;" src="http://2.bp.blogspot.com/_w55opxuxeX8/Sqe1FFnUFcI/AAAAAAAAEP0/iu9CckezkX8/s320/mockupscreens.png" alt="" id="BLOGGER_PHOTO_ID_5379467378928391618" border="0" /></a>What’s your favorite tool to create a GUI design? Mine is whiteboard and a marker. Unfortunately it has some disadvantages. While windows and controls can be created rapidly whiteboard leaves you with pretty rough design. You don’t really think about specific positioning of all buttons and lists. You don’t think whether labels are fine or are they too long. You don’t think how a window changes when you display new controls. It’s all done when first working prototype is ready.</p>
<p>If you try to create clean GUI design you usually need some kind of tool for that. Usually <a href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a> allows you to create clean sketch of GUI. A problem is that a person who should do the job rarely uses, and basically never needs other function of, IDE. That’s where <a href="http://mockupscreens.com/">MockupScreens</a> appears.</p>
<p>MockupScreens is pretty light-weight application which allows you to prepare GUI design. You can prepare multiple screens using all basic controls and you can add some flow between these screens mapping actions (screen changing) with specific controls.</p>
<p><span style="font-weight: bold;font-size:130%;" >Strengths</span></p>
<p><span style="font-weight: bold;">Easy to use</span></p>
<p>MockupScreens is very easy to use. You need no documentation whatsoever to prepare your first design. You don’t have fancy controls at hand – just basic shapes, but that’s exactly what you need. You don’t try to polish your app – you’re building first version of your GUI. You definitely don’t need bells and whistles now. What you get instead is simplicity.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_w55opxuxeX8/Sqe1NfHS_ZI/AAAAAAAAEP8/1rW5q105tWA/s1600-h/mockupscreens+example+1.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 367px;" src="http://1.bp.blogspot.com/_w55opxuxeX8/Sqe1NfHS_ZI/AAAAAAAAEP8/1rW5q105tWA/s400/mockupscreens+example+1.JPG" alt="" id="BLOGGER_PHOTO_ID_5379467523212377490" border="0" /></a><br /><span style="font-weight: bold;">Gets the job done</span></p>
<p>It’s hard for me to get excited about this application. Building GUI sketches isn’t dramatically creative kind of task, you know. Anyway the big strength of MockupScreens is that it gets the job done. Not much more but nothing less than you’d need. Actually I always rant about lack of some features and this time somehow I don’t feel this urge. Strange.</p>
<p><span style="font-weight: bold;">Clickable prototype</span></p>
<p>A nice feature, especially for presentations, is you can create a usage flow of application you design mapping buttons on one screen with another. This way creating a clickable GUI prototype is very easy. This can bring you some ideas how you can improve your GUI. You can act like you heave working application with no development work whatsoever. Don’t show MockupScreens to your sales people.</p>
<p><span style="font-weight: bold;">Black and white screen mode</span></p>
<p>This feature was definitely proposed by one of the engineers. You can switch a design between desktop app, web app and black and white mode. The last one doesn’t try to imitate standard controls look but presents very basic design. This way business people wouldn’t think you have your app ready as they could think looking at clickable GUI prototype.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_w55opxuxeX8/Sqe1OBbdlbI/AAAAAAAAEQE/51_h9_oMznM/s1600-h/mockupscreens+example+2.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://3.bp.blogspot.com/_w55opxuxeX8/Sqe1OBbdlbI/AAAAAAAAEQE/51_h9_oMznM/s400/mockupscreens+example+2.JPG" alt="" id="BLOGGER_PHOTO_ID_5379467532423763378" border="0" /></a><br /><span style="font-weight: bold;font-size:130%;" >Weaknesses</span></p>
<p><span style="font-weight: bold;">Rendering speed</span></p>
<p>As you fill control options with data (labels, list elements etc) they’re automatically presented at your design screen. Unfortunately it’s slow. Oh so slow. It’s a bit frustrating when you try to fix a typo but actually a cursor is two characters after you.</p>
<p><span style="font-weight: bold;">Main editing area</span></p>
<p>I know I’m sick to <a href="http://blog.brodzinski.com/2009/03/minimal-screen-resolution-for.html">work on 10,6 inch screen</a> but this makes main editing area in MockupScreens pathetically small. There’s no rescaling feature either. This enforces heavy usage of both vertical and horizontal scrolls which I’m not very happy with. I guess this must be some kind of punishment or something.</p>
<p><span style="font-weight: bold;">Controls transparency</span></p>
<p>Controls which are used in MockupScreens aren’t transparent where there should be. It leads you to situations when you put frame on your screen and it hides everything which was there before. You can deal with it using Visio-like “bring back” and “bring forward” options but hey frame should be, well, just a frame.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_w55opxuxeX8/Sqe1OVJTPxI/AAAAAAAAEQM/fzyBYw1rmKE/s1600-h/mockupscreens+example+3.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 138px;" src="http://2.bp.blogspot.com/_w55opxuxeX8/Sqe1OVJTPxI/AAAAAAAAEQM/fzyBYw1rmKE/s400/mockupscreens+example+3.JPG" alt="" id="BLOGGER_PHOTO_ID_5379467537716297490" border="0" /></a><br /><span style="font-weight: bold;font-size:130%;" >Summary</span></p>
<p>Actually the best summary of a review is already written in the first two strengths – MockupScreens is easy to use and gets the job done. It’s a nice alternative for IDE features for all folks who aren’t developers and don’t need (and don’t want) Eclipse or Visual Studio installed on their machines.</p>
<p>As a test I created very simple design of one of web application we were recently working on and I have to say it was easier to present what I wanted to achieve with MockupScreens than with a drawing on a whiteboard. Basically what MockupScreens did was forcing me to put some order in my ideas how to arrange all controls and made me rethinking a bit whole GUI.</p>
<p>Having said that a whiteboard is still my favorite tool for GUI design but I’d go for MockupScreens whenever I need something more detailed with rather precise controls positioning. Using the tool is also a good idea whenever you talk with business people or a customer – they don’t necessarily have to appreciate your drawing (lack of) talent.</p>
<div id="tweetbutton937" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F09%2Fmockupscreens-review.html&amp;via=pawelbrodzinski&amp;text=MockupScreens%20Review&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F09%2Fmockupscreens-review.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/09/mockupscreens-review.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What Is the Main Benefit of Writing Test Cases?</title>
		<link>http://blog.brodzinski.com/2009/05/what-is-main-benefit-of-writing-test.html</link>
		<comments>http://blog.brodzinski.com/2009/05/what-is-main-benefit-of-writing-test.html#comments</comments>
		<pubDate>Wed, 13 May 2009 16:03:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[quality assurance]]></category>
		<category><![CDATA[test cases]]></category>
		<category><![CDATA[usability issues]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/05/what-is-the-main-benefit-of-writing-test-cases.html</guid>
		<description><![CDATA[Test cases are here for a long time. Used equally willingly by these who work with heavy-weight processes and those who choose the agile way. They can be stored in an appendix to documentation in BDUF (Big Design Up Front) project or be written on yellow cards along with user stories. Where’s their main value [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://lh4.ggpht.com/_w55opxuxeX8/Reh4E1csS7I/AAAAAAAAAPU/n4FuXvJXt-k/list.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 160px; height: 107px;" src="http://lh4.ggpht.com/_w55opxuxeX8/Reh4E1csS7I/AAAAAAAAAPU/n4FuXvJXt-k/list.jpg" border="0" alt="" /></a>Test cases are here for a long time. Used equally willingly by these who work with heavy-weight processes and those who choose the agile way.  They can be stored in an appendix to documentation in BDUF (Big Design Up Front) project or be written on yellow cards along with user stories. Where’s their main value then?</p>
<p>Think about the comparison: test cases for application functionality are the same as unit tests for application code. Except of one thing: it is way harder to write good and complete list of test cases. You may safely assume that’s impossible. This means the main value of test cases isn’t in covering full application functionality because you simply won’t achieve that, no matter how hard you try.</p>
<p>Well, maybe it is a valuable tool for QA engineers? You know, they have some kind of walkthrough for testing sessions. Hm&#8230; show me quality engineers who prefer just to follow test cases instead of explore the application by themselves and I’ll tell who should be fired. Testing is such a creative task that there should be no place for follow-the-manual people in QA teams.</p>
<p>OK, test cases don’t ensure completeness of tests and don’t help QA people much. So? Show me the money, as one of my customers used to say. Where’s value?</p>
<p><span style="font-weight: bold;">The main benefit of test cases lies in the activity of writing them down. Or, to be more precise, in the process of thinking about them before they’re written down.</span></p>
<p>Test case is not much more than short scenario of application usage. Sometimes pretty weird scenario but still. Unfortunately we often forget about this perspective. We tend think in terms of code or requirements and forget about the very basic thing – no class in the code and no requirement alone makes any sense for the end-user.</p>
<p>Looking at application while being in end-user’s shoes benefits in two ways:</p>
<p>- You find black holes of your design which aren’t covered with user stories, or requirements</p>
<p>- You find usability issues since you see whole usage flow, not just a bunch of atomic functions</p>
<p><span style="font-weight: bold;">The main value of writing unit tests is actually within the writing part.</span></p>
<div id="tweetbutton904" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F05%2Fwhat-is-main-benefit-of-writing-test.html&amp;via=pawelbrodzinski&amp;text=What%20Is%20the%20Main%20Benefit%20of%20Writing%20Test%20Cases%3F&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F05%2Fwhat-is-main-benefit-of-writing-test.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/05/what-is-main-benefit-of-writing-test.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Why Slow Start in Project is Such a Great Idea</title>
		<link>http://blog.brodzinski.com/2009/04/why-slow-start-in-project-is-such-great.html</link>
		<comments>http://blog.brodzinski.com/2009/04/why-slow-start-in-project-is-such-great.html#comments</comments>
		<pubDate>Fri, 10 Apr 2009 21:14:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[project management]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[slow start]]></category>
		<category><![CDATA[technical debt]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/04/why-slow-start-in-project-is-such-a-great-idea.html</guid>
		<description><![CDATA[We’ve just started a new project. We are at the very beginning and we still don’t work under pressure of time. And that’s great. Such slow start is a chance. A chance to set things up as you would like them to see in ideal world. We use this chance to: • Choose and verify [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_w55opxuxeX8/Sd-4sv7TtpI/AAAAAAAADlM/G_b-Dfv4TKs/s1600-h/slow.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_w55opxuxeX8/Sd-4sv7TtpI/AAAAAAAADlM/G_b-Dfv4TKs/s320/slow.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5323176363494192786" /></a>We’ve just started a new project. We are at the very beginning and we still don’t work under pressure of time. And that’s great. Such slow start is a chance. A chance to set things up as you would like them to see in ideal world.</p>
<p>We use this chance to:</p>
<p><span style="font-weight:bold;">• Choose and verify tools used during development.</span> Continuous build, unit testing, static code analysis, coding standards – all this things which should be on place but so often there isn’t enough time or you have to throw everything away because of some emergency. And if you try to do it in already settled environment it’s such a painful and long process.</p>
<p><span style="font-weight:bold;">• Design properly.</span> Have you been in a situation when you just do your <a href="http://blog.brodzinski.com/2009/02/whats-use-of-wild-guesses-instead-of.html">wild-ass guesses (aka rough early estimates)</a> and suddenly you have to start coding because you’re a month behind a schedule before even a contract was signed? It is said that testing is the first place where you (unwisely) cut schedules. Well, designing holds a strong second position.</p>
<p><span style="font-weight:bold;">• Find time to discuss requirements.</span> Is all clear? Yes? Good. Write it down. Go at least one level deeper to get more details. Another time write it down. Now, get people read it and understand it. Are there any questions? Of course there are. Congratulations, you’ve just eliminated some issues which would appear later and would be way more painful.</p>
<p><span style="font-weight:bold;">• Adjust project management techniques.</span> Ensure you gather all the data which will point <a href="http://www.joelonsoftware.com/items/2007/10/26.html">how much you miss initial estimates</a>. Set workflow for work items which won’t be a pain in the ass for developers. Think what people pointed as problems during last <a href="http://blog.brodzinski.com/2008/03/post-mortem-basics.html">post mortem</a> session – do you always find time to use this knowledge to improve your projects?</p>
<p>Basically all these things are just simple ways to avoid or limit <a href="http://forums.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx">technical debt</a>. If you start slow it’s much easier to set them up properly which soon will return in terms of team general productivity. Of course that does mean additional work if you compare it to impossible-to-meet ideal world schedule where everyone produces best of breed results with highest possible performance.</p>
<p><span style="font-weight:bold;">The reality is that projects with technical debt starts producing visible results faster but they soon lost their advantage and over time are more costly.</span> Starting a project slow gives you an excuse to do a good job in this area. You can need one for your bosses and you can need one for yourself.</p>
<div id="tweetbutton896" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F04%2Fwhy-slow-start-in-project-is-such-great.html&amp;via=pawelbrodzinski&amp;text=Why%20Slow%20Start%20in%20Project%20is%20Such%20a%20Great%20Idea&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F04%2Fwhy-slow-start-in-project-is-such-great.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/04/why-slow-start-in-project-is-such-great.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minimal Resolution Counter Strikes</title>
		<link>http://blog.brodzinski.com/2009/04/minimal-resolution-counter-strikes.html</link>
		<comments>http://blog.brodzinski.com/2009/04/minimal-resolution-counter-strikes.html#comments</comments>
		<pubDate>Mon, 06 Apr 2009 17:44:00 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[software design]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[error message]]></category>
		<category><![CDATA[screen resolution]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/2009/04/minimal-resolution-counter-strikes.html</guid>
		<description><![CDATA[I installed Visual Studio recently. Not that I plan to get back to programming but I needed a client for Team Foundation Server and web client unfortunately doesn’t support all needed functions. I must admit guys from Visual Studio check whether display resolution is suitable to for the application. A plus for them. During installation [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I installed Visual Studio recently. Not that I plan to get back to programming but I needed a client for <a href="http://en.wikipedia.org/wiki/Team_Foundation_Server">Team Foundation Server</a> and web client unfortunately doesn’t support all needed functions.</p>
<p>I must admit guys from Visual Studio check whether <a href="http://blog.brodzinski.com/2009/03/minimal-screen-resolution-for.html">display resolution is suitable to for the application</a>. A plus for them. During installation I got the message: </p>
<p>“<span style="font-style:italic;">Visual Studio 2008 is designed for a minimum resolution of 800 x 600. Although Visual Studio operates at a lower resolution, you should set your display resolution to 800 x 600 before running Setup.</span>”</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_w55opxuxeX8/SdpAQLZCXlI/AAAAAAAADjQ/YLbHmcpqJC0/s1600-h/visual+studio+2008.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 76px;" src="http://3.bp.blogspot.com/_w55opxuxeX8/SdpAQLZCXlI/AAAAAAAADjQ/YLbHmcpqJC0/s400/visual+studio+2008.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5321636556371549778" /></a><br />800 x 600? Um, wrong. Rather 1024 x 576. Can’t set it the way you want. The funny thing is they check display resolution but they come up with wrong conclusions. A minus.</p>
<p>Anyway so far I see no problem with not sufficient vertical resolution while working with Visual Studio. I guess the only potential problem is within horizontal resolution since there would appear horizontal scrollbar (which always sucks) or something. A big plus.</p>
<p>Overall my impression is positive. Actually Microsoft (except of Live Messenger) does pretty good job when it comes to minimal application resolution.</p>
<div id="tweetbutton894" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F04%2Fminimal-resolution-counter-strikes.html&amp;via=pawelbrodzinski&amp;text=Minimal%20Resolution%20Counter%20Strikes&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2009%2F04%2Fminimal-resolution-counter-strikes.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2009/04/minimal-resolution-counter-strikes.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

