Archive for October 8, 2015

Thursday, October 8, 2015

Apple and Privacy

Nick Heer:

I noticed this too, yesterday, when I was researching for a forthcoming article. The new privacy page is something only Apple can really do because nobody else is actually doing the things they are. But, as a marketing piece, it isn’t necessarily entirely forthcoming.


When read together — and, particularly, when combined with this support document — this gives the impression that iMessages backed up to iCloud will surely be encrypted, but they’re not.


While we do back up iMessage and SMS messages for your convenience using iCloud Backup, you can turn it off whenever you want.

Although not without disabling iCloud Backup entirely.

Matthew Panzarino (via John Gruber):

Here’s a tidbit with regards to Apple Maps. When you query Maps for a trip, Apple generates a generic device identifier and pulls the info using that, rather than an Apple ID. Halfway through your trip, it generates another random ID and associates the second half with that. Then, for good measure, it truncates the trip data so the information about exact origin and destination are not kept. That data is retained for 2 years to improve Maps and then deleted.

Nick Heer:

While Apple was busy greatly improving their privacy page, Google announced a new advertising product called “Customer Match” that’s pretty creepy. If you aren’t opted out of personalized advertising, you may be familiar with a situation where you visit one site, then visit other sites only to find an ad from that first site tagging along. This is known as “remarketing”, and Google’s new advertising product takes it to the next level[…]

John Gruber:

The bottom line: ever-more-personally-targeted ads, and a growing divide between Google’s and Apple’s approach to privacy.

Tim Cook (comments):

I don’t think you will hear the [National Security Agency] asking for a back door. ... There have been different conversations with the FBI, I think, over time. ... But my own view is everyone’s coming around to some core tenets. And those core tenets are that encryption is a must in today’s world.


We do think that people want us to help them keep their lives private. We see that privacy is a fundamental human right that people have. We are going to do everything that we can to help maintain that trust.

Peter Taylor (comments):

Mr Snowden said GCHQ could gain access to a handset by sending it an encrypted text message and use it for such things as taking pictures and listening in.


“It’s called an ‘exploit’,” he said. “That’s a specially crafted message that’s texted to your number like any other text message but when it arrives at your phone it’s hidden from you. It doesn’t display. You paid for it [the phone] but whoever controls the software owns the phone.”

Amy X. Wang:

Once in, agencies can allegedly access many functions of the phone—reading messages, looking at web history, and even taking secret photos with the camera—without the owner’s knowledge.

That would explain why they don’t need to ask for a back door.


Marcel Weiher (tweet, comments):

With Apple doggedly sticking to Ahead of Time Compilation for Objective-C and now their new Swift, JavaScript is pretty much the last mainstream hold-out for JIT technology. And even in JavaScript, the state-of-the-art for achieving maximum performance appears to be asm.js, which largely eschews JIT techniques by acting as object-code in the browser represented in JavaScript for other languages to be AOT-compiled into.

I think this shift away from JITs is not a fluke but was inevitable, in fact the big question is why it has taken so long (probably industry inertia). The benefits were always less than advertised, the costs higher than anticipated. More importantly though, the inherent performance characteristics of JIT compilers don’t match up well with most real world systems, and the shift to mobile has only made that discrepancy worse. Although JITs are not going to go away completely, they are fading into the sunset of a well-deserved retirement.

The State of Apple Maps

Joe Rosensteel:

Instead, here we are, three years later. Still working around Siri, and working around apps that integrate Apple Maps (like Yelp), and copying and pasting addresses in to Google Maps.


The other location improvements have less significance to me, but I do still miss Google’s Street View. If you tap on an address that has no Yelp data you get a spartan, white page with a slowly rotating satellite view of the street, which is useless.


It’s important to keep your eyes on the road. Glancing at certain elements of your console for vital info is a necessity. Using thin weights for the display of information in a navigation app is just dumb. At a glance, you can see the number of miles to your next turn, or decimal value thereof, and an icon representing the kind of turn you will need to execute. White bars float over streets, but you can’t read them, and the street you’re turning on to is so tiny and waif-like that it might as well not be there. A thicker weight is used for the time, but again, a small size makes it hard to read clearly in a split second. Things also wouldn’t need to be so small if they weren’t all crammed in the top bar.


One of the things I’ve found puzzling about the design of the Apple Maps interface is that you can see traffic, and travel estimates supposedly influenced by traffic, in the route overview, but no traffic information is provided when turn-by-turn is on.


