Fun With Apple-ID Renaming Continues

I had a curious iOS support incident I want to share. Two weeks ago, a friend asked me for help with her iPhone.

The device was given to her by a relative who had apparently reset it by restoring a backup he made almost three years ago.

The backup contained a log-in to the relative’s iCloud account with Find my iPhone turned on. To put things in perspective: Find my iPhone was first launched in June 2010 and integrated into iCloud on its launch in October 2011.

Nevertheless, Activation Lock, the feature that prevents re-activation of an iPhone as long as it is marked locked by its owner, was not a thing until iOS 7. But – purposedly in the endeavor to make the transition seamless – Apple kept the label Find my iPhone for the switch in Settings.app which now enables / disables Find my iPhone and Activation Lock simulatenously.

And this lead to the following problem: My friend’s device could not be restored (neither by iTunes nor from the iPhone itself) because it assumed Activation Lock was still enabled.

In case you did not know: Apple offers a web-form where you can check the Activation Lock status of your device. This page reported Activation Lock to be disabled.

Looking at iCloud settings on the device, the switch was enabled. Attempts to toggle it off failed with a try again error after the relative entered his password. It was not the kind of the occassional 503 HTTP status codes you get when Apple activation servers are down.

Also, on iCloud.com none of the relative’s devices were listed in the Find my iPhone webinterface.

I started to go through my catalog of questions I use to identify possible user errors. And indeed, after fifteen minutes of interrogation, there was the answer:

Oh, yeah, one more thing: I renamed my Apple-ID since I did that backup I restored on the phone.

To be clear: He had not just changed his primary e-mail address but indeed altered the username of the Apple-ID.

Please don’t do this. Just don’t. Absolutely. Never. I speak from experience.

So apparently, activation lock is out of sync with the server-side.

Luckily, putting the device into DFU mode and connecting it to iTunes solved the issue for this particular case.

However, it is simply embarrassing that Apple still has not figured out their user account system. Come on guys, this is known territory.

Radars:

Comment: The Functional High Ground

In case you did not notice: in the last months, torches and pitchforks have been held steady in the Apple developer community. People have been furious about the inexplicable and arbitrary rejections of high-profile and / or innovative apps, e.g. Transmit, PCalc and Nintype.

While this particular turmoil seemed to cool down in the last week(s), another topic that has been on the radar for quite some time has been in discussion: The recent decline in Apple’s software quality. Marco Arment hit the nail on the head for a lot of people, myself included, although Daniel Jalkut puts some statements in a more rational perspective.
Additional link: Craig Hockenberry has written another great piece.

Since the launch of iOS 7, the number of people asking me for help or complaining about their Apple-devices has increased significantly.
People are pissed.

This post is written on OS X Mavericks, because I still hear about problems with WiFi on Yosemite. And because the new features just are not worth the risk of the slightest instability to me.

The #1 reason I am not using FreeBSD or PCBSD on my laptop is OS X’s reliability I learned to love since I switched to the Mac around five years ago. And the software I use on a daily basis, which is in my opinion far superior to everything I have seen on other platforms. In short, OS X still is my favorite UNIX desktop.

I would not consider myself an iOS power user. Sure, I use the device quite a lot but it’s nothing all-too fancy: podcasts, OmniFocus, Twitter, navigation and occassionally messaging although I hate typing on the phone. And some annoying bugs along with the restrictions you still have on iOS make me feel tired of the platform.

I tend to agree that Apple’s hardware is amazing – my laptop delights me every day and so does my phone and my tablet.

But it is not hardware quality that convinced me to buy Apple products in the first place. And it is definitely not the attempt to build a platform with inferior Maps, windy Clouds, locked-down devices and rushed-through software releases.

I do not care about Apple doing well economically. As a company, profit will always be the highest priority for them. No matter what. However, it is important to have a long-term strategy for your products.

I want need that strategy to be: making the most reliable operating system there is with the most advanced technologies available that are suitable for the job.

Everything else, I’m out. Sooner or later.

Not Getting an iPhone 6

I made a decision: I won’t buy an iPhone 6.

The fact of this being a first world problem aside, I have several reasons: my iPhone 5 looks a little worn down due to scratches in the anodized black aluminum. But hey, at least it is real black and not some space-grey-wannabe-black successor.

The battery was making some problems. I replaced it today using an iFixit part. According to Apple, the old battery was damaged but not eligible for the most recent replacement program. Let’s hope this works out.

iOS 8.1 fixed most hickups of 8.0 – in particular, the bug when App Switcher would take several seconds to appear occurs once a day at most. I can live with that. [In fact I can’t, but I guess it’s not just an issue on the iPhone 5.]

