Archive for January 12, 2016

Tuesday, January 12, 2016

CloudKit JS


CloudKit is still the way that developers access the iCloud database, but Apple has provided a brand new way of accessing their CloudKit servers: CloudKit web services. CloudKit web services allows apps to access CloudKit via a really nice web framework called CloudKit JS. When these changes were announced at WWDC, we were excited to start working with this new framework to see what possibilities it would present. Ultimately, CloudKit JS enabled us to support iCloud sync in our AgileBits Store version of 1Password.


To make sync as seamless and stable as possible we wanted to make very few changes to the existing sync code in 1Password. We felt the best way to do that was to make a framework that looks and acts like Apple’s native CloudKit framework, but uses the CloudKit web services. This means 1Password can use Apple’s native CloudKit framework in the Mac App Store version, and our new AgileCloudKit framework in the AgileBits Store version.


CloudKit JS does not use the iCloud settings from OS X, so to authenticate with Apple, 1Password will prompt you to log in to your iCloud account by displaying the iCloud login page in your default web browser.

They plan to make the framework open source, which is great news. But think of all the engineering hours spent making a harder to use version of the API Apple is withholding.

Michael Fey:

We need to have a product in the store, but the customer does not need to own it to use AgileCloudKit.

Dave DeLong:

Yes. The policy is that you can use the [Web service] as long as you have a comparable app in the stores

Update (2016-05-06): Rick Fillion:

Today we’re pleased to announce that AgileCloudKit is officially open source and available on GitHub. AgileCloudKit is a framework that we’ve built for the purpose of bringing iCloud Sync to the AgileBits Store version of 1Password. AgileCloudKit allows us to take our existing iCloud Sync solution and make it work outside the Mac App Store.

Master List of CarPlay Vehicles

Apple (via Christopher Turner, archived list):

Every major automobile manufacturer currently offers models that support CarPlay or is planning to introduce them.

Unfortunately, many of them fall into the second category of only having plans, including Nissan, Kia, and Toyota (until recently the largest car company in the world).


For reference: Major brands sold in the US that are not on the list: Acura*, Alpha Romeo*, Aston Martin, Bently, BMW*, Chrysler*, Dodge*, Fiat*, Infiniti, Jaguar*, Jeep*, Kia*, Lamborghini, Land Rover*, Lexus, Lotus, Lincoln, Masarati, Mazda*, Mini, Nissan*, Ram*, Rolls Royce, Scion, Smart, Subaru*, Tesla, Toyota*

*Listed as a partner on Apple’s CarPlay website so they have something in the works just not released yet.

Previously: CarPlay.

Update (2016-01-30): Julio Ojeda-Zapata:

In my CarPlay testing over two weeks — one with the Silverado, another with the Regal — I found it to be equal parts enjoyable and frustrating. On the plus side, I vastly preferred using an Apple-designed interface over the one provided by the car maker. What iPhone user wouldn’t? At the same time, CarPlay’s simplified nature irked me after having used a full-featured iPhone in my car for years.

Update (2017-01-13): Jared Dipane:

Here’s a current list of the cars that Apple says support CarPlay, and we’ll keep the list updated as more announcements are made. Keep in mind, CarPlay is often packaged as an option for these vehicles, so you may need to jump to a higher price point in order to take advantage of it.

Still no Nissan or Toyota.

Update (2019-02-26): Joe Rossignol:

Toyota today announced that CarPlay and Android Auto will be standard features in its all-new 2020 Corolla in the United States.

Steve Troughton-Smith:

Nothing shows Apple’s respect for devs like not bothering to reply to you after you submit a request to get a CarPlay entitlement. 6 months ago. Guess that app won’t be happening, then. Why does Apple bother having WWDC sessions for something ten people in the audience can use?

How to Fix Stuck Mac OS X Clipboard

Dan Warne (via John Gordon):

Something has been bugging me with OS X for a while — sometimes the OS X clipboard (officially known as “pasteboard”) gets stuck and won’t accept any new ‘copied’ content. Instead, when you ‘paste’ in any app, the clipboard always pastes back the last thing you successfully copied.

I’ve been seeing this for years, but it usually works again after a few minutes. He says that killing the pboard process helps.

Intel CPU Bugs of 2015

