Apple’s New Support For Older Devices

Every year, as the new OS version ships, some older devices can’t upgrade. This year the first generation iPad and iPhone 3gs are left behind, never to move beyond iOS 6.1. The problem, as a developer, is that our customers are still using these devices so we need to continue supporting them, even though Apple has moved on and may or may not even give us the ability to target those older operating system versions.

Last week Apple released a very nice new feature. Instead of those customers who didn’t upgrade being screwed, now at least they have the option of recovering an older version of the app, the version that last ran on that version of the OS.

There is a problem with this, of course, in that some older versions of the app just can’t run anymore on any OS. For instance Twitter changed their API and old versions of Tweetie or Twitterific just won’t function anymore. Kyle Richter talked about this on his blog (the image is also from him):

The common misconception here is when an app is updated it is updated to add new features and maybe some bug fixes. These new features may require a newer version of iOS so old users are left in the cold. The truth is a lot happens under the covers during updates, API endpoints are updated, data models changed, multiplayer protocols changed, even legal issues are addressed.

The likelihood of any complex app, especially anything API driven, working after several years of neglect are slim. Those that do work may be incredibly unreliable and buggy.

First of all, there are tons of apps in the app store that would work perfectly fine under these new Apple policies. Our app, powerOne, is a perfect example. It gives me the opportunity to put old OS versions behind me as long as I make sure these are stable before I release a new version. In fact, I already used this feature. Since the bug we fixed last week only impacted iOS 7, I lopped off support for iOS 4.3-6.0 devices at the same time knowing that Apple would cover those people if they lose the app. This allowed me to do more comprehensive testing on just two OS versions rather than six or seven.

Furthermore, I will make future design decisions based on this knowledge. Let’s say I wanted to change the add-on library. Instead of just changing what we already have visible, I’d probably create a new version, making sure my old customers don’t lose out on access.

Of course Kyle is right: there are some apps that this just won’t work for. But if I’m a customer using an old version on an old device, I’ll take “some” rather than “none.” And if the old versions really won’t work, Apple added an option for us developers to turn off the feature.

Luck Be A Lady Tonight

Sometimes luck is with me. A month ago we did a bunch of work on powerOne to get it ready for iOS 7. We haven’t updated the interface yet — that’s still coming — but what we did do is make sure bugs were fixed and added a couple of small features.

While I hadn’t started working on iOS 7 yet what was clear is that any work we did do on it was going to have to be for iOS 7 only. There were just too many changes to also try to support the older operating systems. Because of this we wanted to make sure any remaining, known bugs were resolved for the iOS 4.3 to 6.1 customers who can’t or don’t want to upgrade. We were all ready and we did plenty of testing on iOS 7 as well as the earlier OS versions.

iOS 7 shipped last Wednesday and all was quiet. I upgrades devices and iTunes and XCode just like always.

Thursday night, suddenly, I received three bug reports, all in an area of the app I had tested. In some cases — but not always — an error was appearing when a calculation occurred in RPN input mode. Stuff like 5 ENT 6 + would work correctly and 6 ENT 5 + would fail. I could try things one time and it would work, try other things and come back to the original later and it would fail.

At this point I started to panic. There was no way, with the current version of XCode, to target iOS 6.1 and lower devices exclusively and targeting iOS 7 meant that the entire interface of the app was a mess. Furthermore I leave on Sunday for a business trip and did not have the time to completely re-do the interface before I left, not to mention my nightmare scenario of having to figure out some critical issue while away without a laptop.

So we fixed the bugs Thursday night. I didn’t sleep much that night, rolling options around in my head. The only two I could come up with was ignore the problem and tell customers to use algebraic input mode instead (not much of an option) or hustle everything out for iOS 7 (something I didn’t think possible in less than 48 hours without my designer’s help, who was on deadline).

If I could only get the previous XCode version back!

Friday morning, after a couple of conversations with co-workers on the topic, I realized I could get the previous version of XCode back. Time Machine to the rescue!

I’ve had Time Machine backing up my Mac for years now and never once needed to use it. (I also have it backed up to the cloud with CrashPlan.) I was able to recover the previous version of XCode, open powerOne in it, do some testing and submit the fixes to the app store.

I feel lucky this time.

Hayao Miyazaki Retires

20130915-161043.jpg

Hayao Miyazaki, the famed Japanese animator, announced that he is retiring a few weeks ago. Miyazaki animated and directed one of my all-time favorite movies, one called My Neighbor Totoro.

It is the story of two young girls who live with their father in 1958 Japan. Their mother is sick in the hospital so the family moves into a new home to be closer. As the family gets used to their surroundings, the two girls discover they have a very special neighbor.

It is such an amazingly gentle movie, one very much at odds with the typical hero-worship faire of Western culture. I’ve found with my own daughters, about the same age as Sasuki and Mei, that they have this amazing ability to seamlessly intermix the “real” world with their “pretend” world. Few movies I’ve ever seen embody this ability like My Neighbor Totoro.

The version I’ve seen is the English version released by Disney and voiced by Tim Daly and two of the Dakota sisters. It is definitely available through Netflix or to purchase from Amazon.

The Best Platform For Incubation Is The Web

John Battelle on the open web, incubators and starting businesses (emphasis mine):

In the past few years, entrepreneurship seems to have become a profession, like acting or sales or architecture. On the one hand, that’s a good thing, it means more companies, more jobs, and more great ideas. On the other, something about it strikes me as a bit …forced. I can’t put my finger on it, quite yet, but it centers around the idea that we’re credentializing innovation. … I never saw starting companies as a career path.

I, too, have noticed a significant increase in people who are doing start-ups because they want to do a start-up, not because they have some burning desire to solve some problem that they won’t be able to solve working for someone else. Maybe that’s a good thing, maybe it isn’t. Maybe we have reached the tipping point of technology start-ups where people like me, us early doing-a-start-up adopters, are on the outside looking at an idea that has reached the mainstream. We are just curmudgeons who sit around saying, “Back when I did my start-up… .”

Then again, I can’t help but wonder how long these people will last. Doing a start-up sounds fun until the sine curve takes effect, until the money gets tight and the times get hard. Is “doing a start-up” a fad, or a long-term, populist movement? I have a hard time seeing these people who are doing this for the start-up lifestyle surviving for long.

(via Michael Mace)

The Top Challenges Of 2,000 Designers, Entrepreneurs And Product Managers

Fascinating infographic from Keynotopia on the challenges impacting designers, entrepreneurs and product managers [1]. One that jumped out at me regarding Bootstrapping:

Most entrepreneurs we surveyed said they prefer to take the time to bootstrap their business slowly and steadily, rather than raising money from investors and growing too fast too quickly. The biggest challenge is to generate revenue while bootstrapping: to acquire enough customers and have them pay for the product.

Huge challenge. There is a time and place for funding. The right investors can help accelerate a business in amazing ways. The wrong investors will sink the business before it starts. Investors have their own agendas and time frames. Some businesses, especially in the early days, don’t fit those kinds of timelines. Thus we get acquihires for businesses that, if they had grown more organically, could have been amazing businesses.

 

I have to admit that funding is inviting. The idea of working with really smart people, surrounding myself with a team of dedicated people trying to do amazing things, is really exciting. And sometimes it seems like every company is funded. But that’s not true. In fact the majority of business, technology or otherwise, are not funded by anyone but the founders and maybe a loan.

Those with funding dismiss those without by calling them “lifestyle” businesses, a derogatory term that implies we just aren’t serious. But that’s not true either. I work as hard as any funded company does.

I’m just not ready to take other people’s money.

[1] I’m a customer.

[2] Buy the company to get the employees.