Archive for September 29, 2016

Thursday, September 29, 2016

Apple’s iMessage Metadata Logs

Juli Clover:

Conversations in the Messages app feature end-to-end encryption that makes the content of the messages impossible to decipher, but according to documentation found by The Intercept, Apple tracks who its customers send iMessages to and is able to hand that information over to law enforcement when compelled to do so through a court order.

When a text message is sent to someone, the Messages app pings Apple’s servers to see if the person has an iPhone or iPad in an effort to determine whether to send a message via iMessage or SMS. Each ping records date, time, number, and IP address, all of which is kept in a log that Apple says it stores for 30 days.

John Gruber:

It shouldn’t be surprising that Messages does a lookup on each phone number and email address you attempt to send an iMessage to. If there wasn’t some sort of directory lookup, how would the messages get routed? Here’s Apple’s own description, from their iOS Security Guide[…]

Rene Ritchie:

My understanding is that, at some point, Apple’s iMessage engineers decided they needed to keep a metadata log in order to detect and fix problems with iMessage dispatch.


As a result of keeping the log, if presented by a court order, Apple has to turn it over. Same with any log kept by any company.

The State of Apple Music and Streaming

Chance Miller:

In terms of numbers, there were an average of more than 18 million music subscriptions during the first half of this year, which is double the number reported at the same time last year. “Music subscriptions are now significantly bigger revenue generators than CD sales, and virtually equal to permanent downloads,” Sherman writes.


Citing label executives, Bloomberg reports that most Apple Music subscribers are people new to streaming services, not former Spotify users. Spotify is believed to have around 40 million paid users, while Apple has 17 million as of earlier this month.


Sherman notes that while a song streamed from YouTube is no different for the fan, it’s dramatically different for the artists and labels. Sherman also put Spotify’s free streaming tier in the same boat, noting that the payout differences between free music streaming and paid is “jarring and indefensible.”


Spotify was founded about ten years ago and is currently available on 8 OSes and offers a free tier. AppleMusic was started fourteen months ago and is available on 3 OSes and offers no free tier.


Spotify relies solely on the revenue of their music services, whereas Apple relies on hardware sales for their main source of revenues and profits.

No one is profitable with streaming services, yet.

Nick Heer:

Anecdotally, the recommendations I’ve received from Spotify have generally been more well-rounded in almost all regards, despite using the service less than I do Apple Music or local playback. I also appreciate Spotify’s large variety of community-created playlists.

But I’d rather pay for just one streaming service, and I’d prefer to use the one that’s integrated into the applications I use most: Music on iOS, and iTunes on my Mac. Unfortunately, as I’ve written before, its recommendations have been lacklustre.


It remains a complete mystery to me why the rest of Apple Music’s recommendation features are not using iTunes playback and rating data, nor the previously-collected Genius data.

Peter Kirn (via Michael Yacavone):

And there, unless you’re a big artist or label, the relationship hasn’t been great, either. I’ve yet to talk to many labels or artists happy with their experience dealing with Apple; by comparison, I’m hearing more positive feedback about Spotify. That’s qualitative and just hearsay, but I can’t find material evidence that Apple Music is a place where smaller- and medium-sized artists see much control. Spotify and Pandora are adding new artist connect features, whereas Apple, as Hypebot noted this month, is backing off of its Connect service. What we get instead is front-and-center machine algorithm streams, despite Apple saying publicly that they’ll do more human curation.

Matthew Garrahan et al. (via John Gruber):

Spotify, the music streaming service, is in advanced talks to acquire SoundCloud, as competition heats up with Apple for the future of digital music, said people briefed on the discussions.

SoundCloud, which raised $100m in June from a group of investors including Twitter, was last valued at about $700m.

Realm Mobile Platform


When we launched Realm in 2014, our goal was to help mobile developers build better apps faster by giving them a powerful alternative to SQLite and Core Data. Two and a half years later, we’ve reached more than a hundred thousand active developers and more than a billion worldwide installs of apps that use Realm.


Today, we’re launching the Realm Mobile Platform, a new offering that integrates our fully open-source (see below!) client-side database for iOS and Android with new server-side technology providing realtime synchronization, conflict resolution, and reactive event handling.


The Developer Edition is free forever for all kinds of use cases, from hobbyists to small commercial applications, and the Enterprise Edition is available as a time-limited trial and fully supported product designed for the largest production use cases.

Xcode Memory Graph Debugger Tips

Brent Simmons:

Lines between objects have a label. A line represents a reference. Click on the label to see if the reference is strong or weak or unknown and what the source and destination are.

Don’t click on anything where the name looks something like MagicOb (something like that). It crashes Xcode for me every time.

See also: WWDC 2016: Visual Debugging with Xcode.

What’s in a Swift Collection?

Ole Begemann:

Collections in Swift are very powerful but also very complex. If you want to implement your own custom collection type, you need to understand how the Collection protocol works. And even if all you want to do is use the familiar collection types from the standard library, we think it’s worth learning how things work, not least because it can be a big help in decoding what the compiler wants to tell you with its error messages.

In this article, we’d like to discuss the Collection protocol’s associated types. This might seem like an obscure topic, but we think understanding what the associated types do and why they are needed is key to understanding collections in Swift.