Tag Archives: ipad

iOS 16 and watchOS 9

As I’ve done on many previous occasions, I thought I’d write a few words about the latest Apple operating systems. I’m sure you’ve seen the reviews and possibly even upgraded yourself, so I’ll keep this brief! This is not intended to be complete; just a few highlights from my point of view.

First: they’re both stable. I’ve not seen any significant problems this year. If you were happy with iOS 15 and watchOS 8, and you’re able to, there’s no good reason not to upgrade.

For the most part, changes are subtle and either easy to ignore or genuine improvements.

The high-profile changes, such as the lock screen, fall somewhere between the two. Having widgets on the home screen is nice, but I’ve not found it to be a game-changer yet. Maybe I need to find the right widgets?

Under “subtle” is the enhanced “Focus” mode. Last year you could silence notifications by using the correct mode. I have a “Work” focus, where most notifications are disabled and a “Sleep” focus, where almost everything is disabled.

iOS 16 enhances this. For example, I now have a “Personal” focus where all my work stuff is disabled. That means notifications, like last year, but it’s also extended to the inside of apps. If I open Mail or Calendar, I don’t see any work emails or meetings. This is flipped in my “Work” focus.

This may take some tuning, but, I think, it is likely to have more impact than the shiny new home screen, tweaks in the Weather app or the ability to unsend Messages. All of these, to be clear, are nice improvements.

The changes in watchOS are also quite subtle. The improvements I like the most so far are all in the Workouts app. There is much more information visible while you’re running and in the partner iPhone app. You can programme in a pace, time or distance, and have the watch keep you appraised of progress during the run. The first time I used the “Pace” mode, I had my best Parkrun result of the year. Coincidence? (Probably. But for the sake of the narrative, let’s pretend otherwise.)

It’s unfortunate that some of the things I was looking forward to are not available on the Series 4. I’m not surprised as such, but it might have been nice if it had been documented on Apple’s website.

Like the phone, there are a lot of other updates, too. Notifications are nicer. I have a different watch face (I moved from California to Metropolitan). But if we’re talking impact, I think that’s the Workout app.

tl;dr? Nice, stable updates. Nothing earth-shattering but great incremental improvements. Lots to like.

iOS 13 and iPadOS

As I normally do at this time of year, here are a few thoughts about Apple’s new mobile operating system. However, this year has been different in a few ways.

Betas are, well, betas. You don’t use them on devices that you actually need1. My normal pattern is put them on my iPad around the start of August. This is often the third or forth beta. Most of the worst glitches have been resolved by this point. Then, depending on how it goes on the iPad, I’ll probably put it on my phone towards the end of August, earlier if everything is going well.

As I write this, I still don’t have the beta on either my carry phone or my iPad pro. I’ve had it installed on my iPad mini 4 since the very first beta, but that’s not a device I use every day.

My caution is because of a combination of things. Firstly, I’m not doing this for a living. I need to have a functioning phone for work. But I still want to! The reason I didn’t is because these betas have been rough, especially the first few.

At the start of the beta cycle, there were stories of iCloud Drives getting corrupted and Too Much Stuff being broken.

Even now, on the most recent beta, there are still a few… oddities. One of my apps, when compiled with the latest GM SDK, comes up in lots of weird colours. Through the whole process I assumed that it was a glitch and that it would be fixed in the next seed. It turns out that this was my mistake. It’s a change rather than a bug. Still, in my defence, it’s rather surprising behaviour and it looks like a rendering bug.

Anyway, I mention this for two reasons, on both sides of the stability coin. First, the betas have been such that the idea that there was a serious rendering bug remaining wasn’t entirely implausible. Second, maybe that this affected my own app skewed my perspective and that they’re not as bad as I think. Your milage may vary, etc.

So, in summary, I’ve not been working with the new OS full time for a few weeks. This possibly means that my opinion isn’t quite as well informed as in previous years. If you can call my previous posts informed2.

