<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ian Chan&#039;s Blog</title>
	<atom:link href="http://chanian.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chanian.com</link>
	<description>Ian on movies, software, ux and everything else</description>
	<lastBuildDate>Tue, 14 May 2013 09:05:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chanian.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ian Chan&#039;s Blog</title>
		<link>http://chanian.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chanian.com/osd.xml" title="Ian Chan&#039;s Blog" />
	<atom:link rel='hub' href='http://chanian.com/?pushpress=hub'/>
		<item>
		<title>The Founder, The Product Manager and The Master Chef</title>
		<link>http://chanian.com/2013/03/19/the-founder-the-product-manager-and-the-master-chef/</link>
		<comments>http://chanian.com/2013/03/19/the-founder-the-product-manager-and-the-master-chef/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 18:55:12 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[food]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[founder]]></category>
		<category><![CDATA[product manager]]></category>
		<category><![CDATA[restaurants]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=1144</guid>
		<description><![CDATA[Looking beyond Silicon Valley for product leadership, vision and inspiration Never have I seen a product mind in motion so interestingly captured than in the 2011 documentary &#8220;El Bulli: Cooking In Progress&#8221;. The film, about one of the most decadent, highly rated and progressive restaurants in the world, featured world famous chef Ferran Adrià. Leading [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1144&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p dir="ltr"><a href="http://chanian2.files.wordpress.com/2013/03/ferran.jpg"><img class="alignnone size-large wp-image-1145" alt="ferran" src="http://chanian2.files.wordpress.com/2013/03/ferran.jpg?w=460&#038;h=306" width="460" height="306" /></a></p>
<p dir="ltr"><em>Looking beyond Silicon Valley for product leadership, vision and inspiration</em></p>
<p dir="ltr">Never have I seen a product mind in motion so interestingly captured than in the 2011 documentary &#8220;El Bulli: Cooking In Progress&#8221;. The film, about one of the most decadent, highly rated and progressive restaurants in the world, featured world famous chef Ferran Adrià. Leading a world class team of chefs and service, Adrià is portrayed as a detail obsessed leader searching for the impossible &#8211; perfection.</p>
<p>A team &#8220;standup&#8221; is depicted, where each member of the large group described their name, specialized role, and by the request of Ferran, their previous employer. A young woman casually announces her name, and that she previously worked for Jose Andres, another world famous molecular gastronomy chef and former student of Adrià. The pedigree and composition of his staff was not too different from the waves of ex-Facebook and ex-Googlers in the Valley who gather and successfully form new ventures.</p>
<p dir="ltr">Ferran embodied a very polarized depiction of the characteristics I’ve seen in founders and product managers during my admittedly short ~10 year career writing software. He was a leader, he was a visionary, and he inspired his team to build. He obsessed with detail, process and documentation. This obsession was highlighted in a scene where a damaged hard drive lost a week&#8217;s worth of food experimentation data, he (like any good data informed PM) was furious.</p>
<p>He encouraged and innovated directly through experimentation. He tasted and tested constantly. He obsessed about both the macro details (the flow, the entire meal, the timing, [the user experience]) as well as the micro (the physical plates, the garnish, the exact amounts of flavoring down to the crystal of salt, [the pixel level detail]).</p>
<p>He insisted that new menu items would only be served to tables of two, and then slowly integrated into the main menu once they’d iterated, verified and truly perfected the dish. This part of his process really stood out to me because this controlled release process is no different than how we release new features at Twitter. While this might be a very standard and obvious process in the culinary industry, I was surprised and impressed with this strategy.</p>
<p dir="ltr">But Ferran also ruled with an iron fist. He had very little patience for failure. He was seemingly short tempered, impatient and stubborn. These characteristics reminded me of the description given by food critic Masuhiro Yamamato of Master Sushi chef Jiro Ono. A strange cocktail of otherwise negative characteristics that result in a close to perfect product. And while I’ve commented before about how the film Jiro Dreams of Sushi was more about engineering diligence, El Bulli was about the audacity to reach product perfection.</p>
<p dir="ltr">To be clear, Adrià’s impatience was only for sub-par quality, rather than an expectation for instant satisfaction. He electively closed his $350/person restaurant for 6 months of the year to spend time researching and creating his unique menus. He would, however, scoff and raise a fit when served a food sample from his staff that was not to his liking.</p>
<p>The “climax”, so to speak, of the film draws to a conclusion with Ferran sitting alone in the restaurants’ kitchen. Though surrounded by his 40 staff members and a full restaurant of satisfied customers, he might as well have been on the moon, alone with his thoughts. His unheard, yet likely inner monolog being: “It is not good enough, I can’t serve this to my customers”, the irony of course being that it was a 3 Michelin starred restaurant at the time. Omitted from the film was the unfortunate reality that such a strict disciplined approach was not sustainable. El Bulli sadly closed shortly before the film was released due to financial stress the process and 40+ staff likely put on the restaurant. This unfortunate fate, however, came only after Adrià successfully ran the restaurant for 24 years, whilst topping the lists ranking as the best restaurant in the world. The following observed qualities lead him to success, and perhaps the last one to his demise.</p>
<ul>
<li>
<p dir="ltr">complete respect for quality</p>
</li>
<li>
<p dir="ltr">intolerance of the mediocre</p>
</li>
<li>
<p dir="ltr">inspired, and lead fearlessly</p>
</li>
<li>
<p dir="ltr">relentless experimentation and iteration</p>
</li>
<li>
<p dir="ltr">total willingness to reinvent</p>
</li>
<li>
<p dir="ltr"><em><strong>obsession with perfection</strong></em></p>
</li>
</ul>
<p>Maybe creating software has no comparisons to a world class Michelin rated restaurant. But as a food lover, and also software engineer, I’d like to romanticise and draw parallels between the two. Regardless, there are many lessons to be learned from observing Mr. Adrià’s legacy in motion. Perhaps we don’t all need to have an obsessive quest for perfection, but then again, if we aren’t serving out our absolute best dish, what is the point?</p>
<p>[photo credits: <a href="http://vcrown.com/">http://vcrown.com/</a>]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/1144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/1144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1144&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2013/03/19/the-founder-the-product-manager-and-the-master-chef/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2013/03/ferran.jpg?w=460" medium="image">
			<media:title type="html">ferran</media:title>
		</media:content>
	</item>
		<item>
		<title>Online Identity</title>
		<link>http://chanian.com/2012/07/20/online-identity/</link>
		<comments>http://chanian.com/2012/07/20/online-identity/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 17:35:04 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=1100</guid>
		<description><![CDATA[And you somehow never bothered to change it? — Christy Lee, The Social Network An observation (brought to my attention by @dozba): If you were one of the most powerful+influential figures in the tech world, and one day landed a sweet new job, how would you let the world know? People keep up to date what [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1100&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<blockquote>
<p style="text-align:left;"><strong>And you somehow never bothered to change it?</strong><br />
— Christy Lee, The Social Network</p>
</blockquote>
<p>An observation (brought to my attention by <a href="https://twitter.com/dozba/status/226095471230324736">@dozba</a>): If you were one of the most powerful+influential figures in the tech world, and one day landed a sweet new job, how would you let the world know? People keep up to date what they believe and feel is the most important. I&#8217;d say that being the CEO of one of the biggest tech companies in the world is pretty darned important.</p>
<p>We ♥ you too Marissa, best of luck with the new gig!</p>
<p><img class="size-full wp-image-1103 alignnone" title="twitter" src="http://chanian2.files.wordpress.com/2012/07/twitter.png?w=460&#038;h=127" alt="" width="460" height="127" /></p>
<p><strong>And the runner ups&#8230;</strong><br />
[LinkedIn, Facebook and.... Google+]</p>
<p><img class="size-full wp-image-1104 alignnone" title="linkedin" src="http://chanian2.files.wordpress.com/2012/07/linkedin.png?w=460" alt=""   /></p>
<p><img class="size-full wp-image-1102 alignnone" title="facebook" src="http://chanian2.files.wordpress.com/2012/07/facebook.png?w=460" alt=""   /></p>
<p><img class=" wp-image-1101 alignnone" title="google_plus" src="http://chanian2.files.wordpress.com/2012/07/google_plus.png?w=209&#038;h=279" alt="" width="209" height="279" /></p>
<p>[screenshots as of July 20, 2012]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/1100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/1100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1100&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2012/07/20/online-identity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2012/07/twitter.png" medium="image">
			<media:title type="html">twitter</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2012/07/linkedin.png" medium="image">
			<media:title type="html">linkedin</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2012/07/facebook.png" medium="image">
			<media:title type="html">facebook</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2012/07/google_plus.png" medium="image">
			<media:title type="html">google_plus</media:title>
		</media:content>
	</item>
		<item>
		<title>The Internet Is a Whole lotta C.R.U.D.</title>
		<link>http://chanian.com/2012/03/15/the-internet-is-a-whole-lotta-c-r-u-d/</link>
		<comments>http://chanian.com/2012/03/15/the-internet-is-a-whole-lotta-c-r-u-d/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 16:59:21 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=1056</guid>
		<description><![CDATA[The simplest design principles can go a long, long way. Start small, then grow from there. Let&#8217;s not over complicate things, or forget what we are really trying to build. I took a quick look at some of my favourite companies from around the web, and saw a whole lotta CRUD. Which is your favourite crud, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1056&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The simplest design principles can go a long, long way. Start small, then grow from there. Let&#8217;s not over complicate things, or forget what we are really trying to build. I took a quick look at some of my favourite companies from around the web, and saw a whole lotta <a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete">CRUD</a>.</p>
<p>Which is your favourite crud, which did I miss?</p>
<div id="attachment_1057" class="wp-caption aligncenter" style="width: 470px"><img class="size-full wp-image-1057  " title="crud" src="http://chanian2.files.wordpress.com/2012/03/crud.png?w=460&#038;h=1003" alt="" width="460" height="1003" /><p class="wp-caption-text">#HumbleBeginings</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/1056/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=1056&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2012/03/15/the-internet-is-a-whole-lotta-c-r-u-d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2012/03/crud.png" medium="image">
			<media:title type="html">crud</media:title>
		</media:content>
	</item>
		<item>
		<title>Google+ Circles: And The Inverted Personal Privacy Dilemma</title>
		<link>http://chanian.com/2011/07/25/google-circles-and-the-inverted-personal-privacy-dilemma/</link>
		<comments>http://chanian.com/2011/07/25/google-circles-and-the-inverted-personal-privacy-dilemma/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 13:05:58 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[rants]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[circles]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=933</guid>
		<description><![CDATA[tldr: Google+ introduces a new type of privacy problems which I can only describe as the inverted personal privacy dilemma. It is no longer an issue of &#8220;What I choose to share with Google and then what Google shows to others&#8221;, the issue is now: &#8220;What friends/complete strangers choose to share about me to Google, and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=933&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_1002" class="wp-caption alignnone" style="width: 460px"><img class="size-full wp-image-1002" title="circles" src="http://chanian2.files.wordpress.com/2011/07/circles1.png?w=460" alt=""   /><p class="wp-caption-text">What circles do you think you have been added to?</p></div>
<p><strong>tldr:<br />
</strong>Google+ introduces a new type of privacy problems which I can only describe as the inverted personal privacy dilemma. It is no longer an issue of &#8220;What I choose to share with Google and then what Google shows to others&#8221;, the issue is now: &#8220;What friends/complete strangers choose to share about me to Google, and my inability to do anything about it&#8221;. The responsibility of maintaining my personal privacy has been partially removed from my hands, and placed in the hands of the people of internet.</p>
<p><strong>Thought experiment:<br />
</strong>Put 100 privacy aware/concerned people into a room. What would you suppose is the best way to create a global interest graph/taxonomy for this group of individuals? Algorithmically? Manually? First, ask them to fill out very basic personal information about themselves. We will probably have reasonable success. Next we ask them to fill in very specific personal information/categorizations about themselves. How do they react? Probably not as successful. Now ask the same group of people to write down and categorize the people around them, but remind them that their categorizations will remain secret. Each individual&#8217;s privacy has been maintained, and collectively we have created a very rich interest graph/taxonomy which is possibly far more accurate than any automated solution.</p>
<p><span id="more-933"></span></p>
<p>Doing this algorithmically is hard* [full stop]. The process of taking a very soft analog characteristic, and turning it into a digital signal can be very difficult to get perfectly. Humans are very good at doing this. This problem situation seems very familiar:</p>
<blockquote><p>Before people-tagging came out, I think most people would have said that the best way to figure out who&#8217;s in photos was to have some face-recognition algorithm. But it actually turns out that the best way is to just have people tagged.<br />
<strong>-Mark Zuckerberg</strong></p></blockquote>
<p><strong><br />
Background:<br />
</strong>As Google throws it&#8217;s hat into the social ring once again, we have all been treated to a very interesting and exciting new alternative on the web to social networking. I&#8217;ve read many very interesting opinions on the new product, some heavily praising, some really bashing it. I&#8217;ve resisted my natural urge to do an overview of the UI/general UX. I will not be doing a product or feature review. I will however look at some interesting privacy implications some of these new features/concepts this product has introduced.</p>
<p>Google&#8217;s famous mission statement: &#8220;organize the world&#8217;s information and make it universally accessible and useful&#8221; has lead to some of the most brilliant and amazing products I have ever used. Using my own mission statements, I see Google Search (organize the web) of course topping the list, their amazing Maps product (organize the physical world), GMail (organize my digital mail), Google Images (organize the web&#8217;s images) etc all as fantastic products. It became clear in the late 2000&#8242;s and now into 2011, that the social web and social networking was the next necessary territory grab online. Staying inline with Google&#8217;s motto, I personally see Google+ as: organize my social network, or perhaps organize the world&#8217;s content with social context for me, or maybe even: organize the people in the world.</p>
<p><strong>The Dilemma:</strong><br />
To me, Google may have accidentally introduced a new type of privacy issue, something I call the <strong>&#8220;inverted personal privacy dilemma&#8221;</strong>. I call it a dilemma because while I feel like my privacy is safe from others, I am essentially exposing information about other people without their knowledge. And I use the word inverted because to me, it seems opposite to all of the traditional privacy problems that exist on the web.</p>
<p>This is also a dilemma because I personally don&#8217;t like seeing myself comparable to an <a href="http://books.google.com/books?id=NLngYyWFl_YC&amp;lpg=PA296&amp;dq=avl%20trees%20CLRS&amp;pg=PA296#v=onepage&amp;q=fibonacci%20heap&amp;f=false">indexable book</a>, nor do I feel like I am <a href="http://maps.google.com/maps?q=Toronado&amp;hl=en&amp;ll=37.77253,-122.431211&amp;spn=0.00921,0.01929&amp;fb=1&amp;cid=0,0,14952440980636118476&amp;near=San+Francisco,+CA&amp;t=h&amp;z=16&amp;iwloc=A">a place on a map</a>. I&#8217;d hope that there is a human element that lets me be who I want to be, beyond any indexable attributes or properties. There is already a pretty large index of people on the web, it is called Facebook. I use it, and I provide as much information about myself that I feel comfortable with, and this is what it looks like for me:</p>
<p><img class="alignnone size-full wp-image-1003" style="border-color:black;border-style:solid;border-width:1px;" title="fb" src="http://chanian2.files.wordpress.com/2011/07/fb.png?w=460&#038;h=120" alt="" width="460" height="120" /></p>
<p>The information here was provided by me, and is essentially the most amount of information I&#8217;ve ever really been comfortable disclosing with people online. It is the sufficient snapshot of my life which made it easiest for my old friends/coworkers to find me if they chose to look. I personally don&#8217;t add anything else, although Facebook gives you the option to do so, and many do willingly. I don&#8217;t add music, movies, religion, favourite book, etc, although again, many people choose to do. And that is fine.</p>
<p><strong>Circles:</strong><br />
Interestingly enough, in addition to the basic personal information I&#8217;ve added, the Google+ circles metaphor allows a very similar view of my networks. My circles are explicitly created/labeled, private views of my social graph. This data certainly says something about me and my network from my perspective:</p>
<p><img class="alignnone size-full wp-image-940" title="Screen shot 2011-07-21 at 6.04.33 PM" src="http://chanian2.files.wordpress.com/2011/07/screen-shot-2011-07-21-at-6-04-33-pm.png?w=460&#038;h=105" alt="" width="460" height="105" /></p>
<p>Right now, I am notified when someone has added me to a circle, and I can choose to ignore it, or maybe add them to one of my circles. Fairly harmless. From the perspective of my Google+ account, this is a visualization of most of what Google knows about me based on what I have explicitly done on the site (circles/bio etc).</p>
<p><img class="alignnone size-full wp-image-947" title="inbound graph" src="http://chanian2.files.wordpress.com/2011/07/inbound-graph.png?w=460&#038;h=327" alt="" width="460" height="327" /></p>
<p>I have added my location to my profile, my alma mater and that I have previously lived in Toronto. Additionally, I have created circles for those properties which further re-enforces the data graph that these are true characteristics of the person Ian Chan. I have chosen explicitly to share this subset of information with the web, not too different than the minimal amount of info I have shared on my Facebook account.</p>
<p><strong>Inverting:</strong><br />
Now let&#8217;s invert this graph, or rather, lets visualize how other people on the internet have added me to their circles and what the implications are. It&#8217;s worth noting, a large portion of people who have added me to their circles are complete strangers:</p>
<p><img class="alignnone size-full wp-image-946" title="outbound graph" src="http://chanian2.files.wordpress.com/2011/07/outbound-graph.png?w=460&#038;h=313" alt="" width="460" height="313" /></p>
<p>Now due to the existing privacy constraints, I cannot actually see which circles I have been added to. This satisfies most people&#8217;s concerns about the circles metaphor. But it is easy to speculate how people may curate their graph. If one of the purposes of circles is to allow topic based feeds of data, and narrow cast content to these circles, the above graphic is fairly reasonable for me. At the bottom, I display the expected: Toronto, SF, UofT groups which compliment the same circles I have already created. Given the bi-directional (explicit outbound + implicit inbound) taxonomy group agreement, it is a fairly strong/confident signal about my personal characteristics. The more people who add me to their SF circle, likely the stronger that signal becomes. Javascript, UX, startups is another group of circles I can imagine myself being placed in. Since I often talk about these topics, and am active in each respective community, it would make sense for the industry connections I make to slot me into these bins.</p>
<p>The last property, Poker, is something that gets a bit more interesting. Yes, I know a lot of people through my hobby playing poker, and it is not unrealistic for one of my friends/acquaintances to add me to a poker circle. The action of them doing so creates a new edge on my implicit interest graph for which a data point now connects me with the  &#8221;poker&#8221; taxonomy entity. The more people who add me to a &#8220;Poker&#8221; (or similar) circle, the stronger that graph edge becomes in the global taxonomy. Now, I am pretty open about my poker hobby, but I wouldn&#8217;t explicitly add that as a hobby on Facebook;  Mostly because I don&#8217;t need advertisers knowing that &#8220;gambling&#8221; is an enjoyable pastime of mine. As I mentioned before, my Facebook interests are basically empty, and as a result, I rarely get ads targeted to me beyond the generic targeting for a &#8220;male in SF&#8221;.</p>
<p><strong>Implications:</strong><br />
Advertising and control. The prices for targeted, contextual ads are significantly higher than non-targeted ads. Facebook learned this a long time ago, especially in the social context. From the Facebook <a href="https://www.facebook.com/help/?faq=188888021162119">advertisement documentation</a>:</p>
<div>
<blockquote><p><strong>How are interests identified?</strong><br />
Interest targeting allows advertisers to target users based on information <span style="text-decoration:underline;">they’ve</span> provided in their profile. This includes listed likes and interests, the Pages <span style="text-decoration:underline;">they</span> like, apps <span style="text-decoration:underline;">they</span> use, and other profile content <span style="text-decoration:underline;">they’ve</span> provided.</p></blockquote>
</div>
<p>I like this (Facebook&#8217;s) model. It is within my control. Poker is obviously just an example here. I would not be devastated if I were targeted for a poker ad, but I might be a bit uncomfortable with it. But there are a lot of other characteristics about myself that I would not want to share with an ad targeting system. My religion, my political leanings, my ethnicity, etc are just a few characteristics that are all reasonable circles one may innocently add me to. And the current circles model allows essentially anyone to &#8220;tag&#8221; me with whatever they want, as a result, constructing an interest graph on my behalf.</p>
<p><strong>Advertising:</strong><br />
Google+ does not currently have display ads, which is very nice! However it is clear that their large app suite is pushing towards some kind of convergence, so there will be ample advertisement opportunities down the road. Could information/context provided by another person about me really find its way onto my screen? Lets try:</p>
<div id="attachment_978" class="wp-caption alignnone" style="width: 470px"><img class="size-full wp-image-978" title="gmail-advert" src="http://chanian2.files.wordpress.com/2011/07/gmail-advert.png?w=460&#038;h=291" alt="" width="460" height="291" /><p class="wp-caption-text">Unfortunately, most recruiting emails I get are not too far off from this spoof</p></div>
<p>I sent an email to myself as Joe Co-Founder who was looking for a Rockstar Ruby Developer. I did not choose to get this email, though I did choose to open it. And (as expected), the adverts are all tailored to the context of the email. This is good advertising, this is targeted advertising, and this is only the beginning.</p>
<p><strong>Choice:<br />
</strong>Choice is always nice. Currently in my bio, I can choose to omit certain bits of data that I feel are too personal. On Facebook, if I had chosen to not associate myself with my high school in Toronto, I would simply remove it from my personal information. With that one simple choice/action, it would eliminate any explicit way of connecting me to the school I went to before University. On Google+, I am almost certain that people have started to add me to the &#8220;Northern Secondary High&#8221; circle, because that makes perfect sense, because that is exactly what circles were designed for. I have no choice in the matter, I have been labeled. I can choose to not use Google+ of course, but I enjoy using Google products. I could choose to not use circles at all, but the current UX requires me to put everyone into at least one circle.</p>
<p><strong>Parallels:<br />
</strong>Some have described &#8220;Circles&#8221; as being analogous to Facebook lists, for which I would disagree. While the concept is similar, the privacy model (in the context of this article) is very different. I can only add people who are my friends to lists. People can only be my friend if either they or I have permitted the connection. Therefore, the people that may be adding me to lists are within my accepted/trusted circle. Some have also drawn parallels between circles and Twitter lists. Again there are differences. While the asymmetric nature of the following graph is similar to Google circles (anyone can add me to a list), the difference is that these lists are all public to me.</p>
<div id="attachment_974" class="wp-caption alignnone" style="width: 470px"><img class="size-full wp-image-974" title="twitter-lists" src="http://chanian2.files.wordpress.com/2011/07/twitter-lists.png?w=460&#038;h=410" alt="" width="460" height="410" /><p class="wp-caption-text">Lists I have been added to. Lists created by people I know/people I don&#039;t know...</p></div>
<p>I&#8217;ve been added to ~100 or so lists, and I can check them out and see what people have identified me as. Nothing too surprising, but the information is all there. If I found a list I did not like being in, I could <a href="https://support.twitter.com/articles/76460-how-to-use-twitter-lists">simply remove myself from said list</a>*.</p>
<p>To me, Circles are not like either Facebook/Twitter lists. I see closer parallels in other places on the web:</p>
<div id="attachment_983" class="wp-caption alignnone" style="width: 470px"><img class="size-full wp-image-983" title="delicious" src="http://chanian2.files.wordpress.com/2011/07/delicious.png?w=460&#038;h=74" alt="" width="460" height="74" /><p class="wp-caption-text">delicious.com: tags associated with a specific bookmarked url</p></div>
<div id="attachment_984" class="wp-caption alignnone" style="width: 202px"><img class="size-full wp-image-984" title="stackoverflow" src="http://chanian2.files.wordpress.com/2011/07/stackoverflow.png?w=460" alt=""   /><p class="wp-caption-text">stackoverflow.com: Tags associated with a specific question</p></div>
<p>This &#8220;tagging&#8221; model is much closer to circles in my opinion than anything else I&#8217;ve seen on the web. And as I said before, it feels weird being tagged/indexed like a book, a question, a url, especially when I have no control over it.</p>
<p><strong>&#8220;Ian, you are a rambling lunatic&#8230;..&#8221;<br />
</strong>I&#8217;ve chosen to *really* nitpick a single feature. I really don&#8217;t think there is some super secret master plan here. The purpose of this entire post is to just be a talking point about privacy, the social web and ad targeting in general. I think that Google+ is great. I really find the circle metaphor an interesting approach and concept. I do not believe that they built it as some kind of secret way of mining data about people, and truly hold the opinion that it was designed to empower users. However I acknowledge that creating a rich, strong taxonomy/database of people and characteristics would be incredibly hard to do purely automated. <strong>I kind of feel like the cirlces metaphor is the greatest <a href="http://en.wikipedia.org/wiki/Amazon_Mechanical_Turk">Mechanical Turk</a> task ever created which is organizing and labeling the people of the world</strong>. What circles do you think you have been added to? If you decide to add me to a circle, maybe just add me to your &#8220;following&#8221; circle. And while your at it, you might as well just follow me on Twitter, I&#8217;ll probably follow you back&#8230;.</p>
<blockquote class='twitter-tweet'><p>Organizing the world&#039;s information, one circle at a time&#8230;&mdash; <br />Ian Chan (@chanian) <a href='http://twitter.com/#!/chanian/status/94105405768212480' data-datetime='2011-07-21T18:04:11+00:00'>July 21, 2011</a></p></blockquote>
<p><strong>Editor&#8217;s note:</strong> This is obviously an expression of my own opinions and not my employer. While my employer is publicly being considered a competitor to G+, I would hold the same thoughts and unbiased opinion regardless of where I worked. Also, thanks to <a href="http://twitter.com/michaelcvet" target="_blank">@michaelcvet</a> for the feedback and revisions on this post.</p>
<p>[*] On the difficulty of automation: If you disagree, stop reading my blog, make the product and make millions!</p>
<p>[**] On Twitter lists: I acknowledge that there are some complications with private users/lists, but that is far from the average use case.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/933/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/933/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=933&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2011/07/25/google-circles-and-the-inverted-personal-privacy-dilemma/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/circles1.png" medium="image">
			<media:title type="html">circles</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/fb.png" medium="image">
			<media:title type="html">fb</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/screen-shot-2011-07-21-at-6-04-33-pm.png" medium="image">
			<media:title type="html">Screen shot 2011-07-21 at 6.04.33 PM</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/inbound-graph.png" medium="image">
			<media:title type="html">inbound graph</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/outbound-graph.png" medium="image">
			<media:title type="html">outbound graph</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/gmail-advert.png" medium="image">
			<media:title type="html">gmail-advert</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/twitter-lists.png" medium="image">
			<media:title type="html">twitter-lists</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/delicious.png" medium="image">
			<media:title type="html">delicious</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/07/stackoverflow.png" medium="image">
			<media:title type="html">stackoverflow</media:title>
		</media:content>
	</item>
		<item>
		<title>72 Hours In Photos: A tech geek wandering San Francisco</title>
		<link>http://chanian.com/2011/06/13/72-hours-in-photos/</link>
		<comments>http://chanian.com/2011/06/13/72-hours-in-photos/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 05:37:46 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[panoramic]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=886</guid>
		<description><![CDATA[I&#8217;ve been experimenting recently with a bunch of cool photosharing apps on my iPhone including: Path, With, Twitter, Facebook, Denwen, Color, Dailybooth&#8230; (takes breath). As much as I enjoy each one in their own unique way, none of them (yet) are able to capture the true feeling or ambiance of a particular situation, though Path [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=886&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg"><img class="size-full wp-image-895 alignnone" title="dolores park" src="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg?w=460" alt=""   /></a></p>
<p>I&#8217;ve been experimenting recently with a bunch of cool photosharing apps on my iPhone including: <a href="http://itunes.apple.com/us/app/path/id403639508?mt=8">Path</a>, <a href="http://itunes.apple.com/us/app/with/id441021892?mt=8">With</a>, <a href="http://itunes.apple.com/us/app/twitter/id333903271?mt=8">Twitter</a>, <a href="http://itunes.apple.com/us/app/facebook/id284882215?mt=8">Facebook</a>, <a href="http://itunes.apple.com/us/app/denwen/id402894268?mt=8">Denwen</a>, <a href="http://itunes.apple.com/us/app/color/id427763573?mt=8">Color</a>, <a href="http://itunes.apple.com/us/app/dailybooth/id381470756?mt=8">Dailybooth</a>&#8230; (takes breath). As much as I enjoy each one in their own unique way, none of them (yet) are able to capture the true feeling or ambiance of a particular situation, though Path is probably the closest. To be fair, most of these apps were not designed to do such. I&#8217;ve always found that regular photos (camera phone for instance) can decently capture a moment, but they often come off as rather 1-dimensional (figuratively speaking). So as an experiment, I documented ~72hours of my life by taking panoramic photos along the way. Below are shots of where I found myself wandering to over the last 3 days. For me, these wider photos do justice to some of the lovely views I get to see on a daily basis.</p>
<p>I am not a photographer, these are far from perfect, but I think they do a great job of giving the viewer a sense of where I was and what I experiencing. I recall reading that the switch for TV&#8217;s from 4:3 to 16:9 ratio was to make a more natural aspect ratio for the human eye. Well, even at 16:9 (which might approximate my eye&#8217;s static view), I often tend to move my head left/right, so hopefully these wide/POV shots are more emmersive. Lastly, I have to tip my hat to the team who made <a href="http://itunes.apple.com/us/app/pano/id293709029?mt=8">PanoApp</a>, a great $2 iPhone app that does all the stitching work for you. Go download it and post stuff.</p>
<p>Anyway, here is 72 hours exploring in SF. This is not realtime, this is not broad casted/narrow casted, this is not person tagged nor is it geo tagged. Just some simple photos I thought some people might enjoy.</p>
<div id="attachment_887" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/twitter-desk.jpg"><img class="size-full wp-image-887 " title="twitter desk" src="http://chanian2.files.wordpress.com/2011/06/twitter-desk.jpg?w=460" alt=""   /></a><p class="wp-caption-text">SOMA: The view from my desk at work, I have never used the monitor on the right</p></div>
<div id="attachment_888" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/twitter-teatime.jpg"><img class="size-full wp-image-888" title="twitter teatime" src="http://chanian2.files.wordpress.com/2011/06/twitter-teatime.jpg?w=460" alt=""   /></a><p class="wp-caption-text">SOMA: Every Friday at TwitterHQ, teatime with drinks, live music and serious QA... I&#039;m holding 2 beers.</p></div>
<div id="attachment_889" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/soma.jpg"><img class="size-full wp-image-889" title="soma" src="http://chanian2.files.wordpress.com/2011/06/soma.jpg?w=460" alt=""   /></a><p class="wp-caption-text">SOMA: Walking over Howard St on the Yerba Buena bridge. I&#039;m listening to Metric.</p></div>
<div id="attachment_904" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/poker1.jpg"><img class="size-full wp-image-904" title="poker" src="http://chanian2.files.wordpress.com/2011/06/poker1.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Embarcadero: My Thursday poker game with some of the nicest guys in town, though I&#039;m about to lose a big pot</p></div>
<div id="attachment_891" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/powell-station.jpg"><img class="size-full wp-image-891" title="powell station" src="http://chanian2.files.wordpress.com/2011/06/powell-station.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Union Square: The Powell BART station, heading out for food. I&#039;m craving Chinese food</p></div>
<div id="attachment_917" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/alan.jpg"><img class="size-full wp-image-917    " title="alan" src="http://chanian2.files.wordpress.com/2011/06/alan.jpg?w=460" alt=""   /></a><p class="wp-caption-text">SOMA: Chatting with my coworker @alan about my panorama experiment. The pano is so meta.</p></div>
<div id="attachment_892" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/nobhill.jpg"><img class="size-full wp-image-892" title="nobhill" src="http://chanian2.files.wordpress.com/2011/06/nobhill.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Nob Hill: The top of the hill, just a few blocks from my apartment. Choice: Russian Hill ahead, China town the the right</p></div>
<div id="attachment_893" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/russionhill.jpg"><img class="size-full wp-image-893" title="russionhill" src="http://chanian2.files.wordpress.com/2011/06/russionhill.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Russian Hill: One of the steepest/funniest hills in the city. I&#039;m thinking about tipping a car over (Broadway/Jones)</p></div>
<div id="attachment_894" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/russianhill2.jpg"><img class="size-full wp-image-894" title="russianhill2" src="http://chanian2.files.wordpress.com/2011/06/russianhill2.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Russian Hill: Relaxing at one of my favorite &quot;hidden&quot; spots in the city. A random dog sits down beside me to enjoy the view</p></div>
<div id="attachment_895" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg"><img class="size-full wp-image-895" title="dolores park" src="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Dolores Park: Tons of people enjoying the nice weather. I&#039;m wearing my pink sunglasses to fit in</p></div>
<div id="attachment_896" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/thesummit.jpg"><img class="size-full wp-image-896" title="thesummit" src="http://chanian2.files.wordpress.com/2011/06/thesummit.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Mission: The Summit cafe, a new but prototypical cool/geeky tech hangout with great coffee. I&#039;m holding a fancy Cappuccino</p></div>
<div id="attachment_897" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/marina.jpg"><img class="size-full wp-image-897" title="marina" src="http://chanian2.files.wordpress.com/2011/06/marina.jpg?w=460" alt=""   /></a><p class="wp-caption-text">The Marina: You can see the Golden Gate to the left, and Alcatraz to the right. It is really windy</p></div>
<div id="attachment_898" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/cable-car.jpg"><img class="size-full wp-image-898" title="cable car" src="http://chanian2.files.wordpress.com/2011/06/cable-car.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Union Square: Tons of tourists lining up for the Cable Car and enjoying some local street performers</p></div>
<div id="attachment_899" class="wp-caption alignnone" style="width: 730px"><a href="http://chanian2.files.wordpress.com/2011/06/16th-station.jpg"><img class="size-full wp-image-899" title="16th station" src="http://chanian2.files.wordpress.com/2011/06/16th-station.jpg?w=460" alt=""   /></a><p class="wp-caption-text">Mission: 16th St. BART, a shot of me going home after a long day of wandering.  photo by @moizsyed</p></div>
<p>We see thousands if not millions of moments just like these on a day to day basis. Hopefully I&#8217;ll remember to stop and capture a few of them for me to revisit and share in the future. On a closing note:</p>
<blockquote class='twitter-tweet'><p>I think Im developing an unhealthy obsession with taking panoramic photos&#8230;&mdash; <br />Ian Chan (@chanian) <a href='http://twitter.com/#!/chanian/status/79758339910807552' data-datetime='2011-06-12T03:54:04+00:00'>June 12, 2011</a></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/886/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=886&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2011/06/13/72-hours-in-photos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg" medium="image">
			<media:title type="html">dolores park</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/twitter-desk.jpg" medium="image">
			<media:title type="html">twitter desk</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/twitter-teatime.jpg" medium="image">
			<media:title type="html">twitter teatime</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/soma.jpg" medium="image">
			<media:title type="html">soma</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/poker1.jpg" medium="image">
			<media:title type="html">poker</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/powell-station.jpg" medium="image">
			<media:title type="html">powell station</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/alan.jpg" medium="image">
			<media:title type="html">alan</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/nobhill.jpg" medium="image">
			<media:title type="html">nobhill</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/russionhill.jpg" medium="image">
			<media:title type="html">russionhill</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/russianhill2.jpg" medium="image">
			<media:title type="html">russianhill2</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/dolores-park.jpg" medium="image">
			<media:title type="html">dolores park</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/thesummit.jpg" medium="image">
			<media:title type="html">thesummit</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/marina.jpg" medium="image">
			<media:title type="html">marina</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/cable-car.jpg" medium="image">
			<media:title type="html">cable car</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/06/16th-station.jpg" medium="image">
			<media:title type="html">16th station</media:title>
		</media:content>
	</item>
		<item>
		<title>Managing QUnit Test Suites with Async Module Dependencies</title>
		<link>http://chanian.com/2011/05/10/managing-qunit-test-suites-with-async-module-dependencies/</link>
		<comments>http://chanian.com/2011/05/10/managing-qunit-test-suites-with-async-module-dependencies/#comments</comments>
		<pubDate>Tue, 10 May 2011 06:58:27 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[loadrunner.js]]></category>
		<category><![CDATA[qunit]]></category>
		<category><![CDATA[require.js]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=793</guid>
		<description><![CDATA[I&#8217;ve recently spent quite a bit of time working with QUnit, a great unit testing framework for Javascript. While building out a larger test suite, I ran into a few issues, especially while testing/working with dependency managers and the QUnit test framework. In this post I&#8217;ll document some of the issues I ran into, some [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=793&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve recently spent quite a bit of time working with <a href="http://docs.jquery.com/Qunit">QUnit</a>, a great unit testing framework for Javascript. While building out a larger test suite, I ran into a few issues, especially while testing/working with dependency managers and the QUnit test framework. In this post I&#8217;ll document some of the issues I ran into, some patterns I started using, and a few tricks I used to ensure consistent and reliable test results. The main issues I ran into were caused by the fact that I was testing modules that were being loaded asynchronously. This meant that in some cases QUnit would miss tests, misplace module labels, and/or report false positives. Now when I mention async here, it is not to be confused with QUnit&#8217;s native support for asyncTests.</p>
<p><strong>Problem #1: QUnit.done misfiring</strong></p>
<pre class="brush: jscript; highlight: [4,9]; title: ; notranslate">
QUnit.done = function(qunitReport) {
  console.log('Done!');
};
setTimeout(function() {
  test(&quot;helloworld&quot;, function() {
    expect( 1 );
    ok(true);
  });
}, 100);
</pre>
<p><span id="more-793"></span></p>
<p>The timeout here simulates the delay that an asynchronous dependency might create when QUnit loads up all the tests. In the above example, the QUnit.done event will get called several times (<a href="https://github.com/jquery/qunit/issues/53">a similar report was addressed here</a>, but I am still seeing the issue). This can be particularly problematic if you are using a test runner to automate your QUnit test suite, and are waiting on this event to complete your suite.</p>
<p><strong>Problem #2: Missing/Empty test cases</strong></p>
<pre class="brush: jscript; highlight: [8,9,10]; title: ; notranslate">
window.setTimeout(function() {
  asyncTest('test1', function() {
    expect(1);
    ok(true);
    start();
  });
  test('test2 - Something has gone horribly wrong!!', function() {
    expect(100);
    console.log(&quot;Yes this test run&quot;);
    ok(false);
  });
  test('test3', function() {
    expect(1);
    ok(true);
  });
}, 150);
</pre>
<p>In this example, the second test (or actually any test between the first and last) will be listed, run, but the results of the test will be ignored. This can be particularly dangerous since they will be visually reported as passed (yet empty) tests, and the QUnit.done results object will not show any errors. In this situation, it seems like QUnit collects the list of tests, but during the execution of the individual tests, something goes wrong.</p>
<div id="attachment_808" class="wp-caption alignnone" style="width: 470px"><img class="size-full wp-image-808" title="Screen shot 2011-05-06 at 3.58.32 PM" src="http://chanian2.files.wordpress.com/2011/05/screen-shot-2011-05-06-at-3-58-32-pm.png?w=460&#038;h=283" alt="" width="460" height="283" /><p class="wp-caption-text">Note that the 2nd test has 0 reported asserts, even though the test itself was actually run.</p></div>
<p>Timeouts (independent of actual asyncTests)/asynchronous behavior tends to throw the test runner off. Since I was unit testing async modules and code that depended on these modules, this was a problem. What I needed was a way to ensure that the test suite was only run after every test was registered, and I could only register each test when I knew the dependencies they relied on were loaded themselves.</p>
<p><strong>Make each test a managed dependency:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
QUnit.config.autostart = false;
using('tests/suite1', function() {
    start();
});
</pre>
<p>For starters, we tell QUnit not to autostart. This will allow us to explicitly start the runner when we are certain the test environment is ready. We next re-write, then load in our test suite(s) as <a href="https://github.com/danwrong/loadrunner">loadrunner.js</a> dependencies, and once that is complete we are safe to begin. loadrunner.js will deal with all the sub-dependencies that may be required in &#8220;tests/test1&#8243;, and will also block until that test has explicitly reported that it is ready.</p>
<pre class="brush: jscript; highlight: [16]; title: ; notranslate">
provide('test/suite1', function(exports) {
  asyncTest('test1', function() {
    expect(1);
    ok(true);
    start();
  });
  test('test2 - Something has gone horribly wrong!!', function() {
    expect(100);
    console.log(&quot;Yes this test run&quot;);
    ok(false);
  });
  test('test3', function() {
    expect(1);
    ok(true);
  });
  exports();
});
</pre>
<p>And when this test suite is run, we see the expected failing test, and also a single done event fired. The screenshot below shows us the desired output, a big glaring warning telling us that something has gone wrong in our code!</p>
<div id="attachment_834" class="wp-caption alignnone" style="width: 470px"><img class="size-full wp-image-834" title="Screen shot 2011-05-09 at 10.38.16 PM" src="http://chanian2.files.wordpress.com/2011/05/screen-shot-2011-05-09-at-10-38-16-pm.png?w=460&#038;h=364" alt="" width="460" height="364" /><p class="wp-caption-text">I realize now that my choice of example makes this look bad, but we *want* to see this failing test. In this example I also brought back the QUnit.done, which now works.. a nice side effect.</p></div>
<p>I happened to use this technique (and solution) in loadrunner.js, because I was developing and testing loadrunner modules. You can find a similar solution if you are working with require.js <a href="http://forum.jquery.com/topic/are-qunit-and-requirejs-compatible">here from the QUnit boards</a>. I&#8217;ve put some additional code up on <a href="https://github.com/chanian/asyncqunit">Github here</a>, which runs through a few various test scenarios and how this pattern can be used to create relatively clean/readable test files. I&#8217;ve also included a test template for &#8220;async-safe&#8221; QUnit suites.</p>
<p>I personally felt that this syntax also reads much nicer once you start including 10&#8242;s if not hundreds of test files. loadrunner will also load regular javascript files in the same fashion so you can mix (if you know for certain that there will be no sync probs). I found that by treating each test file as a managed dependency, you get better testing isolation, less potential for test poison/side effects, and more control over your test context with very little footprint. Lastly, it allows us to avoid making everything an async test just because a specific test happens to load an async dependency (especially when we are unit testing functionality, not the ability to load things asynchronously).</p>
<p>Hope this helps out someone down the line! Test safely my friends!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/793/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=793&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2011/05/10/managing-qunit-test-suites-with-async-module-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/05/screen-shot-2011-05-06-at-3-58-32-pm.png" medium="image">
			<media:title type="html">Screen shot 2011-05-06 at 3.58.32 PM</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/05/screen-shot-2011-05-09-at-10-38-16-pm.png" medium="image">
			<media:title type="html">Screen shot 2011-05-09 at 10.38.16 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>InMaps: Automate Visualization of My LinkedIn Graph</title>
		<link>http://chanian.com/2011/01/25/inmaps-automate-visualization-of-my-linkedin-graph/</link>
		<comments>http://chanian.com/2011/01/25/inmaps-automate-visualization-of-my-linkedin-graph/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 10:09:51 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[inmaps]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[raphealjs]]></category>
		<category><![CDATA[seadragon]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=749</guid>
		<description><![CDATA[I am always interested in looking at large sets of data. Earlier today, LinkedIn released InMaps which provide a simple tool for visualizing one&#8217;s network on LinkedIn.  After a few seconds of processing, I was presented with this colorful and interactive visualization of the ~200 connections I have on LinkedIn. Now I don&#8217;t have quite [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=749&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://inmaps.linkedinlabs.com/share/Ian_Chan/78452979448300223244148323222387100003"><img class="alignnone size-full wp-image-750" src="http://chanian2.files.wordpress.com/2011/01/linkedin_viz.png?w=460&#038;h=397" alt="" width="460" height="397" /></a></p>
<p>I am always interested in looking at large sets of data. Earlier today, <a href="http://inmaps.linkedinlabs.com/network">LinkedIn released InMaps</a> which provide a simple tool for visualizing one&#8217;s network on LinkedIn.  After a few seconds of processing, I was presented with this colorful and interactive visualization of the ~200 connections I have on LinkedIn. Now I don&#8217;t have quite as many connections as others, but I was still very impressed with the powerful bits of information I was able to quickly get out of this graph. The plotting algorithm did a pretty good job, as I see 3 major clusters which are composed of my University of Toronto connections, the connections I made at my previous startup Thoora, and the connections I have made (mostly coworkers) since I moved to San Francisco for Twitter.</p>
<p><span id="more-749"></span></p>
<p>The legend for the clusters was manually added, and I am curious if LinkedIn is using that data for something other than just a label. Either way, a very impressive, free, quick view of what I can imagine must be a ton of data. I can only predict over time that orange ball will grow, and likely split into two clusters as I connect with more coworkers, and connect with more tech geeks in the city.</p>
<p>This tool and graph gives some insight into the power of the data and network information that LinkedIn is housing. I constantly tell my friends and coworkers about how there are many *hidden* values of LinkedIn for which I appreciate, this tool being one of them. Unlike my Facebook account, I am not terribly interested in the general day-to-day updates of my network, but much more interested in the network itself. Who do I know? who am I connect to? and who might find me because I am connected to someone else? I&#8217;d say that to me, Twitter is all about the sum/collection of the individual tweets. Facebook is about the sum of the individual micro-interactions, and LinkedIn is all about the strength, and the quality of the social graph itself. This tool helps reinforce my opinion that my LinkedIn graph is much stronger and stable than my ever growing graph on Facebook.</p>
<p>Some nice slick looking vector graphs backed by <a href="http://raphaeljs.com/">Rapheal.js</a> and smooth as butter zooming and panning powered by Microsoft&#8217;s <a href="http://www.seadragon.com/developer/ajax/getting-started/">Seadragon Ajax</a>. This reminds me that I need to: (a) Find a cool large public data set. (b) Visualize some data. Try it out for yourself <a href="http://inmaps.linkedinlabs.com/network">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/749/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=749&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2011/01/25/inmaps-automate-visualization-of-my-linkedin-graph/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2011/01/linkedin_viz.png" medium="image" />
	</item>
		<item>
		<title>What Would Turing Do?</title>
		<link>http://chanian.com/2010/11/28/what-would-turing-do/</link>
		<comments>http://chanian.com/2010/11/28/what-would-turing-do/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 08:05:42 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[alan turing]]></category>
		<category><![CDATA[drawing]]></category>
		<category><![CDATA[enigma]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=703</guid>
		<description><![CDATA[I recently received a Wacom tablet+stylus as a gift and could think of no one else to draw for my first sketch but Alan Turing. This is a 4 layer Photoshop trace atop a famous photo of one of my favorite historical scientists. I figured it could be a late tribute to one of the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=703&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-704" style="border:0 none;" title="turing1" src="http://chanian2.files.wordpress.com/2010/11/turing1.png?w=460" alt=""   /></p>
<p>I recently received a Wacom tablet+stylus as a gift and could think of no one else to draw for my first sketch but Alan Turing. This is a 4 layer Photoshop trace atop a famous photo of one of my favorite historical scientists. I figured it could be a late tribute to one of the guys who started it all. On this day (November 28) in 1942, Alan Turing was <a href="http://www.turing.org.uk/sources/washington.html">sending a report</a> from Washington, D.C. describing his 2 week tour of America and their code breaking efforts for WW2. I&#8217;ve always appreciated his subtle humor and lingering disappointment in his writing/dialogues, this report is no exception. Always up for a challenge, and (seemingly) rarely impressed or satisfied; breaking German encryption codes and theorizing the modern computer wasn&#8217;t bad for a 30 year old math geek from West London.</p>
<p>&#8220;I&#8217;d say we have come a long way since <a href="http://en.wikipedia.org/wiki/Zygalski_sheets">Zygalski sheets</a> and <a href="http://en.wikipedia.org/wiki/Bletchley_Park">Hut 8 in Blechley Park</a>, Alan.  Don&#8217;t forget to thank Welchman for that diagonal board.  R.I.P.&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/703/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=703&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2010/11/28/what-would-turing-do/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2010/11/turing1.png" medium="image">
			<media:title type="html">turing1</media:title>
		</media:content>
	</item>
		<item>
		<title>A man walks into a bar and asks &#8220;does anyone here work at a startup?&#8221;</title>
		<link>http://chanian.com/2010/11/08/a-man-walks-into-a-bar-and-asks-does-anyone-here-work-at-a-startup/</link>
		<comments>http://chanian.com/2010/11/08/a-man-walks-into-a-bar-and-asks-does-anyone-here-work-at-a-startup/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 23:43:08 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=693</guid>
		<description><![CDATA[Above is an overlay of every (CrunchBase listed) startup in San Francisco.  In an afternoon hack, me, @alan and @thetylerhayes scrapped the crunchbase API then mashed it into Google Maps to get an interesting view of the city.  I am always amazed at the amount of startup culture in this city (hence I moved here), [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=693&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-694" title="SF_STARTUPS" src="http://chanian2.files.wordpress.com/2010/11/sf_startups.png?w=460" alt=""   /></p>
<p>Above is an overlay of every (CrunchBase listed) startup in San Francisco.  In an afternoon hack, me, @alan and @thetylerhayes scrapped the crunchbase API then mashed it into Google Maps to get an interesting view of the city.  I am always amazed at the amount of startup culture in this city (hence I moved here), but never had a chance to really see it from this perspective.  My office and apartment are somewhere buried underneath one of those pins.  I&#8217;ll try to put up a more interactive version of this chart sooner than later.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/693/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=693&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2010/11/08/a-man-walks-into-a-bar-and-asks-does-anyone-here-work-at-a-startup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2010/11/sf_startups.png" medium="image">
			<media:title type="html">SF_STARTUPS</media:title>
		</media:content>
	</item>
		<item>
		<title>The 3 P&#8217;s of a Successful Software Project</title>
		<link>http://chanian.com/2010/09/23/the-3-ps-of-a-successful-software-project/</link>
		<comments>http://chanian.com/2010/09/23/the-3-ps-of-a-successful-software-project/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 08:36:56 +0000</pubDate>
		<dc:creator>Ian Chan</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[product design]]></category>
		<category><![CDATA[product manager]]></category>
		<category><![CDATA[product marketing]]></category>
		<category><![CDATA[project manager]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://chanian.com/?p=610</guid>
		<description><![CDATA[While excellent engineering talent is a must, there are many overlooked or under-appreciated roles that I believe are essential to the success of any software company &#8211; at any stage.   I often hear the excuse:  &#8220;We are too small of a company to hire a ________&#8221;.  Well guess what?  Your competitors have one, or [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=610&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_670" class="wp-caption alignnone" style="width: 557px"><img class="size-full wp-image-670" title="a0073-000157" src="http://chanian2.files.wordpress.com/2010/09/chess_pieces.jpg?w=460" alt=""   /><p class="wp-caption-text">Who do you bring to the fight when facing a tough market, timelines and competition?</p></div>
<p>While excellent engineering talent is a must, there are many overlooked or under-appreciated roles that I believe are essential to the success of any software company &#8211; at any stage.   I often hear the excuse:  &#8220;We are too small of a company to hire a ________&#8221;.  Well guess what?  Your competitors have one, or maybe more, so SOMEONE at your company has to be taking on these responsibilities.  You might be lucky enough to have these roles filled, perhaps these responsibilities are shared within your company, but ignoring them will soon land you in a lot of trouble.  Lets get started with the 3 P&#8217;s that I believe are so important for any software project to succeed.</p>
<p><span id="more-610"></span></p>
<p><strong>Product Manager:<br />
</strong><em>&#8220;I make sure we build the right product for our users and company&#8230;&#8221;</em><br />
Alter Egos: Product Owner, CEO, Business Analyst<br />
Answers the &#8220;WHY?&#8221;</p>
<p>Don&#8217;t need me? Then&#8230;.</p>
<ul>
<li>Who is going to provide business/market validation for large product and business decisions?</li>
<li>Who is making sure that what we build has a realistic product market fit?</li>
<li>Who comes up with ideas that facilitate the success of our business model through useful features?</li>
<li>Who mandates creating new, removing old, updating existing features?</li>
<li>Who is making sure our product strategy has a vision, time-line and plan?</li>
<li>Who is going to create a spec/scope, so we don&#8217;t feature creep our way 6 months past our deadline?</li>
</ul>
<p>Without me&#8230;.<br />
The end product will only be valuable to a small slice of a niche market that doesn&#8217;t actually exist.</p>
<p><strong>Product Designer</strong>:<br />
<em>&#8220;I make sure the product is actually good, looks great, and works well&#8230;&#8221;</em><br />
Alter Egos: UX Designer, UI Designer, Interaction Designer, Visual Designer<br />
Answers the &#8220;WHAT?&#8221;</p>
<p>Don&#8217;t need me? Then&#8230;.</p>
<ul>
<li>Who thinks about how users are actually going to use our features and what those features will look like?</li>
<li>Who is going to make/take wireframes and turn them into something someone can actually use?</li>
<li>Who is going to design a product that is visually/functionally comparable to the industry standards/competitors?</li>
<li>Who is going to tell the Product Manager that 9 banner ads are 9 too many?</li>
</ul>
<p>Without me&#8230;<br />
The end product will be an awkward interactive wireframe using bizarre UI elements soon to be seen in the &#8220;before&#8221; section of <a href="http://www.amazon.com/Think-Common-Sense-Approach-Usability/dp/0789723107" target="_blank">Steve Krugg</a>&#8216;s next book.</p>
<p><strong>Project Manager:<br />
</strong><em>&#8220;I make sure that the project we are engineering actually gets finished&#8230;&#8221;</em><br />
Alter Egos: Scrum Master, Project Lead, Team Lead, Project Coordinator<br />
Answers the &#8220;HOW/WHEN?&#8221;</p>
<p>Don&#8217;t need me? Then&#8230;.</p>
<ul>
<li>Who is making project estimations, to give realistic timelines for launch?</li>
<li>Who is protecting the time of the engineers, keeping the development train moving and free from endless planning meetings?</li>
<li>Who is overseeing the overall progress of the engineering efforts?</li>
<li>Who is ensuring that the 2 months planned for testing hasn&#8217;t been shrunk to 1 week due to unrealistic deadlines?</li>
<li>Who keeps engineering efforts focused and on task when inevitable distractions arise?</li>
</ul>
<p>Without me&#8230;<br />
The product will be released 1/4 year late, with 1/9 the features promised, and 1/16 code tests coverage&#8230;.</p>
<p>(And with that kind of terrible geometric progression, you&#8217;re looking at only getting PI^2/6 of your project done!)<strong></strong></p>
<p><strong>Building Something Great</strong><br />
Engineering is so important.  Engineering is usually responsible for answering the &#8220;HOW&#8221;.  But this is an engineer writing about and appreciating all that are (normally) outside of my call of duty.   Summing it up: there are a lot of very important duties that are outside the realm of traditional engineering responsibilities.  These are 3 very important roles I have come across, and duties that I feel should never be overlooked, no matter how big or small the company.  Looking back at that photo of the chessboard I choose, I&#8217;d hate to imply that developers are the pawns, but the point was to remind everyone that there are a lot of difference piece on the table.</p>
<p>(Note: Searched for an hour for proper photo credits of this great shot with no luck. Let me know if it&#8217;s yours or need to go down)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chanian2.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chanian2.wordpress.com/610/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chanian.com&#038;blog=11252235&#038;post=610&#038;subd=chanian2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chanian.com/2010/09/23/the-3-ps-of-a-successful-software-project/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac750d2864c49d4c237578d38ed2927?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">chanian</media:title>
		</media:content>

		<media:content url="http://chanian2.files.wordpress.com/2010/09/chess_pieces.jpg" medium="image">
			<media:title type="html">a0073-000157</media:title>
		</media:content>
	</item>
	</channel>
</rss>