Lane guidance is a feature present in Google Maps, but not found in Apple Maps. I find it invaluable when I am traveling in a congested area and unfamiliar with where turn lanes, or exits, will split and join. Some exit lanes might quickly expand in to three lanes with turns in different directions, and Google Maps will tell you which ones you can be in, or even that you will be fine in the lane you’re already in.

Update (2015-10-09): Ryan Jones notes that in iOS 9 Apple Maps can pause spoken audio (e.g. podcasts and audio books) when giving directions. It works with third-party audio apps, but I don’t think this is something that third-party maps apps can do.

My iPhone 6s and iOS 9 Experience

Restoring from my iTunes backup didn’t work the first time. It didn’t put all the apps back or put them in right places. I wiped the phone, and the second time it worked perfectly.

The iPhone 6s definitely looks larger than my 5s. Within a day or so, the extra row of icons, and having more screen space in general, feels normal. Reading is much better than on the narrower screen. Typing is a bit easier. Going back would feel constricting.

It does not feel normal in my hand, though, and every day I miss the 5s’s size. There are so many times, especially with Safari View Controller, where I need to reach the top of the screen, and this just feels awkward. The Reachability double-touch—which must be very light—feels less convenient than a hand shimmy. Perhaps it would work better with a dedicated hardware button. It’s just not as easy to use one-handed as the 5s.

I have always used my iPhones caseless. For me, at least, this is no longer possible with the iPhone 6s. Improved or not, the metal surface feels slippery. Between that and the thinner, smoother shape, I found myself gripping the phone much more tightly. It’s strange because the 6s looks curved—is actually curved—but it feels almost pointy, digging into in my hand; the 5s has edges that look sharp, but it sits lightly in the hand, the edge feeling more like a texture than a blade. Every other iPhone has felt good in my hand, some better than others, but all good. The 6s was so uncomfortable that I would have returned it if I couldn’t find a case that I liked. Secondarily, the camera bump is unsightly and unpleasant to touch, and having case mitigates that.

I wanted to like the Apple silicone case because it is very grippy and has several great color options. Unfortunately, it is way too grippy for everyday use. It sticks going into my jeans pocket, and pulling out the phone turns my pocket inside-out. The silicone case also collects dust and lint like crazy.

I settled on the Apple leather case. It changes the phone’s shape enough that it feels comfortable in my hand. It’s grippy enough, but it still slides in and out of my pocket easily. With the case, the 6s feels much larger than the 5s. Unlike with the 5s, it sometimes gets situated in my pocket such that it digs in when I bend to sit or stand. (I’m on the slim side but don’t wear skinny jeans.) The lip at the top of the case collects dust, but the rest of it does not. For the first few days, the leather irritated my skin a bit, but now it’s fine. I don’t mind the leather wearing, but I’m slightly worried that it will get smelly or grimy over time. Had I known about the Evutec Karbon before buying the leather case, I might have gone with that instead.

I’m not happy with the buttons compared with previous iPhones. Without a case, the buttons seemed too easy to press. I would power off the phone by accident. With a case, the power button is almost too hard to press if I don’t get the spot exactly right. I also don’t like its position on the side, opposite the volume buttons. Often, I’ll grab the phone to turn it off, bracing against the volume side while pressing the power side, and I’ll accidentally change the volume.

The speaker seems much better. I’ve found myself playing music or podcasts from my pocket if my Bluetooth headset is charging or not handy.

The Touch ID sensor is much faster, not instant, but so much faster that I sometimes unlock the phone by accident. I intend to turn on the screen from the Home button, then swipe up to access the camera. Instead, the phone unlocks, and I end up at the home screen. Now if I want to get to the camera, I tap the Home button with the tip of my finger to prevent it from unlocking.

The battery life definitely seems shorter than on my two-year-old 5s, but this is not a serious problem for me. I’m not sure whether I have the Samsung or TSMC A9, and I’m skeptical that there is much difference in battery life.

Overall, phone reception seems better. I often have two or three bars in locations where I previously had one or two. Unfortunately, I’ve had lots of problems with the phone not ringing. At first I thought this was because I had misconfigured Do Not Disturb. But then it failed to ring when I asked someone in my “Disturb” Contacts group to call. And it has also failed to ring outside of the Do Not Disturb hours.

On the software side, the overall speed is incredible, though it all too soon becomes expected. San Francisco is great. Apps are finally listed alphabetically in the Notifications screen in Settings, so it’s much easier to find them.

I love being able to move the cursor around with 3D Touch and trackpad mode. Unfortunately, this does not work with third-party keyboards. Peek and Pop are useful and reduce the need to reach to go back. I like being able to hard-swipe from the left edge to switch apps. I can finally print to PDF by peeking and popping on the print preview, and there is also a “Save PDF to iBooks” action. Not every app can print, though, so it’s still nice to have PDF Converter (App Store).

