<?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</title>
	<atom:link href="http://shahidhussain.com/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>Mobile apps vs native apps</title>
		<link>http://shahidhussain.com/tech-industry/mobile-apps-vs-native-apps/</link>
		<comments>http://shahidhussain.com/tech-industry/mobile-apps-vs-native-apps/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 18:40:34 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech Industry]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=701</guid>
		<description><![CDATA[There&#8217;s a lot of guff around on the battle between mobile apps versus web apps. There is guff because companies have made investments one way or the other, and want to believe that they made the right choice. So let&#8217;s &#8230; <a href="http://shahidhussain.com/tech-industry/mobile-apps-vs-native-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://shahidhussain.com/tech-industry/mobile-apps-vs-native-apps/attachment/screenshot-1321293503690/" rel="attachment wp-att-704"><img src="http://shahidhussain.com/wp-content/uploads/2011/11/screenshot-1321293503690-180x300.png" alt="IMDB mobile app ad" title="IMDB mobile app ad" width="180" height="300" class="alignright size-medium wp-image-704" /></a>There&#8217;s a lot of guff around on the battle between mobile apps versus web apps. There is guff because companies have made investments one way or the other, and want to believe that they made the right choice.</p>
<p>So let&#8217;s be succinct. There are only two things to be concerned with:</p>
<ul>
<li>Can a user find the application?</li>
<li>Does it work great?</li>
</ul>
<h2>Can a user find the application?</h2>
<p>Unless you have a massive established brand (hello, Financial Times) you have to go to where users are looking for you.</p>
<ul>
<li>They Google and find a website. If it&#8217;s very usable (so either the desktop version reflows well or there&#8217;s a mobile site) they&#8217;re done. If it sucks or the website advertises a mobile app (e.g. Meetup, IMDB, Yelp) they&#8217;ll go to the app store.</li>
<li>They search the app store directly and find an app. If it sucks they know it&#8217;s not going to get any better, so they&#8217;re done.</li>
</ul>
<p>This behaviour is determined by the end user&#8217;s habits and the OS. The end user&#8217;s habits will vary by user, but is guided by their history. So many people use apps (especially in the US) that it&#8217;s going to be hard to train them out of searching app stores. The OS is also going to promote App store searches as long as apps appeal to users.</p>
<h2>Does it work great?</h2>
<p>Short answer &#8211; native apps work better than web apps. Web apps are getting better.</p>
<p>If a user downloads an app and uses it, they don&#8217;t care that you created an Android version as well. They don&#8217;t care that there&#8217;s feature parity. They just care that it works great on their device. That means fast UI response. Familiar widgets. If needed, access to device hardware (camera, GPS) and offline functionality. That&#8217;s all available with native apps &#8211; and somewhere between difficult and impossible on mobile web apps.</p>
<p>Here&#8217;s the only contentious point. <i>Wouldn&#8217;t it be nice</i> if we could produce web apps and not have to pay the Apple / Android tax? Only have to create once and have it run anywhere? Yes, it would be lovely &#8211; this is absolutely a better situation for app developers. This will only ever happen if:</p>
<ul>
<li>Users quit searching app stores (because OSes stop promoting them, and because they know that websites work great on their mobiles anyway)</li>
<li>Mobile sites are just as smooth and functional as mobile apps.</li>
</ul>
<p>But can <i>you</i> get away with it yet?</p>
<ul>
<li>Can you drive enough users to come to you, if you&#8217;re not in the app store?</li>
<li>Does it bother you if users who DO search the app store end up looking at apps that are competitors or repackaged versions of your web content?</li>
<li>Will a mobile web application work well enough that shifting to native wouldn&#8217;t make a different experience?</li>
<li>Are all your developers humping HTML5 and thumbing their noses at Xcode and Eclipse?</li>
</ul>
<h2>Halfway houses</h2>
<p>There are wrappers available that let you code once in web languages and run everywhere. The two big ones are <a href="http://www.appcelerator.com/">Titanium</a> and <a href="http://phonegap.com/">Phonegap</a>. They kinda work, but you&#8217;ll be dealing with bugs and weirdnesses from not just one programming environment, but two.</p>
<h2>TL;DR</h2>
<p>Using mobile web apps will happen, but we&#8217;re still way off. Native apps will cost more to build and work better. Mobile web apps will cost less and work less well (although this will get better over time). Most people will want native apps right now, but evaluate your specific situation carefully. Only you can make the right choice for your business.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech-industry/mobile-apps-vs-native-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testing for the user&#8217;s experience</title>
		<link>http://shahidhussain.com/design/testing-for-the-users-experience/</link>
		<comments>http://shahidhussain.com/design/testing-for-the-users-experience/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 07:08:48 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=686</guid>
		<description><![CDATA[Testing your product isn&#8217;t only about user interface &#8211; where a user gets confused, and so on. It&#8217;s also about uncovering niggly little problems like this: They aren&#8217;t the only ones. Here&#8217;s Amazon, which has free super-saver delivery in the &#8230; <a href="http://shahidhussain.com/design/testing-for-the-users-experience/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Testing your product isn&#8217;t only about user interface &#8211; where a user gets confused, and so on. It&#8217;s also about uncovering niggly little problems like this:</p>
<p><a href="http://shahidhussain.com/design/testing-for-the-users-experience/attachment/screen-shot-2011-09-14-at-20-03-19/" rel="attachment wp-att-687"><img src="http://shahidhussain.com/wp-content/uploads/2011/09/Screen-shot-2011-09-14-at-20.03.19.png" alt="" title="Store pricing problem" width="435" height="404" class="alignnone size-full wp-image-687" /></a></p>
<p>They aren&#8217;t the only ones. Here&#8217;s Amazon, which has free super-saver delivery in the US for orders over $25:</p>
<p><a href="http://shahidhussain.com/design/testing-for-the-users-experience/attachment/screen-shot-2011-09-23-at-07-22-21-2/" rel="attachment wp-att-694"><img src="http://shahidhussain.com/wp-content/uploads/2011/09/Screen-shot-2011-09-23-at-07.22.211-475x87.png" alt="" title="Amazon free super saver delivery" width="475" height="87" class="alignnone size-large wp-image-694" /></a></p>
<p>This is an <em>opportunity</em> for an online store to delight users by saying, &#8220;You haven&#8217;t quite met the minimum spend for free delivery, but what the hell &#8211; we&#8217;ll give it to you anyway.&#8221; The sale goes through, users were pleased that you were nice to them, and they&#8217;re more inclined to come back next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/design/testing-for-the-users-experience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unsubscribe easily</title>
		<link>http://shahidhussain.com/design/unsubscribe-easily/</link>
		<comments>http://shahidhussain.com/design/unsubscribe-easily/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 11:01:46 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=673</guid>
		<description><![CDATA[I hit &#8220;unsubscribe&#8221;, only to see this: Worse: completing it doesn&#8217;t get you a confirmation that you&#8217;re unsubscribed, or even that they&#8217;ll think about. I wanted to write &#8220;you smell like a week old fish&#8221; in each of the confirmation &#8230; <a href="http://shahidhussain.com/design/unsubscribe-easily/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I hit &#8220;unsubscribe&#8221;, only to see this:</p>
<p><a href="http://shahidhussain.com/design/unsubscribe-easily/attachment/screen-shot-2011-09-08-at-11-32-44/" rel="attachment wp-att-674"><img src="http://shahidhussain.com/wp-content/uploads/2011/09/Screen-shot-2011-09-08-at-11.32.44-475x595.png" alt="" title="Screen shot 2011-09-08 at 11.32.44" width="475" height="595" class="alignnone size-large wp-image-674" /></a></p>
<p>Worse: completing it doesn&#8217;t get you a confirmation that you&#8217;re unsubscribed, or even that they&#8217;ll think about. I wanted to write &#8220;you smell like a week old fish&#8221; in each of the confirmation fields, but then I definitely <i>wouldn&#8217;t</i> be unsubscribed.</p>
<p><a href="http://www.alumni.ox.ac.uk/news_and_events/ebulletin/unsubscribe_from.html">Original site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/design/unsubscribe-easily/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft Word replacements</title>
		<link>http://shahidhussain.com/tech-industry/microsoft-word-replacements/</link>
		<comments>http://shahidhussain.com/tech-industry/microsoft-word-replacements/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 18:05:34 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Tech Industry]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=503</guid>
		<description><![CDATA[Microsoft Word is on the way out. I&#8217;ll explain. Every new tool for circulating information used a mental model similar to the previous one. Check it out: The typewriter was a replacement for writing. Both output to paper, but typing &#8230; <a href="http://shahidhussain.com/tech-industry/microsoft-word-replacements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://shahidhussain.com/tech-industry/microsoft-word-replacements/attachment/1308213414_docx_mac/" rel="attachment wp-att-524"><img src="http://shahidhussain.com/wp-content/uploads/2011/06/1308213414_docx_mac.png" alt="" title="1308213414_docx_mac" width="256" height="256" class="alignright size-full wp-image-524" /></a>Microsoft Word is <em>on the way out.</em> I&#8217;ll explain.</p>
<p>Every new tool for circulating information used a mental model similar to the previous one. Check it out:</p>
<ul>
<li>The typewriter was a replacement for writing. Both output to paper, but typing was neater. Memos were created and paper was pushed from desk to desk.</li>
<li>The original computer + printer combination was a replacement for the typewriter. Both created typeset neat text onto paper, but computers allowed you to save and recall files at will. People still used the &#8220;memo&#8221; template in Word.</li>
<li>Email took over from the internal memo. You had an inbox and outbox, same as the physical boxes that used to sit on a desk. Most people emailed a short note <em>and attached a Word file</em>, in the same way they would with real paper &#8211; a cover sheet plus a document.<sup><a href="http://shahidhussain.com/tech-industry/microsoft-word-replacements/#footnote_0_503" id="identifier_0_503" class="footnote-link footnote-identifier-link" title="In the mind of the user, the document attachment is where the information is. Ever seen emails where someone attached a screenshot that&amp;#8217;s contained in a Word document? That&amp;#8217;s this mental model in action.">1</a></sup></li>
</ul>
<p>For the non-dinosaurs amongst us, the paper model is obsolete, and we have a new mental model &#8211; the data was produced on a screen and will be consumed on a screen. Most people consume massive amounts of data from the web &#8211; that&#8217;s what we&#8217;re used to. By comparison, Microsoft Word is a poor tool for the job.</p>
<ul>
<li>It pointlessly splits up a document into pages.<sup><a href="http://shahidhussain.com/tech-industry/microsoft-word-replacements/#footnote_1_503" id="identifier_1_503" class="footnote-link footnote-identifier-link" title="It can however be useful as a reference, i.e. &amp;#8220;it&amp;#8217;s on page 4&amp;#8243;.">2</a></sup></li>
<li>It loads a document very slowly compared to a browser (which is probably already open.)</li>
<li>One can only consume information on computers with Word installed. Browsers are installed on almost every computer.</li>
<li>Smartphones are fairly bad at reflowing or even viewing text from a word document. However, they&#8217;re phenomenally good at doing this for a web page.</li>
<li>Extending a document with active elements (e.g. a stock quote) is unusual and hard, so Word documents are almost never used as an up-to-date reporting tool. On a web page it&#8217;s bread and butter.</li>
</ul>
<h2>A solution</h2>
<p>What will replace Word? I&#8217;d argue that <em>the wiki</em> is a natural successor &#8211; a collection of web pages (instead of documents) that can interlink easily and be read anywhere using the same technology we use to read everything else. </p>
<p>Why hasn&#8217;t it happened yet?</p>
<ul>
<li>Making a Word-like interface that creates documents is a hard problem &#8211; hard enough that noone has really solved it yet.<sup><a href="http://shahidhussain.com/tech-industry/microsoft-word-replacements/#footnote_2_503" id="identifier_2_503" class="footnote-link footnote-identifier-link" title="Solutions like CKeditor exist, but they don&amp;#8217;t work well enough. It looks lovely, but try living with it and you&amp;#8217;ll see where the paint comes off. The only consistently good editors are very basic, like the text editor built into Basecamp.">3</a></sup></li>
<li>It&#8217;s impossible to get off Word, because work gave you a copy, because you&#8217;re used to it, or because you&#8217;re expected to read / create .doc files.</li>
</ul>
<p>These problems won&#8217;t exist forever. We will get closer to solving the rich text web editor problem &#8211; it just needs to be good enough. We will have fewer people to send .doc files to, as products like Huddle and Basecamp become more popular. Most of all, the size of the opportunity provides massive incentive to anyone who can solve this problem.</p>
<ol class="footnotes"><li id="footnote_0_503" class="footnote">In the mind of the user, the document attachment is where the information is. Ever seen emails where someone attached a screenshot that&#8217;s contained in a Word document? That&#8217;s this mental model in action.</li><li id="footnote_1_503" class="footnote">It can however be useful as a reference, i.e. &#8220;it&#8217;s on page 4&#8243;.</li><li id="footnote_2_503" class="footnote">Solutions like <a href="http://ckeditor.com/demo">CKeditor</a> exist, but they don&#8217;t work well enough. It looks lovely, but try living with it and you&#8217;ll see where the paint comes off. The only consistently good editors are very basic, like the text editor built into Basecamp.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/tech-industry/microsoft-word-replacements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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>H-1B 221(g) Administrative Processing waiting times</title>
		<link>http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/</link>
		<comments>http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 11:11:53 +0000</pubDate>
		<dc:creator>Shahid</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[221g]]></category>
		<category><![CDATA[administrative processing]]></category>
		<category><![CDATA[h-1b]]></category>
		<category><![CDATA[h1b]]></category>
		<category><![CDATA[visa]]></category>

		<guid isPermaLink="false">http://shahidhussain.com/?p=397</guid>
		<description><![CDATA[I&#8217;ve just finished this process for an H-1B visa from the US Embassy in London. The H-1B was allocated from the lottery by USCIS, but following the interview at the embassy I was handed a 221(g) form giving me notice &#8230; <a href="http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/attachment/my-second-passport-stamp-image/" rel="attachment wp-att-430"><img src="http://shahidhussain.com/wp-content/uploads/2010/09/My-second-passport-stamp-Image-150x150.jpg" alt="" title="My second passport stamp Image" width="150" height="150" class="alignright size-thumbnail wp-image-430" /></a>I&#8217;ve just finished this process for an <a href="http://en.wikipedia.org/wiki/H-1B_visa">H-1B</a> visa from the US Embassy in London. The H-1B was allocated from the lottery by USCIS, but following the interview at the embassy I was handed a 221(g) form giving me notice of &#8220;administrative processing&#8221;. I&#8217;ve also previously been through this process for the F-1 student visa. For anyone else in this situation, this post should illustrate <em>some</em> of what&#8217;s going on and what you can expect.</p>
<h3>WTH is going on?</h3>
<p>Administrative processing is a massively vague term. What&#8217;s actually happening is that the Embassy is doing a background check on you. They don&#8217;t do it themselves &#8211; instead, they package your information and send it off to the FBI and other agencies, who are actually doing the checks.</p>
<h3>How long should I expect to actually wait?</h3>
<p>I waited 32 days for processing of my F-1. I waited 4-5 months for processing of my H-1B.</p>
<p>The London Embassy helpfully publishes the status of your application <a href="http://london.usembassy.gov/administrative_processing.html">on their website</a>. Even better &#8211; they don&#8217;t just publish yours, but everyone else&#8217;s information as well. So, I did some quick analysis on this data.</p>
<p>For everyone who&#8217;s still waiting (i.e. status = pending), here&#8217;s a frequency graph of waiting times.</p>
<p><a href="http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/attachment/screen-shot-2010-09-16-at-12-34-35-pm/" rel="attachment wp-att-405"><img src="http://shahidhussain.com/wp-content/uploads/2010/09/Screen-shot-2010-09-16-at-12.34.35-PM-475x299.png" alt="H-1B waiting times" title="H-1B waiting times" width="475" height="299" class="alignnone size-large wp-image-405" /></a></p>
<p><em>(This analysis is based on data from 09.00hrs on 14th Sept 2010.)</em></p>
<p>This means that, for example, about 52% of people who are waiting have been waiting more than 90 days. If the speed of processing at the Embassy isn&#8217;t changing over time, this means that your chances of hearing something before 90 days is about one in two.</p>
<p>I&#8217;ve also heard that the 90 day mark is used as an internal check, i.e. the embassy themselves will start chasing various agencies for the results of your check around this time. I&#8217;d expect to see an inflexion point in the chart if this was the case, but the data doesn&#8217;t seem to bear this out.</p>
<h3>Is there anything I can do in the meanwhile?</h3>
<p>If you want to speed it up, to the best of my knowledge there is precisely bugger all that you can do. To quote the London embassy:</p>
<blockquote><p>Please do not contact the Embassy while your application is being processed as we will not be able to assist you.</p></blockquote>
<p>You can only do two thing that will yield you information for sure:</p>
<ul>
<li>Obsessively check your email</li>
<li>Check <a href="http://london.usembassy.gov/administrative_processing.html">the website</a> if you&#8217;re applying through the London embassy</li>
</ul>
<p>For some people (including me) that&#8217;s just not enough, and there is other stuff to do, but it&#8217;s all just a shot in the dark rather than anything definite. In each case, I&#8217;ll include what I did and whether it helped (spoiler: nothing helped for sure).</p>
<p><strong>Your senator.</strong> Although this might seem strange to us Brits, you can contact your local senator for assistance. This is probably the most concrete and useful step here. Unsurprisingly, your senator isn&#8217;t required to assist you in any way, but you can ask. In my case, we contacted <a href="http://feinstein.senate.gov/public/index.cfm?FuseAction=ServicesForCalifornians.Casework">Senator Dianne Feinstein&#8217;s office</a>. The money quote:</p>
<blockquote><p>My staff will be happy to assist you in following up on the status of your pending name check if your case has been pending with the FBI for at least one year.</p></blockquote>
<p>Our company lawyer drafted a letter to a contact of his in Feinstein&#8217;s office. This is one of the advantages of *having* a lawyer, although it&#8217;s certainly no guarantee. We did get a reply back, but by that time the case was already completed.</p>
<p><strong>State department.</strong> You can contact the state department directly to find out what the heck is going on. There is a direct number floating around, which I won&#8217;t include for fear of inundating the polite chap I spoke to, but it&#8217;s around. I did this, and was told that my application was still pending processing (not exactly a revelation). However, they were able to look up my case, so I did now know it had actually made it out of the embassy.</p>
<p><strong>Personal network.</strong> If you&#8217;ve lived in the states for a while, you may know people who can find something out for you. It turned out that I had an acquaintance at the DOJ, a friend whose colleagues knew some politicians, and a colleague whose wife&#8217;s mum used to work for the state department. All of them were wonderful, sympathetic and tried to help by contacting people they knew who might know something. Although noone was able to dig up information specific to my case, I did get back some useful advice (which is now in this blog post).</p>
<p><strong>National Academies.</strong> You can fill in <a href="http://sites.nationalacademies.org/PGA/biso/visas/index.htm">a questionnaire</a>. I&#8217;m not sure if it helped, but I did get a followup automated email after I was approved to confirm that everything was received.</p>
<p><strong>The embassy themselves.</strong> The 221(g) plainly says that you can&#8217;t call the embassy for any information until 90 days are up. I called on the 91st day, but it was absolutely no help at all.</p>
<h3>Is there anything I can do to avoid this in the future?</h3>
<p>If you&#8217;re lucky enough to be reading ahead and you&#8217;re a few months before your potential 221(g), keep reading. If you&#8217;re in the US at the moment, I understand that it&#8217;s possible for you to <a href="http://travel.state.gov/travel/tips/emergencies/emergencies_1201.html">get a check run on yourself</a> before you head out. It will take about 3 months, and your local police department &#038; FBI can help you out with this. Once it&#8217;s done, administrative processing should go faster &#8211; plus, you can take the checking documentation to the visa interview and wave it at them to save everyone some time.</p>
<h3>What should I expect to see when it clears up?</h3>
<p>You should get an email, but it&#8217;s not guaranteed. I didn&#8217;t hear anything on phone or email once the processing had completed on the H-1B, but I did get an email for the F-1. Here&#8217;s the text of the email I received.</p>
<blockquote><p>Dear Mr $applicantName,</p>
<p>Please submit your passport.</p>
<p>You must resubmit your passport via the Embassy-appointed courier service, Special Mail Services (SMS). Once you are prepared to submit your passport for visa issuance please contact SMS by telephone on 0870-950-1760 to arrange pickup of your passport and delivery back to you upon issuance of your visa. The courier service will not have any information about your visa processing.</p>
<p>Important Notice: Your application will take between 15-20 workdays to process once it has been received by the Embassy. Once processing is complete, your passport will be handed to SMS. A further one to two days should be allowed for delivery.</p>
<p>The Embassy cannot expedite your application once it has been received. Please do not call the Operator Assisted Information Line or email us concerning the progress of your application unless more than two weeks has passed since SMS collected your documents, as we will not be able to provide you with any information.</p>
<p>We strongly advise that you do not purchase any tickets for travel to the United States or make irrevocable travel plans until after you have been issued a visa and your passport has been returned to you.</p>
<p>If your travel dates have passed, you must submit a new itinerary. If you are planning to travel for the same purpose at a later date, we may well be able to issue your visa, however, if your circumstances have changed, we will have to do further processing.</p></blockquote>
<h3>Summary</h3>
<p>Expect to wait. If it clears up quickly &#8211; thank your stars and head to the New World.</p>
<p>Please drop a note in the comments if this was useful or you have any other experiences that might help others.</p>
<p><strong>Updated:</strong> I added in some extra information as I learned more about the process. My H-1B has been issued and I&#8217;m now back in the states. Best of luck to everyone waiting.</p>
]]></content:encoded>
			<wfw:commentRss>http://shahidhussain.com/me/h-1b-221g-administrative-processing-waiting-times/feed/</wfw:commentRss>
		<slash:comments>57</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>
	</channel>
</rss>

