Android or iPhone?

Android or iPhone?

This is the fourth of several posts where I am revisiting CommonsWare, my long-time
business and current “hobby with a logo”. I thought it might be useful to some to
see how all that came about, the decisions I made, and so on.

The series:

Rolling back to where the first post
ended, in late 2007:

I started experimenting with Android. The SDK was a bit odd, and the docs were a bit modest,
but for a developer preview, it was reasonable. Moreover:

  • It was based on Java, and I had a reasonable amount of experience with it

  • It was open source, and I was a definite fan of that, to the point where my “daily driver”
    machine was powered by Linux

  • At the time, I trusted Google far more than I trusted Apple

However, Android was still just a preview. As it turned out, it was nearly a year until
hardware became available to the public. Apple was already shipping iPhones. If you compare
sales back then to today, Apple was not selling very many iPhones. It was quite some time
before Android devices surpassed iPhones in sales. And, as 2007 came to a close, it was
fairly clear that the iPhone SDK would do better “out of the gate”, just because they had
an active user base.

So, I waited.

On March 6, 2008, Apple released their SDK. From my vantage point, it was an unmitigated disaster:

  • It was based on Objective-C. I remember when Objective-C came out — I looked at the syntax
    and wondered why anyone would use it.

  • It was based on Cocoa, the macOS/OS X UI framework. I had no
    experience with that. Of course, I had no experience with Android’s widget set either, but
    at least there, I was on a level playing field with just about everyone else. I expected that
    macOS developers would be in better shape to develop iPhone apps than I would be.

  • It required a Mac for development. This wasn’t the end of the world, as I used to use a 15”
    iMac as my main desktop and so had OS X experience. Still, it wasn’t what I wanted.

  • Most importantly, you had to sign an NDA. It is very difficult to write books when you are not
    allowed to write books. It is very difficult to answer developer questions when you are not
    allowed to answer developer questions. And so on.

Shortly thereafter, I turned my attention to Android, and a few months later, I had an early edition
of The Busy Coder’s Guide to Android Development available. And, in October 2008,
I waited in the early hours of the morning outside a T-Mobile store in the greater Philadelphia
area, to beat the rush of people who I was sure were going to line up to purchase the T-Mobile G1
(a.k.a., the HTC Dream), the first widely-available Android phone in the US.

As it turned out… I was the only one waiting. And the guy at the store thought I was nuts.

In a parallel universe, Android “died on the vine”. In this universe, Apple’s hubris bit
them in the posterior once again. In the US, they established AT&T as the exclusive carrier
for iPhones. The other US carriers struck deals with HTC, Motorola, and others for Android phones,
giving Android an opening. By the time Apple relented and got iPhone models available for all
the major US carriers, Android was established and would go on to global dominance.

Android’s success meant that I had the potential for success, “riding the coattails” as it were.
It still was far from guaranteed that I would do well. Fortunately, 2008 gave me an opportunity
to establish some credentials, a topic that I will cover in the next post.