Pointing The Finger At Everyone Else

The scandal du jour in the tech space is Path uploading address book data to the servers to hopefully make finding your friends easier. I usually don’t comment on these things because, well, they drive me a little crazy. Scandals — technical, political or in entertainment — just don’t interest me that much. At least the way I see it, they distract from the bigger issues confronting us as nations and human beings [1].

Let me sum this thing up for you:

  1. Path immediately apologized and changed their app to ask first
  2. Some people weighed in saying its Apple’s fault for not asking
  3. Another group said lots of apps upload data while others said that isn’t true
  4. Other people said Path’s apology wasn’t good enough
  5. Still other people said companies in a hurry make mistakes

You’d think there was nothing left to say but here I am weighing in anyway. I have two comments:

First, at what point as developers do we abdicate responsibility for the actions of our own apps? If my app steals your personal data, that is my responsibility. When my app crashes it is my fault. When my app doesn’t perform correctly it is my fault. I’m tired of all the finger pointing at everyone else. The guys at path knew it was wrong. The guys at Instagram knew it was wrong. I don’t care whether you are only using that data for good. The fact that you do it is evil. And you know it.

Second, why is it that any time there is a hint of a scandal that even tangentially involves Apple, the scandal gets blown out of proportion? Man, it is tough to be a lightening rod.

[1] And I believe that is often by design.

The Mobile App Price of Free Is The Future

Free and Low-Cost Apps

Writes David Barnard of App Cubby:

The pool of time users spend on smartphones is staggering and growing rapidly, but it is not infinite. The more time people spend with useful/entertaining free apps, the less need they have to actually pay for apps. That doesn’t mean people will never pay for apps — the market for paid apps has continued to grow alongside free and freemium apps — but users have been conditioned to expect more and more for less and less.

The entire article is very well done and aligns very closely with my own observations. The App Store environment is very hard on non-game apps, and even the gaming market is hard given how hit-driven it is.

Here is what we have done with powerOne, a top 10 iPad finance app and top 30 iPhone finance app, an app that has been featured by Apple on numerous occasions and participated in the iPad launch, and still doesn’t generate enough income to pay for two developers full-time at market wages:

  • Single product with compelling value proposition (100s of calculations for $4.99)
  • Free Lite version that is a top 100 iPad/iPhone utility app with promotion to paid version
  • Multiple versions designed for specific markets: mortgage, construction, medical, etc. ($.99-$4.99)

We are also in the process of developing a product with a partner and are exploring ways to make a little money off the Lite versions. I’m not interested in advertising so we have ruled that out.

But the fundamental conclusion I’ve come to is that developing *just* a mobile version is not good enough. People are using apps to connect to the larger world, to get something done while on the road. The question I have been exploring for the past year is how does our core capabilities help our customers do that? What do we do when they get back to the house or the office? And what can we build to help them?

In the end, getting off the device may be the only way to build sustainable revenues for productivity-style apps.

The Device Family Has Become The Development Platform

I grew up — meaning learned to program — in the halcyon days of Apple versus Microsoft. In those days, as developers, we spoke about developing for an operating system platform. You either wrote Microsoft/DOS software or Apple II/DOS software. You either wrote Mac OS software or Windows software. And all devices that used each of those operating systems basically worked the same. Write software for the Apple IIc and it runs flawlessly on the Apple IIe. Write software for a Dell computer with Windows XP and it runs exactly the same as the HP equivalent.

When I started Infinity Softworks (15 years ago this month!) that mentality translated to the mobile world. You wrote for Palm OS or Windows Mobile. There were multiple devices that used each operating system. Palm OS was included on devices from Palm and Sony and Garmin. Windows Mobile was on devices from Compaq and HP and Dell. We didn’t write for Sony CLIE devices; we wrote for Palm OS. We didn’t write for HP iPaq’s; we wrote for Windows Mobile.

It’s easy to continue thinking in these terms. Today, you can write for iOS or Android or Windows Phone. But I’m not convinced that that paradigm of writing for an operating system is an appropriate choice even today.

The fragmenting of Android is clearly pushing us in that direction. With the news that Samsung now controls 55% of all Android smartphone sales, does it continue to make sense to support all Android smartphones or focus specifically on Samsung smartphones? The only non-iPad worth even discussing is the Amazon Fire. Why should I write for all Android tablets if only the Fire is selling?

Even in the iOS world this has increasingly become the case. The iPad — in its interaction models and bigger screen — is clearly a different beast than writing for an iPhone or iPod touch. I think about its capabilities differently and, in many cases, even use device-specific apps that are not available for the other device.

This doesn’t mean there isn’t significant underlying code that can be “ported” from device-to-device. powerOne shares upwards of 85% of its code between the iPhone/iPod and iPad versions. But in the end the way I think about presenting on each platform is completely different and it’s conceivable in the future that we could provide features for iPad that we don’t supply for iPhone (or vice-a-versa).

As we move ahead, I think these operating system changes are going to impact all mobile development. Screen size differences will be a major driver. But so will themes and skins and device-specific customizations. I won’t write for Apple TV the same way I write for iPhone. It just doesn’t make sense.

To me, the device manufacturer and product family is starting to take precedence over operating system in my development decisions.

Slamming the Scales Back to Apple

Android Platform Versions

In my last post I commented that the restrictions imposed on iOS beta apps tilted the balance to Android development if I was doing both and didn’t have a reason to release iOS first.

Not an hour later, some device info comes out that drops an elephant on the iOS side of my scale. Time frames generously provided by MG Seigler, these numbers should make any Android developer cry:

  • Only 0.6% on the latest version of Android (Ice Cream Sandwich) after 2 months
  • Only  55% have upgraded to the previous version of Android (Gingerbread), which is 1 year old
  • Over 30% are still using Gingerbread, which is more than a 1.5 years old
  • Over 10% are still using Froyo or older versions of the OS, which are at least 2 years old

And here I was, on iOS, debating whether to keep supporting an operating system version that came out mid last year.

The 100 Device Wall

App Developers Skirt Apple’s Limits With Work-Arounds

If you didn’t know, Apple restricts developers to 100 beta devices per year. That isn’t 100 per app. That’s 100 per company per year. And deleting devices doesn’t give you back devices until the next year. Infinity Softworks has 10 apps plus two new ones in development. That means a very restricted list of beta testers.

I can kind of understand why Apple did it. They didn’t want developers “side-loading” apps by using an open-ended beta program. But Apple doubled the devices — adding the iPad — without increasing the limit. I feel like I am constantly juggling projects and requirements to see who gets devices. And that is time wasted, as far as I’m concerned.

I will say that the detail and attention that Apple gives to their end-user programs never seem to be given to their developer programs. Besides this 100 device limit, I have spent hours trying to get re-authorization certificates working correctly after they expired last night, something that worked perfectly fine for the last year.

There are very few reasons I would develop for Android over iOS at this point. But if I had a mobile app I was writing for both and didn’t have a business reason why iOS should come first, this restricted beta program would tilt the scales toward Android.

p.s. It was pointed out via email that we could technically use an enterprise account. It costs $299 and opens up the users, although technically to employees only.

p.p.s. Another thought: this program must be changing. With iOS 5, Apple deprecated UDIDs. Without the UDID there is no way for us to assign a device in the profile. Makes me wonder what Apple has planned.