Google Play Vs. iTunes Match

I signed up for the Google Music beta a while ago and promptly forgot about it. I was either too busy to check it out or unimpressed with the feature set. I recently took another look at it after it was renamed to “Google Play.” It’s suddenly making a bit more sense now that I’m trying it out again.

Google Play (I’m really just talking about the music part) lets you upload all of your music to Google’s servers. This step seems kind of dumb but I guess for legal reasons they can’t just recognize your music and use their own copies of songs. I’m sure they’ve got the technology to do it. Anyway, once your music is uploaded you can play it from “the cloud.” While this seems like something so simple that Dropbox could do it, it’s the details that matter. In this case, Google offers a pretty neat interface to listen to your music (and buy more, if desired).

I haven’t used iTunes Match personally, but from what I’ve read, it seems to do something similar. iTunes Match will scan your music library and “match” them up with songs in their database. If a song isn’t on your iPhone but is in your library, you can download and listen to it from your device. So far, it doesn’t seem like there’s a desktop component of iTunes Match besides iTunes (meaning you can’t listen from a website). Also, iTunes Match costs money.

What I like about Google Play is that there is a web interface, so I can listen to all of my music at work without having to download iTunes. I complained earlier on Twitter about how there isn’t a native app for iOS that lets you listen to your Google Play stuff, but there does happen to be a web based player that seems okay. iTunes integrates more easily with your library (no need to actually upload stuff) but seems more rigid about re-downloading music.

Overall, it seems like Google Play is the better service. If it had a native app for iOS it would be the clear winner. Eventually I would like to lower the amount of space on my phone that I’m using for music, which would allow me to have more apps, photos and videos. Hopefully the two services continue to develop and compete with each other to the point where they’re both improving.

Thoughts on Textbooks on iBooks

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’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’re probably right. But this could also have some negative (for publishers) side effects as well.

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 teachers self-publishing 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’t believe this will happen, take a look at Khan Academy.

Previous attempts to create free textbooks have been hit or miss. I am not quite sure how popular Wikibooks 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’re bootstrapping it with traditional publishers who are probably digging their own grave.

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’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.

What I’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.

I’m glad to see that Apple is trying to “disrupt” (I lose some points here by using a word I hate) the textbook industry, and it’s awesome that they’re partnering with that industry to do it. I’m really looking forward to seeing how this plays out, hopefully for the benefit of our education system.

Mapskrieg iPhone/iPad App Launch!

It’s been about 4 years since I announced the launch of Mapskrieg, my Google Maps and craigslist mashup web app. Since then, I’ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I’m happy to announce the launch of my newest app, Mapskrieg for iOS!

I’ve been working on this app for a few weeks, and I think it’s ready for public consumption. It’s basically Mapskrieg, but developed natively for the iPhone and iPad. In the past, I’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’ve been getting much more comfortable with mobile development, and I’m very happy with the rate at which I was able to conceive and release this app.

That’s not to say I didn’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’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’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’ll be well worth it if I can rake in some iAd dough, though!

This post also comes almost 1 year after I quit my job at Microsoft. That milestone probably deserves its own post, but I’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!

Edit: Oh, I forgot to link to a demo video that I recorded for a contest. Check it out in case you don’t have an iOS device:

Note to Myself about UISplitViewController and Auto-Rotation

In order to prevent my future self from wasting like, 2 hours fucking around with UISplitViewController getting it to auto-rotate its subviews, here’s a little post!

Most of the time, UISplitViewController doesn’t want to rotate because you didn’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’t rotating. It turns out that, according to Apple’s documentation,

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.

The key here is that the view controller wasn’t autorotating because the subviews did not answer “YES!!!” (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’t it default to YES!?!??!).

Okay, lesson learned. Just don’t forget this next time, Hung!

iAd Vs. AdMob – Clicks, Fill Rate, Impressions, eCPM and Revenue

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 “didFailToReceiveAdWithError” delegate method to request an AdMob ad when iAd fails. This means that AdMob shouldn’t take any income away from iAd, but only supplement it. I thought I’d take a look at the stats and compare the performance of the two ad networks on my app.

(The following numbers I’m referring to are from the time period from 1/25 to 2/7)

For an idea of scale, my app, Anime Nano, gets about 600 iAd requests per day. My app analytics software (Flurry) is saying I’m getting about 600 sessions per day. The thing is that about 1/5 of those sessions are on the iPad (and I haven’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.

Despite the fairly healthy rate of requests that I’m getting, iAds are only getting sent about 15% of the time. This percentage is what’s known as the “fill rate.” This is also what most developers complain about being too low. The clickthrough rate is actually pretty good at 0.81%.

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’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.

I’m going to describe my revenue in terms of percentages here since ad platforms typically don’t like it when publishers publish their income. Not sure if that’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’t experienced firsthand yet.

For now, I’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’d be able to charge more and their advertisers would probably see a better return on investment. Most of the advertisers don’t even bother to use an image ad, which I assume would increase the clickthrough rate.

I noticed something really strange when looking at ads on my app. There’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’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, contact me!

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’s really frustrating to see my “inventory” not live up to its revenue potential.