Archive for March 2019

Friday, March 29, 2019

AirPower Canceled

Matthew Panzarino (tweet, Hacker News):

Apple has canceled the AirPower product completely, citing difficulty meeting its own standards.

“After much effort, we’ve concluded AirPower will not achieve our high standards and we have cancelled the project. We apologize to those customers who were looking forward to this launch. We continue to believe that the future is wireless and are committed to push the wireless experience forward,” said Dan Riccio, Apple’s senior vice president of Hardware Engineering in an emailed statement today.


Everything I’ve personally heard (Apple is saying nothing officially) about the AirPower delay has been related to tough engineering problems related to the laws of physics. Specifically, I’ve heard that they ran too hot because the 3D charging coils in close proximity to one another required very, very cautious power management.

I guess this was a recent decision because AirPower is apparently mentioned in the packaging for the just-released 2019 AirPods.

Alistair Charlton:

Thankfully, the accessory industry has leapt at the opportunity and is now sprinted toward the open goal Apple left presented for them. Some wireless charging mats power two devices, some even power three, and they all look very similar to Apple’s fallen AirPower.

Juli Clover:

The Boost Up Wireless Charging Dock, which debuted in September, is the newest and most versatile offering, combining a Qi wireless charger with an Apple Watch charging puck and an extra USB-A port.

How come Apple couldn’t do what these other companies have? Do they have lower standards for heat/safety? Was AirPower trying for a smaller sized pad?


Update (2019-03-29): Uluroo:

Apparently they were going for 21 to 24 coils. They could have just done three, but they probably didn’t want to compete in the category unless they had a big quality differentiator

It was complex engineering in the name of a simpler experience. Having more coils would have allowed users to place a device anywhere on the mat, so different spots wouldn’t get better charge. It would have been good, but it seems to be one of those impossible engineering tasks.

Steve Troughton-Smith:

At least for me, AirPower poisoned the well for Qi chargers; I now need one that can charge multiple devices at once and won’t bother with anything less, but simultaneously Apple has effectively told us that multiple coils will burn your house down so don’t try it


AirPower was only a fire hazard because it had six or seven times the coils, and they overlapped. It’s safe to go with other options.

Benjamin Mayo:

Schiller, Sept 2017 event: “This is not possible with current standards but our team knows how to do this.” … “we will work with the Qi standards team to incorporate these benefits into the future of the standard, to make wireless charging better for everyone”.

Nick Lockwood:

Apple used to be famous for never pre-announcing products.

The very few times I recall SJ breaking that rule (3GHZ G5, FaceTime open standard), the feature never shipped.

Leaks are one thing, but how hard is it to simply not talk about a product until it’s ready to ship? 😔

See also: MacRumors.

Ryan Jones:

Dirty dirty move to selling Wireless Charging AirPods with a picture of your wireless charging mat, a week before killing your announced wireless charging mat.

Jeremy Horwitz:

Weird, all of the 2019 AirPods documentation and box dates say 2018, as if they were ready last year and delayed at the last minute for some reason…

Rouven Schmidt:

My serial number says that my AirPods were produced in week 37! September!!!

So perhaps it’s a good idea to wait until the early stock sells out to make sure you get new batteries.

Benjamin Mayo:

Another product in the thermal corner …

Ken Kocienda:

Rough week for Apple. The services announced earlier this week aren’t that special, aren’t shipping yet, or both. The AirPower saga demonstrates a failure to properly scope, develop, and ship a new product. Vaporware and cancellations are not a good look.

Mark Gurman:

The AirPower wouldn’t even have made a dent on Apple’s bottom line, but cancelling an announced product, no matter how big or small, is a huge embarrassment. Can’t recall them cancelling an announced device, at least in modern era. Even the white iPhone 4 made it out alive.

Steve Troughton-Smith:

There aren’t many cancelled Apple products that I can remember in the modern era. That puts AirPower alongside 64-bit Carbon, I guess?

Update (2019-04-01): Craig Lloyd:

We asked an engineer with experience building wireless charging systems what obstacles Apple was working to overcome. “Over time, these harmonics add up and they become really powerful signals in the air,” explains William Lumpkins, VP of Engineering at O & S Services. “And that can be difficult—that can stop someone’s pacemaker if it’s too high of a level. Or it could short circuit someone’s hearing aid.” If Apple’s multi-coil layout was spinning off harmonics left and right, it’s possible AirPower couldn’t pass muster with US or EU regulations.

Part of what’s astonishing about the AirPower cancellation is how last-minute it was, right on the heels of the AirPods 2 release. But Lumpkins says that happens sometimes. He speculated that Apple had AirPower working in their labs: ”Well, so what always happens is you get it functional first. No one looks at [Electro-Magnetic Interference] until the end.” The FCC rules for wireless charging devices like AirPower are quite strict, and limit exposure at 20 cm (8 in) above the device to 50 mW/cm^2.

Ryan Jones:

The ifixit “explanation” about what killed AirPower is naysayer speculative junk.

We know Apple could make it, the issue was between lab → factory. Issues such as yield rate, cost, components, suppliers, etc.

Juli Clover:

There are already a number of AirPower-like alternative products on the market, and we're likely going to be seeing additional replacements in the future. None of these accessories do exactly what the AirPower promised because there are dedicated spots to charge each device, but each option will charge more than one device at one time.


But there is one problem (the biggest problem) that every single Qi wireless charger still has. They require us to place our phones precisely. If we don’t place them just right, or if we nudge them in the night, or they vibrate just a little too much, our phones will stop charging, and we’ll wake up with 7% battery.

John Gruber:

I have long been wondering, if Apple were ever to just give up on this thing, who’d take the blame in the announcement. Looks like it’s Riccio.

Ken Segall:

There is no good way to look at the saga of AirPower. Eyes have rolled, jaws have dropped, and we can only wonder how on earth Apple could ever put itself in this position. There are but two possibilities. Either Apple engineering truly believed it could build the product and discovered the awful truth later—or Apple knew that the technology wasn’t yet feasible and gambled that the engineers would ultimately work their magic. If it’s the former, Apple engineering made a terrible judgment. If it’s the latter, Apple management made a terrible judgment.

Benjamin Mayo:

I’m sad that the product will not exist and I’m also not thrilled with how Apple handled the cancellation. When Apple finally decided to release the AirPods wireless charging case earlier this month, which carried a hefty premium over the normal second-generation AirPods, they clearly knew that they had given up on the mat. They decided to wait until after the rush of AirPods orders had gone through to announce AirPower’s fate. Therefore, plenty of people bought the wireless charging model with the AirPower mat use case in mind, none the wiser to Apple’s internal plans. I am one of those buyers. Apple made more money by making its announcements public in that order. Even if the total of those purchases is small, it is a bit sketchy. I know I regret paying the extra £40 for my new AirPods.

Update (2019-04-09): Accidental Tech Podcast received a crazy tip that Apple announced AirPower before finalizing the acquisition of the company whose technology would be used to develop it.

macOS 10.14.4 Restricts Taiwan Flag Emoji in China

Jeremy Burge (via John Gruber):

Macs bought in China can no longer display the 🇹🇼 Taiwan Flag Emoji, no matter which region is set in System Prefs


Since at least 2017, iOS devices bought in China (i.e. Chinese model iPhones) have also been prevented from showing the 🇹🇼 flag, no matter the region.

Wang Boyuan:

The region you choose on the setup assistant will stay unchanged untill you reinstall the OS. I saw users who bought the Chinese model set the initial region to elsewhere, thus 🇹🇼 is properly displayed on their Mac and the 10.14.4 upgrade won’t affect them.

To solve the issue once and for all: edit /Library/Preferences/.GlobalPreferences.plist, change string “CN” under <key>Country</key> to other country code, then click System Preferences to change the region settiing in your profile to you know where. Reboot and you’re 🇹🇼 friendly

So again there’s no hardware lock. It has nothing to do with T2 chips. The only thing that changed is the mechanism macOS use to detect regions. You are still in control of your China model Macbooks.

The Weirdness of NSURL’s isDirectory Flag

Brian Webster:

Cocoa Protip: Using +[NSURL fileURLWithPath:] hits the filesystem and can cause slowdowns. Use +[NSURL fileURLWithPath:isDirectory:] instead. Same goes for -[NSURL URLByAppendingPathComponent:isDirectory:]

Peter Hosey:

I don’t remember if it’s documented [It is. —Michael] but it’s true (observable in Instruments/sample). If you don’t tell it whether the thing is a directory, it will go find out, immediately.

I’m well aware of this because it’s caused significant performance issues for me when dealing with large numbers of files. However, it’s not clear to me why it works this way:


Software Before the App Store

Pahull Bains:

Shaan Pruden has worked at Apple for three decades. Since 1989, she has seen the company through all its greatest hits—the Mac, of course, but then the iPhone, the iPad, the Apple Watch, Apple TV and now Augmented Reality. “I think that’s why I’ve hung around so long,” laughs Pruden. “We keep reinventing ourselves.” 30 years ago, when Pruden first joined Apple’s Edmonton office, heading up support for Macs on campus, it was a different world. “We went through some dark days there in the early run before Steve came back,” she remembers. “And then after he came back it’s a remarkable journey that we’ve been on.” Pruden is now the company’s Senior Director of Developer Relations, with a team that works with developers in every category on the App Store.

On a day-to-day basis, that means talking constantly with different developers around the world to offer them support and guidance. “We’re sort of a product advisor, almost like a product manager if you will, except it’s not Apple products, it’s other people’s products (laughs) and we help them put their best foot forward on our platform.”


“I actually see it very different from even 10 years ago. I think we’ve made tremendous strides and I think the reason is because software used to be the domain of a handful of companies. I don’t know if you remember, but the way you used to buy software was in a box at a store. There was no way you could come up with an idea for an app and create it and put in a shiny disc and sell it yourself. It just wasn’t going to happen. So the App Store really democratized software. Anybody with a great idea can write an app and put it up on the App Store and be in 150 countries all around the world overnight. That’s just amazing.”

As Paul Kafasis and John Gruber note, there was actually a thriving period of downloadable software in between the era of CDs in stores and the advent of the App Store. And this period was arguably more democratic. Anyone could post anything on the Web, whereas App Store guidelines are unevenly enforced and the store makes it harder to browse the long tail of apps than Apple’s previous downloads directory did.

Update (2019-03-29): Drunken Dogcow:

Holy crap, talk about historical revisionism. The only option before the App Store Messiah was revealed to us was boxed software in retail stores? Weird, some of us remember getting shareware off the internet and even from compilation diskettes/CD-ROMs that came with magazines.

Come to think of it, I was downloading software with Fetch and paying for it in the early 90s, before Apple even shipped Macs with CD-ROM drives.

Jeff Johnson:

It’s painfully clear that Apple executives want to erase the golden age of indie developers from history and pretend that it never existed.

Jay Lapeche:

The App Store was a death blow to my software business (which was a side hustle). Prices plummeted, and competitors blossomed. Competitors who liked to make things for free 😀

Michael Love:

This offends me deeply, as somebody who was making a good living selling mobile apps for almost a decade before the App Store launched.

“The App Store really democratized software” No, PalmGearHQ did that. And they only charged a 20% commission and didn’t stop you from selling through other channels too (in fact in the early days they didn’t even stop you from linking to an outside purchase page).

And by 2007 I had enough name recognition that I could sell exclusively through my own website, not paying a commission to anybody, and I made about 85% as much money that year selling Palm and Windows Mobile apps on my own store as I made my best year ever on the App Store.

So no, you didn’t “democratize software,” you merely figured out a way to make it all go through your stupid channel with its Excite-era search engine and its heavy flogging of addictive F2P crapware and apps-that-don’t-actually-teach-Chinese and give yourselves a 30% cut.

I also shipped a Mac shareware game called Ergo in 1994, when I was in middle school. Was featured in MacAddict magazine, sold 14 copies at $15/pop, more than many iOS games ever make :-) Payments through Kagi, which I’m pretty sure also charged a much lower commission than 30%.

Cardhop for iOS 1.0


Head over to our Cardhop for iOS webpage and watch our introductory video, learn more about Cardhop, and find out how to get it on the App Store.

If you want a deeper dive into Cardhop for iOS, take a look at our tutorial videos to see Cardhop in action.


Search, add, edit, and interact with your contacts using natural language


Powerful search and sorting using smart groups (when paired with the Mac version)


Quickly toggle between different groups and accounts


It seems like a small detail, but Cardhop’s notes section will help improve your relationships. Really. Just add a few details about your contacts and the next time you chat, you’ll know more about them. You can even add a timestamp with a tap, creating a history of your interactions.

Previously: Cardhop 1.0.

Update (2019-04-11): Flexibits:

We wanted to share a few tips and tricks for using Cardhop for iOS as efficiently as possible, which hopefully will save you even more time.

See also: Cardbox (tweet).

Reclaiming Disk Space From Xcode

Julio Carrettoni:

If you are an iOS developer, execute this:

$ xcrun simctl delete unavailable

It removes old simulators Xcode no longer use. For me it was 6Gb


You can also delete ~/Library/Developer/Xcode/Device Support If you want to gain back more space.

Xcode will regenerate what’s needed

Russ Bishop:

Be careful; if you switch Xcode versions then Simulators for “other” versions of iOS can show as unavailable.

Fabio Giolito:

my “freespace” alias:

sudo rm -rf /.DocumentRevisions-V100/
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/Archives 
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport
rm -rf ~/Library/Caches/
xcrun simctl delete unavailable

Julio Carrettoni:

I guess you ran out of characters, but don’t forget to also nuke watchOS DeviceSupport and tvOS DeviceSupport

Thursday, March 28, 2019

iCloud Deletion Bugs

Corbin Dunn (tweet):

I turned off my backup to iCloud and deleted the backups. Well, you can’t delete them! They just would not disappear, and I kept seeing 19+ GB of space consumed[…]


Ironically, when your iCloud storage is full you can’t receive any emails to your @me email address, which is what is associated with my bug reporter account.


I never used iCloud photos, but for some reason I had a lot of photo storage consumed. I turned off my Photo Stream, and this dropped the 8.6 GB that it consumed. I was surprised, because this actually worked!

That’s weird; I thought Photo Stream wasn’t supposed to count towards your storage quota.

But no, I still have too much space consumed, and it was in “Documents and Data”. It looked mainly like Keynote documents were taking up too much space. I moved all my files out of iCloud on my desktop; this actually doesn’t work. You should see the move on one computer and deletes on other computers, but I never would see the files gone on any other systems (iOS or macOS). I had to delete them on each system using iCloud.


User Account Best Practices

Dave DeLong:

Let’s say, hypothetically, that I wanted to create a “user account” feature for an app.

Where should I go to read up on best practices for safely storing the user’s password on the backend?

Cory Kilger:

I’ve found this to be a good guide.

Thomas Baignères:

You should definitely have a look at PAKE.

Antwan van Houdt:

This is also a great post about it but its pretty long, so nice reading material :)

Drafts for Mac 1.0

Rosemary Orchard:

Today there is a Mac app. It is what many of us have been waiting for, albeit with a few missing features at the moment. Drafts for Mac has landed.

Let’s get one thing out of the way: you’ve probably heard of Marzipan, the Apple project to enable iOS developers to bring their applications to the Mac. This is not one of those apps. It is an app written from the ground up for macOS, which works as expected with the system features.

The Pro version is $2/month or $20/year, but there’s no additional charge if you already subscribe to the iOS version.

Tim Nahumck:

Remember: this is a v1.0 application, not the v5.7 application that we have on iOS. It's going to take time to get there. The platforms are different: this isn't a "Marzipan" app, this is a full-fledged macOS app written from the ground up. Things will take time to get there. The macOS app does have the advantage of already having a rich ecosystem of automation apps to pull from, like Automator and Keyboard Maestro, so there are already was to implement some automation.

Previously: Drafts 5.

Wednesday, March 27, 2019

Swift 5 Released

Ted Kremenek:

Swift 5 is a major milestone in the evolution of the language. Thanks to ABI stability, the Swift runtime is now included in current and future versions of Apple’s platform operating systems: macOS, iOS, tvOS and watchOS. Swift 5 also introduces new capabilities that are building blocks for future versions, including a reimplementation of String, enforcement of exclusive access to memory during runtime, new data types, and support for dynamically callable types.

The main issue I’ve run into (which doesn’t seem to be part of any of the linked evolution proposals) is that the closure for Data.withUnsafeBytes() now gives you an UnsafeRawBufferPointer instead of an UnsafePointer<UInt8>, which is typically what I need to pass to other APIs. It was not obvious how to fix this because the initializers for UnsafePointer didn’t seem to apply, nor did the withUnsafePointer() free function. What I came up with was:

let unsafeBufferPointer = unsafeRawBufferPointer.bindMemory(to: UInt8.self)
let unsafePointer = unsafeBufferPointer.baseAddress!

I still don’t understand why baseAddress is defined as an optional or when it’s safe to force unwrap it.

Update (2019-03-28): Joe Groff:

baseAddress is optional so that it can hold a {NULL, 0} state for empty buffers. It is always nonnull if count > 0

An empty buffer is still a valid buffer; there are a lot of tradeoffs, but making baseAddress nullable seemed like the least bad, since many C APIs that ultimately consume these buffers also accept NULL with a zero count.

For the Data API, the count matches the Data’s count.

My takeway from this is that the Data API cannot be relied on to get you a UnsafePointer<UInt8> to pass to C because baseAddress could be nil if the Data is empty. This was never the case in my testing, but the API allows it, so force unwrapping is not a good idea.

I ended up writing an extension to provide a reliable UnsafePointer<UInt8>:

func mjtWithUnsafePointer<ResultType>(_ body: (UnsafePointer<UInt8>) throws -> ResultType) rethrows -> ResultType {
    return try withUnsafeBytes { (rawBufferPointer: UnsafeRawBufferPointer) -> ResultType in
        let unsafeBufferPointer = rawBufferPointer.bindMemory(to: UInt8.self)
        guard let unsafePointer = unsafeBufferPointer.baseAddress else {
            var int: UInt8 = 0
            return try body(&int)
        return try body(unsafePointer)

even though the callee likely won’t actually access it given that the size is zero.

Update (2019-03-29): I should also note that the automatic Swift 5 conversion failed and then beachballed for all my projects. It was easy enough to update them manually, though.

CorelDRAW Comes Back to the Mac

Agen Schmitz:

Returning to the Mac after 18 years, Corel has revived its vector graphics editor for macOS with the release of CorelDRAW Graphics Suite 2019. (The last CorelDRAW release for the Mac was CorelDRAW 11 in 2001.) In addition to the CorelDRAW 2019 vector illustration software, the suite includes Photo-Paint 2019 for image editing, AfterShot 3 HDR for raw photo processing, Font Manager 2019 (along with over 1000 TrueType and/or OpenType fonts), and thousands of clipart files, sample digital images, and vehicle wrap templates.


It’s nice to see CorelDRAW Graphics Suite 2019 providing some competition for Adobe’s Creative Cloud for significantly less money—the subscription works out to $16.50 per month, compared to Creative Cloud’s $52.99 per month. And Corel offers a perpetual license for those who dislike subscriptions.

Apple’s Services Event

Mark Gurman (Hacker News):

Apple’s three big hardware markets -- smartphones, personal computers and tablets -- are stagnating. To keep growing, the company has been trying to sell its existing device owners services such as Apple Music subscriptions, iCloud storage and AppleCare warranties.


The venue itself indicates the importance of the event to Apple. The company has only used the Steve Jobs Theater at its new headquarters twice since it opened two years ago. The first time, Apple debuted the iPhone X. The second time, it launched the iPhone XS and latest Apple Watch. To ensure all attention will be on services, Apple took the rare step of announcing several new hardware products on its website last week, including upgraded AirPods, iPads, and iMacs.

Kyle Howells:

Apple the product company has great incentives to behave well and make great stuff.

Apple as a services company is incentivised to become another horrible creepy company.

Apple’s services push is a very dangerous direction for the companies future.

Tim Schmitz:

This was a weird Apple event in that almost everything they announced won’t be available for months. I guess they had to pick a time to start rolling things out, but it feels odd that there’s not much you can use now.

Dave Nanian:

Seriously, though: did we just spend two hours finding out that 90% of that is not ready until Fall, and most of it had no price?

So…why did we have an event again?

Nilay Patel:

Apple event all done. My main takeaway is that nothing seems to be quite ready yet?

Dave Nanian:

This vaguely reminds me of when Microsoft decided to do MSNBC, MSN and Slate, back in the day.

Jon Stokes:

Wow, so I see that Apple has announced a whole raft of Apple-specific ways for me to pay for stuff I already pay for: news, games, credit card services, entertainment. Since I don’t have an Apple tattoo, nor do I blog about how I’ve been iPad-only since 2009, why should I care?

Tanner Bennett:

This whole presentation felt # a bit Black Mirror-y. It’s like Apple wants to own every part of your life, from content you consume to finances. But I guess they just want to join the club.

Rick Tetzeli:

There have been good Apple events and bad Apple events since Tim Cook took over as CEO seven and a half years ago, but there has been nothing like today’s event. For the first time that I can recall, Apple brought nothing to the table but its power.

Paul Haddad:

I had deleted all these apps prior to 12.whatever. I guess Apple wanted me to reconsider? Can I have that option when people delete my apps?

Ben Thompson:

That leaves an unmentioned fourth audience: Wall Street. […] At the time Cook only mentioned improving the iPhone trade-in process, but it certainly seems possible that announcing so many new services so far ahead of their launch was an attempt to deliver on that promise ahead of the company’s next earnings call.


It appears that Apple is attempting to thread the finest of needles: by not having players available on Android, Windows, or the web, Apple TV+ acts as another extension of Apple’s integrated model, differentiating Apple’s hardware in the process. The problem, though, is that creating or acquiring content is a fixed cost: that means that the economically optimal approach is to make that content available as widely as possible, increasing leverage on those fixed costs. Thus the partnerships with Amazon, Roku, and smart TV manufacturers.


That leaves Cook’s final line: At Apple, the customer is, and always will be, at the center of everything that we do.

Frankly, with the possible exception of Apple Arcade, it is hard to see this sentiment in yesterday’s announcements; I’m not saying any of these services are customer hostile, but most of them are imitations of what other companies are already doing, the revenues of which Apple wants a cut of.

Nick Heer:

I’m cautiously optimistic that this is the path Apple is chasing. But I am also fighting an inner voice that wonders if this is driven by bean counters in search of recurring revenue. Apple is obviously chasing services as their next big product category; Tim Cook has been completely transparent about that in earnings calls and public appearances. Assuming — generously — that Apple Arcade and Apple TV Plus are each ten dollars per month, it’s easy to think that there are customers who will be spending

Greg Lipper:

Lingering concern is that Apple’s new services focus is aimed at improving its numbers for Wall Street rather than solving its customers’ problems. That’s kind of deadly for a company in the long run.


Today’s event was about an Apple that may still have their sights of some important values compared to other behemoths, but where the focus is on the fervent belief that whole-banana-ism needs to extend to every corner of everyone’s life. Behemoths like Apple, Amazon, Google and Microsoft act as if they need to have fingers in every pie, provide solutions to every problem, build complete stacks.

Even people who loved Think Different and who still love Apple know there’s more to reading News than Apple News+ (or indeed the normal Apple News app), more to games than Apple Arcade (and indeed indie games have been turning conventions inside out for decades) and more to TV than Apple TV+. Regardless of whether they include good products, Apple is starting to insult both the people who use their products and the heroes they hopefully still respect.


Update (2019-03-29): M.G. Siegler:

I believe I’ve seen every single Apple event over the past decade-plus. Yesterday’s was without question the weirdest I’ve ever seen. So weird that I’m still trying to wrap my head around it. Twitter is helping me a bit, but jotting some notes down before I read others’ thoughts will help me more. Here goes.


“You can see how important these services are for us.” That is one way to put it. Sheesh.

Update (2019-04-08): Jean-Louis Gassée:

Another observer I know privately sees the growing network of services as a defensive move: They make life increasingly safe and pleasant, which is a way to keep Apple customers “inside”, to make sure they stay in the ecosystem.


In Evans’ analysis, trust is at the center of the relationship between Apple Services and its customers:

“Trusted, secure, private, no ads, no scams, no tricks you have to watch for (scammy in-app purchases in games, scammy/weird credit card charges) — it’s all curated.”

Will customers appreciate, intellectually, this new relationship? Perhaps. But at the visceral level — the one that really counts — Apple’s new promise can work. This is a much better way to think (and emote) about the new Services than reducing the analysis to yet another ding to our pocketbooks.

The Talk Show:

Special guest Peter Kafka — executive editor at Recode and longtime reporter in the fields of media and technology — joins the show to discuss the announcements at last week’s “Show Time” event: Apple News+, Apple Card, Apple Arcade, and Apple TV Channels and TV+.

He and Gruber are “equally confused.”

Tuesday, March 26, 2019

Goodbye, QuickTime 7 and JPEG 2000


As part of the upcoming transition to 64-bit technology in macOS, you may see an alert in iMovie about media files that won’t be compatible with future versions of macOS, released after macOS Mojave.

These incompatible media files were typically created using formats or codecs that rely on QuickTime 7—an older version of QuickTime that is included in macOS Mojave for compatibility purposes. However, because versions of macOS after macOS Mojave will no longer include the QuickTime 7 framework, you’ll first need to detect and convert incompatible media files to continue to use those files in iMovie.

It’s a pity that Apple never brought the new QuickTime Player app up to the level of QuickTime 7.

Howard Oakley:

Among those which won’t be supported under macOS 10.15 are several Avid formats, Cinepak, DivX, Flash Video, FlashPix, GlueTools codecs, JPEG 2000, Motion JPEG A and B, Perian codecs (MPEG-4, DivX, and more), RealVideo, several Sorensons, and Windows Media Video (WMV) 7, 8, 9. It’s possible that some vendors may port codecs or other tools to 10.15 to support some of them in the future, although this looks unlikely at present.

Unfortunately, there’s no system-level means of checking which video, audio and still image formats remain reliant on 32-bit components such as codecs. They aren’t included in Mojave’s System Information under its Legacy Software section, which only seems to cover apps and similar bundles. Most, perhaps all, of those listed in the Components section are provided in 32-bit form and will be unavailable in macOS 10.15, but there doesn’t appear to be any listing of formats which are supported in QuickTime X.

Howard Oakley:

Most of the codecs which are becoming unsupported are those for video, but Apple’s list includes one still image format which could affect you, JPEG 2000. Although never popular, at some time in the past you may have saved photos or other images in this format, which is quite different from plain old JPEG (which won’t be affected by the loss of these codecs).

I wonder what this means for Apple Icon Image files, which can contain embedded JPEG 2000 images. Not to mention PDF files and NSBitmapImageFileTypeJPEG2000.


Update (2019-03-26): Simone Manganelli:

It’s weird... why wouldn’t Apple just update their JPEG 2000 codec to 64-bit?

I understand why the multitudes of video codecs would probably not be worth converting (and many of them used third-party plugins), but one measly image format natively supported in QT?

John Daniel:

Because it isn’t Apple’s to update. And it is also already 64-bit. Apple is using Kakadu for JPEG2000. Kakadu is known for being expensive. Apparently Apple doesn't want to pay for it anymore. I guess Apple also doesn’t want to bother integrating with OpenJPEG either.

Joe Rosensteel:

I have school projects in Sorenson, and Motion JPEG A, among other things. I understand dropping support in the system, but I think Apple aught to offer an automated route to detect and create compatible versions of those media files.

Update (2019-03-29): Howard Oakley:

If you’ve only got a handful of movies which need conversion to cope with the forthcoming loss of QuickTime 7 codecs in macOS 10.15, you’re probably happy using QuickTime Player to handle that. But if you want control over the codecs and settings to be used, or have a large batch to transcode, then you’re much better off using a dedicated app like Apple’s Compressor.

Update (2019-05-14): Josh Centers:

Those are just a few of the things I appreciate about IINA.

In any case, I recommend keeping both VLC and IINA on your Mac for when you encounter videos in obscure formats, especially now that Apple will be dropping support for many of them.

Previously: IINA 1.0.

Apple TV+

Mitchel Broussard:

Apple says that Apple TV+ will be the home for “the world’s most creative storytellers,” and it will feature original TV shows, movies, and documentaries. As we’ve learned over the past few months, original content partners include Oprah Winfrey, Steven Spielberg, Jennifer Aniston, Reese Witherspoon, J.J. Abrams, Jason Momoa, and more.


Apple says that the service will launch in fall 2019, and that pricing for the subscription service will be announced at that time.

Mitchel Broussard:

Apple today revealed an all-new and redesigned Apple TV app and a new “Apple TV Channels” feature. The new app is an updated version of the existing TV app, which brings together shows, movies, sports, news, and more in one hub, available on iPhone, iPad, Apple TV, and later this year on Mac and smart TVs.


Users will be able to subscribe to Apple TV channels à la carte within the TV app and then watch them there, without having to jump between apps, sign into a new account, or enter another password.

Benjamin Mayo:

Following the event today, Apple has not released any new hardware but it has rebranded the 2015 fourth-generation Apple TV as the Apple TV HD. The set-top box, formerly known as simply ‘Apple TV’, now has a better name that it distinguishes it from the newer Apple TV 4K.

With the introduction of the Apple TV+ original content offering, Apple now has four products that start with the name ‘Apple TV’. Apple TV app, Apple TV+, Apple TV 4K and Apple TV HD.

Damien Petrilli:

So AppleTVs are still overpriced and no cheap AppleTV stick. They could have least lower the price of the +2y old AppleTVs.

Josh Centers:

I don’t want to be overly cynical today, but of all the things I want from Apple, a video streaming service is dead last on the list.

Ryan Jones:

Woah Woah you can’t do that, must show price in the button and 5,000 fine print words about recurring costs!

John Gruber:

The whole TV Plus segment felt like a presentation from another company, like Google or Amazon, not Apple. Apple does a good job keeping events moving along, and they tend not to parade a long series of people on stage. This was a parade of a bunch of A-list celebrities — Spielberg! Oprah! — but it just went on and on. It should have been as tight as the Apple Arcade segment. It feels like Apple was starstruck. And why weren’t there trailers for these TV shows? Why don’t we know what this is going to cost yet? We started the day with a lot of unanswered questions about Apple’s original content strategy and we’re ending the day with most of those questions still unanswered.

Ruffin Bailey:

Say it with me Apple: “It’s ready when it’s ready.” These aspirational presentations are really getting on my nerves. Wait until it’s ready.

Dan Masters:

Apple TV Channels makes sense, and is what the TV App should’ve been from the start, like I wrote 2 years ago.

But nobody – not Apple pundits, nor Apple critics – has managed to explain why Apple is distracting themselves with original content.

Oluseyi Sonaiya:

Continuing with our theme of, “God, the Tech Press is Bad,” this evening:

TV+ is an indication of how weak Apple’s leverage over TV and film companies is. When I saw them talking about channels, it was a wrap. Netflix unbundled shows from channels; Apple capitulates to them.

It’s interesting to note that the TV app is coming to smart tv sets from Samsung, Sony, LG and Vizio… but not the web, and therefore not Windows (AFAIK). It’s like Apple is trying to eat its walled garden cake and have its universally available cake, too.

Ken Kocienda:

I’m ambivalent about the Apple announcements today. Maybe some of these new services will be nice. I’m just disappointed because I want Apple to make wonderful new technology appear, not arrange to make Spielberg and Oprah appear.

I can see moguls, movie stars, and talk show hosts elsewhere. I don’t see what Apple see as its unique value in offering celebrities to us.

At its best, Apple makes things possible that weren’t possible before. Not sure that any of today’s annoucements even aimed for that goal.

Farhad Manjoo:

Why is Apple making TV shows? I watched today’s presentation and still don’t understand.

I don’t mean the business reason. I mean the product reason.

Apple is the company that makes computing better/easier by integrating hardware and software. How’s that apply to TV shows?

Dan Masters:

“When Apple looks at what categories to enter, we ask these kinds of questions: What are the primary technologies behind this? What do we bring? Can we make a significant contribution to society with this?” — @tim_cook

Bob Burrough:

It’s wild. Disney wanted a streaming service and Apple wanted exclusive movies/shows, yet they couldn’t come together on it.


Update (2019-03-27): Mike Murphy:

did.. they completely forget about four years ago ?

Update (2019-03-28): Joe Rosensteel:

Hilariously, this decision has actually hurt them in a few ways because they’ve been trying to course-correct for a couple years and get third parties to integrate with a TV app to discover, browse, and launch content. To replace the app-centric experience that originally shipped. They can’t do that though because there are some big holdouts, and even the companies that did participate participated to varying degrees. Now that there’s a new program for mixed support, Apple Channels, the permutations increase again. Apple Channels are just like Amazon Channels, where content the end-user sees is piped through Apple’s service and appears as if it was something the user had through Apple. They’re not kicked out to CBS All Access’ dreadful app, or anything else. No, this doesn’t mean that Amazon Channels you’ve subscribed to will show up as if they were Apple Channels, you’ll still see those in Amazon’s Prime Video app. In fact, depending on how thorough Apple is, you might see sales pitches for Amazon Channels you subscribe to littered in your TV app as possible Apple Channels you should get a free trial for. Rates for this are unannounced but I would be surprised it if was priced differently from Amazon Channels. Amazon Channels is a huge source of revenue for Amazon too, so this makes sense if you’re hungry for sweet, sweet revenue growth.

The jury is out on the specifics because if the app presents it like it was an iTunes purchase, and you have to use the navigation and browsing features available to you from that, you might not see much of an improvement in your experience, general wellbeing, or temper.


The big omission continues to be the Netflix juggernaut. Netflix has no interest in being a pool of content for Apple, they want to be the place where people go so Netflix can control the experience and to shape what Netflix as a brand is worth to a consumer.

Update (2019-04-09): Benjamin Mayo:

The latest iOS and tvOS betas include the new TV app and demonstrate exactly this. Scroll around and you quickly run into banners for Showtime with one-click buttons to sign up and subscribe. It is contradictory to me that Apple designed the TV app in this way, a pseudo-advertising platform, at a time when many people are switching to streaming services because they want to get away from ads and commercial breaks. This factor alone will limit the enjoyment of the Apple TV+ service and impair its adoption.

I believe Apple TV+ will foster talent and debut many incredible shows, but I don’t like the idea of navigating past buy buttons when I just want to watch TV. As it stands, Apple will not provide that experience. I would like to be able to tell the TV app to only show me stuff I am subscribed to, but I am not convinced that Apple will ever include an option like that as it would hurt the sales of Apple TV Channels.

Apps That Benefit and Threaten Apple

Tripp Mickle (via MacRumors):

For Mr. Cook’s monthly services meetings, the company has intensified monitoring of apps that benefit and threaten Apple. The team has created a release radar for the CEO to track apps that are expected to sell well and other metrics for the apps that have challenged Apple’s business, including iTunes sales decreases compared with Apple Music subscription growth, said the person involved with the meetings.

Nilay Patel:

This is exactly the sort of data tracking that Amazon does and which @ewarren wants to break tech companies up over

Apple the services company that tracks what apps are successful in the App Store so it can build competing products does not look so different than Facebook selling a VPN to track competing social networks or Amazon doing AmazonBasics

Michael Love:

Re this... the bit about “monitoring of apps that benefit and threaten Apple” is just really, really bad; I expect Cook will be confronted about it at an extremely hostile Congressional hearing within the year.

I don’t know what idiot at Apple thought they could exploit their ownership of the App Store in this way and not get in trouble for it, but it’s absolutely planing into the hands of all of those of us who would benefit from their iOS app monopoly getting dismantled.

Hwee-Boon Yar:

Sounds like what Facebook did and ended up buying apps like WhatsApp and Instagram?


Monday, March 25, 2019

Apple Card

Mitchel Broussard (Hacker News):

Apple today revealed a brand new service called “Apple Card,” a new digital and physical credit card that users will be able to sign up for right from their iPhone. Apple says this sign-up process takes just a few minutes and then they can start using the Apple Card right away in stores, in apps, or online worldwide. Apple partnered with Goldman Sachs and Mastercard for Apple Card.


Get 3% back on everything you buy from Apple, whether you buy it at an Apple Store,, the App Store, or iTunes. That includes games, in‑app purchases, and services like your Apple Music subscription and iCloud storage plan.

Get 2% back every time you buy something using Apple Pay. That’s in every category, with no limits. Imagine all the things you use a credit card for every day — at Target, Walgreens, Lyft. You’ll get 2% back on just about everything.

If you happen to come across a store, website, or app that doesn’t take Apple Pay yet, Apple Card still gives you 1% of your purchases back in the form of Daily Cash.

This doesn’t seem like anything special compared with existing no-fee rewards credit cards, and you can already get 3% back on Apple purchases with the Apple Rewards Visa.

Mark Sullivan:

The card includes a feature that makes sense of cryptic receipts using machine learning. It also provides analytics on purchases, like a neat bar graph showing spending habits.

I don’t really get the idea of per-card spend tracking. I want to track this stuff across all payment methods, and I certainly don’t want the data locked away in a limiting app.

Update (2019-03-25): John Gruber:

What a crock of shit this “low interest rates” line is. Those interest rates are usury, right in line with the rest of the credit card industry. 24% interest ought to be criminal, and 13% is not “low”.

Update (2019-03-26): Brian Roemmele:

Consider a 99¢ app purchase, currently Apple incurs about 13¢ payment processing fees of the 99¢ transaction. If the user is induced, and have no doubts Apple will offer inducements, to use Apple Pay Cash Daily Cash to pay, Apple pays $0. Lets look at that again, $0 vs. about 13¢. This alone would represent millions of dollars of new revenue for Apple. Payments for Apple will move from being a loss leader to a net revenue stream.

Owen Williams:

this is incredible copywriting because it literally doesn’t mean what it looks like it means on first glance (but also, sort of does just enough to not be a lie)

Yeah I can see at least four intentional holes:

1) [Goldman Sachs] can use it for marketing/any purpose internally
2) they can analyse that data internally and sell the results
3) they can share it with apple
4) can share/sell outside of marketing (pretty broad...) as it likes

Adam BBH:

Issuers don’t access credit card transactional data in a way that would allow this. They service the card via processor portals. The payment processor (MasterCard) would be the one who sells data and it’s only sold in high level aggregate, anonymously.

Steve Troughton-Smith:

I think Apple Card is gonna be huge for iOS users, if they can roll it out internationally. People trust Apple to make amazing things, and I can’t imagine many currently enjoy the relationship they have with their credit card provider. I’d love an Apple Card, for one

I get better customer support from my credit card providers than I do from Apple, and their admin/payment Web sites work better.

Matt Levine:

Boy I tell you what, I find it kind of useful to have my credit card number printed on my credit card, but I guess that is just me. Perhaps a sleek user interface is more important than a useful one.

Update (2019-03-27): John Gruber (tweet):

As someone who had his card number stolen a few months ago, I appreciate this. Those static card numbers are archaic. It sounds like Apple is pushing the whole industry forward here.

Update (2019-03-28): Jeff Porten:

In fact, scratch the surface, and there’s quite a lot that’s stunning about these Apple Card policies. What appears to be a few user-friendly features could have massive ramifications.

Peter Berg:

Unless you spend more on Apple products than gas, groceries and restaurants combined, there are many better rewards cards for you.

See @NerdWallet and thank me later.

Update (2019-03-29): Matthew Panzarino (tweet, Hacker News):

Apple Card has no late fees and no penalty rates. You will continue to pay your agreed upon interest rate on your outstanding balance, but that rate will not go up.


Neither the physical card nor the app will display a signature. A network change a few months ago means that signatures are not required at point of sale for any credit cards.


The physical Apple Card, of course, has no number. The app displays the last 4 digits of the card number that is on the mag stripe of the card only, you never see the full card number.

Instead, Apple provides a virtual card number and virtual confirmation code (CVV) for the card in the app. You can use this for non-Apple Pay purchases online or over the phone. This number is semi-permanent, meaning that you can keep using it as long as you want.


When you get Apple Card the virtual PAN is pushed to auto fill in Safari. So when you sign up you’re going to automatically have access to the virtual card number Apple generates for you on Safari on iOS and Mac.

Joe Wituschek:

There are a number of other cash back credit cards that already match or exceed the cash back rewards that Apple Card is going to feature, as well as also having no annual fee and offering bonus offers for when you sign up. Let’s take a look at three cash back credit cards that go pound-for-pound against Apple Card.

Update (2019-05-20): Ken Segall:

Well … not so fast. The truth is, Steve Jobs actually did do this. At least he tried to.


The year was 2004, when Apple was a very different company. It had only recently reinvented the music industry with iPod and iTunes, forever changing the way we buy and discover music.

Steve thought the time was right for Apple to offer its own credit card. He would call it … (drum roll)… Apple Card.


Purchases would earn iPoints, which could be redeemed for your favorite music on iTunes.

Apple Arcade

Tim Hardwick (Hacker News):

Apple today announced Apple Arcade, a new subscription-based games service for mobile, desktop, and the living room, featuring hundreds of titles from top video game publishing houses including Disney, Sega, Lego, Cartoon Network, and Konami.


All Apple Arcade games will be all-you-can-play experiences, with all features, content, and updates included at no extra charge, and with no ads or in-app purchases necessary.

Christine Chan:

There are a ton of game development studios that are working with Apple on Apple Arcade titles. Here are some of the partners that we know of so far[…]


Apple is not just handpicking the games in Apple Arcade, but also contributing to the development costs and working closely with creators to bring the games to life.

Mark Gurman:

The company would collect these monthly fees, then divide up the revenue between developers based on how much time users spend playing their games, one of the people said.


Not only is paying devs by how long users play games TERRIBLE for developers, it also grants extreme financial incentive for devs to make their games as predatory as possible, so it’s hazardous for users, too!

David Barnard:

Well, Apple seems to have taken a pretty big step in the right direction today. Manipulative free-to-play games will still thrive on their platform, but it was nice to hear Apple trash them on stage and invest in an alternative.

Jeremy Horwitz:

Apple Arcade promises that players can jump between iOS, tvOS, and macOS devices. Very few games right now support all three of these platforms. But that could change at WWDC thanks to Marzipan cross-platform development as revealed by @markgurman.

Update (2019-03-25): Darshan Shankar:

Today’s launch of Apple Arcade is interesting context for Apple’s behavior last year:

Apple removed Steam Link from the iOS App Store last year. Didn’t want Valve streaming PC games to iOS.

A monopoly is further establishing dominance and shutting out any other marketplace

Leif Johnson:

PS4 Remote Play isn’t all that functionally different from Valve’s Steam Link app, which Apple shot down last May merely a day after Valve announced its upcoming release. Both apps are owned by publishers other than Apple. Both stream games from another device to your iPhone over Wi-Fi connections. Both apps let you buy games through the app-maker’s own store without paying any commission to Apple. They’re so similar, in fact, that I’ve spent much of the last few days scanning my news feed for word that Apple had decided to pull the plug on Remote Play as well.

Previously: Valve’s Steam Link App Rejected From the App Store.

Update (2019-03-26): McCloud:

Another problem - Apple’s doesn’t have gaming DNA. Sony for example uses games to sell hardware and services, but in Sony’s case they make masterpieces like God of War and Uncharted - Apple would be metric-driven, so they’d consider lots of hours played == good games.

Benjamin Mayo:

The game service segment in particular felt like a ten minute chunk that they had pulled straight out of the WWDC slide deck. Announcing that so far in advance that they can’t announce pricing is weak.

Drunken Dogcow:

I also find the assumption that this will be better than the freemium crapfest unconvincing, since the payment model of this service will cause developers to optimize for maximum screen time instead of good gameplay.

Update (2019-03-27): Pierre Lebeaupin:

Re: Apple arcade, one worry is that Apple will have a monopoly on iOS on this kind of service; with video or music Netflix and Spotify have an uneven competition field, but it is at least possible to compete with Apple.

Second, while I will look for games that interest me there, Apple Arcade sounds like a sort of PR display for Apple: “Look over there, this shows iOS isn’t just a haven for just-shy-of-gambling manipulative games”. This isn’t what I need.

What I need is for the iOS App Store to structurally encourage games that allow their developers to earn a living without them having to prey on their users, games like And not just from developers Apple directly funded. Apple cannot be everywhere.

However, I am not worried about the incentives that gives developers: since when are non-gambling addictive games a problem? I am more worried about the fact I won’t really own any of these games. And what about digital preservation?

David Heinemeier Hansson:

There’s something ironic about the fact that Apple Arcade is primarily a solution to a problem Apple created themselves: Allowing games to be utterly ruined by in-app purchases and trashy ads. Carrying both the poison and the cure in the same store is some serious chutzpah 😄

Update (2019-04-02): Peter Cohen:

I’ve been writing about Mac games on and off for 25 years, and I can’t think of a single announcement from Apple that has intrigued me as much as Apple Arcade. It could be a real game changer, or it could be a total disaster.


Games for these devices will all continue to be available independently of Apple Arcade, and the game markets for Mac, iPhone and Apple TV will continue to evolve at their pace. I don’t anticipate that Apple Arcade will be disruptive, but it’s an ambitious and exciting experiment. I hope it succeeds.

Update (2019-04-16): Tim Bradshaw (via Benjamin Mayo):

Apple is spending hundreds of millions of dollars to secure new video games for its forthcoming Arcade subscription service, according to several people familiar with the deals.

Patrick Balestra:

So I guess that’s where part of the 30% cut they take from App Store revenue goes? Work hard on your apps and games to help fund your future competitors 🙃

Update (2019-04-17): Damien Petrilli:

Apple using $500 millions to bring games to their platform shows in some ways that:

- it isn’t viable economically


- it’s too specific (ex: dying opengl, no Vulkan) so expensive to port to.

You wouldn’t need any incentive if your platforms were healthy.