I guess the most significant improvement with the iPhone 6 would have been the larger display, the nice camera and LTE which I can’t use on the iPhone 5 because the standard 800Mhz frequency in the EU is not supported.

Since my first iPhone, I always went with the 16GB model and it worked well for me because I am not an all day mobile photographer and don’t keep music on the device. However, I expect apps to grow a little bigger because of 3x assets being included in every app. And to be honest: there were a few times when I had to juggle around with disk space on iOS, which is by no means a pleasant experience.

I would have gone with 32 GB, but it turns out Apple does not offer this version: 16, 64, 128 – I can’t help but call it a dickmove. A clever dickmove that might raise the average selling price for $100. Or cost Apple in Tim’s beloved customer sat because no UNIX system out there likes running iOS is not running smoothly without free disk space, not even mentioning the impossibility of OTA upgrades.

Talking about memory, I am disappointed, too: 1 GB, seriously? That’s no improvement compared to my iPhone 5. And already today, memory is the bottleneck #1.

There has been a lot of talk about technical debt. I hope Apple is going to have to pay for what they messed up with the 6’s internals. And I hope they will learn for the future. It is just shortsighted to save relatively little money on things like (flash) memory that make all the difference in daily use.

Don’t get me wrong, I think the iPhone 6 is a great product today, although it probably won’t be in the long run. Whatever this means in the phone business.

1Password and Touch-ID

AgileBits recently updated their famous 1Password to version 5.0 taking advantage of the LocalAuthentication.framework on iOS. Users can now identify themselves using Touch-ID – the master password is stored in the iOS keychain.

1Password_5_touch_id_unlock

Let me stress the word identification here: your fingerprint is not a password – it does at most identify you. What I want from my password manager is authentication before opening its gates to the user. In fact, what I want is two-factor-authentication.

Using the master password is inconvenient and probably leads to users disabling lock-on-exit.
Using the quick-unlock code is convenient enough for me, but I won’t leave my passwords protected by a four-digit code that could be easily watched by someone walking next / behind me.
Using Touch-ID is very convenient but there’s no authentication.

I would like to see quick-unlock code and Touch-ID combined. It’s one of the most straight-forward implementations of two-factor-authentication. And while I’m still uncomfortable with storign my password on the iOS keychain, it would be a big step forward compared to the current situation.

Microsoft Sculpt Ergonomic Keyboard on OS X

A few weeks ago, my Apple Wireless Keyboard’s K-key broke and I was looking for a replacement. As a good Apple customer, I was already about to order a new one when I remembered all the positive reviews of certain ergonomic keyboards – in particular the Microsoft Sculpt.

So I ordered one from Amazon: there was none with US-Layout offered in the German store so I went with the UK-one instead – not realizing the subtle differences between the layouts.

Anyways, here are my impressions one week after the switch from the Apple-Keyboard to the Sculpt.

First contact

Man, that thing is bulky. Not as bulky as the normal keyboards with a big useless fat num-block to the right but still, the device takes a lot more of (visual) space than the humble Apple products. However, you get used to it pretty fast and since you can easily grab your favorite pointing device without waving your arm, the most annoying issue with Windows keyboards is already resolved.

When switching, you’ll most certainly hit many wrong keys in the beginning – as you’d do with any new keyboard.

If you think you are pretty OK typing blind on the Apple keyboard, you’ll be frustrated to feel your index finger fall into the space caused by the split layout when attempting to type b.

If you are used to not having the Delete Forward key on the small Apple notebook / wireless keyboards and use the fn key for this, you’ll be annoyed the Sculpt does not have such one.

If you are a heavy user of Vim, the Escape key will most certainly be a no-go for you.

And if you use the arrow keys heavily, you’ll notice how nice it is not having to move your wrist to jump a few lines up and and down on the Apple keyboard.

Customization

All this is fairly annoying and I wouldn’t use the Sculpt if it were not for the following modifications.

I found an open source tool callee Karabiner that comes in handy when dealing with the weak points of the Sculpt. While the interface is crappy, it is a very powerful tool that holds tons of options to customize the behavior of your keyboard. If you are not satisfied with shitload of tweaks already shipping with it, you can add your own using XML-formatted configuration files.

Please note that the following customizations have been made using the U.S. With Umlauts via Option Key keyboard layout that facilitates typing German text while using a US layout for programming, etc. You can download it here.

Since using the arrow keys on the Sculpt requires lifting your right wrist from the cushion, you might want Vim-style navigation sometimes. In Karabiner, there is an option for that: hold s + hjkl to use the corresponding arrow keys and you will have to lift your hands far less. However, this comes with a little brainfuck since you are virtually changing editing modes far less explicitly than in Vim (when using the Escape key).

