Archive for November 2018

Friday, November 30, 2018

Redesigning the Office App Icons

Jon Friedman:

As a signal to our customers, we’ve evolved our Office icons to reflect these significant product changes. We’re thrilled to share the new icons for Office 365 with you today and tell the story behind their creation.


Our design solution was to decouple the letter and the symbol in the icons, essentially creating two panels (one for the letter and one for the symbol) that we can pair or separate. This allows us to maintain familiarity while still emphasizing simplicity inside the app.

Separating these into two panels also adds depth, which sparks opportunities in 3D contexts. Through this flexible system, we keep tradition alive while gently pushing the envelope.

Previously: Redesigning Adobe’s File Type Icon System Language.

DriveSavers Lets Consumers Retrieve Data From Locked iOS Devices

Juli Clover:

DriveSavers today announced the launch of a new consumer-facing service that’s designed to unlock iOS devices for customers who have forgotten their passcodes, been locked out after too many incorrect entry attempts, or who need to access the data on the device of a deceased family member.

DriveSavers says it is using “new proprietary technology” to recover data from a passcode-locked devices, a service that has previously been limited to law enforcement agencies and unavailable to the average consumer.


Utilizing new technology, we have a 100% success rate with unlocking and recovering data from passcode-protected smartphones of every make, model and operating system with any length passcode, including phones and tablets with more complicated passcodes of six digits or more.

Thomas Reed:

Just called @drivesavers on the phone and asked some questions about unlocking an iPhone as a “prospective customer.” Sounds like they require users to fill out a questionnaire, with things like favorite numbers, birthdays, etc. Sounds like brute forcing to me.

Given that, it seems unlikely that they can guarantee 100% success with all phones, regardless of passcode length. A long passphrase would likely be a no-go, and if you’ve got your iPhone set to erase the phone after 10 failed attempts, that ups the difficulty.

Preview Truncates Modification Dates

Peter Steinberger:

Seems like just opening a file in macOS Preview happily resets the modification date accuracy, erasing all sub second precision. APFS offers that and we rely on it to be able to accurately detect changes.

(e.g., 1543264214.151471 gets turned into 1543264214.000000)

I wonder whether this is related to the “Ask to keep changes when closing documents” setting. I have that enabled, both because it’s familiar and because it prevents Preview from overwriting the file when I make changes that I don’t intend to save. That remains a problem because Preview has been crashy ever since the PDF rewrite, so it can overwrite your document, then crash, and then you have to remember to try to restore the correct file using the versions database.

Preview aside, APFS’s nanosecond timestamps require careful consideration for apps dealing with files that sync or are indexed. There are so many cases to consider with respect to backing up and restoring, interoperating with HFS+ volumes, etc.

See also: Taking macOS to the end of time: nanoseconds count.

Thursday, November 29, 2018

My Today at Apple Experience

Ryan Christoffel:

But Apple’s increased trumpeting of its retail initiatives, in the face of a collective shrug from the press, made me wonder what exactly we’re all missing out on here. I mean, if the company is passionate enough about Today at Apple to host over 18,000 sessions per week, then there must be something special about the program.


At several points throughout the session, I found myself smiling just looking around the table as I considered how seemingly random a group of people this was. There were participants ranging from, by my best guess, age 13 up to those in their sixties. Two people were friends who just got new phones, and they were constantly delighted and awed by all the things they learned in the session. A mom was attending with her daughter, who was taking notes for a school report. The rest of us, by outward appearance at least, had little in common. But there we sat, around a table, learning and experimenting with the technology we share.


Instead, Apple found a creative expert to lead its training session, which has to be a more challenging hiring practice altogether. The effort is absolutely worth it though. The sense that a teacher knows what they’re talking about, and cares deeply about it, makes all the difference in the world.

Previously: October 2018 Apple Event.

Update (2018-12-10): Nikolaj Hansen-Turton:

Today at Apple at my store has been such a disappointment. They moved back to 90% being basic classes/kids swift. They need to role out the new workshops ASAP.

Lifting the “Self or associated type” Constraint on Swift Existentials

Alexis Gallagher (tweet):

“PAT” is an acronym for Protocol with Associated Type. I coined the term in 2015 in a talk at the Swift functional programming conference that year.

That talk is a sort of a mirror of the confusion of Swift devs like myself at the time, who were excited about Swift protocols and your WWDC talk about protocol-oriented programming but also quite surprised by the limitations concerning associated types. I guessed at the motivations for this aspect of the language, relating it to other languages and to your talk. This was in the days before Swift was open-sourced, when we couldn’t just ask about these things.

I suspect many people, like me, are still a bit confused about the fundamental reason for these limitations.


Fwiw, I am sure the essential reason for the confusion then was that prototocols with associated types behaved almost exactly unlike protocols in objective-c, which was most everyone’s reference point.

Dave Abrahams:

I agree that the reference point of protocols in Objective-C was probably a source of confusion. However, I think the bigger source of confusion is that we have one thing called protocol that

  • plays two distinct roles that overlap significantly in their capabilities
  • can only support a fraction of its declared API in one of its roles

You can define the “existential type P” to be the most specific possible common supertype of all types conforming to the protocol P. […]

As for the fundamental reasons for this difference, it’s what I said in the talk: capturing an instance of type T as an existential type erases type information, and in particular, type relationships. If you work through a couple of examples with a protocol like […] you’ll see that the most specific common supertype of types conforming to P has no usable API. The compiler can’t provide a working init() because it has no way to know which subtype to create.


I loathe writing type-erasing wrappers as much as the next guy. But generalized existentials don’t eliminate the need to write them, nor (AFAICS) do they make it much easier to do so.


Nobody has proposed a set of features really targeted at the pain points you cite; that would be a really interesting exploration (I suspect the answer has at least as much to do with solving what I call “the API forwarding problem” as it does with existentials). Even if what is being proposed makes incremental progress toward solving those problems, though, I fear that in the specific place we arrive, having applied that increment, we’ll have done more harm than good as explained in my opening message.

Previously: Swift Protocols With Associated Types, Swift Protocols Wishlist, Patterns for Working With Associated Types, Swift Type Erasure.

See also: Type Erasers in Swift.

Effective Core Data With Swift

Tom Harrington (PDF):

Core Data brings a lot of power to an app and continues to evolve, but it can have rough spots when you’re working in Swift. What if you want to save an enum pr a struct? Does it help if your data is Codable? What’s the best way to create Swift-friendly model classes? This session will cover techniques and gotchas for integrating Core Data with your Swift code

It’s a bit of a mystery to me why Xcode’s generated code for Core Data continues to be so unhelpful compared with mogenerator.

Another option for his enum example is that, if you have the ability to change the enum’s definition, you can make it @objc enum. Then you can just declare the @NSManaged property using the proper type instead of having to write a getter and setter. The disadvantage of this, though, is that an @objc enum only shows up as the type name if you ask for its description. To see the actual case, e.g. when logging, you would need to implement CustomStringConvertible.

There are also a lot more videos from the try! Swift Conference.

Previously: Using Core Data With Swift, Generating Core Data Swift, Modern Core Data With Swift, momdec: Core Data Model Decompiler.

Wednesday, November 28, 2018

SubEthaEdit 5.0 Goes Open Source

Dominik Wagner (tweet 2, Hacker News):

The new version 5 of SubEthaEdit, the Apple Design Award winning text editor for macOS, is now available free of charge in the App Store and as direct download. The complete source code with history going back 15 years is also available under the MIT License.


Marketing wise we shoehorned ourselves into the collaborative aspects, and failed to communicate the fact that SubEthaEdit was a great general purpose text editor of its own right.


Instead we got another lucky break. The great folks at Panic were planning their then secret Coda, and were looking for something they could base their editing engine on. And that influx of financial support was what enabled us to become a real working company.


The success of Carcassonne also had a somewhat unfortunate side effect for us: With still no real viable long term business story for SubEthaEdit it moved more and more on the back burner. We still maintained it and brought it up to the App Store eventually, but sadly it couldn’t prove its financial viability.

Gus Mueller:

So I sent a couple of the hardware discounts to the folks at Rogue Amoeba (makers of Audio Hijack) and the folks at the Coding Monkeys (who made SubEthaEdit). We were all pretty happy.

Then a few days later I got a call for ADC. “What the heck are you doing?” they asked. I said that I didn’t need that many and gave a couple of discounts to them. “Are they doing work for you or something? Because the Coding Monkeys have a student ADC account, and it’s not possible for them to have a hardware discounts and we’re going to transfer those back to you.”

How to Game the App Store

David Barnard:

I’ve been pestering Apple for years publicly and privately about the manipulation and outright scams going on in the App Store. Apple has made some progress here and there, but overall Apple’s strictness in some areas and hands off approach in others has disproportionately rewarded bad actors while stifling conscientious developers.


So, let’s talk about how developers are gaming the App Store and why it matters to the future of the platform. Any one of these tactics might seem somewhat bland individually, but when tens of thousands of apps deploy multiple tactics across many categories of apps, the impact can be measured in hundreds of millions of users and likely billions of dollars.

Previously: Apple Pulling High-Grossing Scammy Subscription Apps Off the App Store, Weather Alarms Scam.

Update (2018-11-30): Zac Hall:

The latest example is a rather sophisticated and devious trick used by an app that claims to read your heart rate through your fingertip using Touch ID. In reality, the app (which is currently on the App Store) uses your fingerprint to authorize a transaction for $89.99 while dramatically dimming the screen to fool you.

Dave DeLong:

Meanwhile, I’m in Day 6 of being “In Review” just because I added a single auto-renewing subscription to my app. #NotAmused

Update (2018-12-03): Guilherme Rambo:

This app had a list of Apple’s IP ranges, it was probably using them to change its behavior during app review

Update (2018-12-04): Ben Sandofsky:

Apple yanked over 700 apps from the Chinese App Store that were using rollout-like SDKs to avoid app review.

Previously: Apple Rejecting Apps That Use Rollout.

Lukas Stefanko:

Multiple apps posing as fitness-tracking tools were caught misusing Apple’s Touch ID feature to steal money from iOS users. The dodgy payment mechanism used by the apps is activated while victims are scanning their fingerprint, seemingly for fitness-tracking purposes.

John Gruber (tweet):

None of this is news, but it continues to surprise me that Apple hasn’t cracked down on all of these scams, especially the ones that trick people into paying for subscriptions. That’s just outright theft.

Update (2018-12-06): Dave DeLong:

Finally movement on my app. Got rejected for 2 reasonable things and 1 thing.

Apparently, the cost of my app after a free trial period isn’t explicit enough.

I’m not sure my eyes can roll any further back in to my head

One of the things I should’ve mentioned about that button (and the rest of that screen) is that I literally copied it from another app on the store. Same text, same layout. Just changed the name and the price of the IAP for my app.

Update (2018-12-12): Luc Vandal:

Let’s all celebrate @screensvnc 8th birthday with yet another silly metadata rejection from App Store Review.

Scam people all you want but don’t you dare show a Mac in your app preview so customers can understand how Curtain Mode works! This is fucking ridiculous.

Update (2018-12-23): Cabel Sasser:

Here’s some garbaggio: “Shield for Safari”. Claims to be “security without VPN or Proxy” which means it does nothing, reviews are hilarious and mostly copied from Firefox, app terms say it’s for “entertainment purposes only”. Monthly subscription of course 😣

(Don’t worry, I will let Apple know about this, and I’m confident they’ll take care of it. In the future wouldn’t it be awesome if there was an easy way to report “App Is Garbaggio” — maybe in this ••• menu — because I’m sure collectively we could clean out so much of this!)

Update (2018-12-27): uniqueguy263 (via Jeff Johnson):

A scam app that pretends to be the setup for Echos is #6 in Utilities in the App Store

It looks like Apple has finally removed it. When I last checked, it was still #6 and had 8K ratings averaging 3.7 stars.

Casey Johnston:

Apple pitched the walled garden as a way to enforce quality control, to ensure its ability to keep providing great customer service, to keep making its loyal followers happy. All of those things seem to be unraveling now.

Update (2018-12-28): Evgeny Cherpak:

People assuming that paid app with many good ratings has many satisfied users.

I won’t name names but while researching how I can market my apps I found a service that would provide good reviews.

How it works?

Set price to free
Pay for downloads + ratings
Raise the price

Update (2019-03-06): Dave DeLong:

This time the @AppStore has rejected my update for the sin of having a subscription.

You know, the subscription that’s been in my app since the 1.0 version.

This wasn’t just a rejection of the IAP screen. The reviewer said it was an inappropriate usage of subscriptions altogether and wanted me to take subscriptions out of my app

Update (2019-03-28): Apps Exposed:

So this was the reason why I started looking through the App Store and found out that small/big time scammers were doing massive schemes.


Fun fact: Apple has featured Badoo on different stories in Today section on App Store. Support the spammers Apple! Good job guys!

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

3 months later, all of the scam apps that I mentioned in this blog post are still in the crap store.

At the time I also reported the scam artist to Apple Product Feedback.

Update (2019-04-11): Jeff Johnson:

I blogged about this App Store scam artist, and also reported to Apple.

All of the scam apps are in the App Stores, and now a new one has just been released in the Mac App Store.

Meanwhile, Apple rejected my update last week.

Apps Exposed:

10 days ago after we exposed 53 apps Apple removed 15 apps (by the same Chinese group), yet again they are back on App Store.

Sponsored Amazon Baby Registry Items

Rolfe Winkler and Laura Stevens (tweet):

Kima Nieves recently received two Aveeno bath-time sets and a box of Huggies diapers through her baby registry on Amazon. The only problem? The new mother didn’t ask for the products, or even want them.

Instead, Johnson & Johnson and Kimberly-Clark Corp. paid Inc. hefty sums to place those sponsored products onto Ms. Nieves’s and other consumers’ baby registries. The ads look identical to the rest of the listed products in the registry, except for a small gray “Sponsored” tag. Unsuspecting friends and family clicked on the ads and purchased the items, assuming Ms. Nieves had chosen them.


Amazon’s sponsored ads have appeared in its baby registries for more than a year. Responding to a Wall Street Journal inquiry about the ads, an Amazon spokeswoman declined to comment on criticism that the ads are deceptive, but said the retailer is now phasing out the sponsored listings.

Google Pixel Slate Review

Dieter Bohn:

But even though the Pixel Slate checks boxes that the iPad Pro does not, it’s not better. In every place where the iPad is restricted but elegant, the Pixel Slate is open but slapdash.

While the hardware is nice, using the Pixel Slate requires you to endure a hundred tiny software indignities. For a device that starts at $599 and can run as much as two grand for the fully specced model with keyboard and pen, that’s at least a few dozen indignities too many.

The Pixel Slate is Google’s first tablet in some years, running Chrome OS instead of Android. It’s not the very first Chrome OS tablet, but it’s the first one from Google. The good news is that the hardware is excellent. It’s not as gobsmackingly advanced as the iPad Pro, but it’s solid.


Another example of how the foundation is there are the two USB-C ports. They just do what you expect USB ports to do. It’s great that there are two of them. I had our New York office ship over a big dumb box of USB accessories to plug into it. Basically, I repeated the experiment Nilay ran with the iPad Pro, and nearly everything just worked.

Update (2018-12-03): Alex Cranz (via John Gruber):

But the Pixel Slate, which carries the newest build of Chrome OS, has made a near perfect case for a pricier chromebook. This tablet, which turns into a laptop with the addition of a $160 to $200 accessory, starts at $600 and often works so well as either laptop or tablet that it feels like it’s almost always worth the price.

Update (2018-12-04): The Talk Show:

New episode of the podcast: Dieter Bohn joins the show to talk about Google’s new Pixel Slate Chrome OS tablet/laptop, the Pixel 3, Google’s fascinating new Night Sight camera mode, speculation on how Apple might move the Mac to ARM chips, and more.

App Center Will Take It From Here


One year ago, we announced Visual Studio App Center as the future of HockeyApp. During this journey we listened to you and have continued to improve App Center in every way. We started out with the next generation of your favorite HockeyApp services: distribution, crash reporting and analytics, and added new services exclusive to App Center: Build, Test and Push Notifications. But we didn’t stop there. We continued to build new features that make you even more productive.

Today, after months of work and refinement, we are announcing that HockeyApp will complete its transition fully to App Center in one year on November 16, 2019. We know you are busy building amazing apps, so we have focused on making this transition experience smooth and seamless for you.

Tuesday, November 27, 2018

Antitrust, the App Store, and Apple

Amy Howe (via Jason Snell):

The Supreme Court heard oral argument this morning in a dispute between technology giant Apple and a group of iPhone users over the sale of apps from Apple’s App Store. The iPhone users are seeking massive damages from Apple, complaining that the company is violating federal antitrust laws by requiring the users to buy apps exclusively from the App Store. But as it comes to the justices, the case is about whether the iPhone users can bring their lawsuit at all: Apple contends that they cannot, because it is only selling the apps at the prices set by app developers.


Frederick insisted that the iPhone users and the app developers would have different claims against Apple: The iPhone users would be suing to recover the difference between the price that they paid and the price that they would have paid in a competitive market for apps, while the developers would be seeking lost profits.

Ben Thompson (Hacker News):

Along those lines, Apple argues that developers set the price of their apps, which determines Apple’s 30% cut, and to the extent developers set prices higher to compensate for that cut they are passing on alleged harm to consumers — which means consumers don’t have standing to sue.


I believe that Apple has power over developers (supply) precisely because it has all of the consumers (demand); it follows, then, that it is far more likely that developers are pricing according to what the consumer market will bear and internalizing the App Store fee, as opposed to pricing their products artificially high in order to pass the cost of that fee on to customers.


The plaintiff’s case only makes sense in a world where there are a scarcity of apps with pricing power such that consumers are forced to bear 100% of Apple’s add-on; the reality is that apps are already as cheap as can be and it is developers that are being directly harmed by Apple’s policies.


To that end, one of the more humorous aspect of yesterday’s oral arguments was the way discussion presumed that Apple was an abusive monopoly; this was a matter of convenience, as the question at hand was if Apple were an abusive monopoly, then who was harmed directly — which means it was easier to discuss the the latter question while assuming the former was true. To be frank, though, the language felt appropriate: Apple is an abusive monopoly in terms of iOS apps.

Daniel Pasco:

First: drive prices into the ground by encouraging devs to go as low as possible, universal apps, and giving away your own apps.

Then: claim prices are set by the devs

Matt Drance:

