<?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; Apple</title>
	<atom:link href="http://www.hung-truong.com/blog/tag/apple/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 Textbooks on iBooks</title>
		<link>http://www.hung-truong.com/blog/2012/01/22/thoughts-on-textbooks-on-ibooks/</link>
		<comments>http://www.hung-truong.com/blog/2012/01/22/thoughts-on-textbooks-on-ibooks/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 18:10:30 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Nerd]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iBooks]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2544</guid>
		<description><![CDATA[I was thinking about the latest news from Apple, that they were partnering with textbook publishers to bring cheaper textbooks directly to the iPad while at the same time releasing an application for anyone to publish iBooks for the Apple Bookstore. Perhaps I am being cynical, but it&#8217;s always appeared to me that the main [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2012/01/textbooks_hero.png" rel="lightbox[2544]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2012/01/textbooks_hero-500x217.png" alt="" title="" width="500" height="217" class="aligncenter size-medium wp-image-2549" /></a></p>
<p>I was thinking about the latest news from Apple, that they were partnering with textbook publishers to bring cheaper textbooks directly to the iPad while at the same time releasing an application for anyone to publish iBooks for the Apple Bookstore. </p>
<p>Perhaps I am being cynical, but it&#8217;s always appeared to me that the main business model of a textbook publisher is to slightly tweak versions of a textbook, altering page numbers and quiz questions in order to force students to buy newer editions instead of used ones. Perhaps the industry is thinking that iBooks will eliminate the used book market, and they&#8217;re probably right. But this could also have some negative (for publishers) side effects as well. </p>
<p>Apple is lowering the distribution costs of textbooks dramatically. Assuming that schools actually pay for a set of iPads for each student, it becomes trivially easy (with the iBook publishing software) to create free textbooks for schools. Who would want to give textbooks away for free? Teachers. There are cases of <a href="http://www.usnews.com/education/blogs/high-school-notes/2011/12/19/teachers-publish-their-own-textbooks">teachers self-publishing</a> for their own schools, but for this idea to really work, I think teachers would need to collaboratively create a textbook that meets either regional or national standards and release it for free on iBooks. If you don&#8217;t believe this will happen, take a look at <a href="http://www.khanacademy.org/">Khan Academy</a>.</p>
<p>Previous attempts to create free textbooks have been hit or miss. I am not quite sure how popular <a href="http://en.wikibooks.org/wiki/Main_Page">Wikibooks</a> are in the classroom. The problem is probably that of traction and scale. Previously, no one has created a standard for e-textbook distribution. Apple is doing that with iBooks. The beautiful part is that they&#8217;re bootstrapping it with traditional publishers who are probably digging their own grave.</p>
<p>Of course, this could play out in a number of ways. Maybe iBooks will prove to be too costly for most public schools to adopt (I&#8217;m guessing this is very likely). If only private schools or schools with a lot of funding can support them, it may not become worthwhile to create free textbooks for all. </p>
<p>What I&#8217;d hope to see is a slow adoption of iPads in the classroom using iBooks as textbooks. Once a critical mass of schools is using iBooks, free textbooks will be developed and adopted by certain school districts and spread to others.</p>
<p>I&#8217;m glad to see that Apple is trying to &#8220;disrupt&#8221; (I lose some points here by using a word I hate) the textbook industry, and it&#8217;s awesome that they&#8217;re partnering with that industry to do it. I&#8217;m really looking forward to seeing how this plays out, hopefully for the benefit of our education system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2012/01/22/thoughts-on-textbooks-on-ibooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapskrieg iPhone/iPad App Launch!</title>
		<link>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/</link>
		<comments>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 14:29:31 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2403</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&#8217;s been about 4 years since I announced the launch of Mapskrieg, my Google Maps and craigslist mashup web app. Since then, I&#8217;ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I&#8217;m happy to announce the launch of my newest app, Mapskrieg for iOS! I&#8217;ve been working on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/04/iPadandiPhoneMapskrieg.png" rel="lightbox[2403]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/04/iPadandiPhoneMapskrieg-500x340.png" alt="" title="iPadandiPhoneMapskrieg" width="500" height="340" class="aligncenter size-medium wp-image-2420" /></a></p>
<p>It&#8217;s been about 4 years since <a href="http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/">I announced the launch of Mapskrieg</a>, my Google Maps and craigslist mashup web app. Since then, I&#8217;ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I&#8217;m happy to announce the launch of my newest app, <a href="http://itunes.apple.com/us/app/mapskrieg-apartment-search/id429360989?mt=8&#038;ls=1">Mapskrieg for iOS</a>!</p>
<p>I&#8217;ve been working on this app for a few weeks, and I think it&#8217;s ready for public consumption. It&#8217;s basically <a href="http://www.mapskrieg.com/">Mapskrieg</a>, but developed natively for the iPhone and iPad. In the past, I&#8217;ve taken a sort of iterative approach of releasing fairly minimal apps and improving on them. For example, I released Threadless as an iPhone only app and later added the iPad support. I wanted to release Mapskrieg on both platforms so the launch would have a little more bang. Plus I think the iPad app is the better of the two, and I really wanted that one to stand out for the release. I&#8217;ve been getting much more comfortable with mobile development, and I&#8217;m very happy with the rate at which I was able to conceive and release this app.</p>
<p>That&#8217;s not to say I didn&#8217;t struggle or learn anything new with it. While a lot of the concepts are borrowed from my Threadless iPad app, I had to do a lot of stuff I hadn&#8217;t done before. For example, since Mapskrieg is going to rely on iAds to make money, I decided that both the iPad and iPhone versions would support iAd. Apple, in their infinite wisdom, made the split view controller a very useful and now, standard, design paradigm. Unfortunately, they don&#8217;t provide any support for using it with iAd at all. What the fucking fuck, Apple!? So I had to basically recreate the Split View (well, the landscape mode at least) in order to support iAds. It&#8217;ll be well worth it if I can rake in some iAd dough, though!</p>
<p>This post also comes almost 1 year after I quit my job at Microsoft. That milestone probably deserves its own post, but I&#8217;ll just say that I have not yet regretted my decision in the very least so far. This is as fun as it gets, folks!</p>
<p>Edit: Oh, I forgot to link to a demo video that I recorded for a contest. Check it out in case you don&#8217;t have an iOS device:</p>
<p><iframe title="YouTube video player" width="500" height="311" src="http://www.youtube.com/embed/Ja9UcUkDPio?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Note to Myself about UISplitViewController and Auto-Rotation</title>
		<link>http://www.hung-truong.com/blog/2011/03/14/note-to-myself-about-uisplitviewcontroller-and-auto-rotation/</link>
		<comments>http://www.hung-truong.com/blog/2011/03/14/note-to-myself-about-uisplitviewcontroller-and-auto-rotation/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 01:59:28 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[UISplitViewController]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2389</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 />
In order to prevent my future self from wasting like, 2 hours fucking around with UISplitViewController getting it to auto-rotate its subviews, here&#8217;s a little post! Most of the time, UISplitViewController doesn&#8217;t want to rotate because you didn&#8217;t set it as the root subview of the Window. This is pretty well documented on StackOverflow, etc. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/fuuuuu.jpg" rel="lightbox[2389]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/03/fuuuuu-e1300154340809.jpg" alt="" title="fuuuuu" width="268" height="343" class="aligncenter size-full wp-image-2391" /></a></p>
<p>In order to prevent my future self from wasting like, 2 hours fucking around with UISplitViewController getting it to auto-rotate its subviews, here&#8217;s a little post!</p>
<p>Most of the time, UISplitViewController doesn&#8217;t want to rotate because you didn&#8217;t set it as the root subview of the Window. This is pretty well documented on StackOverflow, etc. I thought this was why my splitviewblahblahblah wasn&#8217;t rotating. It turns out that, according to Apple&#8217;s documentation,</p>
<blockquote><p>A split view controller relies on its two view controllers to determine whether interface orientation changes should be made. If one or both of the view controllers do not support the new orientation, no change is made. This is true even in portrait mode, where the first view controller is not displayed. Therefore, you must override the shouldAutorotateToInterfaceOrientation: method for both view controllers and return YES for all supported orientations.</p></blockquote>
<p>The key here is that the view controller wasn&#8217;t autorotating because the subviews did not answer &#8220;YES!!!&#8221; (exclamation points added by me) to shouldAutoRotateToInterfaceOrientation. I was fucking around with the Split View Controller in Interface Builder (and later programmatically) to no avail. Adding the stupid autorotate thing to yes in the subviews made it work (shouldn&#8217;t it default to YES!?!??!).</p>
<p>Okay, lesson learned. Just don&#8217;t forget this next time, Hung!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/03/14/note-to-myself-about-uisplitviewcontroller-and-auto-rotation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iAd Vs. AdMob &#8211; Clicks, Fill Rate, Impressions, eCPM and Revenue</title>
		<link>http://www.hung-truong.com/blog/2011/02/07/iad-vs-admob-clicks-fill-rate-impressions-ecpm-and-revenue/</link>
		<comments>http://www.hung-truong.com/blog/2011/02/07/iad-vs-admob-clicks-fill-rate-impressions-ecpm-and-revenue/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 20:19:52 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[AdMob]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iAd]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2350</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 two weeks ago I updated one of my apps to use AdMob mobile ads when iAd fails to deliver (pretty damn often). Instead of swapping out iAd for AdMob, I use the iAd &#8220;didFailToReceiveAdWithError&#8221; delegate method to request an AdMob ad when iAd fails. This means that AdMob shouldn&#8217;t take any income away from [...]]]></description>
			<content:encoded><![CDATA[<p>About two weeks ago I updated one of my apps to use AdMob mobile ads when iAd fails to deliver (pretty damn often). Instead of swapping out iAd for AdMob, I use the iAd &#8220;didFailToReceiveAdWithError&#8221; delegate method to request an AdMob ad when iAd fails. This means that AdMob shouldn&#8217;t take any income away from iAd, but only supplement it. I thought I&#8217;d take a look at the stats and compare the performance of the two ad networks on my app.</p>
<p>(The following numbers I&#8217;m referring to are from the time period from 1/25 to 2/7)</p>
<p>For an idea of scale, my app, <a href="http://itunes.apple.com/us/app/anime-nano/id385697452?mt=8">Anime Nano</a>, gets about 600 iAd requests per day. My app analytics software (Flurry) is saying I&#8217;m getting about 600 sessions per day. The thing is that about 1/5 of those sessions are on the iPad (and I haven&#8217;t enabled iAd on the iPad yet), so I think that on average, the iPhone apps are making a little more than one iAd request per session.</p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/02/iadstats.png" rel="lightbox[2350]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/02/iadstats-500x47.png" alt="" title="iAd Stats" width="500" height="47" class="aligncenter size-medium wp-image-2352" /></a></p>
<p>Despite the fairly healthy rate of requests that I&#8217;m getting, iAds are only getting sent about 15% of the time. This percentage is what&#8217;s known as the &#8220;fill rate.&#8221; This is also what most developers complain about being too low. The clickthrough rate is actually pretty good at 0.81%. </p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/02/admobstats.png" rel="lightbox[2350]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/02/admobstats-500x42.png" alt="" title="AdMob Stats" width="500" height="42" class="aligncenter size-medium wp-image-2354" /></a></p>
<p>When iAd fails to deliver (85% of the time), I fall back to AdMob. The fill rate for AdMob is a high 88%, though the past few days it&#8217;s been closer to 99%. The CTR, however, is a fairly low 0.25%, which is less than half of iAd. This is partly due to the fact that AdMob ads refresh more often, so the number of impressions is higher.</p>
<p>I&#8217;m going to describe my revenue in terms of percentages here since ad platforms typically don&#8217;t like it when publishers publish their income. Not sure if that&#8217;s changed lately, but whatever! In the time period from 1/25/2011 to 2/7/2011, I made 2.3x more with iAd than AdMob, even with the super low fill rate (and impressions) of iAd. This is pretty interesting since iAd only shows up 15% of the time. There were actually a few days where AdMob beat iAd, but there were a couple of days where iAd made a killing (relatively), probably from those super awesome interactive ads which I still haven&#8217;t experienced firsthand yet. </p>
<p>For now, I&#8217;m content with the fill rate of AdMob, though it sort of pains me to see such a low click rate and revenue per click. Something tells me that if AdMob worked harder at increasing ad quality (like iAd), they&#8217;d be able to charge more and their advertisers would probably see a better return on investment. Most of the advertisers don&#8217;t even bother to use an image ad, which I assume would increase the clickthrough rate.</p>
<p>I noticed something really strange when looking at ads on my app. There&#8217;s no way for advertisers to disable ads on devices that already have the app installed. I keep seeing Amazon Kindle ads on both my iPad and my iPhone that already have the application installed. As a developer, I know there&#8217;s a way to prevent those ads from showing by detecting whether the app is installed at runtime. I think this strange behavior happens on both iAd and AdMob. If anyone from either organization is reading this, <a href="http://www.hung-truong.com/blog/about/">contact me</a>!</p>
<p>As far as the future of ads in mobile apps goes, I hope Apple will continue working on increasing the fill rate, and that AdMob tries to increase relevancy and ad quality. Right now it&#8217;s really frustrating to see my &#8220;inventory&#8221; not live up to its revenue potential.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/02/07/iad-vs-admob-clicks-fill-rate-impressions-ecpm-and-revenue/feed/</wfw:commentRss>
		<slash:comments>28</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>♥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>ObjTweet: Helper Class for Twitter on iOS</title>
		<link>http://www.hung-truong.com/blog/2010/11/20/objtweet-helper-class-for-twitter-on-ios/</link>
		<comments>http://www.hung-truong.com/blog/2010/11/20/objtweet-helper-class-for-twitter-on-ios/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 03:37:39 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2086</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&#8217;ve been working on a new app (I&#8217;ll write more about it in a week or so), part of which required opening a user&#8217;s Twitter client with a pre-populated tweet or opening Twitter on a particular user&#8217;s profile for easy following. There are a lot of Twitter clients out there, so it&#8217;s hard to predict [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a new app (I&#8217;ll write more about it in a week or so), part of which required opening a user&#8217;s Twitter client with a pre-populated tweet or opening Twitter on a particular user&#8217;s profile for easy following. There are a lot of Twitter clients out there, so it&#8217;s hard to predict what a particular user will have installed on their device. They might not even have any Twitter client installed.</p>
<p>Many (but not all) Twitter clients have url schemes that allow you to open them with a particular message filled out, etc. There&#8217;s a few <a href="http://wiki.akosma.com/IPhone_URL_Schemes">here</a>, but it&#8217;s not a definitive list by any means. I gathered a bunch of the more popular ones and wrapped them in a helper class called ObjTweet.</p>
<p>Since I want to give back (and I wouldn&#8217;t mind the recognition), I&#8217;ve licensed this class under the <del datetime="2010-11-22T04:06:37+00:00">GNU GPL license</del> MIT License (thanks, <a href="http://marcello.cellosoft.com/">Marcello</a> for pointing out that the GPL license is pretty restrictive) and uploaded it to <a href="https://github.com/hungtruong/ObjTweet">Github</a>. Hopefully someone else finds it useful. My hope is also that people will help find some of the missing url schemes for other apps and build on ObjTweet. If you found this class and are using it, let me know! Hopefully it works as described.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/11/20/objtweet-helper-class-for-twitter-on-ios/feed/</wfw:commentRss>
		<slash:comments>0</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>Performance vs. Brand Advertising on iAd</title>
		<link>http://www.hung-truong.com/blog/2010/09/14/performance-vs-brand-advertising-on-iad/</link>
		<comments>http://www.hung-truong.com/blog/2010/09/14/performance-vs-brand-advertising-on-iad/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 14:45:38 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iAd]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2019</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&#8217;ve got some more thoughts on iAd after trying iAd out on one of my apps for about a month now. As I noted in an earlier post, Apple responded to a really low fill rate on their iAd program by enabling developer ads. Developer ads are simple banner ads that entice a user to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got some more thoughts on iAd after trying iAd out on one of my apps for about a month now.</p>
<p>As I noted in <a href="http://www.hung-truong.com/blog/2010/08/15/what-happened-to-yahoo-and-what-could-happen-to-iad/">an earlier post</a>, Apple responded to a really low fill rate on their iAd program by enabling developer ads. Developer ads are simple banner ads that entice a user to download an iPhone app. Here&#8217;s what the use case looks like via <a href="http://www.businessinsider.com/heres-what-apples-new-iad-for-developers-ads-look-like-2010-7">Business Insider</a>:</p>
<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad1.jpg" rel="lightbox[2019]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad1-150x150.jpg" alt="" title="iad1" width="150" height="150" class="size-thumbnail wp-image-2020" /></a><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad2.jpg" rel="lightbox[2019]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad2-150x150.jpg" alt="" title="iad2" width="150" height="150" class="size-thumbnail wp-image-2021" /></a><a href="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad3.jpg" rel="lightbox[2019]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2010/09/iad3-150x150.jpg" alt="" title="iad3" width="150" height="150" class="size-thumbnail wp-image-2025" /></a></p>
<p>To Apple&#8217;s credit, the workflow is actually pretty good. It doesn&#8217;t require users to leave the app to download another one.</p>
<p>Since developers can&#8217;t really afford the insane $2 cost per click that the big media customers pay, Apple is charging $.25 a click instead, and no cost per impression. Theoretically, this should mean that the fill rate would be very high (as long as developers are not maxing out on their daily spend limit or too aggressively filtering out apps). Yet I&#8217;ve noticed a pretty big fall in fill rate (from about 30% to 20%) in the last month.</p>
<p>I think the main issue is that Apple never really intended iAd to be used for performance advertising. Performance advertising is about getting that direct action (in this case, an app download). Apple&#8217;s been pushing iAd as a great Brand advertising solution (where the user is not expected to go out and buy Dove soap from their phone). That&#8217;s why the premium brands are willing to pay so much per click and impression. By comparison, AdMob ads on the iPhone seem to be more geared toward performance advertising.</p>
<p>By introducing developer ads, I think Apple has tried to appease publishers at the cost of the perceived premium value of iAds. Sure, the developer ads aren&#8217;t as flashy as the premium advertisers&#8217;, but $.25 versus $2 a click for the same piece of real estate is quite a difference. Add the perception that <a href="http://www.crossforward.com/2010/08/25/iad-for-developers/">iAds for developers are not cost-effective</a> and you could come to the conclusion that Apple is doing it wrong. It doesn&#8217;t help that the premium brand advertisers seem to be <a href="http://online.wsj.com/article/SB10001424052748703321004575427892781417642.html">frustrated with the process of dealing with Apple as a gatekeeper</a>.</p>
<p>So what can Apple do to fix this? They should go back to their specialization: doing one or a few things really well. They should focus on iAd as a brand advertising platform. They should work on getting as many large partners onto iAd as quickly as possible. This will alleviate the growing pains that publishers (including me) are feeling with fill rates. Right now it seems like Apple is reacting rather than acting; following rather than leading. They need to show that they&#8217;re serious about carving their own niche in the mobile advertising space.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2010/09/14/performance-vs-brand-advertising-on-iad/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>
	</channel>
</rss>