Other mapping are:

  • Alt-Gr to CMD_R
  • Application-key to OPTION_L (Didn’t find a checkbox to use OPTION_R which should not make a difference anyway)
  • Ctrl-Backspace as a poor man’s Delete Forward (I don’t want to accustom to having a dedicated key for that only on the Sculpt)
  • Backquote to Escape and Section to Backquote. Sounds crazy but it’s fine since the British keyboard gives you an extra key you wouldn’t have on the US-Version anyways. Using these options gives you an easily accessible Escape key that you can punch on when stuck in some weird mode in Vim.

The result looks like this:

sculpt_layout_remapped

Final words

Putting it all together, I am not really happy with the steps you have to go through to get an OK experience with the Sculpt on the Mac. However, typing feels like walking on clouds which you’ll appreciate when returning to you MacBook’s internal keyboard.

Karabiner uses standard Accessibility APIs which I don’t expect Apple to break soon. It is a good sign that the software is already compatible with Yosemite which is not released yet.

It took me about two days and several hours of practice in TIPP10 but I feel comfortable now. Temporarily switching back to the Apple keyboard is not much of a problem either since you’ll most cetainly be better at the 10-finger-system than ever before.

I consider the Sculpt a net-win for me although it comes with some major drawbacks that were clearly demotivating in the first days of use.

iTunes Backup Lock

I am just installing the iOS 8 and wanted my old iOS 7 backup to be preserved in case I need to go back.

While at first, I thought about copying the backup directory located in ~/Library/Application Support/MobileSync/Backup/<UIID> to be sure iTunes doesn’t overwrite it, I discovered that this bloated piece of software actually has something like this built-in.

Just Ctrl-click on a backup in preferences and choose Archive to lock your backup – indicated by the little icon.

iTunes_Archive_Feature

Recommendation: Soulver

Have you ever felt the need to do some calculations using variables, mathematical functions, unit conversions, etc? Have you ever felt the need to punch Calculator.app into the face?

Soulver might be worth a try. It’s a mix of spreadsheets and writing pseudo-code.

I’ve been using it for several years and it’s what suits my thought-process best.

Marco Arment on programming

It might be accidental (haha), but on the latest episode of Debug (#43) Guy English and Marco Arment also talk about what being a programmer means to them.

The way you know whether you want to be a programmer for real is if you do it all the time. […]

When you get something that works, it is a particular kind of intellectual high – for some people. And for some people, it’s not worth it.[…]

If you’re the kind of person where that value you get when it does eventually work makes up for all the frustration and difficulty that you spend getting there, if the value you get overcomes all that, then you are probably good to be a programmer. […]

If the inherent value of having completed it and building something and seeing something you built run and become a thing, it’s an incredibly awesome feeling for some people. […]

Programming is running into a wall constantly and occasionally making some cool progress. If you don’t think that progress is worth it, you’re not gonna enjoy the practice of actually being a programmer.

[Marco Arment, Debug #43, starting at approx. 2:40:00]

This is a perfect addition to my previous post quoting John Siracusa: it is important to have a project as a source of motivation when facing the constant demonstration of your very own imperfection.

John Siracusa on Programming

I recently caught up with Daniel Jalkut’s Bitsplitting podcast. (Of course) one of the best episodes was the one with John Siracusa. In particular, I liked the passage about what keeps John motivated in programming.

You know what programming is like? It sucks you in!

You find yourself spending days, weeks, months of your life just tweaking this program and trying to make it better, fixing bugs, trying to make it do things you couldn’t make it do and refactoring it.

I realized I was a programmer.

[Bitsplitting Podcast #4: John Siracusa]

I strongly identify with this notion of programming.

Software development – especially if you are young and most likely unexperienced (like myself) – has been the biggest timesink in my life so far. I never get tired of it. I repeatedly find myself restless as soon as I find a bug in my software or have another brilliant idea for the application’s architecture.

Programming to me is all about creating something that is by its very own nature imperfect.

30 days uptime

22:13 up 30 days, 7:41, 2 users, load averages: 1,46 1,36 1,31

Im letzten Monat habe ich mein Retina MacBook Pro kein einziges Mal ausgeschaltet oder rebooted. Nach mehreren Jahren mit einem 2008er MBP ist das mit Abstand die gravierendste Änderung meines Nutzungsverhaltens: Während ich zuvor nach einer Stunde Standby bei 80% Ladung angekommen war, kann ich meinen Laptop nun mehr als einen Tag lang vom Strom trennen, ohne mehr als zwei oder drei Prozent zu verlieren – das ist das Gefühl von Mobilität, das ich von einem mobilen Computer erwarte.