Archive for May 10, 2017

Wednesday, May 10, 2017

WhatsApp Extends Encryption to iCloud Backups

Tim Hardwick:

WhatsApp has offered end-to-end encryption on its messaging service for some time, but that encryption did not previously extend to iCloud backups of messages. Given that Apple holds the encryption keys for iCloud, a subpoena of Apple or an unauthorized iCloud hack could potentially allow access to WhatsApp messages backed up there.

However, WhatsApp has moved to prevent that possibility by also pre-encrypting the backup files.


According to Russian-based Oxygen Forensics, third-party hacking tools are able to download the encrypted WhatsApp data backed up to iCloud and then generate an encryption key to decrypt the data using the associated SIM card. The tools could potentially be used by police with access to a phone where the WhatsApp account has been deactivated but the encrypted messages are still stored in iCloud.

This is more protection than iMessage offers for iCloud backups, but it seems like both could benefit from allowing the user to specify a backup password, as is possible for local backups via iTunes.

Apple Music Redesign

Jason Yuan:

What you’ll find below is a case study offering potential solutions to address some of Apple Music’s problems, as well as ideas for future development. My process was guided by qualitative user research, Apple’s official Design Principles, and my own designer intuition.


I think Apple should focus on integrating existing social media with Apple Music instead of trying to push yet another one on its already overburdened consumers.


My solution was to implement a gesture that most users are already familiar with — the double tap — into the Now Playing experience. I observed that many users tried to press the “floating” album art in the present release (it just looks so delightful)…why not add a response?

Amazon Echo Show

Amazon (via Hacker News):

Echo Show brings you everything you love about Alexa, and now she can show you things. Watch video flash briefings and YouTube, see music lyrics, security cameras, photos, weather forecasts, to-do and shopping lists, and more. All hands-free—just ask.

Introducing a new way to be together. Make hands-free video calls to friends and family who have an Echo Show or the Alexa App, and make voice calls to anyone who has an Echo or Echo Dot.

Seems like a good idea, at a good price, although I agree that the design is not very attractive. Based on Phil Schiller’s comments, I assume that Apple is working on something similar, and that it will work with FaceTime, which is more convenient. It’s too bad that there are so many incompatible video calling platforms.

30 Years of PopChar

Günther Blaschek:

It all started back in 1987, when I tried to find a few special characters in the Symbol font. Apple’s Key Caps utility was not very helpful because I had to try all sorts of keyboard combinations to see which characters were available.


“Desk accessories” were an exception, as they were accessible from the Apple menu and could open a window on top of the current application. I therefore created a desk accessory called “Character Map” which displayed all symbols in a given font and let me copy and paste them into a text document.


Starting with version 3 (2006), PopChar had a search function for finding characters by their Unicode name. But what do you do if you don't know the name of a character?

In 2014, we extended PopChar 7 with a graphical “shape finder”.

Click a button, draw a shape and let PopChar search for characters that look like this.


To survive all these changes, PopChar has been redesigned and re-implemented from ground up again and again.

I think this is a good example of an app where the paid upgrade model worked well. Looking at the initial version, you might have thought that it was pretty much done. It solved the problem; how many more features could it need? It doesn’t seem like the kind of app that would need a lot of maintenance or that customers would want a subscription for. Yet platforms changed, Unicode and Emoji emerged, and the app continued to receive development attention and thrive. By App Store standards, 30 Euros is a lot for what seems like a little utility, but it’s a deceptively small app. There is a lot of functionality and design there, and from what I’ve heard from customers over the years, people love it.

Sierra Bluetooth Problems Due to GCD?

Howard Oakley:

One of the well-known problems in multi-tasking and concurrency is deadlock, when one task sits waiting for another, and the other task cannot proceed until the first task is complete. GCD is not immune from deadlock, and there are some curious issues which have arisen in El Capitan and Sierra which look suspiciously as if deadlock may have been their root cause.

I am also beginning to wonder if some of the persistent problems which we have experienced with Bluetooth disconnects, in both El Capitan and Sierra, are the result of issues within GCD, rather than in the Bluetooth drivers themselves. Even now, with Sierra 10.12.4, seldom a day passes without my Magic Trackpad 2 spontaneously disconnecting, then reconnecting.

These are all made the more complex by GCD’s heuristics, its ‘smart’ dispatching system. When trying to identify and diagnose problems, predictability is one of the most important properties, but because of those complex heuristics nothing about GCD follows clear and simple rules.

Previously: Sierra Bluetooth Problems and the Logitech K811 Keyboard.

Update (2017-05-15): Howard Oakley:

libdispatch (‘old’ GCD) provides facilities which include the management and dispatch of code threads or Operation Objects, which can be distributed optimally across the processor cores available in a Mac. In particular it manages multiple dispatch queues.

Centralized Task Scheduling (CTS) allows a developer to assign criteria for when a task should be performed, so that scheduled and other tasks can be deferred when necessary, for example when a laptop is running from its battery rather than mains power.

I hope that I have shown that Duet Activity Scheduler (DAS) manages heuristically a pool or queue of tasks or activities, and determines when to dispatch them for execution.