Update (2019-05-17): Dominik Wagner:

Arcade – essentially an attempt to pull all games outside that casual, slot-machine-style genre into their own Netflix-style curated subscription service. There are multiple reasons why I think that is a bad idea, to name a few[…]


Lastly, I do think it is worth calling out the two major games they put on stage on the last two iOS Keynotes. I do see them as further evidence how arbitrary and undecided their direction in the games sector is.

Apple News+

Tim Hardwick:

Access to over 300 popular magazines, leading newspapers and digital publishers is included in each Apple News+ subscription, with topics covering everything from entertainment, fashion and news, to politics, health, lifestyle and travel.

Apple News+ subscribers can access current and past issues and individual articles from magazines such as The Atlantic, Better Homes & Gardens, Bon Appétit, Condé Nast Traveler, ELLE, Entertainment Weekly, ESPN The Magazine, Esquire, Food & Wine, Good Housekeeping, GQ, Health, InStyle, Martha Stewart Living, National Geographic, New York Magazine, The New Yorker, O, The Oprah Magazine, Parents, People, Real Simple, Rolling Stone, Runner’s World, Sports Illustrated, TIME, Travel + Leisure, Vanity Fair, Vogue, WIRED and Woman’s Day.

In addition, Apple News+ includes The Wall Street Journal, Los Angeles Times and Toronto Star, Canada’s largest daily newspaper.

Benjamin Mayo:

The service is branded as News+ and is available today with the release of the new iOS and macOS software updates. $9.99 includes family sharing, so you can share with up to six Family members at no extra cost.


Apple said there are over 5 billion articles read every month inside Apple News, making it the #1 news app in the world. Apple touted its new service as a defence against clickbait with a focus on quality journalism.

I continue to find Apple News to be disappointing. It’s like Apple reinvented the RSS reader with less privacy (everything goes through an Apple tracking URL) and a worse user experience (less control over fonts, text that isn’t selectable, no searching within or across stories). So the idea of content that must be accessed from the app—and likely can’t even be opened in Safari—is not attractive to me.


If I’m reading elsewhere and come across a link to a paywalled article at one of the above publications, is there an easy way to read it using an Apple News+ subscription?

How exactly does Apple News reduce clickbait? The publications will still get more traffic for certain articles. They’ll have statistics for this, as will Apple.

John Gruber:

Unanswered question: does an Apple News Plus subscription get you access to the WSJ website too? Or is only through the News app? I’m guessing it’s only through the news app because how would the Journal get you a login if they don’t get info about News Plus subscribers?

Brian Stelter:

WSJ internal memo says Apple News+ users will only get a “curated collection of general interest news.” To access biz reporting, you’ll still have to subscribe to the WSJ. Memo says “our collaboration with Apple will also extend to areas like video, voice, market data and AI.”

Peter Kafka:

ACTUALLY I just spoke to an Apple exec who believes Apple news subs will get full access to wsj.

Update (2019-03-26): Steve Troughton-Smith:

Apple News+ Magazines doesn’t seem to use FairPlay (😐), and preloads the first few pages of PDF-based issues regardless of whether you have a subscription (🤦‍♂️). Thus, you can just rip them out of the cache on macOS and reconstitute the original PDF. Kinda irresponsible

(With a full subscription, there is absolutely nothing stopping somebody ripping the entire source PDF to an Apple News Magazine)

I figured one of the most obvious things about the Texture acquisition would be that magazine publishers could count on Apple to FairPlay their content, something Texture could not do alone. I guess I was wrong? 😅

Steve Troughton-Smith:

It gets better! Even without a subscription, the magazine preview in Apple News downloads a manifest which happens to list all the pages. All of which, hosted in public, sans any protection. So it takes minutes to write a tool that downloads an entire magazine issue page by page


As a publisher, I would be pretty disappointed. There’s a comedy of errors here with things that would have been easily preventable, if anybody thought to consider them. Clearly, nobody expected anybody to look. Apple knows better; all of its other services use FairPlay & auth

Steve Troughton-Smith:

It is hard to imagine Apple shipping a magazine service for iPhone where 50% of the catalog is just PDFs of the print magazines that have to be furiously pinch-zoomed to read anything…

Each PDF page is served individually and has multiple representations; they could easily have served iPhone-formatted pages if the publishers were willing

Steve Troughton-Smith:

It takes just one tiny swizzle in the News app to enable the AppleInternal subscription mode, which authorizes your account for free access to everything. I think somebody needs to have a sit-down with the News team

Federico Viticci:

I went in and counted all the magazines available in Apple News+ – including whether they are using Apple News Format or traditional PDF pages. Here is the full list so far. Enjoy.

Joe Cieplinski:

I get that regular magazine readers are accustomed to just leafing through the whole rag. But from a digital standpoint, being able to save for later seems like common sense.

James O’Leary:

Mac is starting a 2+ year transition where the end goal is Mac apps turn into iOS apps, it’ll be extremely buggy during that period, it’s unclear how that’ll help either platform, and you’re still stuck on 5 year old form factors on a 20 year old OS.

Amol Sharma:

To clarify, based on people familiar with it: Apple subs will have access to almost all WSJ content. But the app will surface stories thought to be appealing to a general interest reader. The thinking is, consumption beyond what’s actively surfaced will be limited.

modest proposal:

so News Corp is hoping that the UX is shitty enough that people paying $30/mo for WSJ won’t cancel for $20/mo savings because it will be too hard to find most of the content?

Dave Nanian:

Not to be an idiot, but what’s the difference between Apple News+ and Texture at this point? Why is Texture still there? Why didn’t existing Texture customers get automatically transitioned to Apple News+?

Paul Kehrer (via Hacker News):

However, instead of simply being locked behind a hardware feature gate, Apple chose to disable it much more forcefully. If you enter China with a US iPhone (e.g. one purchased in the US from a US carrier or at a US Apple Store), using a US carrier, with your phone set to the US region, and with location services disabled for the News app, you will still receive this message upon opening News[…]

To accomplish this censorship Apple is using a form of location fingerprinting that is not available to normal applications on iOS. It works like this: despite the fact that your phone uses a SIM from a US carrier it must connect to a Chinese cellular network. Apple is using private APIs to identify that you are in mainland China based on the name of the underlying cellular network and blocking access to the News app.


This censorship occurs despite the fact that when in China a cell phone using a foreign SIM is not subject to the firewall restrictions (all traffic is tunneled back to your provider first), so Google, Twitter, Facebook, et al all work fine on a non-mainland China SIM even though you’re connected via China Mobile or China Unicom’s network.

Dave DeLong:

Hey @apple, your auto-renewing subscription screen is in violation of guideline 3.1.2 and your app should be rejected.

For starters… no links to privacy policy or support page; no info on how to cancel.

I’m honestly surprised there hasn’t been an extremely public lawsuit against @apple about the huge #DoubleStandards and inconsistent application of the App Review Guidelines.

Seems ripe for a class-action lawsuit, IMO.


Update (2019-03-27): Michael Love:

Also, did none of these publishers’ legal teams think to put in a clause about content protection? (it’s a pretty standard term in copyright licenses) Or is Apple Legal asleep at the switch here + letting the News team ship an app that violates their license agreement?

Martijn de Kuijper:

“Who thinks the new Apple news service is a good thing for the industry and we should get involved?” zero hands raised in a room full of publishers #DISummit

Update (2019-03-28): Brian Morrissey:

One of my favorite publisher stories about Apple News. Publisher had very big ad deal but Apple refused to allow the tracking the advertiser required, killing the deal. The advertiser: Apple.

Update (2019-03-29): Manton Reece:

Federico’s point here gets to the key issue with these aggregation platforms, whether it’s News+, Facebook, or the App Store. When you give up control over distribution, you also give up control over revenue. With publishing on the open web, there’s always an alternative: your own domain name and your own subscribers. (For the App Store, there’s no choice.)

Mark Nunnikhoven:

at WWDC 2018, we learned that @Apple was going to make it easier to develop once & run on iOS &macOS

News is one of the first. you’d think they would’ve been some effort in given the News+ launch


clearly macOS is a 2nd tier effort here

Update (2019-04-02): Juli Clover:

Reading a magazine on a Mac in Apple News+ is a terrible experience. Ew.

Update (2019-04-03): Jon Gales:

Apple News+ is a strange product. It works horribly on an airplane which seemingly would be a huge use case. Here’s what I saw for several minutes before it refreshed to show what I had downloaded.

But I guess I didn’t really download them? It’s like they put zero effort into this.

At least it shows you the list of stories that you can’t access, instead of just an empty screen like the WWDC app.

Update (2019-04-04): John Bergmayer:

amazing tip from @viticci: publications are apparently required to allow you to cancel subscriptions online if you live in california. so just change your billing address to one in California and suddenly a “cancel” button might appear

Update (2019-04-05): John Markoff:

Apple News+ Twitter review: This is not “Cupertino Class” UI. It’s an embarrassing dog’s breakfast. It feels rushed and sloppy. Why would they do something this inept? Also it will likely do real damage to the magazine publishing industry:

Update (2019-04-08): Joshua Benton:

Apple News Plus launched with two U.S. newspapers (The Wall Street Journal and the Los Angeles Times) and a handful of digital news sites (including The Skimm, TechCrunch, and verticals from New York magazine). They’re shoehorned in oddly: With a few exceptions they don’t appear inside “Apple News Plus” at all, but rather back in Apple News proper (Apple News Minus?), which is built around articles. But they’re not easy to find and they’re not labeled to distinguish themselves from the free content you’re not paying 10 bucks a month for.

Yesterday, I got frustrated enough trying to find one of those digital news product — “The Highlight” by Vox — that I was driven to tweetstorm.

Dave Nanian:

I am in 100% agreement with @jbenton here. Apple News+ is a UI disaster.

Jon Gales:

A fun game you can play at home: see a WSJ headline and then try and find it on Apple News+. They did an outstanding job at hiding what you want to read, but still make it look like there’s a lot of content.

Pata Ling:

Apple News+ completely misses the point of Magazines. They were referred to as ‘Glossies’; the form is the point. Yet Apple sloppily repackaged it as an rss feed. There is minimal difference between the demoed Essence story in Apple News+ and the free site

And it really is sloppy UX: The title bar is still shown in full screen mode on the Mac News+ app and the status bar and home bar are still shown while reading in iOS — contrast with iBooks. So much for an immersive Magazine experience

Juli Clover:

The user interface looks simple enough, but there are some quirks that have been confusing new subscribers. There’s no clear way to add a new magazine to the My Magazines list, and in fact, you have to search for the title of the magazine in the standard Apple News interface and “favorite” it with a heart to get it to show up reliably in My Magazines or tap the title to get taken to an overview page, neither of which is intuitive.

To further confuse things, some magazines that you’ve read but haven’t favorited will temporarily be displayed in My Magazines, and there are no options anywhere to control what shows up there, nor to customize content recommendations to make them more relevant to one’s interests.


PDFs look all right on iPad, but are difficult to read on iPhone, and the Mac interface for Apple News+ is no better. The single page spread on Mac features small text that’s not easy to zoom into, making reading PDF-based magazines on most devices a less than stellar experience.

Andy Lee:

One thing I like about the Google News app is that when you share a link it links directly to the primary source. In this respect the Google News and Apple News apps are the opposite of what I would have expected if I knew nothing about them.

Update (2019-04-11): Regarding clickbait, Juli Clover:

I don’t think I’ve ever clicked on an Apple News notification so fast

Update (2019-04-16): Adam Clark Estes:

I’ve been using Apple News+ daily since it launched on March 25, and it hasn’t been easy. Right now, the service feels half-baked, and using it is full of frustrations. These include struggles with browsing content from the new Apple News+ partners as well as major problems reading that content, some of which is nothing more than PDFs of magazine pages that don’t display well on small screens. What’s more frustrating is that the paid Apple News+ subscription does not appear to give you full digital access to all of the participating publications. You’re mostly allowed to read the stories that appear in the print editions.

There are parts of Apple News+, like family sharing, that currently do not work as advertised.

Accidental Tech Podcast:

Apple News on John’s Mac is still broken

It crashes at launch.

Tom Harrington:

Apple’s News app includes Apple’s news digest, and unsubscribing is not an option. I’ll stick with apps where I’m in control.

Juli Clover:

When encouraging publications to sign up, Apple promised design resources and templates for customizing content for the Apple News format, but as it turns out, Apple is shutting out some smaller publications and “playing favorites” with larger publishers.


Magazine publishers need to use tools to scan PDFs and convert them into individual articles and advertisements, but the technology is said to be so buggy that each issue needs to be “effectively copy- and design-edited all over again.”

Smaller magazines that don’t have the resources for these full redesigns need to either invest time and money anyway or submit a PDF instead. A lot of the content within Apple News+ at the current time is PDF-based, which does not make for the greatest user reading experience.

Publishers are also said to be frustrated with the “uneven user experience” in Apple News with the split between PDFs and the new Apple News format. “You think of Apple, and they’re so design-conscious,” said one publisher. “This doesn’t feel like that at all.”

Update (2019-04-29): Jeff Carlson:

In the last few days, I’ve responded to two dialog boxes in Apple News about canceling my News+ trial subscription. Both times I said I didn’t want it. Just now, a receipt for another month of News+, auto-renewed.

Simone Manganelli:

Nice to see that even if you don’t pay for Apple News+, the app still inserts News+ articles into your feed that you can’t read, and doesn’t allow you to disable them. :rolleyes: cc @tim_cook

Mike Rundle:

Uhhhhh, don’t open Apple News because they have a MASSIVE Endgame spoiler image featured on the first damn screen. Literally the biggest plot point of the whole movie on the first screen of Apple News right before the “For You” section on the Today tab.

The benefit of human curators?

Update (2019-05-22): Nilay Patel:

Hundreds of people working on Apple News and none of them ever put their phone in landscape

Update (2019-05-24): Dave Nanian:

I was quite excited to read about @panic’s @playdate in Edge on Apple News+, and then I tried it on my phone.

What a terrible, basically unusable experience. Wow. Not quite sure what they were thinking.

John Gruber:

Apple News app doesn’t let you search. Think about that.

Update (2019-05-27): Louie Mantia:

As far as Apple ecosystem subscriptions, I cancel every subscription immediately after starting a free trial so it doesn’t automatically bill me. I tried to do that for News+, and... it will cancel the service immediately if I do. That’s not... how any other trial period works.

Update (2019-06-03): Juli Clover:

I put my email address in our Apple News+ guide for feedback and let me tell you, Texture users absolutely hate Apple News+. I get emails every day about how bad it is comparatively.

Update (2019-06-14): Andy Lee:

Argh. Bad enough that News (at least as of Mojave and iOS 12) does not offer Reader view. If I want to save the contents of an article I open it in Safari and email it to myself in Reader mode.

Friday, March 22, 2019

iOS 12: Changes in Memory Accounting


iOS 12 and tvOS 12 require apps to use memory far more efficiently than before. If you have difficulty reducing your app’s memory requirements, contact us to request an entitlement for your app to use iOS 11-style memory accounting.

Steve Troughton-Smith:

An example of Apple providing private entitlements on request so that iOS apps can do things they could not otherwise; there are so many ways in which Apple could use these w/ trusted partners to build categories of apps that would otherwise break rules


This memory requirement is news to me. So great to hear about a change like this 6 months after it shipped. Also there’s no details I can find on what the rules are it’s just “use less memory”. Really hate this platform sometimes. 😥

Orion Edwards:

The problem with extra entitlements like this is that apple is useless. We asked for the “don’t show Apple Pay pop up when you see NFC” entitlement as it interferes with our app’s behaviour over a month ago. No response from apple whatsoever

We found a similar thing online, except their story was “apple ignored me for over a month, but then I asked my friend who works at apple to have a look and then it got dealt with.” It’s hard to have a handy friend who works at apple when you live in New Zealand 😞👎

Andrew Grant:

To be fair, this is them grandfathering in existing apps after they made significant changes to available memory in iOS 12. There are a lot of apps that are still submitting with the old SDK due to this change

Previously: Transmit 5 on the Mac App Store.

Late Responders

Paulo Andrade:

To summarize what was said above, some features that rely on the responder chain should be available even when the relevant responder isn’t on the the chain’s path.

With that in mind I propose a solution I’m calling “Late Responders”. The way it works is that you setup a late responder registry further up the chain, such as the window. Then, the responders further down the chain can register a late responder with the registry and let it handle any features that should be always available.

This way even if the responder itself isn’t in the chain’s path, its late responder surely will be.

See also: Swift Diary #8: forwardInvocation.


Thursday, March 21, 2019

UTF-8 String in Swift 5

Michael Ilseman:

Switching to UTF-8 fulfills one of String’s long-term goals to enable high-performance processing, which is the most passionate request from performance-sensitive developers. It also lays the groundwork for providing even more performant APIs in the future. String’s preferred encoding is baked into Swift’s ABI for performance, so it was imperative that this switch happen in time for ABI stability in Swift 5.


Swift 5, like Rust, performs encoding validation once on creation, when it is far more efficient to do so. NSStrings, which are lazily bridged (zero-copy) into Swift and use UTF-16, may contain invalid content (i.e. isolated surrogates). As in Swift 4.2, these are lazily validated when read from.

This sounds great, as I’ve run into problems in Objective-C where strings that are not valid Unicode would cause strange failures a layer or two below my code. I don’t see it documented what happens when validation fails, but my guess from the code is that it repairs the string using replacement characters. That makes sense given the cases I’ve seen. Set one bad attribute on a managed object, and the entire context fails to save. If validation were eager, maybe I could do better at the point of creation than replacement characters (assuming I’m even creating the strings myself). But, this much later, I don’t think there’s much to be done. It’s not worth risking data loss for the common case where the developer hasn’t anticipated this happening and written code to fix the strings.

As mentioned above, Swift 5 switches from two native storage representations to one. This allows for better analyses and more aggressive optimizations with fewer potential code-size or compilation time costs.

For example, inlining is a compiler optimization that can improve run-time performance at a potential cost to code size. In Swift 4.2, most string methods contained a pair of implementations, one for each storage representation. No matter what form a 4.2 string was in, an entire portion of potentially-inlined code wouldn’t even be run; this increases the cost and diminishes the benefits of inlining. Furthermore, the greatest benefits of inlining come from follow-on analyses and optimizations specific to one call-site, which are exponentially more difficult to perform on a dual representation. Swift 5’s unified storage representation is far more amenable to inlining and follow-on optimizations.

Michael Ilseman:

String remembers performance-relevant information about its contents through the use of performance flags.

For example, a String that is known to be all-ASCII has a trivial UTF8View, UTF16View, and UnicodeScalarView. Also, mapping offsets between the two code unit views is trivial, so there is no need for any bookkeeping as part of Cocoa interop.

Previously: String’s ABI and UTF-8.

More Undiscoverable Gestures

Nick Lockwood:

For years I thought it was weird that Apple’s phone UI provides no way to paste in a copied phone number. Then someone showed me how to do it and… I couldn’t be angrier 🤬

In case it isn’t clear from that screenshot, you have to long-press on the featureless whitespace area above the keypad.

I guess putting a text field, or literally anything at all would have compromised the designer’s vision.

I didn’t know this either.

Alex Rosenberg:

It’s the same with copying from Calculator. As a user, I expect that to work because the same traditionally worked on Mac.

Constantino Tsarouhas:

You can also tap it once to use it like any other text field (cursor, selection, etc.). It’s been that way since the redesign in iOS 7, IIRC.

Kirill Pahnev:

We have to agree. iOS has become platform of hidden tricks and gestures

Andrei Anton:

…maybe the actual problem is having an UI where what’s technically an input field (that’s obviously expected to have a “long tap to copy/cut/paste” function) looks EXACTLY like whitespace! Let’s bring back UIs that actually have strong visual cues in them…

Jaime Santana:

Another “hidden” dialpad feature; upon opening it, with the text field still empty tap the dial button, it will paste the last dialed number. You have to tap the dial button one more time to actually dial it.

Jason notes that you can put a call on hold by touching and holding the Mute button.

Tom Dale:

I’ve been using OS X for over 15 years and I just figured out how to remove a saved color from the system color picker.


Facebook Stored Hundreds of Millions of User Passwords in Plain Text for Years

Brian Krebs:

Facebook is probing a series of security failures in which employees built applications that logged unencrypted password data for Facebook users and stored it in plain text on internal company servers.


The Facebook source said the investigation so far indicates between 200 million and 600 million Facebook users may have had their account passwords stored in plain text and searchable by more than 20,000 Facebook employees. The source said Facebook is still trying to determine how many passwords were exposed and for how long, but so far the inquiry has uncovered archives with plain text user passwords in them dating back to 2012.

My Facebook insider said access logs showed some 2,000 engineers or developers made approximately nine million internal queries for data elements that contained plain text user passwords.

Zero-day Safari Exploits Allowed Complete Takeover of Mac

Ben Lovejoy:

The first exploit managed to escape the sandbox, a protection macOS uses to ensure that apps only have access to their own data, and any system data permitted by Apple.


The second got rather further, gaining both root and kernel access to the Mac.

This despite process isolation and sandboxing

It’s Frustrating That Preview in Mojave Isn’t Better

Adam Engst:

When 10.14 Mojave rolled around, however, its Continuity Camera and screenshot features directly impacted Preview, so I decided it was time to do a deep dive and see what else might have changed in Preview.

Unfortunately, the results of my investigation weren’t particularly positive. The new features in Preview don’t add much value, one change is actively bad, and Apple introduced a handful of bugs.

Overall, I think the version in macOS 10.11 was better.


Update (2019-04-08): I’m still getting lots of internal errors working with PDFs in Preview.

MySpace Lost Music Uploaded From 2003 to 2015


As a result of a server migration project, any photos, videos, and audio files you uploaded more than three years ago may no longer be available on or from Myspace. We apologize for the inconvenience and suggest that you retain your back up copies. If you would like more information, please contact our Data Protection Officer, Dr. Jana Jentzsch at

Via Nick Heer:

Anyone who thinks that something like this couldn’t happen to the music they’ve created and uploaded to Soundcloud or YouTube is fooling themselves.

Update (2019-03-22): Gary Bernhardt:

Reminder that “the cloud” is neither a backup nor a suitable location for data that you care about. Your provider will delete all of your data when it’s no longer economical to host it, or when someone typos a shell command, whichever comes first!

Not Relying on NSFileCoordinator

Soroush Khanlou:

This is where I discovered my problem. Without using NSFileCoordinator, the mutatingObject dropped about 70% of writes. With it, even using the reading and writing options correctly, I was still losing a few dozen writes every 10,000. This was a serious issue. An object storage that loses about half a percent of writes still isn’t reliable enough to use in production. (Apple folks, here’s a radar. It includes a test project with a failing test.)

At this point, I started thinking about what I was actually trying to do, and whether NSFileCoordinator was really the right API for the job.

Do-nothing “Antivirus” Apps

Catalin Cimpanu (via John Gruber):

An organization specialized in testing antivirus products concluded in a report published this week that roughly two-thirds of all Android antivirus apps are a sham and don’t work as advertised.

