<?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>dariusz grabka &#187; Software Development</title>
	<atom:link href="http://grabka.org/internet/category/human-computer-interaction/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://grabka.org/internet</link>
	<description>sharing is caring.</description>
	<lastBuildDate>Mon, 26 Jul 2010 18:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>How Farmville caused Firefox 3.6.6</title>
		<link>http://grabka.org/internet/2010/06/farmville-firefox-bug/</link>
		<comments>http://grabka.org/internet/2010/06/farmville-firefox-bug/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 07:21:04 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[farmville]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/06/farmville-firefox-bug/</guid>
		<description><![CDATA[So I noticed that Firefox updated itself again today, only a few days after it did last time.  Why the short time-lapse between Firefox 3.6.4 and 3.6.6? Just one bug: 574905. The Farmville Bug No joke, Firefox pushed an update on a single bug. Last release they introduced this great feature that times out Flash [...]]]></description>
			<content:encoded><![CDATA[<p>So I noticed that Firefox updated itself again today, only a few days after it did last time.  Why the short time-lapse between Firefox <a href="http://www.mozilla.com/en-US/firefox/3.6.4/releasenotes/" target="_blank">3.6.4</a> and <a href="http://www.mozilla.com/en-US/firefox/3.6.6/releasenotes/" target="_blank">3.6.6</a>? Just one bug: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=574905" target="_blank">574905</a>.</p>
<h3>The Farmville Bug</h3>
<p>No joke, Firefox pushed an update on a single bug.  Last release they introduced this great feature that times out Flash applications if they take longer than 10 seconds to start up, thinking that anything that takes longer than that is probably crashing. Reasonable!</p>
<p>But Farmville often takes longer than 10 seconds to start up.  Oh shoot. Flash developers that do run-time debugging destroy the 10 second limit.  Double shoot!</p>
<h3>Use Real Data!</h3>
<p>It&#8217;s a cut-and-dry example of why you should use <strong>real data</strong> to make calls on design decisions. It&#8217;s a variation of the <a href="http://madebymany.co.uk/just-say-no-to-latin-00283" target="_blank">Lorem Ipsum Sucks</a> argument. The &#8220;10 second&#8221; decision seems arbitrary, and kudos to Mozilla for doing the right thing and releasing a fix right away.  It&#8217;s probably not the correct fix, as adding a friendly user prompt would be preferable to a low, fixed timeout.  But hey, baby steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/06/farmville-firefox-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microformats to the Rescue</title>
		<link>http://grabka.org/internet/2010/05/microformats-to-the-rescue/</link>
		<comments>http://grabka.org/internet/2010/05/microformats-to-the-rescue/#comments</comments>
		<pubDate>Fri, 21 May 2010 21:26:49 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[microformats]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/05/microformats-to-the-rescue/</guid>
		<description><![CDATA[This one is for the CMS designers out there.  If you&#8217;re in the business of building platforms that people create content in, you undoubtedly have run into the problem of storing metadata.  It may seem easy at first, &#8220;just put it in a database!&#8221;, but then you start running into predictable problems: the context information [...]]]></description>
			<content:encoded><![CDATA[<p>This one is for the CMS designers out there.  If you&#8217;re in the business of building platforms that people create content in, you undoubtedly have run into the problem of storing metadata.  It may seem easy at first, &#8220;just put it in a database!&#8221;, but then you start running into predictable problems: the context information is hard to store, keeping references valid/up to date, and what happens when you export?</p>
<h3>Databases + Metadata = Unsolved Problem</h3>
<p>Metadata in databases loses its context quickly.  Let&#8217;s say Jen uploads an image, titles it &#8220;My pet puppy.&#8221;  Jen&#8217;s friend Steve wants to use the image, selects it in the image library and wants to change the title to &#8220;Jen&#8217;s pet puppy.&#8221;  Where do you store that title now?  What happens when Jen renames her image?  What if you use a couple copies of the same image, with a different title?  It&#8217;s a bit of a mess, but usually the solution is store the metadata <em>in context</em>: keep the metadata with each use of the image, in that HTML page.  Problem is, images don&#8217;t have a <em>title </em>attribute.</p>
<p>The other issue is maintaining those goddamn references between the database, the HTML file, and the image file. Odds are you&#8217;ll be using some database file system of some kind so now you have to manage deletions, renames, and metadata edits in three different linked places.  Those links are fragile, so things fall out of sync. Especially if users have access to editing their HTML source code, offline editing, import/export, anything like that.  So make sure to keep <em>one authoritative copy</em> of that data.</p>
<p>Lastly is the issue of exporting/sharing this content.  The platform that I work on has a strict requirement for being exportable without ruining everything, in order to keep a very important ($$) industry certification.  So when we export that web page, we don&#8217;t want to lose all of that image metadata.  We will if it&#8217;s in the database, unless you do a lot of non-standard hackery.  And we&#8217;d want to avoid non-HTML shit just to pass data around (a standard solution).</p>
<h3>Microformats: Metadata, Inline, Bam</h3>
<p>Really, a good way to do this is just store metadata inline, in the HTML content.  The best solution we found for this setup is using <a href="http://microformats.org/" target="_blank">microformats</a>.  The ideas that you wrap your object (an image, an object, a text block, whatever) with <em>span</em> tags that represent each one of the pieces of metadata.  There&#8217;s a <a href="http://microformats.org/about" target="_blank">much more verbose explanation</a> on the microformats.org site.  The <a href="http://microformats.org/wiki/hcalendar" target="_blank">hCalendar format</a> is good place to look for examples of this concept embraced.</p>
<p>So for our image example above, the HTML would look something like this.<br />
<code><br />
&lt;span class="image"&gt;<br />
&lt;img src="puppies.png" width="500" height="169" /&gt;<br />
&lt;span class="imagetitle"&gt;The puppies are st00pid fly.&lt;/span&gt;<br />
&lt;span class="author hidden"&gt;Jen&lt;/span&gt;<br />
&lt;/span&gt;<br />
</code><br />
It&#8217;s pretty ingenious.  You have the semantic relationship between the <em>image</em> and the <em>imagetitle</em>, and you can easily extend to add other information like the <em>author</em>, and keep that specific item <em>hidden</em>, or whatever.</p>
<p>Best thing ever is that since it&#8217;s semantically sound, you can do some magic with the CSS and DOM manipulations.  You can make it look pretty, keep it accessible, hack it with JavaScript in a reliable way.  Anywho, sometimes, it&#8217;s better than putting things in a database.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/05/microformats-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy IDN Day!</title>
		<link>http://grabka.org/internet/2010/05/happy-idn-day/</link>
		<comments>http://grabka.org/internet/2010/05/happy-idn-day/#comments</comments>
		<pubDate>Thu, 06 May 2010 14:11:15 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[g11n]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[l10n]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/05/happy-idn-day/</guid>
		<description><![CDATA[Today is the day that internationalized domain names (IDNs) go live on the internet. As someone really interested in globalization, this is a huge development: this is the first time non-latin characters can be used as domain names in the public internet. Arabic nations especially are loving this, and I&#8217;m sure Hebrew and Chinese language [...]]]></description>
			<content:encoded><![CDATA[<p>Today is the day that internationalized domain names (IDNs) go live on the internet.  As someone really interested in globalization, this is a huge development: this is the first time non-latin characters can be used as domain names in the public internet.  <a href="http://news.bbc.co.uk/2/hi/technology/10100108.stm" target="_blank">Arabic nations especially</a> are loving this, and I&#8217;m sure Hebrew and Chinese language domain names will surely follow within hours.</p>
<p>I asked an Egyptian co-worker what the URL was for the Egyptian Ministry of Communication .. I didn&#8217;t even know how to search for it.  Here it is:</p>
<p><a href="http://%D9%88%D8%B2%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA.%D9%85%D8%B5%D8%B1/" target="_blank">http://وزارة-الاتصالات.مصر/</a>.  Apparently the fonts I have butcher the script.</p>
<p><img src="http://grabka.org/internet/wp-content/uploads/2010/05/url.png" alt="" /></p>
<p>The URL looks good when I copy/paste, but it gets turned into <a title="punycode on wikipedia" href="http://en.wikipedia.org/wiki/Punycode">Punycode</a>: <code>http://xn--4gbrim.xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c</code>, which magically still works. Anyone else have some insight into how this works?</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/05/happy-idn-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP on IIS</title>
		<link>http://grabka.org/internet/2010/03/php-on-iis/</link>
		<comments>http://grabka.org/internet/2010/03/php-on-iis/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 23:08:20 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/03/php-on-iis/</guid>
		<description><![CDATA[I&#8217;ve been playing around with IIS recently.&#160; The Windows/IIS community is not nearly as well served by Open Source as the competition, which is unfortunate given that IIS is a really popular platform for intranets and other enterprise applications.&#160; It&#8217;s not really fair to ask your IT department to support Apache + MySQL as well [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with IIS recently.&nbsp; The Windows/IIS community is not nearly as well served by Open Source as the competition, which is unfortunate given that IIS is a really popular platform for intranets and other enterprise applications.&nbsp; It&#8217;s not really fair to ask your IT department to support Apache + MySQL as well as existing IIS + Microsoft SQL Server instances, especially if PHP can be installed, fairly easily, on IIS.</p>
<p>In hopes of one day running WordPress and MediaWiki well on IIS, I&#8217;ve been collecting links.&nbsp; First off, the simple recommendation is to just get the <a target="_blank" href="http://www.microsoft.com/web/gallery/install.aspx?appsxml=&amp;appid=PHP%3bPHP%3bPHP">Microsoft Web Platform</a>, which hopes to automate almost 100% of the process of PHP on IIS, including installing the FastCGI libraries that you&#8217;d probably want.</p>
<p>In case you&#8217;re trying to learn more about what&#8217;s actually going on, Bill S wrote up an extensive how-to for <a target="_blank" href="http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx">installing PHP on IIS</a>.&nbsp; From the folks behind PHP, the documentation on <a target="_blank" href="http://php.net/manual/en/install.windows.php">php.net is pretty detailed</a>, especially if you&#8217;re working with an older set of servers (like Windows XP + IIS 5).&nbsp; A <a target="_blank" href="http://www.iisadmin.co.uk/?p=4">detailed IIS 6 walkthrough</a> can be found on the IIS Admin Blog.</p>
<p>Since this implementation uses CGI, and is still not as fast as the Apache+PHP stack, Ruslan has described how to <a target="_blank" href="http://ruslany.net/2010/03/make-wordpress-faster-on-iis-with-wincache-1-1/">make PHP faster on IIS using WinCache</a>.&nbsp; Performance seems to be a big concern, in general.</p>
<p>Somewhat unrelated, I found a place to get <a target="_blank" href="http://www.7host.com/free_hosting/free_hosting.asp">free IIS hosting</a> for ASP (via this <a target="_blank" href="http://www.aspfree.com/asp/freeasphost.asp">aspfree.com page</a>).</p>
<p>Hopefully that helps someone!</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/03/php-on-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting lucky with free mobile WiFi</title>
		<link>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/</link>
		<comments>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 17:51:59 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=352</guid>
		<description><![CDATA[Like lots of people in tech, I have a Blackberry with WiFi.  Regardless of how good Rogers has been with their 3G network, WiFi is faster to browse with, and free-er. With that in mind, I&#8217;ve added my home and work WiFi networks to my connections (Manage Connections -&#62; Set Up WiFi Network), and just [...]]]></description>
			<content:encoded><![CDATA[<p>Like lots of people in tech, I have a Blackberry with WiFi.  Regardless of how good Rogers has been with their 3G network, WiFi is faster to browse with, and free-er. With that in mind, I&#8217;ve added my home and work WiFi networks to my connections (Manage Connections -&gt; Set Up WiFi Network), and just let them connect when I&#8217;m in range.</p>
<p>I&#8217;ve also added a few SSIDs that are the hallmark of an unsecured network. I don&#8217;t put a password or try to hack anything, just hope to occasionally connect to a random unsecured network:</p>
<ol>
<li>linksys</li>
<li>default</li>
<li>NETGEAR</li>
<li>Belkin54g</li>
<li>Wireless</li>
<li>dd-wrt</li>
</ol>
<p>I based this list on the <a title="ssid popularity" href="http://www.wigle.net/gps/gps/main/ssidstats">most popular SSIDs</a> that wardrivers have found, as well as some local experience.</p>
<p>This has come in useful only once:  in the underground train station in Warsaw, where I had no data but some local restaurant had their WiFi open. :-)</p>
<p>So yeah, enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TorCHI Presentation: Sprint Zero and Agile Design</title>
		<link>http://grabka.org/internet/2009/12/agilesprintzero/</link>
		<comments>http://grabka.org/internet/2009/12/agilesprintzero/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 20:23:42 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=349</guid>
		<description><![CDATA[My co-workers Khan and Brian and myself went to the University of Toronto for a presentation at TorCHI.  It was by Lynn Miller, a  Senior Manager at AutoDesk (Maya, 3DSMax, AutoCAD, etc.) The presentation was about Sprint Zero: the lead-up work that is required before a team embarks on an Agile project, or any project [...]]]></description>
			<content:encoded><![CDATA[<p>My co-workers Khan and Brian and myself went to the University of Toronto for a  presentation at <a title="TorCHI home page" href="http://www.torchi.org/">TorCHI</a>.  It was by Lynn Miller, a  Senior Manager at AutoDesk (Maya, 3DSMax, AutoCAD, etc.)</p>
<p>The presentation was about <strong>Sprint Zero</strong>: the lead-up work  that is required before a team embarks on an Agile project, or any project that has  an iterative nature with many stakeholders.</p>
<p>Bottom line was that in her experience, and in conversation she has had with designers at  UPA, CHI:   Without the Sprint Zero and a Pre-Sprint, designers felt lost and products tended to &#8220;fail.&#8221;  Historically, Agile organisations have dismissed  the need for a Sprint Zero.  In practice this has lead to designers that were  disconnected from the final product.</p>
<p>For the rest of this summary, there are a few assumptions:</p>
<ul>
<li>Sprint One (first 2-3 weeks of development) typically doesn&#8217;t require much  design.</li>
<li><strong>One project per designer</strong>. Any more than that, and it&#8217;s too  much to deal with.</li>
<li>All resources working on the project are <strong>full time on that  project</strong>.  The definition of &#8220;project&#8221; was larger than at my workplace, but perhaps typical for industry:  ex. 5 devs, 3 designers, 3 QA, 2 documentation people, project manager,  product manager.</li>
</ul>
<h2>Pre-Sprint Zero</h2>
<p>Before Sprint Zero, there is actually a long pre-Spring Zero phase that that  conceives of the project.  This is where the Executives, Sales, etc. get  involved to offer insight, feedback, and direction.</p>
<ul>
<li>It lasts several months</li>
<li>Anwsers marketing and sales need, defines the business scope.</li>
<li>Creates the research that is used throughout the rest of the process,  specifically identifies Personas.</li>
<li>It includes the competitive investigation.</li>
</ul>
<h2>Sprint Zero</h2>
<p>Sprint Zero itself is actually not very long, but focuses on an aggressive  building of common ground and understanding amongs the stakeholders.  Without  it, there&#8217;s a risk of no &#8221;big picture&#8221; cohesiveness, early buy-in before  complete understanding of the risks, and lots of  &#8221;thrash.&#8221;</p>
<ul>
<li>Sprint Zero Lasts 1-2 weeks</li>
<li>No coding, no designing: just big picture envisioning so that everyone  understands.  Motto: &#8220;Maximise the amount of work not done.&#8221; &#8211; Create work, do  not do any of it.</li>
<li>Priorities are determined, though that they are difficult flush out in  detail.</li>
<li>Who is involved: PM, Design Lead, Dev Lead, Doc Lead, QA lead</li>
<li>Get &#8220;just enough&#8221; that you have a &#8220;shared understanding&#8221; to begin design,  development, test planning.</li>
</ul>
<h2>Steps in Sprint Zero</h2>
<p>There are five steps to Sprint Zero.</p>
<h3>1. Determine Shared Product Vision</h3>
<p>If you haven&#8217;t done so yet, determine a vision for the whole product. This  vision will not change throughout the life of the product. It helps keeps the  project focused. TPM usually leads this, though external facilitation helps.</p>
<p>Do this by creating a &#8220;Vision Statement.&#8221;  The statement can have the  following format:</p>
<blockquote><p>For &#8230; &lt;users&gt;<br />
Who &#8230; &lt;do stuff&gt;<br />
NAME &lt;name your  product something useful&gt;<br />
Is a &#8230; &lt;thing&gt;<br />
That &#8230; &lt;does  stuff&gt;</p>
<p>Unlike &#8230; &lt;competitor&gt;<br />
… &lt;who does this&gt;.  (repeat)</p></blockquote>
<h3>2. Create a Project Objective Statement</h3>
<p>Define an objective statement for this specific release. Used to make  decsions against. Result of a 2 hour meeting, led by TPM.</p>
<blockquote><p>&#8220;Remove the top obstacles that prevent people who download our product from  purchasing it.&#8221;<br />
&#8220;Kill 3DS Max.&#8221;</p></blockquote>
<h3>3. Flush out a Project Data Sheet</h3>
<p>A product data sheet (of which there are many examples of online) create  alignment between stakeholders  Answers the Who, What, Why?  Makes it easy to  grasp fundamentals.  Unlike the previous steps, lead by the Development lead,  with all stakeholders involved.</p>
<p>The PDS will include:</p>
<ul>
<li>Personas</li>
<li>Object Statement</li>
<li>Client benefits</li>
<li>Tradeoff matrix:  Excel (perfect, immovable), Improve, Accept  (flexible)<span> </span>vs.<span> </span>Features, Schedule, Resource,  Stability</li>
<li>Specific features defined as &#8220;able to ..&#8221; statements.   &#8220;Colour picker&#8221; is  not a feature.  &#8220;Able to pick colours while drawing&#8221; is.</li>
<li>Milestones and schedule.</li>
<li>Prod architecture and performance considerations.</li>
<li>Risks and risk management.</li>
</ul>
<h3>4. Define an Operational Model</h3>
<p>At this point, you can get the team ready to go.  Physical planning is very  important. Whiteboards, decisions on what remote software to use, determine what  software for note taking. Physical environment is often neglected in planning.   Determine roles and procedures for the project.</p>
<ul>
<li>Led by Dev Lead.</li>
<li>Determines meeting times and format (stand-up, scrums, formal, etc.)</li>
<li>Good time to review &#8220;lessons learned&#8221; from last release: well, didn’t go  well, surprises, expectations, etc.</li>
<li>Who fills the customer role?</li>
</ul>
<h3>5. Have an Initial Planning Meeting</h3>
<p>The first planning meeting is pretty intense.  It results in  a <strong>speculative high-level schedule</strong> with sprints laid out.  It  establishes priorities and accepted timeframes.  The &#8220;Able To&#8221; statements are  broken down into chunks, which results in a planning board with story cards:  Estimations, &#8221;Able to&#8221; chunks, timeboxed.  List out employee vacation.</p>
<p>Once you have a first run of the schedule laid out, expect things to be more  mutable as you move left to right.</p>
<p>The pieces on this schedule are called Story Cards and Feature Cards</p>
<ul>
<li>Tight estimates in &#8220;Feature Points.&#8221;  FPs are kinda like a &#8220;person day&#8221; but  adjustable to the role, person, etc. Takes care of things like overhead,  quantifiable to figure out your &#8220;velocity.&#8221;</li>
<li>Story card is higher level, feature card is subset of story card.</li>
<li>Each card is associated with a developer.</li>
<li>Each card has an acceptance criteria from all the stakeholders: Docs, QA,  Dev, Design.</li>
<li>User Story cards can be used to illustrate strategy and tactics, but with  loose estimates. There are things that are a bit too big or in the future to  even break down. Usually things that can&#8217;t be estimated are user stories.</li>
<li>Risk cards are used to identify specific risks.  Make these red. You can  have specific risk cards, such as design risk cards, external dependency card,  engineering/dev risk card.</li>
</ul>
<p>These cards are place on the schedule in a timeline. Watch for janitorial  staff re-prioritisations (ie. take pictures). The physical cards are moved to  prioritise:</p>
<p>- Product requirement: must to nice<br />
- Workflow: essential to  additional<br />
- Development Risk: high to low<br />
- Dependencies: many depending  on it to none<br />
- Design risk: high to low</p>
<p>&#8230; and that&#8217;s it.  At this point, you&#8217;re in Sprint One and you&#8217;re following  your Agile method with a shared understanding and lots of decision-making  material.</p>
<h2>Best Practices for Design in Iterative Environments</h2>
<p>There were a few best-practices that  could be taken away by designers, irrespective of the SDLC.</p>
<p>Design is always being done for the <strong>next </strong>cycle, before the developers ask for  it. Special attention is paid to future high risk items.  This gives you time, and reduces pressure.</p>
<p>You have to<strong> pre-plan all your client</strong> <strong>visits</strong>, preferably during Pre-Sprint Zero.   Assume that you&#8217;re going to use them. Customers don&#8217;t mind seeing you over and  over if you show them progress every time you see them.</p>
<p>Always go on site with at least two people: a project manager to see  purchaser/client, and another UX person to get end-user access.  Those needs are  different, and impact your design in different ways.</p>
<p>Every once in a while offer a more public larger release, such as a free  preview, feature complete alpha, etc.  This may be hard to do, but is very worthwhile in holding trust and engagement from the customer.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/12/agilesprintzero/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My new Dell Mini 10v: The First Day</title>
		<link>http://grabka.org/internet/2009/07/my-new-dell-mini-10v-the-first-day/</link>
		<comments>http://grabka.org/internet/2009/07/my-new-dell-mini-10v-the-first-day/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 18:58:04 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[mini10v]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=322</guid>
		<description><![CDATA[Since I haven&#8217;t bought a laptop in over 3 years, I decided to follow the trend and pick up one of the ultra-portable notebooks / netbooks.   After reading some reviews, I picked up this Dell Mini 10v.  It arrived today, only seven days after I placed the order via a Dell Chat. Rather than [...]]]></description>
			<content:encoded><![CDATA[<p>Since I haven&#8217;t bought a laptop in over 3 years, I decided to follow the trend and pick up one of the ultra-portable notebooks / netbooks.   After reading some reviews, I picked up <a title="dell mini 10v on RFD" href="http://www.redflagdeals.com/deals/main.php/alldeals/comments/dellca_inspiron_mini_10v_w_intel_atom_n270_120gb_hd_3_cell_battery_windows/">this Dell Mini 10v</a>.  It arrived today, only seven days after I placed the order via a Dell Chat.</p>
<p>Rather than offering an extensive review, I wanted to share some first thoughts.</p>
<h3>Arrival</h3>
<p>I was extremely happy to find out that the packaging it was shipped in was both secure and minimal: very few things came in the box, and the box itself was small enough to hold with one hand.  The Mini 10v doesn&#8217;t have a DVD drive, but it came with a copy of Windows XP and the restore disks anyways.  Hurray!  That fact got a few chuckles in the office.</p>
<p>The AC adapter is not a brick, but instead, looks like my Nokia cell phone charger!  Very nice.  Those brick monsters with two cords make portable laptops oxymoronic.</p>
<h3>First Boot</h3>
<p>The Mini 10v I ordered came with Windows XP SP3.   I use XP at home and at the office, so it&#8217;s cool, but I&#8217;m wondering what happened to Vista.  Where is my voucher for Windows 7?  This is an eight (8!!) year old Operating System.   I will be looking into the <a title="ubuntu for netbooks" href="http://www.ubuntu.com/getubuntu/download-netbook">Ubuntu 9 Netbook Remix</a> very shortly.</p>
<p>The netbook doesn&#8217;t come with Microsoft Office unless you&#8217;ve installed it, but I&#8217;m very glad to have Microsoft Works with the Office 2007 compatibility pack installed by default.  But this is insane: Internet Explorer 6.  IE6 is the default browser &#8211; the broken one circa August 2001.  I honestly feel like I&#8217;ve been cheated, and need to speak to someone at Dell about it.</p>
<p>More immediately, some fixable things were show-stoppers:</p>
<ul>
<li>The &#8220;function keys&#8221;, (Fn-F7 to mute, for example) were not installed.  This took me a while to figure out, I just thought they weren&#8217;t responding or something.   After navigating the Dell website, I <a title="dell function keys utility" href="https://support.dell.com/support/downloads/download.aspx?c=us&amp;l=en&amp;s=gen&amp;releaseid=R210570&amp;SystemID=inspiron10v&amp;os=WW1&amp;osl=en&amp;deviceid=20903&amp;devlib=0&amp;typecnt=0&amp;vercnt=1&amp;catid=-1&amp;impid=-1&amp;formatcnt=1&amp;libid=7&amp;fileid=296264">found the utility</a> (or via <a title="ftp link to download" href="http://ftp1.us.dell.com/utility/R210570.exe">FTP</a>) and installed it.  Very bad form, Dell.</li>
<li>Windows is installed with 120dpi fonts by default on the Mini 10v.  I love this font setting on my big LCD monitor at home or at work, but on the 1024&#215;576  screen, this is bad news.  Most notably many dialogs cut off on the bottom.  In the Dell Wireless utility I could not press &#8220;Apply&#8221;, &#8220;OK&#8221;, &#8220;Cancel&#8221; without blindly pressing Tab and Enter.  So after changing the <a title="some quick instructions to set to 96dpi" href="http://www.lawfirmsoftware.com/support/change_dpi_settings_xp.htm">font size to 96dpi</a>, and restarting, the dialogs became useful again.</li>
<li>The preference for &#8220;Large  Icons&#8221; out of the box is &#8230; questionable given the small screen. Cranking <a title="how to use large icons" href="http://www.microsoft.com/windowsxp/using/accessibility/uselargeicons.mspx">down the icon size</a> is available in the Display Properties.</li>
</ul>
<h3>Hardware</h3>
<p>Out of the box, the hardware looks and feels way slicker than I expected it to.  It doesn&#8217;t suffer from the same &#8220;hollow rattle&#8221; as some of the old Dell laptops I&#8217;ve owned or used; it feels solid and well put-together. The screen hinges particularly stand out as being hard-effing-core.  Having three USB ports is pretty great.</p>
<p>My only concerns are about the touchpad and the screen glare.  The screen is shiny.  I mean SHINY.  I&#8217;m sitting here between two other laptops and my LCD, and the Mini 10v is a mirror compared to the other devices.  Hopefully this subsides over time and fingerprints.</p>
<p>More seriously, clicking touchpad buttons is straight up frustrating.  The touchpad looks great, and the material is nice.  Akin to the Apple touchpad, there are no segregated buttons,  and clickable areas are in the bottom right and bottom left.  This sounds great, but the execution is poor (and perhaps can be improved with some driver tuning).   Once you move your finger over to the bottom left to &#8220;click&#8221; you inevitably end up moving the cursor about a third of the time.   If I do the tasks seperately, it works fine .. but when navigating normally, it&#8217;s a constant bother.</p>
<h3>Performance</h3>
<p>One small note about performance: coming from full-powered dual core machines, going to netbooks is an adjustment.  One recommendation I ignored is splurging for the 2GB upgrade.  I <a title="anchorman clip" href="http://www.killerclips.com/clip.php?id=140&amp;qid=1964">immediately regret that decision</a>.  Do it: buy the 2GB of RAM.</p>
<p>The wireless performance with the Interl (802.11n) adapter is really great, and better (in terms of -db readings) than with my 2 year old, full size Dell Inspiron.</p>
<p>If you do have 2GB of RAM, <a title="turn off page file?! crazy!" href="http://www.codinghorror.com/blog/archives/000422.html">turn off the page file</a>.    I&#8217;ve noticed this is particularly great on laptops that crawl if the 5400RPM mini-drive trird to page a few hundred megabytes of stuff.  I turned off the page file on my 1GB Mini.  It&#8217;s noticably more responsive when switching between applications (Firefox, Messenger, and Microsoft Works, for now), but this puts an aggressive cap on the work that you can do simultaneously.</p>
<p>More to come!</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/07/my-new-dell-mini-10v-the-first-day/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Techno-update:  Feedly, Twt.fm, and Super-Cache</title>
		<link>http://grabka.org/internet/2009/03/techno-update-feedly-twtfm-and-super-cache/</link>
		<comments>http://grabka.org/internet/2009/03/techno-update-feedly-twtfm-and-super-cache/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 15:31:15 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=292</guid>
		<description><![CDATA[Newsfeeds were all the rage a few years ago when the news agencies and blog platforms started syndicating content this way.  For the most part any blog, newspaper, TV station, or anyone who needs to syndicate a stream of information (articles, posts, comments, scores, etc.) has done so using RSS or Atom.  This is great, [...]]]></description>
			<content:encoded><![CDATA[<p>Newsfeeds were all the rage a few years ago when the news agencies and blog platforms started syndicating content this way.  For the most part any blog, newspaper, TV station, or anyone who needs to syndicate a stream of information (articles, posts, comments, scores, etc.) has done so using RSS or Atom.  This is great, but there is a lot of concern about how useful and usable newsfeeds are to the average web citizen.</p>
<h2>Feedly: A great news aggregator</h2>
<p>Like most people I find myself going to the same six or so places on the Internet for news every day:   Digg, Yahoo Sports, IHT, CSMonitor, Globe and Mail, and so on (BAM,  roasted Sarah Palin)   All of them have RSS feeds (the little orange icon <img class="alignnone" title="rss icon" src="http://farm2.static.flickr.com/1121/1430385323_4d4351d815.jpg?v=0" alt="" width="16" height="16" />).  Rather than having to visit page individually to decide if I want to read the articles, I can <em>aggregate</em> their <em>newsfeeds</em> to a single place.  As far as what that &#8220;single place&#8221; is, there has been a LOT of competition:  My Yahoo!, Google Reader, Sage, etc.</p>
<p>Of all of these tools, my favourite by far is <strong><a title="feedly home" href="http://www.feedly.com/">Feedly</a></strong>.  It&#8217;s an add-on for Firefox (sorry Internet Explorer users, you have other options I&#8217;m sure).   It allows you to (with a single click within Firefox) to add a feed to your own custom little magazine landing page.  Usually RSS readers make your landing page look like an email inbox.  The layout makes it very readable, and the simple category support is easy to use.  From their website:</p>
<blockquote><p><span style="font-size: 20px;">Feedly weaves your favorite content into a magazine-like start page. </span><span style="color: #666666; font-size: 12px;">Based on Google Reader, Twitter and Firefox.</span> Insanely Well Integrated.</p></blockquote>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 460px"><a href="http://www.feedly.com"><img title="feedly screenshot" src="http://www.feedly.com/website/images/feedly-01.png" alt="Feedly Screenshot" width="450" /></a><p class="wp-caption-text">Feedly Screenshot</p></div>
<p>As a side note, I love when developers of software have really interesting <a title="feedly blog" href="http://blog.feedly.com">developer blogs</a>, especially with posts about <a title="feedly blog" href="http://blog.feedly.com/2009/03/16/feedly-and-the-save-for-later-use-case/">use cases and new features</a>.</p>
<h2>Twitter Music</h2>
<p>I&#8217;ve been <a title="friend feed" href="/internet/friends">twittering up a storm</a>, kinda.  On Monday, some people participate in #Musicmonday, which means they twitter about a song they would like to share with the world.  This is great, but in order to listen to the song you&#8217;d have to track it down.  So as a courtesy, the good people at <a title="twitter music!" href="http://twt.fm"><strong>twt.fm</strong></a> have built a web app to tweet your #musicmonday song with a link to either the complete track or a preview (whichever is available on <a title="imeem?" href="http://imeem.com/">imeem</a>).  There are <a title="other services like this" href="http://www.techcrunch.com/2009/02/22/how-to-turn-twitter-into-music-for-your-ears/">alternatives to this setup</a>, some much more established.</p>
<div class="wp-caption aligncenter" style="width: 460px"><a href="http://twt.fm/"><img title="twt.fm screenshot" src="http://maitianmayi.cn/images/twt-fm-music.jpg" alt="twt.fm (its a little prettier now ..)" width="450" /></a><p class="wp-caption-text">twt.fm (it&#39;s a little prettier now ..)</p></div>
<h2>WP Caching (after 2005)</h2>
<p>Now something for those of you who run your own blogs on your own servers. WordPress has been a wonderful blogging platform, especially since they added automatic downloading and installing of plugins!  One of the plugins I&#8217;ve battled with in the past has been <strong>WP-Cache</strong>.  No new version since 2005.</p>
<p>Nobody told me, but now there is <strong><a title="at version 0.9.1" href="http://ocaoimh.ie/2009/02/26/wp-super-cache-091/">WP-Super-Cache</a></strong>, and it fixes much of the disagreements I had with WP-Cache. From the authors blog:</p>
<blockquote><p><a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a> version 0.9.1 is now <a href="http://wordpress.org/extend/plugins/wp-super-cache/">available</a>. WP Super Cache is a page caching plugin for WordPress that will significantly speed up your website. Major changes under the hood in this release, and many bugfixes.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/03/techno-update-feedly-twtfm-and-super-cache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mozilla&#8217;s Mike Beltzner on the chaos and rewards of open source</title>
		<link>http://grabka.org/internet/2009/03/mozillas-mike-beltzner-on-the-chaos-and-rewards-of-open-source/</link>
		<comments>http://grabka.org/internet/2009/03/mozillas-mike-beltzner-on-the-chaos-and-rewards-of-open-source/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 17:02:56 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=263</guid>
		<description><![CDATA[On March 4th TorCHI hosted Mike Beltzner (blog) who is the Director of Development at Mozilla, though he prefers to call himself the &#8220;phenomenologist.&#8221;  His talk focused on how Mozilla has harnessed the power of the open source community to build Firefox: managing the chaos of open source and have good ideas rise to the [...]]]></description>
			<content:encoded><![CDATA[<p>On March 4th <a title="TorCHI" href="http://torchi.org">TorCHI</a> hosted Mike Beltzner (<a title="mike's blog" href="http://beltzner.ca/mike/">blog</a>) who is the Director of Development at Mozilla, though he prefers to call himself the &#8220;phenomenologist.&#8221;  His talk focused on how Mozilla has harnessed the power of the open source community to build Firefox: managing the chaos of open source and have good ideas rise to the top.</p>
<p>I&#8217;d like to share some of the notes from his talk, as I have a feeling I&#8217;ll be going back to them in a few years when I&#8217;m an open source superstar.</p>
<h2>Listening to People</h2>
<p>When you have an open source project, your developers aren&#8217;t your work friends and users aren&#8217;t people you can call.  Thus there have to be very well defined and implemented <strong>listening channels</strong>.  Examples of which are (from lowest fidelity to highest):  crash reports, form-based feedback, bug-trackers, wiki&#8217;s, forums, IRC. All are important.</p>
<p>Ideas on <strong>voting</strong>:  in open source projects, voting (&#8220;+1!&#8221;) works as a great pacifier. It can be used to measure impact, severity, and interest, but should not steer what is of primary importance (or really used to make any important decisions on things).</p>
<h2>Designing by/for People</h2>
<p>Despite the fears and chaos, design-by-community has rarely steered Mozilla wrong.  Though it may be chaotic, the community has very strong and hierarchical leadership. Through effective leadership, good design ideas rise to the top.  More on that later.</p>
<p>Design-by-community is very different from, say, what Apple does.  Apple has one persona: Steve Jobs.  That&#8217;s great as long as Steve doesn&#8217;t miss any ideas (which he will), and if he doesn&#8217;t love things that aren&#8217;t all that super-great (<a title="cover flow on wikipedia" href="http://en.wikipedia.org/wiki/Cover_Flow">Cover Flow</a>).  Apple doesn&#8217;t have a succession plan for Steve.</p>
<p>Gave great example of the development of the UI features involving closing tabs in Firefox. Ultimately he admitted that Google Chrome got it right, Mozilla got 80% of the way there, as per normal :-)</p>
<h2>Organising the Chaos</h2>
<p>Expect chaos in open source.  Managing chaos begins with managing the design, rather than the code itself.   In any design decisions, opposite <strong>camps </strong>form very quickly &#8211; especially spurred on by half-finished designs being released as Alpha products.</p>
<p>To manage this chaos, you have to infuse some order.  First point of order is having a public and well defined <strong>road-map</strong> or a cheat-sheet of where the product is going.  Then build the product in layers, and introduce every major change as an <strong>Add-On</strong> first.  Educate contributors about &#8220;why&#8221; things are happening.</p>
<p>Discussions should be supported by research and data (possible cross-over with academia here, especially for people looking for small M.Sc. projects).</p>
<p>Disagreements ultimately end in negotiation, but never forget <a title="wikipedia .. wtf is batna?" href="http://en.wikipedia.org/wiki/Best_alternative_to_a_negotiated_agreement">BATNA</a> .. what&#8217;s the worst that will happen (typically &#8220;Screw you guys, I&#8217;m going to Opera&#8221;).  No you won&#8217;t.  And if you really disagree with the design change, write an add-on to correct it (yey!).</p>
<h2>Leadership and Playtime</h2>
<p>You need to identify and elevate in importance people who are<strong> &#8220;good&#8221; contributors</strong> &#8211; reward them with ownership of small modules in their expertise domain. Form small teams with well defined scopes of responsibility.  The leadership of these teams can be concentrated around these good contributors.</p>
<p>The modules of code are led and owned in a heirarchical manner. Ultimately, someone is the sole owner of the whole thing.  In the case of Mozilla, it&#8217;s Mike Connor (<a title="interview with mike" href="http://www.youtube.com/watch?v=ScFkg4OD2C8">youtube</a>) from Toronto, who is kinda hilarious.</p>
<p>Give your contributors complete and absolute freedom to explore the system.  They will reward you with neat things like add-ons to inject random stanzas of poetry into web pages, and localised versions of your product.</p>
<h2>Localisation as more than Translation</h2>
<p>This came out of the discussion portion, but he spent a great deal of time discussion on the localisation challenges involved with marketing Firefox in China.  He wrote extensively about it <a title="local browser, local people" href="http://www.beltzner.ca/mike/archives/2008/11/its-a-local-bro.html">on his blog</a>.</p>
<p>The bottom line is that localisation has to be more than translation: it involves studying the interaction of the people with the product, and changing the design of the browser.  Not the technical core of the browser &#8211; you should be able to adjust all necessary behaviours and design via add-ons. Discussed how Maxthon benefitted by being included on a very popular pirate build of Windows.</p>
<p>Lesson here is that customisation via add-on&#8217;s is ultimately key to solving many design problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/03/mozillas-mike-beltzner-on-the-chaos-and-rewards-of-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get invited to Web 2.x betas</title>
		<link>http://grabka.org/internet/2008/04/how-to-get-invited-to-web-2x-betas/</link>
		<comments>http://grabka.org/internet/2008/04/how-to-get-invited-to-web-2x-betas/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 05:19:14 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[grono]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2008/44/how-to-get-invited-to-web-2x-betas/</guid>
		<description><![CDATA[It seems that the most interesting up-and-coming web applications go through a private, invitation-only beta phase before being launched to the public. This was certainly the case with Google Mail, the Yahoo! Mail do-over, and one service that I&#8217;m particularly interested in: grono.net. Unfortunately, none of my friends or relatives use that service, so getting [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that the most interesting up-and-coming web applications go through a private, invitation-only beta phase before being launched to the public.  This was certainly the case with Google Mail, the Yahoo! Mail do-over, and one service that I&#8217;m particularly interested in:  <a href="http://www.grono.net/">grono.net</a>.  Unfortunately, none of my friends or relatives use that service, so getting an invitation isn&#8217;t likely.</p>
<p>There&#8217;s obviously a need here that needs to be filled: begging strangers for invitations to web beta&#8217;s.  I&#8217;ve found a few places to share invitations, but by far the most beautiful and appealing is <a href="http://www.inviteshare.com/">InviteShare.com</a>.  What a gorgeous, well-thought-out design.</p>
<p><span id="more-44"></span><br />
<a href="http://www.inviteshare.com/index.php">Invite Share</a><br />
<a href="http://www.inviteshare.com/community"><img src="http://www.inviteshare.com/images/button_community_new.png" border="0" alt="" /></a><br />
And please, if you have a grono.net invitation, please <a href="http://www.inviteshare.com/site.php?id=12">share it with me</a>.</p>
<h2>Discovery</h2>
<p>An interesting thing about services like InviteShare is that they promote upcoming projects, aiding in discovery of new and interesting things.</p>
<p>I&#8217;m taking a look through <a href="http://mash.yahoo.com/">Yahoo! Mash</a> right now.  It took about 15 minutes after posting on InviteShare before someone offered me an invitation.  Mash looks like it has tremendous promise:  a social networking service with the chaotic aesthetic of MySpace, but the coherent usability of Facebook.</p>
<p>(Via <a href="http://www.surflizard.com/archives/share-the-beta-love/424">a SurfLizard post</a>)</p>
<div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;">Blogged with the <a style="color: #999; font-weight: bold;" title="Flock Browser" href="http://www.flock.com/blogged-with-flock" target="_new">Flock Browser</a></div>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2008/04/how-to-get-invited-to-web-2x-betas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