“Hey Siri” works again, and it’s surprisingly useful when the iPhone is unplugged. I find myself using it from across the room.

The camera is much improved, although I would say not as big an improvement as with previous two-year periods. The Camera app does seem to open a lot faster, which is great. It’s still infuriating that the camera doesn’t remember that I always want to use HDR.

I like the idea of Live Photos but find myself not using the feature. This is partly because they don’t automatically import well into Lightroom. Lightroom sees that the movie and photo files have the same basename, and it imports the movie file with the photo as an invisible sidecar. To see the movie and photo separately, you have to rename one or the other before importing. That’s easy enough to do with a find and replace, but it can’t be done within Lightroom, which means an extra step or two. The other problem is that Lightroom seems to set the movie’s date to when the movie was imported, rather than when it was recorded, which means that the movie-photo pairs don’t sort together.

There’s an unfortunate bug where the music or podcast stops playing when I open the Camera app. This is related to Live Photos, but it happens even if Live Photos is disabled. Apple told me that a fix is in the works.

I’ve heard that even with iOS 9.0.2, there may still be a bug where apps use cellular data when they’re not supposed to. At least judging by iOS’s self-reported statistics, the switch is working for me.

Lastly, it’s frustrating that Contacts groups don’t work better. The groups are not sorted alphabetically, and there is still no way to create a group or assign a contact to a group from the phone (except via the Web interface).

Update (2015-10-21): The bug where audio pauses when you open the Camera is not fixed in iOS 9.1.

My El Capitan Experience

The Mac App Store promised a “refined experience”; clearly its progress indicator needed some refinement.

I had a bunch of problems installing El Capitan. The installer hung, and I eventually had to hard reboot the Mac. Then I had problems with 2-factor authentication and logging into iCloud. After finally logging in, most things worked.

I got to the Finder and found that in Icons view the icons look awful. It seems to be using blurry scaled down images instead of the ones that are optimized for the size I am viewing. The icons look normal in the Lists and Columns views, though. The Finder still doesn’t remember which windows are open or which view options I’m using. Even just doing a search and then canceling it messes up my column widths. There’s an odd bug where sometimes the “Move to Trash” menu item is disabled, but if I click on another file and then click back to the first file it becomes enabled. The normal interface for restoring from Time Machine doesn’t finish loading for me, and every time I return to the Finder it crashes. Restoring using tmutil works, however.

The best part of El Capitan is the new San Francisco system font. The year of Yosemite was unpleasant for me because of Helvetica Neue. On Retina displays it looked OK, but in my opinion it is not a good choice for a system font. On non-Retina displays it was ugly and hard to read, with letters running into each other. On non-Retina displays San Francisco looks good. It is perhaps not as optimized as Lucida Grande, but I like the character shapes (except for the quotes). I look at the screen, and seeing the letters so clearly again makes me happy. Needless to say, on Retina displays it looks fantastic.

One oddity is that San Francisco does not appear in the system Fonts panel. It’s the default font in Mail, but if you are updating from a previous version of the OS—or if you ever change the font in Mail—there is no obvious way to go back to San Francisco. I found that on different systems the current font was stored in different places. Some combination of these Terminal commands restores the default:

defaults delete MailboxListFont
defaults delete MessageListFont
defaults delete TocFont
defaults delete Font

EagleFiler faces the same issue as Mail, so I added a pop-down menu to its Fonts panel for selecting the system font. The same menu is also available in DropDMG if you want to make a disk image layout that uses San Francisco.

I love the feature to see which Safari tab is playing audio. There’s now a preference in Safari so that the Option-key workaround for Favorites Bar keyboard shortcuts is no longer necessary. Overall, Safari seems more responsive. However, I have run into some situations with a lot of tabs where some tabs die without ever loading. I have mixed feelings about the new on-demand status bar at the bottom of the window. It lets me see more page content most of the time, but depending on the page background it can be hard to read the URL on mouseover. I like the new feature where you can hold down the Option key to “Clear History and Keep Website Data….” The old way of manually clearing the history—via Select All and Delete—is still buggy in that after a few seconds a handful of pages from each day come back.

The location of the LSSharedFileList files that store the per-application lists of recent documents has changed. One EagleFiler customer says that the displayed list of recent documents is not updating for her, even though the file’s modification date is changing.

The create_os_x_vm_install_dmg script did not work for me; the image it created booted to a blue screen in VMware. These methods did work for creating bootable installers, as did selecting the Install OS X El file itself when VMware asked for a disk.

