<?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>Hung Truong: The Blog! &#187; Software</title>
	<atom:link href="http://www.hung-truong.com/blog/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hung-truong.com/blog</link>
	<description>I say potato, you say potato...</description>
	<lastBuildDate>Sun, 22 Jan 2012 18:10:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Thoughts on Spotify</title>
		<link>http://www.hung-truong.com/blog/2011/07/19/thoughts-on-spotify/</link>
		<comments>http://www.hung-truong.com/blog/2011/07/19/thoughts-on-spotify/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 12:14:44 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Spotify]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2479</guid>
		<description><![CDATA[I was lucky enough to get an early invite to Spotify last week thanks to my high Klout score (I honestly think anyone with a pulse got an invite) and I&#8217;ve been playing around with it for a few days. Here&#8217;s my thoughts on the service thus far. One thing I&#8217;ve noticed is that I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/07/Spotify.png" rel="lightbox[2479]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/07/Spotify-500x225.png" alt="" title="Spotify" width="500" height="225" class="aligncenter size-medium wp-image-2480" /></a></p>
<p>I was lucky enough to get an early invite to <a href="http://www.spotify.com/">Spotify</a> last week thanks to my high Klout score (I honestly think anyone with a pulse got an invite) and I&#8217;ve been playing around with it for a few days. Here&#8217;s my thoughts on the service thus far.</p>
<p>One thing I&#8217;ve noticed is that I&#8217;m using Spotify for listening to stuff that I don&#8217;t already have in my library. This is sort of weird because I recently switched to an SSD and none of my music is actually in my library. Yet I use Spotify for listening to stuff that&#8217;s not on my external hard drive (which I almost never have plugged in). I think this behavior might be due to the fact that Spotify is making me a fat kid in a candy store (but for music). I want to keep searching to test Spotify&#8217;s limits and see how much music it really has. So far it&#8217;s been doing really well.</p>
<p>Specifically, I have been using Spotify mostly to listen to music that was popular when I was in middle school (this was like, 14 years ago). This music is stuff that I&#8217;m either too embarrassed to have on my hard drive, or I simply never had. Yet it&#8217;s totally great for nostalgia&#8217;s sake. I&#8217;ve been listening to No Doubt, Toni Braxton, Weezer, Mariah Carey, etc. Stuff that brings me back to that era. It&#8217;s pretty cool.</p>
<p>One workflow that Spotify has replaced for me is the awkward one of going to YouTube and looking for a video of a song I want to hear. I don&#8217;t know how many times I&#8217;ve had to go to YouTube and searched for something like &#8220;<a href="http://www.youtube.com/watch?v=-sZzCyJVb4o">Head Over Heels</a>&#8221; by Tears For Fears just to listen to a song (it&#8217;s just a static image of the album cover). It&#8217;s much, much quicker just to search in Spotify and get super instant gratification.</p>
<p>Comparisons to the new hot startup, <a href="http://turntable.fm">Turntable</a>, are pretty much impossible to avoid. Turntable is really fun for interacting with people (and music discovery), but sometimes you just want to listen to what you want to listen to (and not wait for other DJs before your song comes on). I think the two services have very different use cases, and each works well for its intended use.</p>
<p>One thing Spotify could work on is music discovery. It&#8217;s kind of ridiculous the only music it pushes are the top albums, artists and songs. All the stuff on this list are top 20 bullshit that I really have no interest in listening to (just ignore the top 20 &#8220;bullshit&#8221; from the 90&#8242;s that I just admitted to listening to). In this day and age, it&#8217;s ridiculous for a music service to not include some kind of recommendation engine or radio feature. Browsing music on the service by genre, year or anything besides search is impossible. In terms of features, Spotify is actually kind of disappointing.</p>
<p>Despite the obvious shortcomings, I have a lot of high hopes for Spotify. It&#8217;s a really nice example of how consumers can enjoy getting stuff from &#8220;the cloud&#8221; without making it too complicated. I hope that it continues to improve, especially in the music discovery and browsing categories.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/07/19/thoughts-on-spotify/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>♥s Threadless for iPad Release!</title>
		<link>http://www.hung-truong.com/blog/2011/03/23/%e2%99%a5s-threadless-for-ipad-release/</link>
		<comments>http://www.hung-truong.com/blog/2011/03/23/%e2%99%a5s-threadless-for-ipad-release/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 20:22:41 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[T-Shirts]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Threadless]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2396</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
About a week ago I thought about working some more on ♥s Threadless, my fan made iPhone app. I originally designed it for the small iOS devices like the iPhone and iPod touch, and figured I would do the proper iPad version later. I got the itch, so I got to work figuring out what [...]]]></description>
			<content:encoded><![CDATA[<p>About a week ago I thought about working some more on ♥s Threadless, my fan made iPhone app. I originally designed it for the small iOS devices like the iPhone and iPod touch, and figured I would do the proper iPad version later. I got the itch, so I got to work figuring out what an app on the bigger screen would look like. </p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/iPad1.png" rel="lightbox[2396]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/iPad1-500x375.png" alt="" title="iPad1" width="500" height="375" class="aligncenter size-medium wp-image-2397" /></a></p>
<p>I knew that I wanted a grid-y layout as opposed to the list-y one of the iPhone/iPod, which was partly the reason why I hadn&#8217;t done the iPad version yet. Lists on iOS are easy because they&#8217;re given to you for free. Grids are a whole other beast. Luckily, I ran into a framework (<a href="https://github.com/AlanQuatermain/AQGridView">AQGridView</a>) on GitHub that does grid layouts in a tableview-y sort of paradigm. The framework was still a little beta (or alpha) as I had to go in and change a few things that were crashing, but it did succeed in making my job a lot easier overall. I&#8217;d like to try contributing to that code to improve it, but I guess that&#8217;s another post altogether.</p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/iPad3.png" rel="lightbox[2396]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/iPad3-450x600.png" alt="" title="iPad3" width="450" height="600" class="aligncenter size-medium wp-image-2398" /></a></p>
<p>After getting the grid stuff working, I decided to use a modal pop up view to display the images and sharing options all in one view. Since the iPad has much more screen real estate, it&#8217;s easy to design things without running into space issues. You don&#8217;t, however, want to just stick a billion buttons in because you can. I think this design does a good job of showing enough stuff to the user, but not too much stuff too soon.</p>
<p>I still have some bugs to fix, mainly with memory management due to the grid view stuff. If you have any suggestions, feel free to comment on this blog! </p>
<p>Hopefully the iPad app continues the mission of the iPhone app, which is to provide a really easy and fun way to browse and share awesome Threadless designs! I may have been an early iPad doubter, but I really believe that it&#8217;s a great device for consuming content. Even on my iPad 1, the designs and colors just pop on the app. At least I think so. But you don&#8217;t have to take my word for it!</p>
<p><a href="http://itunes.apple.com/us/app/id403917180?mt=8">Get the app if you don&#8217;t have it already</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/03/23/%e2%99%a5s-threadless-for-ipad-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic Checkins in Google Latitude</title>
		<link>http://www.hung-truong.com/blog/2011/02/02/automatic-checkins-in-google-latitude/</link>
		<comments>http://www.hung-truong.com/blog/2011/02/02/automatic-checkins-in-google-latitude/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 06:17:05 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Checkmate]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Latitude]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2319</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
It looks like Google has updated their Latitude app with checkins, including automatic notifications and checkins (and checkouts). When I developed Checkmate, there wasn&#8217;t really a standard design for the auto-checkin behavior. Some users have mentioned that the app might work better by sending notification to check in, more like reminders. I&#8217;ve leaned towards fully [...]]]></description>
			<content:encoded><![CDATA[<p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="500" height="311" src="http://www.youtube.com/embed/IVLsRo7-3Lk?rel=0" frameborder="0" allowFullScreen></iframe></p>
<p>It looks like Google has updated their Latitude app with checkins, including automatic notifications and checkins (and checkouts).</p>
<p>When I developed <a href="http://www.checkinmate.com">Checkmate</a>, there wasn&#8217;t really a standard design for the auto-checkin behavior. Some users have mentioned that the app might work better by sending notification to check in, more like reminders. I&#8217;ve leaned towards fully automated checkins, myself.</p>
<p>Google seems to be taking a hybrid approach, which is pretty interesting. You get a notification the first time you arrive somewhere (probably only for places you&#8217;ve checked into before), and then an option to automatically check in after that.</p>
<p>I might end up building some kind of hybrid (or a simple option in settings) system in Checkmate to see if that works better in general. I wonder how Google is mitigating the cost of GPS usage in its Latitude app. I always figured that the thing keeping auto-checkin out of official apps is the fact that they run the battery down pretty hard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/02/02/automatic-checkins-in-google-latitude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instascriber: Automagically Add Content to Instapaper</title>
		<link>http://www.hung-truong.com/blog/2011/01/24/instascriber-automagically-add-content-to-instapaper/</link>
		<comments>http://www.hung-truong.com/blog/2011/01/24/instascriber-automagically-add-content-to-instapaper/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 00:12:21 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Instapaper]]></category>
		<category><![CDATA[Instascriber]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2238</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I just &#8220;announced&#8221; a little web app that I&#8217;ve been developing off and on called &#8220;Instascriber.&#8221; It&#8217;s basically a tool to help you populate your Instapaper reading list with stuff using an RSS Feed subscription model. If you use Instapaper a lot and use it to keep track of your reading list, you might want [...]]]></description>
			<content:encoded><![CDATA[<p>I just &#8220;announced&#8221; a little web app that I&#8217;ve been developing off and on called &#8220;<a href="http://www.instascriber.com">Instascriber</a>.&#8221; It&#8217;s basically a tool to help you populate your <a href="http://www.instapaper.com">Instapaper</a> reading list with stuff using an RSS Feed subscription model. If you use Instapaper a lot and use it to keep track of your reading list, you might want to automatically add new items, say from the New York Times Book section, into your Instapaper reading list. If you already know you&#8217;d like to read the content on Instapaper, it&#8217;s a pain to manually add each thing you want to read.</p>
<p>With Instascriber, you can just set the feed you&#8217;d like to subscribe to. Instascriber will periodically check the feed for new items and add it to your Instapaper reading list automatically in the background. That&#8217;s it. Boom!</p>
<p>For now, I&#8217;m considering the web app to be in beta. So let me know if you find bugs or anything.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/01/24/instascriber-automagically-add-content-to-instapaper/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>U of M 2010 Mobile Apps Competition &#8211; FTW!</title>
		<link>http://www.hung-truong.com/blog/2011/01/18/u-of-m-2010-mobile-apps-competition-ftw/</link>
		<comments>http://www.hung-truong.com/blog/2011/01/18/u-of-m-2010-mobile-apps-competition-ftw/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 18:08:17 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2230</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Continuing in my tradition of winning contests that I entered with very little expectation of actually winning, I got an email a week or two back about the University of Michigan 2010 Mobile Apps Competition that I entered in November. The competition is open to students, faculty and staff at the university. Since I&#8217;m working [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing in my tradition of <a href="http://www.hung-truong.com/blog/2009/03/21/yahoos-hacku-event-at-the-university-of-michigan/">winning contests</a> that I entered with <a href="http://www.hung-truong.com/blog/2009/01/22/i-won-a-facebook-contest/">very little expectation</a> of actually winning, I got an email a week or two back about the University of Michigan 2010 Mobile Apps Competition that I entered in November. The competition is open to students, faculty and staff at the university. Since I&#8217;m working on a part time basis at the university, I figured I would enter a few of my apps. I chose <a href="http://checkinmate.com/">Checkmate</a> and <a href="http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=403917180">♥s Threadless</a>, and made some awkward demo videos of each (warning, don&#8217;t play these simultaneously or your head might explode from too much Hung voice):</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/9whWRsaKn-c?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/9whWRsaKn-c?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/IjULZ7dbgaE?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IjULZ7dbgaE?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Checkmate ended up winning third place out of many many <a href="http://mobileapps.its.umich.edu/challenge-fall-2010">competitive entries</a> (leaders and the best!), so I&#8217;m super happy about that. Here&#8217;s <a href="http://www.ur.umich.edu/update/archives/110118/mobile">a story in the University Record about it</a>. The <a href="http://eecs.umich.edu/~prabal/projects/hijack/">HiJack project</a> that&#8217;s been getting a lot of press was the grand prize winner. Props to those guys!</p>
<p>Winning a prize in this contest was a really nice way to start my year. It&#8217;s really encouraging me to continue doing mobile apps and exploring what&#8217;s possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/01/18/u-of-m-2010-mobile-apps-competition-ftw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Impressions of Android From an iPhone User/Developer</title>
		<link>http://www.hung-truong.com/blog/2011/01/06/impressions-of-android-from-an-iphone-userdeveloper/</link>
		<comments>http://www.hung-truong.com/blog/2011/01/06/impressions-of-android-from-an-iphone-userdeveloper/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 19:55:14 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2220</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I just got an Android phone, the HTC Hero, to play around with and perhaps develop on. It was only $55 on Ebay (including shipping) which seemed like a steal to me. I&#8217;m currently using it on WiFi without any phone service (the phone has a bad ESN, so that&#8217;s probably why the price was [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/01/android-s1-box.jpg" alt="" title="android-s1-box" width="500" height="375" class="aligncenter size-full wp-image-2221" /></p>
<p>I just got an Android phone, the HTC Hero, to play around with and perhaps develop on. It was only $55 on Ebay (including shipping) which seemed like a steal to me. I&#8217;m currently using it on WiFi without any phone service (the phone has a bad ESN, so that&#8217;s probably why the price was so low).</p>
<p>My first impression as an iPhone user is that the interface is really clunky. There just isn&#8217;t as much attention payed to detail. For example, there are often measurable delays between pressing a button and seeing something happen. This happens when I try to add a widget to the home screen or open an app that hasn&#8217;t been opened into memory. If I press a button and I don&#8217;t see something <a href="http://www.useit.com/papers/responsetime.html">happen immediately</a>, I will assume I missed the button and press it again. This is extremely frustrating since the iPhone animates immediately upon user interaction. The iPhone may not be any faster than my Android phone, but it at least gives the illusion of it (which is probably just as good in terms of usability).</p>
<p>Another thing I noticed is the lack of &#8220;back&#8221; buttons in the Android apps. Even Twitter lacks the onscreen back button. I assume this is following some kind of standard Android paradigm of favoring physical buttons over onscreen ones. It took me a while to get used to hitting the physical back button (and home, menu and search for that matter) instead of looking for navigation on the screen. While this is a different paradigm, I&#8217;m not sure I&#8217;m in a position to say it&#8217;s worse, better or on par with the iPhone. My suspicion is that the lack of onscreen navigation requires the user to go through more context switches (screen to physical button back to screen) which is disorienting. This is made worse by the fact that there&#8217;s seven fuckin&#8217; buttons on my particular phone! I&#8217;m sure people adapt and get used to it, but I&#8217;m personally used to having just one button that takes me to the home screen (oh, and the volume and lock buttons, but they don&#8217;t serve dynamic functions in applications (unless they want to break the App Store terms)).</p>
<p>About the only positive thing I can say about the Android platform is that Google is integrating the shit out of it with their own services. I only have to sign in once with my Google account and I get Voice, Talk, Maps, Search, Goggles, Places, Latitude, Market, Contacts, Gmail, YouTube and probably some other things I&#8217;m forgetting. The voice commands are incredibly cool, though I wonder how many times I&#8217;d actually use them instead of doing things the normal way. Oh, another positive is that Angry Birds is free on Android, though my device is way too slow to run it.</p>
<p>I&#8217;m currently using a ROM with 2.2 on my HTC Hero, so that might account for some performance issues (though I thought it was supposed to be faster). I&#8217;m still kind of unimpressed by Android as a whole though, especially in terms of end to end usability. I originally got this device so I could test code on hardware, but I&#8217;m not so sure I even want to develop for Android anymore. I&#8217;ll probably end up writing some simple code, at least.</p>
<p>Does anyone with a newer Android phone want to debunk or argue with anything I&#8217;ve written?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/01/06/impressions-of-android-from-an-iphone-userdeveloper/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>♥s Threadless: iPhone App Launch!</title>
		<link>http://www.hung-truong.com/blog/2010/11/28/loves-threadless-iphone-app-launch/</link>
		<comments>http://www.hung-truong.com/blog/2010/11/28/loves-threadless-iphone-app-launch/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 04:21:18 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[T-Shirts]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[Threadless]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2091</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Today my newest app was approved for the App Store (and should be propagating quickly)! ♥s Threadless is what I&#8217;ve been working on mostly for the past few weeks or so. Hurry up and download and review it, then come back here for more info about the app. It&#8217;s no secret that I&#8217;ve been a [...]]]></description>
			<content:encoded><![CDATA[<p>Today my newest app was approved for the App Store (and should be propagating quickly)! <a href="http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=403917180">♥s Threadless</a> is what I&#8217;ve been working on mostly for the past few weeks or so. Hurry up and download and review it, then come back here for more info about the app.</p>
<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/11/Threadless-Shirt-list.png" alt="" title="Threadless Shirt list" width="320" height="480" class="aligncenter size-full wp-image-2093" /></p>
<p>It&#8217;s no secret that I&#8217;ve been a huge fan of <a href="http://www.threadless.com?streetteam=notoupee">Threadless</a> since I discovered it back in 2005 (<a href="http://www.hung-truong.com/blog/tag/threadless/">see these blog posts for proof</a>). I really love the fact that the community provides designs and decides which ones will be printed. The company is really only there to provide the machinery to make shirts and fulfill orders! I wanted to contribute to the community by making an unofficial Threadless app (and maybe get a little store credit to feed my t-shirt needs).</p>
<p>My main reasoning for writing a native Threadless app is that I found it pretty hard to browse shirts, even in a fully fledged web browser let alone an iPhone browser. The Threadless site is by no means bad, but it&#8217;s hard to see what designs look like when the images are small and on models. I prefer viewing the actual design. So I built an app that makes it easy to 1) browse and find cool shirts and 2) share them with your friends.</p>
<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/11/Threadless-Search.png" alt="" title="Threadless Search" width="320" height="480" class="aligncenter size-full wp-image-2095" /></p>
<p>In order to do this, I needed to get a database of shirts on Threadless. It&#8217;s kind of unfortunate that Threadless doesn&#8217;t have an API. At all. Threadless does, however, has a few feeds of shirts: one for shirts that are in stock and another for the weekly additions. I parsed this list of shirts and saved them in an App Engine database along with some other metadata like image urls, category info, etc. I also figured out a way to get the list of all Threadless shirts, including the ones that aren&#8217;t currently in stock. What this means is that the ♥s Threadless app will help you find more shirts than even the official website can. You can filter by category, color and run fulltext searches on the entire shirt database.</p>
<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/11/Threadless-Filter.png" alt="" title="Threadless Filter" width="320" height="480" class="aligncenter size-full wp-image-2096" /></p>
<p>As far as the front end work went, I had to build a custom table view cell to scroll through shirts and a nested scrollview to view shirt images. The shirt view looks a lot like the native photo browser app for the iPhone. I also added features for sharing, including saving the image to your photo album, posting the design on Twitter and Facebook and emailing the shirt design as an attachment. I figure that covers most bases as far as sharing goes. </p>
<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/11/Threadless-Sharing.png" alt="" title="Threadless Sharing" width="320" height="480" class="aligncenter size-full wp-image-2098" /></p>
<p>So far I&#8217;ve only designed and built the iPhone version. I think an iPad version would be neat, too, but I want to gauge the interest in the iPhone/iPod app before putting more time into this. If you like the app, <a href="http://twitter.com/threadlessapp/">let me know</a> and <a href="http://itunes.apple.com/us/app/id403917180?mt=8">write up a review for it</a>!</p>
<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/11/Threadless-Shirt-View.png" alt="" title="Threadless Shirt View" width="320" height="480" class="aligncenter size-full wp-image-2102" /></p>
<p>Finally, here&#8217;s a video demo of the app, just for fun:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/IjULZ7dbgaE?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IjULZ7dbgaE?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/11/28/loves-threadless-iphone-app-launch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Letterpress in Apple iLife &#8217;11</title>
		<link>http://www.hung-truong.com/blog/2010/10/20/letterpress-in-apple-ilife-11/</link>
		<comments>http://www.hung-truong.com/blog/2010/10/20/letterpress-in-apple-ilife-11/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 19:52:30 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Old Tech]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[letterpress]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2071</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Today I decided to have the Apple &#8220;Back to Mac&#8221; keynote stream while working on other stuff. I was literally setting up a print job in my composing stick when I heard Steve Jobs mention that iLife will have a letterpress printing option. I never imagined that Apple would move in on my turf when [...]]]></description>
			<content:encoded><![CDATA[<p>Today I decided to have the Apple &#8220;Back to Mac&#8221; keynote stream while working on other stuff. I was literally setting up a print job in my composing stick when I heard Steve Jobs mention that iLife will have a letterpress printing option. I never imagined that Apple would move in on my turf when I decided to get an <a href="http://www.hung-truong.com/blog/2010/09/27/new-addition-to-the-home-mortimer-the-letterpress/">old style printing press</a>!</p>
<p>It looks like you&#8217;ll be able to order prints from a number of templates, some of which can also include photos:</p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/10/apple-letterpress-1.jpg" rel="lightbox[2071]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/10/apple-letterpress-1-500x271.jpg" alt="" title="apple letterpress 1" width="500" height="271" class="aligncenter size-medium wp-image-2072" /></a><br />
<a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/10/Apple-Letterpress-2.jpg" rel="lightbox[2071]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/10/Apple-Letterpress-2-500x271.jpg" alt="" title="Apple Letterpress 2" width="500" height="271" class="aligncenter size-medium wp-image-2073" /></a></p>
<p>I think it&#8217;s neat that letterpress is becoming mainstream (again) enough that it warrants a feature in iLife. As far as my concerns about taking away business (which I haven&#8217;t quite decided to get into), I think it&#8217;s good that Apple&#8217;s pushing this kind of typing further into the mainstream. There&#8217;ll probably be a lot more people interested in letterpress, and not just for the personalized photo cards, etc.</p>
<p>On a technical note, I&#8217;m interested how Apple is going to farm out the print jobs. Do they have their own print shop with all the Heidelberg machines, or are they partnering with a shop? Depending on the volume of orders, I wonder what their turnaround time would be.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/10/20/letterpress-in-apple-ilife-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I Learned From Checkmate</title>
		<link>http://www.hung-truong.com/blog/2010/09/09/what-i-learned-from-checkmate/</link>
		<comments>http://www.hung-truong.com/blog/2010/09/09/what-i-learned-from-checkmate/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 15:14:27 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Checkmate]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2011</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Just about two weeks ago, I released my first paid iPhone app, Checkmate. The experience has been priceless, plus I made a few bucks as well. I thought I&#8217;d share the stuff I learned, both technical and otherwise. Technical: Core Location. Being the first iPhone app I&#8217;ve done that uses Core Location, I learned a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/CheckMate-Foursquare-Logo.png" alt="" title="CheckMate-Foursquare-Logo" width="220" height="120" class="aligncenter size-full wp-image-2012" /></p>
<p>Just about two weeks ago, I <a href="http://www.hung-truong.com/blog/2010/08/25/checkmate-for-foursquare-for-iphone-release/">released my first paid iPhone app</a>, <a href="http://www.checkinmate.com/">Checkmate</a>. The experience has been priceless, plus I made a few bucks as well. I thought I&#8217;d share the stuff I learned, both technical and otherwise.</p>
<h3>Technical:</h3>
<p><strong>Core Location.</strong> Being the first iPhone app I&#8217;ve done that uses Core Location, I learned a lot about the process of starting up the location manager, filtering location updates and getting them to work in the background. The background stuff is pretty new, just released in iOS 4.</p>
<p><strong>Design takes thought.</strong> One of the most difficult things in designing an app is balancing between user expectations (&#8220;it should work like magic&#8221;) and real-world constraints (battery, accuracy tradeoffs). I&#8217;ve taken the approach of leaving the details under the hood (another app that does something similar gives users full control) for simplicity. This is a deliberate design decision. I&#8217;ve found that many users are happy with the app, and some are unhappy. I assume there is a minority that is unhappy, but that they seem to be more vocal (more on that later).</p>
<p><strong>Core Data.</strong> I also learned about Core Data, since I use that for storing venue data persistently. There&#8217;s a bit of a learning curve with Core Data, but I have a pretty good idea of how it works. I guess it helps that I&#8217;ve designed a bunch of database schema in the past.</p>
<p><strong>Get to good enough.</strong> I definitely feel like I have accomplished something by releasing the app. I have wrestled in the past between releasing something when it&#8217;s &#8220;good enough&#8221; but not getting stuck in perfectionist limbo. In the case of Checkmate, I got to a point where I was happy enough with its performance (it works) and did not want to delay any further, lest I lose steam and give up on ever releasing it. Now that I&#8217;ve gotten a feedback loop going, it&#8217;ll be easier to improve and update the app anyway. As far as interface design goes, the app is a bit clunky for my taste. Having admitted that, I think I could go back and make some things more obvious (like the login screen) and polish up the user experience.</p>
<h3>Business-ey</h3>
<p><strong>Ask for reviews.</strong> Ask satisfied customers for reviews. Because if you don&#8217;t, only the unhappy users will post them. And you&#8217;ll end up getting a pretty bad average rating. Even if your app makes crap into gold, there will be users who don&#8217;t see the value in it, or think that $2 is too much to pay. Encourage users to post reviews in-app and you&#8217;ll see a well-rounded view of what people think about your app.</p>
<p><strong>It&#8217;s okay to have a competitor.</strong> While developing my app, I found that another similar app had launched and gotten some press from Techcrunch. This was a bit depressing as I wanted to have that exposure. I ended up using it as a motivator since the blog post and app validated my own idea. There&#8217;s always room for competition, especially if you can outdo them.</p>
<p><strong>Popular takes all on the App Store.</strong> There have been blog posts on the subject of iTunes ranking and how valuable it is to make a top 100 list. Apps seem to be ranked in search based on their sales volume, which means that popular apps will become more popular. Having been featured on <a href="http://mashable.com/2010/08/25/checkmate-for-foursquare/">Mashable</a> at launch, my app got to #2 for a &#8220;foursquare&#8221; search. This helped a lot for residual sales. I&#8217;m assuming that most apps are sold directly from app store searches. There are other ways to discover apps.</p>
<p><strong>Have fun!</strong> It was really exhilarating to see my app get into the app store and into the hands of users. I set up a <a href="https://twitter.com/checkmateapp">twitter account</a> to communicate with users, monitored twitter searches for my app and answered emails sent through a contact form on my website. It was really fun having people react to work that I did. It&#8217;s probably one of the strongest motivators for me to keep doing what I&#8217;m doing.</p>
<p>I have learned a great deal from my first commercial app launch. I&#8217;m really glad that I had an idea and stuck with it to completion. I&#8217;m still learning a great deal from Checkmate. I know that this experience will make the launch of my next product/app (whatever it might be) more smooth, both for me and users!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/09/09/what-i-learned-from-checkmate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Checkmate for Foursquare (for iPhone) Release!</title>
		<link>http://www.hung-truong.com/blog/2010/08/25/checkmate-for-foursquare-for-iphone-release/</link>
		<comments>http://www.hung-truong.com/blog/2010/08/25/checkmate-for-foursquare-for-iphone-release/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 17:40:19 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Checkmate]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2001</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
My second iPhone app, Checkmate, just got approved in the Apple App Store last night. It&#8217;s an auto-check-in app that runs in the background. You select your favorite venues, and Checkmate will check you into them when you get close enough, even when the phone is still in your pocket! I wrote this app because [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.checkinmate.com/"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-large-500x500.png" alt="" title="Checkmate-large" width="500" height="500" class="aligncenter size-medium wp-image-2002" /></a></p>
<p>My second iPhone app, <a href="http://www.checkinmate.com/">Checkmate</a>, just got approved in the Apple App Store last night. It&#8217;s an auto-check-in app that runs in the background. You select your favorite venues, and Checkmate will check you into them when you get close enough, even when the phone is still in your pocket! I wrote this app because I got annoyed at forgetting to check into places on foursquare while there.</p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-Screenshot-1.png" rel="lightbox[2001]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-Screenshot-1-150x150.png" alt="" title="Checkmate-Screenshot-1" width="150" height="150" class="size-thumbnail wp-image-2003" /></a><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-Screenshot-2.png" rel="lightbox[2001]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-Screenshot-2-150x150.png" alt="" title="Checkmate-Screenshot-2" width="150" height="150" class="size-thumbnail wp-image-2005" /></a><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-screenshot-3.png" rel="lightbox[2001]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/08/Checkmate-screenshot-3-150x150.png" alt="" title="Checkmate-screenshot-3" width="150" height="150" class="size-thumbnail wp-image-2006" /></a></p>
<p>If you&#8217;d like to get Checkmate, you can <a href="http://itunes.apple.com/us/app/checkmate-for-foursquare/id385889232?mt=8">buy it here</a> for the low price of $2. For more info, check out <a href="http://www.checkinmate.com/">the official website</a> I made for it. And follow <a href="https://twitter.com/checkmateapp">Checkmateapp</a> on Twitter for news on the app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/08/25/checkmate-for-foursquare-for-iphone-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