Tim Schmitz:

The fact that this stuff exists on the iOS and Mac App Stores really makes you wonder what the point of app review is anyway.

I don’t like the idea of Apple deciding—which it already does to a certain extent—whether an app is “useful,” but clearly one role of a trusted store should be to prevent deception.

Why Operators Are Useful

Guido van Rossum:

The general idea here is that once you’ve learned this simple notation, equations written using them are easier to manipulate than equations written using functional notation -- it is as if our brains grasp the operators using different brain machinery, and this is more efficient.


Now, programming isn’t exactly the same activity as math, but we all know that Readability Counts, and this is where operator overloading in Python comes in. Once you’ve internalized the simple properties which operators tend to have, using + for string or list concatenation becomes more readable than a pure OO notation, and (2) and (3) above explain (in part) why that is.

Of course, it’s definitely possible to overdo this -- then you get Perl.

Observing the use of custom operators can help identify problem spots in a language.

Wednesday, March 20, 2019

AirPods 2019

Apple (Hacker News, ArsTechnica):

The new Apple-designed H1 chip, developed specifically for headphones, delivers performance efficiencies, faster connect times, more talk time and the convenience of hands-free “Hey Siri.” AirPods come with either a standard charging case or a new Wireless Charging Case for convenient charging at home and on the go.

Hey Siri support is a big deal because, if you don’t have to dedicate one of the two tapping actions to Siri, you can use it for a forward or backward skip. I don’t think this is worth buying new AirPods for, and Qi charging seems much less useful here than for a phone, but I think many original AirPods owners are going to be forced to upgrade within the next few years simply because of the aging batteries. I haven’t yet had problems with listening, but recently I’ve been getting less than an hour of talk time. AirPower is still not available, so Apple hasn’t said whether the new case will work with it, though I would assume so.

Joe Rossignol:

The new AirPods are available to order on and in the Apple Store app starting today with a wired charging case for $159, the same price as the original AirPods, and with a wireless charging case for $199. Both options will be available at Apple Stores and select resellers starting next week.

The wireless charging case is also available individually for $79 for use with both the first-generation and second-generation AirPods. An LED light indicator located on the front of the case shows the charge status at a glance.

Ryan Jones:

BTW, very nice launch strategy for AirPods 2:

1) pods + wireless case
2) pods + normal case
3) just wireless case

Super flexible and conscientious of user needs. Could have easily been 1 only.

Tanner Bennett:

It is cheaper to buy brand new AirPods and the new case separately, then sell the old case, than it is to buy the new AirPods outright

Zac Cichy:

I just wanted a charging case that isn’t going to collect metal particles and stain the inside. Maybe next time!

Ish Abazz:

Is there any way to trade in or recycle old AirPods? I’m betting hundreds of thousands of them will be replaced soon.

Mark Gurman:

These AirPods were initially planned to go on sale last year. They’re also working on a future version with noise-cancellation and water resistance. Those were planned for later this year, but would now imagine that’s for 2020.

Update (2019-03-21): Lee Hinde:

FWIW, I’m upgrading solely to get the longer battery life. I’m in a remote-only company (lots of Slack calls) and sometimes meetings go past the current gen’s battery life.

Ryan Jones:

Wait a second, AirPods 1.5 could a path to volume control now.

Siri: Hey Siri
Play/Pause: Remove
Right Pod: Volume Up
Left Pod: Volume Down

Update (2019-03-22): Kirk McElhearn:

This is quite disappointing. I bought mine when they were released, in December 2016. I don’t use them a lot; I use them for phone calls (I work at home, and I prefer making phone calls with headphones), and to listen to music and podcasts when I walk. But that is, on average, less than one hour a day, and sometimes I don’t use them for several days.

Nevertheless, I find that they don’t connect to my iPhone reliably any more, and they don’t last as long as they used to.

Update (2019-03-26): Rene Ritchie:

Jony Ive talks #AirPods with GQ:

“When you are going to have objects that are inherently very mechanical, I think that it’s so important that you pay attention to all aspects of the design.”

Tim Hardwick:

Note that these commands won’t do anything if your iOS device doesn’t have a network connection. It’s an odd requirement, but unlike Voice Control, Siri needs an internet connection even for basic playback commands.

Update (2019-03-29): iFixit (Hacker News):

Our last AirPods teardown got pretty messy, so we’ve partnered with Creative Electron for some X-treme X-ray guidance. Check out the arrangement of magnets for the case’s Zippo-like flip top action, which looks like dark rectangles embedded in the plastic shell.


Flex cables, antennas, and microphones are all carefully folded together like origami and cemented in place with glue. We cut away as much of the outer casing as we dare, and painstakingly scoop out the rest with a fine dental pick.


Turning our attention to the brawn, we find the familiar 93 milliwatt hour battery in each bud.

Damien Petrilli:

Got new #AirPods (wo wireless charging).

The top case feels cheap. The opening mechanism is flimsy. Feels like a chinese knockoff.

Genius Bar: it’s normal on the new generation, your old ones have dirt making them less flimsy.

Nope Apple, previous was flawless from day 1.

Some of the staff were also puzzled by the case, until another genius came from the back and told them the “you got dirt making it stable in your old case” story.

Felt like Apple already got that kind of feedback and sent “instructions” to deal with it.

Also, Apple is obviously not tracking satisfaction with their products. When you bring something back, none of the reasons listed are about product issues.

It’s DOA, buyer remorse or product damage.

Good way to manipulate your metrics not to put “dissatisfied with the product”.

Nick Heer:

Nitpicky AirPods case complaint: now that the charging indicator light is on the outside, I wish Apple had used that microperforation technique to better blend the light with the case.

Update (2019-04-01): Brian Roemmele (via Bob Burrough):

In 2007, Steve Jobs worked very closely with Apple’s Industrial Design Team to produce the Apple iPhone Bluetooth Headset. It cost $129 and featured automatic paring with the iPhone. It originally shipped with a travel cable and dual dock, both of which allowed it to be simultaneously charged along with your iPhone. By July, 2008 Apple stopped bundling the dual dock with the headset and dropped the price to $99 as manufacturing cost subsided.


Steve liked the product so much he used it past the point when Apple cancelled the product. However, it was clear the world was not ready for wireless headset in 2008 as the sound quality and range was less than acceptable.

Dan Seifert:

But even with the new chip and hands-free ability, there’s still a significant delay from when I say “Hey Siri” to receiving a response in my ear. Unlike the iPhone, there’s no bell or ding to indicate that the AirPods actually heard my command, and there’s obviously no visual indicator unless my phone is out and I’m looking at the screen. As a result, I often end up repeating myself because I don’t know if Siri heard my command and is just being slow to respond, or if my command wasn’t heard at all. It’s a frustrating experience

Update (2019-04-09): Rene Ritchie:

Where, previously, I could probably count to 4 or 5 when connecting or switching, now I can pretty much count to two. Where, previously, I’d sometimes have to tap or click two or three times to switch between my iPhone and Mac, now it almost always happens on the first tap or click.

John Siracusa says that the hinge on the charging case feels different.

iMac 2019


Apple today updated its iMac line with up to 8-core Intel 9th-generation processors for the first time and powerful Vega graphics options, delivering dramatic increases in both compute and graphics performance.


The 21.5-inch iMac now features 8th-generation quad-core, and for the first time 6-core processors, delivering up to 60 percent faster performance.

The 27-inch iMac now for the first time features up to 9th-generation 6-core and 8-core processors, delivering up to 2.4 times faster performance.

It’s great to see an update, and without a price increase, but I’m not sure this is what people were hoping for. The case seems to be unchanged, and so likely doesn’t address the dust or thermal issues.

There’s no T2 support and, if Apple keeps the same schedule, that means two more years to wait. I understand that the T2 might be too expensive for a lower end model, and not applicable to the hard drive configurations. But for a 27-inch iMac that’s $1,899–$5,249 with an SSD? Even the $799 Mac mini has one.

Then there’s the mystery of no SSDs in any of the base configurations. Sure, have an optional Fusion Drive for those who don’t want to pay for a 2 TB SSD. But the default configuration should be an SSD. They really are not that expensive to buy third-party, and Apple must get better deals than we do. Is this the case of perfect being the enemy of good—insisting that all Mac SSDs must be high-end ones, even though cheaper SSDs are still way better than hard drives? Or is it just all about margins?

Lastly, I wonder whether Apple planned to hold out on SSDs for so long. If the standard configuration is going to have a hard drive, then the case should be designed for it. But since 2012 the 21-inch iMac has only supported slow laptop hard drives. The case, the OS, and the file system were not optimized for hard drives, and yet that’s what the default configurations include.


After nearly two years, Apple has released new iMacs, and Jason has an exclusive interview with Apple’s iMac product manager, Colleen Novielli.

Jason Snell:

The $1099 base model non-Retina iMac remains unchanged, the desktop equivalent of the $999 MacBook Air—an old model anchored to a low price.


What this means is that these new iMacs have closed a bit of the gap between the highest-end iMac and the lowest-end iMac Pro. You’ll need to pay extra in configurable options, but the highest-end eight-core iMac should creep close to iMac Pro territory in terms of processor and graphics performance.

Of course, all that performance comes in a familar shell—it’s the same iMac cooling system as before, which means if you stress out the iMac you will hear the fans. My friend Stephen Hackett ended up switching from a high-end 5K iMac to an iMac Pro in order to get a computer that was silent under heavy load, thanks to the iMac Pro’s superior (and quiet) cooling system.

Marco Arment:

Nice to see an iMac spec-bump, finally.

Shame they haven’t included the T2 and its huge security benefits. I was hoping to see all Macs with T2 chips by the end of the year.

Maynard Handley:

So option 2 is use cheap low-end slow flash and driver. Personally that’s the path I would take. Sure, there’d be mocking about the slow flash, but IMHO it’s a better tradeoff than HD!

Paul Haddad:

The 6 core CPU is non hyperthreaded, which is crazy on a $2300+ machine.

Wojtek Pietrusiewicz:

iMac early 2019. 1TB SSD = $700. Samsung 2TB NVMe M.2 = $500.
Samsung 1TB 970 Pro = $350. 970 Evo = $250.

Colin Cornaby:

The weird thing is the Vega GPUs Apple is using... don’t exist? If they’re custom slower versions of real Vega, that’s a big bummer. Still not shipping a high end consumer GPU on the iMacs?

I’d guess it’s a power and heat thing. Vega requires a good amount of power and runs hot. Unless they really wanted to up the power supply in the iMac full Vega might not be an option.

Ian Spencer:

It took two years for this? It’s a $450 upgrade to not have a three year old GPU that was slow even when it was new. And that upgrade isn’t even to the mid-range Vega 56. Yikes.

John Gruber:

This is an industrial design that deserves to last years. It still doesn’t seem possible to get displays of this caliber at these prices in the PC world — or at any price for 5K in an all-in-one.

Llyod Chambers:

Why would you go with 32GB memory from Apple, when it costs less to install 64GB?

Howard Oakley:

The one feature about them which concerns me is their continuing use of rotating hard disks, alone in the cheaper configurations, or as part of a Fusion Drive if you need more and faster storage. There are two issues which you need to consider: using the APFS file system on a hard disk, and the Fusion Drive itself.


APFS works on hard disks, and has done so in release form for around a year now, but it hasn’t been designed to get the best out of them, in contrast with HFS+. Although I haven’t been able to find good performance comparisons, all those who I know who use APFS on hard disks consider its performance to be relatively poor.


If almost all data read from and written to the hard disk in the Fusion Drive passes through the SSD as a temporary buffer, the SSD will see a great deal more write activity than would be expected for its size. […] Evidence from some with older Fusion Drives is that this can lead to worryingly early failure in SSDs, which appear to have aged much more quickly than would be expected.

Nick Heer:

Snell asked Novielli about the base-model iMacs that retain a spinning hard drive. She acknowledged that it’s a cost-based decision; I still think it’s indefensible. The drives Apple uses in the base-model iMacs, and even the Fusion Drives in the step-up models, don’t perform acceptably running Mojave. The base model iMac is simply not a good product and should be purchased by nobody, so it’s hard to see why it’s still available.

Tom Bridge:

And they also ship by default with old, slow 5400rpm hard disks that came to the marketplace in 2007 in 1TB capacities. When Hitachi released the first Deskstar with 1TB that year, at a whopping price of $399, they boasted a cost-per-GB of $0.40. Now you can have a SATA SSD for less than $0.25 per GB, and an M.2 SSD for $0.35 per GB.

Chance Miller:

Apple has also quietly lowered select upgrade costs. For the MacBook Air, Mac mini, and MacBook Pro, SSD upgrades are now slightly cheaper, while RAM upgrades for Mac Pro have also seen a price drop.


Update (2019-03-21): tipoo:

And even with all those constraints imposed, a hybrid hard drive would have gone a long way too. Feel a bit bad that some unknowing people will get a worse macOS experience than 5 year old systems with an SSD.

Colin Cornaby:

Fusion Drives being standard on iMacs would be less of an issue if you could upgrade to a full SSD post purchase.

Update (2019-03-26): Stephen Hackett:

However, the outside of the iMac could use a refresh as well. The design is fine, but I think it could be modernized in a couple of areas. The bezels were fine in 2012, but seven years later, they look ridiculous. The integrated foot is sturdy, but I miss the days of more adjustable desktops. The built-in iSight camera is...not great, and the fan noise generated by high-end models is a non-starter for many of us.

Update (2019-03-29): Juli Clover:

Geekbench’s John Poole this afternoon shared a series of 2019 iMac benchmarks, giving us a look at the performance boosts offered by Intel’s 8th and 9th-generation Coffee Lake chips.

All of the new 27-inch 5K models offer superior performance compared to their 2017 counterparts, with single-core performance up an average of 6 to 11 percent and multi-core performance up 43 to 49 percent for six-core models. The higher-end models with 3.6GHz 8-core Core i9 chip offer the biggest boost in multi-core performance, with speeds up 66 percent.

Update (2019-04-01): Adam Chandler:

The 2019 iMac arriving tomorrow scored 6157 Single and 32293 Multi-Core blowing away all of my previous Macs in a massive way! Now that it is 100% SSD, the difference in performance with the new iMac and the top of the line MacBook Pro is enough that I’ll continue running a two machine setup for the foreseeable future. No reason to work on only one machine and while I require the portability of a MacBook, I love and would hate to give up the flexibility of also having a desktop that is many double-digit more powerful.


When ordering the iMac, I did consider an iMac Pro. I was within $750 of a base iMac Pro but I’m glad I didn’t. Looking at this Geek Bench blog post, it’s clear I made the right decision.

Rob Griffiths (tweet):

As with the prior comparison, this is not a review of the 2019 iMac—I’ll leave that detailed work to others who do it much better than I. I’m mainly interested in comparing this machine’s performance to my current iMac—and for the Geekbench 4 tests, with the 10-core iMac Pro.


Two lines stand out here—those for the RSA verifications per second, where the new CPU is roughly 33% slower than the old CPU. I tried to discover why, but had no luck with a number of web searches. My only theory is that the RSA verification is so relatively simple (compare the results with DSA verification; RSA is about three times faster) that CPU clock speed is the gating item—and the new CPU runs at 3.6GHz versus 4.0GHz for the old.

Update (2019-04-08): Josh Centers:

Louis Rossman takes the piss out of Apple for its new iMac, and they honestly deserve it.

Update (2019-04-09): Rob Griffiths:

Wrapping it all up, I’ve found the new iMac with the ADM Pro Vega 48 to be a more than decent games machine. Its one downside is fan noise—they will spool up and be noticeable in anything that pushes the video card hard. How can this be avoided? Well, you could stick to old games that don’t stress the GPU as much.

Alternatively, you could give Apple $5,799 (instead of the $3,449 I spent on my iMac plus third-party RAM) to buy the 10-core iMac Pro, which has a totally different thermal management system.


Other than the fan noise under load (which my old iMac shares), I’m very happy with the new machine. It’s wicked fast in every day use, I like the wider color gamut display, the added RAM will be very nice to have, and I finally have a capable gaming machine that’s the same as my primary work machine.

Update (2019-04-30): Rob Griffiths:

The real time saver is in the video transcoding: The new iMac was over twice as fast as the old one. This is where the extra cores in the Core i9 processor really pay off—even more so than I was expecting.

Overall, the new iMac saved nearly 30 minutes compared to the old iMac. In percentage terms, that’s 35% faster.

What you don’t see in the table, though, are the test conditions. I gave the old iMac every advantage possible. I had already removed all my background apps and cloud services, Time Machine is disabled, there’s nothing running in the menu bar, and the only tasks the iMac had running were related to the test.

On the new iMac, on the other hand, it was business as usual: I had all my background tasks running, all my cloud services were connected, I had 18 apps running with about 40 open windows, and I was actively working, switching between browsers and email and chat and Excel.

iPad Air and iPad mini 2019


Apple today introduced the all-new iPad Air in an ultra-thin 10.5-inch design, offering the latest innovations including Apple Pencil support and high-end performance at a breakthrough price. With the A12 Bionic chip with Apple’s Neural Engine, the new iPad Air delivers a 70 percent boost in performance and twice the graphics capability, and the advanced Retina display with True Tone technology is nearly 20 percent larger with over half a million more pixels.

Apple today also introduced the new 7.9-inch iPad mini, a major upgrade for iPad mini fans who love a compact, ultra-portable design packed with the latest technology.

It’s good to see the iPad mini updated after all these years. The new models look good, although I was hoping to see a lower end model with a reduced price. The $310 A10-based iPad, though a better tablet, is still more than double the price of comparably sized Android tablets. And, I’m sure it would confuse things, but I personally would want one without pencil support because I know I won’t use it, and so I would prefer the more oleophobic screen.

Joe Rossignol:

The new iPad Air is a lower-cost replacement for the 10.5-inch iPad Pro, which was priced from $649 prior to being discontinued today.

Tim Hardwick:

Apple says that with the new A12 Bionic chip, the iPad mini now delivers three times the performance and nine times faster graphics. Meanwhile the advanced Retina display with True Tone technology and wide color support is 25 percent brighter and has the highest pixel density (3 million) of any iPad.

Elsewhere, an 8-megapixel rear camera brings improved low-light performance and HD video recording, while the front facing camera has been bumped up to 7 megapixels for better-quality selfies and FaceTime HD.

The new iPad also benefits from the same Wi-Fi performance and Gigabit‑class LTE that’s built into the latest iPad Pro models, and retains the headphone jack found in previous iPad mini models.

Marco Arment:

The iPad lineup makes far more sense now than when there was a $500 price gap in the middle of it, most but not all could use Pencils, the Mini was ancient, etc.

Now, they’re all Pencil-able, they’re all A12 except the cheapest model, and all prices and sizes are well-covered.

Michael Love:

Interesting strategy here - I think many/most of us were assuming they’d try to reach out to the low end, but instead they’re basically putting a 2018 CPU in a 2017 Pro, taking away 120 Hz, and charging the standard-for-many-years $499 for it.

Francisco Tolmasky:

It is so weird that the iPad Air and iPad mini only support the old Apple Pencil. The iPad mini was my favorite incarnation of the iPad line when it came out, and I was considering getting one again, but I have no interest in needing two different kinds of iPad pencil.

Apple keeps creating and extending these arbitrary transition periods. The old Apple Pencil should be in the past. Instead we have an entire other generation with it now. This sucks for developers too who have to continue designing for old technology. Same with lightning ports.

John Gruber:

The new iPad Air isn’t based on the old iPad Air — it’s an update to the 10.5-inch iPad Pro. (It even works with the same cover and keyboard peripherals.) And the new Mini is really just a smaller version of the new iPad Air — they could have just called them both “iPad Air” and had one be mini-sized and one regular-sized, similar to how the two sizes of iPad Pro have the same product name. As far as I can see, there is no difference between the new iPad Air and iPad Mini other than size.


I am reliably informed, the inductive charging data port for connecting Pencil 2 on the latest iPad Pros is expensive enough to be prohibitive for the new Air and Mini.

Update (2019-03-21): Uluroo:

The five available iPads might seem confusing at first glance. The naming scheme doesn’t help keep things simple. Here’s how you should view iPad:

• iPad Pro, one product in two sizes
• iPad Air/mini, one product in two sizes
• iPad, there solely for its low price tag

John Gruber (Hacker News):

But it costs so much less than an iPad Pro. I think of the iPad Pros as the iPad Nexts, and these new iPad Air and iPad Mini models as the iPad Nows. A 64 GB 11-inch iPad Pro costs $800, the 64 GB new 10.5-inch Air costs $500, and the Mini is just $400. You even save on cellular models compared to the Pro — it costs $150 to add cellular to an iPad Pro, but only $130 to an iPad Air or Mini.


Really, in a lot of ways, the iPad Mini feels like the one true iPad, and the others are all just blown-up siblings that don’t quite know how to take advantage of their larger displays.


But here’s a really big pro in the iPad Mini’s column that I didn’t fully anticipate until diving in with it this week: it’s so much better for thumb-typing.

Colin Cornaby:

Has anyone commented yet on the lack of USB-C on the new iPads? Certainly is a bummer for those of us that like the idea of USB-C as a single connector, and it also blows a hole in the idea of a strong USB-C ecosystem for iPad.

Update (2019-03-26): Horace Dediu:

And now we see the iPad mini being re-launched with a huge spec bump. We should take the hint. The iPad mini is just charming. I have been trying it out for a few days and it has worked its way into my routine. I have an iPad Pro that I use on a desk to design presentations (and to deliver them). I use it with a keyboard for dealing with email on my lap or on a plane and take it instead of a laptop when going to meetings.

But the iPad mini worked its way to my nightstand. It the one I reach for when on a couch. It is like an iPhone but when you’re at home it’s better than the iPhone because you can linger on that new true tone screen. It works well one handed.


Fundamentally explaining mini is pointless. mini is something that is felt more than it is perceived.

Jason Snell:

The new iPad mini doesn’t need to be all things to all people. It doesn’t even need to be the cheapest iPad in the product line. It just needs to be small and light while still providing the power of a modern iPad, and it does that quite well.

Benjamin Mayo:

So the universal iPad stylus, the one that works across all iPad models, is the one not made by Apple

The Dwindling Number of iOS Text Editors

Brett Terpstra:

Over the weekend I weeded out the dead apps on my iTextEditors comparison chart and was surprised to find that over 30 of the 90 editors on the list were no longer available. I figured a few would be gone, but a third of them had gone the way of the dinosaur.

Perhaps the cream has risen to the top and most people are settling on the leaders of the pack. Maybe there just isn’t that much money to go around in the iOS text editor market.

I’m still using Editorial, but it hasn’t seen many updates lately and still doesn’t work with iCloud.


Friday, March 15, 2019

Brief Examples of OmniFocus Perspectives

Gabe Weatherhead:

The “Changed” perspective is the best kind of “undo” screen. If I accidentally mark a task or project as complete or if I mistakenly changed something that removes the task from my view I go to this perspective to fix it. It shows everything in my OmniFocus sorted by modification date.