It’s great to have Find My Friends in Notification Center.

The beta problems with Aperture are apparently fixed, but the iCloud features have stopped working for me and there’s a bug with Onscreen Proofing. I think this is my cue to migrate my old photos to Lightroom before it’s too late.

FileMaker is not ready yet. Microsoft just fixed Office 2011. Office 2016 is currently crashy. MacStrategy has a compatibility list, but I don’t think it’s up-to-date. For example, SuperDuper has been compatible for a while. I did not have to update to a newer version of LaTeX because the El Capitan installer had automatically moved the files for compliance with System Integrity Protection. I just had to update the path in my Makefile.

I updated my apps to use App Transport Security. My Web server already supported HTTPS, but the software update feature, crash reporter, etc. were not using it. I need to use NSExceptionRequiresForwardSecrecy for now, because the server is currently running Ubuntu 12.04, which doesn’t support doesn’t support ECDHE ciphers. I was hesitant to switch software update over to HTTPS because in the event of a problem with ATS it would then be impossible to automatically deliver bug fixes. But it seems to be working very well except for one customer who is getting a certificate error—unrelated to ATS, since he’s on 10.9.

The biggest El Capitan changes for me are in Apple Mail. The first-run experience was terrible—it took more than 6 hours after the database migration before it would download any new messages in my main account’s inbox. Before that, it was constantly showing that other mailboxes were downloading messages, only at a very slow rate, and with very little bandwidth usage (as reported by iStat Menus).

Since then, it has been working pretty well for me. The frequent crashes and hangs from the Yosemite version seem to be fixed. Smart mailboxes are still slow compared to before they were rewritten to use Spotlight instead of SQLite (10.9?).

I used to run Mail with the Activity window way off in the corner of my second display and the activity pane in the main pane hidden. This way I could see details if I wanted them, but I wasn’t distracted by activity when I was just trying to read my mail. Unfortunately, in El Capitan there seems to be no way to turn off the activity pane below the mailboxes. It is constantly popping up for a second or two and then disappearing. Also, Mail used to only show a number next to the inbox when it actually contained unread messages. Now, it seems to show a number when there is a message that’s downloaded but in the process of being filtered. So I click on the inbox only to find that there’s nothing there. The main Activity window no longer lets you cancel tasks. I haven’t missed this in El Capitan yet, but in previous versions it was often necessary if Mail got wedged—better than force quitting the whole app. It also doesn’t tell you which account it’s checking.

The Page Up and Page Down keys now work in the message list, fixing the odd behavior introduced in 10.9.

I find the in-message banners notifying me about data-detected contacts and events annoying. Unfortunately, there doesn’t seem to be a way to turn them off.

I still have some SpamSieve customers who are seeing the bug, introduced in 10.9, where moving messages to another mailbox via AppleScript takes tens of seconds. The GUI scripting workaround still works.

Mail has long had a feature where you could check its number of background operations via AppleScript. SpamSieve uses this to try to avoid sending Mail commands when it’s busy, because processing AppleScript commands can cause it to deadlock. EagleFiler uses this to avoid reading mailbox data while Mail is busy, because this helps ensure that the messages are completely written to disk first. (If they’re not, EagleFiler will detect this, but it’s better to wait a few seconds and then import successfully than to get an error and have to retry.) Unfortunately, Mail’s background activity count property is broken in El Capitan, so these safety features no longer work.

There’s now an editor for e-mail address aliases, rather than a text field for a comma-separated list.

The strangest El Capitan behavior I’ve seen is that somewhere in the setup process, if you have a POP account, it sometimes creates an IMAP account with the same name but marks it as inactive. This hasn’t happened to me, but I’ve heard from lots of customers who’ve seen this. Since the account is inactive, this wouldn’t seem to be a big deal, however Mail’s own script object specifiers seem to get messed up when there are duplicate accounts, leading to errors that prevent SpamSieve from moving the messages when you train them. The workaround is to rename the inactive account.

See also: my other El Capitan posts, Apple’s list of features, Take Control of Apple Mail, TidBITS, Ars Technica (comments), Jason Snell, Alex Guyot, David Pogue, and MacRumors’ list of reviews.

Update (2015-10-19): Benny Kjær Nielsen notes a bug in setting the default e-mail client.

Update (2015-10-23): The Time Machine crash is not fixed in Mac OS X 10.11.1.

Update (2015-10-30): I’m continuing to have problems with Mail on 10.11.1.

Update (2016-07-25): As of 10.11.6, the “Move to Trash” bug and Mail scripting and duplicate accounts bugs are all still present.