<?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>Wayne Pan</title>
	<atom:link href="http://waynepan.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://waynepan.com</link>
	<description>tech &#124; js &#124; ui &#124; ajax &#124; mobile</description>
	<lastBuildDate>Mon, 17 Oct 2011 20:52:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Siri Is For Your Mom</title>
		<link>http://waynepan.com/2011/10/04/siri-is-for-your-mom/</link>
		<comments>http://waynepan.com/2011/10/04/siri-is-for-your-mom/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 04:49:49 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=704</guid>
		<description><![CDATA[As I watched the iPhone 4S and Siri announcement today, I was reminded 3 years ago when Siri was kind enough to drop by the AdMob offices. They came by to demo and get feedback on their app. At the &#8230; <a href="http://waynepan.com/2011/10/04/siri-is-for-your-mom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://waynepan.com/wp-content/uploads/2011/10/siri_icon.png" alt="" title="siri_icon" width="84" height="109" class="alignright size-full wp-image-709" />As I watched the iPhone 4S and Siri announcement today, I was reminded 3 years ago when Siri was kind enough to drop by the AdMob offices. They came by to demo and get feedback on their app. At the time I was impressed with the technology but I could never envision myself using it. </p>
<p>In the past couple years, since switching to Android, the only use case I have for <a href="http://www.google.com/mobile/voice-actions/">voice actions</a> is sending a text while driving. However, Apple thinks Siri is cool, $200 million cool. Cool enough to make it a marquee feature of the iPhone 4S. <b>Why?</b></p>
<p>Then it dawned on me. Siri is <b>not</b> for me (or you). Siri is for your Mom.</p>
<p>Go take a look at the <a href="http://www.apple.com/iphone/features/siri.html">iPhone 4S Siri feature page</a>. For every task that you can ask Siri to do, a techy can do faster with a UI. Need to find a Greek restaurant in Palo Alto. Open up Yelp, type in Greek and you&#8217;re done. Need a location gated reminder for when you arrive home? Tap the reminders app, location gate a new reminder, done. What time is it in Paris? Google search &#8220;time Paris&#8221;.</p>
<p>Now think of your Mom, or some other non-techy in your life. Could they answer the same questions or complete the same tasks? That&#8217;s where Siri comes in. In plain English, anybody can now unlock the full magical potential of the iPhone. Apple&#8217;s goal is to sell an iPhone to everybody on the planet. Making it easier to use is the best way to accomplish this goal. </p>
<p>I do look forward to Siri&#8217;s promise of being your own personal HAL 9000. I just think it&#8217;s going to be delivered in two or three generations.</p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2011/10/04/siri-is-for-your-mom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Good is Your Idea?</title>
		<link>http://waynepan.com/2011/09/02/how-good-is-your-idea/</link>
		<comments>http://waynepan.com/2011/09/02/how-good-is-your-idea/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 16:32:17 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=691</guid>
		<description><![CDATA[You know what&#8217;s easy to come by? Ideas. You know what&#8217;s hard to come by? Ideas. I&#8217;m sure everybody has doc sitting in the cloud or on their desktop where they jot down the best ideas that come to mind. &#8230; <a href="http://waynepan.com/2011/09/02/how-good-is-your-idea/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://waynepan.com/wp-content/uploads/2011/09/450640323_a847c95e6a.jpg" alt="" title="" width="500" height="377" class="aligncenter size-full wp-image-692" /><br />
You know what&#8217;s easy to come by? Ideas. You know what&#8217;s hard to come by? Ideas.</p>
<p>I&#8217;m sure everybody has doc sitting in the cloud or on their desktop where they jot down the best ideas that come to mind. (If you don&#8217;t, <b>start</b> immediately.)</p>
<p>One day, you&#8217;ll end up opening that doc to decide which one of your ideas deserves to be turned into a product. How do you choose? They all seemed so good when you had those epiphanies.</p>
<p>At <a href="http://www.churnlabs.com/">Churn Labs</a> we have an idea sheet shared amongst everybody. Everybody is encouraged to contribute. We&#8217;re closing in on over 100 ideas and every one of them seem good. The problem is we only have a finite number of people to execute these ideas. How do you separate the &#8220;good&#8221; ideas from the cruft ones? Here&#8217;s my list of criteria when evaluating an idea. </p>
<ul>
<li><b>Solve a real problem</b> &#8211; Even better if it&#8217;s a problem that you personally have. When you&#8217;re chasing a solution to a problem you&#8217;ll never need to know what to do next.</li>
<li><b>Take advantage of emerging trends/technology</b> &#8211; Is your idea only  possible now because of an emergent trend/technology? At Churn, we ask is this idea only possible now because everybody has a smartphone in their pocket? Ride the waves.</li>
<li><b>Risk : Reward</b> &#8211; How quickly can you create an MVP? Crazy ideas are worth testing if you can build and launch a product fast.</li>
<li><b>Less crowded spaces</b> &#8211; How many other startups are in the general space your idea occupies? Ideally, the answer should be close to zero. Less noise, greater chance of lift off.</li>
<li><b>Distribution</b> &#8211; There are literally a thousands of startups. Once again, how do you rise above the noise? If you&#8217;re idea is inherently viral, it will be much easier to gain traction. You&#8217;ll spend much less effort and time to acquire every new user.</li>
</ul>
<p>Qualifying ideas well help you sort out your own noise and you&#8217;ll spend less time on ideas that looked great at first blush. </p>
<p>Also, share your ideas with <b>everybody</b>, don&#8217;t be secretive. The mere act of talking through an idea with another person will help you solidify it. You&#8217;ll be forced to formulate your ideas into coherent sentences. You&#8217;ll be surprised how a great idea on paper sounds utterly ridiculous when you say it out loud. </p>
<p>On the other side, if you&#8217;re lucky enough to be a sounding board for someone with an idea, do NOT start off by putting up road blocks. &#8220;I don&#8217;t think that will work because &#8230;.&#8221; or &#8220;but what about &#8230;&#8221; are absolutely the worst things you can say. Instead, pause and think about how you can make the idea better. Fan the flames of creativity instead of extinguishing them.  At the very least you&#8217;ll be exercising your <a href="http://ideamuscle.com/about">idea muscle</a>.</p>
<p><i>image from <a href="http://www.flickr.com/photos/bitzcelt/450640323/">bitzcelt</a></i></p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2011/09/02/how-good-is-your-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UITapGestureRecognizer With Parameters</title>
		<link>http://waynepan.com/2011/07/05/uitapgesturerecognizer-with-parameters/</link>
		<comments>http://waynepan.com/2011/07/05/uitapgesturerecognizer-with-parameters/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 04:02:57 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=677</guid>
		<description><![CDATA[A small blog post for those attempting to create multiple UITapGestureRecognizers handled by one function. Coming from JavaScript, it&#8217;s easy to &#8220;attach&#8221; arbitrary data to elements or objects and references them on the event handler. (el.rel = ; var photoId &#8230; <a href="http://waynepan.com/2011/07/05/uitapgesturerecognizer-with-parameters/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A small blog post for those attempting to create multiple UITapGestureRecognizers handled by one function. Coming from JavaScript, it&#8217;s easy to &#8220;attach&#8221; arbitrary data to elements or objects and references them on the event handler.  (el.rel =
<photoid>; var photoId = event.target.rel;). I explored all options in Objective-C from using the UIGestureRecognizer&#8217;s .hash in an NSDictionary to finding out how to implement an NSMapTable in iOS. (Currently NSMapTable is not available in iOS 5).</p>
<p>Finally, I RTFM&#8217;d the UIView base object documentation and found exactly what I was looking for; .tag. Although limited to NSInteger, more than enough to identify which view the taps were coming from. </p>
<p>For example, if your project programmatically creates multiple UIImageViews and you want one function to handle all incoming taps, the code is as simple as.</p>
<pre class="brush: objc; title: ; notranslate">
int i;
for(i = 0; i &lt; count; i++) {
    // some image
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    // attach to some view
    imageView.tag = i;

    UITapGestureRecognizer *g = [[UITapGestureRecognizer alloc]
                                    initWithTarget: self
                                           action: @selector(imageTap:)];
    [imageView addGestureRecognizer:g];
}

// handler
- (void)imageTap:(UITapGestureRecognizer *)sender {
  // identifier can be referenced in sender.view.tag
}
</pre>
</photoid>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2011/07/05/uitapgesturerecognizer-with-parameters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ChromeBook CR-48 On Vacation</title>
		<link>http://waynepan.com/2011/07/05/chromebook-cr-48-on-vacation/</link>
		<comments>http://waynepan.com/2011/07/05/chromebook-cr-48-on-vacation/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 18:34:11 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=666</guid>
		<description><![CDATA[The CR-48 is the pilot program for Google&#8217;s new Chrome initiative ChromeBook. CR-48 is a basic non-branded ChromeBook handed out to a lot of Googlers as a Beta program. I brought mine on vacation last week to Asia to experience &#8230; <a href="http://waynepan.com/2011/07/05/chromebook-cr-48-on-vacation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://waynepan.com/wp-content/uploads/2011/05/Cr-48.jpeg" alt="" title="Cr-48" width="468" height="304" class="aligncenter size-full wp-image-667" /><br />
The CR-48 is the pilot program for Google&#8217;s new Chrome initiative <a href="http://www.google.com/chromebook/#">ChromeBook</a>. CR-48 is a basic non-branded ChromeBook handed out to a lot of Googlers as a Beta program. I brought mine on vacation last week to Asia to experience what life would be like with a ChromeBook as my primary computer (and admittedly I didn&#8217;t want to risk bringing a $2,000 MacBook). </p>
<p><b>Pros</b></p>
<ul>
<li><b>Instant On</b> &#8211; Forget booting in 8 seconds, the best thing about ChromeBooks is their instant on. You never shut them down so you&#8217;ll never have to boot them. Flip the lid and you&#8217;re on the web instantly.</li>
<li><b>Full Keyboard</b> &#8211; Having a full keyboard (say over your mobile or a tablet) is an absolute must for a primary computer. I despise cranking out full emails or doing heavy duty web surfing on tablets.</li>
<li><b>Shareable</b> &#8211; With guest mode, the CR-48 was easily shareable with my girlfriend. Open up the laptop, click on guest mode, and she has a blank slate to work with. I can imagine it being a communal device as opposed to the your iPad which is <b>very</b> personal.</li>
</ul>
<p><b>Cons</b></p>
<ul>
<li><b>Web Limited</b> &#8211; I need to import some .RW2 formatted files while I was on vacation and unfortunately no image services I could find accepted them. (Not Picasa, not Flickr, not Imageshack, etc). I ended up going to the hotel&#8217;s business center and downloaded a simple shareware program. </li>
<li><b>Needs more Horsepower</b> &#8211; The CR-48 just couldn&#8217;t keep up in some cases (eg. full screen HD YouTube). This is something that can be fixed as components become cheaper. However, the newest ChromeBooks announced from Samsung are pushing the upper price ceiling.</li>
</ul>
<p>The canonical question is of course, how is the ChromeBook better than a netbook? My answer is that it&#8217;s not. A better question to ask is, &#8220;Is there room for another device in a world of desktops, laptops, tablets, and mobile phones?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2011/07/05/chromebook-cr-48-on-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Just Build a Mobile App. Build a Business.</title>
		<link>http://waynepan.com/2011/05/14/dont-just-build-a-mobile-app-build-a-business/</link>
		<comments>http://waynepan.com/2011/05/14/dont-just-build-a-mobile-app-build-a-business/#comments</comments>
		<pubDate>Sat, 14 May 2011 17:22:21 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=658</guid>
		<description><![CDATA[Last week I had the pleasure of speaking at Google&#8217;s largest conference, Google IO. It was 30 minute overview of how to build a business instead of just building a mobile app. Don’t just build a mobile app. Build a &#8230; <a href="http://waynepan.com/2011/05/14/dont-just-build-a-mobile-app-build-a-business/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week I had the pleasure of speaking at Google&#8217;s largest conference, Google IO. It was 30 minute overview of how to build a business instead of just building a mobile app.</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/wHAR46DT8ok" frameborder="0" allowfullscreen></iframe><br />
<a href="http://www.google.com/events/io/2011/sessions/dont-just-build-a-mobile-app-build-a-business.html">Don’t just build a mobile app. Build a business.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2011/05/14/dont-just-build-a-mobile-app-build-a-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Password Manager Solution</title>
		<link>http://waynepan.com/2010/12/28/my-password-manager-solution/</link>
		<comments>http://waynepan.com/2010/12/28/my-password-manager-solution/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 05:02:35 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=649</guid>
		<description><![CDATA[After Gawker had a massive security leak, I began to rethink my password solution. I had essentially 3 classes of passwords, high, medium, low. High security passwords, used for financial instituions, were unique for each site and saved in an &#8230; <a href="http://waynepan.com/2010/12/28/my-password-manager-solution/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://waynepan.com/wp-content/uploads/2010/12/1Password.png" alt="" title="1Password" width="128" height="128" class="alignright size-full wp-image-650" />After Gawker had a <a href="http://www.google.com/search?sourceid=chrome&#038;ie=UTF-8&#038;q=gawker+leak#sclient=psy&#038;hl=en&#038;tbs=nws:1&#038;q=gawker+security&#038;aq=f&#038;aqi=&#038;aql=&#038;oq=&#038;gs_rfai=&#038;pbx=1&#038;fp=4f47765c364753ee">massive security leak</a>, I began to rethink my password solution. I had essentially 3 classes of passwords, high, medium, low. High security passwords, used for financial instituions, were unique for each site and saved in an email thread in my Gmail. Medium and low security had a handful of rotating passphrases and easily guessed 4-8 letter passwords. In general, I didn&#8217;t care if one of my medium or low level security accounts was hacked since access to those would net nothing.</p>
<p>However, so many of my web services are crosslinked that it was becoming difficult to keep track of my security holes (see the <a href="http://techcrunch.com/2009/07/19/the-anatomy-of-the-twitter-attack/">Twitter hacks</a> as a good example).</p>
<p>So, I figured it was high time that I start using a password manager. After looking at my options, I chose <a href="http://agilewebsolutions.com/onepassword">1Password</a>. My requirements:</p>
<ul>
<li>OS X support &#8211; my main computer and laptop</li>
<li><a href="http://blog.agile.ws/1518190697/">Chrome extension</a> &#8211; main browser</li>
<li>Dropbox integration &#8211; Drop dead easy syncing between all my devices</li>
<li>Android Support &#8211; currently my main phone</li>
<li>iPhone Support &#8211; previously my main phone but I&#8217;d like to keep my options open</li>
</ul>
<p>1Password fulfilled all these and fulfilled them extremely well. The OS X is easily one of the most well thought UIs I&#8217;ve used in a long time. Dropbox integration is built directly into both the OS X and Android applications. Agile Web Solutions, the company behind 1Password, is a commercial endeavor. Usually I favor open source solutions, but in this case I&#8217;m guaranteed longevity. (I imagine migrating to another password manager will be a nightmare.)</p>
<p>I spent a few hours transferring and changing my passwords on all the accounts I could remember. The count is up to 51! Odds are that 1 out of 51 of these sites will have a security breach at some point. Now that all my passwords are unique, I can sleep easy.</p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2010/12/28/my-password-manager-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile</title>
		<link>http://waynepan.com/2010/10/16/jquery-mobile-2/</link>
		<comments>http://waynepan.com/2010/10/16/jquery-mobile-2/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 02:30:35 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=640</guid>
		<description><![CDATA[jQuery Mobile Alpha was released yesterday and it&#8217;s very good for an alpha. I think John Resig and team have a long way to go but the project itself is very ambitious. A full mobile framework for iOS, Android, Blackberry, &#8230; <a href="http://waynepan.com/2010/10/16/jquery-mobile-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquerymobile.com/"><img src="http://waynepan.com/wp-content/uploads/2010/10/Screen-shot-2010-10-16-at-7.26.29-PM.png" alt="" title="Screen shot 2010-10-16 at 7.26.29 PM" width="266" height="92" class="alignright size-full wp-image-641" /></a><a href="http://jquerymobile.com/">jQuery Mobile <i>Alpha</i></a> was released yesterday and it&#8217;s very good for an alpha. I think John Resig and team have a long way to go but the project itself is very ambitious. A full mobile framework for iOS, Android, Blackberry, webOS, MeeGo and more is nothing to sneeze at. </p>
<p>For example, after a few minutes on Android, I noticed that the persistent footer nav doesn&#8217;t always stick to the bottom of the screen. Since most mobile browser do not have css fixed positioning this ui paradigm is one of the hardest problems to solve. Notice that toolbars simply disappears on touch and reappear.</p>
<p>I look forward to the the next release, at the moment I wouldn&#8217;t say it&#8217;s ready for a production deploy. It is an alpha after all. </p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2010/10/16/jquery-mobile-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A case for AngelGate being truthy</title>
		<link>http://waynepan.com/2010/09/23/a-case-for-angelgate-being-truthy/</link>
		<comments>http://waynepan.com/2010/09/23/a-case-for-angelgate-being-truthy/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 00:53:24 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[asides]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=635</guid>
		<description><![CDATA[A case for AngelGate being truthy]]></description>
			<content:encoded><![CDATA[<p><a href="http://derekandersen.me/2010/09/23/the-case-for-michael-arrington-angelgate/">A case for AngelGate being truthy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2010/09/23/a-case-for-angelgate-being-truthy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook $33b?</title>
		<link>http://waynepan.com/2010/09/23/facebook-33b/</link>
		<comments>http://waynepan.com/2010/09/23/facebook-33b/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 00:16:59 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[asides]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=632</guid>
		<description><![CDATA[Watch Joel Spolsky and David Heinemeier Hansson battle it out over Facebook valuation. Save this on in the archives, we&#8217;ll see who is right in 5 years.]]></description>
			<content:encoded><![CDATA[<p><a href="http://news.ycombinator.com/item?id=1720050">Watch Joel Spolsky and David Heinemeier Hansson</a> battle it out over Facebook valuation. Save this on in the archives, we&#8217;ll see who is right in 5 years.</p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2010/09/23/facebook-33b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js KO Winners</title>
		<link>http://waynepan.com/2010/09/03/node-js-ko-winners/</link>
		<comments>http://waynepan.com/2010/09/03/node-js-ko-winners/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 22:16:55 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[asides]]></category>

		<guid isPermaLink="false">http://waynepan.com/?p=629</guid>
		<description><![CDATA[Winners of the node.js KO contest, very cool stuff.]]></description>
			<content:encoded><![CDATA[<p><a href="http://nodeknockout.posterous.com/and-the-winners-are">Winners of the node.js KO contest</a>, very cool stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2010/09/03/node-js-ko-winners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