With enough perspective trickery I even create project outlines that are otherwise not possible in OmniFocus. It’s the double negative in this perspective which removes all of the tasks from the view and leaves me only with the nested projects and folders to browse.

eSellerate Shutting Down

I received this in an e-mail from eSellerate:

Thank you for being a loyal eSellerate customer over the years; we sincerely appreciate your business. Due to evolving business needs, Digital River will be retiring the eSellerate platform on June 30, 2019. As a result, commerce starting July 2019 will run through our premier e-commerce solution, MyCommerce Share-It.

We will start proactively upgrading clients to the new platform starting April 15. We recommend you move your business even before that to start immediately enjoying the modernized features and functionality of MyCommerce Share-It, including:[…]

We’ve created tools for you to use to make this upgrade simple, fast and efficient; no heavy lifting on your part.

I primarily use FastSpring these days, but I like to have a second store as a backup. The new admin site let me log in with Chrome and Firefox but not Safari. The migrator copied my basic product information but not the icons. I haven’t yet been able to test the license generation because you need to e-mail them to get an account-specific test credit card number in order to place a test order.


Apple Responds to Spotify

Apple (Phil Schiller, MacRumors, Hacker News, Reddit):

And developers, from first-time engineers to larger companies, can rest assured that everyone is playing by the same set of rules.

I don’t think anyone actually believes this. If a small developer did what Uber or Facebook did, they would have gotten more than a slap on the wrist. Meanwhile, certain apps that compete with Apple seem to get extra scrutiny. It’s also important to remember that the App Store guidelines are not laws passed by a democratic process with any pretext of fairness. Rather, Apple unilaterally makes the rules to advance its interests, and it changes them as necessary to thwart competitors.

We want more app businesses to thrive — including the ones that compete with some aspect of our business, because they drive us to be better.

Yet Apple specifically disallows sideloading apps and competing stores, which would drive the App Store to be better. And the digital content businesses like books and music—where Apple competes—are the ones where Apple sets the fees to disadvantage competitors. The built-in advantages of bundling and integration are not enough for Apple to compete; it forces companies like Amazon to make apps like Kindle harder to use. The businesses not competing with Apple—like Uber—are the ones that don’t have to “contribute” to the App Store.

After using the App Store for years to dramatically grow their business, Spotify seeks to keep all the benefits of the App Store ecosystem — including the substantial revenue that they draw from the App Store’s customers — without making any contributions to that marketplace.

Today’s Apple believes that customers have no inherent right to install software on their devices, and further that any revenue related to using such devices owes a rent to the platform vendor. This is like Dixon Ticonderoga making rules for what you can write with your pencil and then demanding a cut if you sell any of your work.

The only time we have requested adjustments is when Spotify has tried to sidestep the same rules that every other app follows.

I’m not sure whether this is true, but, again, the rules were specifically written to disadvantage competitors like Spotify.

The only contribution that Apple requires is for digital goods and services that are purchased inside the app using our secure in-app purchase system.

And they’ve written the rules to make it really difficult to use other purchase systems because they know that IAP couldn’t compete on a level playing field. Customers have to suffer through a worse user experience because Apple refuses to charge a reasonable fee.

Damien Petrilli:

It takes some “courage” to use the 84% of free App as an argument, knowing most of those are the garbage and scam Apps which plague the App Store today.

Most companies NOT paying Apple are basically unethical businesses who farm data and violate privacy to earn money.

Meanwhile those trying to make a decent living with good Apps are hit by the 30% Apple tax.

Charles Perry:

From Apple’s response to Spotify: “We keep all our developers on a leash. It wouldn’t be fair to other developers to unleash just you. And really, shouldn’t you just appreciate what you’ve been given like all the other good dogs?” (I may have paraphrased.)

Dan Masters:

Disappointing to see Apple take the low road with irrelevant rhetoric. They’re using artists as their political football, with the sole purpose of swaying popular opinion & setting a narrative.

This is the same company that wasn’t going to pay artists for streams during trials.

Apple justifies their ‘fair’ tax on devs, yet has happily paid much less than their fair share of taxes where they operate, while benefiting from each nation’s respective resources & markets.

I guess Apple is more equally ‘entitled to their business model’ than others.

David Barsky:

“Contributions to that marketplace” is a funny way of saying “we’re mad that you’re not rolling over and letting us double-dip into revenue we have no business touching.”

Manton Reece:

Apple likes to brag about how much money they’ve paid to developers, but they leave out how much they’ve kept for themselves: about $50 billion. To Apple, they are doing us a big favor by letting us ship iOS apps.


And yet in the previous quote, Apple says that 84% of apps pay nothing and they are fine with that. Uber pays nothing to Apple. Games with ads pay nothing to Apple. Why is it wrong for Spotify to also want to limit how much they pay to Apple? The line Apple has drawn around in-app purchase is arbitrary. They could just have easily restricted Uber accepting payments, or banned third-party ads.

Nilay Patel:

Apple put out a response to Spotify’s antitrust campaign today, and it is just extremely weird. Especially this part, where they repeat this inaccurate “suing songwriters” talking point that honestly makes no sense.

Owen Williams:

Apple repeatedly says that what Spotify is doing is “wrong” but then just goes ahead and makes provably untrue statements up - in order to make its approach look better, even though Apple has historically done the EXACT SAME THING TO CREATORS.

Dan Masters:

From just a few weeks ago!:

“Apple changes its iPhone photo contest page to say it will pay winners, after originally stating ‘prize has no cash value’”

Owen Williams:

I find myself reading the long letter, which tries to rebuke each of Spotify’s points, thinking that the PR doublespeak is incredibly eloquent. Apple avoids touching on any of the issues in the ecosystem, while sometimes unintentionally reinforcing Spotify’s point: it controls a broad swathe of the ecosystem’s destiny, with little oversight.


iTunes decimated the competition in the music purchasing business and ended up with a monopoly that was hard to compete with because artists had little other choice in where to sell their music. Then, it started exerting power over artists: threatening to remove them for not signing new contracts, and eventually wound up in court over price fixing after artists and competitors complained. Artists didn’t really like the service either, because it paid so little and restricted most of its music in the earliest days to Apple devices like the iPod.


Spotify isn’t demanding anything different: they’re demanding the same business model as Apple Music, and the same rules applied to them as everyone else on the platform… including Apple. Attacking Spotify for making “ever-smaller” contributions here is contrite, because their margins are squeezed by Apple’s price pressure.


Update (2019-03-15): Jeff Johnson:

Apple has painted itself into a corner with its newer “services” strategy, because the Spotify case now becomes an existential threat to Apple’s business model. Whereas it wouldn’t have been a big deal under Apple traditional strategy of selling insanely great products.

Ben Thompson:

I believe Apple’s App Store policies are per se illegal tying — specifically, iOS to App Store in-app purchase. Spotify, though, has a stronger case than anyone, because it is not only subject to Apple’s App Store policies but also competing directly with Apple Music. It will be very difficult for Apple to argue that it is not attempting to extend its position in smartphones into a dominant position in digital goods when that extension is rather concretely framed as a direct benefit to Apple’s own offering.

Via Rene Ritchie:

The “if you don’t like App Store terms, you can just sell through the web or Google Play Store”, which a lot of people are going to respond with, is the Walmart to Target argument, which is poorly fitting at best.


Spotify has a real chance on the facts, at least on the core counts. The EU views anti-trust as a way to ensure competition, up to and including ridiculous things like forcing Microsoft to include browser ballots.

But instead of being candid about that, and the general policies Spotify sees as unfair, and about the harm it believes those policies do to its business, they kinda play the victim card in a way that seeks to conflate or distort their harm onto us, which just comes off as, I don’t know, smarmy.


And here’s where it gets a tad ironic: The same is true for Apple. Forget Apple Music. The App Store is really just a nicely packaged re-sale of other people’s apps.

Jesse Squires:

Apple’s response to Spotify claims “everyone is playing by the same set of rules.”

This is a lie. Completely untrue.

I worked on iOS at Instagram for 2 years. We (and FB) absolutely got special treatment in a number of ways. Especially for app reviews.

Oscar Apeland:

There is a clear difference in how I’m treated by app review with my new startup compared to when I developed a 150k+ MAU app

David Pierini:

Cash-rich Apple is reportedly not paying the artists who share their talents for the in-store ‘Today at Apple” sessions.

Rather than money, the session leaders could select from three of the cheaper Apple products.

Steve Troughton-Smith:

Real talk: Apple (+ all the other App Stores) should have independent, 3rd-party oversight; I’m sure Spotify would have no trouble finding devs who have battled unjust/capricious rejections & suffered a chilling effect on innovation. Phil Schiller should not be final arbitrator

As much as the media coverage will be they said/they said schoolyard nonsense, there is a real issue here, and it’s bigger than Apple’s “30%”

The real “30% tax” is the apps and categories of apps we don’t and will never have, because they were nope’d from on high as they didn’t fit into the App Store box or raised uncomfortable questions re Apple’s business models. There is still no Steam Link app on the App Store

James Owen:

Apple claims that Spotify would not be the business they are, without the app store.

What would Apple be without the iPhone? How could there be an iPhone without Qualcomm IP?

Apple charges 30%

QTL charges $7.50 on a iphone, and Apple says $QCOM is an extortionate thief.

Federico Viticci:

This part from Apple’s response to Spotify is somewhat misleading. There is no Siri domain for music playback that Spotify (or others) can use.

There are Siri shortcuts, which Spotify could add, but the experience is FAR from the native integration Apple Music has.

John Gruber (tweet):

What Apple should do is allow apps that opt out of IAP to explain that users need to subscribe or make purchases using a web browser, and allow them to link to their website from within the app (even if they’d be required to open that link in Safari, as opposed to an in-app web view).

Why in Safari? Why even in a Web view rather than in the app?

Update (2019-03-21): R. Scott Love:

There are also “Technology” taxes too - for example, you cannot embed certain plug-in platforms within your app despite open architecture standards and public APIs - so the alternative is that you vend from your own site but lose the DRM battle

Nick Heer:

By the way, Apple’s response to Spotify’s accusations has the conviction of damp newspaper. Their press release drags in some nonsense about Spotify’s disagreement with new royalty rates determined by the Copyright Royalty Board, and claims that there’s a level playing field for developers when everyone knows that the biggest developers often get special treatment. They didn’t even bother to sign the damn thing.

One of the reasons this dispute has been rattling around in my head and why I’ve been having a hard time figuring it out is because both companies are acting like jackasses. Apple should have no problem allowing developers to direct users to purchase subscriptions outside of their app. Perhaps there should be restrictions on the subscription page — for example, mandating a minimum level of security, or maybe requiring that the checkout form supports Apple Pay. The rest of Spotify’s complaints are distracting, with some bordering on asinine.

Michael Rockwell:

Here’s the thing about allowing developers to opt out: it’s a slippery slope. If Apple allowed developers to push users to a website for purchasing digital goods, they would. There are plenty of payment systems out there and building a website that integrates with them is easier than ever. But I don’t want to give my credit card credentials to every single developer that builds an app I’m interested in. Doing so will only increase the chances of my debit or credit card becoming compromised and then I have to go through the hassle of getting it replaced, which is a major pain.

To be fair, if developers used Apple Pay on their websites, these security concerns would be mitigated. But it’s not just the security aspect that has me on board with in-app purchases, simplicity is another major factor. The ability to quickly purchase a subscription through the app using my fingerprint, restore a subscriptions on another device, and manage all of my subscriptions in one a single location are niceties that would go out the window if Apple allowed developers to opt out.

That’s the problem with the 30%. It’s so high that, if there’s any way at all to opt out, it encourages developers to make things worse for their customers. IAP provides real value to both customers and developers, just not that much. At a sufficiently better price, apps would choose to use it—problem solved.

Secondly, if outside payments were specifically allowed, I think it’s likely that we’d see a rise of intermediate payment processors to facilitate transactions. You’d be able to pick a trusted company to remember your credit card information (and hide it from the developer) and to consolidate your subscriptions. There would be an SDK to make it easy to pay with Face ID. The company would charge a fee for this service, but it would be a fraction of what Apple charges. Big companies like Amazon, Netflix, and Spotify would use their own systems, but there’s not very many companies at that level, and you already trust them.

See also: Accidental Tech Podcast, Hacker News, Reddit (2), The Talk Show.

Update (2019-07-01): Chance Miller:

Apple has now responded to Spotify’s claims in a new filing with the European Commission.


In actuality, Apple now says that Spotify isn’t paying the 30 percent fee on any of its subscribers.

Essentially, Spotify only offered the ability to sign up for a subscription through its iOS app from 2014 until 2016. For subscriptions, Apple charges a 30 fee for the first year, then a 15 percent fee each year after that. All of the subscribers that Spotify acquired though its iOS app are long since out of that 1-year window.

Apple also underscores in its response that Spotify only pays Apple a fee on just over 0.5 percent of its total subscribers.

Nick Heer:

In isolation, this almost feels like an acknowledgement of Spotify’s complaint. Spotify has lots of subscribers, but they have been forced to acquire the vast majority of them from outside of their iOS app because of Apple’s commission.

Thursday, March 14, 2019

Dropbox Limits Free Plan to Three Devices

Juli Clover:

Dropbox users who have a free Dropbox account are now limited to using that account on a total of three devices, according to new information added to the Dropbox website and spotted on Twitter (via The Verge).

Dropbox says that as of March 2019, “Basic” users, which is the free tier, can add their account to three devices. Dropbox users who already have their account attached to more than three devices can keep them linked, but there will be no way to link additional devices when over the three device limit.

If you have a Mac, an iPad, and an iPhone that’s already three devices. I imagine this will accelerate the trend of people switching to iCloud Drive. I’ve been working towards that myself and keep Dropbox quit most of the time on my Mac, as its file change monitoring is disruptive.


Update (2019-03-15): Brian Stucki:

I made the jump from Dropbox to iCloud Drive this year and it’s been really nice. If you really want to rid your Mac of the app itself, Transmit from @panic does a really nice job of logging into Dropbox for any shared folders you still need to access.

Clark Goble:

Obvious way around - multiple accounts and then share folders.

Peter N Lewis:

The problem with all these subscription products is all the companies want $10/month. If DropBox offered a $10/year plan (or even $20/year) they could probably make a fortune. Instead they just keep trying to drive away low volume customers. It is just not worth $120/year.

Tanner Bennett:

Its malicious, fake system dialog which attempts to steal your user account password so it can keep itself enabled in accessibility settings is also disruptive, among other things.

Kirk McElhearn:

Back around 2014-15, I took out a pro subscription with 1 TB, but there was no way I could make it worthwhile. I don’t need 1 TB, and even if I did, it wouldn’t fit on my Macs; I could put that much data on an external drive connected to my iMac, but now my MacBook Pro. (Yes, I know, selective sync; but I still don’t need that much storage.)

The problem is that Dropbox doesn’t have a low-priced, low-GB plan. I’d happily pay, say, $20 a year for 100 GB, because I am aware that I’ve been getting this service for free for many years. But I’m not spending $100 a year.

NetService NutHouse

Jeff Johnson:

I couldn’t reproduce the crash myself, so I did a bit of searching on the web, and I discovered the explanation on Stack Overflow. The function NetService.dictionary(fromTXTRecord:) is declared to return [String:Data], but when the TXT Record does not have the proper key=value format, CFNetwork inserts kCFNull in the dictionary where Data is expected. This causes Swift to crash.

In Objective-C, the method +[NSNetService dictionaryFromTXTRecordData:] does not crash. However, it still behaves badly, because it is declared to return NSDictionary<NSString*,NSData*>*, but the dictionary can contain NSNull instead of NSData, so your app could still crash if the code trusts the compiler and calls NSData methods on NSNull.

Needless to say, this bug is awful. It affects both macOS and iOS. Moreover, the bug has existed for more than two years, which is even more awful. Fortunately, developers can work around the bug. In Objective-C a workaround is easy, because we can just check the returned dictionary for NSNull values at runtime. In Swift, however, the crash occurs before we can check the dictionary, so we need to try something else.

He worked around it using the Core Foundation version of the method, which has a different signature and so bridges differently. But it seems to also work to disable the bridging by casting with as NSDictionary.

Previously: Swift Subclass of NSTextStorage Is Slow Because of Swift Bridging.

App Store Covers RSS Readers


This story can only be viewed on the App Store in iOS 11 or later on your iPhone or iPad.

Brent Simmons:

The bummer about these articles is that the full thing can only be read in the iOS App Store. It would be nice if they actually appeared on the web, too.

I’d like the entire store to work in a browser.

Jeff Johnson:

And if only you could follow daily App Store features using some open internet format like... RSS?

Sketch Takes Venture Capital

Sketch (tweet):

When we started Sketch back in 2011, the design landscape was very different to the one we know now. Innovation had all but stopped and existing tools were not serving designers’ needs. We stepped into the market and broke it open, paving the way for a new wave of design tools, built on top of our open plugin system, and Sketch became the foundation of what design is today.


With that in mind, we are incredibly pleased to announce that we have raised $20 million in Series A funding from Benchmark. This represents our first capital raise since we started working on Sketch nearly 10 years ago and we’re sure you’re asking, “why now?

Simply put, this will allow us to serve your needs better, faster. Benchmark has been on this journey many times before with companies like Elastic, Twitter, Uber and Zendesk. With such an impressive track record, we think they’re the perfect partner to help us create and scale the best version of the Sketch platform.

They’re going to make Sketch for Teams and also a Web version.

Dan Counsell:

Ah crap. I fear this great app may be ruined over the coming years by external pressures from investors. Fingers crossed it works out.

Previously: What It’s Like to Take on Venture Capital Investment.

Wednesday, March 13, 2019

Spotify: Time to Play Fair

Spotify (Hacker News, MacRumors):

Apple requires that certain apps pay a 30% fee for use of their in-app purchase system (IAP) – as is their prerogative. However, the reality is that the rules are not applied evenly across the board. Does Uber pay it? No. Deliveroo? No.


If we choose not to use IAP (the only payment option on iOS), Apple, in return, bars us from communicating directly with our customers who access Spotify via Apple platforms. Apple won’t let us share awesome deals and promotions — like 99c for three months of Spotify Premium. And we aren’t just talking about what we are allowed to do on the app. Worse yet, they don’t even let us email offers after you register your account, claiming we are circumventing their rules.


But where Apple thinks that our app doesn’t abide by their unilaterally imposed restrictions, it routinely rejects bug fixes and app enhancements that would improve user experience and the app’s functionality – leading fans to believe our app and tech abilities are sub par.


For Spotify to use Apple’s billing system (IAP) — giving our fans the opportunity to upgrade to Premium — Spotify and others now have to pay 30% of any subscription fees. Apple now prohibits buttons or links to any other external ways to pay. This is the first of many moves from Apple that would make it harder and harder for our fans to upgrade to Premium[…] We elect not to use IAP for a bunch of reasons, including the fact that giving up 30% was too much for us to keep our prices low for our fans.


Now that Apple has Apple Music, rejections of the Spotify app start becoming more and more common, and they even go as far as threatening to remove us from the App Store. Those rejections seem to coincide with our promotional campaign seasons[…] Now just having a “Learn More” button is enough to upset the Apple cart even though this is the first time we’ve heard of such a rule.


This time, we are rejected because of a campaign that makes reference to a Spotify Premium promotion (“get 3 months now for €0.99”), despite only directing users to a landing page with no info on where or how to purchase Premium (which Apple had allowed only a few months prior). In fact, Apple’s chief lawyer told us a year earlier that such a landing page was OK, but that didn’t stop the App Store from blocking our app for this reason


Apple Music sends the very type of promotional push notifications that it forbids its rivals to send


So we announce two podcast acquisitions we are super excited about, and all of a sudden Apple arbitrarily decides to prohibit use of its API to recommend podcasts to users

Federico Viticci:

I personally believe Spotify is right here, and that it’s time for Apple to open up their platform more and lower their App Store cut.

Think about it this way: is what’s good for Apple also good for consumers in 2019?

Marco Arment:

Take Spotify’s complaints and timeline with a grain of salt.

It’s really just three things:

- Apple’s 30% cut is high
- The rules around it are anticompetitive
- Spotify gets rejected a lot for trying to evade them

Everything else is a bit bullshitty.

Many of Spotify’s complaints are ascribing malice to limitations of young products.

Any developer, Watch or HomePod owner, or Siri user can tell you that Spotify wasn’t the reason Watch podcast apps sucked before watchOS 5 or that SiriKit and HomePod have no audio intents yet.

There’s no Spotify for HomePod, but you can run it on a Mac SE/30.


Apple did the same thing to Kindle for iPhone back when it launched.

We submitted the original version to Apple with a fully functioning store built into it—and were then stuck in submission limbo. Two weeks later, Apple announces their intent to build in-app purchasing.

The kicker: Apple wanted a 30% cut of every book sold on the store …and at the same time, had negotiated with book publishers that the publishers MUST sell all books at a 30% margin on ALL stores if they want to sell their books via Apple’s own ebook store. Aka we couldn’t sell books at an increased cost, even if we wanted to. We would have had to take a loss on every purchase.

In the end, we had to remove all of the store functionality from the app, and weren’t even allowed to link people directly to the web store for purchasing (or even instructions for purchasing).


Update (2019-03-15): Peter N Lewis:

Forcing developers to use IAP, and forcing people not to offer a non-IAP purchase, is not a limitation, it is a deliberate financial move available to Apple only because of the lock-in on the iPhone App Store.


My $0.02: this will never happen unless something causes captive users to start switching away from Apple in significant numbers (highly unlikely) or there’s government intervention. If you see a third way out of this please let me know.

Felix Krause:

See company politics in action:

1) Use your iPhone to google a book
2) Tap on the Amazon link
3) Amazon properly deep links and opens its app
4) Amazon app: “Oh wait, if we sold a book now, Apple wants its cut, noooope, not with us”
5) Amazon app opens Safari again
6) Tadaaa 🎉


See the results of Apple’s greed and anti-competitive behavior in action.

Using the full featured Kindle, Audible, and Comixology apps on Android is such a revelation that I could never consider returning to such a crippled and user hostile platform.

I do see repurcussions with allowing apps to be installed outside of the App Store though. Apple would have to put a lot of effort into making the App Store a really attractive option for selling and promoting apps, otherwise someone else would do it.

Joe Rossignol:

Spotify CEO Daniel Ek elaborated on his company’s complaint against Apple with the European Commission in a speech today at the International Conference on Competition in Berlin, according to Variety and The Hollywood Reporter.

See also: Core Intuition and Apple Responds to Spotify.

Apple’s Declining Capex

Neil Cybart:

The most surprising revelation found in Apple’s recent 10-Q and 10-K filings is related to capital expenditures (capex). For the first time in 16 years, Apple expects its capex to decline during the current fiscal year. Declining capex is made that much more intriguing for Apple considering how Amazon, Alphabet, Microsoft, and Facebook are each experiencing significant increases in capex. Analyzing Apple’s capex and the potential reasons for its decline provides a look at how the company is being managed and how Apple is unique when compared to other Wall Street giants.