I am really conflicted on this case as it is being argued. It seems to fundamentally misunderstand everything you’ve laid out.

The plaintiffs are asserting that app prices could and should be lower if not for the App Store’s walled garden.

And the dev-advocate passage about “lost profits” is regarding the compulsory 70/30 cut, not the race to the bottom.

Steve Troughton-Smith:

I very much hope that Apple loses its App Store antitrust cases. It is unacceptable that Apple can be allowed to unilaterally block completely legit, valid, desired apps from respected devs, like Valve’s Steam Link, from their platforms. They should not get to make those calls

App Review’s ruleset needs 3rd-party oversight. Most of its restrictions are totally OK. Many points would absolutely not hold up to outside audits. None of this “you can make coding apps but they have to be education-focused and not take more than 80% of the screen” bullshit

Previously: That 30% App Store Tax.

Poor Mac Performance Without an SSD

cocobandicoot (via Meek Geek):

I took a screen recording of how long it takes to open Safari on a brand new 5400 RPM iMac. Apple, this is ridiculous.

My workplace purchased a fleet of 5400 RPM computers for some basic typing and Web browsing needs. Every single one of them is this way. Opening Microsoft Word literally took over a minute before the icon stopped bouncing in the Dock.

Listen: I get it — I understand that some people don’t need top of the line computers. But regardless of who uses this computer, this is a poor user experience.

I used to be able to tell friends that even a low-end Mac would be a good experience. That they could get a base model and it would still be decent. That Apple doesn’t sell a “bad” computer; rather, they have “good, better, best” tiers. That is not the case anymore.

And this iMac isn’t even the base model! Insane.

I spent many years using Macs booted from hard drives, including a 4,200 RPM one in a MacBook Pro. You would think a modern iMac would be faster than that, both because of the CPU and because the larger capacity drives have a higher data density. But it sure seems like macOS performs worse than it used to if you don’t have an SSD.

Is this because there are more background processes that are accessing the disk? If so, is there anything that can be done about that? Within my apps, I try to limit concurrent operations on the same physical disk. You might think GCD would do something like this system-wide, but it doesn’t.

iMacs now use 2.5-inch notebook hard drives, presumably to make them thinner, but that doesn’t explain why Apple has chosen to use 5,400 RPM models rather than 7,200.

There are also software bottlenecks even on an SSD. Some customers have reported Mail on Mojave taking over a minute to launch, seemingly related to FSEvents monitoring a DataVault.

Update (2018-11-27): Colin Cornaby:

It’s really frustrating when you boot Windows from the same Mac and it’s running pretty well with a slow disk

Update (2018-11-28): Jonathan Fischer:

I bought a 2017 4K iMac a month or so after they launched, and I opted for the Fusion drive. It was miserable. My family complained, constantly. Finally swapped in an SSD last week and suddenly I’ve never used a faster computer.


Guarantee the reason they don’t use 7200 rpm drives in the iMac is because it would be too loud for their standards. The terrible thermals in many of their computers are due to this, for example


Sadly this has been the case since Mavericks I think. At that time we just had to upgrade our iMacs with SSDs as they became borderline unusable.

Update (2018-11-29): Steve Troughton-Smith:

It’s ridiculous just how badly macOS performs on a spinning disk. It was unconscionable to ship a product that performs this badly five years ago, never mind in 2018, yet the iMac line still comes with spinning disks by default

Update (2018-12-03): Eric Schwarz:

A family member’s 2012 Mac mini (8GB RAM and an i7) was painfully slow and replacing the hard drive with an SSD restored its performance to like-new (or better). The fleet of 2015-era iMacs at work have also gotten really awful, mirroring what others have said in the linked stories, so they’re getting SSD upgrades, as well.

Apple moving to an all-SSD future is completely reasonable, but making machines that are new or still under their factory warranty run worse than they should seems like a bad look, even if MacBooks are way more popular. It’s especially concerning when other operating systems appear to be fine.

Popular NPM Package Compromised

Yan Zhu:

wow, apparently the popular “event-stream” npm module has been backdoored for months because the maintainer transferred the ownership rights to some unknown person

dominictarr (Hacker News):

he emailed me and said he wanted to maintain the module, so I gave it to him. I don’t get any thing from maintaining this module, and I don’t even use it anymore, and havn’t for years.

Kenn White:

Holy hell, Node. A package with 2 million downloads a week and the maintainer hands over control to a rando stranger? And now it’s mining cryptocurrency. Wow.

Felix Krause:

Step 1️⃣ Go through the most popular inactive open source libraries

Step 2️⃣ Reach out to author and ask to help out

Step 3️⃣ Get push access and release a compromised version

Step 4️⃣ Reach 2 million applications within a week

It shows again how much work open source maintenance can be, if your library is successful you have a ton of responsibilities and can cause severe damage

Matt Drance:

I hope the folks at @github are looking into some procedural ways of mitigating this sort of thing, because it is way too easy to accomplish given the breadth of interconnected libraries out there.

This is not GitHub’s responsiblity, or their fault, but GitHub knows how forked something is, including, I’d imagine, degrees of dependency separation. It could coordinate with npm, brew, et al to classify “community critical” repos. A sort of verified status.

From there you could, among other things, make it harder for an exhausted maintainer to toss the keys to a bad actor. Some sort of two-factor method for ownership transfer. Like a nuclear launch failsafe. Maybe some of this exists, but clearly we need better.


FWIW, there are some scary details in the comments of that link above that imply the original maintainer still “owned” the repo but lost commit access. This is a terrible scenario akin to identity theft. I don’t know how that’s possible, but it needs to be looked into.

Chris Adamson:

I think blame also goes to an entire culture of developers who blindly import OSS libraries without vetting whether the code is any good or is being actively maintained. I saw this a lot at my last job.

Gary Bernhardt:

There are basically two camps in that thread.

1) This is the original maintainer’s fault for transferring ownership to someone they didn’t know and trust.

2) Ownership transfer was fine; it’s your job to vet all of the code you run.

Option 2 (vet all dependencies) is obviously impossible. Last I looked, a new create-react-app had around a thousand dependencies, all moving fast and breaking things.

Option 1 (a chain of trust between package authors) seems culturally untenable given the reactions in that thread, including from well-known package authors.

There was an option 3: don’t decompose your application’s dependency graph into thousands of packages. People who argued that position were dismissed as (to paraphrase heavily) old and slow. That ship has sailed, and now we’re here.

Hey everyone - this is not just a one off thing, there are likely to be many other modules in your dependency trees that are now a burden to their authors. I didn’t create this code for altruistic motivations, I created it for fun. I was learning, and learning is fun. I gave it away because it was easy to do so, and because sharing helps learning too. I think most of the small modules on npm were created for reasons like this. However, that was a long time ago. I’ve since moved on from this module and moved on from that thing too and in the process of moving on from that as well. I’ve written way better modules than this, the internet just hasn’t fully caught up.


One time, I was working as a dishwasher in a resturant, and I made the mistake of being too competent, and I got promoted to cook. This was only a 50 cents an hour pay rise, but massively more responsibility. It didn’t really feel worth it. Writing a popular module like this is like that times a million, and the pay rise is zero.

Not so much for Tarr, though, who got the crap end of the Internet for handing over the package without properly vetting the stranger. How Tarr would have been able to do so in a way that is 100% safe is not clear to me at this stage, but lets roll for a bit with the assumption that a small amount of extra care on Tarr’s part could have avoided this mess.

This would mean that the original author of any FOSS package or application, by publishing it, would have to accept as fact that any misuse of said software would forever be their responsibility, or at least until that responsibility is, diligently and ceremoniously, transferred to someone else, hot potato style.

You know, like we do in the corporate world.


Code is the only thing you can trust, and by not reading it, you’ve forfeited the most important benefit provided by this ecosystem: the choice of not having to trust the authors regarding behavior or continuity.


We may have reached a stage where FOSS doesn’t represent everything it used to anymore, simply because there is too much of it. Too many lines of code, too many competing solutions, too fast a rate of change. We want to keep those security updates coming in straight from upstream, but how are we going to do audits every week on our current constraints?

Adam and Jerod talk with Dominic Tarr, creator of event-stream, the IO library that made recent news as the latest malicious package in the npm registry. event-stream was turned malware, designed to target a very specific development environment and harvest account details and private keys from Bitcoin accounts.

They talk through Dominic’s backstory as a prolific contributor to open source, his stance on this package, his work in open source, the sequence of events around the hack, how we can and should handle maintainer-ship of open source infrastructure over the full life-cycle of the code’s usefulness, and what some best practices are for moving forward from this kind of attack.

Books and Calendars in Photos for Mac

Jason Snell:

Apple started in leaning into extensions last year, but with its official announcement that it’s getting out of this category, a few other companies have finally jumped in. The result is that there are two apps—available for free from the Mac App Store—that are worth checking out if you’re interested in printing photo books or calendars from within Photos for Mac. They are Mimeo Photos and Motif. (Unsurprisingly, the companies behind both apps seem to have been past suppliers for Apple’s book-printing services… so this is their way of staying in the game.)


If I had to sum up the differences between the apps, I’d say that Motif feels more modern and is easier to use, since it puts project photos (rather than page thumbnails) on the main interface and isn’t reliant on a bunch of slide-out drawers to access photos and layout controls. While Motif offers more layout flexibility than Apple’s old tools did, if you want to have ultimate control, Mimeo will give it to you.


Mimeo Photos has the edge over Motif on the calendar front. It’s got more available template themes and offers the capability to customize individual dates portion on the calendar, with text or photos, which is fun. (Unfortunately, it won’t let you drop photos on the overflow dates from the previous or following months, which was always something I did with Apple’s old calendar.)

Previously: Apple Discontinues Its Own Photo Printing Service.

Update (2018-11-29): Jason Snell:

A couple people have asked about this. If you want to reprint books you designed in Photos in the past, you can - Mimeo will let you upload your Production PDF (exported from Photos) and will reprint your book.

Update (2018-12-07): I found that when creating a photo calendar with Motif, most operations do not support undo. Scrolling through the thumbnail picker works in a non-standard way; you can only two-finger trackpad scroll when the cursor is over the scroll elevator (rather than anywhere over a thumbnail). There is no easy way to swap two photos placed on a page.

Update (2018-12-10): I’m not having a good experience with Motif. I finally finished creating my photo calendar, laying out all the photos and fine-tuning the zooms and crops. I clicked the Done button. This brought me back into the regular Photos view. I had planned to save a PDF of the project, as I always do before printing, although it turns out that Motif doesn’t support that. When I opened the calendar again to order it, everything I had worked on for over an hour was gone. All it showed was a single photo for January (I’d made a layout with six or so), and the photo displayed was not even one of the ones from this calendar project; it was one I’d ordered an 8×10 print of a few years ago.

I briefly when to Shutterfly, as it’s worked OK for me in the past, but aborted because I didn’t like its calendar layouts. It ended up being easier to redo everything in Motif because then I could use the same layouts as before, and it was still pretty fresh in my mind how I’d done them. After finishing each month I clicked Done and verified that it had, in fact, saved. This time, everything worked as expected, and I was able to place the order. The in-app order form is actually more cumbersome to use than a Web form, as type-selecting doesn’t work in the address combo boxes.

Update (2018-12-19): I received my first calendar from Motif. The printing is sharp and detailed, but the photos look very dark compared with how they looked on screen, and also compared with prints of those same photos from other services.

Update (2018-12-21): The new Motif 1.8 update says that it can convert Apple book projects to Motif book projects.

Update (2018-12-27): Motif sent a replacement calendar. Some of the photos in it are still way too dark, but most of them look better.

Castro Sold to Tiny

Supertop (via Ryan Christoffel):

Castro has reached a size where the demands of running the business have been pulling us in too many different directions. We haven’t been able to focus as much on the core work of designing and building a product. Selling to Tiny gets Castro access to more resources, contacts and expertise. By growing the team we can specialize our roles to be more focused individually and get more done collectively. We can get back to what we’re good at and what we love doing.

Previously: Castro 3’s Business Model, Pocket Casts Acquired.


Castro 3 has been downloaded more times in 3 days than Castro 2 was in 2 years. 😘

See also: Castro 3 Review.

Marco Arment:

Don’t worry, Overcast is not currently in any discussions for acquisition or investments, and I don’t foresee either happening anytime soon.

I don’t need anyone’s money, I don’t want any bosses, and a full-purchase price would be so large that few acquirers can and would pay it.

No more crazy business-model changes are on the horizon for Overcast — the podcast ads sell well, have no significant downsides, and actually benefit all three parties (users, advertisers, and Overcast).

Monday, November 26, 2018

Apple Emoji Turns 10

Jeremy Burge:

When entering the Japanese market in 2008, one key area of focus for Apple was including emoji support on the newly released iPhone 3G.

This emoji support came in the form of a software update known as iPhone OS 2.2 (iPhone OS is what is now known as iOS) that was released globally, although the emoji keyboard was restricted to the Japanese market only.


At the time emoji support was first implemented, this was done in a way that was compatible with SoftBank (Apple’s iPhone release partner in Japan), but emoji support had yet to come to Unicode which would make the characters universally interchangable between devices, carriers and software platforms for the first time.

Jeremy Burge:

The font on iOS (nee iPhone OS) that includes all the emoji characters is called Apple Color Emoji and it has been around in various forms since 2008.

Originally containing 471 emojis for the Japanese market only, many of these original designs still largely resemble their modern counterparts.

See also: Swift Tricks: Emoji Flags.

Previously: Former Apple Intern Looks Back at Designing First Apple Emoji in 2008, Apple Color Emoji.

Thank You, Katie Floyd

Katie Floyd (via Jeff Perry, MPU):

After nine years and more than 450 episodes, the time has come for me to say goodbye to Mac Power Users.

Never in my wildest dreams could I have imagined the success of this podcast or the opportunities it would create. I would not be where I am today, personally or professionally, without this show. I owe a debt of gratitude to our sponsors, listeners, and most of all, to my co-host David Sparks. You have lived with me through life, loss, new homes, careers, and nearly every other significant milestone. Throughout it all, MPU has been there.


As I close out the show, I’m going to take the opportunity also to step away from my online presence. Some of you may have noticed I have already started this process by backing away from social media and my website. I want to assure you that all is well. As much as I have enjoyed spending the previous nine years with all of you, I’ve never really been comfortable living so much of my life online. I’ve got some exciting things happening in my offline life, and it’s time for me to turn my attention to other things.

I will miss hearing her perspectives on the show, as I already do on her blog.

Stephen Hackett:

Katie is leaving big shoes to fill, and it’s why I was deeply humbled when David asked me to step in as his new cohost. I am beyond thrilled to announce that I will be taking up the mantle on Mac Power Users starting in January.

Do the iPhone XS and XR Screens Scratch Less?

John Gruber:

Apple describes the glass (front and back) on the iPhone XS as “the most durable glass ever in a smartphone”. I asked, and according to Apple, this means both crack and scratch resistance.

Marco Arment:

My iPhone X had the most scratch-prone screen I’ve ever had on a portable device.

My iPhone XS has zero scratches so far, and seems much more like pre-X iPhones in that regard.

Evgeny Cherpak:

I owned two X iPhones, first one was very scratch prone m, current one no so much. Is it possible they have multiple glass suppliers and some not as good as others. That would mean we have a lottery just like with intel modems but without ability to identify it.

Joe Fabisevich:

Is it just me or is the iPhone XS much more scratchable than previous iPhones?

Hunter Maximillion Monk:

I got two huge scratches after having it for maybe 3 days. Always kept in pocket alone, never dropped

Felix Lapalme:

AFAIK it’s as scratchable as the X (very) to make it less prone to shattering

Pratik Jain:

Apple switched the coating applied since the X for OLED Screens which causes the scratch hell.

Previously: The iPhone XS and Its Camera, Scratched iPhone 8 and iPhone X Screens.

USPS Site Exposed Data on 60 Million Users

Brian Krebs:

U.S. Postal Service just fixed a security weakness that allowed anyone who has an account at to view account details for some 60 million other users, and in some cases to modify account details on their behalf.

KrebsOnSecurity was contacted last week by a researcher who discovered the problem, but who asked to remain anonymous. The researcher said he informed the USPS about his finding more than a year ago yet never received a response. After confirming his findings, this author contacted the USPS, which promptly addressed the issue.


In addition to exposing near real-time data about packages and mail being sent by USPS commercial customers, the flaw let any logged-in user query the system for account details belonging to any other users, such as email address, username, user ID, account number, street address, phone number, authorized users, mailing campaign data and other information.

Amazon Admits It Exposed Customer E-mail Addresses

Zack Whittaker and Josh Constine (via Hacker News):

Amazon emailed users Tuesday, warning them that it exposed an unknown number of customer email addresses after a “technical error” on its website.


Amazon’s vague and non-specific email also sparked criticism from users — including security experts — who accused the company of withholding information. Some said that the correspondence looked like a phishing email, used to trick customers into turning over account information.


Amazon, as a Washington-based company, is required to inform the state attorney general of data incidents involving 500 state residents or more. Yet, in Europe, where data protection rules are stronger — even in the wake of the recently introduced General Data Protection Regulation (GDPR) — it’s less clear if Amazon needs to disclose the incident.

Wednesday, November 21, 2018

Black Friday 2018

My apps are on sale for Black Friday and Cyber Monday, and here are some other good deals that I found:

See also: Vector, MacRumors, 9To5Mac, iMore, Thrifter, TechRadar, MDM Deals, The Wirecutter, Marius Landwehr, Lisa Dziuba (via Dave Verwer), Jason Kottke.

Modern Localization With Xcode

Eric Blair:

What makes XLIFF support so interesting to me as a developer is how the files are generated. While Xcode will happily process your base language’s .strings file, it can also directly scan your project for NSLocalizedString calls and generate the XLIFF files straight from code. Once you cross that bridge, you no longer have to worry about things like mismatched string identifiers or tediously updating your .strings files because your latest updated added 12 strings and edited 3 more across 7 different languages. Since XLIFF is a variant of XML, you can also use your favorite XML processing techniques to automate any changes to the file. For instance, I will sometimes tag dummy strings with a known comment and use a XSL transformations to remove them before sending them off to my translators.

That’s not to say the XLIFF workflow was painless from the get-go. In fact, the XLIFF round-trip process didn’t gain support for stringsdict files until Xcode 9. Furthermore, that stringsdict support was initially limited to the language pluralization rules. It’s only as of Xcode 10.1 that the export and import workflow gained support for round-tripping variable-width strings. Previous version of Xcode not only ignored variable-width strings when exporting, they also failed to honor the width variants on import and would overwrite any existing width translations.