Dan Luu (via Hacker News and Peter Steinberger):

We’ve seen at least two serious bugs in Intel CPUs in the last quarter, and it’s almost certain there are more bugs lurking. Back when I worked at a company that produced Intel compatible CPUs, we did a fair amount of testing and characterization of Intel CPUs; as someone fresh out of school who’d previously assumed that CPUs basically worked, I was surprised by how many bugs we were able to find. Even though I never worked on the characterization and competitive analysis side of things, I still personally found multiple Intel CPU bugs just in the normal course of doing my job, poking around to verify things that seemed non-obvious to me. Turns out things that seem non-obvious to me are sometimes also non-obvious to Intel engineers. As more services move to the cloud and the impact of system hang and reset vulnerabilities increases, we’ll see more black hats investing time in finding CPU bugs. We should expect to see a lot more of these when people realize that it’s much easier than it seems to find these bugs. There was a time when a CPU family might only have one bug per year, with serious bugs happening once every few years, or even once a decade, but we seem to have moved past that. In part, that’s because “unpredictable system behavior” have moved from being an annoying class of bugs that forces you to restart your computation to an attack vector that lets anyone with an AWS account attack your cloud-hosted services, but it’s mostly because CPUs are now complex enough that they’ve become too complicated to test effectively. Ironically, we have hardware virtualization is supposed to help us with security, but the virtualization is so complicated4 that the hardware virtualization implementation is likely to expose “unpredictable system behavior” bugs that wouldn’t otherwise have existed.

Night Shift in iOS 9.3


Many studies have shown that exposure to bright blue light in the evening can affect your circadian rhythms and make it harder to fall asleep. Night Shift uses your iOS device’s clock and geolocation to determine when it’s sunset in your location. Then it automatically shifts the colors in your display to the warmer end of the spectrum, making it easier on your eyes. In the morning, it returns the display to its regular settings. Pleasant dreams.

Surprisingly, it is configurable.

Juli Clover:

The Night Shift feature appears to be limited to iOS devices that have a 64-bit processor.

Previously: Sideloading f.lux on iOS.

Update (2016-01-15): f.lux (via Hacker News):

Rather than suggest simple answers, our mission is to enable f.lux to advance the science, while providing customized solutions for each person. We intend to make f.lux better in every way than the app we designed back in 2009.

Today we call on Apple to allow us to release f.lux on iOS, to open up access to the features announced this week, and to support our goal of furthering research in sleep and chronobiology.

Update (2016-02-18): Steven Aquino:

Night Shift strikes me as one of those technologies that isn’t intentionally built for accessibility’s sake, but works well enough that it also has relevance to people with disabilities.


Secondly, all the consideration I’ve put into the brightness and contrast of an iOS device’s screen leaves me longing for a system-wide dark mode.

Unencrypted iTunes Backups Don’t Include Health Data

Trevor McKendrick:

Unbelievable. If you restore an unencrypted iPhone backup from iTunes, all your health data disappears.


The Encrypt Backup feature in iTunes locks and encodes your data. An encrypted iTunes backup includes certain information that other backups don’t:

  • Your saved passwords
  • Wi-Fi settings
  • Website history
  • Health data

iTunes doesn’t encrypt your backups by default. To encrypt a backup in iTunes for the first time, you’ll need to turn on the password-protected Encrypt Backup option. After you turn on Encrypt Backup, iTunes automatically makes encrypted backups for that device from then on.

This makes a fair amount of sense as a privacy feature. You might not want your health data stored in the clear. But I doubt many people know how this works, and encrypted backups are not the default, so it’s easy to accidentally lose your data when restoring. As far as I know, there is no good warning about what might happen.

After you’ve overwritten your phone with the unencrypted backup, and used the phone for a while, it’s not clear what to do. iOS backups and restores are all-or-nothing. There is no granularity to say: keep the new data I’ve created in other apps, but restore my old HealthKit data from iCloud.

Update (2016-01-12): Hwee-Boon Yar:

I had a corrupted health.db in an iCloud backup. After a few days, couldn’t get a working version anymore.

…had to setup iPhone as new, lost all health data (years of steps and sleep data from Jawbone UP) and watch activity.

Plugs in Boxes:

My Workflow for exporting and importing Health data to and from CSV