<?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>code zen</title>
	<atom:link href="http://www.arpitonline.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arpitonline.com/blog</link>
	<description>"I write pretty software"</description>
	<lastBuildDate>Tue, 31 Aug 2010 00:07:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Whats new in EspressoReader 0.8: Twitter profile &#8220;guesses&#8221;</title>
		<link>http://www.arpitonline.com/blog/2010/08/30/new-in-espresso-reader-0-8-twitter-guesses/</link>
		<comments>http://www.arpitonline.com/blog/2010/08/30/new-in-espresso-reader-0-8-twitter-guesses/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 00:07:59 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[EspressoReader]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=622</guid>
		<description><![CDATA[I posted an update to EspressoReader on the Adobe AIR marketplace yesterday (if you are using an older version of the application, restart it to get the auto update message). While the application does have a number of features and bugfixes, the feature I am definitely most excited about is the Twitter profile guesses. Here is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F30%2Fnew-in-espresso-reader-0-8-twitter-guesses%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F30%2Fnew-in-espresso-reader-0-8-twitter-guesses%2F" height="61" width="51" /></a></div><p>I posted an update to <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;offeringid=18727&amp;marketplaceid=1">EspressoReader on the Adobe AIR marketplace</a> yesterday (if you are using an older version of the application, restart it to get the auto update message). While the application does have a number of features and bugfixes, the feature I am definitely most excited about is the Twitter profile guesses. Here is a screenshot of what that looks like when triggered:</p>
<p><a title="Associated Twitter Profiles by arpit_m, on Flickr" href="http://www.flickr.com/photos/18974628@N00/4902463077/"><img src="http://farm5.static.flickr.com/4081/4902463077_cce7ab9fc0.jpg" alt="Associated Twitter Profiles" width="500" height="262" /></a></p>
<p>The lookups work really well on feeds that talk about companies and products like <a href="http://techcrunch.com/">Techcrunch</a>, <a href="http://mashable.com/">Mashable</a>, etc. Besides guessing at the twitter names, the app also picks up twitter names if mentioned in the post. On some of the design blogs I follow its pretty amazing to find the profiles of designers mentioned in the posts.</p>
<p>Having it work brought interesting questions to mind. For example, if you find a Twitter profile, is their last status most important or the conversations they are having, or just searches based on the profile name (to see what people are saying about the product). And sometimes the guess is WAY off, for example <a href="http://twitter.com/apple">Apple on Twitter</a> is not the Apple Company we love to talk about <img src='http://www.arpitonline.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>The &#8220;guess&#8221; API call requires users to be signed in so you&#8217;ll need to sign in to Twitter when using the application to get it to work.</p>
<p>Besides that, a bunch of other features were added to the build:</p>
<ul>
<li>Mark All Items as Read functionality</li>
<li>Moved to a certifed security certificate from a self signed one (thanks Adobe)</li>
<li>Font issue fixes for other languages (RTL languages are still an issue)</li>
<li>Fixes to the left hand side Subscriptions view</li>
<li>Feed Titles on story items</li>
<li>Bug fixes when calling more items in a Category view</li>
<li>Misc UI bug fixes</li>
</ul>
<p>If you haven&#8217;t tried EspressoReader yet, <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;offeringid=18727&amp;marketplaceid=1">give it a shot</a> and let me know how it works. Most of the features on this release came from user feedback so feel free to send us more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/08/30/new-in-espresso-reader-0-8-twitter-guesses/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A month after moving from my iPhone to the Android: some thoughts</title>
		<link>http://www.arpitonline.com/blog/2010/08/20/a-month-after-moving-from-my-iphone-to-the-android-some-thoughts/</link>
		<comments>http://www.arpitonline.com/blog/2010/08/20/a-month-after-moving-from-my-iphone-to-the-android-some-thoughts/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 02:30:15 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=617</guid>
		<description><![CDATA[For the last few months I have been looking closely and the Android platform. Originally I had expected the Android platform to be a knockoff of the iPhone OS (which I am getting really comfortable developing for), but was pleasantly surprised to discover that under the covers, it was a completely different idea.  Between [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F20%2Fa-month-after-moving-from-my-iphone-to-the-android-some-thoughts%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F20%2Fa-month-after-moving-from-my-iphone-to-the-android-some-thoughts%2F" height="61" width="51" /></a></div><p>For the last few months I have been looking closely and the Android platform. Originally I had expected the Android platform to be a knockoff of the iPhone OS (which I am getting really comfortable developing for), but was pleasantly surprised to discover that under the covers, it was a completely different idea.  Between that and my general disagreements with the philosophical direction of iOS, I decided it was finally time to make the N1 my main phone. This post reflects some of my thoughts on that decision.</p>
<p><strong>A bumpy move:</strong><br />
There is no doubt that the iOS has much more spit and polish than the Android. Android&#8217;s default UI is pretty poor, something you realize every time you decide to use a native control like a checkbox or a slider. Transitions on the iPhone are smoother, easing on the List controls is better and orientation change animations are much better handled (on the Android, the application &#8220;pops&#8221; to the new layout which is very jarring, on the iOS, orientation changes animate the application frame). Moreover the apps I used all the time had much poorer cousins on the Android. I hated the very blue native Twitter client, Foursquare app was just barely passable and the Facebook app was an absolute joke. I wondered if I should consider moving back to the iPhone.</p>
<p><strong>Getting comfortable with the metaphors:</strong><br />
The Android metaphors are actually very different from the iPhone. For one thing, additional functionality is often hidden in the menus of an application, which I didnt realize right away. Moreover the menus are not at the application level but at the &#8220;screen&#8221; level. Once you get used to the concept, it makes perfect sense though. It also removes a lot of chrome from the screen giving the application more space to display the content.<br />
The back button was another interesting feature. Before using the Android, I thought that was a useless idea. But it turns out to be really useful. On the iOS, I would imagine 90% of the apps (not counting games of course) start with a top level <a href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBYQFjAA&amp;url=http%3A%2F%2Fdeveloper.apple.com%2Fiphone%2Flibrary%2Fdocumentation%2Fuikit%2Freference%2FUINavigationController_Class%2Findex.html&amp;ei=7zlvTPT-K8Wclgeir-2cDQ&amp;usg=AFQjCNF6yIRTRnGptcwzo7Vb4YZU4QzQ7A&amp;sig2=u1Tl9BfiwWhx_CRMs4H6tg">UINavigationController</a> that provides a frame with a title space and a location for a back button, but you have to program the &#8220;back&#8221; functionality yourself. On the Android, its automatically handled without the need to waste screen real estate on the button. I have now gotten so used to it that I keep hitting the home button to get back to the previous screen on my iPad.</p>
<p>And then there are the metaphors I absolutely love. The Notification Bar on the Android is a fantastic way to notify users without popping up a very disruptive alert window as the iPhone does.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/T89Eq-kdo9o?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/T89Eq-kdo9o?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Desktop widgets are a pretty convenient way to access apps like Pandora and News. And of course having Flash work on the device is just amazing (and I must add, performs really well). Every few days the last few minutes before I go to sleep are spent on watching <a href="http://www.adultswim.com/">Adult Swim</a> or <a href="http://www.fancast.com/tv/The-Daily-Show-With-Jon-Stewart/89142/1570667706/The-Daily-Show-8-19-2010/videos">the Daily Show</a> episodes on my phone.</p>
<p>The concepts of Intents that apps use to talk to each other is pretty great. For example, the default Twitter client did not include any functionality for adding stories to Instapaper, a service I use all the time. However I was able to download a small app that listened to the &#8220;share&#8221; intent that any app broadcasts and adds &#8220;Share on Instapaper&#8221; to the share list. Its a very different approach than trying to bundle share capabilities within your app.</p>
<p><strong>The emergence of good apps</strong><br />
The last few weeks I have also downloaded a bunch of apps that I love and things suddenly feel a lot better. The bar seems to be rising on the quality of apps out there. Here are few of my favorite apps:</p>
<ul>
<li><a href="http://www.google.com/googlevoice/about.html">Google Voice</a> is absolutely fantastic. I hate listening to voicemails and having all voicemails automatically be transcribed is super cool.</li>
<li><a href="http://blog.tweetdeck.com/android-tweetdeck-one-week-in">Tweetdeck for Android</a>: Even though its barely in beta right now, Tweetdeck is my favorite &#8220;social&#8221; app on the N1. It actually beats the iOS version hands down, and I dont have to deal with the Twitter&#8217;s official blue app. Win!</li>
<li><a href="http://gesturesearch.googlelabs.com/">Gesture search</a>: Google recently launched Gesture search, which is like spotlight with gesture / handwriting recognition. Its fantastic and makes finding contacts/apps in my lists a breeze.</li>
<li><a href="http://www.swiftkey.net/">SwiftKey</a>: Now my default keyboard, it makes typing so much faster, even though third party keyboards are a risky idea.</li>
<li><a href="http://googlemobile.blogspot.com/2010/08/working-title-instantly-zap-links-maps.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+OfficialGoogleMobileBlog+(Official+Google+Mobile+Blog)">Send to phone Chrome extension</a>: I use this more often than I thought I would.</li>
<li>Reddit Pics: Technically not the epitome of technological innovation, this app is just fun <img src='http://www.arpitonline.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>The new Facebook app (lighyears better than its predecessor).</li>
</ul>
<p>The Android app store definitely feels like its just getting started. Really good apps are few even though they are getting better. I still havent found any good games the quality of iPhone games like Angry Birds, but hopefully they&#8217;ll come soon, not that Android is getting more mainstream. This will also get really accelerated once AIR for Android hits mainstream.</p>
<p>In conclusion, the last few days have been interesting. The move from the iPhone to Android is not an easy one, even more, considering that the iPhone 4 is a fantastic device. But I am at a point now that I dont think I could go back to the iPhone, and the next gen Androids are only going to get better.</p>
<p>If you are an Android user, do drop a comment  and share what your favorite parts of the platform are and/or what apps do you use all the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/08/20/a-month-after-moving-from-my-iphone-to-the-android-some-thoughts/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>EspressoReader v0.7 now on Adobe AIR Marketplace</title>
		<link>http://www.arpitonline.com/blog/2010/08/02/espressoreader-v0-7-now-on-adobe-air-marketplace/</link>
		<comments>http://www.arpitonline.com/blog/2010/08/02/espressoreader-v0-7-now-on-adobe-air-marketplace/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 15:53:01 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=601</guid>
		<description><![CDATA[
I am pretty excited to announce the first public release for EspressoReader is now on the Adobe AIR marketplace. Like I had mentioned in my last post, EspressoReader is a desktop client for Google Reader that I have been working with Alex for a while. While the application is pretty functional right now, there are [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F02%2Fespressoreader-v0-7-now-on-adobe-air-marketplace%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F08%2F02%2Fespressoreader-v0-7-now-on-adobe-air-marketplace%2F" height="61" width="51" /></a></div><p><a title="EspressoReader " href="http://bit.ly/bd2KhB"><img src="http://farm5.static.flickr.com/4108/4844989947_90f7dd4034_o.png" alt="EspressoReader preview image" width="495" height="250" /></a></p>
<p>I am pretty excited to announce the <a href="http://bit.ly/bd2KhB">first public release</a> for EspressoReader is now on the Adobe AIR marketplace. Like I had mentioned in my <a href="http://www.arpitonline.com/blog/2010/07/22/sneak-peek-espressoreader-v2-a-desktop-client-for-google-reader/">last post</a>, EspressoReader is a desktop client for Google Reader that I have been working with <a href="http://veaone.com/">Alex</a> for a while. While the application is pretty functional right now, there are a lot of cool features I have in my head that will make it truly a awesome experience.</p>
<p>There were a bunch of motivations that led me to work on this application:</p>
<ul>
<li>I was pretty bored of the uninspiring (though functional) UI of Google Reader.</li>
<li>A lot of my feeds would contain duplicate content (say every time Facebook added a new feature, it would be reported by Mashable, Techcrunch, etc). So Espresso loads the feeds ahead of time in a local database and parses them to find duplicate content and shows them as related items in the related items sidebar (only if you are in the List view of the application though).</li>
<li>Navigating to the feed I wanted to read using the Tree control on GoogleReader was fairly tedious. Espresso also does a good job navigating a through your feeds using &#8220;quick jump&#8221;. At any point when you are using the application, you can hit the spacebar and bring up a textfield that&#8217;ll let you jump to any feed or folder you have in your subscriptions.</li>
<li>Sharing stories on Twitter was a chore in Google Reader. In Espresso, you can just hit the share on Twitter button and the twitter status field comes up immediately.</li>
</ul>
<p>As with any &#8220;first look&#8221; release, this release is only about the core features and there are many things that still need to be added. For example:</p>
<ul>
<li>The splash screen that you see when you launch the application needs a lot of work. Friends&#8217; Feed doesnt currently show the person who shared the item and the links open in your default browser. Going forward this will be better integrated into the application itself.</li>
<li>Links right now open in your default browser. This will change and there will be an integrated web browser (with a setting to open links in your default web browser).</li>
<li>Photos in Magazine view</li>
<li>Offline access</li>
<li>Adding/Managing Feeds and Subscriptions (right now you cannot add new feeds or move them to different folders)</li>
</ul>
<p>etc etc. If you have any other ideas/suggestions, please leave a comment on this post. I am really looking for feedback on this release.</p>
<p>Here is a quick video of the application in action (reposted from the previous post):</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/TgXTN1OPD4w&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TgXTN1OPD4w&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>If you are on Twitter, you can follow <a href="http://twitter.com/arpit">me</a> or <a href="http://espressoreader.com">espressoReader</a> for details on updates etc. I have also started a wiki to list the features/todos/help which is pretty bare right now but will hopefully grow as time progresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/08/02/espressoreader-v0-7-now-on-adobe-air-marketplace/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Sneak peek: EspressoReader v2: A desktop client for Google Reader</title>
		<link>http://www.arpitonline.com/blog/2010/07/22/sneak-peek-espressoreader-v2-a-desktop-client-for-google-reader/</link>
		<comments>http://www.arpitonline.com/blog/2010/07/22/sneak-peek-espressoreader-v2-a-desktop-client-for-google-reader/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 20:15:58 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=584</guid>
		<description><![CDATA[I am a big Google Reader fan, even if I often find myself overwhelmed by the number of feeds I have to catch up on every time I fire up the the web app. For the last few months I have been working on an app that would help me manage my subscriptions. With the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F07%2F22%2Fsneak-peek-espressoreader-v2-a-desktop-client-for-google-reader%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F07%2F22%2Fsneak-peek-espressoreader-v2-a-desktop-client-for-google-reader%2F" height="61" width="51" /></a></div><p>I am a big Google Reader fan, even if I often find myself overwhelmed by the number of feeds I have to catch up on every time I fire up the the web app. For the last few months I have been working on an app that would help me manage my subscriptions. With the help of <a href="http://veaone.com/">Alex</a>, a friend and a fantastic designer, I have been working on V2 of EspressoReader: a desktop client for Google Reader.</p>
<p>I had released an earlier version a while back but back then I had limited knowledge of the (undocumented) Google Reader API. The new version has been written from ground up and includes a lot of interesting features like:</p>
<ul>
<li>List view and Magazine view for feeds</li>
<li>Quick &#8220;jump to feed&#8221; shortcuts</li>
<li>Related feeds algorithm that scans your feeds for related content</li>
<li>Sharing options with Twitter and Google Reader</li>
</ul>
<p>Here is a quick video of the application in action:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/TgXTN1OPD4w&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/TgXTN1OPD4w&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I will post the latest build of the application on my blog soon, but if you are interested in this build @ or dm me on <a href="http://twitter.com/arpit" target="_blank">Twitter</a>.</p>
<p>Stay tuned for an update coming soon <img src='http://www.arpitonline.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/07/22/sneak-peek-espressoreader-v2-a-desktop-client-for-google-reader/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Rethinking GUI Programming Paradigms</title>
		<link>http://www.arpitonline.com/blog/2010/06/12/rethinking-gu-programming-paradigms/</link>
		<comments>http://www.arpitonline.com/blog/2010/06/12/rethinking-gu-programming-paradigms/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 17:41:22 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[User Interfaces]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=571</guid>
		<description><![CDATA[I have to say the current state of programming and application development do bother me. I feel after so many years of programming, making things like desktop applications and web applications should be a lot easier.  Over the last few years I have done a lot of application development in a bunch of technologies like [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F06%2F12%2Frethinking-gu-programming-paradigms%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F06%2F12%2Frethinking-gu-programming-paradigms%2F" height="61" width="51" /></a></div><p>I have to say the current state of programming and application development do bother me. I feel after so many years of programming, making things like desktop applications and web applications should be a lot easier.  Over the last few years I have done a lot of application development in a bunch of technologies like Java, SWT, Flash, HTML/JS and more recently Objective C. And yet our development environments (or IDEs) are pretty much the same as 20 years ago with vi or emacs. I have a lot of friends who have really good ideas and yet they are pretty daunted by the idea that they could build their applications themselves, and I dont blame them. Most of the advice programmers give them is to read a couple of books and download <a href="http://macromates.com/">Textmate</a>.</p>
<p>Their have been a lot of &#8220;GUI builder&#8221; applications over the years and pretty much all of them have been panned by &#8220;real&#8221; developers. The usual (and often justified) reason has been that they generate crappy code. Its shocking to me why GUI development remains such an afterthought in todays world.</p>
<p><strong>Did Flash get it right?</strong></p>
<p>Like it or hate it, Flash was probably one of the first tools that got it somewhat right. Its success and now the reason it gets panned, is because it made it very approachable for someone who was not a programmer to get something in their mind out on the internet. The ability to draw a shape and then attach some behavior to it in code was huge.</p>
<p>This was my path to it too. I came to the US persuing my graduate degree in <a href="http://en.wikipedia.org/wiki/Very-large-scale_integration">VLSI Engineering</a> (chip design). Somehow I got a job at a University Learning Center with a very loose mandate: the director of the center had a lot of ideas on e-learning with video and had just seen some Flash video sites and was fascinated (remember Flash video only came around in version 6 of Flash). My role was to &#8220;make something cool for e-learning and video&#8221;. I had never programmed before but had some experience with Flash animation, mostly making small animated movies hoping to get on <a href="http://www.atom.com/">Atom Films</a> someday.</p>
<p>In about 6 months I had gotten really addicted to Flash since for the first time, my animations could respond to the user. Because of Flash, I quit VLSI and moved to Software Engineering, with my final thesis in creating cross language bridges between GUI and non GUI parts of an applicaiton (using Flash and Java). The approachability of Flash back then was my gateway drug to programming. Flash has since &#8220;matured&#8221; to a real programming language but I feel at the cost of the approachability the earlier versions had.</p>
<p><strong>Ugh Java</strong></p>
<p>Moving to the Software Engineering team was a bizarre experience. The Graduate School was a Java school and I got started working in <a href="http://en.wikipedia.org/wiki/Swing_(Java)">Swing</a>. It was crazy! I could do any kind of UI in Flash in a heartbeat but getting Java to render a custom designed button was virtually impossible (so we always stuck to the default lookAndFeel). Actually back in the day, I don&#8217;t think there was even a Java IDE like Netbeans that we used. Everything was written in VI and then compiled by using the command line.</p>
<p><strong>Interface Builder: A good idea that was never completed ?</strong></p>
<p>Working with <a href="http://en.wikipedia.org/wiki/Interface_Builder">Interface Builder</a>, the tool used to develop User Interfaces for Mac apps,  for a while, I see the thought process that must have been going on when it was being developed. The concept of laying out the UI and tying it to the application logic components is a good one. But IB feels like the team was disbanded halfway into the project. The tool as it stands right now is such a pain to understand that most new developers who get into Objective C programming try to avoid it as much as they can.</p>
<p>The <a href="http://280atlas.com/">280 Atlas IDE</a> for Cappuccino seems to have taken the IB concept and extended it to the web. I like this better than IB if for nothing else than gathering all application windows in one. The floating canvases on IB get annoying really fast.</p>
<p><object id="viddler" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="437" height="293" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="fake=1" /><param name="src" value="http://www.viddler.com/simple_on_site/1db9bf4d" /><param name="name" value="viddler" /><param name="allowfullscreen" value="true" /><embed id="viddler" type="application/x-shockwave-flash" width="437" height="293" src="http://www.viddler.com/simple_on_site/1db9bf4d" name="viddler" flashvars="fake=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p><strong>Drag and drop application development:</strong></p>
<p>I love this video. I am sure to scale this to &#8220;real&#8221; GUI development would be a significant amount of work, but that would be the holy grail (at least for me)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="302" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=1105302&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="302" src="http://vimeo.com/moogaloop.swf?clip_id=1105302&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/1105302">3d physics simulation with Wiimote</a> from <a href="http://vimeo.com/user482816">Balazs Serenyi</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>The same idea is also echoed in MIT&#8217;s <a href="http://scratch.mit.edu/">Scratch</a> project. Scratch declares its mandate as making it easy to &#8220;create your own interactive stories, animations, games, music, and art&#8221;. While the focus seems to be towards animation and getting kids to learn programming concepts, can it be extended to real world projects ?</p>
<p>Another interesting project that surfaced recently was <a href="http://groups.csail.mit.edu/uid/sikuli/">Sikuli</a>. Check the video on that below. My favorite part of this was that the &#8220;script&#8221; actually references the images that behavior is assigned to. You dont need to understand variables at this point (You may need to to write business logic if you have to, but thats a bridge you can cross later)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FxDOlhysFcM&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/FxDOlhysFcM&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong>Human-readable &#8220;code&#8221; with Ruby and Cucumber:</strong></p>
<p>Just getting started with the Ruby programming language, I have been really impressed by its focus on readable code. An open source project called <a href="http://cukes.info/">Cucumber</a> is also fascinating. I haven&#8217;t done any work with it but have attended a few sessions on it in different user group meetings. Cucumber takes the readability of code even further with a goal of having non technical folk be able to define a site&#8217;s functionality very granularly.</p>
<p><strong>Final thoughts: Enough with the text editor already</strong></p>
<p>Using a pure fast text editor for developing applications seems to be the badge of a real developer. But writing lines of  text to express ideas in my head seems to be a paradigm that should have evolved a while back but hasn&#8217;t. Am I overly simplifying the problem? Possibly. But after so many decades since the inception of programming there is very little to justify the high barrier to entry it presents to most newbies. To me the current state of programming feels like the state of mobile phones before the iphone and the ipad. Whatever anyone&#8217;s feeling on Apple are, its hard to deny how much they humanized computing.</p>
<p>Its time to do that for programming too don&#8217;t you think?</p>
<p>Some other related interesting stuff</p>
<ul>
<li>The Adobe design team recently posted <a href="https://xd.adobe.com/#/featured/article/571">some thoughts</a> on improving the programming experience in Flash.</li>
<li>Some good <a href="http://www.brandonwalkin.com/blog/2010/06/03/xcode-ui-improvements/">thoughts</a> on XCode UI enhancements</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/06/12/rethinking-gu-programming-paradigms/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Have you seen the XFinity Social Remote app?</title>
		<link>http://www.arpitonline.com/blog/2010/05/17/have-you-seen-the-xfinity-social-remote-app/</link>
		<comments>http://www.arpitonline.com/blog/2010/05/17/have-you-seen-the-xfinity-social-remote-app/#comments</comments>
		<pubDate>Tue, 18 May 2010 04:14:14 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Comcast Interactive Media]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=565</guid>
		<description><![CDATA[I am a few days late posting about this, lets just say I have been catching up on sleep I had been deprived of for the last few weeks building this app. So in case you haven&#8217;t seen it yet, check out the video of the XFinity Social Remote, unveiled at the NCTA Cable Show [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F05%2F17%2Fhave-you-seen-the-xfinity-social-remote-app%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F05%2F17%2Fhave-you-seen-the-xfinity-social-remote-app%2F" height="61" width="51" /></a></div><p>I am a few days late posting about this, lets just say I have been catching up on sleep I had been deprived of for the last few weeks building this app. So in case you haven&#8217;t seen it yet, check out the video of the XFinity Social Remote, unveiled at the NCTA <a href="http://www.ncta.com/Event/Event/CableShow.aspx">Cable Show Conference</a> last week.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RLz72XErN8U&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/RLz72XErN8U&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>To read more about the app, see <a href="http://blog.comcast.com/2010/05/xfinity-remote-prototype-ipad-demo-at-ncta-show.html">the official post on Comcast Voices</a> on the app and its future.</p>
<p>More reviews:</p>
<ul>
<li>Gizmodo<span style="font-family: Helvetica, Arial, sans-serif;"><span style="line-height: 22px;"><strong>: </strong><a href="http://gizmodo.com/5537385/xfinity-please-release-this-tv-remote-web-app">XFinity, Please release this TV Remote Web App</a></span></span></li>
<li><span style="font-family: Helvetica, Arial, sans-serif;"><a href="http://www.engadget.com/2010/05/12/comcast-xfinity-ipad-app-changes-channels-and-invites-friends-t/">Engadget</a></span></li>
<li><a href="http://www.businessinsider.com/comcast-shows-off-sweet-ipad-app-prototype-2010-5">Silicon Alley Insider</a></li>
<li><a href="http://blogs.barrons.com/techtraderdaily/2010/05/12/comcast-demos-prototype-ipad-app-for-controlling-cable-box/">Barrons.com</a></li>
<li>Even on Mad Money With Jim Cramer on CNBC:
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;object id=&#8221;cnbcplayer&#8221; height=&#8221;380&#8243; width=&#8221;400&#8243; classid=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243; codebase=&#8221;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0&#8243; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;type&#8221; value=&#8221;application/x-shockwave-flash&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;allowfullscreen&#8221; value=&#8221;true&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;quality&#8221; value=&#8221;best&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;scale&#8221; value=&#8221;noscale&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;bgcolor&#8221; value=&#8221;#000000&#8243;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;salign&#8221; value=&#8221;lt&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;param name=&#8221;movie&#8221; value=&#8221;http://plus.cnbc.com/rssvideosearch/action/player/id/1492289358/code/cnbcplayershare&#8221;/&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;embed name=&#8221;cnbcplayer&#8221; PLUGINSPAGE=&#8221;http://www.macromedia.com/go/getflashplayer&#8221; allowfullscreen=&#8221;true&#8221; allowscriptaccess=&#8221;always&#8221; bgcolor=&#8221;#000000&#8243; height=&#8221;380&#8243; width=&#8221;400&#8243; quality=&#8221;best&#8221; wmode=&#8221;transparent&#8221; scale=&#8221;noscale&#8221; salign=&#8221;lt&#8221; src=&#8221;http://plus.cnbc.com/rssvideosearch/action/player/id/1492289358/code/cnbcplayershare&#8221; type=&#8221;application/x-shockwave-flash&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/object&gt;</div>
</li>
</ul>
<div>
<p><object id="cnbcplayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="380" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="type" value="application/x-shockwave-flash" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="scale" value="noscale" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#000000" /><param name="salign" value="lt" /><param name="src" value="http://plus.cnbc.com/rssvideosearch/action/player/id/1492289358/code/cnbcplayershare" /><param name="name" value="cnbcplayer" /><embed id="cnbcplayer" type="application/x-shockwave-flash" width="400" height="380" src="http://plus.cnbc.com/rssvideosearch/action/player/id/1492289358/code/cnbcplayershare" name="cnbcplayer" salign="lt" bgcolor="#000000" wmode="transparent" scale="noscale" quality="best" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div>Fantastic stuff <img src='http://www.arpitonline.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<p><span style="font-family: Helvetica, Arial, sans-serif;"><span style="line-height: 22px;"><a href="http://gizmodo.com/5537385/xfinity-please-release-this-tv-remote-web-app"></a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/05/17/have-you-seen-the-xfinity-social-remote-app/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Reminder: Flex 4 and Flash Builder 4 Launch Event at Wharton this Wednesday</title>
		<link>http://www.arpitonline.com/blog/2010/04/25/reminder-flex-4-and-flash-builder-4-launch-event-at-wharton-this-wednesday/</link>
		<comments>http://www.arpitonline.com/blog/2010/04/25/reminder-flex-4-and-flash-builder-4-launch-event-at-wharton-this-wednesday/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 19:09:52 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=557</guid>
		<description><![CDATA[In case you haven&#8217;t heard already, this Wednesday (April 28th), the Philadelphia Adobe User Groups will be holding a joint event celebrating the release of the Flex 4 framework and Flash Builder 4 at the Wharton&#8217;s Jon M. Huntsman Hall, Room G65. We&#8217;ll have Terry Ryan, Flash Platform Evangelist for Adobe speaking at the occasion and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F25%2Freminder-flex-4-and-flash-builder-4-launch-event-at-wharton-this-wednesday%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F25%2Freminder-flex-4-and-flash-builder-4-launch-event-at-wharton-this-wednesday%2F" height="61" width="51" /></a></div><p>In case you haven&#8217;t heard already, this Wednesday (April 28th), the Philadelphia Adobe User Groups will be holding a joint event celebrating the release of the Flex 4 framework and Flash Builder 4 at the Wharton&#8217;s Jon M. Huntsman Hall, Room G65. We&#8217;ll have <a href="http://terrenceryan.com/">Terry Ryan</a>, Flash Platform Evangelist for Adobe speaking at the occasion and there will be food and a bunch of giveaways. The event is jointly being organized by the Philadelphia <a href="http://www.phflex.org/">Flex</a>, <a href="http://www.pfpaug.org/core/">Flash</a>, <a href="http://phillycfug.org/">ColdFusion</a>, <a href="http://groups.adobe.com/groups/020002a345/summary">Photoshop</a> and <a href="http://twitter.com/PhillyIllyUG">Illustrator</a> User Groups so its a great opportunity to connect with other groups and group managers as well.</p>
<p>The event is free of course but you will need to<a href="http://flex4inphilly.eventbrite.com/"> register her</a>e. And if you are into Flex development, make sure you are on the PhFlex <a href="http://groups.google.com/group/phflex">mailing list</a> as well.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/04/25/reminder-flex-4-and-flash-builder-4-launch-event-at-wharton-this-wednesday/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Alright Adobe, here&#8217;s what you do: Cross compile Objective C to run on the Flash Player</title>
		<link>http://www.arpitonline.com/blog/2010/04/10/alright-adobe-heres-what-you-do-cross-compile-objective-c-to-run-on-the-flash-player/</link>
		<comments>http://www.arpitonline.com/blog/2010/04/10/alright-adobe-heres-what-you-do-cross-compile-objective-c-to-run-on-the-flash-player/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 20:27:27 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=544</guid>
		<description><![CDATA[Ooooh, I think this may actually be a good idea.
We know that Apple is trying to keep its developer base isolated from the rest of the mobile world. If you have to choose a platform between iPhone and Android, an indy developer will probably choose the iPhone right? Thats where the people are. This has [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F10%2Falright-adobe-heres-what-you-do-cross-compile-objective-c-to-run-on-the-flash-player%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F10%2Falright-adobe-heres-what-you-do-cross-compile-objective-c-to-run-on-the-flash-player%2F" height="61" width="51" /></a></div><p>Ooooh, I think this may actually be a good idea.</p>
<p>We know that Apple is trying to keep its developer base isolated from the rest of the mobile world. If you have to choose a platform between iPhone and Android, an indy developer will probably choose the iPhone right? Thats where the people are. This has nothing to do with the Flash Player, but everything to do with making the iPhone a hard ecosystem to leave for a user.</p>
<p>Now Adobe, imagine you release an Objective C library that developers can use that will also cross compile to Flash Player bytecode that can run on Android, web etc. You already have done some work for compiling C/C++ to Flash Player bytecode in the <a href="http://labs.adobe.com/technologies/alchemy/">Alchemy Project</a>, and I am assuming you now have a bunch of of LLVM experts in your team. You will have to mandate that developers use only that library since others may not work with the cross compiler (there may be dependencies that are not ported). As an indy developer trying to get to the maximum audience I would use that library in a heartbeat. Now suddenly a lot of games are being automatically ported to the Android platform (with AIR). Except that those games appear on the Android immediately, rather than wait for the few weeks/months of sitting around waiting to be approved. The Android now suddenly looks like a better platform doesn&#8217;t it. Meanwhile this works nicely for you again. You need some IDE (maybe Flash CS5) to cross compile the Objective C to ActionScript bytecode so you have a market for a tool again. Get Google to help you by replacing the iAd system with one that uses Google ads, I am sure they&#8217;ll get behind that.</p>
<p>[update] This is not really a solution for people who dont know Objective C and dont want to learn it. But it does give iPhone developers more options, unties their dependence on that platform only and makes AIR on other devices a lot more viable.</p>
<p>Hopefully you like this idea, I&#8217;ll expect a check from you soon <img src='http://www.arpitonline.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/04/10/alright-adobe-heres-what-you-do-cross-compile-objective-c-to-run-on-the-flash-player/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>On Breadth First and Depth First thinking</title>
		<link>http://www.arpitonline.com/blog/2010/04/10/on-breadth-first-and-depth-first-thinking/</link>
		<comments>http://www.arpitonline.com/blog/2010/04/10/on-breadth-first-and-depth-first-thinking/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 19:26:39 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=536</guid>
		<description><![CDATA[Great talk by Don Norman, a founder of The Cognitive Science Society, and widely considered to be the first to apply advanced human factors to design via cognitive design on The three ways that good design makes you happy:

The three ways he talks about are:

Visceral:  How pleasant things seem to work better.
Behavioral: How good design lets you feel [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F10%2Fon-breadth-first-and-depth-first-thinking%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F10%2Fon-breadth-first-and-depth-first-thinking%2F" height="61" width="51" /></a></div><p>Great talk by <a href="http://en.wikipedia.org/wiki/Donald_Norman">Don Norman</a>, a founder of The Cognitive Science Society, and widely considered to be the first to apply advanced human factors to design via cognitive design on The three ways that good design makes you happy<strong>:</strong></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RlQEoJaLQRA&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/RlQEoJaLQRA&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The three ways he talks about are:</p>
<ul>
<li>Visceral:  How pleasant things seem to work better.</li>
<li>Behavioral: How good design lets you feel in control.</li>
<li>Reflective: How people prefer design that reflects their personality.</li>
</ul>
<p>One interesting point he makes is how a happy state of mind is puts the brain in &#8221;breadth first search&#8221;  mode and is more conducive for out of the box thinking, but tension and some pressure puts you in a &#8220;depth first search&#8221; mode (as dopamine gets added into the system).  Moment of self realization here for me personally: as a programmer I have often preferred tighter deadlines (note: not to be confused with unrealistic) to open ended project timelines. I need the pressure to focus. A bunch of my programmer friends say they feel the same way. Thats why the <a href="http://en.wikipedia.org/wiki/Burn_down_chart">burn down charts</a> for closed work tickets is almost never the ideal one:</p>
<p><img class="alignnone size-full wp-image-538" title="ideal_timeline2" src="http://www.arpitonline.com/blog/wp-content/uploads/2010/04/ideal_timeline2.jpg" alt="ideal_timeline2" width="698" height="286" /></p>
<p>(note the change of slope as projects approach end dates = more pressure)</p>
<p>There is often the temptation (by me anyway) to carry the model of deadline driven development to design, but Don Norman&#8217;s talk indicates that this would be a bad idea, especially if you are concepting new experiences.  How much pressure in terms of deadlines and deliverables can anyone apply on design teams before you kill lateral thinking thats absolutely required for creative teams. However its just as easy to fall into the time sink of finding the perfect experience. <a href="http://en.wikiquote.org/wiki/Voltaire">Voltaire&#8217;s quote</a> about Good being the enemy of Great comes to mind again.</p>
<p>So concept in breadth first mode, execute in depth first.</p>
<p>The concept also seems applicable to application/web design around browse and consume. Browse pages/screens, where there isn&#8217;t an end goal really and a user is out looking for &#8220;something interesting&#8221;, should put people&#8217;s brains in breadth first mode, with more emphasis on visuals, etc, but when the user is in content consumption mode, like say on video consumption pages or web search, pages, a muted design may be a better idea. It certainly explains why Google Search pages, which most of us use to get to something we need and not really browse, work so well, but on all their other applications where users are more about entertainment than work, their designs feel awful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/04/10/on-breadth-first-and-depth-first-thinking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thank you Apple, May I have another&#8230;not!</title>
		<link>http://www.arpitonline.com/blog/2010/04/08/thank-you-apple-may-i-have-another-not/</link>
		<comments>http://www.arpitonline.com/blog/2010/04/08/thank-you-apple-may-i-have-another-not/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 23:34:38 +0000</pubDate>
		<dc:creator>arpit</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.arpitonline.com/blog/?p=530</guid>
		<description><![CDATA[Word on the street:

Apple&#8217;s new wording on the iPhone SDK disallows cross compiling iPhone apps, like the Adobe Flash CS5 IDE was doing.
Other cross compiler solution vendors like Appcelerator,  Unity and Phone Gap are not sure what this means for them. Appcelerator&#8217;s blog goes down because of dev traffic.
Flash community pretty vocal about this:

Peter Elst: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 20px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F08%2Fthank-you-apple-may-i-have-another-not%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.arpitonline.com%2Fblog%2F2010%2F04%2F08%2Fthank-you-apple-may-i-have-another-not%2F" height="61" width="51" /></a></div><div>Word on the street:</div>
<ul>
<li>Apple&#8217;s new wording on the iPhone SDK <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">disallows cross compiling iPhone app</a>s, like the Adobe Flash CS5 IDE was doing.</li>
<li>Other cross compiler solution vendors like <a href="http://www.appcelerator.com/">Appcelerator</a>,  <a href="http://unity3d.com/">Unity </a>and <a href="http://phonegap.com/">Phone Gap</a> are not sure what this means for them. Appcelerator&#8217;s blog goes down because of dev traffic.</li>
<li>Flash community pretty vocal about this:
<ul>
<li>Peter Elst: <a href="http://www.peterelst.com/blog/2010/04/09/apple-versus-developers-this-time-its-personal/">Apple vs Developers: This time its personal</a></li>
<li>Kevin Suttle: <a href="Apple Reaffirms Control Issues with iPhone 4">Apple Reaffirms Control Issues with iPhone 4</a></li>
<li>Adobe Platform evangelist Lee Brimelow: <a href="http://theflashblog.com/?p=1888">Apple Slaps Developers in the Face</a></li>
<li>Hey a new <a href="http://twitter.com/#search?q=fuckapple">twitter hashtag</a> is born</li>
</ul>
</li>
<li>The larger developer community calls the BS on <a href="http://news.ycombinator.com/item?id=1250799">Hacker News</a> and <a href="http://www.reddit.com/r/programming/comments/bobrx/new_iphone_developer_agreement_bans_the_use_of/">Reddit</a></li>
<li>Adobe will still release CS5 on 12th April as planned</li>
<li>Reasons continue to pile up on why the Apple eco system has started to feel so stifling:
<ul>
<li>Book apps <a href="http://www.marco.org/500743718">cannot use Screen Brightness APIs</a>, so iBooks looks like such a better app.</li>
<li>AppStore <a href="http://www.appleinsider.com/articles/10/04/07/apple_rejected_ipad_app_for_using_pinch_to_expand_gesture.html">rejects app</a> because developer implements (from the ground up) a UI feature thats too close to forbidden iPad gesture (seriously? A forbidden gesture?)</li>
<li>You cannot use <a href="New iPhone Developer Agreement Bans the Use of Third-Party Analytics and Services">third party analytics or geo-targeted ad systems</a></li>
</ul>
</li>
</ul>
<p>The Daring Fireball post talks about how Adobe is screwed now. I dont know about the financial implications, but if nothing else, the CS5 cross compiler has definitely proven how the exclusion of certain runtimes has nothing to do with performance but is a pure power play.</p>
<p>In other news, I am now looking for the cheapest way to get a Nexus 1. Could Adobe and Google please set up something for us refugees from the big A dictatorship?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arpitonline.com/blog/2010/04/08/thank-you-apple-may-i-have-another-not/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