With the addition of improved variable-width string support, the stringsdict support in the XLIFF workflow now feels complete. The generation process is aware of the language-specific pluralization rules and the exported files includes the appropriate translation requests instead of just mirroring the items in your development language’s stringsdict file… and yes, you do need to provide a stringsdict file in your base language. Unlike .strings’s 1:1 relationship between the identifier and the display string, the NSLocalizedString() call site doesn’t contain enough information to synthesize a stringsdict entry.

I’ve long liked generating keys for NSLocalizedString() calls in code. Blair mentions two tools that go the other way and generate code from the strings files.

Previously: How to Use Adaptive Width Strings for Localization.

Secure Boot in the Era of the T2

Mikhail Davidov:

Enabled by the T2 chipset, new generations of the Macbook Pro and the iMac Pro aim to mitigate many software and hardware-based attacks against the very first pieces of code executed during the initial boot process. By ditching the flash memory chip containing Unified Extensible Firmware Interface (UEFI) firmware and using chipset functionality typically reserved for server architectures, the T2 is able to dynamically provide and validate UEFI payload contents at runtime.

We have spent considerable time looking at the T2 and have written a paper that outlines the technical details of what actually happens when the power button is pressed. The T2 is a great first step in the right direction, but there is still room for improvement when it comes to the secure boot process on an Apple T2-enabled device.

The full report is here.

Paul Haddad:

If you clone your OS disk from another machine your user won’t have a Secure Token, which means no FileVault. Also, there’s no way to add a Token to a user if no user has one.

Howard Oakley:

On many Macs with T2 chips, entering Recovery mode is much slower. Unless you’re using the built-in keyboard of a laptop model, you’ll almost certainly have to connect your wireless keyboard to your Mac using its charging lead, so that it is available via USB rather than Bluetooth. Then you’ll probably be holding Command-R forever before your Mac finally displays the standard options for Recovery.

The newest option, the T2-specific Startup Security Utility, isn’t shown in those options, but is opened from the menubar.


This may seem strange, but it doesn’t seem possible to get a Mac with a T2 chip to start up from an unencrypted internal drive: that disk will always be encrypted, no matter whether you turn FileVault ‘off’ or on. The difference it makes is that if you opt for FileVault to be ‘off’, the encryption will unlock using only its internal hardware UID (kept in the T2’s Secure Enclave), and won’t use your password in addition.

Previously: MacBook’s T2 Will Prevent Eavesdropping on Your Microphone.

Update (2018-11-27): See also: Hacker News.

“Hacked Account” Blackmail Spam on the Rise

Adam Engst:

What has caused concern for lots of people is that the blackmail spam “proves” that it’s legitimate by showing you a password that you’ve used in the past. (This is often the case, but not universally so. Most copies of this spam that I’ve received include passwords I never used.) Hopefully, the revealed password is not one that you’re still using, since it was extracted from one of the many large password breaches that have occurred over the last decade. To see which breaches might include one of your passwords, check your address at Have I Been Pwned.


To make this painfully clear, everything in the message other than your email address and breached password is fabricated. Your computer has not been hacked, there is no malware spying on your browsing, no pictures of you have been uploaded to a remote server, and so on. You have nothing to worry about, and you should feel free to mark the message as spam and get on with your life.

Previously: Yahoo Says Hackers Stole Data on 500 Million Users in 2014, eBay Security Breach, LinkedIn Password Breach.

Amazement at iOS Cursor Movement Shortcut Says a Lot About Discoverability

Dan Moren:

It is a handy tip, for sure, but not one that I, or probably most people who read this site, would consider particularly obscure. But there’s a confluence of reasons why this is making waves at this particular moment, and I thought it might be interesting to break down why as well as what it might mean for Apple and iOS.


So, complicating the discoverability of this feature is that Apple has three separate mechanics for the same cursor movement feature on 3D Touch iPhones, non-3D Touch iPhones, and iPads. That is a little bit bananas, and has led to confusion and more than a few inane arguments on social media.

But at the root of this issue is that this feature is not necessarily well known, not because it hasn’t been written about or discussed, but because it’s not discoverable—which is to say, if you were not aware that such a feature existed, how would you ever know to go looking for it in the first place?

Even less discoverable is the shortcut to extend the selection. Without 3D Touch, you tap the keyboard with another finger while holding down the first finger that initiated cursor mode, then swipe with the first finger. I’ve read about this many times and still forget how it works. I always think I’m supposed to swipe both fingers on the screen, perhaps because I remember the older two-finger iPad shortcut.

Previously: Six iPad Gestures You Should Know.

Tuesday, November 20, 2018

What Happened to 5K Displays?

Adam Engst:

With the recent releases of the MacBook Air and the Mac mini, Apple made a point of saying that they can drive a 5K display running at 5120-by-2880 resolution with a refresh rate of up to 60 Hz. That sounds great, but if you’ve been assuming that you could waltz out and buy such a 5K display, you might need to think again.


In short, the LG UltraFine 5K Display appears to be the only 5K display you can buy today, and you would have to order it online, sight unseen. If you can wait, it’s possible that LG will have a new model, and Apple has said that it will be releasing an Apple-branded professional display alongside the revamped Mac Pro in 2019.


It’s hard to see the broader display industry getting behind 5K displays in a big way at this point. Apple often releases new technologies before other companies, which sometimes makes Apple’s engineers seem prescient and at other times causes Apple’s products to end up in technological cul-de-sacs.

Previously: Mac mini 2018.

iOS HEIC Performance

Aditya Krishnadevan:

While HEIF turns out to be much more efficient as a storage medium, converting that stored data into a bitmap (and vice versa) is a process that’s much slower than using a JPEG. Therefore, we decided not to switch to HEIF in the cache for the time being and to reevaluate on future OSes and hardware. For other use cases, like storage of camera captures, network transmissions, or any other such instance where the size needs to be as small as possible, HEIF is indeed a great option. We hope that with improved hardware in the future, HEIF will become a viable option for our use case as well.

Constraints on QuickLook Plug-ins

Alexandre Colucci:

A QuickLook plugin on macOS 10.14 has several constraints to satisfy. If one of the limits is exceeded, the plugin will immediately be killed and no preview will be visible. Having such restrictions makes sense but they appear to be undocumented. This article addresses the lack of information about these constraints.


On macOS 10.14, the QuickLook daemon applies 3 kinds of restrictions on the plugins:

  • maximum execution duration
  • maximum memory usage
  • maximum number of open file descriptors.

Debugging Dyld

Alex Denisov:

Recently, I was debugging an interesting issue: a program crashes whenever it tries to call a particular function from a dynamic library. It was not clear how to debug this issue. Eventually, I did resolve the problem: the key was in the dynamic linker, dyld.

In this article, I want to make a short intro on where to start if you have a similar issue. It is by no means an exhaustive guide, but rather a starting point that could have saved me a few hours would I have known this information before.

Monday, November 19, 2018

APFS in 2018

Howard Oakley:

Before explaining how Mojave’s version 3 APFS handles Fusion Drives, let me remind you how they work in good old HFS+.

Jonas Plum:

We developed different approaches to identify and recover (deleted) files on an APFS file system and published a paper about the used methodologies. Additionally, we implemented the open source recovery tool afro which was released three months ago. By using afro, we evaluated and compared the different approaches amongst each other and identified the method that so far delivers the best results and compared it to photorec. This showed that AFRO outperforms photorec on the evaluated APFS dataset. In the presentations of this research we were often asked if other tools like Blackbags Blacklight do not already support this recovery process. So, we decided to compare the file recovery capabilities of BlackLight and afro. We wanted to compare afro to the sleuth kit as well, as at the DFRWS conference it was discussed about adding APFS Support to The Sleuthkit Framework, but no implementations are public yet.

Gregory Szorc (via Peter Steinberger):

I sample profiled all processes on the system when running the Mercurial test harness. Aggregate thread stacks revealed a common pattern: readdir() being in the stack.


While the source code for APFS is not available for me to confirm, the profiling results showing excessive time spent in lck_mtx_lock_grab_mutex() combined with the fact that execution time decreases when the parallel process count decreases leads me to the conclusion that APFS obtains a global kernel lock during read-only operations such as readdir(). In other words, APFS slows down when attempting to perform parallel read-only I/O.


It is apparent that macOS 10.14 Mojave has received performance work relative to macOS 10.13! Overall kernel CPU time when performing parallel directory walks has decreased substantially - to ~50% of original on some invocations! Stacks seem to reveal new code for lock acquisition, so this might indicate generic improvements to the kernel’s locking mechanism rather than APFS specific changes. Changes to file metadata caching could also be responsible for performance changes. Although it is difficult to tell without access to the APFS source code. Despite those improvements, APFS is still spending a lot of CPU time in the kernel. And the kernel CPU time is still comparatively very high compared to Linux/EXT4, even for single process operation.

Jonathan Levin (PDF, via Objective-See):

APFS has become the de facto file system for MacOS and iOS as for 10.13/10.3- but what do we really know about it? Apple has promised the spec would be released “later this year” … over two years ago!

Reversing the complex filesystem structures, container blocks, snapshots and trees is a lousy job, but someone had to do it. Jonathan will present the unofficial APFS specification as it appears in Volume II of the “*OS Internals” trilogy, and present a free tool for inspecting and traversing APFS partitions and disk images for MacOS, iOS - and Linux.

Previously: macOS 10.14 Mojave Released, Apple File System Reference.

Update (2018-12-04): Monkeybread Software:

This is a blog article to remind everyone writing application in C to no longer use FSCreateFileUnicode function because it is very slow on APFS in our tests.

Update (2019-02-07): Howard Oakley:

I turned then to the latest and much fuller APFS documentation, where there is no mention of Fast Directory Sizing at all.


Here it all gets more difficult, because macOS doesn’t appear to provide high level languages such as Swift or Objective-C with ready access to the j_inode_flags which can tell whether it is enabled, nor does it provide any single call to return the size of a folder which might take advantage of this new feature of APFS.


It’s time for FileManager to get a function to return a folder’s total size (and total number of items) making best use of APFS Fast Directory Sizing when it’s available.

Six iPad Gestures You Should Know

Matthew Cassinelli (via TJ Luoma):

If you’re trying to use the new iPad Pro as your full-time computer, you need to learn these gestures to move quickly and efficiently.

Plus, I cover how I use them alongside the Shortcuts app.

Update (2018-11-26): Jason Snell:

Yes, it’s hard to make interface features on touchscreens obvious. (I wonder a bit about why Apple isn’t more aggressive in using the built-in Tips app to teach people how to use features of its devices.) But it’s a learning opportunity, too! And with that, I present nine other simple iPhone features that maybe escaped your attention.

Category Theory for Programmers

Bartosz Milewski (via Igal Tabachnik):

Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might therefore come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming. That’s because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well structured programs are easier to understand and maintain, and are less likely to contain bugs. Category theory provides the language to talk about structure, and learning it will make you a better programmer.

There is also a free PDF version.

See also: Monad: From Category Theory to Swift.

Hardened Runtime and Sandboxing

Jeff Johnson:

The relationship between the hardened runtime and sandboxing can be confusing to Mac developers, both because the hardened runtime is new and because it’s not well documented by Apple. I’ll attempt to explain the relationship here. App sandboxing was introduced in Mac OS X 10.7 Lion and eventually became a requirement for all Mac App Store apps, though developers can also choose to sandbox apps distributed outside the Mac App Store. The hardened runtime was introduced in macOS 10.14 Mojave and is currently optional for all apps, though it is required in order to notarize your app. Apple has announced that at some point in the future, all apps distributed outside the Mac App Store will need to be notarized, which means they will need to be "hardened" too. I suspect that Apple will eventually require Mac App Store apps to hardened as well. This may be surprising to developers, who associate sandboxing with the App Store and the hardened runtime with Developer ID, but the two technologies are independent of the distribution method and independent of each other, which means that a single app can be sandboxed and hardened.


Some protections of the hardened runtime such as debugging and Address Book are indeed enforced by SIP. However, it turns out that the Apple Events protection is not enforced by SIP but rather applies to hardened apps regardless of whether SIP is enabled.

Previously: AEDeterminePermissionToAutomateTarget Added, But AEpocalyse Still Looms.

Friday, November 16, 2018

Transmit 5 on the Mac App Store

Cabel Sasser (tweet):

Does it have the same features as regular Transmit 5?
Yes, it does! With one small exception — “Open in Terminal” depends on AppleScripting the terminal, which isn’t possible with sandboxing (yet). But even viewing or editing or changing the permissions of files you don’t own is now possible, which wasn’t until very recently.

What about Transmit Disk?
It’s not in this initial release, but stay tuned.


Will Transmit 5 support iCloud for sync?
We’re not planning to. We know it’s a bit of a bother to manage another account, but we really value the ability to debug syncing problems directly.

The Mac App Store version is $25/year subscription with a 7-day free trial, compared with $45 for the direct sale version, which had a launch sale but no upgrade pricing. They aim to have a new major version every 2–3 years. It also looks like Apple has a new link for managing App Store subscriptions.

Max Seelemann:

6 years into mandatory app sandboxing on the Mac App Store, it’s still not possible to ship a decent FTP client without SIX different kinds of “temporary” permission exceptions.

What a mess…

And, notably, there are no known changes to the clunky and buggy way that the sandbox provides access to files using security-scoped URLs. The main sandboxing improvement seems to be providing a way to edit (but not directly read?) files that you don’t own.

Jeff Nadeau:

See the associated NSWorkspaceAuthorizationType enum, NSWorkspaceAuthorization object, and NSFileManager API.

These were not mentioned at WWDC or in the initial seed, but they are in the Xcode 10 headers. In order to use the new API you need to request the entitlement.

In summary, at least based on what we know so far, this looks like a very narrow enhancement to support Transmit (and perhaps BBEdit). Most of what was impossible in the sandbox before still is.

See also: Daniel Jalkut.

Previously: Mac App Store Sandboxing, IAP Trials, Multiplatform Services, Productivity Apps and Subscription Pricing, Transmit 5, Panic Discontinues Transmit for iOS.

Update (2018-11-26): Core Intuition mentions that, once the trial is over, Transmit is non-functional until you pay. It does not, for example, allow read-only access the way Omni’s apps do. They (and I) didn’t think this was allowed by App Store policy. Does Apple accept this because it’s a pure subscription app?

Update (2019-05-31): This episode of The Talk Show has an interesting nugget about the Mac App Store version of Transmit. Panic was not allowed to tell customers, in the in-app purchase screen, that there’s a way for them to purchase without a subscription, so they included a link to send them an e-mail if you have a problem with subscriptions. The e-mails go to an auto-responder that tells how to purchase the direct sale version.

The Zig Programming Language

Andrew Kelley (via Dan Luu):

Zig is an LLVM frontend, taking advantage of libclang to automatically import .h files (including macros and inline functions). Zig uses its own linker (LLD) combined with lazily building compiler-rt to provide out-of-the-box cross-compiling for all supported targets. Zig is intended to replace C. It provides high level features such as generics, compile time function execution, and partial evaluation, yet exposes low level LLVM IR features such as aliases. The Zig project believes that software can and should be perfect.

I liked the discussion about failed memory allocations and how Zig gives you a lot of information when an error occurs.

Why Zig:

The entire concept of the heap is strictly in userspace. There are some standard library features that provide and work with heap allocators, but those are optional standard library features, not built into the language itself. If you never initialize a heap allocator, then you can be sure your program is never going to cause heap allocations.

Update (2019-07-05): Andrew Kelley:

The Zig community grew in size so much, that some weekends I found myself with only enough time to merge pull requests and respond to issues, and no time leftover to make progress on big roadmap changes.

I found this both exciting, and frustrating. Here I was working on legacy code 40 hours per week, while multiple Zig issues needed my attention.

And so I took the plunge. I gave up my senior backend software engineer salary, and will attempt to live on Patreon donations.

Monolithic Xcode Workspace

Daniel Jalkut:

The challenge here is rooted in Xcode’s inability to maintain more than one open reference to a project at a time. If you have a common library “CoreFunctions.framework” and several apps with “CoreFunctions.xcodeproj” embedded in them, then the first app you open in Xcode that references it “wins,” and all the subsequent apps end up with un-expandable proxy icons for the project reference.

The monolithic workspace is a bit unwieldy but great to not have to do the close and reopen dance every time I want to check whether a change to a common framework has an impact on another app.

Why I’m Ditching Android

Kev Quirk (via Hacker News):

Android vendors are almost as bad as Windows when it comes to bundling additional applications with their devices. It’s almost a meme at this point. But at least on Windows you can uninstall all the bloatware. Most of the bloatware on Android devices I’ve used over the years cannot be removed as they’re marked as system apps.


I hardly ever get notifications for emails, calendar events, social media etc. I assume this is because the battery saving measures kill the background processes. So the apps can’t carry out background tasks, like checking for new email.


The iPhone SE is actually a phone sized device. It’s cheap, and it’s still supported by Apple. It’s seemed like a no-brainer to give it a try.

Sadly, he wrote this in March, and the iPhone SE is no longer available from Apple’s store, although there are currently some great deals on it elsewhere.

Thursday, November 15, 2018

More Easily Finding and Deleting iOS Apps

Two great suggestions from John Gruber:

I wish you could delete apps right from the App Store Updates tab. When I see an update is pending for an app I never use, I just want to delete it right there.

The worst part is, what I actually do is Update All, wasting time and data updating an app I’d rather delete, because it’s easier.


Also, it would be great to be able to delete apps from Spotlight search results (or even just reveal them).

Update (2018-11-16): Dan Masters shows how this works on Android.

Using an iPad as a Mac mini Display

Luna Display (MacRumors):

To bring our idea to life, we used Luna Display — hardware that turns the iPad into a second display for your Mac. Luna works over WiFi, so you can wirelessly connect your Mac and iPad into one workspace. We were curious to see if Luna could also turn the iPad into the primary display for Mac Mini.

Our initial thought when we got Luna up and running with the Mac Mini was “this is like a whole new Apple product!” It really felt like that. In many ways, it was so obvious and second-nature to use the iPad as your main display. The iPad Pro has such a large and beautiful screen, that of course you’d want to find a way to use it in your workflow.


