Aleksandar • Vacić

iOS bits and pieces

Try Couch to 5k - iOS and device charts

Less than a month ago, I said that next major update of my running apps will support iOS 6 and up. Well, scratch that - it will be iOS 7 only, for few reasons:

  • I got inspired and did a much, much larger work than originally intended, which added a full month of work to original timeline.
  • iOS 7 is just around the corner. By the time I get this tested, packaged and ready, iOS 7 GM build will be available for dev and Apple will call for app submissions.

My original idea was to submit an iOS 6 version, work out eventual kinks and bugs and then submit iOS7 only update. As it is, it will be trial by fire with new features, new UI and all on the brand new iOS, but I think it’s worth it - this 3.0 update will be a killer one.

With that said, I needed to do some more preparation. I looked at the charts and stats provided to me by FlightPath - a TestFlight live app usage service (I recently got into the private beta - this is an awesome thing they are building there).

Here are some very interesting things, from the last month of usage (Jul 19 to Aug 19, 2013).

State restoration in iOS 6 without storyboards

Back in iOS 6, Apple added a set of APIs with specific aim to greatly increase user experience during app switching. That API is Application State Preservation and Restoration - you can learn about it using the official docs or WWDC 2012 Session 208 or using a series of great posts by Keith Harrison.

What’s common about these and few other resources on the web is that they lean on Storyboards and if you happen to not use them - like me in this particular case - then it’s not entirely clear where you do start. This API was confusing to me at first, but once I implemented it, it was really obvious how good this API is for people, in everyday usage. It’s worth the time.

Also, an important note: with iOS 7 and its outlined principles and human interface guidelines provided by Apple, this API became a whole lot more important. The transitions between the apps are much more natural and re-assuring if you have properly implemented this API.

In this post I’ll show you how I’ve implemented it in my running apps. They do not use storyboards and their basic structure is tab-bar controller with each tab containing a navigation controller with rich navigation stack inside.

Radiant iOS 7 future

Given my previous two blog posts about iOS 7, one would be forgiven to think I will rebel against it.

But, there is really no choice here. This is the future of iOS and since this is my bread and butter, I will transition all my apps to it, doing my own thing. Over the years, I have tried various stuff as I learned this craft - to those who don’t know, before iPhone I did web and programmed in Javascript and classic ASP only. I now have a sense of how I want my apps to look, how they should behave, what personality they should have.

iOS 7 redux

Two days after the WWDC 2013 keynote I wrote a post about the iOS 7 changes, mostly driven by gut feeling. Now, a week or so later and after constant daily use of iOS 7, I feel I should write a bit more about this.

I used iOS 7 on my second device (iPhone 5) but made sure I use it 90% of time, practically for everything I usually do expect phone calls / SMS (I put data-only card in it).

A few notes, about the NDA, this being early beta and such: I whole-heartedly agree with several others that publicly speaking about beta 1 of iOS 7 is far from inappropriate. This is not mere iteration of the established - this is radical departure, a reset of the whole UX and not only it’s not wrong to discuss it, it should be welcomed by Apple. We are not haters - we are the most passionate advocates of iOS. We care and we want it to flourish and improve. This is not hating, this is caring.

I re-watched the iOS 7 part of the keynote today to make sure I speak about and use screenshots of publicly shown stuff.