The Good

  • Improved use of iPad screen. (Okay, this is technically iPadOS but I think they’re still close enough to not need a second post!) The “multi-app slide over” multitasking is nice, the widgets on the home screen is long overdue, the ability to have multiple windows of the same app open. Apple have been saying that the iPad is the future of the computer, now it’s finally starting to feel it can be used as one.
  • Text editing. I’m not sure that it’s perfect yet but it is dramatically improved. There’s a new keyboard, new cut-and-paste gestures, swipe keyboard, cursor navigation and selection, more keyboard shortcuts on iPad. Even with an external keyboard, this has always felt harder in iOS than it should.
  • Photos. I’ve not dug into all the improvements, but the design is greatly improved aesthetically.
  • Voice Control. I probably won’t use this very much, but I love that it exists. As I wrote on Twitter, it makes me feel like Deckard.

The Bad

  • Stability. See above, but, long story short, I’m not sure I can easily recommend that people dash out and install this on the first day. Even the early iOS 12 betas were stable enough that this was an easy choice. This year it’s not so clear. I hope I’m wrong.

The Ugly

  • Release schedule. What’s going on this year? iOS 13 is available on 19 September for the iPhone. But not at all for the iPad. For that you have to wait for iOS 13.1 at the end of the month (30 September). For the Watch, which is still closely tied to the iPhone, it’s out the same day as iOS 13. Unless it’s more than a couple of years old, in which case… at some later point. This is greatly preferable to releasing software before it’s ready, but see above about stability. It does seem that Apple bit off more than they could chew this year. Either it’s not been planned well and they’re just reacting or they’re not communicating well. I really hope it’s the latter.

There are some features that I wanted to mention but I’ve not actually used. The Reminders updates look good but I think the handover support from the Music app to the HomePod that I’m most excited by! And some things are probably true but I’ve not actually noticed, like the improved performance or reduced app sizes.

Overall, I think that has the potential to be a great release. There are some nice improvements. I just hope I’m wrong about the glitches.


  1. That Apple make them available for non-developers so early in the process is a rant for another time. ↩︎
  2. Answers on a postcard, please. ↩︎

iOS 12

As I’ve done for the past few years, here are a few thoughts on the new version of iOS that will be heading to your phone in a few days. Usual caveats: my usage patterns are probably different to yours, I have a 6s and iPad mini, not whatever weird and wonderful hardware you have. I’ve been using the beta on my iPad since early August and on my iPhone since late August.

The good

  • Stable. I’ve had a couple of minor glitches but, honestly, there have been worse release versions. (They have been fixing new APIs and suchlike so I’m not saying they should have released earlier. But I am saying that the GM version should be pretty solid.)
  • Performance. As advertised, it works well on my far-from-new devices, probably better than iOS 11. I didn’t buy into the whole battery-gate scandal but if this is the result I’m happy with it.
  • Siri suggestions. I’ve not seen the full benefits yet, since I’ve not finished writing my own and haven’t been running anyone else’s beta software. But even just with Apple’s suggestions it’s nice. I go to the gym and it suggests my “gym” notes document. I think this is going to be big when more apps support it.
  • Do not disturb. I already used it a lot and now it’s better. DND until the current meeting and DND until I leave the current location are both super useful.

The bad

  • Nothing. Really. Sure, there are things that I would change or do differently, but there’s nothing that I would really look at and say “That’s worse than iOS 11.” If you’re okay with iOS 11 there’s no good reason not to update.

The ugly

  • What’s with the time and battery indicator being jammed in the very top left and right of the iPad screen? What a waste of space.

Final words

You’ll note that “Screentime,” Apple’s answer to the accusations that people are spending too much time on their devices, is not on the list. I don’t have anything bad to say about it, but I didn’t find it very useful. I have my smartphone addiction under control. I could stop any time I want to…

iOS 11

As I’ve done for the last few years, here are a few quick thoughts about today’s new iOS release, version 11.

I’ve been using the iPad version since the beginning of August and the iPhone version for only a couple of week but I think I have reasonable picture of what you’re going to see. 

Good

  • Multi-app support on the iPad. Wow! It’s quite different. You might need to give it a while before you get used to it. I also found that I needed to rearrange my dock so that apps I use to multitask are quickly available
  • “Swipe up on the iPad keyboard to get symbol characters.” Such a time saver
  • The voice synthesis of Siri is way better. But I agree with Gruber, if I could have dedicated engineering resources to Siri that wouldn’t have been where I would put them
  • iCloud sync for Photos. No more training each device to receognise each person!
  • Lots of nice, minor changes. The “Now playing” lock screen widget, the “play” button at the top of playlists/albums in the music app
  • Control Center is improved (but see first item in the “ugly” section below)