This setup truly combines the best of both Mac and iPad, with the processing power of the Mac Mini and the edge-to-edge retina display of the iPad. Using Luna, we’re able to take full advantage of every pixel on the iPad at full retina resolution. It offers more ways to interact with your macOS too, where you can seamlessly flow from mouse, to keyboard, to Apple Pencil, to touch interactions. And since Luna runs over WiFi, you have the flexibility of a completely wireless workspace. It all just works.

Previously: Portable External MacBook Pro Displays.

Update (2018-12-10): See also: Julio Ojeda-Zapata.

Update (2019-01-01): TJ Luoma:

Here’s my “Executive Summary” review: using the Luna Display with my 12.9" iPad Pro feels almost as if I am using macOS as a native iOS app. The speed and responsiveness are great, and it’s straightforward to use. However, there are some important caveats, especially if you are using a smaller iPad or if you are not using the iPad as a second display for your Mac.

Update (2019-01-23): Dr. Drang:

Because my iPad was acting as a Mac display, I was viewing the photos through Mac software, and none of the software I tried—while perfectly fine when run directly on the Mac itself—felt right when run indirectly on the iPad.

Emulating Linux and Classic Mac OS on iOS

Lawrence Abrams:

Have you ever wanted to run a Linux shell on your iOS device to transfer files, write shell scripts, or simply to use Vi to develop code or edit files? Now you can, with a project called iSH that is currently available as a TestFlight beta for iOS devices.

iSH is a project that aims to bring a Linux shell to iOS devices using a usermode x86 emulator. iSH is built on the Alpine Linux distro, which is designed to have a small footprint, be secure, and easy to use with little or no distracting bells and whistles.

This is really cool but would seem to violate lots of App Store guidelines.

Mini vMac for iOS (via Adam Bell):

  • Emulates Mac Plus, Mac II or Mac 128K
  • Full simulated keyboard (including all Mac keys)
  • Full sound output
  • Uses external keyboard if available
  • Regulable emulation speed
  • Easy(ish) to import/export disk images

Update (2018-11-19): See also: Accidental Tech Podcast.

Version Control Before Git with CVS

Sinclair Target (Hacker News):

Whereas with Git you’d talk about the version of a file associated with commit 45de392, in CVS files are versioned separately. The first version of your file is version 1.1, the next version is 1.2, and so on. When branches are involved, extra numbers are appended, so you might end up with something like the above, which appears to be the default in our case even though we haven’t created any branches.


Since CVS doesn’t have easily addressable commit objects, the only way to group a collection of changes is to mark a particular working directory state with a tag.


Because you need a tag to rewind to an earlier working directory state, CVS encourages a lot of preemptive tagging. Before major refactors, for example, you might create a BEFORE_REFACTOR_01 tag that you could later use if the refactor went wrong. People also used tags if they wanted to generate project-wide diffs. Basically, all the things we routinely do today with commit hashes have to be anticipated and planned for with CVS, since you needed to have the tags available already.

This is a good retrospective of what it was like to use CVS. In my experience, it was also much more prone to corrupting the repository than either Git or Subversion.

Macs With Two Built-In Audio Devices

Paul Kafasis:

With these new Macs, there are actually two distinct output devices. The headphone jack and the internal speakers are separate devices, completely independent from one another.

This change means it’s possible to send different audio sources to each outputs.


In the course of researching this, I asked friends and colleagues to test several other recent Macs. It appears that distinct output devices are also present in both the MacBooks Pro Apple released in July of this year and the iMacs Pro which started shipping at the end of 2017.

Update (2018-11-16): Rob Mathers:

The ability to switch audio outputs while keeping a pair of headphones connected is something I’ve thought Macs should have ever since I got my first MacBook Pro.

AppleCare’s Limited Duration

Juli Clover:

AppleCare+ extends the warranty on the iPad Pro to two years from the date of purchase, and it covers two incidents of accidental damage subjected to a $49 service fee. The protection plan also covers the Apple Pencil.

AppleCare+ must be purchased alongside a new iPad Pro or within 60 days, with Apple using an online or in-store verification process for AppleCare+ purchases made after an iPad Pro purchase.

It’s too bad that you can’t get coverage for longer. The new iPhones and, in particular, the new iPad Pro, should be able to last a lot longer than two years. AppleCare for Macs provides three years of coverage, which also seems a bit short for today’s hardware. My 2012 MacBook Pro is still going strong.

I asked a salesman at the Apple Store about this, and he said it was because Apple found that “everyone” updates their devices every two years, anyway. Does his family do that with their devices? No, not since they got a mortgage and two kids.

Wednesday, November 14, 2018

ScanSnap Cloud Licensing

Bill Bumgarner:

Hey, @fujiamerica, your ScanSnap cloud licensing is awful and makes me want to switch products. My computer crashed. To use my ix500, I have to download an app to deregister the scanner to turn off the dammed cloud features that I WILL NEVER USE. User Abusive is not good.

Bill Bumgarner:

Worse, @fujiamerica, I can’t unregister the stupid scanner without first setting up a stupid cloud storage service. Which I had to register for, because you don’t support one I already have. JUST TO TURN OFF A SERVICE THAT I DO NOT WANT SO I CAN USE THE BLOODY SCANNER. Sucks.

Bill Bumgarner:

This page, @FujitsuAmerica, is a total lie. My account has 0/5 devices and I CANNOT USE MY DAMMED SCANNER. Beyond frustrated. About to toss this and buy a competitor’s product.

This is disappointing because I’m currently using an older ScanSnap, but its more customer-friendly software is 32-bit only and unlikely to be updated.

Previously: macOS 10.13.4 to Warn About 32-bit Apps Starting April 12, ScanSnap and Sierra Update.

Why Aren’t There Third-Party USB-C to Lightning Cables?

John Gruber:

Here’s a thread on Reddit asking why there aren’t any USB-C to Lightning cables from reliable, certified companies like Anker, Monoprice, and Amazon. It’s a year-old thread and the situation is unchanged. This stinks now that all MacBooks and the new iPad Pros have gone to USB-C, along with chargers that output by USB-C.


What’s the deal here? Is there a technical issue? Or is Apple just spitefully keeping this market to itself? It really seems like a raw deal when you consider that Apple still doesn’t include a USB-C to Lightning cable with new iPhones.

Previously: The Impossible Dream of USB-C.

Update (2018-11-15): Colin Cornaby:

It’s a licensing issue. You can’t Made for iPhone license these cables. They exist on the grey market though.

I’m not sure what Apple’s reasoning is, but it may eventually change. My own personal opinion is they want to keep a monopoly on the cables for a bit, but maybe there’s a technical issue I don’t know about. USB-C cable quality can be… variable.

Update (2018-11-16): John Gruber:

The next thing to understand is that MFI certification requires vendors to source their Lightning connectors from Apple. The old connectors don’t support PD, and the new connectors that do aren’t yet available to third parties. Basically, this is why the only option for officially certified USB-C to Lightning cables remains Apple’s own 1m and 2m cables.


It’s small consolation to those of us looking for high-quality third-party USB-C to Lightning cables and adapters today, but it does sound like they’ll start appearing in the second quarter of 2019.


If the iPhone were to switch to USB-C, I don’t think they could stop anyone from making USB-C battery cases. I do not think Apple will cede this control.


I think iPhones will stick with Lightning until wireless charging is fast enough that Apple can remove all ports, Apple Watch-style.

Previously: Lightning or USB-C on the New iPhones?.

Update (2018-12-03): See also: The Talk Show.

RIP XProtect and MRT?

Howard Oakley:

What’s more, there hasn’t been any change in XProtect’s detection signatures since 13 March 2018 (over 7 months ago), and the last time that MRT was updated to remove new malware was 19 June 2018 (over 4 months ago).

So the question we should all be asking is whether Apple is continuing to support XProtect and MRT, or whether it has let them die in silence?


Besides, even if Mojave 10.14.2 were to bring something wonderfully new, there are many Macs which are stuck with Sierra or High Sierra which would need a retrofit if they were to remain protected after the demise of XProtect and MRT. Discontinuing support for these established security tools would expose millions of Mac users as fair game to attackers.

Tuesday, November 13, 2018

Hacker News Zero Rejected From the App Store

Matt Stanford (via Ryan Jones):

But then one day, after submitting a small bug fix update, I got an email from Apple. My app had been rejected.


Ok, they’ve made themselves clear. Apps can’t show any third party links within the app itself. But wait, aren’t there hundreds of Hacker News client apps out there that do exactly that? Not to mention clients for other similar services like Reddit, Twitter, etc. This must be a mistake. They are mistaking my app for some sort of RSS feed aggregator or something, right?

Over the next couple of weeks, I sent several replies back and forth the app reviewer, but it was wholly unproductive. Questions like, “How is my app different than all the other Hacker News apps out there?” were ignored. It felt like I was arguing with a robot.

Update (2018-11-15): See also: Hacker News.

iPhone 8 Scattered Notes

Riccardo Mori:

But I chose the iPhone 8. Space grey, 64 GB. Why? The answer is simple: I just like it better. And eight days after my purchase, I can already tell you I love it and I don’t regret choosing it at all.


Going from an iPhone 5 to an iPhone 8 isn’t so much about mere speed (though that doesn’t hurt, believe me), but smoothness. It’s not the benchmarks per se what astounds me about this new iPhone, but the effortlessness everywhere. Everything feels fluid – I was about to say liquid but I didn’t want to sound like Steve Jobs when he started overusing the term magical. Another element that contributes to this feeling of fluidity is the display itself. It must have a different oleophobic coating because I distinctly feel less friction when moving my fingertips over it.


I said this exchange was a bit unexpected because I simply took for granted that they would be more interested in the shinier, newest iPhone models. I’ll admit, part of me was glad that these three regular users were giving some love to the iPhone 8, which has become a bit of a ‘Cinderella iPhone’ in the tech sphere.

The iPhone 8 is still a great phone, but it is more slippery and less comfortable to hold without case than the iPhone XS or XR or, of course, the SE.

Update (2018-11-27): John Gruber:

But consumers aren’t objective and often aren’t particularly well-informed. What people don’t seem to be considering is that maybe the iPhone XR is less in demand not because it offers too little compared to the XS, but rather too much. iPhone X-class phones offer a new and different fundamental experience: no home button, new gestures that replace home button actions, Face ID in place of Touch ID, and more.

There are many people out there who do not like change, period. Last year, you could walk into a store and choose between two new iPhones: the new-and-different iPhone X and the new-and-familiar iPhone 8/8 Plus. This year, if you want a brand-new iPhone model, there is no “familiar” choice. The XS, XS Max, and XR all offer the same new-and-different experience.

Killing the Slopes Pass

Curtis Herbert:

While all that was going on I realized it was time to really lean into something I started over two years ago: fully embracing the consumable IAP aspect of my business. I started the initial reboot of my business model by focusing on subscriptions, but since adding consumables, they now account for 75% of my sales (sales, not revenue). They greatly help to address large parts of my market for which a subscription just doesn’t make sense.


I’d encourage all of you to do a thorough pass on your own apps. I have a feeling many of you are like me: making your IAPs accessible (if the user knows where to go to get them, usually the about screen), but not selling as effectively as you can.

YouTube CEO Calls EU’s Article 13 Financially Impossible

Julia Alexander (Hacker News):

YouTube CEO Susan Wojcicki has once again decried the European Union’s proposed copyright directive, arguing in a new blog post that it’s impossible for a platform like YouTube to comply with the suggested regulations.

This is the second blog post Wojcicki has published on Article 13, a part of the copyright directive that calls for stricter copyright infringement enforcement that puts the responsibility on the platform instead of the user. This marks the first time the CEO has vehemently stated that YouTube does not have the technical or financial capabilities to enforce the kind of copyright restriction the European Union is seeking.

Previously: EU Approves Controversial Copyright Directive.

Monday, November 12, 2018

How AI Agents Cheat

Jason Kottke:

This spreadsheet lists a number of ways in which AI agents “cheat” in order to accomplish tasks or get higher scores instead of doing what their human programmers actually want them to.


[Some] of this is The Lebowski Theorem of machine superintelligence in action. These agents didn’t necessarily hack their reward functions but they did take a far easiest path to their goals, e.g. the Tetris playing bot that “paused the game indefinitely to avoid losing”.

An Unzipping Shortcut for iOS

Dr. Drang:

Apple provides the product images as zipped archives, so when I clicked on the link in the press release, I was confronted with this “what do I do?” screen in Safari.


I went to the Shortcuts Gallery and searched on “zip,” “unzip,” and “archive.” There was a shortcut for zipping up a bunch of files and putting them into an email message, but nothing for unzipping and saving. I also couldn’t find anything by Googling. So I made my own.

As you can see, there’s not much to it. You can make it yourself or download it.

The Shortcuts app has a built-in “Extract Archive” action, but this capability is missing from the Files app, even though most third-party file manager apps have supported it for a long time. And one could argue that Safari should just view ZIP archives directly.

Apple Removes RescueTime From the App Store

Mark Wolgemuth:

We have submitted a feature-reduced app for approval while we communicate with Apple about why we were singled out for rejection while other similar apps have been allowed to continue (or have been re-admitted after seemingly identical rejections.)


Critically, using the persistent location API also allows us to use an acknowledged acceptable way to capture when our users have active screen time. This, of course, in a get-things-done digital wellness tool is absolutely critical information as well. It is why we use this method rather than the significant location change methods.

We do not understand or agree that this is “misusing” the method. While we believe a mature device use API would be far preferable, this solution seems to be blessed by Apple in some cases already, because location matters AND screen time matters, they said it themselves.

Location definitely seems like something you’d want to include when tracking your time, and it sounds like you can opt out, so this rejection doesn’t make much sense to me.

Amazon Kicks Off Unauthorized Apple Refurbishers

Jason Koebler (tweet, Hacker News):

As the email notes, this is part of a new agreement between two of the largest companies in the world that will allow Amazon to sell new Apple products around the world; in exchange, Amazon agreed to let Apple pick-and-choose who is allowed to sell Apple products on the site.


Apple did not respond to a request for comment, so for now we don’t know how it is going to decide who can be an “authorized” reseller on Amazon. It’s worth noting, however, that Apple places many restrictions on its “authorized” service providers, who it grants permission to repair Apple devices. They are only allowed to work on certain devices, are only allowed to do certain repairs, and have to pay Apple to be accepted into the program.


“The first sale doctrine has never required an owner to get permission to sell their property,” Perzanowski added. “But Amazon is leveraging its power over its marketplace to give Apple power that the courts and Congress never have and never would.”

Marco Arment:

This makes sense. I’ve been burned multiple times buying counterfeit Apple accessories on Amazon (power adapters, etc.) labeled as new and authentic. Amazon’s control over knockoffs is awful.

The only things I refuse to buy on Amazon: Apple products, memory cards, and dog food.

Luca Marturana:

I can understand that it’s nice to have guaranteed legit Apple products. But for example it was very convenient to buy cheap refurbished iPhones on Amazon. Not sure if it will be possible anymore.

Adam Selby:

I’ve sold old iPhones on Amazon in the past. Honestly, it’s great to be able to buy used things on Amazon. Amazon bans used listings for their own products, now Apple’s, and likely others I’m unaware of, and it sucks. The problem with counterfeits is not in the used market.

Previously: Amazon Is Complicit With Counterfeiting, Apple Sued an Independent iPhone Repair Shop Owner and Lost.

Update (2018-11-13): See also: TidBITS Talk.

Thursday, November 8, 2018

BBEdit 12.5

Bare Bones Software:

There is a new command on the “Go” menu: “Commands…”. This brings up a modal panel which lists everything that you can do from a menu in BBEdit: menu commands, clippings, scripts, stationery, text filters, as well as open text documents and recent files.

This is a great way to quickly access commands from the keyboard without having to assign and remember obscure keyboard shortcuts.

Multi-File Search results windows now get a “reload” button, which you can use to repeat the search using the same settings.


The Multi-File Search window provides the ability to filter files and folders separately. In this way, you can include only those folders that you explicitly wish to search.


There’s a new command on the View menu: “Merge Windows”. When a non-project editing window is active, this command will collect the open documents from all other non-project editing windows that are open behind it, and will then close those other windows.


There is a GUI editor for color schemes. If you drop a .bbcolors or .bbColorScheme file on the application, a color scheme document window will open for that scheme. You can make changes to the colors, similar to the fashion in which the “Text Colors” preferences does it.


A simple Swift language module is now included with the application.

This is perhaps underselling it. I’ve been using the Swift language module for a while now (replacing my CLM) and am very happy with it.

“We are still hard at work on bringing BBEdit back to the Mac App Store,” explained Rich Siegel, founder and CEO of Bare Bones Software, Inc. “Rest assured: as soon as we have news, we will let everyone know.”

Previously: Mac App Store Sandboxing, IAP Trials, Multiplatform Services.

MacBook Air 2018

Tom Warren:

Apple’s MacBook Air from 10 years ago signaled a new era for laptops, but the company’s latest refresh, unveiled earlier this week, shows how the competition has caught up.

Dieter Bohn:

When I started testing the new MacBook Air, I spent a lot of time thinking about what I should compare it to. For $100 more, you could get a 13-inch MacBook Pro with a more powerful processor and brighter screen that only weighs 0.27 pounds more. You could also opt for a 12-inch MacBook with a slightly less powerful processor that weighs 0.72 pounds less. You wouldn’t get Touch ID with either, but the point is that choosing between this new Air and existing MacBooks is not as easy as it ought to be.


There is one knock on the screen, though: it doesn’t get as bright as I would like. The spec on it is a max of 300 nits, but the important thing to know is you’ll be cranking up the brightness to near 100 percent more often. I haven’t had a problem viewing this screen, even in bright rooms, but I do have a vague worry that it’s affecting my battery life to have it cranked up higher.


This laptop feels a lot nicer than the old MacBook Air. It fits the same size screen in a smaller body, but it’s not as thin or as light as the thinnest and lightest of laptops you can get today. When the first Air came out, it amazed everybody. This one, though very well-built, does not stand out from the pack when it comes to size or weight.


So let me just bottom line it: this new MacBook Air is faster than the old MacBook Air, but not by the kind of margin you’d expect after three years (or even one, if you happened to buy the 2017 model).

John Gruber (tweet):

