Skip to main content

This is ZX81.org.uk

Tag: Apple

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.

iPhone 6s

I wasn’t sure that I wanted a “big” iPhone as I was perfectly happy with the 4” form-factor. But if I was going to get a new phone and the new ones are bigger, I reasoned, I may as well go really big and go for a 6s Plus. On paper it made perfect sense.

Then I played with one in an Apple Store and I laughed. In practice it was comically big. I really didn’t want a phone I could only realistically use with two hands.

Taking Stock

Share price movements are kind-of-sort-of-rational but not always intuitive. For example, when Apple has a big keynote and announces some significant product, everyone expresses surprise that the share price goes down straight afterwards. Even many smart people get this wrong (“It isn’t based on logic and reason” – The Talk Show episode 53). I hope to explain why the price dropping actually does make sense in this post.

In doing so I’ll likely make some errors. Some of those will be deliberate simplifications. In other cases I’ll probably just be wrong. But either way, I think the gist, if not the details, should give you a good idea of what’s going on.

When to use -retainCount?

Preamble: In pre-Swift and pre-ARC days of development on Apple’s platforms, it was necessary to “manually” retain and release objects as you used and discarded them. One common, but incorrect, pattern that kept reappearing was the idea that you could use the retainCount method to ascertain whether an object was still being used.

## When to use -retainCount? Never!

There’s pretty much never a good reason to use -retainCount. Here’s a short and mildly abusive explanation why.

Java and Yosemite

!["To view this web content, you need to install the Java Runtime Environment."](https://i0.wp.com/www.zx81.org.uk/wp-content/uploads/2014/11/Screen-Shot-2014-11-03-at-20.42.54-300x152.png?resize=300%2C152)
“To view this web content, you need to install the Java Runtime Environment.”

Ever since upgrading from OS X 10.9 to Yosemite (10.10) I’ve been getting the above error message periodically. As far as I know I have no software that needs Java to run.

When I asked on Twitter, the most common suggestion was that it was the Adobe updater. But I don’t have PhotoShop or anything else likely installed.

Swift Types

If you look at the Swift Language guide, you get the distinct impression that the type system is sleek and modern. However the more you dig into it the more eccentricities you find.

The one I’m going to look at today makes sense only if you look at the problem domain from a slightly skewed perspective. I’ve been trying to think whether this is a sensible, pragmatic way of designing a language or a mistake. Judge for yourself.

Swift Hate

I’m seeing a surprising amount of vitriol aimed at Swift, Apple’s new programming language for iOS and Mac development. I understand that there can be reasoned debate around the features (or lack thereof), syntax and even the necessity of it but there can be little doubt about the outcome: if you want to consider yourself an iOS developer, it’s a language that you will need to learn.

The only variable I can think of is when you learn it.

Learning Swift

Swift is a new programming language designed by Apple for development on OS X and iOS. I thought that I should try to learn it a little so I decided to convert a non-trivial collection of classes from one of my apps (www.cut) into Swift. I always find it better to work on a real project rather than just to play around with things aimlessly. Also, by re-working an old project, I knew that all the problems I would find would be language related rather than anything to do with the architecture.

iTunes Match – addendum

Since I wrote about iTunes Match nearly eighteen months ago I thought it was worth revisiting and seeing how things have changed in that time.

Oddly, the short answer is “not very much.”

The problems that I identified last year are still very much present. Indeed there are some new examples. This is my favourite: when listening to “Man Machine” by Kraftwerk, iTunes Match seems to have decided that track four, which should be “The Model,” is really “Wouldn’t it be nice” by the Beach Boys. I don’t even own a copy of “Wouldn’t it be nice.”

War?

Eric Schmidt says Google is the new Microsoft and it’s winning the war against Apple. I think he’s missing some perspective.

One of the key things that Steve Jobs realised when he returned to Apple in the late nineties was that the industry is not necessarily a zero sum game.

We have to let go of a few things here. We have to let go of the notion that for Apple to win, Microsoft has to lose.