Monthly Archives: September 2013

Does anybody want to sell me an iPhone 5s business contract?

Having decided to upgrade my now ancient out of contract iPhone 4 to an iPhone 5s, I recently made contact with my existing mobile phone provider O2 and also the Orange/T-Mobile combined effort “Everything Everywhere” (not entirely sure that name’s got legs, but perhaps that’s just me). 

O2 are coming out on top at the moment for customer service, with my local O2 shop in Christchurch being pretty attentive, even if they say they can’t get me an iPhone 5s for several weeks. I don’t have an EE shop anywhere close to me, so I’ve had to deal with them on-line. The first thing I did was to fill in an on-line form indicating my interest in the (at the time) forthcoming new iPhone.

As far as both O2 and EE are concerned I’m a business customer. My current mobile is on a consumer tariff, but in order to claim my mobile use as a legitimate business expense I need to have the phone in my company name and on a business contract. I use the device almost exclusively for business purposes so this seems like a sensible change to make.

I was telephoned a couple of days later and advised by the EE salesperson that I can’t pre-order the new iPhone (tell me something I don’t know) and she’d call me back on Friday. By Friday afternoon, with the internet full of reports of disappearing iPhone 5s stock I decided to call them instead. I was told that the person who’d called me is busy and would phone me back.

She didn’t.

I eventually received an e-mail from her indicating that she was too busy to phone and could she call me on Saturday? I had a busy day planned, but said that 10-ish would be fine. I also emailed my mobile number so she could reach me if she couldn’t do 10 o’clock and I was out.

She didn’t call. All day. And meanwhile all stocks of iPhone 5s’ have gone and so has all future supplies for the foreseeable future.


Needless to say, I’m pretty annoyed that EE didn’t call me when they said they would. I want to ask them about tariff sharing which may be something that they don’t do in which case I may stick with O2. Or I might not. But I need all the information before I can make a decision about which way to jump.

I tweeted my frustrations on Saturday evening and on Sunday evening I received a tweet from EE asking if I’d managed to get in contact. Strange, because my tweet had indicated that I was waiting for them to call me. I stupidly expected EE to know how the process of initiating a telephone call works. Maybe that’s why they haven’t called me? Perhaps they think that making a phone call to someone means that they have to call you.

Apart from the outstanding question of tariff sharing, my other reason for not wanting to rule out EE just yet is that the O2 signal around these parts isn’t great; particularly indoors. The coverage maps show that EE *should* be better, but those maps are far from accurate so I could yet end up being disappointed if I move to them.

Whatever happens now, I’ll be waiting some time for an iPhone 5s and considerably longer than I would’ve had EE kept their word.


UPDATE 2 October 2013

I’m pleased to report that EE got back to me early the week after the iPhone 5s launched and I received my Space Grey 5s on Wednesday 25 September. I’ll post more about the new device shortly.

Why I won’t be upgrading to iOS 7 next Wednesday

iphone5s5cUnless you’ve been hiding under a rock for the last week you’ll probably be aware that Apple announced 2 new iPhone models this week – the iPhone 5c and iPhone 5s (pictured above). Both launch on 20 September with the former taking pre-orders from today. Apple also announced that iOS 7, their major overhaul of the iPhone (and iPad) operating system will be available, worldwide, on Wednesday 18 September.

I won’t be upgrading.

Don’t get me wrong, I think the new OS looks fantastic and I back Jony Ive’s design 100%. Unfortunately for me, however, I can’t upgrade to the new OS because my ancient Mac Pro won’t support the tools required to develop for it.

XCode 5 requires Mac OS X Mountain Lion as a minimum spec. My first generation Mac Pro 1,1 won’t run the latest Mac OS so I’m stuck on OS X Lion until Apple see fit to launch the new “Darth Vader” Mac Pro sometime before the end of the year.

If any of the apps I’ve developed don’t work under iOS 7 I am (in a word) stuffed.

Realistically, I can’t see Apple launching the new Mac Pro until after the new version of Mac OS X (called Mavericks) comes out and rumours are pinning that at late October. That means a November launch (or even December) for the new hardware. There’s no telling how quickly I’ll be able to get my hands on one so it could even be next year before I can actively develop for iOS 7.

I’m not afraid to say that this prospect fills me with ten tonnes of the brown smelly stuff.

Ah well. There’s nothing I can do about it so I’ll just have to wait.

New iPhone
To end on a positive note, the announcement of the new iPhone hardware was good news. I like the look of the new iPhone 5s, especially it’s headline feature – a fingerprint sensor built right into the home button. Gone will be the days of having to repeatedly enter a passcode umpteen times a day. It’s time to upgrade my (now ancient) iPhone 4 for one of these babies. My wife already has designs on the iPhone 4 so it’ll stay around for a while yet.

I just need to work out whether to stay with O2 or move to one of the other carriers. O2 have announced 2 of their tariffs but no word yet from anyone else.

Delving into push notifications

I’ve been programming Apple devices now for nearly 10 years and much has changed in that time. For the last few I’ve been concentrating my efforts on iOS (previously iPhone OS) which is the operating system found on iPhones and iPads. Unfortunately, the Mac side has been left behind (although I hope to get back to that under Mavericks).

Over the last few days I’ve been adding push notifications to an app that I’m in the process of developing for a customer. Probably the biggest surprise for me (and perhaps I’m just being naive here) is that you can’t send out a global push to everyone who has your app – you have to send a separate push message to each of your users.

This means having to store a device token centrally for each person who runs your app and then go through each of these tokens as part of the push. Not too much of a problem if you have a few hundred users, but what about when you get into the thousands?

How many people, I wonder, have downloaded the BBC News app and how much server time must it take whenever the BBC want to send out a news flash to them? I shudder at the thought (as must their IT department).

There’s dedicated method in AppDelegate.m that handles the registering of push notifications:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

It appears that this method is called not just when someone first allows your app to receive push messages (via the alert that appears asking for permission) but whenever your app is run. This I find helpful, as I’m using an ASIFormDataRequest to send the device token to a back end server where I check whether or not it exists in my database. If it doesn’t, I add it. If it does I set a most recent accessed date to today.

In my push notification process (based inside a bespoke CMS) I only retrieve device tokens for copies of the app that have “phoned home” in the previous 180 days (that may change). My thinking is by keeping a handle on active users I can avoid sending to people who either no longer use the app, or have removed it from their device. I’m hoping this, in some small way, can reduce the load on the server.

At least until I get as many users as the BBC have got(!)