Apple is not going to throw Intel under the bus — they’re taking an “If you don’t have anything nice to say, don’t say anything at all” approach, as they should. Macs are Apple’s products, not Intel’s, and it’s ultimately Apple’s responsibility that both of these products went so long between updates. But Apple’s frustration with Intel as a partner is palpable at this point. Look no further than the other product introduced at the same event, the new iPad Pro. Apple spent an entire segment talking about the A12X chip in the iPad Pro and the performance it delivers. They spent almost no time talking about the performance of the CPU or GPU in the new MacBook Air. Performance is actually pretty good for the price and for the intended audience of the MacBook Air — but only when compared against other Intel-based notebooks. When compared against the iPad Pro, it doesn’t look good at all.


Behind the scenes last week in New York, I asked a few folks from Apple for any sort of hint why these two Macs — the MacBook Air and Mac Mini — went so long between updates. One thing I was told is that Apple wants to focus on “meaningful updates”. The days of “speed bump” updates are largely over. The value just isn’t there.


There’s only one CPU option for the new MacBook Air: “1.6GHz dual‑core 8th‑generation Intel Core i5 processor, Turbo Boost up to 3.6GHz”. There are no build-to-order CPU options. I could be wrong, but off the top of my head, I think this is a first for a Mac notebook in the Intel era.

He seems to think that the keyboard is fixed.

Chance Miller:

In terms of comparison to the mid-2017 MacBook Air, which features a 5th-generation dual-core Intel Core i5 processor at 1.8GHz, the 2018 Retina MacBook is roughly 27 percent faster in single-core and 28 percent faster in multi-core.

Meanwhile, the MacBook Air offers similar performance improvements compared to the base model 12-inch MacBook, with a 20 percent improvement in single-core and a 17 percent increase in multi-core.


Last but not least, the MacBook Air is blown out of the water by the 2018 13-inch MacBook Pro, which scores a 16464 in multi-score testing, more than double the Air. Single-core testing is closer, with the Pro scoring 4504.

Owen Williams:

The choice of an Intel Y-Class processor in the 2018 MacBook Air is genuinely baffling. You spend thousands of dollars to get a new laptop and basically get the same performance as three years ago with a better screen.

Wojtek Pietrusiewicz:

I’m still waiting for a 15 W TDP quad-core MacBook, be it a MacBook Air or refreshed MacBook Pro Escape. There’s currently a hole in the line-up and it feels that it’s there so as not to cannibalize MacBook Pro sales — the Air has a 7 W CPU, the Pros have 28 W parts, and the 2017 Escape has dual-core 15 W processors. Where are the quad-core 15 W TDP Intel Core i5s and Core i7s?

Joe Rossignol:

In all other MacBook and MacBook Pro models with a Retina display released since 2012, when a customer has required a battery replacement, Apple has replaced the entire top case enclosure, including the keyboard and trackpad. This is because the battery is glued into the top case in Mac notebooks with Retina displays.

The battery in the new MacBook Air is still glued into the top case, the aluminum enclosure that houses the keyboard and trackpad, but Apple will be providing Genius Bars and Apple Authorized Service Providers with tools to remove the battery and reinstall a new one with no top case replacement required.

Previously: October 2018 Apple Event.

Update (2018-11-12): Michael Potuck:

iFixit is out with its Retina MacBook Air teardown. While there are some notable repairability improvements, Apple’s latest notebook got its lowest marks for non-serviceable, non-replaceable RAM and storage. However, overall, it scored higher than the 2018 MacBook Pro and the 2017 MacBook.

Here’s the iFixit report.

John Gruber:

The bit about performance-per-watt (around the 2:50 mark) seems like an argument Apple will be making again, this year or next, when they announce Macs running with Apple’s in-house ARM chips.

Tom Warren:

Inside the new MacBook Air vs. Surface Pro 6. It’s still impressive Microsoft manages to squeeze quad-core U series into a tablet without a fan, while Apple has dual-core Y series with a fan

See also: Hacker News, Apple (MacRumors).

Update (2018-11-16): Juli Clover:

We went hands-on with the MacBook Air last week, and this week, we picked up an older MacBook Air to compare the new model to see just what’s different and whether it’s still worth buying the old version, which sells for $200 less than the current model.

Rob Griffiths:

I was quite impressed by the Air’s benchmark results: Using a CPU with much lower power draw, it held its own against older but arguably more-powerful chips—besting the 2012 Air by a lot, and slightly outperforming the 2013 MacBook Pro. In the disk and graphics areas, there was no comparison: The new Air has a wicked-fast solid state drive, and (at least after the supplemental update) the graphics chipset is notably faster, too.

Things are even more impressive if you consider performance per watt.

Jason Snell:

This feels like the future of the Mac, certainly on the consumer end of the product line. With the new MacBook Air, Apple has picked a processor and stuck with it. Would any of us be surprised if it did the same with a future update to the MacBook? Or low-end iMacs?


What does shopping for a Mac look like if all you can choose is how much storage and how big your display is? A lot like shopping for an iPad. That’s not necessarily a bad thing, especially when you consider that Apple is currently making six different laptop models.

Update (2018-11-19): Paul Haddad:

I’ve watched/read a number of MacBook Air reviews, still haven’t seen a good explanation of why anyone would get one vs the 13” MBP.

Marco Arment:

It feels nicer, it runs cooler, it has better battery life, it costs less, and it weighs less.


Oh yeah. Touch ID, and the cool stuff in the T2.

Miles Wolbe:

Last chance to buy a proper MacBook

Update (2018-11-21): Josh Ginter:

I regularly experienced phantom taps on my MacBook Pro due to my thumb resting on the corner of the trackpad while typing. That same part of my thumb doesn’t rest on the left side of the trackpad on the MacBook Air, but there is significant overlap of my right thumb and the trackpad. So far, I haven’t had too many phantom taps, but I do recommend turning off “Tap to Click” in the settings if a) you’re used to actually clicking the trackpad and b) if you experience these random clicks like I do.


Regarding reviews saying the MBA spins up the fan a lot, I have a strong feeling it’s also because of this setup. There’s no heatpipe going from the CPU to behind the fans airstream, the fan is just pushing air out and creating negative air pressure inwards, no direct cooling.

Update (2018-11-26): Nick Heer:

When these Macs are all specced with 256 GB of storage, a different pricing picture begins to emerge[…]


Instead, by starting the MacBook Air with a 128 GB drive, Apple has priced it to fit its status as the default consumer Mac portable to buy. A 128 GB drive is probably enough for a bare minimum user who relies upon Apple Music and offloads their iCloud Photo Library. It’s a little dicey, I think — we all know how easily a hard drive can fill up in unexpected ways, like if Mail downloads a decade’s worth of email — but there are ways to manage that. I really do think 256 GB ought to be the baseline, but a good enough argument can be made for 128 in the Air.

See also: Mac Power Users.

Update (2018-11-28): David Sobotta:

My last ten years at Apple also coincided with Apple’s last efforts to be price competitive. Many of those years Apple lived by the mantra that each year they should introduce new products at the same price point but with more features and power. Without giving away the rest of my story, I can still say that I am not alone in saying that those days of Apple attempting to be competitively priced are long gone.


My biggest surprise has been how well minor photo image editing and resizing works on the Pixelbook.

Did the MacBook Air have a chance? If the new MacBook Air had been priced at $999 instead of $1,199, I would have looked at it seriously.

See also: Hacker News.

Update (2019-01-07): Juli Clover:

When comparing the new MacBook Air and the older 2015 MacBook Air, however, we found a more noticeable difference in quality. The FaceTime HD camera in the 2015 MacBook Air is a bit clearer and brighter, with the 2018 MacBook Air's camera letting in less light and producing an overall grainier, less clear result.


2018 MacBook Air owners are disappointed, and honestly, MacBook Pro owners should be too. 720p looks awful and it is outdated technology. Apple implemented a better 1080p FaceTime HD camera in the iMac Pro, and the quality is much better.

Update (2019-01-09): Kuba Suder:

So, this is awkward… but I returned that new MacBook Air I was so excited about (yup, after 2 months, trololo ). I love the shape, the CPU isn’t bad, but the screen is so much worse than Pro’s. I’d say it isn’t even strictly better than old Air’s… (I got a 13” Pro instead)

Kuba Suder:

If you’re curious, I ran some “real life” benchmarks on these two + my older Macs (yes, I know, I’m not normal and need to get a job/life). I wouldn’t get the MBA for everyday all-day Xcode work, but for a mix of TextMate/terminal/light Xcode/Safari it’d probably be fine…

Update (2019-02-04): Robert Nyman:

I helped setting up a new MacBook Air for someone yesterday, and was quite surprised and sad to see how buggy it was. At one point the touchpad stopped working, and needed an OS reboot.

And App Store is a complete mess, where sign in and updates would constantly bug in 100 ways

When a Mac works, it and the OS is fantastic. But there seems to be a lot of QA missing as of lately.

Update (2019-02-12): Stephen Hackett:

The 2018 MacBook Air is a great computer. It’s what you should buy for your next home or office notebook, and it’s what parents should get for their kids headed off to college later this year. Apple finally has a new default notebook, and that is great news for Mac users. It’s just a shame that it costs a little too much, and comes with the additional costs of dongles and adaptors.

My wife and father both got 2018 MacBook Airs and really like the feel of the keyboard. They haven’t had any reliability problems with it so far.

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

In our latest video, we decided to pit the MacBook Air against Microsoft’s Surface Laptop 2 to determine which machine is the better value and the best buy.


Both laptops have a questionable port situation, with the MacBook Air limited to two USB-C Thunderbolt 3 ports and Surface Laptop 2 featuring a USB-A port, a proprietary charging port, and, inexplicably, a Mini DisplayPort, an odd choice for a modern laptop. It has no USB-C ports, which is disappointing given that USB-C is the standard device and accessory makers alike are transitioning to.


The base model Surface Laptop 2 features a 1.6GHz 8th-Gen dual-core Core i5 processor, 8GB RAM, and 256GB of SSD storage all for $999, while the base 2018 MacBook Air, offering similar specifications with less storage -- a 1.6GHz 8th-Gen dual-core Core i5 processor, 8GB RAM, and a 128GB SSD -- is priced starting at $1,199.

However, the Surface’s processor is higher performance (and higher wattage).

Mac mini 2018

Jason Snell:

In the intervening 13 years, the Mac mini has become something different. As the one Mac without a built-in monitor that isn’t an expensive and large Mac Pro, it’s become a bit of a Swiss army knife, fitting as a tiny Internet or file server (I’ve had a Mac mini running in my house more or less constantly for more than a decade), running lights and audio in theaters and at rock concerts, and thousands of other small niches that are vitally important for the people who live in them.


Apple has witnessed how the Mac mini has gone from being the best Mac it could build for $499 to one that’s a vital tool for professional and home users in a variety of contexts. And so, after a long time in the wilderness, the Mac mini has at last been updated—the right way. The last time the Mac mini got updated, Apple took away the highest-end configurations. This time, the Mac mini has been built with those many niche uses in mind.


This update allows it to span a wide range from basic server needs all the way up to high-end applications that require a great deal of processor power, fast storage, ultra-fast networking, and even beyond (via Thunderbolt 3). The high-end configurations might actually provide enough power for people to consider them over buying the Mac Pro, whenever it comes out.

Marco Arment (video):

It’s the same size as the old one, which is the right tradeoff. I know zero Mac Mini owners who really need it to get smaller, and many who don’t want it to get fewer ports or worse performance.


The base price has increased to $800, and that’s not great. It’s partly justifiable because it’s much higher-end than before — the processors are much better, the architecture is higher-end and includes big advances like the T2, and all-SSD is standard — but it’s still an expensive product in absolute terms.


Geekbench results are very strong. The i7 Mac Mini scored better on single-core performance than every other Mac today (!) at 5912, and its multi-core score of nearly 24,740 beats every Mac to date except the iMac Pro and the old 12-core 2013 Mac Pro.


And since every T2 so far performs identically, all T2 machines — from the 2018 MacBook Air to the iMac Pro — encode HEVC this way at the same speed, and all in complete silence because they’re barely touching the CPU.

Rene Ritchie:

Tom Boger is Sr. Director of Mac Product Marketing at Apple. I had the pleasure of sitting down with him and talking about the past, present, and future of the Mac.

Wojtek Pietrusiewicz:

The new Mac Mini has an option to upgrade to 2 TB of flash storage. The upgrade from 128 GB costs 1600 USD. You can buy a faster Samsung 970 Evo M.2 drive for 500-600 USD — that’s around three times cheaper. The price difference between the two is even larger in Europe — Samsung’s M.2 drive is over four times cheaper in Poland, for example.

Kyle Bradbury:

New #apple #macmini ram upgrade notes:

1. Need a TR6 to remove antenna plate
2. Chassis needs to be removed from body
3. Memory is under a cage and the spring loaded arms are hiding under rubber covers
4. 8gb config came with 2x4gb SO-DIMMS

I’d recommend having an authorized service provider do this unless you are very comfortable with this sort of thing.

Brandon Geekabit:

How to take apart/disassemble the new late (November) 2018 Mac Mini, and looking at what we can upgrade. Only the RAM is user upgradable/serviceable in this generation Mac Mini.

See also: MacRumors.

Previously: October 2018 Apple Event.

Update (2018-11-12): Brian Stucki:

The documents for the new Mac mini were just released. Includes the Essentials, the Quick Start and the Info Guide. Also includes this picture of the Retina display that Apple should definitely make and sell.

Nick Heer:

The biggest downside to the new Mac Mini, to my eyes, is that there are simply no good Thunderbolt 5K displays out there. That market just doesn’t exist yet.

See also: Rich Stevens, Hacker News, Apple.

Update (2018-11-13): Paul Haddad:

Assuming best CPU, ignoring GPU. Mini significantly faster than any iMac (non Pro) and the MBP 13”, non noticeably faster than the 15”.

Update (2018-11-21): Paul Haddad:

It’s here.


Mini i7 vs Mac Pro 12 core @3.33 with NVMe boot

TB Mac Archive build:
53s vs 94s

TB iOS clean build + simulator startup/launch:
26s vs 43s

TB iOS 1 file recompile to simulator re-launch”
5.5s vs 7.5s

RIP Cheese Grater, you’ve served me well!

Update (2018-11-26): Peter Bright (via Andrew Grant):

The Mac mini does nothing out of the ordinary here. Thermal management seems good—I couldn’t provoke any serious thermal throttling issues—but the performance peak just isn’t as high as it would be with a desktop chip or a discrete GPU. SSD performance is good, though.


It’s the machine Apple is pushing for a range of usage scenarios, and while it might be the best fit for at least some of them, it’s never a great fit.

So, for example, Apple suggests using the Mac mini for build and render farms. If you’re writing software for macOS or iOS then fair enough; it’s the smallest Mac by far, so it’s probably the one to use in your build farm. But if you were designing a machine to go into a build farm, you probably wouldn’t come up with the Mac mini.


The Mac mini represents an enormous compromise. It’s rarely, if ever, going to be the best form factor for any given role. Hell, it doesn’t even have “cheap” going for it this time around, really: the 2014 version at launch had a base price of $499. The hike to $799 represents astonishingly bad value. Though spec-wise the new machine is unambiguously superior to the old one, it’s by no means a high-end machine. It simply scratches one crucial itch: you’re wedded somehow to the macOS ecosystem and need a computer.


It’s the Mac you buy when you know you need to buy a Mac… and you’ve already ruled out all the other systems Apple has on offer.

Update (2018-11-28): See also: Hacker News.

Update (2018-11-29): Colin Cornaby:

One theory on why Apple doesn’t seem to want to really redesign the Mac Mini: A lot of us users with a lot of Mac Minis have custom mounting or racking solutions. Messing with the form factor in the slightest could mess with that.

Update (2018-12-19): See also: Lloyd Chambers.

Update (2018-12-23): Lloyd Chambers:

Adobe has made progress in using CPU cores over the past several years, so this test shows that the 2018 Mac mini and its six CPU cores offer a substantial advantage of the 2017 iMac 5K with its 4 CPU cores.

Update (2019-01-28): Marcel Weiher:

Speaking of Mac Mini 2018: was having problems with my Apple Bluetooth Mouse and the new Mini. <search interwebs> Apparently, it’s a shielding problem with the outermost USB-A port, which was connected in my case. Rearranged to leave it empty, seems to have cured it. 🤦‍♂️

Update (2019-04-08): Lloyd Chambers:

Readers might remember that in my review of the 2018 Mac mini I noted some display syncing issues with NEC displays. While I’m no longer having issues and 10.14.4 seems to have helped (unclear if all issues resolved for all users), it seems that Thunderbolt 3 is flawed on the 2018 Mac mini.

Issue: bus-powered Thunderbolt 3 devices connected directly to the 2018 Mac mini spontaneously disconnect.

iPad Pro 2018

John Gruber:

The iPad Pro is like a computer from an alternate universe. In the normal universe, Moore’s Law has stopped delivering significant year-over-year returns, and high-performance portables need fans to cool them. In the iPad universe, Moore’s Law still delivers year after year, and a super-fast, genuinely “pro” portable needs no fan.


The new Apple Pencil is one of the best “2.0” products I’ve ever seen. The original Apple Pencil is a terrific product, but the new one nears perfection for the concept.


I’ve been using the 12.9-inch model for testing over the last five days. It’s a lot easier and more comfortable to hold. There have been times when I forgot I was using the “big” iPad.


iPad is not really a multi-user device, because unlike MacOS, iOS still doesn’t have any concept of user accounts. But I know that many people use iPads as shared family devices. iOS 12 limits you to two faces with Face ID — your default face and an “alternate appearance”.


The new Smart Keyboard Folio cover is a much better design than the old Smart Keyboard. As promised by Apple, it’s much sturdier and more stable. Apple is really serious about all these magnets. They work. The downside, though, is that it’s thicker on the device, because it covers the front and back. I think this trade-off is worth it.

Nilay Patel (tweet):

The overwhelming message was the iPad is more powerful, more capable, and more the future than any laptop — Apple’s own new MacBook Air included.

But computers are about more than just sales and processor specs: they’re about software. And the one thing Apple didn’t really change on the iPad Pro is iOS 12, which has all of the same capabilities and limitations iPad users have come to expect. Apple wants you to think that the iPad Pro is the future of computing, but if you’ve already used iOS 12 on an iPad Pro, you know exactly how you feel about that idea.


Apple keeps saying the iPad Pro now has an “all screen design” that “goes from edge to edge,” but let’s just be honest: nothing about these bezels is edge-to-edge. It is, however, an extremely nice 264ppi LCD screen, and I continue to be a fan of Apple’s fancy technique to round off the corners of LCDs.


