Aleksandar • Vacić

iOS bits and pieces

When and how to ask customers to review your app

This is a topic that was done and over with multiple times in the past, but it still creeps back up. The basic rules here are:

  1. never, ever interupt the user workflow in any way to ask them to do something for you
  2. but make sure you still ask

Break rule 1 and you are almost certain to get low ratings even from people that actually like your app otherwise. As it was said before – you, the developer, is the party that needs the reviews. Your customers don’t need them and the reviews do (almost) nothing for them. Thus if you interupt people while they are using your app, you are making it worse and diminishing all the hard work you put into it.

However, it’s in human nature that we are very vocal and ready to be heard when we feel slighted and rather slow when we need to praise. Hence the rule 2.

The trick is to identify when and where to nudge people to leave the review. Almost all apps have a good place to do it, you just need to be mindful, imagine yourself being the customer and – hope for the best.

Effect of App Store only feature on ranking and downloads

A week ago, iOS 8 update of my main app – Run 5k – was approved and released and few hours later was included among the “best new apps” on the US App Store front page. App Store editorial content is updated on Thursday, so this was just-in-time release.
Run 5k was at the last visible slot in the best new apps scroll (16th app in the list). It was listed there until this Mon/Tue (depending on your time zone), when they added Sesame Street Go app outside of normal schedule and this bumped me down to 17th place, which is not immediatelly visible on the iPhone’s App Store app. It’s effectivelly like it’s not even featured.

So, let’s see what a feature like this does for your app.
I believe the analysis below will be most useful to small, barely-known app developers who do not have media contacts and thus no ability to do big launch. While I have been fortunate to have good press reviews of my other apps, I was not that lucky with Run 5k. During the time it was featured, it was its one and only media exposure. There were no reviews on any website, no mentions anywhere that I could see.
Thus this is a good test case of what effect such feature, at that place, has on the number of new downloads of a free app.

Embedded binary is not signed with the same certificate as the parent app

Spend few days around iOS developers and you will certainly hear at least one (probably more) of them rolling his/hers eyes when Xcode binary signing and provisioning profiles are mentioned. For several years I usually resolved any issues quickly and as it happens – when it hit me as it has others, I was on the edge of throwing my MBP out of the window.

This afternoon I was packaging Run 5k and Go Couch to 5k builds for submission. I wanted to completely separate the apps thus was setting up various parameters so they work properly even in case both are installed on the same device. Highly unlikely for anyone but me, but if it happens it creates pretty serious issues, possibly even data loss.

In the process of fiddling with App Groups, containers and such, at one point I re-generated some profiles on the Developer Portal. When I went to build and submit, this tripped me up:

Embedded binary is not signed with the same certificate as the parent app.
Verify the embedded binary target's code sign settings match the parent app's.

Like hell.

Real-time inter-app communication

Or more like “real-time”, (near)real-time or whatever modifier you prefer.

App Extensions are the new shiny in iOS 8 and one that interest me the most, especially in the fitness area. Here’s why: I use my iPhone as the core device of my entire business hence I have lots of sensitive personal and business data on it. Thus it’s natural that I have all possible security features turned on. Passcode is set, TouchID is on, instant lock with no grace period etc.

This presents an issue when I go out to run with my iPhone. I don’t usually run with an armband (only in races) thus the iPhone is usually in my pocket. From time to time tough, I would like to check the parameters - heart rate, distance, pace etc. In reality, this means that I should:

  • dug it out from the pocket
  • unlock – Touch ID is not always reliable with sweaty fingers (at least on 5s), so it means type out the passcode
  • back into the pocket

Step no. 2 is what bugs me and where extensions come into play. If I have to slide to the left for the passcode screen, then I might as well slide from the top and get the info I need from the Today widget.

That’s the thought process that ended with: iOS 8 version of Run 5k will have Today widget that’s (more or less) a replica of its running view.

The only problem to solve is - how to communicate app status between the main app and the widget, in real time?