Exporting a Blog Archive

Manton Reece:

Over a year ago I proposed a new blog archive format. The idea was to have a better way to save the posts and photos in your blog, or move your blog to another platform. I’m happy to announce that can now export in this format.

Exhaustive Swift Properties With Tuples

Joshua Emmons:

How can we get switch-like exhaustiveness when dealing with the properties of a type? The first step (and our first clue) is to treat the properties as a set. What if we put them in a tuple?


So, to be clear, habitually shoving all properties into a tuple won’t scale well. But it is a useful tactic to employ when dealing with models, mocks or anything that has:

  1. naturally constrained state,
  2. logic that depends on the shape of said state, and
  3. a strong affinity towards change in the face of shifting requirements

Tuesday, March 12, 2019

What’s Wrong With iOS Multitasking

Fraser Speirs:

Now that we have four operations that are essentially the exact same physical gesture but differentiated by the length of time the gesture is performed for, I am concerned that many users will become quite confused.


I have already had several very savvy iOS users tell me that they simply thought it wasn’t possible to multitask an app that wasn’t in the Dock.

I know that there are a number of ways to do this but none are very discoverable and some are very difficult to execute.


I have observed a number of friends on Twitter posting screenshots of their iOS 11 app arrangement which can probably best be described as “everything in the dock and a junk drawer folder at the end” just so they can be guaranteed that the first path to an app (going via the Dock) will always yield a result.


In practice I found that, too often, I needed to create arbitrary pairs of apps and this caused all my bespoke app pairings to be dismantled in the background. This gave me a sense of instability in the iOS 11 UI. Things I had built were being dismantled invisibility and they were not the way I had left them. This is another of these “functional cliffs” - a short term use of an app leads to the invisible dismantling of a pairing in the background.

Software-ICs, Binary Compatibility, and Objective-Swift

Marcel Weiher:

Swift recently achieved ABI stability, meaning that we can now ship Swift binaries without having to ship the corresponding Swift libraries. While it’s been a long time coming, it’s also great to have finally reached this point. However, it turns out that this does not mean you can reasonably ship binary Swift frameworks, for reasons described very well by Peter Steinberger of PSPDFKit and the good folks at instabug.

To reach this not-quite-there-yet state took almost 5 years, which is pretty much the total time NeXT shipped their hardware, and it mirrors the state with C++, which is still not generally suitable for binary distribution of libraries. Objective-C didn’t have these problems, and as it turns out this is not a coincidence.


Swift is designed as a programming language, not as middleware with language features. Therefore its modularity features are an add-on to the language, and try to transport the full richness of that programming model. And Swift’s programming model is very rich.


Did I mention that Objective-C is middleware with language features?


Update (2019-03-13): Peter Steinberger:

Given the above constraints, PSPDFKit will likely never fully move to Swift. First and foremost, we still have many clients with applications built in Objective-C. There’s rarely a good reason to do a rewrite of battle-tested code, and we cannot force our partners to rewrite just for the sake of rewriting. Secondly, moving to Swift would heavily limit our subclassing system — currently, developers can register almost any exposed class and offer a subclass that PSPDFKit will initialize internally in place of our default base class. But seeing as Swift classes can no longer be subclassed in Objective-C, these capabilities would be greatly restricted if we switched to Swift.

This limits us to using Swift internally — which is the worst kind of Swift usage.

Bad Release Notes

Bad Release Notes:

Bug fixes and performance improvements

Dedicated to shaming apps for their bad release notes.

Submissions are welcome by email or Twitter.

Damien Petrilli:


“The goal is to use this site as a reference when Apple deny your App update because of the release notes being not descriptive enough”


Update (2019-03-22): Jeff Johnson:

* We had to ship an update to change the Description field in App Store Connect.

Update (2019-04-10): Tanner Bennett:

Why are App Store change logs even mandatory if companies can put whatever the hell they want in them? Just make them optional so we can be spared the frustration of wasting our time reading these void ramblings.

Update (2023-03-02): Adam Chandler:

It’s official. 2023 is the year the App Store ChangeLogs are dead.

Over 45 updates today and none of them indicate what changes were made. This has been getting worse for years.

My pet peeve is when I update which is a destructive action only to discover a feature I used is missing or there are new ads or features that I don’t want. Time to turn off auto updates. If you don’t publish what changed, I’m not going to update.

Update (2023-07-26): Jesse Squires:

why put official release notes in the App Store when a random employee can share them on social media

Update (2024-02-07): Paul Haddad:

I had 30+ app store updates pending. A whopping 2 of them had release notes that weren't some form of “bug fixes and performance improvements”.

Classical Music on Apple Music

Mitchel Broussard:

Last August, Apple Music was updated with a new section in Browse curated by Deutsche Grammophon, one of the biggest classical music labels in the world. While classical music fans welcomed the specific focus of the area, many of our readers quickly pointed out the numerous issues that remain for classical listeners on a daily basis within Apple Music, and the fact that they've been there since the launch of the service with seemingly no correction in sight.


Monday, March 11, 2019

The State of Mac Hardware in Early 2019

Wojtek Pietrusiewicz:

Macs, like many other computers, have always had their share of problems. These past few years feel particularly bad though, so here’s my quick take on the current state of the Mac lineup.

Maybe things will turn around later this year, with the Mac Pro and rumored new pro notebooks, but right now we’re in quite a dark period for the Mac—both hardware and software.

Lewis Hilsenteger (via Damien Petrilli):

After many years using MacBook variants I’ve made the switch to Windows. I’ve used every version of MacBook Pro and MacBook Air that have been released. My current laptop of choice is the Lenovo Thinkpad X1 Carbon / Lenovo Thinkpad X1 Extreme. Turns out switching from Mac to Windows isn’t as painful as I expected.

See also: Accidental Tech Podcast.


Update (2019-03-12): Colin Cornaby:

I’ve seen from time to time people suggest, that even with a Mac’s decline in quality, it’s not like people are going to switch to Windows. Yet I know people who’ve happily switched over. I worry that if Marzipan leads to another decline in quality there will be more switchers.

The Mac’s main competitor is still Windows. That’s what’s so frustrating about the pro app conversation around Marzipan. Unless the big packages port over from Windows, nothing is going to change. And those guys aren’t upset about AppKit, they’re upset over Metal and Nvidia.

Most pro app vendors already have their own UI libraries (which is already frustrating if you care about the Mac experience.) AppKit vs UIKit isn’t really going to move the needle much for these app vendors in porting over from Windows.


The next MBP refresh feels personally pivotal to me, be it this year or later; even aside from the state of macOS. I’m not buying another first-generation design after the experience with 2016 model. And I won’t be able to convince myself to buy another MBP with a TouchBar.

Nick Fugitt:

I’ve said this repeatedly but Apple has spent 2015-2019 (half the decade) executing and then recovering from horrible decision-making around 2012-14. It’s truly a dark age for the Mac and there’s no guarantee we’re about to be done

John Gordon:

The iMac dust problem hit me. Rare that gets a mention.

The Sad State of Logging Bugs for Apple

Corbin Dunn (tweet, Hacker News):

This is where things get screwy depending on the component your bug lands in, since bug management is group dependent. Many groups will have only one or two QA people to do the initial screening of those large drop areas for bugs. QA engineers are sometimes instructed to screen bugs with a priority and “fix period” before passing them off to the engineer responsible for the code. This is terrible because many engineers will not look at bugs with a low priority. It is much better for the engineer who “owns the code” to look at a bug and determine the priority. The QA engineers will frequently get a huge back log of bugs to screen, and it can take weeks, or even months, for some bugs to get screened. Sometimes this leads to a mass screening of bugs, marking them all with a low priority. Bug originators have to notice this, and complain about it for the priority to get increased. Worse yet, some groups mass close bugs older than a year or so, and ask the originator to re-open the bug if the issue still exists. A lot of people don’t pay attention to bugs that need verification, and they simply become lost.


Engineers also dislike screening bugs because sometimes they have to add them to their queue for the current release. This increases their required workload for that release, which is something people don’t like doing. So, instead, many bugs stay unscreened.


Sometimes QA screen bugs with a low priority and holds onto them. They never get moved to the appropriate code engineers, and effectively become lost in the system. Sadly, I had seen this happen way too often.


When a bug is sent back as fixed, the internal developer who originated the bug is supposed to verify the problem is resolved. They can send it back if the problem isn’t resolved. However, internal developers don’t really have an incentive to verify bugs. Management doesn’t keep track of bugs that need verification or really require developers to verify them. Most engineers do verify bugs; they like to make sure problems are resolved. But external developers are left in a more sad state. The bug becomes closed for them, and is dead.


Internal engineers need to take more responsibility in promptly screening bugs. Management needs to allow engineers to have more time to do this, which is at the expense of working on features or fixing already screened bugs. Engineers should always be expected to have a very low unscreened bug count.

This matches what we felt like must be going on when filing bugs, as well as the way the smaller bugs seem to hang around forever, with new ones added each year. Even Mojave, which was supposed to be a refinement release, seems to have, on balance, increased the number of bugs. As a user, it sucks that things don’t work as well as they used to. As a developer, I spend too much time working around OS bugs and breakage—in other words, preventing my apps from getting worse rather than actually making them better. I assume other developers are in the same boat, and this may be one reason there seems to be less excitement around apps these days. Everyone is wasting a lot of energy treading water.

It’s as if the OS is rotting away before our eyes. The good news is that this should be fixable. Apple has tons of smart engineers who care. But the process does not seem to be set up to produce quality. Management talks a good game but clearly has other priorities. There are undoubtedly many policies that could be changed to improve the organizational incentives, and a core problem seems to be that Apple remains understaffed for its ambitions. The headcount can’t and shouldn’t be massively increased in a short period of time, but there is something Apple could do today to help stem the tide: go off the annual schedule.

Peter Ammon:

The single easiest and most effective thing Apple could do to improve its SWE org is to invest in Radar.

Radar’s importance within Apple cannot be overstated. It subsumes what would be multiple tools in other orgs. As an Apple SWE you spend a massive amount of time in it. And yet Apple treats Radar as a cost center, developed by an outsourced offshore team. It’s slow to search, supports only plain text, is hard to script, and is missing obvious features, e.g. automatic duplicate finding.

Hire five good SWEs, give them a mandate to serve the needs of the org, and you will massively increase the effectiveness of every other engineer.


Anecdotally, I didn’t find the situation internally to be much better. Many bugs internally go unanswered because there is not enough time allocated to fixing core systems and designing better replacements. The truth is, I know personally of several teams that aren’t able to get through the queue of internally filed and scheduled bugs.

To me, it feels like Apple hasn’t resourced core pieces of infrastructure and engineering teams in line with upper management’s plans for growth. While many teams are relatively sequestered, once you start talking to folks elsewhere in the company it becomes clear that many teams are struggling to stay above water. More still, everyone shrugs about it because it’s not clear exactly what is wrong. The best description I’ve heard is in many cases engineers are willing to offer hacks as a solution to meet management’s demands, and management is either willing to accept those hacks or doesn’t know better.


We originally designed Radar so that bugs would be verified as closed by the person with most interest in seeing this happen: the tester assigned to that part of that project. Then management swooped in with an edict that bugs must be verified as closed by whomever originally reported them. This is a stupid idea, because it creates the perverse incentive that no one should report a problem if they are outside the team (because then you are committing to verify the fix, which just means more work for you that has nothing to do with any of your main responsibilities).

When I pointed out that the system would now discourage people on different teams from helping each other, the sponsoring director said “that’s what pink slips are for.” Direct quote. Soon after that I resigned from the design team.

Without reasonably skilled and principled leadership, you just don’t get quality software. And “quality is everyone’s job” is just an empty and childish slogan. Excellence is not transmitted through slogans and wishful thinking. You have to assign responsibility, provide resources and time (which means lowering velocity of new development), and follow-up.

The fundamental reason why it doesn’t happen is the technology market is not efficient. Quality is, in fact, not as important as career testers wish it were. You can get away with doing terrible work and not lose your job. The fact that Apple pays no significant penalties for having buggy products insulates it from our slings and arrows.

Corbin Dunn:

Some obvious issue, like “this button should do X but it does Y” can be verified by almost anyone. But some issues need the attention of the original author to really verify the bug. Maybe what needs to be done is someone in QA needs to attempt to verify the bug, or “pre-verify”, and then it goes back to the originator for final verification, who can also verify it, or simply close it if they feel like QA did a good job.


What’s even sadder is we used to be better at this when I started at Apple in 2008. Bugs often got screened and triaged and sometimes fixed within a week. I blame the yearly release schedule, where shipping features became a higher priority than overall quality

Corbin Dunn:

I feel the same way; people took more time on bugs back in those days. I also think the yearly schedule is to blame.


When a process is annoying and you do nothing, people eventually do give up and leave. When it reaches that point, they’re not coming back even if you finally wake up and fix what bugged them.

Apple software quality is in serious danger precisely because of this type of community and infrastructure rot. They are not encouraging developers to help them, and a not-surprising number of serious issues have shown up in released products in recent years.


By now, a significant fraction of bugs are bugs in Apple’s frameworks. We try to report them to Apple, but they are ignored, or simply closed because they are related to deprecated APIs.

Of course, customers don’t complain that Apple frameworks are buggy -- they complain that our app crashes! So Apple has no incentive to fix it.

Peter Kamb:

The entire value of WWDC is going to the Labs, giving an Apple engineer your Radar number, and having them read you or paraphrase the internal-only notes attached to the ticket. Half the time the question/bug will be clearly resolved internally or a workaround posted. But no updates are added to the public ticket, and it will remain open and unchanged for years.

Gus Mueller:

Corbin is a former AppKit engineer, and this is a must read for developers. It’ll make you angry, and it’s stuff you already figured was happening.

Tanner Bennett:

This confirms what we already knew. Almost no one at Apple takes bug reporting seriously. Reports will stack up indefinitely and eventually macOS will be a shell of its former self.

Corbin Dunn:

It is not just macOS, but iOS too.

Paul Haddad:

Interesting read. My view on bugs, work around them and move on. Even if it gets assigned it’s not getting fixed for at least a year.

Jeff Johnson:

IMO Radar screening issues are merely a symptom. The root problem is that Apple produces a completely unmanageable volume of bugs. Even if they screened all Radars quickly, then what? Bugs still get written much much faster than they get fixed. That’s unsustainable.

I suspect that Radar screening is allowed to be lax precisely because everybody knows that a huge volume of bugs will never get fixed anyway. It’s like bailing out the Titanic.

There’s also a tolerance for shipping bad bugs. If heads rolled at the company for shipping bad bugs, then Radars would get screened.

Adam Savage:

Just getting my music downloaded to my phone is a recurring nightmare I relive every time I upgrade. Having my music ON my device should be a simple choice, & you’ve made it Byzantine. How is it that I have to visit a support forum to learn how to download SONGS to my PHONE?!

The language of permissions is still fascinatingly and infuriatingly opaque, to the degree that when using iTunes, I’m regularly convinced it has an agenda antithetical to mine. Searching Suport forums is also nightmarish as helpful buttons from one version disappear in others.


Update (2019-03-20): Michael Nachbaur:

It’s easy to blame Apple for poor bug handling practices, but I feel it’s a two-way street. It’s just as much our responsibility as theirs to ensure important bugs get fixed; we should do everything in our power to make their jobs easier in solving bugs. And if we can’t, then at the very least we can treat Apple’s engineers with respect.

Update (2019-09-09): Tom Harrington:

Apple FB 7074633 relates to how Apple sign in sends data to third party web sites.

They asked for a sysdiagnose.

Our server doesn’t run macOS. Or iOS. And the problem is with Apple’s server anyway.

This is why people give up on filing feedback reports.

Safety Experts Weigh in on the Boeing 737 MAX

Max Prosperi (via Yan Zhu):

The preliminary investigation following Lion Air Flight 610 revealed that prior to the crash, a system called Maneuvering Characteristics Augmentation System or MCAS had engaged, without the pilots’ knowledge. The MCAS lowers the nose automatically to prevent a stall, or the loss of lift, if it detects that the angle of the plane’s nose is too high relative to the ground. A malfunctioning sensor may have led the MCAS to engage repeatedly, countering the pilots’ maneuvers.


Diehl recalled that leading up to the implementation of the MCAS, an FAA official came to him and asked whether or not he thought the automation of aircraft was safe. Diehl’s advice: “Automation, if done right, is great, but it can also bite you.”

After the Lion Air crash, Boeing denied that it had not properly communicated to pilots the addition of the MCAS to the MAX-series 737s, a major difference with previous models of the airplane. (That position contradicts what some airlines have said.)

David Fickling:

A software update intended to fix the problem identified in the Lion Air crash still hasn’t been rolled out. The fact that the crew on Flight 610 are likely to have been aware of the known issues with the aircraft, too, raises the more worrying possibility that there’s an unknown complication.


Two hull loss incidents in under a year on a brand-new aircraft type with only 350 in service.

Compare that to the 787 which, despite serious development problems, has about 800 aircraft in service for many more years, and still zero hull loss incidents.

Or compare the MAX 8 with it’s predecessor, the 737-800, which has had 16 hull loss incidents in a fleet of 5000 aircraft across more than two decades of service.

The 737-MAX seems less safe to operate, whether the reason is an aircraft defect or difficulty of operation, or lack of adequate training.


Statistics do funny things with such low sample sizes.

Take the 777, for example. It went nearly 20 years, much of that time as the most popular widebody flying, before its first accident resulting in a passenger death. Then it had 3 in a year. It hasn’t had another in the 5 years since that time. Was the 777 any less safe in 2013-2014 than in its other 25 years of service history? Obviously not. Similarly, the A320 family had a streak of fatal crashes in the last few years, yet there’s no reason to believe the A320 isn’t safe, let alone that it’s any less safe than it has been for the rest of its service history.

Update (2019-03-12): See also: Jon Ostrower (via Hacker News) and New York Times (via Hacker News).


I think required reading should be Normal Accidents: Living with High-Risk Technologies by Charles Perrow.

Mac McClellan (via Martin Steiger):

Though the pitch system in the MAX is somewhat new, the pilot actions after a failure are exactly the same as would be for a runaway trim in any 737 built since the 1960s. As pilots we really don’t need to know why the trim is running away, but we must know, and practice, how to disable it.

The problem for Boeing, and maybe eventually all airplane designers, is that FBW avoids these issues. FBW removes the pilot as a critical part of the system and relies on multiple computers to handle failures.

Boeing is now faced with the difficult task of explaining to the media why pilots must know how to intervene after a system failure. And also to explain that airplanes have been built and certified this way for many decades. Pilots have been the last line of defense when things go wrong.

What makes that such a tall order is that FBW airplanes – which include all the recent Airbus fleet, and the 777 and 787 from Boeing – don’t rely on the pilots to handle flight control system failures. FBW uses at least a triple redundant computer control system to interpret the inputs of the cockpit controls by pilots into movement of the airplane flight controls, including the trim. If part of the FBW system fails, the computer identifies the faulty elements and flies on without the human pilots needing to know how to disable the failed system.

Update (2019-03-13): Dallas Morning News (Hacker News):

Pilots repeatedly voiced safety concerns about the Boeing 737 Max 8 to federal authorities, with one captain calling the flight manual “inadequate and almost criminally insufficient” several months before Sunday’s Ethiopian Air crash that killed 157 people, an investigation by The Dallas Morning News found.

Update (2019-03-15): Jon Ostrower (via John Gruber):

Every airplane development is a series of compromises, but to deliver the 737 Max with its promised fuel efficiency, Boeing had to fit 12 gallons into a 10 gallon jug. Its bigger engines made for creative solutions as it found a way to mount the larger CFM International turbines under the notoriously low-slung jetliner.

See also: Hacker News (3)


Assuming the author is correct, and the reaction to the MCAS issues is a simple reaction that every pilot should know by memory: Is it really acceptable that once every 3 months a 737-Max will attempt a nose dive and require a vigilant pilot who can identify and correct the issue before the plane crashes into the ground?

And this likely happened at least twice, while there were 300 MAXs in service. If there were 3,000 MAXs in service, MCAS misfires would presumably be happening 3x a month worldwide - each misfire requiring a proper pilot reaction. How can you defend Boeing in that case?


Here’s what I don’t get about this whole situation:

AIUI 737 MAX has an instability such that, in near stall conditions, some attempts to recover can make the stall worse. To mitigate this, Boeing added MCAS, and MCAS can malfunction with a single sensor failure. Imagine that this failure occurs and the pilot successfully turns off MCAS but ends up in a dive, too close to the ground, or otherwise in a bad situation. Now the pilot has to recover, but they are facing a faulty AoA indicator (if they have one at all) as well as a plane that, because MCAS is off, is unstable in near-stall conditions. And the pilot has never been trained in the handling of type 737 MAX under these conditions.

Am I wrong for some reason, or is this a potentially rather dangerous situation that could be caused by a single instrument failure?

Update (2019-03-21): Dominic Gates (via Nick Visser):

Current and former engineers directly involved with the evaluations or familiar with the document shared details of Boeing’s “System Safety Analysis” of MCAS, which The Seattle Times confirmed.

The safety analysis:

Understated the power of the new flight control system, which was designed to swivel the horizontal tail to push the nose of the plane down to avert a stall. When the planes later entered service, MCAS was capable of moving the tail more than four times farther than was stated in the initial safety analysis document.

Failed to account for how the system could reset itself each time a pilot responded, thereby missing the potential impact of the system repeatedly pushing the airplane’s nose downward.

Assessed a failure of the system as one level below “catastrophic.” But even that “hazardous” danger level should have precluded activation of the system based on input from a single sensor — and yet that’s how it was designed.

Trevor Sumner (Hacker News):

BEST analysis of what really is happening on the #Boeing737Max issue from my brother in law @davekammeyer, who’s a pilot, software engineer & deep thinker. Bottom line don’t blame software that’s the band aid for many other engineering and economic forces in effect.👇🎖🤔

See also: The Talk Show.

John Cassidy:

Early on, employees of the F.A.A. and Boeing decided how to divide up the certification work. But, partway through the process, a former F.A.A. safety engineer told the Seattle Times, “we were asked by management to re-evaluate what would be delegated. Management thought we had retained too much at the FAA.” The engineer said that “there was constant pressure to re-evaluate our initial decisions,” and “even after we had reassessed it … there was continued discussion by management about delegating even more items down to the Boeing Company.”

Even the work that was retained, such as reviewing technical documents provided by Boeing, was sometimes curtailed. “There wasn’t a complete and proper review of the documents,” the former engineer added. “Review was rushed to reach certain certification dates.”

Alan Levin and Harry Suhartono:

That extra pilot, who was seated in the cockpit jumpseat, correctly diagnosed the problem and told the crew how to disable a malfunctioning flight-control system and save the plane, according to two people familiar with Indonesia’s investigation.

The next day, under command of a different crew facing what investigators said was an identical malfunction, the jetliner crashed into the Java Sea killing all 189 aboard.