But one extremely important category of devices will definitely not work: iOS does not support external storage. You can plug as many flash drives or hard drives as you want into the iPad Pro’s USB-C port, and nothing will happen. Apple says third parties can write apps to talk to external storage, but out of the box, this $1,899 tablet simply won’t talk to a flash drive.


There isn’t a single other tablet on the market that can compete with the raw hardware of the iPad Pro, and there aren’t many laptops that can either. But Apple’s approach to iOS is holding that hardware back in serious and meaningful ways, and while USB-C makes life with this new iPad Pro slightly easier, it still has the same basic capabilities and limitations of last year’s iPad Pro.

Matthew Panzarino:

One basic summary of the arena is that Microsoft has been working at making laptops into tablets, Apple has been working on making tablets into laptops and everyone else has been doing weird-ass shit.


Apple needs to unleash itself from the shackles of a unified iOS. They don’t have to feel exactly the same now, because the user base is not an infantile one. They’ve been weaned on it — now give them solid food.

Jeffrey Van Camp:

As a more traditional work PC, it sometimes struggles. In a pinch, the iPad Pro and its Smart Keyboard are usable. For example, I wrote this review on the Pro in Google Docs while also opening webpages on the right side of my screen, but it took me longer than normal to do research and collect links—and a good long while to figure out how to do other tasks. I wanted to use the normal web version of Docs, but I had to use the app. My office also uses a collaboration tool called Airtable that wouldn’t work in an iPad browser. It also tossed me to the app, which lacked key features. Attaching specific files was kind of a nightmare in the Gmail app, too. Some apps, like Spotify, don’t allow Split View multitasking (side-by-side viewing) at all yet. You have to use them full screen. Spreadsheets are also tougher (slower) to manipulate in the apps I’ve used.

I found solutions to all of these problems, and I’m sure I can keep finding creative solutions to make the iPad Pro work as a PC, but the hassles will keep coming. The iPad’s web browsers are still treated more like their less-capable smartphone counterparts, and the apps that are supposed to work in their place also sometimes lack desktop features. Part of this is the fault of developers, but Apple bears responsibility, as well.

It doesn’t feel like the world is ready to treat my iPad as an equal to a PC yet—even if that iPad is a lot more powerful and user friendly. Now that Apple has declared the iPad is a PC, it should take more of the guardrails off of iOS and strongly encourage developers to treat it like they do the Mac.

Matt Lee:

Brand new 12.9” iPad Pro. Faster than MacBooks and MacBook Pros. More powerful than 80% of notebooks. BUT, can’t access @AppleEDU’s own Apple School Manager website. #NeedRealSafari #PrettyPlease

Steve Troughton-Smith:

Just to make the iMac Pro people miserable: if you look at Geekbench’s LLVM component, the iPad Pro’s A12X handily outperforms the iMac Pro’s Xeon at compiling…

Steve Troughton-Smith:

Putting USB-C on the iPad has confused a lot of the tech press; TL;DR the capabilities are the same as the Lightning USB adapter, just with added 4K support. MFi is still a thing, app developers can’t write apps or drivers for USB devices, etc. Nothing, as yet, has changed

I remain unconvinced that the new iPad Pro actually drives a 5K display at 5K. There hasn’t been a straight answer from Apple on this yet, but I believe it’s 4K60 as the specs page suggests (upscaled to fill 5K by display). I’d love to be wrong & look forward to definitive answer

Marques Brownlee:

Been using this new iPad Pro for a couple days now and the review is coming soon. But bottom line - It’s ridiculously powerful to the point where it almost doesn’t matter because iOS is still iOS.

Best iPad by far. Still an iPad.

Colin Cornaby:

Hi going to repeat again that I still think an ARM version of macOS that has changes for touch should be what the iPad runs

Bob Burrough:

If you try to jam keyboard and mouse into iPad, just so you can say it replaced your computer, iPad is no longer designed for a specific scenario. It can be used in all scenarios...none of them considered. That’s not design. That’s anti-design.

Mark Gurman:

2015: “iPad Pro review: Big and powerful, but it won’t replace your laptop”
2016: “iPad Pro 9.7 review: Apple’s best tablet, but it won’t replace a laptop”
2017: “iOS 11 on an iPad Pro still won’t replace your laptop”
2018: “Nope, Apple’s new iPad Pro still isn’t a laptop”

Ben Bajarin:

It definitely isn’t a truck. But it is a car.

This is always the rub with more tech reviewers profiles in that they are people who need a truck, reviewing a car, with truck use cases in mind.

And probably never will.

What do you think about the idea that PC/Mac innovation has peaked but iOS/iPad still has room to grow up?

It only looks like it peaked out because Apple hasn’t been focusing on the Mac for the last 10 years or so.

Steve Troughton-Smith:

It was way easier to excuse the missing basics before iPads cost $2000 and had power outstripping the MBP. Even in iPad Pro’s own market segment, it’s the only product missing all of these things, like external storage support, desktop-class browsing, mouse input, etc

David Heinemeier Hansson:

I keep wanting to love the iPad for everything-but-programming, but even for RAW-based photography, the software still just isn’t there. So much performance, so little workflow.

Raymond Wong:

How fast is the new iPad Pro at exporting 3-min 4K vid to 1080p in Adobe Rush CC?

- 56% faster than 2017 iPad Pro
- 711% faster than iPad Air 2
- 115% faster than iPhone X
- 35% faster than iPhone XS
- 124% faster than 2015 MacBook
- 804% faster than 2017 Surface Pro

Steven Sinofsky:

I’m fascinated by the technical “class” obsession w/ iPads replacing laptops.

This review of GUI and mouse is what I think some of the review of the iPad will look like in 20 years. Sure I could be wrong.

I have no illusion of convincing anyone but some thoughts…

Walt Mossberg:

The most important word in your thread is “scenario”. I ordered a new MacBook Air because I still need or prefer a Mac for some scenarios. But my most used, and favorite, computers, are my iPads (a Pro and a mini) and my iPhone X.

Jason Snell:

The iPad Pro is a Rorschach test, or if you prefer, a mirror. People see what they want to see

Patrick Moorhead:

With all the iPad defenders coming out of the woodwork, it’s evident to me that some sense of a panic button has been pushed. Because I have many people SiliconValley‘splaining to me how the PC is the new mainframe. Fact is, the PC has adopted most characteristics of the tablet.

Nilay Patel:

As one of the few people outside of Adobe that has used Photoshop for iPad, I think it will make for a great mobile complement to a desktop, but not much more. We have a full dive here:

Gabe Weatherhead:

As excited as I am to get my new iPad Pro with a USB-C connection, it doesn’t feel like Apple is putting a lot of wood behind this arrow. These are iterative improvements because any major changes require major changes to iOS and the entire interaction model behind app and window management.

For a certain percentage of iPad users the device is feature complete.

Marco Arment:

Figured it out.

The LG UltraFine 5K does NOT work with the iPad Pro. It only accepts Thunderbolt input, but the iPad Pro outputs 5K over USB-C as DisplayPort, not Thunderbolt.

A 5K display that supports DisplayPort input should work, but I don’t have one to test.

Samuel Axon:

Ars sat down with Anand Shimpi from Hardware Technologies at Apple and Apple’s Senior VP of Marketing Phil Schiller to ask. We wanted to hear exactly what Apple is trying to accomplish by making its own chips and how the A12X is architected. It turns out that the iPad Pro’s striking, console-level graphics performance and many of the other headlining features in new Apple devices (like FaceID and various augmented-reality applications) may not be possible any other way.

Federico Viticci:

Fun in USB-C land with the new iPad Pro and an UltraFine 4K display:

The USB-C cable that comes in the box with the iPad Pro cannot mirror the iPad to the external display. It just charges it.

The USB-C cable that comes with the UltraFine supports 4K60 mirroring.

Benjamin Mayo:

To add onto the mess, if you walk into an Apple Store and want to buy an Apple cable that actually works with displays, you need to buy the Thunderbolt 3 USB-C cable — even though the iPad doesn’t use the Thunderbolt 3 part.

Jacky Haruhiko:

Nobody understands the difference between a USB-C charge only cable which only supports USB 2.0 but not 3.1 speed, and a USB 3.1 Gen 2 USB-C data cable that supports 10Gbps data transfer which requires a separate purchase. And then the Thunderbolt e cable which looks the same.

Michael Love:

Your app is going to look bad if it’s not optimized for this 11" screen, so optimize it. Also, given the generally tepid state of the iPad software market I expect a lot of iPad apps will never be updated, so bear that in mind when evaluating cost/benefit vs 2017 model.

Keith Harrison:

There’s no notch to worry about but there are rounded corners, and the home button is gone, replaced with Face ID and a bottom home screen indicator. There’s also a new Apple pencil gesture. Here’s a quick summary of what you need to know to support the new models.

Nilay Patel:

Gosh where did all these reviewers get the idea that the iPad Pro should be compared to regular computers

James Rogers:

Why does the iPad Pro have to be a laptop replacement? I know that Apple flirts with this messaging, but that alone doesn’t define the device. They also spend time downplaying this concept, as well when it doesn’t suit them. I also look back to Steve Jobs’ original framing of the device as a purpose-built machine that was perfectly suited to particular tasks.

Marco Arment reports that the new iPad Pro’s screen has the same oleophobic coating as other recent models, i.e. it has the increased propensity to collect to fingerprints.

See also: Apple, MacRumors, MacStories.

Previously: October 2018 Apple Event.

Update (2018-11-12): Jason Snell:

That brings us to the new iPad Pro, with 102 magnets spread all around. On the new iPad, Apple’s using magnets in four primary ways: As a way to firmly attach accessories to the device’s back, as an Apple Pencil attachment, to attach the Smart Connector, and to attach a screen cover while locking or unlocking the device.

Nilay Patel:

It’s true that the iPad Pro has enough magnets in it to stick to a fridge. But did you know it will also make you look super silly trying to pull it off a metal table?

Matt Birchler:

Same deal with Apple’s other iCloud web apps. “Use the native apps” you might say, but things like Apple News Publisher don’t have apps. Even if you request the desktop site, it only sorta works.

Steve Troughton-Smith:

How did Apple find itself in a situation where it has three different kinds of incompatible Apple Pencil pairing technology?

Marco Arment:

Can confirm, the new Pencil doesn’t include an extra tip like the first one did.

Whatever their reasons, this feels needlessly stingy.

Alexis Gallagher:

Can anyone with a new Apple Pencil tell me if it’s any more accurate than the old one?

I keep hoping and hoping that one day $1,000+ of cutting edge technology will become a viable substitute for a $3 paper notebook. Is it now?

John Siracusa concurs.

Craig Mod:

The problems begin when you need multiple contexts. For example, you can’t open two documents in the same program side-by-side, allowing you to reference one set of edits, while applying them to a new document.


Switching contexts is also cumbersome. If you’re researching in a browser and frequently jumping back and forth between, say, (the actually quite wonderful) and Safari, you’ll sometimes find your cursor position lost. The document you were just editing fully occasionally resetting to the top of itself. For a long document, this is infuriating and makes every CMD-TAB feel dangerous. It doesn’t always happen, the behavior is unpredictable, making things worse. This interface “brittleness” makes you feel like you’re using an OS in the wrong way.


Even so, once your photos are finally imported, you find that programs like Lightroom CC on iOS are hamstrung in baffling ways. When editing in Lightroom CC on the desktop I make half a dozen virtual copies of good images to quickly compare different crops or edits. On iOS, the ability to make a copy of an image is inexplicably, infuriatingly, not present. You get one copy of each image per album, no more.

Federico Viticci:

Speaking of thumbs: whatever Apple has done to improve thumb detection along the edges of the screen, it’s working really well for me. I was concerned that, with these extremely narrow bezels, the new iPad Pro would pick up accidental taps more often than the old one when holding it in portrait, but this hasn’t been the case for me so far. In fact, if I start holding the iPad from one of the edges with my thumb, I can hold the device by touching both the bezel and the screen and iOS will not register it as a tap or scroll action.

Matthew Panzarino:

So I’ve been on the iPad Pro this work trip to Brazil and it’s great - almost there - but simple things still require gymnastics to pull off.

David Barnard:

Sure, the iPad isn’t a laptop replacement… yet. But if you’re in a pinch and need macOS to accomplish a specific task, using @ScreensVNC on your iPad Pro with your iPhone as a mouse is surprisingly great.

Drew McCormack:

The iPad will never be the primary productivity tool for most people. It’s not about the software either — it’s about the physical interaction. It may not be a popular opinion, but a mouse or trackpad is much less taxing, allowing much more control, with much less effort.

[The case is] fine for typing, but in that config, it’s just a laptop. And I dread having to lift my arms to move the cursor or swap apps. It’s a physical thing.

Frank Reiff:

I think Apple is pursuing a pipe dream with the iPad “Pro”: a device as powerful as a Mac but as simple as the iPhone. A workhorse OS needs more powerful abstractions such as file systems, file types, interprocess communication, etc.

The fallacy is to believe that you can wield the power of say a file system without understanding its abstraction. It’s the deliberate use of the abstraction that unlocks its power. Having to make an effort to learn the abstraction, while inconvenient, is necessary.

Wojtek Pietrusiewicz:

I first read about the wobbly screen in the Smart Keyboard Folio in Will’s post and layer saw that Marco Arment mentioned it in his video review. Do watch the whole thing — it comes at the iPad from a different and interesting perspective.

See also: Adam Jackson’s unboxing photos, The Talk Show, iFixit, Marco Arment.

Update (2018-11-16): Upgrade:

After a week with the new iPad Pro, it’s time for our in-depth review of what we like and don’t like about Apple’s latest tablet hardware. Which size is the best? Why does Jason want to cover his Smart Keyboard Folio with stickers? Does the new Apple Pencil pass Myke’s tests? And why is Jason so angry about Apple’s pro apps?

Jason Snell:

I got kind of fired up at the end of Upgrade today when I considered that Apple’s now selling two high-end, high-powered iPad Pros and yet won’t release their pro video and audio editing apps on the platform, just their simplified subsets.

It’s hugely frustrating & the source of lots of the review pushback - these powerful portable machines with such huge potential and yet still so much pro software not on or available to iOS. Would kill for Logic or a basic level Pro Tools on iOS.

The real shame is, this was all within Apple’s hands - it is a failure, either of imagination or of their OS and app development groups. Apple’s own apps should be leading the charge. Instead, they’re nowhere to be seen.

Jason Snell:

The iPad Pro is not meant to be a toy or a curiosity or an alternate device. It is just as serious a device as a computer, Apple suggests, and if that’s true we should judge it accordingly.

But just because the iPad Pro needs to be taken as seriously as a computer doesn’t mean it should be judged as a PC. The iPad is not a computer, not as the term’s been defined for the past 40 years. It’s something new and different, and it excels in some ways that PCs don’t while also struggling to do some things that PCs do well.

Dan Masters:

I feel there has been a lack of nuance in the ensuing debate; thus, I will analyse the six most common arguments I have encountered.


iPad proponents have understandably confused any critique of the iPad Pro and its OS with the common refrain from years ago: “You can’t use an iPad for real work” — after all, iPads could obviously be used for real work, even prior to the Pro! The mantra was largely unjustified and rightly mocked. However, not all criticisms are created equally, and to dismiss scepticism simply because it seems similar to previous incorrect views, or because it doesn’t align with one’s own experiences is shortsighted.

You may argue that ultimately my quibble is with the iPad Pro’s price, but that its superior specs compared to similarly-priced laptops means it is justified. However, Chromebooks with impressive specs (and prices to match) have not been widely adopted. Why? The software simply doesn’t justify it!

Apple fans have always said specs don’t matter; only user experience does. The iPad Pro is no different[…]

Joe Cieplinski:

iPad has been my favorite Apple device for a long time now. This new edition only strengthens my feeling. I am newly inspired to write apps for this machine. I want to use it more than I already do. It doesn’t have to replace my laptop. It needs to expand my current concept of how and where I use computing devices. And that’s been steadily happening since the first iPad was released in 2010.

Paulo Andrade:

As a developer, I can no longer avoid the iPad. I have to start using it on a day to day basis. It may very well be the future of personal computing.

Update (2018-11-19): Juli Clover:

Alongside the new 11 and 12.9-inch iPad Pro models, Apple introduced a second-generation Apple Pencil, which is designed to work exclusively with its latest tablets.

In our latest YouTube video, we took a look at the new Apple Pencil 2 and compared it to the original Apple Pencil to highlight all of the improvements that Apple made with the second iteration of its iPad stylus.

Juli Clover:

Apple’s new 11 and 12.9-inch models are its thinnest yet, measuring in at just 5.9mm, and both forum complaints and a new bend test video suggest the two devices have the potential to bend without a huge amount of force.

Marco Arment:

“Flaws” that matter about the iPad Pro:

- The Face ID sensors are in a bad spot that your left hand often covers when holding in landscape

- The Keyboard Folio is a bit clumsy

- Everything’s more expensive than before

“Flaws” that don’t matter:

- It is possible to bend it

John Gruber:

But, I will object to one thing: the iPad feels like a young platform, yes, but it’s not young. It’s over 8 years old. Steve Jobs was still around to introduce it. When the Mac was 8 years old in 1992, System 7 had been launched and it was a very advanced platform, suitable for work of any kind. The new iPad Pro hardware might be the best consumer computer hardware ever made — the only rivals are the iPhone XS and XR. But software-wise, the iPad platform is nowhere near as far along after 8 years as the Mac was a generation ago. The iPhone is. But the iPad is not, and I don’t see how anyone can deny that.

Juli Clover:

Apple today shared a new short video focused on the recently released 11 and 12.9-inch iPad Pro models, listing five reasons why the tablets can be your next computer.

Update (2018-11-21): Bob Burrough:

The “What’s a computer?” ad is yet another Apple marketing failure, but the real problem is much more fundamental. These products are supposed to be so designed as to market themselves. Apple is trying to force iPad into use-cases where it is not the best tool for the job.

If Apple wants to build a mobile productivity platform, they should start with a blank sheet of paper and figure out what a product needs to have to do exactly that, and do it better than all alternatives. If they did that, it would sell itself.

Nick Lockwood:

Sigh... another day, another timeline full of iPad fans trying to get their story straight about whether Apple is taking its time to adapt iOS for pro users, or whether it already did but pros are just too dumb to know all the obscure features and gestures that make it usable.