Bad

  • I’m guessing this has something to do with the iPhone X, but the one 3D Touch gesture I used all the time was the hard-press on the left side of the screen to trigger the app switcher. That’s gone in iOS 11. This is going to take a lot of getting used to
  • It won’t work on older devices. I get the “why” but it always sucks when they get left behind

Ugly

  • Why did the WiFi button is Control Center change to be “disconnect” rather than “switch off”?!
  • Not sure about some of the animations, especially on iPhone. 

Moving an app from Paid to Free

I’ve seen quite a few people saying that it isn’t possible to move an iOS app from paid to being free with an in-app purchase to unlock the full functionality. Fortunately they’re wrong.

“Traditionally” I would have had to remove version one from sale and offer a completely new app, which would have meant that existing users would have to pay again to get the same functionality. Or I’d have to support two apps. Or I’d keep the same app in the store and all existing users would get downgraded to the free version. None of these solutions seemed fair to existing users.

What I wanted was for people who had bought version one to get the full, unlocked version and for new users to be promoted for the paid upgrade.

Since iOS 7 came out in 2013 that it entirely possible. I’ll explain how it’s done here. This isn’t just some theoretical “I’ve seen the documentation” claim – I’ve done it with one of my own apps, Rootn Tootn.

The really short answer: take a look at the session 308 video from WWDC 2013. That’s the only information from Apple that explains how to do it. They have documented the API calls that are required but the actual process is left as an exercise for the interested student. And there are quite a few steps if you want to do it properly.

Firstly you need to get the app receipt. Before iOS 7 this only made sense for IAP but now they are available for all purchases and come in the same format as receipts from the Mac App Store.

Receipts have a number of useful features. In the past they have been used to validate purchase, and they can still be used for this. What’s interesting with the new receipts is that they include both the original purchase and the version number of that original purchase. This means that we can decide whether a user gets the paid functionally by looking for either an in app purchase or a purchase date before a particular time or, more likely, before a particular version.

When you download an app you should get a receipt automatically but you can also use the SKReceiptRefreshRequest class to force one to be generated. (This is also useful during development where, obviously, there is no receipt.)

Once the refresh has completed, you use [NSBundle appStoreReceiptURL:] to access the receipt.

Once you have the receipt the bad news starts.

It’s not in a user friendly format. And Apple do not provide any APIs to read it. Check out Apple’s documentation:

The outermost portion (labeled Receipt in the figure) is a PKCS #7 container, as defined by RFC 2315, with its payload encoded using ASN.1 (Abstract Syntax Notation One), as defined by ITU-T X.690. The payload is composed of a set of receipt attributes. Each receipt attribute contains a type, a version, and a value.

If security is important to you, you should probably write your own code to do this. ASN.1 is a standard format and it’s not that hard.

There are apps that generate the validation code, such as Tighten Pro and Receigen. I can’t vouch for either of them but the reviews seems positive.

There are also Open Source projects that do the same thing. I’ve used RMStore; there’s also VerifyStoreReceiptiOS. The main disadvantage of these is that, as standard, open code it makes it easier for crackers to reverse engineer how you remember that a purchase has been made.

And there you have it. It is possible. It’s just a lot harder than you might imagine. Remember this when someone tells you that it can’t be done.

ShareEverywhere

ShareEverwhere main screen
ShareEverwhere main screen

I was so busy when it came out that I never quite got around to blogging about it here: I have a new app out! It’s called ShareEverywhere. It is built exclusively for iOS 8 and uses the new, built-in “share” functionality, allowing you to share to a good number of services from any app that uses the standard share button.

When I first wrote it, I wasn’t sure how many, if any, developers would build share widgets into their apps. Now that we know the answer is “a lot of them,” I still use ShareEverywhere because it beats having a dozen widgets hiding in your action menu. And there are still services, like Pinboard.in, that don’t have their own native apps.

It’s available now in the App Store for your iPhone or iPad. It costs £1.49, $1.99, €1.79 or your local equivalent.