Airline mechanics tried four times to fix related issues on the plane starting Oct. 26, according to the Indonesia preliminary report. After pilots reported issues with incorrect display of speeds and altitude in the two prior flights, workers in Denspasar, Bali, replaced a key sensor that is used by the Boeing plane to drive down its nose if it senses an emergency.

Flight data shows the sensor, called the “angle of attack” vane, which measures whether air is flowing parallel to the length of the fuselage or at an angle, was providing inaccurate readings after that.

Steven Ashley:

At Boeing, safety really is an option: Optional cockpit ‘disagree lights’ wld have alerted pilots that the anti-stall, angle-of-attack (AOA) sensors were not in agreement. But after 2 crashes, they’re suddenly standard equipment...

Update (2019-04-05): Boeing CEO Dennis Muilenburg (via Hacker News):

The full details of what happened in the two accidents will be issued by the government authorities in the final reports, but, with the release of the preliminary report of the Ethiopian Airlines Flight 302 accident investigation, it's apparent that in both flights the Maneuvering Characteristics Augmentation System, known as MCAS, activated in response to erroneous angle of attack information.

Update (2019-04-09): Chris Woodyard:

Boeing “violated a basic principle of aircraft design by allowing a single point failure to trigger a sequence of events that could result in a loss of control,” said Brian Alexander, an attorney for a law firm specializing in aviation accidents, Kreindler & Kreindler in New York, that is contemplating lawsuits on behalf of victims’ families in the Ethiopian Airlines crash.

Update (2019-04-18): Philip Greenspun (via Hacker News):

Had the systems engineers and programmers checked Wikipedia, for example, (or maybe even their own web site) they would have learned that “The critical or stalling angle of attack is typically around 15° – 20° for many airfoils.” Beyond 25 degrees, therefore, it is either sensor error or the plane is stalling/spinning and something more than a slow trim is going to be required.


We fret about average humans being replaced by robots, but consider the Phoenix resident who sees that the outdoor thermometer is reading 452 degrees F on a June afternoon. Will the human say “Arizona does get hot in the summer so I’m not going to take my book outside for fear that it will burst into flames”? Or “I think I need to buy a new outdoor thermometer”?

Update (2019-05-01): Gregory Travis (via Hacker News):

I have been a pilot for 30 years, a software developer for more than 40. I have written extensively about both aviation and software engineering. Now it’s time for me to write about both together.

Update (2021-01-07):

Leslie Josephs:

The first U.S. commercial flight of Boeing’s 737 Max since two deadly crashes prompted a worldwide grounding of the planes in March 2019 took off on Tuesday.


The Fort Worth, Texas-based carrier is operating a once-daily roundtrip flight between the two airports and then plans to increase service to other cities in the coming weeks, with up to 91 Max flights a day between mid-February and early March.

United Airlines plans to start Max flights on Feb. 11 from its Denver and Houston hubs. Southwest Airlines said it expects Max flights to resume in March.

Update (2021-01-12): Department of Justice (via Hacker News):

The criminal information charges the company with one count of conspiracy to defraud the United States. Under the terms of the DPA, Boeing will pay a total criminal monetary amount of over $2.5 billion, composed of a criminal monetary penalty of $243.6 million, compensation payments to Boeing’s 737 MAX airline customers of $1.77 billion, and the establishment of a $500 million crash-victim beneficiaries fund to compensate the heirs, relatives, and legal beneficiaries of the 346 passengers who died in the Boeing 737 MAX crashes of Lion Air Flight 610 and Ethiopian Airlines Flight 302.

Update (2021-01-27): Theo Leggett (Hacker News):

But in a new report, Ed Pierson claims that further investigation of electrical issues and production quality problems at the 737 factory is badly needed.

Regulators in the US and Europe insist their reviews have been thorough, and that the 737 Max aircraft is now safe.

In his report, Mr Pierson claims that regulators and investigators have largely ignored factors, which he believes, may have played a direct role in the accidents.

Update (2021-03-14): Dominic Gates (via Hacker News):

In a detailed letter sent last month to a family that lost their daughter in the second MAX crash in Ethiopia two years ago this week, and in interviews with The Seattle Times, Jacobsen gave the first personal account by an insider of the federal safety agency’s response to the MAX crashes.


He believes additional system upgrades are needed beyond Boeing’s fix for the MAX that was blessed by the FAA and other regulators.

Jon Ostrower (via Hacker News):

In an exclusive interview with The Air Current Tuesday morning, the longtime President of Emirates airline offered a surgical dissection of the U.S. plane maker and its acute struggles with the 737 Max, 777X and 787, which he believes are existential, systemic and solvable.


“I’m sick and tired of receiving aircraft that didn’t work, and we kept on having to ground them. I’d be pointed to the contract and say ‘you have an obligation to take these airplanes, even though they don’t work.’ Well, those days are over. And that goes for propulsion as well. We will not take aircraft that do not fly at 99.9% dispatch reliability.

Update (2021-10-15): Department of Justice (via Hacker News):

According to court documents, Mark A. Forkner, 49, formerly of Washington State and currently of Keller, Texas, allegedly deceived the FAA AEG during the agency’s evaluation and certification of Boeing’s 737 MAX airplane. As alleged in the indictment, Forkner provided the agency with materially false, inaccurate, and incomplete information about a new part of the flight controls for the Boeing 737 MAX called the Maneuvering Characteristics Augmentation System (MCAS).

Update (2021-11-12): Gwyn Topham (via Hacker News):

Boeing has admitted full responsibility for the second crash of its 737 Max model in Ethiopia, in a legal agreement with families of the 157 victims.

Update (2024-02-01): NL Times (via Hacker News):

While investigating the Turkish Airlines plane crash near Schiphol in 2009, the Dutch Safety Board was pressured by Americans to downplay the role design errors in the Boeing 737 NG played in the crash, the New York Times reports based on its own research. According to the newspaper, there are many parallels between the 2009 crash and the recent crashes with Boeing 737 MAX planes, the successor of the Boeing 737 NG.

Chris Isidore (via Hacker News):

Boeing will not furlough or lay off workers because of the shutdown, but pain will ripple through its supply chain and could hurt America’s economic growth. The shutdown will make restarting production and recovering from the crisis more difficult for Boeing once it finally gets permission for the plane to fly again.

Cheddar (via Hacker News):

Boeing shares have been halted for pending news.

Oxide and Friends:

In addition to Bryan Cantrill and Adam Leventhal, our special guest was Peter Robison.

See also: Flying Blind: The 737 MAX Tragedy and the Fall of Boeing.

Skype for Web Drops Support for Safari

Chance Miller:

In a statement to VentureBeat, Microsoft explained that Skype for Web uses a “calling and real-time media” framework that functions differently across the various browsers. Thus, it decided to prioritize Skype for Web support in Microsoft Edge and Google Chrome[…]


Update (2019-03-11): My hospital’s Web site just stopped working in Safari. The login page just endlessly reloads itself. It works in Chrome and Firefox.

Update (2019-04-09): Jeff Johnson, quoting the IRS Web site:

We cannot recommend Safari, due to current compatibility and display issues.

Update (2019-04-16): Gus Mueller:

More and more sites aren’t working in Safari, or they are just stupid slow or rendered bad and I’m having to use Chrome more and it’s making me sad.

Johnathan Nightingale:

When I started at Mozilla in 2007 there was no Google Chrome and most folks we spoke with inside were Firefox fans. They were building an empire on the web, we were building the web itself.

When chrome launched things got complicated, but not in the way you might expect. They had a competing product now, but they didn’t cut ties, break our search deal - nothing like that. In fact, the story we kept hearing was, “We’re on the same side. We want the same things.”

I think our friends inside google genuinely believed that. At the individual level, their engineers cared about most of the same things we did. Their product and design folks made many decisions very similarly and we learned from watching each other.

But Google as a whole is very different than individual googlers. Google Chrome ads started appearing next to Firefox search terms. gmail & gdocs started to experience selective performance issues and bugs on Firefox. Demo sites would falsely block Firefox as “incompatible.”

All of this is stuff you’re allowed to do to compete, of course. But we were still a search partner, so we’d say “hey what gives?”

And every time, they’d say, “oops. That was accidental. We’ll fix it in the next push in 2 weeks.”

Over and over. Oops. Another accident. We’ll fix it soon. We want the same things. We’re on the same team.

There were dozens of oopses. Hundreds maybe?

I’m all for “don’t attribute to malice what can be explained by incompetence” but I don’t believe google is that incompetent.

I think they were running out the clock. We lost users during every oops. And we spent effort and frustration every clock tick on that instead of improving our product. We got outfoxed for a while and by the time we started calling it what it was, a lot of damage had been done.

Update (2019-05-30): I’m now having problems accessing the US Social Security site with Safari, and accessing the Internet Archive fails with a kCFErrorHTTPParseFailure error, despite working in other browsers.

Update (2019-05-31): Colin Cornaby:

I still use Safari as my only web browser. But it’s bumming me out that more and more I have to open Chrome for a one off use of a web page.

I don’t know if Chrome is breaking things or Safari is falling behind. But it feels like the early days of Safari again.

Update (2019-07-08): Tyler Hall:

Except that Shutterfly’s website uploader doesn’t work in Safari. Like everyone else doing “modern” web development these days, I’m sure they’re only testing in Chrome.

Update (2019-07-23): Amazon, when I clicked on a Prime Day deal using Safari:

Sorry, the browser you’re using is incompatible with this promotion. Please open this page using one of the compatible browsers like Google Chrome or Mozilla Firefox.

Update (2019-08-29): The Subaru configurator works in Chrome and Firefox, but not in Safari.

Update (2019-11-02): Safari repeatedly failed in updating my billing information on Microsoft’s site, whereas Firefox worked.

Update (2019-11-27): Paddle stores don’t work with Safari 12, which is the latest version that macOS 10.12 can use.

Update (2020-02-07): Charlotte Henry:

I’d regularly get warning messages at the top of the browser telling me that a webpage was using “significant memory” and affecting the performance of my Mac. Those webpages would invariably become so slow as to be useless. Not exactly helpful when trying to do research for articles I’m writing. This does not happen in Chrome, and those same pages work smoothly.

Furthermore, Google Hangouts, which I use on a daily basis, can often go wrong in Safari. It also does not have a plugin for sending webpages to my Kindle, which I like to do if I want to read an article at a later pint. Even mundane things like moving tabs seem to work better in Chrome.

Update (2020-02-24): After filling out all the information to book a hotel stay, Safari wouldn’t show the button to agree to the terms. I tried again with Intelligent Tracking Prevention off, and it still failed, but it worked in Chrome and Firefox.

Update (2020-04-17): Luc Vandal:

The fact that after over a year @zendesk still hasn’t fixed Safari support is inexcusable.

Flickr Protects Photos From Deletion

Flickr (via Hacker News):

When we recently announced updates to Flickr Free accounts, we stated that freely licensed public photos (Creative Commons, public domain, U.S. government works, etc.) as of November 1, 2018 in excess of the free account limit would not be deleted. We wanted to make sure we didn’t disrupt the hundreds of millions of stories across the global internet that link to freely licensed Flickr images. We know the cost of storing and serving these images is vastly outweighed by the value they represent to the world.

In this spirit, today we’re going further and now protecting all public, freely licensed images on Flickr, regardless of the date they were uploaded. We want to make sure we preserve these works and further the value of the licenses for our community and for anyone who might benefit from them.


In memoriam accounts will preserve all public content in a deceased member’s account, even if their Pro subscription lapses. The account’s username will be updated to reflect the “in memoriam” status and login for the account be locked, preventing anyone from signing in.


Friday, March 8, 2019

iClever Himbox HB01 Bluetooth Car Receiver

Now that I’m using an iPhone XR, I no longer have a headphone jack. I’ve had bad luck with combination charge/audio dongles, and the Qi charger car mounts I’ve seen have been unwieldy. So extended car use will require the Lightning port for charging, meaning that audio must be played wirelessly. Fortunately, I’ve found a much better Bluetooth-to-headphone jack adapter than the Anker SoundSync Drive I had been using. It’s called the iClever Himbox HB01.

The Himbox works in the same way as the SoundSync, just more smoothly. Most importantly, it auto-connects to my phone so that when I press the Play button it’s already ready to go. There’s no variable delay, no need to retry, no question about whether it will actually connect. It’s just transparently ready every time.

This can actually be unexpected or unwanted. For example, if I’m playing audio with my AirPods and get into the car, when I turn on the ignition (which powers on the Himbox) it will steal the Bluetooth connection from my phone. Even with no audio playing, it will proactively switch the phone’s audio output.

I can prevent the Himbox from stealing the connection by unplugging it, but it would be better if it simply had an off switch. The USB connector is tight enough that pulling it one-handed will unplug the entire four-way cigarette lighter adapter, which other devices are using for charging.

There are buttons to Play/Pause and to skip Back and Forward. You can long press the latter two to adjust the volume. It has its own microphone for calls, which is great because this lets me answer calls when the phone is in my pocket. You can also long-press the Play button to initiate Siri. I like this because I’ve not found Hey Siri to be reliable when driving. Unfortuantely, unlike AirPods, the Himbox does not seem to use its own microphone for Siri. At least, it never seems to understand me when the phone is in my pocket.

There’s a bright light that’s always on when paired. This is helpful for finding the button, and it flashes when a call comes in, but it’s just too bright at night, even when I’m not looking directly at it, when my eyes are adjusted to the dark.

I also ran into a problem mounting the Himbox. You’re supposed to stick a metal mounting plate onto the car. The Himbox then attaches to the plate magnetically, so it can easily be removed. However, the adhesive never felt very secure and came unstuck within just a few hours (fortunately leaving no residue). I ended up putting gaffer tape completely over the mounting plate. The magnet is plenty strong enough to work through the tape.

This reads like a list of complaints, but I’m actually very happy with the Himbox. The common case is when I do want it to auto-connect. That works very well. I don’t want to go back to the SoundSync or to manually plugging and unplugging a mini-phone connector.

For some reason, the Himbox is currently unavailable at Amazon, but you can get one at Walmart.

Open Sourcing Windows Calculator


Today, we’re excited to announce that we are open sourcing Windows Calculator on GitHub under the MIT License. This includes the source code, build system, unit tests, and product roadmap. Our goal is to build an even better user experience in partnership with the community. We are encouraging your fresh perspectives and increased participation to help define the future of Calculator.


Reviewing the Calculator code is a great way to learn about the latest Microsoft technologies like the Universal Windows Platform, XAML, and Azure Pipelines. Through this project, developers can learn from Microsoft’s full development lifecycle, as well as reuse the code to build their own experiences. It’s also a great example of Fluent app design. To make this even easier, we will be contributing custom controls and API extensions that we use in Calculator and other apps, to projects like the Windows Community Toolkit and the Windows UI Library.

Via Miguel de Icaza:

A jewel hidden inside this release is an MIT licensed infinite precision math library in C++[…]

Previously: iOS Calculator Bug.

Update (2019-03-12): Anis Muslić:

-Be Microsoft
-Release source code of calculator on GitHub
-Paste password into calculator
-Use it as part of telemetry to collect data.

Thursday, March 7, 2019

A Privacy-Focused Vision for Social Networking

Mark Zuckerberg:

Public social networks will continue to be very important in people’s lives -- for connecting with everyone you know, discovering new people, ideas and content, and giving people a voice more broadly. People find these valuable every day, and there are still a lot of useful services to build on top of them. But now, with all the ways people also want to interact privately, there’s also an opportunity to build a simpler platform that’s focused on privacy first.

I understand that many people don’t think Facebook can or would even want to build this kind of privacy-focused platform -- because frankly we don’t currently have a strong reputation for building privacy protective services, and we’ve historically focused on tools for more open sharing. But we’ve repeatedly shown that we can evolve to build the services that people really want, including in private messaging and stories.

I believe the future of communication will increasingly shift to private, encrypted services where people can be confident what they say to each other stays secure and their messages and content won’t stick around forever. This is the future I hope we will help bring about.

Alex Stamos:

This isn’t a post I expected to read, and I wish he wrote it two years ago. Hopefully the external vision is reflected in internal moves to change product culture that informs thousands of product and engineering decisions per year. Turning a ship that large is difficult.


Right now FB gets crap (from the same people) for both invading people’s privacy and not policing communications enough. This is the judo move: in a world where everything is encrypted and doesn’t last long, entire classes of scandal are invisible to the media.

He explicitly recognizes the downside for safety, and rightly points out the potential mitigations, but he is coming down pretty hard on putting data outside of Facebook’s reach for advertising, content moderation, investigation and government requests.


The “Secure Data Storage” section is a massive shot across Tim Cook’s bow. Expect to hear a lot about iCLoud and China every time Cook is sanctimonious.

In other news, Zuck has clearly given up on entering China, as these changes makes that impossible. Good.

Ben Thompson:

In fact, what Zuckerberg announced is quite believable, precisely because it makes perfect sense for Facebook: this is a privacy cake that Facebook can have — and eat it too.


By the same token, though, just because Facebook capped Snapchat’s growth doesn’t mean that Snapchat’s core insight about the desire for private, ephemeral communication was wrong: what Zuckerberg wrote yesterday is basically Snapchat’s reason-for-existing. In other words, while Instagram Stories built a wall around Snapchat by copying Snapchat’s secondary feature, this “Privacy-Focused Vision for Social Networking” is a clear attempt to build the core of Snapchat for everyone else.


Perhaps most compelling, though, is the degree to which this move locks in Facebook’s competitive position. As I noted above, Snapchat already showed that Facebook is vulnerable in the realm of private ephemeral communications, but soon that will no longer be the case. Moreover, given Facebook’s focus on end-to-end encryption, the company has made it that much harder to even get off the ground: not even Snapchat is fully end-to-end encrypted (pictures are, but not text messages).


Why can Facebook deliver most of the value? Because they are still Facebook! They still have the core Facebook app, Instagram, ‘Like’-buttons scattered across the web — none of that is going away with this announcement. They can very much afford a privacy-centric messaging offering in a way that any would-be challenger could not. Privacy, it turns out, is a competitive advantage for Facebook, not the cudgel the company’s critics hoped it might be.

Nick Heer:

If Facebook truly is going to build private, encrypted services for its users, it’s not because the company’s culture has radically pivoted to embrace the value of privacy. This is more likely a tactic, rather than a goal for its own sake.

Previously: Facebook and Phone Numbers.

Update (2019-03-08): Zeynep Tufekci:

So, wow, Mark Zuckerberg published a plan to entrench Facebook, fend off regulatory action, lower costs, shrink scandal exposure, acknowledge realities— and he called it a “privacy-focused vision” while ignoring all the big privacy issues! 🙄

I mean, Facebook doesn’t need to read your messages—that’s not how its surveillance machine runs. Zuckerberg states as much same day in interview in @Wired. Done right, shift to end-to-end could be great. But it could just mean hiring fewer content moderators and hiding scandals.

China’s not happening. No kidding. People like Snapchat’s features and Facebook will keep copying them. They will scramble WhatsApp and Instagram hard into Facebook so regulators can’t break them off. These are not privacy shifts—they’re shrewd competitive moves for entrenchment.

See also: Exponent, Hacker News.

TensorFlow Differential Privacy

James Vincent (via Dan Masters):

Google has announced a new module for its machine learning framework, TensorFlow, that lets developers improve the privacy of their AI models with just a few lines of extra code.

TensorFlow is one of the most popular tools for building machine learning applications, and it’s used by developers around the world to create programs like text, audio, and image recognition algorithms. With the introduction of TensorFlow Privacy, these developers will be able to safeguard users’ data with a statistical technique known as “differential privacy.”


There are some downsides to using differential privacy, though. “By masking outliers, it can sometimes remove relevant or interesting data, especially in varied datasets, like those involving language,” says Erlingsson. “Differential privacy literally means that it’s impossible for the system to learn about anything that happens just once in the dataset, and so you have this tension. Do you have to go get more data of a certain type? How relevant or useful are those unique properties in the dataset?”

Ariel Herbert-Voss:

Just found this incredible paper by @korolova and team: they straight-up reverse engineered Apple’s differential privacy system. They share implementation details and findings about privacy loss in a real-world system, which is key for broader DP adoption.


CloudBerry Backup for macOS

Dave Kitabjian:

I have seen other reviews of CloudBerry that happily check many boxes on the feature list and grant it a favorable rating. I wonder how many of those reviewers actually performed a non-trivial backup using the product and took the time to evaluate whether it was in fact working properly.

I really wanted to be the one to tell the TidBITS community that there was another great backup app to consider. But I wanted to do that because I want to help you protect your data, and right now, the best way I can do that is to recommend that you do not use CloudBerry Backup for macOS.


How Time Machine Makes Backups With APFS

Howard Oakley:

The preparatory sequence identifies and deletes expired local snapshots. According to Apple’s Support Note, these local snapshots are kept for 24 hours; although the log entries below indicate a shorter period, later backups confirm that this is normally the case, and you should expect to find a full 24 hours of snapshots at any time.

backupd then copies changed items to the backup destination. In order to maintain the impression that each backup is a complete copy of the source volume, it then makes hard links to all the unchanged files and folders. It is able to do this as, unlike many file systems, HFS+ supports directory hard links as well as those to files.


backupd then checks that there is sufficient free space on the backup destination, and if there is, performs that same process as with HFS+, copying changed items and making hard links to the rest. That is followed by new steps, which save a clone family cache to the new backup folder, and back-up-later caches there too. The precise purpose of these isn’t yet clear, although the latter may well list files which changed as the backup was being made.


I have been writing that Time Machine has fallen behind macOS, at least in respect of its reliance on the HFS+ file system for backups, which results from its use of directory hard links. This implementation of Time Machine for APFS is perhaps best viewed as version 1.5: it now takes best advantage of the new file system as its source, but has yet to find a new backup method and format appropriate to an APFS backup destination.

Howard Oakley:

That old [HFS+] system periodically failed, perhaps when FSEvents lost track of recent changes, or became corrupted. In those circumstances, Time Machine would perform a lengthy ‘deep traversal scan’ to determine what needed to be backed up, which could in some cases take several hours. One strong case for adopting a new approach with APFS was to reduce the frequency of those deep traversals by using a more robust mechanism for determining what to back up. There’s no evidence that the new snapshot-based system is any quicker – indeed, in many cases it may perform more slowly than using FSEvents.


However, deep traversal scans do still occur on APFS volumes. In one period of only 8 hours, my iMac Pro undertook and completed two such scans, as shown in the T2M2 report below.


Wednesday, March 6, 2019

Problems With os_log

BJ Homer:

Is there anyone outside Apple who finds the new logging system useful? Seems like it’s annoying and actively intrusive for external developers.

The os_log features are useful to Apple, but without anyway to gather logs for our own reporting, I don’t see how the features are useful to third party devs.

Some of the problems: difficulty getting logs from customers, so much spew that the log files are huge and hard to sift through, important log entries that are never persisted to disk, high CPU use when leaving Console open to catch the unpersisted entries, NSLog becoming unreliable and not showing anything in some cases, API that needs to be wrapped to be useful but which is designed not to be wrapped. Instead of unifying things, unified logging has resulted in everyone finding their own workarounds.

