<?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>shahidhussain.com &#187; Tech</title>
	<atom:link href="http://shahidhussain.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://shahidhussain.com</link>
	<description>mapping one to many</description>
	<lastBuildDate>Fri, 02 Dec 2011 14:45:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to use pagination on your website</title>
		<link>http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/</link>
		<comments>http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 23:22:28 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=452</guid>
		<description><![CDATA[Splitting content up into pages is pretty common on the web &#8211; you might see it in articles, comments, search results, or other lists of data. Want to use pagination? Let&#8217;s take a look at the options available to you. &#8230; <a href="http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Splitting content up into pages is pretty common on the web &#8211; you might see it in articles, comments, search results, or other lists of data. Want to use pagination? Let&#8217;s take a look at the options available to you.</p>
<h2>Option one: links to new page</h2>
<p>Having separate web pages for each page of content is original flavour.</p>
<ul>
<li>Pros: Gives you N pageviews instead on one (if you&#8217;re worried about that metric), works on non-JS browsers</li>
<li>Cons: Slow, as a whole new pageload is required</li>
</ul>
<p><a href="http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/attachment/screen-shot-2011-01-05-at-12-53-10-am/" rel="attachment wp-att-462"><img src="http://shahidhussain.com/wp-content/uploads/2011/01/Screen-shot-2011-01-05-at-12.53.10-AM-475x255.png" alt="" title="Pagination on Tom&#039;s Hardware" width="475" height="255" class="size-large wp-image-462" /></a></p>
<p><a href="http://www.tomshardware.com/reviews/gaming-graphics-card-recommendation-upgrade,2803.html">Here&#8217;s an example</a> from Tom&#8217;s Hardware. This shows how many pages exist, and also what&#8217;s on each (so you can just skip to the conclusions page, for example.)</p>
<h2>Option two: one page, AJAX changes the view</h2>
<p>Here, all of the content is loaded in the initial pageview, but the pagination buttons switch what&#8217;s displayed to the user.</p>
<ul>
<li>Pros: Faster than a new pageview</li>
<li>Cons: More complex to code (if you&#8217;re rolling your own)</li>
</ul>
<p><a href="http://www.youtube.com/watch?v=_lViUvmZZM8">Here&#8217;s an example</a> from YouTube, but you&#8217;ll also find this all over the web on most large sites. Start watching the video, and click the page numbers at the bottom to get more comments. You don&#8217;t get another pageload &#8211; not only would that be slow, it would interrupt the 80s goodness you&#8217;re hearing.</p>
<p><a href="http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/attachment/screen-shot-2011-03-14-at-17-25-34/" rel="attachment wp-att-474"><img src="http://shahidhussain.com/wp-content/uploads/2011/03/Screen-shot-2011-03-14-at-17.25.34-475x335.png" alt="Comments on YouTube" title="Comments on YouTube" width="475" height="335" class="size-large wp-image-474" /></a></p>
<p>When designing these, there&#8217;s a problem. If your list of stuff is kinda short &#8211; great. But if you have a long list, you scroll down to the bottom, click the page 2 button &#8230; and you&#8217;re at the bottom of the second page, not the top. To put it another way, you&#8217;re reading item 1, item 2 &#8230; item 10, then click Page 2, and instead of looking at item 11, you&#8217;re looking at item 20.</p>
<p>There are some solutions to this &#8211; Disqus, which powers sites like <a href="http://www.engadget.com/2011/03/04/macbook-pro-review-early-2011/#disqus_thread">Engadget</a>, collapses the whole comments section and re-expands it so you&#8217;re looking at the top. <a href="http://store.steampowered.com/browse/mac">Steam</a> does some batshit-crazy scrolling of the page and list to get you back to the top.</p>
<h2>Option three: Don&#8217;t use pagination</h2>
<p>If you&#8217;re feeling bold, you can just let the whole page load with every list item.</p>
<ul>
<li>Pros: Easy to code, easy to understand</li>
<li>Cons: Unworkably large pageloads for very long lists (e.g. user generated comments)</li>
</ul>
<p>A hybrid solution is using a MORE link that appends the next page to the current one. The nice part is that the list now goes from item 1 to item 10, then item 11 to item 20, and so on &#8211; the list order is easy to interpret.</p>
<ul>
<li>Pros: Easy to understand</li>
<li>Cons: Harder to create references to data (e.g. item X is on page N is now an invalid reference), your list can look weirdly long compared to the rest of the page</li>
</ul>
<p><a href="http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/attachment/screen-shot-2010-09-29-at-3-33-55-pm/" rel="attachment wp-att-481"><img src="http://shahidhussain.com/wp-content/uploads/2011/03/Screen-shot-2010-09-29-at-3.33.55-PM-475x477.png" alt="Quora pagination" title="Quora pagination" width="475" height="477" class="size-large wp-image-481" /></a></p>
<p>You can see examples of this on <a href="http://www.quora.com/">Quora</a> and other sites.</p>
<h2>Which one should I use?</h2>
<p>First &#8211; if you don&#8217;t need pagination, don&#8217;t use it. Nothing is as easy as having the whole page in front of you. Consider what your pageload times will be without it, both on desktop and mobile. If it&#8217;s too heavy &#8211; either right now, or in the future when a thousand people have created comments &#8211; consider the hybrid solution. Can you append items to the current list? Remember that from the user&#8217;s point of view, they are reading down a page of text &#8211; make it as easy as possible for them to continue that reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/how-to-use-pagination-on-your-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementation models vs mental models IRL</title>
		<link>http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/</link>
		<comments>http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 12:36:03 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=371</guid>
		<description><![CDATA[If you&#8217;ve read &#8220;About Face&#8221; (Cooper, Reimann, Cronin) you&#8217;ll recognise this diagram. It&#8217;s a great description of how a product can be closely related to the way it was built (the implementation model), or the way a user relates to &#8230; <a href="http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve read &#8220;About Face&#8221; (Cooper, Reimann, Cronin) you&#8217;ll recognise this diagram. It&#8217;s a great description of how a product can be closely related to the way it was built (the implementation model), or the way a user relates to it (the mental model).</p>
<p><a href="http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/attachment/screen-shot-2010-08-06-at-7-05-37-pm-2/" rel="attachment wp-att-373"><img src="http://shahidhussain.com/wp-content/uploads/2010/08/Screen-shot-2010-08-06-at-7.05.37-PM1-475x183.png" alt="Implementation models vs mental models" title="Implementation models vs mental models" width="475" height="183" class="alignnone size-large wp-image-373" /></a></p>
<p>Here are some products that are close to the implementation model:</p>
<ul>
<li>The command line</li>
<li>IRC</li>
<li>Opening files with VLC</li>
</ul>
<p>Here are some ideas that pull implementation closer to a mental model:</p>
<ul>
<li>An email inbox</li>
<li>A desktop in your operating system</li>
<li>Folder icons in Explorer / Finder / GNOME</li>
</ul>
<p>It never occurred to me that the same could happen in real life, but here it is, from a gym in Birmingham, UK. This is a sheet that members use to refer their friends (presumably in return for a discount).</p>
<p><a href="http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/attachment/img_20100804_180438/" rel="attachment wp-att-381"><img src="http://shahidhussain.com/wp-content/uploads/2010/08/IMG_20100804_180438-475x356.jpg" alt="" title="IMG_20100804_180438" width="475" height="356" class="alignnone size-large wp-image-381" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/implementation-models-vs-mental-models-irl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making interface animation useful</title>
		<link>http://shahidhussain.com/tech/making-interface-animation-useful/</link>
		<comments>http://shahidhussain.com/tech/making-interface-animation-useful/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 13:27:42 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[bandize]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[widgetbox]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=325</guid>
		<description><![CDATA[Many interfaces on the web contain some kind of animation. We&#8217;ve had Flash for a long time, and with jQuery and HTML5 it&#8217;s become even easier to add animation. Should we do it? People hold these two views about interface &#8230; <a href="http://shahidhussain.com/tech/making-interface-animation-useful/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many interfaces on the web contain some kind of animation. We&#8217;ve had Flash for a long time, and with jQuery and HTML5 it&#8217;s become even easier to add animation.</p>
<p>Should we do it?</p>
<div id="attachment_350" class="wp-caption alignnone" style="width: 485px"><a href="http://shahidhussain.com/tech/making-interface-animation-useful/attachment/efrosian_federation_president/" rel="attachment wp-att-350"><img src="http://shahidhussain.com/wp-content/uploads/2010/08/Efrosian_Federation_President-475x341.jpg" alt="" title="Efrosian_Federation_President" width="475" height="341" class="size-large wp-image-350" /></a><p class="wp-caption-text">Just because we can do a thing, it does not necessarily follow that we must do that thing.</p></div>
<p>People hold these two views about interface animations:</p>
<ol>
<li>Take the animations off! They are slow and I want to concentrate on function &#8211; this crap just gets in the way!</li>
<li>I will put in animations because I can. L33t</li>
</ol>
<p>There is a third way, which is this &#8211; make your animations useful. I&#8217;ll explain by showing an example of a site that lights the way, and a site that ballsed it up.</p>
<h2>This site lights the way</h2>
<div id="attachment_353" class="wp-caption alignnone" style="width: 485px"><a href="http://shahidhussain.com/tech/making-interface-animation-useful/attachment/aviary-bandize-com-picture-1sk/" rel="attachment wp-att-353"><img src="http://shahidhussain.com/wp-content/uploads/2010/08/Aviary-bandize-com-Picture-1SK-475x305.jpg" alt="" title="Aviary bandize-com Picture 1SK" width="475" height="305" class="size-large wp-image-353" /></a><p class="wp-caption-text">bandize.com</p></div>
<p>Behold, <a href="http://bandize.com">Bandize</a>.</p>
<p>As you click through the navigation links &#8211; Show / Tours, Accounting, Contacts and so on &#8211; the content in the lower box sweeps linearly. If you go from link 1 to link 3, you see the content from link 2 sweeping by quickly. The list of links is your map, and the content box below is your zoom into that map.</p>
<p>The animations directly describe how your control is related to what you&#8217;re seeing, and that&#8217;s good.</p>
<h2>This site ballsed it up</h2>
<div id="attachment_354" class="wp-caption alignnone" style="width: 485px"><a href="http://shahidhussain.com/tech/making-interface-animation-useful/attachment/aviary-widgetbox-com-picture-1sk/" rel="attachment wp-att-354"><img src="http://shahidhussain.com/wp-content/uploads/2010/08/Aviary-widgetbox-com-Picture-1SK-475x312.jpg" alt="" title="Aviary widgetbox-com Picture 1SK" width="475" height="312" class="size-large wp-image-354" /></a><p class="wp-caption-text">widgetbox.com</p></div>
<p>Behold, widgetbox.</p>
<p>This is a really similar content discovery style &#8211; a set of links (the four grey panels to the right) that control a panel (content to the left).</p>
<p>But this time, there are a few errors.</p>
<ul>
<li>Firstly, path from navigation links to content doesn&#8217;t match the animations. The content animation sweeps linearly along to the right, same as Bandize &#8211; but the navigation links are actually arranged in a zigzag. Try it &#8211; it&#8217;s confusing as heck.</li>
<li>The grey panels activate on hover rather than click, which makes it too easy to navigate by mistake rather than intention.</li>
<li>There are two more ways of navigating through content (I circled these in orange above). One, a play / pause control that&#8217;s almost invisible, and second, iPhone style dots (that actually do map correctly with the content animation &#8211; they&#8217;re in a line.) Both of these elements are clutter.</li>
</ul>
<h2>Conclusion</h2>
<p>Using animations is easier than ever, but be careful. Don&#8217;t add them for their own sake &#8211; make sure they are helping the user understand what&#8217;s happening and why.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/making-interface-animation-useful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>T-Mobile&#8217;s image compression</title>
		<link>http://shahidhussain.com/tech/t-mobiles-image-compression/</link>
		<comments>http://shahidhussain.com/tech/t-mobiles-image-compression/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 09:45:42 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=311</guid>
		<description><![CDATA[I&#8217;ve been using a T-Mobile UK connection through a Nexus One to stay online in Blighty. It turns out that they employ some shenanigans to keep their bandwidth costs down. A few tricks seem to be happening: A transparent proxy &#8230; <a href="http://shahidhussain.com/tech/t-mobiles-image-compression/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using a T-Mobile UK connection through a Nexus One to stay online in Blighty. It turns out that they employ some shenanigans to keep their bandwidth costs down.</p>
<p>A few tricks seem to be happening:</p>
<ul>
<li>A transparent proxy loads your requested images, but sends you a more compressed version of your image instead.</li>
<li>On every pageload, a script tag to insert <a href="http://1.2.3.8/bmi-int-js/bmi.js">this javascript file</a> is injected into the page header. This file allows a user to request the full quality images with a keyboard shortcut <em>after</em> pageload. Instructions are given with a tooltip on every image.</li>
<li>All unnecessary formatting is removed from the page source, i.e. spacing, tabs and so on from the HTML.</li>
</ul>
<p>Here&#8217;s what the compressed image looked like:</p>
<p><a href="http://shahidhussain.com/wp-content/uploads/2010/07/undefined1.jpeg"><img src="http://shahidhussain.com/wp-content/uploads/2010/07/undefined1.jpeg" alt="" title="Compressed image" width="500" height="375" class="aligncenter size-full wp-image-314" /></a></p>
<p>Here&#8217;s what the original image looked like:</p>
<p><a href="http://shahidhussain.com/wp-content/uploads/2010/07/undefined-1.jpeg"><img src="http://shahidhussain.com/wp-content/uploads/2010/07/undefined-1.jpeg" alt="" title="Original image" width="500" height="375" class="aligncenter size-full wp-image-312" /></a></p>
<h3>How much bandwidth did this save?</h3>
<p>Here&#8217;s what we know.</p>
<ul>
<li>In my very non-scientific testing, the extra compression seemed to approximately halve the size of the image delivered.</li>
<li><a href="http://www.yuiblog.com/blog/2008/10/29/imageopt-1/">According to the YUI people</a>, average image pageweight is around 50% due to images.</li>
</ul>
<p>Therefore, T-Mobile should be saving around 25% on every pageload. This comes at the cost of a slightly diminished user experience for users, maintenance costs for the proxy and script files (albeit minimal), and potential subtle brand damage (a user might perceive T-Mobile delivered internet as worse quality).</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/t-mobiles-image-compression/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web coding on a mac</title>
		<link>http://shahidhussain.com/tech/web-coding-on-a-mac/</link>
		<comments>http://shahidhussain.com/tech/web-coding-on-a-mac/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 04:54:54 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=286</guid>
		<description><![CDATA[If you&#8217;re developing for the web, the chances are good that you have a server out there somewhere running a LAMP stack. If you&#8217;re doing a lot of iteration &#8211; which is probably a good idea &#8211; you&#8217;ll want to &#8230; <a href="http://shahidhussain.com/tech/web-coding-on-a-mac/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re developing for the web, the chances are good that you have a server out there somewhere running a LAMP stack. If you&#8217;re doing a lot of iteration &#8211; which is probably a good idea &#8211; you&#8217;ll want to find a quick way of changing code on your server rather than downloading &#038; uploading all the time.</p>
<h3>Option one: Use vi</h3>
<p>The cleanest way to develop code on that box is to SSH directly in there, and use vi, but it&#8217;s not all roses.</p>
<p>Advantages:</p>
<ul>
<li>Great syntax highlighting</li>
<li>vi is frighteningly fast if you know how to use it</li>
<li>You can use the same environment from any laptop running os x or linux, and it&#8217;s instantly familiar</li>
<li>You don&#8217;t even need to install any software locally</li>
</ul>
<p><a href="http://shahidhussain.com/wp-content/uploads/2010/02/mannequin.jpeg"><img src="http://shahidhussain.com/wp-content/uploads/2010/02/mannequin.jpeg" alt="Mannequin cover" title="mannequin" width="188" height="272" class="alignright size-full wp-image-287" /></a>Disadvantages:</p>
<ul>
<li>vi&#8217;s learning curve</li>
</ul>
<p>For newbies like me, watching someone who&#8217;s familiar with vi makes me feel like Emmy from Mannequin. (&#8220;Where did they hide all the musicians?&#8221;)</p>
<p>So, you could spend a <em>long</em> time learning vi, or try something else.</p>
<h3>Option two: Use something else</h3>
<p>If you&#8217;ve ever used Dropbox, you&#8217;ll know that having a remote filesystem mounted in Finder makes working with files super easy. Luckily, there&#8217;s some great OSS around to help you do just that. Here&#8217;s how to get started:</p>
<ol>
<li>Download and install MacFuse from <a href="http://code.google.com/p/macfuse/">here</a></li>
<li>Download and install MacFusion from <a href="http://www.macfusionapp.org/">here</a></li>
</ol>
<p>After restarting your mac, you&#8217;ll be able to mount both SSH and FTP servers right into your filesystem. Now, you can use your text editor of choice on the mac, directly working on the files you want to play with.</p>
<p>Advantages:</p>
<ul>
<li>Use any text editor you want (I use <a href="http://www.barebones.com/products/TextWrangler/">TextWrangler</a> because I&#8217;m cheap)</li>
<li>Use all your mac&#8217;s keyboard shortcuts</li>
</ul>
<p>Disadvantages:</p>
<ul>
<li>You need to install some software locally, so you&#8217;re screwed if you have to move between laptops</li>
</ul>
<p>Being a vi numpty, I chose this second path, and so far it&#8217;s working a treat. However, there is a bug in the current version of MacFusion (v2 final).</p>
<h3>Macfusion Bug on sshnodelay.so</h3>
<p>When connecting over SSH, you&#8217;ll note that the connection can&#8217;t be made. You&#8217;ll see a &#8220;remote host disconnected&#8221; error, and on examining the log in MacFusion, you&#8217;ll see this:</p>
<p><code>dyld: could not load inserted library: /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshnodelay.so</code></p>
<p><a href="http://shahidhussain.com/wp-content/uploads/2010/02/Screen-shot-2010-03-16-at-11.47.30-AM.png"><img src="http://shahidhussain.com/wp-content/uploads/2010/02/Screen-shot-2010-03-16-at-11.47.30-AM-300x55.png" alt="sshnodelay.so error" title="Screen shot 2010-03-16 at 11.47.30 AM" width="300" height="55" class="aligncenter size-medium wp-image-308" /></a></p>
<p>The solution is to rename the file to something else. Head into Terminal, and type this:</p>
<p><code>cd /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/<br />
mv sshnodelay.so MOVED_sshnodelay.so</code></p>
<p> &#8230; and voila, you can now mount over SSH no problem! (<a href="http://groups.google.com/group/macfusion-devel/browse_thread/thread/361899cf82627a71">source</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/web-coding-on-a-mac/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How To Be A Successful Blogger</title>
		<link>http://shahidhussain.com/tech/how-to-be-a-successful-blogger/</link>
		<comments>http://shahidhussain.com/tech/how-to-be-a-successful-blogger/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 15:13:07 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tech Industry]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=209</guid>
		<description><![CDATA[Some of you may have come across Chris Guillebeau&#8217;s 279 day guide to success as a blogger. For those of you who don&#8217;t have time to read it, here&#8217;s the short short version. First the obvious parts: Being a successful &#8230; <a href="http://shahidhussain.com/tech/how-to-be-a-successful-blogger/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://shahidhussain.com/wp-content/uploads/2009/04/279-days-logo-201x300.jpg" alt="279-days-logo-201x300" title="279-days-logo-201x300" width="201" height="300" class="alignright size-full wp-image-222" />Some of you may have come across Chris Guillebeau&#8217;s <a href="http://chrisguillebeau.com/3x5/overnight-success/">279 day guide</a> to success as a blogger. For those of you who don&#8217;t have time to read it, here&#8217;s the short short version.</p>
<p>First the obvious parts:</p>
<ul>
<li>Being a successful blogger takes a long time and is a lot of hard work.</li>
<li>Even doing that won&#8217;t make you boat loads of cash.</li>
<li>You need to stay disciplined in your posting.</li>
<li>Get other sites interested in you through reviews, guest posts &#038; media connections.</li>
<li>Use primary market research.</li>
</ul>
<p>Now the interesting parts. Chris&#8217;s position is that Adsense ads suck, because you&#8217;re trusting Google to figure out what&#8217;s contextual. If your site links out to stuff, you&#8217;re telling your visitors that if they trust you, they should trust this ad, and that link is being driven by an algorithm that could well be wrong.</p>
<p>I would argue that most people understand the weak trust link when they see Adsense embeds, but it follows that a weak trust link means that the advert is going to suck at being effective anyway. I&#8217;d not thought about this before, and it&#8217;s definitely worth considering.</p>
<p>Chris&#8217;s solution for monetisation is the freemium model &#8211; a blogger&#8217;s product is information, so why now charge for some of it. It&#8217;s not going to work for everyone, but Chris has made it work for a non-targeted blog, so that&#8217;s encouraging.</p>
<p>In reading it, a few quotations stuck out:</p>
<ul>
<li>&#8220;I work harder than most people I know, and the other unconventional success stories mentioned in this report do the same.&#8221;</li>
<li>&#8220;I derive too much emotional validation from the daily state of my network. When lots of people are subscribing, the comments are up, and the links are rolling in, I feel great. When the numbers are down, I feel bad.&#8221;</li>
</ul>
<p>Right there is the real reason Chris&#8217;s blog has been so successful &#8211; he clearly works his ass off.</p>
<h3>The worrying parts</h3>
<p><img src="http://shahidhussain.com/wp-content/uploads/2009/04/googlead.png" alt="googlead" title="googlead" width="160" height="250" class="alignright size-full wp-image-228" />Interesting fact: a lot of the most popular blog content is about how to become a popular blogger. The whole hook of Chris&#8217;s report is on how to be just a successful as Chris. I&#8217;m not disputing his incentives at all, but when you strip away the excellent graphic design and verbiage, that&#8217;s what it boils down to.</p>
<p>Here&#8217;s the problem. Folks read his report because they want what he has, but for whatever reason (family, the day job and so on) they can&#8217;t invest the time needed to actually DO it. If they did, thousands of super successful blogs would start to spring up. It never happens. Even if it did, since global web attention is a stretchy-but-limited commodity, as supply increases, price goes down and folk spend less time with one individual blog.</p>
<p>I&#8217;m not saying it&#8217;s a pyramid scheme &#8211; Chris isn&#8217;t charging, isn&#8217;t benefitting, and in fact, licensed this report with CC-BY. But some elements are there &#8211; one successful guy at the top and a lot of people who want but can&#8217;t attain the same success.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/how-to-be-a-successful-blogger/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>UI Design Principles from Mozilla Labs</title>
		<link>http://shahidhussain.com/tech/ui-design-principles-from-mozilla-labs/</link>
		<comments>http://shahidhussain.com/tech/ui-design-principles-from-mozilla-labs/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 07:00:05 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[mozconcept]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=189</guid>
		<description><![CDATA[As part of the Labs concept series, I attended an online talk by Alex Faaborg from Mozilla UX, presenting Jakob Nielsen&#8217;s 10 principles for software usability design. They are simple and useful, so here they are. Keep system status visible: &#8230; <a href="http://shahidhussain.com/tech/ui-design-principles-from-mozilla-labs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://shahidhussain.com/wp-content/uploads/2009/03/labslogo.gif" alt="labslogo" title="labslogo" width="500" height="94" class="alignleft size-full wp-image-230" />As part of the Labs concept series, I attended an online talk by Alex Faaborg from Mozilla UX, presenting Jakob Nielsen&#8217;s 10 principles for software usability design. They are simple and useful, so here they are.</p>
<ul>
<li>Keep system status visible: Is there a web page loading right now? Am I in private browsing mode? The user should be kept aware of the current status, and feeback on modes should be timely. When a user doesn&#8217;t know which mode we&#8217;re in, this is called a <em>mode error</em>.</li>
<li>Systems should mirror the real world: Engineers want to implement whatever the technology makes easy to implement &#8211; but users want to use something that mirrors the world as they see it. Some technology elements are still confusing (e.g. Fx asking if you want to resend POSTDATA) but some are now commonplace (404 errors or the http:// prefix). Real world elements can appear in icons (padlocks, floppy drives, gold stars) or replicating a real life method (e.g. having a desktop).</li>
<li>User control &#038; freedom: Don&#8217;t prevent users from doing certain things. For example, in Fx3 it&#8217;s impossible to bring back the Most Visited folder on the Firefox bookmarks toolbar if you delete it.</li>
<li>Consistency &#038; standards: Be consistent internally with the way you&#8217;re always represented things inside your application, and be consistent externally with the wider OS or peer applications. These could conflict &#8211; Fx changed the bookmarks icon in v3 from a bookmark to a gold (or blue) star to fit with other browsers.</li>
<li>Recognition not recall: The command line requires you to remember everything, which is why most users find it too tough to use. Ubiquity suffers from this in a way &#8211; although it does a lot to help you, it can&#8217;t do anything unless you type <em>some</em>thing.</li>
<li>Flexibility &#038; user efficiency: Toolbars that are malleable are flexible, but it&#8217;s tough to create complete flexibility, as very flexible UI systems (like Ubiquity) require some skill to use completely.</li>
<li>Minimalist design: Visual clarity is good. Reduce redundant elements (e.g. the address bar URL, the window title and the tab title). Combine elements logically &#8211; the iPod wheel combines a set of functions into one element while keeping it easy to use.</li>
<li>Error prevention: fix common user errors like commas in URLs.</li>
<li>Help users recover from errors: proactively provide contextual help, like the internet connection wizard in Safari.</li>
<li>Help and documentation: ensure users know where it is and can access it.</li>
</ul>
<h3>Balancing things out</h3>
<p>The keen ones amongst you will have spotted that not all of these things are achievable &#8211; balances are needed between these elements, and the correct position depends on the user and the application. Here are the contradictions &#8211; and the balances &#8211; that I can identify.</p>
<ul>
<li>More user control and freedom can mean less minimalism, less error prevention and less consistency. The user can reconfigure away from standards.</li>
<li>More recognition can mean less minimalism. The command line is an awesome interface for the right kinds of people.</li>
<li>More system statuses can mean less minimalism. Where do you put the throbber in a chromeless browser?</li>
</ul>
<p>Creating an awesome design &#8211; it seems &#8211; is about finding ways of winning on both sides of these balances so that compromise becomes less necessary. At the same time, we must recognise that no system is going to be perfect for everyone &#8211; as the market becomes more diverse, the interface must understand and trade off different requirements in that market.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/ui-design-principles-from-mozilla-labs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mozilla Labs Concept Series: Pie Assisted Gestures</title>
		<link>http://shahidhussain.com/tech/mozilla-labs-concept-series-pie-assisted-gestures/</link>
		<comments>http://shahidhussain.com/tech/mozilla-labs-concept-series-pie-assisted-gestures/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 02:46:17 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[mozconcept]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=153</guid>
		<description><![CDATA[A few days ago, Mozilla Labs invited students to answer the question: &#8220;What would a browser look like if the Web was all there was? No windows, no unnecessary trappings. Just the Web.&#8221; I thought I&#8217;d take a crack at &#8230; <a href="http://shahidhussain.com/tech/mozilla-labs-concept-series-pie-assisted-gestures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few days ago, Mozilla Labs <a href="http://labs.mozilla.com/2009/01/introducing-the-design-challenge/">invited students</a> to answer the question: &#8220;What would a browser look like if the Web was all there was? No windows, no unnecessary trappings. Just the Web.&#8221; I thought I&#8217;d take a crack at it myself, even though I&#8217;m clearly going to get my ass kicked by the engineering undergrads <img src='http://shahidhussain.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here&#8217;s a video I knocked together, which shows a very rough mockup of the UI. The basic idea is this &#8211; to extend pie menus in such a way that they can help train users into using mouse gestures, and remain as a backup for more complex commands.</p>
<p><object width="504" height="380"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3046033&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3046033&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="504" height="380"></embed></object><br /><a href="http://vimeo.com/3046033">Mozconcept: Pie Assisted Gestures</a> from <a href="http://vimeo.com/user886502">Shahid Hussain</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/mozilla-labs-concept-series-pie-assisted-gestures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restoring your Linux partition in rEFIt</title>
		<link>http://shahidhussain.com/tech/restoring-your-linux-partition-in-refit/</link>
		<comments>http://shahidhussain.com/tech/restoring-your-linux-partition-in-refit/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 06:48:41 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=110</guid>
		<description><![CDATA[If your lovely Linux icon has, for whatever reason, disappeared from rEFIt to be replaced by the generic icon (or just vanished completely), here&#8217;s how to fix it. rEFIt, a wonderful boot manager for Mac, peers at all of your &#8230; <a href="http://shahidhussain.com/tech/restoring-your-linux-partition-in-refit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If your lovely Linux icon has, for whatever reason, disappeared from rEFIt to be replaced by the generic icon (or just vanished completely), here&#8217;s how to fix it.</p>
<p>rEFIt, a wonderful boot manager for Mac, peers at all of your partitions when it boots, takes a guess at what OS is on there and shows and entry in the larger icon list at the top. To figure out that you have a Linux partition, it will look at the MBR of that partition and go from there.</p>
<p>If your icon has disappeared or been replaced with the generic one, this is where the problem is. So here&#8217;s how to fix it.</p>
<ul>
<li>Boot into Linux using a Live CD like the Ubuntu Ibex install CD.</li>
<li>Open up a terminal.</li>
<li>&#8220;sudo grub&#8221;</li>
<li>Now, find your Linux partition with &#8220;find /vmlinuz&#8221;</li>
<li>It will return (hd0,2) or similar. Use this to install grub like this: &#8220;root(hd0,2)&#8221; and then &#8220;setup(hd0,2)&#8221; and finally &#8220;quit&#8221;.</li>
</ul>
<p>Once you reboot, your rEFIt icon should be restored, and you should be able to boot back into Linux no problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/restoring-your-linux-partition-in-refit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dual Booting Ubuntu 8.10 with Tiger on a Santa Rosa MacBook Pro</title>
		<link>http://shahidhussain.com/tech/dual-booting-ubuntu-810-with-tigerr-on-a-santa-rosa-macbook-pro/</link>
		<comments>http://shahidhussain.com/tech/dual-booting-ubuntu-810-with-tigerr-on-a-santa-rosa-macbook-pro/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 15:36:38 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=104</guid>
		<description><![CDATA[This weekend was taken up by one huge discovery: it is possible to use Gparted on Ubuntu Ibex to resize an HFS+ partition non-destructively. This one fact made it incredibly easy to dual boot my MacBook Pro with Linux. Here&#8217;s &#8230; <a href="http://shahidhussain.com/tech/dual-booting-ubuntu-810-with-tigerr-on-a-santa-rosa-macbook-pro/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This weekend was taken up by one huge discovery: it is possible to use Gparted on Ubuntu Ibex to resize an HFS+ partition non-destructively. This one fact made it incredibly easy to dual boot my MacBook Pro with Linux. Here&#8217;s how:</p>
<ul>
<li>Backup everything you might want to keep from your Mac just in case. Resizing partitions is always risky!</li>
<li>Install rEFIt on the Mac.</li>
<li>Make enough space on the Mac for your new partition.</li>
<li>Create an Ubuntu Ibex installer &#038; live CD.(You can just download the .iso and burn it with Disk Utility.)</li>
<li>Boot into the live CD by holding down the &#8220;c&#8221; key when you reboot. Don&#8217;t install right now, but head into GParted.</li>
<li>Just resize the HFS+ partition that contains your Mac. Keep your fingers crossed that it works OK. (It did for me).</li>
<li>Run the Installer, and go to Manual mode when you get to the partitioner. From here you can do what you want &#8211; I created a 20gb partition for root and 4gb for swap partition.</li>
<li>Finish the installer and reboot. Here&#8217;s a fun bonus &#8211; rEFIt will automatically detect the new partition, and just create a spot in the boot menu for you.</li>
</ul>
<p>And that&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech/dual-booting-ubuntu-810-with-tigerr-on-a-santa-rosa-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