Did pros really want Photoshop on the iPad, or did they actually want a Mac tablet they could draw on? Apple never offered that option, so sales of iPad Pro and Photoshop for iOS may be misleading.

Federico Viticci:

The beauty of computers is that they won’t judge you.

Use whatever computer you prefer. Use a terminal, a Mac, a PC, a phone, an iPad, a Chromebook. It doesn’t matter. The work you do matters.

Never let anyone tell you that the way you create something is wrong. Just do it.

Update (2018-12-03): Jason Snell:

With apologies to FiveThirtyEight, I also whipped up this scatter chart, showing current models, charting their benchmark scores against their prices.

The real thing to measure in this chart is height above the trend line. And by that measure, the 2018 iPad Pro is way ahead. Meanwhile, the Touch Bar MacBook Pro models all retain a fairly consistent height above the trend line. (And the less said about the 12-inch MacBook, the better.)

Update (2018-12-04): Jordan Merrick:

The fact that the iCloud website doesn’t work properly on an iPad—and hasn’t for years—is beyond frustrating. How can Apple expect others to take the iPad seriously if their own web pages don’t work correctly?

Update (2018-12-19): Becky Hansmeyer:

And then there’s this: to really thrive, the iPad needs a richer ecosystem of pro applications. Besides filling the obvious holes in its software line-up like Logic and Final Cut Pro (also Aperture 4ever ❤️), Apple needs to offer developers more capable APIs and continue to improve its App Store guidelines and practices.

For example: improve the revenue split, aggressively purge scammy apps from the store, stop nitpicking every little thing from developers with a good track record (alternatively, make the guidelines more clear), continue to explore new business models, and make it a helluva lot easier for developers to implement subscriptions. To an outsider like me, this doesn’t seem like rocket science. Perhaps it’s just poor organization, or utter cluelessness, or maybe it’s a stubborn unwillingness to even acknowledge (let alone address) these issues because it might negatively affect the bottom line. Whatever the case, it’s holding iOS back.

I long for a day when iPad reviews aren’t by necessity reviews of iOS. A day when we’re just bickering over specs, colors, ports, and keyboard layouts. Some say we’ll never see such a day while Tim Cook is at the helm. I prefer to remain optimistic. 2019 will be the year, I just know it. 2019, y’all. You’ll see.

Update (2019-04-08): peterfromsarasota (via Damien Petrilli):

Has anyone else found that leaving their Apple Pencil 2 attached to their iPad Pro 11 overnight drains the battery anywhere from 15%-25%. I did a test of leaving the pencil attached over night and saw a 17% loss in the iPad battery. The pencil was fully charged when I left it connected overnight. So it really had nothing to charge on the pencil. Then I charged the iPad to 100% and left overnight without the pencil attached and the next morning the iPad battery was still at 100%.

Seems like the Apple Pencil 2 is constantly drawing power from the iPad Battery.

Wednesday, November 7, 2018

Server-side Swift: Making Canopy

Max Howell:

Swift is not the best language at everything, but it is the best set of trade-offs that make it the best language overall for anything (it supports) right now. Since it was announced the clear and careful design decisions of Swift-Core have impressed me enough to commit to it entirely. I have programmed in many, many languages and often find that the language and its standard library are inconsistently good, Team-Swift give a damn about their language and its standard library at a level beyond anything else out there.


Intrinsic type-safety cross-process with barely any work from me was super comfy and made the 1,000 miles between me and my server seem no different to passing data between view-controllers.

However the lack of dynamism means even adding a single parameter to these structs means versioning my endpoints or making new parameters Optional. It’s not all roses, but frankly, versioning has worked well and means my code for interpreting incoming data is not a logic bomb of if-statements, it is carefully, separately encapsulated and tested, type-safe endpoints.

Previously: When JSONDecoder Meets the Real World, Swift.Codable, Swift 4: JSON With Encoder and Encodable.

Losing Health Data When Upgrading a iPhone

Ryan Jones:

Mom lost all 4 yrs of health data moving to new iPhone. Apple support says it’s not in the cloud.

Thus continues the years of confusing unclear health data management.

Health data truth, as on Nov 2018.

✅ iCloud Sync, if toggled on
❌ iCloud Backup, never ever
❌ Unecrypted iTunes Backup, never ever
✅ Encrypted iTunes Backup, only if iCloud Sync is off

So, if you get a new phone and it magically disappears from iCloud...

Ryan Jones:

Without explaining the hoops and exceptions, here’s what to do:

Apple syncs health data, aka sends it between devices. When one device has it, you’re good. When switching to new iPhones this often isn’t true.

To be safe: Open Health, tap your head, tap export; monthly.

The Health app can’t import its own data, so you need to use (and trust) a third-party app. Also, chances are you’re going to use iCloud (or some even less secure means) to transport the export file, so why not just include it (optionally) in the iCloud backup. This is a pattern we see from time to time with Apple. You run into the limits of Apple’s idealized solution and then it’s sort of your fault if something goes wrong with the more pragmatic solution that you resort to. But it’s also sort of Apple’s fault for only solving part of the problem that it was in the better position to address.

Ryan Jones:

You MUST keep old phone online on iCloud. ICloud itself knows nothing about health, it just transports it from devices.

There’s no reason this kind of system should be any more reliable than iMessage delivery, which I’m still having trouble with. But the consequences are potentially much greater: losing a potentially large amount of important data.

Update (2018-11-08): This seems like such a weird design. Few people seem to know that this is how the data is supposed to be transferred. Even if you know how it’s supposed to work, how can you tell when it’s done, and it’s safe to get rid of the old phone?

Thomas Brand:

This happened to me last month when I upgraded from my iPhone SE. I lost all of my Health data backed up to iCloud. My only recourse was restoring from my last iTunes backup taken in June. I was forced to choose between restoring 2 years of running data or my last iCloud backup.

Ryan Jones:

Again this is the crux with Health data. It syncs via iCloud. That means it uses iCloud to send changes back and forth, but it’s not backed up or snapshotted anywhere. So IF it gets out of sync, over writes data, things an empty phone is the truth... F’ed.


Meaning health data is STORED in iCloud but it is NOT BACKED UP in iCloud.

Meaning they keep only the one “live” copy.

So you buy a new iPhone, trade in your old one, start the iCloud restore, hand Apple employee your old phone and they wipe it... boom, all gone, the end.

Update (2019-06-14): Joe Cieplinski:

The Health App has spontaneously deleted every caffeine entry I’ve made in the past 13 months and synced the deletion to iCloud. My data is gone.

Marina Epelman:

Interestingly, the app I use to track my weight had its access to read and write data from/to Health turned off a few days ago (unbeknownst to me) and thus Health lost several years worth of weight tracking because of that.

Ryan Jones:

EVERY YEAR. Especially when new iPhones. Health data is so “private” that sync doesn’t work as you’d expect and they can never recover. I use a third party app to daily dropbox backup.

Tuesday, November 6, 2018

String’s ABI and UTF-8

Michael Ilseman:

We just landed String’s proposed final ABI on master. This ABI includes some significant changes, the primary one being that native Swift strings are stored as UTF-8 where they were previously stored either as ASCII or UTF-16 depending on their contents.


Unifying the storage representation for ASCII and Unicode-rich strings gives us a lot of performance wins. These wins are an effect of several compounding factors including a simpler model with less branching, on-creation encoding validation of native Strings (enabled by a faster validator), a unified implementation code path, a more efficient allocation and use of various bits in the struct, etc.


By maintaining nul-termination in our storage, interoperability with C is basically free: we just use our pointer.


Efficient interoperability with Cocoa is a huge selling point for Swift, and strings are lazily bridged to Objective-C. String’s storage class is a subclass of NSString at runtime, and thus has to answer APIs assuming constant-time access to UTF-16 code units. We solved this with a breadcrumbing strategy: upon first request from one of these APIs on large strings, we perform a fast scan of the contents to check the UTF-16 length, leaving behind breadcrumbs at regular intervals. This allows us to provide amortized constant-time access to transcoded UTF-16 contents by scanning between breadcrumbs.


The branch also introduces support in the ABI (but currently not exposed in any APIs) for shared strings, which provide contiguous UTF-8 code units through some externally-managed storage. These enable future APIs allowing developers to create a String with shared storage from a [UInt8], Data, ByteBuffer, or Substring without actually copying the contents.

This sounds great. Here is the pull request and the implementation of StringObject (which is actually a struct). Note that this locks in the in-memory layout for Swift strings, because code that uses them may be inlined. In contrast, Cocoa’s NSString has an internal representation that has evolved over time. This was possible because access was indirected through the Objective-C runtime.

Previously: Swift String ABI, Performance, and Ergonomics, Swift ABI Stability Dashboard.

Update (2018-11-07): See this pull request from David Smith about improving performance for bridged strings (tweet).

Update (2018-11-09): See also: Hacker News.

Update (2018-12-11): Michael Ilseman:

Would you like to access the raw UTF-8 code units backing a String? Now you can, thanks to String.UTF8View.withContiguousStorageIfAvailable hook[…]

Flickr to Limit Free Accounts to 1,000 Photos

Andrew Stadlen:

Beginning January 8, 2019, Free accounts will be limited to 1,000 photos and videos. If you need unlimited storage, you’ll need to upgrade to Flickr Pro.

In 2013, Yahoo lost sight of what makes Flickr truly special and responded to a changing landscape in online photo sharing by giving every Flickr user a staggering terabyte of free storage. This, and numerous related changes to the Flickr product during that time, had strongly negative consequences.

First, and most crucially, the free terabyte largely attracted members who were drawn by the free storage, not by engagement with other lovers of photography.


Giving away vast amounts of storage creates data that can be sold to advertisers, with the inevitable result being that advertisers’ interests are prioritized over yours. Reducing the free storage offering ensures that we run Flickr on subscriptions, which guarantees that our focus is always on how to make your experience better.

Don MacAskill:

Actually, more than 97% of @Flickr Free accounts are under 1,000 photos. The changes we announced today are mostly about enhancing Flickr Pro. Less than 3% of Flickr Free accounts, who chew up a huge amount of storage & costs that others must bear, are asked to make a decision.

This makes sense except that:

A. Lee Bennett Jr.:

All the people complaining of the @Flickr changes and are leaving are probably the ones that will make Flickr a better community when they leave.

Hope y’all enjoy Google Photos’ compression and watching your original/uncompressed photos disappear.

Previously: SmugMug Acquires Flickr.

Update (2018-11-08): Don MacAskill:

The Flickr Commons photos (those uploaded by the archival, governmental, etc. institutions we are working with) are safe. We are extremely proud of these partnerships. These photos won’t be deleted as a result of any of our announced changes. The only reason they’d disappear is if the organization that uploaded them decided to delete them.

Photos that were Creative Commons licensed before our announcement are also safe. We won’t be deleting anything that was uploaded with a CC license before November 1, 2018. Even if you had more than 1,000 photos or videos with a CC license.

Update (2018-11-13): Glenn Fleishman:

Do you know someone who died and their Flickr account remains at free tier, and they have > 1,000 photos and videos? I’d suggest contacting their family, and then contacting Flickr. In an interview with SmugMug head Don MacAskill he said several people raised the notion of accounts of deceased people losing images, but on asking, he as of a few days ago hadn’t been given any actual account names.

Nick Heer:

Pretty wild that this Flickr email announcing that they’ll be deleting some of my photos in three months buries that rather critical detail in small grey text near the bottom.

Update (2019-01-14): Brian Matiash:

If you think about it, 2018 has been a very turbulent year for photographers and the social media platforms we frequent. We’ve poured one out for Google+, Facebook has had its trust shattered after a series of PR and political nightmares, 500px was sold to the “Getty of China,” and Instagram has all but nuked originality and organic growth. So, you could imagine the vacuum that is being created for photographers who are looking for a proven place to share their work in ultra-high resolution (Flickr will soon support photo resolutions up to 5,120 x 5,120) and use embedded color profiles (that’s coming soon, too), while also being a part of authentic communities.


I, for one, am very excited to see new life being breathed into Flickr and strongly believe that SmugMug is the right company to do so.

Don MacAskill:

Here’s your fun fact of the day: Every major tech company you can think of (Google, Apple, Amazon, Adobe, Microsoft, …) have wanted to acquire us. I’ve never even heard the price. They haven’t answered my first Q properly: “Who are our customers and how will you care for them?”

David Heinemeier Hansson:

The best part of Flickr’s new paid model is that going pro means that your FOLLOWERS get to avoid being showered with ads. That’s probably what felt most dirty about feeding Instagram. You’re giving Facebook the bait to hook others with. Ugh.

Brian Matiash:

While you may cry and lament that the ad-free @Flickr experience requires a $50/yr Pro sub, at least you have that option. You think FB/IG would ever let you pay $50/yr to suppress those incessant ads? Absolutely not. Options are good. Consumers win w/options.

Nicole S. Young:

However, something has changed, I can feel it. It’s similar to that anticipatory sensation you get when you’re standing outside and the air shifts just before a storm. Photographers are talking about Flickr again! People are sharing photos, and replying to discussions in groups! It still has a way to go before it is really back to what it was (and hopefully even bigger and better than its glory days), but it is going to get there.


I’m hopeful that groups become a really big part of Flickr again. But right now it’s extremely challenging to find a group that is active. Many of them may have photos recently added to the group’s photo pool, but if you look at the discussion many of them have not been updated in many, many years.

Dave Winer:

I requested to download all the info Flickr has about me on Tuesday, got the data on Wednesday, and yesterday I spent a couple of hours trying to figure out what I got.

Update (2019-01-23): Chuq Von Rospach:

I’d like to see them take this a step further as part of the work to revitalize groups: remove the ability to post photos to a group anywhere but the group page itself. Right now, you can do it from an image page, and I think that encourages mindless image dumping, because you don’t actually have to interact the group to dump images on it. That just encourages spamming of images, which we want to see go away. So make people click into a group to post an image, which will both discourage wide spamming (or at least make them waste more time doing it) and get them on the group page to see the group rules and the discussion areas.

Discussion areas are still in most groups a wasteland and a ghost town, and I want to see Smugmug do some updating here to make them more interesting and relevant. They seem to be making good progress on the general forum spam problem, which is nice.

I’d also suggest they identify all of the groups where the admins are no longer active on flickr, or groups who’s admins have left flickr — and delete them. Flickr groups would be a stronger feature with 50% fewer groups seeking attention, honestly. Or maybe 90% fewer. Clear out all of the deadwood, and let the new Flickr population start building a new community there.

Anil Dash:

It’s been largely overlooked that FOMO was coined by Caterina Fake, a cofounder of Flickr — one of the very first people who ever helped create a large-scale social network for photo sharing. Her comments on FOMO came less than 6 months after Instagram launched. Though of course both services seemed superficially similar because they were social networks built around photos, Instagram’s social design was almost always with the opposite intent of Flickr’s social goals. It was almost as if Instagram was designed to optimize for FOMO.

Apple’s New Map

Justin O’Beirne:

If RMSI is creating Apple’s buildings by manually tracing them from satellite imagery, it would explain how Apple’s building perimeters could be more precise than Google’s algorithmically-generated buildings:


Regardless of how Apple is creating all of its buildings and other shapes, Apple is filling its map with so many of them that Google now looks empty in comparison[…] And all of these details create the impression that Apple hasn’t just closed the gap with Google—but has, in many ways, exceeded it...

...but only within the 3.1% of the U.S. where the new map is currently live.


In other words, TomTom’s database somehow has roads from Parkfield’s boomtown days—roads that have been gone for more than 75 years. No wonder why Apple removed them.


Unless they’re already listed on Yelp, none of the shapes Apple has added appear in its search results or are labeled on its map. And this is a problem for Apple because AR is all about labels—but Apple’s new map is all about shapes.

So is Apple making the right map?

James O’Leary:

Apple: “We don’t think there’s anybody doing this level of work that we’re doing.”

TechCrunch: “wow lemme write that”

Ex-Apple Maps, politely: you offshored maps to 5,000 doing manual work. after 5yrs, you have vegetation for 3.1% of the US +bad place data

John Gruber:

O’Beirne’s keen observation is this: even in the areas where Apple’s new maps have rolled out, Google is still far ahead in correctly identifying places and specific destinations.

Nick Heer:

Rebuilding Maps in such a comprehensive way is going to take some time, so I read O’Beirne’s analysis as a progress report. But, even keeping that in mind, it’s a little disappointing that what has seemingly been prioritized so far in this Maps update is to add more detailed shapes for terrain and foliage, rather than fixing what places are mapped and where they’re located. It

Rui Carmo:

At this rate, we are never going to be able to use Apple Maps in Europe.

Although Apple Maps have improved markedly (and worked OK during my recent trip to Edinburgh) there are still loads of things missing (landmarks, streets, transit info), and have stayed that way for years, whereas Google Maps are sometimes corrected within days.

Previously: Rebuilding Apple Maps Using Apple’s Own Data, Google Maps’s Moat.

Update (2018-11-09): See also: Hacker News.

Monday, November 5, 2018

Dan Frakes Goes to Apple as Mac App Store Editor

Dan Frakes:

Some job news (thread): After 4(!) amazing years at @wirecutter, I’m leaving for a new editorial position at Apple (Mac App Store Editor!) focused on helping Mac users discover and get more out of great Mac apps. (It’s like Mac Gems redux :) )

John Gruber:

And on a personal level, this trend is not good for me, because I can’t link to App Store articles, because they’re not on the web. They only exist within the App Store apps. I can’t link to some of the best pieces being written these days about indie iOS and Macs apps — and that’s a little weird. And none of these pieces are archived publicly.

The Mac App Store app itself feels locked down. There’s a steady stream of new content in it, but as far as I know there’s no RSS feed or mailing list to find out about it. You can read the content in the app, but you can’t export or print it to read it elsewhere or save it. You can’t even select the text to copy an excerpt.

Meanwhile, the full collection of apps seems to only be available via search. Only the top sellers in each category are listed. It feels like Apple is hiding away both the content (which I agree is good) and the apps.

Previously: Is There Hope for the Mac App Store?.

Backblaze bzfileids.dat Scaling and Little Snitch


As part of our backup process, Backblaze will run a checksum against each file before uploading it. This requires the entire bzfileids.dat file to be loaded into RAM. After a long time, or if you have an extraordinarily large number of files, the bzfileids.dat file can grow large causing the Backblaze directory to appear bloated. The only way to resolve this would be to repush (or reupload all of your data).

Via Matt:

Known for >7 years. Bit me when a drive died and I restored. Could not handle deduping it’s index after restoration and it grew too big. The software has one job...

I don’t understand why this is still an issue. Couldn’t they use a database or other indexed structure instead of keeping everything in RAM all the time?

Ryan Waggoner:

I use LittleSnitch and bztransmit has recently been prompting to be allowed to connect to,, and Seems suspicious.

Brian Gerfort:

Uhm. @backblaze, I don’t feel so safe with you anymore if your developers think this is an acceptable thing to do? Your backup software should only be talking to you. This is not a good look.


The Backblaze client needed to solve a technical problem, which is to distinguish when the customer’s computer is entirely offline (no network connectivity) and when Backblaze’s datacenters and servers are offline (which is unusual). The way I implemented this is that ONLY IF the client cannot reach the Backblaze servers, then in that case the client attempts to fetching the homepages of these three websites without any cookies and ignoring the results that come back (other than verifying they are valid HTML)[…] to establish the difference between “the Backblaze service is down” and “you have no internet connectivity at all.”

The reasoning actually makes a lot of sense; the issue is that the user has no way of knowing what is happening or why.


FYI in my case this happens when I am connected to a network that allows connections to Reddit, Wikipedia and Google but blocks backblaze. I quickly figured out that this was some kind of connectivity detection but is mildly annoying (but no big deal).

Yev Pusin:

when I worked at Wells Fargo (before Backblaze) almost all websites were allowed for social reasons (marketing teams need access to Facebook/Twitter/LinkedIn) but Backblaze was actually blocked as well. Why? Because it’s a backup service and Wells Fargo does NOT want you backing up your company machine, so all backup companies were blocked

Update (2019-01-04): Richard Gaywood, on another scaling issue:

When the only free restore method @backblaze offers can’t restore all your files...

How annoying. I can work around by doing it in chunks, but that’s not a great UX.

MacBook’s T2 Will Prevent Eavesdropping on Your Microphone

Zack Whittaker (tweet, MacRumors):

Little was known about the chip until today. According to its newest published security guide, the chip comes with a hardware microphone disconnect feature that physically cuts the device’s microphone from the rest of the hardware whenever the lid is closed.

“This disconnect is implemented in hardware alone, and therefore prevents any software, even with root or kernel privileges in macOS, and even the software on the T2 chip, from engaging the microphone when the lid is closed,” said the support guide.

The camera isn’t disconnected, however, because its “field of view is completely obstructed with the lid closed.”

Nikolaj Schlej:

I’d like to personally thank HW engineering and HW bring-up teams at Apple and Intel for eSPI SAF capability of new chipsets.

Previously: October 2018 Apple Event, Micro Snitch 1.0.

Update (2018-11-06): Maxwell Swadling:

wait does this mean FaceTime audio in lid closed + monitor plugged in config also doesn’t work?…

Update (2018-11-12): See also: Hacker News.

Apple Legal Doesn’t Like Domain Redirect

Ryan Jones:

Apple’s lawyers sent me an IP infringement letter about 🙄.

I sent a… stern reply (one example shown). But I’m not going to renew the domain, just to avoid this crap. Sorry I don’t have the time to fight it.

It’s too bad because this was addressing a real issue: that Apple’s official link to manage app subscriptions is unwieldy and hard to find.

Previously: Apple Pulling High-Grossing Scammy Subscription Apps Off the App Store, App Stores No Longer Listing All In-App Purchases, Is There Hope for the Mac App Store?, The Mojave Marzipan Apps.

If Apple were to place the link to subscription management somewhere more obvious in the Settings app, perhaps under the iTunes & App Store section—or better yet, right in the top-line Apple ID, iCloud, iTunes & App Store—that would be a big improvement. Adding an easier-to-find link in the iTunes Store and App Store apps would also be welcome.

Fortunately, developers can help make finding subscription settings easier, too.

Interesting contrast: Google Play’s subscriptions link is front and centre

Where was that thread re: “super easy” subscription management on the App Store again? Got a sad addendum here…

User felt they had to cancel their credit card to stop a subscription. (And we get a 1-star, of course.)

Max Seelemann:

We’re getting 1-star reviews every single day for stuff that’s beyond our control. Other examples:

- it’s basically impossible to update apps no longer on sale: 1 star
- the store says “free” for an app that requires a subscription: 1 star

Apple recently made a change (seems iOS 12.1.4 and 12.2 beta) to make it easier to manage subscriptions for iOS apps.

Now you just need to open the App Store, tap your profile, and choose ‘Manage Subscriptions’.

The WWDC App Is Unusable Offline

This weekend, my iPhone ran out of space and couldn’t take any more photos. No problem, I thought, I’ll just go into the WWDC app and delete some of the downloaded videos that I recently finished watching. Unfortunately, without a network connection, all the app shows is a progress spinner. There is no cached list of sessions or even of the videos that are filling up my phone. I thought this was supposed to be an example of the proper way to write a CloudKit app?

I have Cellular Data disabled for the WWDC app because it doesn’t do anything time-sensitive that would be worth counting towards my plan’s quota. I’ve already pre-downloaded all the videos I want to watch while on Wi-Fi. And, in this case, I didn’t have a good cell signal, anyway.

So I resorted to what I always do: going to Settings and temporarily deleting some music synced from my Mac. After transferring the photos to my Mac, iTunes automatically puts the music back. Music is a pragmatic way to reserve some easily purgeable storage.

Apple’s Q4 2018 Results

Apple (MacRumors):

The Company posted quarterly revenue of $62.9 billion, an increase of 20 percent from the year-ago quarter, and quarterly earnings per diluted share of $2.91, up 41 percent. International sales accounted for 61 percent of the quarter’s revenue.

Services revenue reached an all-time high of $10 billion.

Jason Snell:

iPhone sales were up slightly over the same quarter last year, but iPhone revenue during the same period was up 29 percent. Mac sales dropped 2 percent but Mac revenues rose 3 percent. iPad unit sales fell 6 percent and iPad revenues dropped 19 percent.

Neil Cybart:

Apple will stop providing iPhone, Mac, and iPad unit sales data.

 Observer:

I remember hearing Steve Jobs saying something along this line: if you are proud of your numbers, tell the world. Or something like this.


Funny comment on the Verge[…]

Luca also announced earlier, but we didn’t get it entered, that Apple will start providing both cost of sales and revenue for all product categories, including services.

Bob Burrough:

All product categories are flat or down. Apple will continue to increase markup through 2019, to the degree that unit sales will drop although revenue increases. Making more money from fewer people.

Dan Masters:

I think that everyone is raising prices simply because Apple is doing it. Apple paves the path for most everything in the industry.

Tom Warren:

Apple’s financial report is out.

Apple’s iPhone is now 59% of its earnings

iPad is 6%

Mac is 11.7%

Services is 15%

Apple Watch, beats, everything else 6%

Apple makes more money milking iPhone services than selling Macs. That’s the future of Apple


Speaking of unreportable units: iPod, iPad, Watch, AirPods, etc have all come to dominate their respective segments at 50-70% in market share and 70-90% in profits. I’d love to be in trouble like that any day.

Mark Gurman:

Apple Inc. shares had their worst day since 2014 amid concerns that growth in its powerhouse product, the iPhone, is slowing.

Ben Thompson (Hacker News):

Apple has long been an exception in the smartphone space when it comes to reporting unit sales, so deciding not to is not that out of the ordinary; Apple, though, has always positioned itself as the extraordinary alternative — the best — and that approach paid off for years with sales numbers that were worth bragging about.

The reality, though, is that unit sales in isolation have indeed misrepresented Apple’s business for the last several years; specifically, they have underestimated it.


What the reports are right about, though, is that unit sales going forward are absolutely a story Apple would prefer to avoid: it is very unlikely that units will grow, and while Apple pushed pricing even higher with the iPhone XS Max, it probably can’t go much further, which means it is likely that the average selling price-based revenue growth story is drawing to an end as well.


This, though, is why Today at Apple is compelling, particular Ahrendts’ reference to bringing people together in a “real social way” — and she could not have emphasized the word “real” more strongly. Apple is in effect trying to build a social network in the real world, facilitated and controlled by Apple, and betting that customers will continue to pay to gain access.


Now Apple is arguing that unit sales is the wrong way to understand its business, but refuses to provide the numbers that underly the story it wants to tell.

Previously: October 2018 Apple Event.

Update (2018-11-06): Charles Arthur:

On with the graphs.

Jason Snell:

Here’s a complete transcript of Thursday’s Apple call with analysts.]

Benjamin Mayo:

Moreover, I expect a lot of turbulence in the Mac and iPad businesses in the near future, as each of those products go through major transitions. It’s a lot easier to make those changes when there is less focus on financials.

Update (2018-11-12): John Gruber:

For all the fretting for the future of the Mac — the widely held notion that Apple wants everyone to move from the Mac to iPad, that these totally shitty Marzipan apps in Mojave are the future, that the Mac is “legacy” — here is some cold, hard, financial proof that the Mac is doing as well as ever. Not only was the Mac far ahead of the iPad in terms of revenue, it’s downright amazing that it amounted to one-fifth the revenue from the iPhone.


I wish it weren’t so, but I don’t blame Apple for making this change. I also don’t think it has anything to do with Apple expecting bad unit sale numbers in the near future. Apple doesn’t make policy changes like this with the near term in mind. This change will affect what they announce in all quarters, for years to come, whether unit sales are good, bad, or middling. Apple is a long-term company, not a short-term one.

Ryan Jones:

Not so sure about your Mac comments. Lowest Q4, lowest Q3, and second-lowest Q2 in years. Higher prices is the “good news”.

cremnob (via Zac Cichy):

Apple’s gross margins haven’t changed at all in recent years. And that’s with the higher-than-corporate-average gross margin from Services becoming a bigger part of the business. That implies that component prices have risen, and Apple has passed the cost on

Update (2018-11-15): Aaron Tilley:

But what’s less understood is that as iPhones have increased in hardware complexity, the gross profit margins on Apple smartphones have actually gone down over the past decade, from a high of nearly 74% to around 60% for most of the latest entry-level models, according to an analysis of iPhone component costs provided by TechInsights, a firm that analyzes hardware costs. That is true even as Apple has pushed the price of its smartphones to new altitudes, starting with the $999 iPhone X in 2017.

Friday, November 2, 2018

The Power of Key Paths in Swift

John Sundell:

Let’s see if key paths again can help us make the above syntax a bit simpler, and if we also can get rid of that weak self dance we so often have to do (and with it - the risk of accidentally introducing retain cycles if we forget to capture a weak reference to self).

Since all we’re really doing above is to take the value that was passed to our closure and assign it to a property on our view controller - wouldn’t it be cool if we were actually able to pass the setter for that property as a function? That way we could pass that function directly as the completion handler to our load method and everything would just work.

To make that happen, first let’s define a function that lets us convert any writable key path into a closure that sets the property for that key path. For this, we’ll use the ReferenceWritableKeyPath type, since we want to restrict this to reference types only (otherwise we’d only make changes to a local copy of a value). Given an object and a key path for that object, we’ll automatically capture the object as a weak reference and assign the property matching the key path once our function gets called - like this[…]

Depth Capture With the iPhone XR

Ben Sandofsky:

The iPhone 7 Plus introduced a dual-camera system, which enables a similar way to construct depth. By taking two photos at the same time, each from a slightly different position, we can construct a disparity map.


With the iPhone X, Apple introduced the TrueDepth camera. Instead of measuring disparity, it uses an infrared light to project over 30,000 dots. […] However, depth data isn’t entirely based off the IR dots.


In a DPAF [Dual Pixel Auto Focus] system, each pixel on the sensor is made up of two sub-pixels, each with their own tiny lens. The hardware finds focus similar to a rangefinder camera; when the two sub-pixels are identical, it knows that pixel is in focus.


If you captured two separate images, one for each set of sub-pixels, you’d get two images about one millimeter apart. It turns out this is just enough disparity to get very rough depth information.

The iPhone XR combines this with machine learning to capture depth for Portrait mode.

John Gruber:

I’m so glad Halide offers this, but I can see why Apple hasn’t enabled it for non-human subjects in the built-in Camera app. It’s hit or miss.

Previously: iPhone XR Reviews.

Developing an iOS App in 2018

Renaud Lienhart:

Disregarding the limited utility of the app for most of you, I’d just like to quickly talk about how developing an iOS app from scratch in 2018 feels like.

First of all, the basic architecture of the app: we use MVVM-Rx layered in modules, and the only couple “real” dependencies we have is RxSwift and RxDataSources.

The vast majority of the code is purely functional and reactive. It is a pleasure to read as well as to write.

Secondly, Swift.

From Value Types to CaseIterable, passing by Decodable, Generics, Auto-Synthesised E&H conformances, Keypaths and the power of its Enums, Swift has become an essential pillar of the code we write.

I love Objective-C, but I would never want to go back.

Apollo Pulled From the App Store for Charging for Push Notifications

Chance Miller (MacRumors):

After a feature-rich update over the weekend, Apollo for Reddit has today been removed from the App Store. Developer Christian Selig took to Reddit to explain that he received an email from the App Store Review team explaining that his app violates App Store Guidelines by offering push notifications as an in-app subscription upgrade.


What makes Apple’s approval and subsequent rejection puzzling, however, is that Selig worked directly with Apple to ensure the update did not violate the App Store Guidelines. He was originally told by Apple that so long as he bundled realtime push notification support with other features, such as theming and custom app icons, the update would be approved and not in violation of the guidelines.

Even assuming Apple’s decision had been correct, it’s rude to just remove the app from sale before even talking with the developer. It’s not as if the app was hurting anyone.

Ryan Jones:

This is f’ing bullshit trash. The IAP is for server-side push, but even if it wasn’t this is trash.

Apple is policing guys like us for this ticky tap crap when everyone making sustainable money is using scam IAP’s.

You’re allowed to scam people out of $150 with $3/week trick IAP screens that’s only option are “Continue” or “Subscribe” with a tiny X for close in the corner.

But you can’t charge for server-side push. NO!

Friggin YouTube’s premium subscription at $15/week is for BACKGROUND AUDIO. But nooo, that’s not breaking the rules because they are a big company.

If you are a scam app or a big ass company you can break all the rules. This is the ENTIRE POINT of a walled garden.

You have to protect users from the asshats that show up anywhere there is money from scamming people. Nope, not gonna do that, $150/year for weather is FINE. $8/week for live wallpapers is FINE.

We’re too busy over here policing Indie apps.


Also true #1, if Apollo didn’t have a following - he’d be super screwed. I’ve personally spent MONTHS convincing app review of trivial bullshit.

Also true #2, users are already hesitant to pay for ANYTHING because of sub scams.

Christian Selig:

Update: got off the phone with the same incredibly nice person who called a few weeks back, and the removal was a mistake that they just corrected. A+ turn around time, and mistakes happen.

Collin Allen:

This whole thread. It’s frustrating that legitimate apps still run into App Store red tape, yet the obviously scammy apps seem to sail right through. The whole point of having the iOS walled garden is to keep out garbage, yet any given App Store search is filled with it.

Previously: Apple Pulling High-Grossing Scammy Subscription Apps Off the App Store, Rejected From the App Store for Emoji in Screenshot, Out of Touch.

Thursday, November 1, 2018

SuperDuper’s Smart Wake

Dave Nanian:

Apple, of course, has its own “dark wake” feature, used by Power Nap. Dark wake, as is suggested by the name, wakes a system without turning on the screen. However, it’s not available to 3rd party applications and has task-specific limitations that tease but do not deliver a solution here.

And you can’t put up a black screen on wake, or adjust the brightness, because it’s too late by the time the wake happens.


Basically, if we are running a minute before the backup is scheduled to run, we assume we’re also going to be running a minute later, and cancel any pending wakes for that time. So, if we have an event for 3am, at 2:59am we cancel that wake if we’re already running.

That ensures that a system that’s already awake will not wake the screen, whereas a system that’s sleeping will wake as expected.

SuperDuper deserves an award for sweating so many details like this. Nanian’s posts are a sobering reminder of the difference between theory and practice in app development. A direct API is often missing, so you need to find roundabout solutions. And much remains undocumented and unreliable.

Update (2018-11-05): Dave Nanian:

The result of the rather intensive stress testing: once over about 700 sdautomatedcopycontrollers are queued up waiting, things get weird.

In case it isn’t obvious: no one would ever do that. But it shouldn’t ever get weird, so I’m trying to fix it anyway.

macOS 10.14.1

Howard Oakley:

If you’re not yet convinced that Apple makes major changes to apps without any corresponding increase in version number, consider FaceTime. In Mojave 10.14, FaceTime 5.0 had no support for Group FaceTime; in 10.14.1, that support – one of Mojave’s headline features – is at last introduced, but the app version number remains unchanged. This calls into question the whole purpose of version numbers.


There have been updates to ssh, which may improve its issues over bypassing TCC’s privacy controls.

Howard Oakley:

This article lists bugs which you and I have encountered in macOS Mojave 10.14.1 itself, rather than issues in specific third-party applications and other software.

Previously: macOS 10.14 Mojave Released, Bypassing Mojave Security Protections, Group FaceTime Delayed.

Update (2018-11-06): See also: Apple.

Making Cesium API-Safe

Mike Clay:

Cesium now contains a sizeable chunk of features that have been built upon undocumented functionality and characteristics of the iOS media player API. Undocumented doesn’t mean restricted or forbidden, but it is subject to change without notice. Through the first half of Cesiums life these changes were very minimal. In some instances they could even be exploited to provide new features or improve performance. It was fine as long as it kept working, but it was built on sand. In iOS 11, and now 12, that sand shifted leaving a whole family of interrelated features teetering precariously. For the last 18 months a huge portion of my available development time has been taken up with tinkering like a mechanic trying to keep an old jalopy on the road.


For the last week or so I have been working on a new, API-safe branch of Cesium. A version of the app based (almost) exclusively on documented API features. Certainly in regards to the media player API. The idea is to do only what can be done well, reasonably “safely,” and future-proof. The casualties would look something like this[…]

It is surprising how little the music APIs support.

Previously: What’s Going on With Cesium.

Swift’s “if case let” Syntax

Zoe Smith (via Jim Correia):

case let immediately precedes the candidate pattern in both versions. However, when using if case let the value comes after the = operator


case let is a shortcut so all subsequent associated values can be bound just by providing variable names.


Add conditions to if and guard using commas


Iterate using for, where and logical operators

See also: Swift Closures and Objective-C Blocks.