Peter Steinberger:

Ideally, we’d love to fully switch to Apple’s os_log API. However, it has one major downside: There’s still no way to access the rolling log to add to the reports that get sent back to us. Multiple radars have been submitted to Apple, requesting this feature be added (rdar://40853863, rdar://30444429), but in the meantime, developers are forced to implement their own solutions if they wish to include logging in a crash’s backtrace.


For our specific use case, we’ve decided to integrate Crashlytics’ CLSLogv function as a custom logger that we use with CocoaLumberjack, a framework that offers many other useful features, such as adding macOS logging capabilities.

Mike Piontek (tweet):

With NSLog I can have a switch in my iOS or macOS app that redirects stderr to a file. The user can turn that on, recreate the problem, and just tap a button to email the file. Super simple.

With os_log, this doesn’t work. Of course there’s sysdiagnose, but that requires a complicated button combination, scrolling through a list of hundreds of other log files, and then… basically the only option is to try to email me a 200MB file.


I was originally planning to create my own wrapper for os_log, even though it’s recommended against (see WWDC 2016). That way I could have it write to a file as needed, or just pass the data to os_log the rest of the time. But it seems there’s actually no good way to do that, due to the problems described here.

Rob Mayoff:

The problem is that os_log doesn’t take an Array<CVarArg> argument; os_log is itself variadic over CVarArg. So Swift casts args (an Array<CVarArg>) to CVarArg, and sticks that casted CVarArg into another Array<CVarArg>.


Sadly for you, Swift doesn’t yet have any syntax for argument splatting. It’s been discussed more than once in Swift-Evolution (in this thread, for example), but there’s not yet a solution on the horizon.


So you might go looking for an os_logv. Sadly, you won’t find one. There is no documented companion to os_log that takes pre-bundled arguments.


One last thing. Why doesn’t the compiler complain about converting Array<CVarArg> to CVarArg? And why does Kamran’s suggestion (of using %@) work?

It turns out these questions have the same answer: it’s because Array is “bridgeable” to an Objective-C object.


Update (2019-03-07): Kyle Howells:

It feels like an internal tool Apple built for themselves and then asked everyone else to use for our use cases, without realising it doesn’t actually work for those uses.

See also: Custom String Interpolation and Compile-time Interpretation applied to Logging (via Tony Arnold).

Update (2019-03-08): Per Olofsson:

Add to this that os_log can’t be called from scripting languages such as python

Finder Bug Replacing a Folder With Dot Files

Lloyd Chambers:

  1. Copy a folder with dot files to another destination (I used “.icj”).
  2. Change one of the dot files.
  3. Repeat the copy. When the Finder offers Cancel or Replace, choose Replace.

PROBLEM: the copied folder contains old data in the invisible “.icj” file.

I was easily able to reproduce this on macOS 10.14.3.

Previously: Finder Shows Incorrect Folder Sizes.

GameClub Plans to Resurrect Abandoned iOS Games

Mitchel Broussard:

As Hodapp explained on TouchArcade, Apple’s frequent updates to the iPhone have caused ongoing problems for iOS developers on older App Store games. The first of these major issues hit during the release of the iPhone 4 in 2010 and its introduction of an increased resolution, which meant all developers needed to update their games with higher resolution textures.

While some developers decided to do this, others couldn’t justify spending time and money to modernize their games. Of course, this issue grew exponentially worse with the introduction of iOS 11 in 2017, bringing with it the removal of all 32-bit apps from the iOS App Store. TouchArcade kept an ongoing list of every 32-bit app that was no longer supported with iOS 11, including the TouchArcade app itself.


Now, Hodapp is leaving TouchArcade to address this issue with GameClub, a developer with the intent to bring the best of these forgotten and unplayable iOS games back to life. To achieve this, GameClub will handle all of the updates, ongoing maintenance, and support for each game, in essence becoming the new developer of the game.


MacStories Shortcuts Archive

Federico Viticci (tweet):

Since the original release of Workflow in 2014, we’ve created hundreds of automations to help readers use their iOS devices more efficiently. The goal of this archive is to offer a complete catalogue of our old workflows as well as new custom shortcuts for Apple’s Shortcuts app.

Each shortcut in this archive has been created, updated, and tested by Federico and the MacStories team. Shortcuts are organized in categories, and you can jump directly to a specific category by using one of the section links below.

Dr. Drang:

This is not only a set of pre-built shortcuts, it’s also a source of inspiration for new shortcuts you can build based on these.

Tuesday, March 5, 2019

Patreon and Facebook

Brandon Gomez (via Hacker News):

The number of active patrons supporting artists on the platform in 2019 has seen significant growth, up 1 million over the last year, the company said. The company is also on track to pay out $500 million to content creators in 2019, pushing the company to surpass $1 billion in payouts since its inception in 2013.


Patreon CEO Jack Conte said in an interview with CNBC that the platform will soon be facing the challenge of maintaining a profitable model as the company continues its growth.

“The reality is Patreon needs to build new businesses and new services and new revenue lines in order to build a sustainable business,” Conte said.

Dan Olson:

This is the bizarro upsidedown that capital lives in. Their existing model, handle the logistics of subscription service for businesses too small to handle them directly, is the definition of sustainable. It scales up ridiculously well.


So Patreon has made around $55m in revenue since 2013. If their startup money had been a loan they’d have probably paid it back by now and would be operating a pretty sustainable service.


So Patreon has made around $55m in direct revenue, but they’re in hock to Thrive Capital for ~$107m, and Thrive doesn’t just want their money back with interest.

Dami Lee:

Facebook began expanding access to its Patreon competitor last night, giving more page owners the ability to start offering content to their subscribers for a monthly fee. But it doesn’t take much digging to see that the terms for Facebook’s feature, known as Fan Subscriptions, make for a bad deal for creators, giving Facebook a lifetime license to use their work and the right to take up to a whopping 30 percent of subscription fees.


For now, page owners get to keep the entire subscription fee. But Facebook plans to begin taking a cut once the feature formally launches, and its terms of service allow Facebook to take up to 30 percent, with 30 days notice of the change. That cut is standard for an app in Apple’s or Google’s app store, but it’s giant for a creator-focused platform: Patreon takes just a 5 percent share of a user’s pledges.

Update (2019-03-22): Patreon:

We’re announcing new creator plans, which will be available later this spring. Current creators on Patreon will see no change to the fees they pay or the features they have, unless they are interested in some of the new stuff we’re launching!

Amazon to Give Power to Brands to Remove Fakes

Alex Hern (via Hacker News):

Amazon will hand over unprecedented powers to brands to remove suspected counterfeits from its site, as part of a concerted push to eliminate fakes and frauds from the shopping experience.

Under the company’s new Project Zero programme, companies will now be able to remove counterfeit listings themselves, without having to wait for Amazon to take action.

For companies that face a serious counterfeiting problem, a further tool called “product serialisation” allows them even greater control. Manufacturers can now assign unique serial numbers to every product they sell and require Amazon to scan those serial numbers and check authenticity on every sale.


Powered by Amazon’s machine learning expertise, automated protections continuously scan our stores and proactively remove suspected counterfeits. Brands provide us with their logos, trademarks, and other key data about their brand, and we scan over 5 billion product listing updates every day, looking for suspected counterfeits. We’ve been testing these automated protections with a number of brands, and on average, our automated protections proactively stop 100 times more suspected counterfeit products as compared to what we reactively remove based on reports from brands.


Update (2019-06-25): David Dayen:

Counterfeits help Amazon. They serve a disciplinary function to force sellers to advertise (or to lower prices) to stay ahead of the fakes.

Thunderbolt 3 Becomes USB4

Peter Bright:

Fulfilling its 2017 promise to make Thunderbolt 3 royalty-free, Intel has given the specification for its high-speed interconnect to the USB Implementers Forum (USB-IF), the industry group that develops the USB specification. The USB-IF has taken the spec and will use it to form the basis of USB4, the next iteration of USB following USB 3.2.

Previously: Confusing USB 3.2 Branding.

Update (2019-03-06): Nick Heer:

Making Thunderbolt royalty-free and not dependent on an Intel controller chip would likely be of considerable interest to a company that may want to build the protocol into a non-Intel platform.

Visual Studio 2019 for Mac Preview 3

Microsoft (via Aaron Bockover):

Today, we’re excited to announce the Preview 3 release of Visual Studio 2019 for Mac. This is the next release of our IDE for .NET Developers on the Mac.


In addition to the above, we’re excited to introduce a first preview of the new, fast, fluid, and performant C# editor, built on top of the same core editor as Visual Studio on Windows.


The new editor builds on a solid foundation provided by the Visual Studio editor on Windows, with native macOS UI added to make sure it feels right at home on a Mac. Not only does this provide an enhanced experience with smooth editing and navigation, but the new editor also has all the powerful IntelliSense/code-completion and quick fix suggestions you expect from a Visual Studio Editor. Plus, as the editor is truly native, you get all the benefits of a modern macOS editor, including several top features such as right-to-left and bi-directional text support and full support for native macOS input sources, which makes VS for Mac an IDE that speaks your language.

This sounds great, but it’s followed by a screenshot with oddly spaced checkboxes.

Update (2019-03-06): Miguel de Icaza:

Our new text editor is implemented as an NSView, with CoreText rendering on CALayers implementing all the proper NSText protocols on top of the same editor engine from VS/Windows.

Aaron Bockover:

Retained-mode layout with CoreText rendering into a CALayer per visual line, with input being fully NSTextInputClient conformant (so all the native input methods light up). Many functional layers are modular NSView/CALayer adornments (visible white-space, squiggles, etc).

Update (2019-03-20): See also: Merge Conflict.

Monday, March 4, 2019

Bringing iOS Apps to macOS Using Marzipanify

Steve Troughton-Smith:

At WWDC 2018 Apple gave us a ‘sneak peek’ at perhaps one of the most impactful developments on macOS since the transition to Mac OS X: UIKit apps running on the desktop. Today, I’m going to detail a special tool I built, called marzipanify, to get started with UIKit on the Mac early, and start the initial bringup of your iOS app on macOS.


There’s another reason for the iosmac distinction: many of the frameworks underneath, née iOS Simulator, clash horrendously with the built-in macOS frameworks, thanks to a decade of divergence from OS X. Both iOS and macOS today share a UIFoundation framework to help support UIKit and AppKit and provide common code, but UIFoundation makes decisions at runtime based on which platform it’s running on that affect everything from Interface Builder to text rendering. At its simplest level, this means that if you link AppKit into your iOSMac app, all manner of things will explode in your app. The iosmac linker variant for iOSMac binaries explicitly prevents loading non-iosmac binaries and libraries into your code (unless they’re whitelisted).


Altogether, it appears running modern UIKit on macOS is so much more complex than the more-obvious tack Chameleon took when it rewrote UIKit for the Mac all those years ago. It’s not a virtual machine by any stretch, despite evolving from the iOS Simulator, but it certainly goes to great lengths to distance itself from how Mac apps traditionally work.

Steve Troughton-Smith:

If you look at your newly-marzipanified app, and compare it with Apple’s built-in UIKit apps on Mojave, you will notice that yours looks a lot more clunky and less-native than what Apple’s doing. To really make your app sing, you’re going to have to use some new classes and mechanics unique to UIKit on macOS.


One thing that is key to remember is that Marzipan scales everything in your window by 0.77 to better suit the desktop. This is mostly transparent to the developer, unless of course you’re trying to closely match the metrics used in AppKit apps for e.g. sidebar row height, and you suddenly realize everything is smaller than it should be.


You may find all your centered text is no longer centered when run on the Mac. That’s because Apple uses different integer values for the NSTextAlignment enum, so NSTextAlignmentCentered is interpreted as NSTextAlignmentRight.

James Thomson:

Here’s iOS PCalc running under Marzipan on Mojave. Mostly working, with a few graphical glitches - some stuff works even better than the current Mac version, like fullscreen / live resizing. Looking forward to seeing what we get officially at WWDC in June.

Previously: Apple to Target Combining iPhone, iPad, and Mac Apps by 2021.

Keyboard Shortcuts Killed by Bug

Howard Oakley:

When you try to edit the command associated with that shortcut, the editing box is tiny, just over two characters in width, so tiny that it’s hard to read or change its contents.

With a fourth shortcut added, every single entry made by the user is replaced by an ellipsis. Which command is which shortcut? Well, you can either read it through the selection keyhole, or view it in the tooltip attached to the ellipsis.

I have spent some time looking for workarounds which make this feature still usable, and cannot find any. This bug effectively renders the App Shortcuts feature unusable in Mojave 10.14.3.

You may not use App Shortcuts, and consider them a minor feature of little importance. This bug, though, reveals a great deal about what is going wrong inside Apple, which is the reason for this article.

The bug is present at least as far back as macOS 10.13.4.

Facebook and Phone Numbers

Jeremy Burge:

For years Facebook claimed the adding a phone number for 2FA was only for security. Now it can be searched and there’s no way to disable that.

Facebook 2FA numbers are also shared with Instagram which prompts you ‘is this your phone number?’ once you add to FB.

The original FB phone number prompt never mentioned “and more”. It was shown for MONTHS before a link was added in September 2018 clarifying “actually we’ll use this wherever we damn well please”

WhatsApp also shares phone numbers with Facebook

Facebook shares phone numbers with advertisers

Update (2019-03-05): Zack Whittaker (Hacker News):

Alex Stamos, former chief security officer and now adjunct professor at Stanford University, also called out the practice in a tweet. “Facebook can’t credibly require two-factor for high-risk accounts without segmenting that from search and ads,” he said.

Since Stamos left Facebook in August, Facebook has not hired a replacement chief security officer.

John Gruber:

The lesson some people are going to take from this is that enabling two-factor authentication is for suckers.

Nick Heer:

Ever since fears about SIM hijacking began spreading, some people have been claiming that using SMS-based two-factor authentication is worse than not using two-factor at all. I think that’s silly and myopic. It is worth noting that SIM hijacking is pretty easy for someone who has access — directly or indirectly — to a carrier’s SIM backend. But the circumstances under which someone’s phone number would be hijacked are pretty rare for the vast majority of us. People who are connected with low character count or high-valued social media accounts, higher-ranking employees, activists, journalists, wealthy individuals, and public figures are more susceptible to these kinds of attacks. Most of us, however, are not any of these things, and will likely benefit from using any kind of two-factor authentication. You should use a code generator or a hardware mechanism like a YubiKey wherever you can, but SMS authentication is not necessarily terrible, and is likely not worse than using no verification at all.

Adding to the Wayback Machine

Jesse Gardner:

Jeffrey Zeldman shared this helpful tip for saving web pages to the Internet Archive Wayback Machine[…]

I reference the Wayback Machine a lot, so requesting an archive of the current page by prepending the url with is wicked useful; but I figured I’d make it just a smidge easier by turning it into a bookmarklet.

Friday, March 1, 2019

Upgrading From an iPhone SE to an XR

I’ve been using an iPhone XR for several months now. I really wasn’t sure I wanted to give up my iPhone SE, which is so easy to hold and comfortable to use, but I wanted a faster phone with a better camera and more battery life. I ended up liking the iPhone XR much more than I expected to, and I would choose this model again over the iPhone XS or XS Max, even without price being a factor.

Overall, I like Face ID a little better than Touch ID. Face ID works on the first try most of the time, but even without Require Attention it fails to recognize me more often than Touch ID does. And, perhaps due to an iOS change, even when it seems like it did recognize me, I need to type my passcode multiple times per day. When the phone is in my pocket, Face ID feels slower than even the iPhone SE’s Touch ID. Even with first-generation Touch ID, I could put my finger on the sensor and have the phone unlock while I was raising it to my face. With Face ID, even with Raise to Wake, I still have to wait until the phone is in front of me and then swipe up. Face ID also fails in some circumstances where Touch ID worked, such as lying sideways on a pillow in bed or wearing ski googles. However, Face ID also has advantages. It works with gloves on, with wet fingers, and with dry/cracked skin. It’s more convenient when the phone is in a dock or car mount where it would be hard to get my hand under it to put my thumb on the sensor.

Adjusting to not having a physical home button was easy. I can’t believe how much of a non-issue it was. The multi-tasking gestures are great. The notch itself doesn’t bother me as much as I expected, but I miss being able to see at a glance whether an alarm is set.

The display is amazing. I actually think it looks better than the OLED screen on the iPhone XS. Text on OLED screens looks a bit funny to me, especially when scrolling. There’s a weird color effect that kind of reminds me of Microsoft’s ClearType.

I wasn’t sure whether I would like the size of the screen. With the iPhone SE, I could easily reach everything with one hand, and this wasn’t the case even with an iPhone 6s. The iPhone XR is quite a bit larger. In fact, I found that it’s so large that I hold and use it in a different—unapologetically two-handed—way, and the adjustment has been easy. Being able to see so much at once is an incredible advantage. I’ve long known this on the Mac, where I’ve always tried to get as much screen space as possible. But, in a way, it’s more true on the phone because it’s so cramped to begin with. Modern iOS and apps are less information dense than before, and they no longer seem to be optimized for 4-inch displays like when that was the flagship size. I miss those days, but at this point I don’t think even a new small phone would bring them back.

With the iPhone 6–8, I felt like the additional screen real estate was questionably worth the increase in physical size and reduced one-handed use. But with the XR, with its higher DPI that shows the same number of points as the iPhone XS Max while only being slightly larger than the iPhone XS, it’s clearly worth it to me. And despite the high resolution, I didn’t find any text to be too small, even with the lowest Dynamic Type setting.

The display shows enough text to read books comfortably, so that I no longer bother carrying my Kindle to waiting rooms, etc. Besides showing more, the large display also requires less scrolling. It feels like I’m being interrupted less when reading a long document or book, and that I can scan through a list of tweets more quickly. And it allows for a larger keyboard, which I think has improved the speed and accuracy of my typing.

A downside to the large display is that, because it goes right up to the edge, I got a lot of accidental input. I would touch a control (often in Camera) that I didn’t mean to. And I would find that tapping a button I did want to touch wouldn’t work because I was also accidentally touching the edge of the display somewhere. Using a case mostly eliminated these problems, although it also makes intentional edge gestures slightly more difficult.

The other downside to the large display is the greatly increased physical size. This bothers me much less than I expected in hand, but it’s unpleasant in my front pants pocket. It’s less comfortable to walk around with the phone in pocket, and I find myself removing it if I’m going to be sitting for an extended time. Overall, I don’t think I’d want to go back to a smaller display, but I kind of miss the innocent days when we could pretend there wasn’t a trade-off here. Perhaps when Apple makes a foldable phone.

The size in the pocket wouldn’t be so bad with the phone by itself, but it’s especially pronounced with a case. And, unfortunately, I’ve found a case to be necessary for the iPhone XR. The phone is just too slippery without one. The aluminum sides are much less grippy than the iPhone XS’s stainless steel, and it lacks the square edges that make the iPhone SE so easy to hold. It seems like combining these attributes with the iPhone XR’s display would make an ideal phone, but that’s not a configuration that Apple offers.

The case I’m using is the $10 Spigen Liquid Crystal. I don’t love the way it looks, with its text printed on three different surfaces, and the dot grid on the back, but it’s very grippy (without being too sticky in my pocket) and comfortable to hold.

I expected to like Apple’s $39 clear case but ended up strongly disliking it. It looks better out of the box, but it accumulates more fingerprints on the surface and pocket lint and gunk under the edges. The plastic has a hard feel—somehow it feels less forgiving than the metal of the phone itself—so that I find it almost painful to hold. It’s also a bit too slippery, and the buttons are way too tight. The Apple case is a bit less bulky, though, and there’s a little cutout at the bottom so that your finger doesn’t bump into the edge of the case when swiping up to go home.

The other reason I consider a case necessary is that it evens out the camera bump so that the phone can sit flat. I hate the bump, but the camera is great. In ideal conditions, it’s not so different from the iPhone SE’s. But it’s far superior in low light or when the subject is moving. Getting ready to take a photo is faster, both because the camera app opens more quickly and because with Smart HDR I no longer have to manually turn on HDR every time.

Unfortunately, Smart HDR seems like a work in progress. The first problem is that it can introduce artifacts. I’ve seen unnatural skin, a solid red rectangle over part of the image, and unnatural reflections on metal surfaces that I don’t see in person. The second problem, compounding the first, is that if the phone thinks only a little HDR is required it will apply the processing (and possibly introduce the artifacts) without saving a separate non-HDR version of the photo (even with Keep Normal Photo enabled). Perhaps this is because Apple doesn’t consider this processing to be HDR. Yet neither problem seems to occur when Smart HDR is disabled. In that case, you get a manual HDR toggle in the Camera app, but it’s easier to use than on the iPhone SE because you can just tap it on or off without having to first tap to open the HDR “menu.”

The iPhone XR doesn’t just take photos with better lighting and sharpness; they also look different. I think this is due to the larger aperture causing a shallower depth of field. Roughly speaking, less of the area around the subject will be in focus. I’m not sure how I feel about this. Sometimes having a slightly blurry background—it’s nothing like Portrait Mode—emphasizes the important part of the photo and makes it look more professional. Other times, if I’m taking a photo to “document” something (the writing on an object, or how a piece of equipment looked before I took it apart), I would prefer to have more of it look sharp.

Portrait Mode has occasionally produced great results, but usually they look sort of weird. I wish it worked more like HDR, saving two versions, so that I could revert to the normal one if it didn’t work out. Absent that, I rarely use Portrait Mode because I don’t want to risk not ending up with a good shot.

Miscellaneous things that I didn’t expect:


Update (2019-03-04): John Gruber:

I’ve been saying the same thing, including on a recent episode of my podcast talking to Joanna Stern, who just bought herself a XR for her own use. For using the iOS interface — Safari, Twitter, Mail, Messages — I really do think I prefer a great LCD to an OLED display. Where OLED’s advantages show most are when watching video — that’s when the deep blacks matter.

You can retroactively turn off the Portrait Mode blur in the Photos app, but this feature is not available to me since my workflow is to use Image Capture to import the photos to Lightroom and delete them from the phone.

Carlos Moffat suggested that the Face ID problems I’ve been having lying sideways in bed might not be due to the pillow, but rather to holding the sensor too close to my face. Holding it farther away when unlocking does seem to help.

I have not missed 3D Touch or the headphone jack.

Matt Del Vecchio notes that you can swipe up while raising the phone, rather than waiting until Face ID can see you. I have not been able to physically do this one-handed, whereas it’s easy to one-hand unlock with Touch ID when taking the phone out of my pocket. Even with two hands, the phone won’t recognize the swipe unless you have also pressed the power button or have already moved the phone up enough that Raise to Wake has been triggered.

Juli Clover (via Meek Geek):

You might think [the iPhone SE would] be noticeably slower than newer iPhones, but, surprisingly, for built-in apps it’s speedy. When using Mail, Messages, Calendar, FaceTime, and other similar built-in apps, the iPhone SE is as speedy as 2018 iPhones.