Archive for October 2016

Sunday, October 30, 2016 [Tweets] [Favorites]

Whole-Module Optimization in Swift 3

Erik Eckstein:

Whole-module optimization is an optimization mode of the Swift compiler. The performance win of whole-module optimization heavily depends on the project, but it can be up to two or even five times.


Even the simple return statement in getElement needs a lookup in the type’s metadata to figure out how to copy the element. It could be a simple Int, but it could also be a larger type, even involving some reference counting operations. The compiler just doesn’t know.


Function specialization and inlining across files are just examples of optimizations the compiler is able to do with whole-module optimizations. Even if the compiler decides not to inline a function, it helps a lot if the compiler sees the implementation of the function. For example it can reason about its behavior regarding reference counting operations. With this knowledge the compiler is able to remove redundant reference counting operations around a function call.


The second important benefit of whole-module optimization is that the compiler can reason about all uses of non-public functions. Non-public functions can only be used within the module, so the compiler can be sure to see all references to such functions.

How Google Almost Killed ProtonMail

Andy Yen:

By the summer of 2015, ProtonMail passed half a million users and was the world’s most well known secure email service. ProtonMail was also ranking well in Google search at this time, on the first or second page of most queries including “encrypted email” and “secure email”. However, by the end of October 2015, the situation had changed dramatically, and ProtonMail was mysteriously no longer showing up for searches of our two main keywords.


In November 2015, we became aware of the problem and consulted a number of well known SEO experts. None of them could explain the issue, especially since ProtonMail has never used any blackhat SEO tactics, nor did we observe any used against us. Mysteriously, the issue was entirely limited to Google, as this anomaly was not seen on any other search engine.


In August, with no other options, we turned to Twitter to press our case. This time though, we finally got a response, thanks in large part to the hundreds of ProtonMail users who drew attention to the issue and made it impossible to ignore. After a few days, Google informed us that they had “fixed something” without providing further details. The results could be immediately seen.

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

Apple’s October TV Surprise

Joe Rosensteel:

Last year I argued that Apple was in no rush, and it wasn’t logical to lambast them for not including the feature. This year, however, as devices push more toward UHD, and HDR, the lack of any model in their lineup that supports it is slightly less excusable at the price point they’re in. […] The only company selling an HD-only streaming media device above $50 is Apple. The only company selling a steaming media device without HDR above $90 is Apple.


Apple announced tvOS 10 this summer, at WWDC and Eddy Cue made a big deal out of Single Sign On. Single Sign On would do away with one of the biggest pain points for cable-subscribers using Apple TVs by providing a one-time authorization. It was billed as part of tvOS 10, and tvOS 10 was billed as coming in September. It never shipped, but it remained at the top of Apple’s product page for the Apple TV until yesterday with a “Coming soon” button under it. No timeline whatsoever.


So Apple made the Fire TV home screen, as an app, except they couldn’t get Netflix onboard, while Amazon could.


There’s a total lack of understanding about TV in homes, which has plagued the product since it shipped last year, and seems guaranteed to persist another year.

Update (2016-11-02): See also: Hacker News.

Update (2016-11-05): Jared Newman:

The Apple TV’s lack of conviction isn’t just about words, it's about action. On that count, the upcoming TV guide will be a half-hearted solution for as long as Apple relegates it to a separate app, rather than making it a core element of the Apple TV interface.

HomeKit’s Stringent Security Requirements

Aaron Tilley (in 2015, via John Gruber):

Apple allows for either WiFi or Bluetooth low energy (LE)-enabled devices to get certified as a HomeKit accessory. Apple is requiring device makers using both WiFi and Bluetooth LE to use complicated encryption with 3072-bit keys, as well as the super secure Curve25519, which is an elliptic curve used for digital signatures and exchanging encrypted keys.


Another source who requested anonymity to protect his relationship with Apple said lag times reached 7 minutes when his company’s device tried to use the HomeKit protocol through Bluetooth LE. According to the source, chipmakers like Broadcom BRCM +% and Marvell are revamping their Bluetooth LE chips to better handle the level of encryption required by Apple.


All of this pain, however, could be a boon for the smart home industry, especially on the security side. The industry has had to contend with a reputation for lackluster security.

The Price of GPL

Matt Mullenweg:

If I were being charitable, I’d say, “The app’s editor is based on the WordPress mobile app’s editor.” If I were being honest, I’d say that Wix copied WordPress without attribution, credit, or following the license. The custom icons, the class names, even the bugs.


As this Hacker News comment put it, “Open source is not a swap meet; you can’t violate a license if you voluntarily release some other code to make up for it.”

Via Daniel Jalkut:

Many developers understand, and view the price of GPL as perfectly justified, while others (myself included) find it unacceptable. So what am I supposed to do? Not use any GPL source code at all in any of my proprietary products? Exactly. Because the price of GPL is too much for me, and I don’t steal source code.

Saturday, October 29, 2016 [Tweets] [Favorites]

Inadvertent GitHub Private Repository Disclosure

Todd Berman:

The new line of code disconnected only ConnectionPool objects that are managed by Active Record, whereas the previous snippet would disconnect all ConnectionPool objects held in memory.

The impact of this bug for most queries was a malformed response, which errored and caused a near immediate rollback. However, a very small percentage of the queries responses were interpreted as legitimate data in the form of the file server and disk path where repository data was stored. Some repository requests were routed to the location of another repository. The application could not differentiate these incorrect query results from legitimate ones, and as a result, users received data that they were not meant to receive.


To prevent this from happening again, we will modify the database driver to detect and only interpret responses that match the packet IDs sent by the database. On the application side, we will consolidate the connection pool management so that Active Record’s connection pooling will manage all connections. We are following this up by upgrading the application to a newer version of Rails that doesn’t suffer from the “connection reuse” problem.

Good Coding Taste

Brian Barto:

But it wasn’t the line count that mattered. It was that if-statement. It’s gone. No longer needed. The code has been refactored so that, regardless of the object’s position in the list, the same process is applied to remove it.


To the best of my ability to discern, the crux of the “good taste” requirement is the elimination of edge cases, which tend to reveal themselves as conditional statements. The fewer conditions you test for, the better your code “tastes”.

It’s an interesting example because the “bad” version has more state and branching, but some programmers would find the “good” version harder to understand, due to the indirection and attendant C syntax.

iPhone 7 Plus Portrait Mode

Brian L.W. Moore (via John Gruber):

I’m sure there’s a word to describe what I’m calling “stepping”—where different depths of focus are clearly defined with more or less bokeh depending on how far from the focal point the photo is—but the 7 deals with this surprisingly well.


While a lot is super good, there are a couple areas where the Portrait Mode just ain’t gonna cut it. Complicated foreground and background combinations seemingly overwhelm it and the blur edges get confused throughout the photo.

The Beautifully Annoying Siri Remote

Ken Segall:

Like the hockey puck, you can’t tell what direction the Siri Remote is facing when you pick it up. You have a 50-50 chance of getting it right, and therefore a 50-50 chance of hitting the wrong button.


Like the ill-fated touch-sensitive iPod, the Siri Remote’s touchpad makes it way too easy to screw up your viewing by accident. All it takes is the slightest brush of a finger when handling it.

And, though the touchpad is a cool thing, it is oftentimes not nearly as quick and accurate as physical directional buttons would be.

Update (2016-10-31): Marcel Weiher:

tvOS 10.0 broke volume on Siri remote so you had to config every time. 10.1 broke it further so even config doesn’t work!!

An Ode to the 11-inch MacBook Air

Serenity Caldwell:

After 6 years of faithful service, that 11-inch model is now dead, killed by Apple, the 12-inch MacBook, and increasingly thinner MacBook Pros. I’ll miss it dearly.

Seeing the writing on the wall, I bought one right after the 12-inch MacBook was announced. It’s still going strong and one of my favorite Macs ever. Nothing that Apple makes today has close to that combination of price, power, ports, and size.

Thursday, October 27, 2016 [Tweets] [Favorites]

Touch Bar

macOS Human Interface Guidelines:

The Touch Bar—located above the keyboard on supported MacBook Pro models—is a Retina display and input device that provides dynamic interface controls for interacting with content on the main screen. These controls offer quick access to system-level and app-specific functionality based on the current context. For example, when the user types text in a document, the Touch Bar might include controls for adjusting the font face and size. When the user views a map, the Touch Bar could give quick, one-tap access to gas stations, lodging, and restaurants near the displayed location. A Touch ID sensor to the right of the Touch Bar allows fingerprint authentication for logging into the computer and approval of App Store and Apple Pay purchases.

By default, the right side of the Touch Bar displays an expandable Control Strip that includes controls for performing system-level tasks such as invoking Siri, adjusting the brightness of the main display, and changing the volume level. Previously, users accessed most of these controls with a top row of physical function keys. You can implement app-specific controls in the app region to the left of the Control Strip. An Esc (Escape) button or other system-provided button may appear to the left of the app region, depending on context.

The Touch Bar is configurable. The user can remove items from the Control Strip or hide it completely, in which case only app controls are displayed. The user can also hide the app region, displaying an expanded Control Strip. Some apps also allow users to add and remove items in the app region.


You define a bar to provide controls relevant to the user’s context. Each such control is an instance of the NSTouchBarItem class, sometimes called, simply, an item.

You can provide many bars within your app; macOS frameworks can provide bars as well. For example, an app that uses standard AppKit objects, such as text fields (instances of the NSTextField class), obtains appropriate bars along with relevant items automatically.


To use the Touch Bar, define bars in objects in your app’s responder chain. At runtime, the system traverses the responder chain to discover, combine, and show bars from your app and from frameworks you link against.

You can configure a bar to support dynamic composition, in which the system shows it in an expanded form that contains items from bars lower in the responder chain. Because of the dynamic composition and placement of items shown on the Touch Bar, always ensure that your bars appear as you expect them to, testing on the versions of macOS that you support.


Because of the physical geometry of the Touch Bar, touch events passed to gesture recognizers have only a meaningful x, or horizontal, component.

James Thomson:

“There is no need, and no API, for your app to know whether or not there is a Touch Bar available.“ :-(

Initial thoughts on the NSTouchBar API are that it looks pretty comprehensive, and you can put your own custom views in there.

Zach Waldowski:

Oh, wow, this is really neat. Xcode adds a persistent Debugger menu to the control strip - even when in another app.

Jonathan Wight:

If anyone is looking for the Touch Bar simulator option in Xcode 8.1 it’s in the Window menu.

Quinn Taylor:

PSA: Developing for Touch Bar requires a newer 10.12.1 build. If you already updated to 10.12.1, you can get it at

Jeff Johnson:

I don’t understand how app-specific toolbars are supposed to be this great innovation. Don’t we already have that? In the app UI?

Peter Kirn:

If you asked video editors if they wanted to do delicate edits via a tiny, imprecise touch strip on a laptop keyboard, of course they’d tell you you were nuts.

So this is bad for consumers, but at least they’ll see the Touch Bar as a gimmick on purchase and then ignore it. For pros, it’s actually an insult.


I think music is always a good test of how expressive an interface was. And bringing a DJ app onstage – as Apple did with djay – proves how awful this tiny touch strip is. Watching someone DJ with the top of a keyboard was just embarrassing, doubly so from the company that makes the iPad and as recently as this year’s WWDC showed off its ability to be used by blind people.

Update (2016-10-28): Marc Edwards:

The new Touch Bar, as seen in Pages, Keynote, Numbers, iMovie, GarageBand, Terminal, Xcode and other apps.

Federico Viticci:

Interesting findings by Steve Troughton-Smith: the Touch Bar on the new MacBook Pro appears to be running on a variant of watchOS under the hood, with the T1 SoC handling security (primarily) for Touch ID as well as the bridge between macOS and the Touch Bar (over a USB connection).

Andrew Cunningham:

The T1 and the way it interacts with the rest of macOS is either a weird kludge or a great example of Apple’s synergy—Apple has essentially embedded a miniature iOS device with custom silicon in these Macs so it wouldn’t have to rebuild Touch ID and Apple Pay from scratch.

Jeff Shiner:

Now that the new MacBook Pro’s have Touch ID we can bring that same great [1Password] feeling you are used to on iPhone to your Mac, and it looks pretty darn cool too. Take a look for yourself and see!

Update (2016-10-29): John Gruber:

The Touch Bar is not the answer to “How do we bring touchscreens to the Mac?”, because that question is not actually a problem. The Touch Bar is the answer to “These keyboard F-keys are cryptic and inflexible — what can we replace them with that’s better?” That’s an actual problem.

Nick Heer:

Pro users may scoff that they don’t need it for the applications they use regularly, but that’s missing the point. The Touch Bar is for the applications or commands that you use less frequently.

Update (2016-10-30): Sash Zats:

More and more Touch Bar makes sense: extending dialog buttons into keyboard area. I’m really curious to try what it feels like IRL.

Update (2016-11-02): Horace Dediu:

This is a leap forward and a big deal. For 32 years the UX model of the Mac has been two-handed typing with one handed gesturing. Now we have the option of two-handed indirect manipulation: one hand on the touchbar and one hand on the touchpad.

Gus Mueller:

I was initially worried that classes would be pretty sparse and I’d have to write a bunch of custom subviews to get anything reasonable to show up on Touch Bar, but to my surprise the API seems pretty well fleshed out.


I get the feeling this was worked on for a number of years and heavily refined, and was used internally by a number of applications. Which of course makes sense, but not something I had expected.

Daniel Jalkut:

I think Apple intends to push the Touch Bar as as widely as it possibly can. The current MacBook Pro lineup is the most practical computer to debut the feature, but as it becomes possible to bundle it with external keyboards, and on notebook computers at every price point, they will do so.


I find it impossible to believe that Apple would go to all this work, both on the Touch Bar itself, and across the entire range of its own apps and OS features, unless it had a grand vision for the Touch Bar that extends way beyond the internal keyboard of its premium notebook computers.

Update (2016-11-05): Andrew Orlowski:

Last week Apple replaced physical hardware function keys on its new laptops with a touch sensitive OLED strip, the “Touch Bar”. This isn’t an original idea, and it has failed spectacularly when introduced to the market.

Just two years ago Lenovo tried this with its second generation Yoga. Users hated it, and the change wasn’t repeated for 2015.

Benjamin Mayo:

Several comments derided the Calculator Touch Bar interface as stupid and unnecessary. It may be simple and ‘boring’ but I do believe it is useful. Putting buttons for common math operations right next to the number keys is incredibly convenient.

On a traditional keyboard, the ‘add’ and ‘equals’ characters are on the same key, next to backspace. To sum, you have to press the Shift key and the ‘+=’ key simultaneously. This requires a surprising degree of mental coordination to do when your brain is primarily occupied by typing in a long string of numbers.

Update (2016-11-17): David Owens II:

The only thing I’ve liked about it the Touch Bar so far is the Touch ID integration. That’s been nice. However, if there was a proper 15” model with function keys, I’d return this model tomorrow morning.

Update (2016-11-18): David Owens II:

I’m hopeful that things will get better. Maybe the control strip API support was just not ready yet (it is already a super buggy area. Once you have iTunes or Xcode open, you’ll get an empty icon in the control strip).

Ruffin Bailey:

When I tried Mail, I caught this Touch Bar menu (which, again, I’m arguing is essentially a mouse-free, gesture-aware context menu)

Lloyd Chambers:

While I have used the touchbar for little as yet, I am already a ‘fan’ because it is saving me time: every time I am prompted for an administrator password (a lot, when I doing certain things), I just touch the touchbar and my fingerprint instantly takes care of that pesky password dialog.

Marco Arment:

Touch Bar looks a bit blurry in real life. Notice the purple/green fringes on left/right of white. Bad subpixel AA, or inevitable from OLED?

New MacBook Pros and the State of the Mac

Updates: October 28, 29, 30, 31, November 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 22, 27, December 2, 5, 12, 13, 27, January 2, 5, 9.

I was really disappointed with today’s Apple event. It seems like Apple has either lost its way, that it has lost touch with what (some of) its customers want, or that it simply doesn’t care about those customers. Developers are a captive audience, and creative professionals can switch to Windows, I guess. Apple no longer considers them core.

There’s nothing particularly wrong with what Apple announced. I like Thunderbolt 3. The display looks good. I’m not crazy about Touch Bar, but it does seem potentially useful. The problem is that the MacBook Pro is not a true Pro notebook.

My Retina MacBook Pro is almost 4.5 years old. I’ve been wanting to upgrade it for a while and was planning to do so today. After seeing what was announced, I’m no longer sure that I want a MacBook Pro as my main computer. Unfortunately, the current iMac and Mac Pro don’t seem like good choices, either. I wish that Apple were still licensing the operating system to clone manufacturers, who might make the sort of machine I want to buy. And not neglect whole sections of the product line.

The new MacBook Pro has a premium price for a Mac that’s still limited to 16 GB of RAM, has CPU performance that is likely lackluster because Apple didn’t talk about it in the keynote, and apparently doesn’t have such a great GPU, either. Apple prioritized thinness and lightness, which I care about hardly at all. I would rather have better performance, a good keyboard, more storage, a larger display, more ports so I don’t have to carry dongles, an SD card slot, etc. Double the weight and half the battery life would be fine with me. I’m not saying Apple shouldn’t make thin and light notebooks, but why do they all have to be that way?

Shara Tibken and Connie Guglielmo:

Marketing chief Phil Schiller, software engineering lead Craig Federighi and top designer Jony Ive explained, in exclusive interviews earlier this week, why the Mac matters. Since they say it’s so important to Apple, we asked them why it took four years, four months and 16 days to deliver what they call a “milestone” and a “big step forward” for its top-of-the-line laptops.

“The calendar isn’t what drives any of the decisions,” Schiller says[…] “We didn’t want to just create a speed bump on the MacBook Pro,” he says. “In our view this is a big, big step forward. It is a new system architecture, and it allows us to then create many things to come, things that we can’t envision yet.”


Even Cook questioned why anyone would buy a personal computer instead of an iPad Pro, saying in an interview last year [links added], “Why would you buy a PC anymore? No really, why would you buy one?” Cook didn’t answer our question about that.

It has seemed clear for a while that the CEO doesn’t really understand the Mac, or simply doesn’t like it that much, and that’s a problem for those of us who do.

Jeff Johnson:

Apple was famous for their ecosystem integration. But out of the box you can’t plug a new iPhone into a new MacBook Pro. Absurd.

Dermont Daly:

Even Apple Support aren’t getting it.

Marco Arment:

Despite most of us not buying it for years, it’s worth noting that the last upgradeable Mac laptop went away today.

Colin Cornaby:

With an SSD capacity range of 256 gigs to 2 TBs it would still be much more reasonable if Apple added upgrades after purchase.

Peter Kirn (via Michael Yacavone):

It was really hard for me to watch Apple’s “Hello Again” event today.

Understanding history is important – to a point. But Apple’s obsessive naval gazing in the Mac event today speaks volumes. This is a company with no real vision for what its most creative users actually do with their most advanced machines. So, instead, they look into the past.


The competition is faster, and/or costs less – so those graphs turned to older Apple products and even the poor PowerBook 100 rather than compare to the PC. We didn’t even get a thinner/lighter comparison, because even that ship has sailed.

The Mac made its name because it embraced desktop publishing and graphics when the PC missed the boat. Now, it seems Apple is about to miss next-generation graphics, 3D, and virtual reality. Even if some of those are gimmicks, the fact that we live in a three-dimensional world and have two eyes suggest it’s still an important development.

Previously: Apple Said to Plan First Pro Laptop Overhaul in Four Years.

Update (2016-10-28): Felix Schwarz:

Here’s how the 15" #MacBookPro 2016 component specs compare to the 2012 model.

Brian Stucki:

Reminder: The current Mac Pro page brags about the performance with Aperture, a program that Apple retired 2+ years ago.

Mark Walton:

Don’t expect to do much gaming on your shiny new MacBook Pro.

Thomas Brand:

“All MacBook Pros now use ‘onboard SSDs’ a la the MacBook” If your logic board dies your data dies with it. Backup your new MacBook people.

Owen Williams (Hacker News):

Apple spent the entire event comparing itself to its own past, rather than showing us the future, and even then painted a very clear picture: it has no idea who the Mac is for.

Jason Snell:

On stage Thursday, Schiller said that the MacBook Pro’s keyboard was a second-generation version of the MacBook keyboard and featured design changes to give it more movement feel. As someone who is not a fan of the very small amount of keyboard travel on the MacBook keyboard, I noted the phrasing. He didn’t say the keys moved more, just that they felt better.

Well, it’s my sad duty to report that the MacBook Pro keyboard has the same key travel as the MacBook. Apple says the stainless steel dome switch beneath each key has been honed to give you a more responsive feel, but to me it feels just like the MacBook’s keyboard.

Dan Frakes:

Because Apple’s website lets you compare only two laptops at a time, here’s a spreadsheet of MacBook specs.


I wouldn’t call the new MBP GPU options competitive with mid-range.

Joe Cieplinski:

The days of the sub $1,000 Mac are done. I thought the Air would stick around for another generation because of this price tier, but then I thought about it more carefully. Low-cost PCs make almost no sense anymore.

Adam Knight:

After watching yesterday’s Apple Event and reading around a bit at the reactions, I’ve become concerned for the future of the Mac, at least in the hands of the current leadership at Apple.


I can’t help but feel Apple has decided the core audience of their Unix-based powerhouse OS is the latte-sipping children in campus coffee shops and anything at all about their systems that appeals to anyone else is just something to be removed in the path to a sheet of paper with nothing but content. Frankly, it’s that total disconnect between what computer users want and what mobile users want that has me worried about the Mac. The source of my fear — after much contemplation — is that the same people that design the Mac are designing the iOS devices, and that’s a horrible situation for both platforms.

See also:

Update (2016-10-29): Brent Simmons:

Except — and this part shouldn’t be underestimated — many of these Mac developers are here because Macs are the computer for creative professionals and artists. That’s what attracted us to Macs in the first place.

It’s more than a niche. It’s our identity as Mac developers: we write apps for people who make things. But what if the Surface Studio takes over as the computer for people who make things? And what if we could bring over some of our investment (such as learning Swift) with us?

Jeff Benjamin:

If you’re holding out for an Apple-branded 4K or 5K standalone display, you should probably stop waiting. Apple is reportedly out of the standalone display business for good, according to The Verge’s Nilay Patel.

Vlad Savov:

Apple’s new MacBook Pro family is universally more expensive than the one it’s replacing: the supposedly entry-level MBP, lacking a Touch Bar, starts at $1,499. To get a Touch Bar, the least you’d need to spend is $1,799, and if you want to go beyond 13 inches, the 15-inch MacBook Pro starts at $2,399. Upgrade the processor and graphics, opt for 2TB of storage, and you’ll reach the incredible heights of $4,299.

Yoni Heisler:

Apple’s new MacBook Pro has created quite a stir in the Mac community, with many developers and creative professionals expressing outrage and frustration that Apple has seemingly created a Pro machine that is decidedly underwhelming and watered down.

Apple pissing off the pro community is an especially interesting dynamic because, as many seasoned Mac observers can attest, Apple managed to survive some of its darker days in the early to mid 90s precisely because the Mac was the computer of choice for a wide swath of creative professionals.

David Owens II:

To me, Thursday’s event signaled one thing for me, and maybe I’m completely wrong, but the Mac is officially over.


Apple, the MacBook Pro is not a pro-level computer. It’s simply not.

You want to see what a pro-level laptop looks like? Look at the Razer lineup. They are crushing it on terms of performance and style in hardware design.

Chuck Toporek:

As a long-time Mac user, today’s event left me with more questions than answers about the Mac’s future. And what’s more telling is just how out of touch Apple is with their own user-base, at least when it comes to desktops and laptops.

Rui Carmo:

As far as I’m concerned, Apple is completely out of touch with my segment (call it UNIX-centric pros, if you will), so I’m going to seriously rethink my options over the next couple of weeks.

Rui Carmo:

I actually use and rely upon that top row too much to feel comfortable with the idea of a touch bar.

Ted Landau:

Apple’s desktop Mac lineup is headed for the graveyard. Dead. Done. Over.

Why do I believe this? Because of the unstated implications of what Apple announced (and didn’t announce) at its media event yesterday.

Seth Lewin:

Apple no longer makes anything I care to buy. Flat statement. Sad to admit after nearly 30 years of buying their products but true. Apple could care less what its customers think or say or want, it seems.

Ruffin Bailey:

Did Apple build a truck? Do they even care about trucks any more?

I think the quick answer is no.

He bought a Lenovo with 24 GB of RAM for $850.

Alex Guyot:

The new trackpad is 2 times larger than the trackpad on the previous MacBook Pro for the 15-inch machine. It’s slightly less than 2x larger for the 13-inch. Other than the increased size this is the same Force Touch trackpad that has been shipping on MacBook Pros since last year.


Sadly, this change spells the end of MagSafe on Apple’s MacBook Pro line. No longer are MacBooks safe from people tripping over power cords while they are charging.

Lloyd Chambers:

The people at Apple no longer have a clue what is desirable in a computer. At this, Apple is now incompetent. Tim Cook thinks everyone should just use an iPad. Out of touch with the reality of what core traditional Mac users is an understatement: yes iPhone and iPad are popular. Which is precisely why computers should distinguish themselves as computers. Not iPad-like stripped down gimmicks. It’s called market differentiation. Instead Apple pursues convergence.

Gabe Weatherhead:

I think the next few years will be awkward and actual real-world use of MacBooks will look more like the lone airport electrical outlet than the sleek design in the Apple presentations. The price of a dock will seem too expensive and many people will opt for a death by a thousand dongles. But, I think this is a transitional period leading to a much better future.

Craig Grannell:

I can’t remember the last Apple event where I came away actually quite annoyed, but there it was.


The inference was Apple’s new MacBook Pro broadly replaces the MacBook Air, and yet the former is considerably more expensive. The new MacBook Pro – impressive though it is – also happens to be spendy for even professional users.

Juli Clover:

An entry-level 13-inch MacBook Pro with a Touch Bar costs $1,799, a full $500 more than previous-generation models, and 15-inch models start at $2,399. Schiller says Apple cares about price, but has to design for experience rather than cost.

Nick Heer:

I’m not complaining about the new MacBook Pros. They look incredibly powerful, ridiculously thin, and have amazing displays. But they are very spendy right now, and that’s an especially hard pill to swallow when the Mac seems to receive less attention than it used to.

Juli Clover:

While there is no new MacBook Air available for purchase, Apple is continuing to offer the 13-inch MacBook Air models that were last updated in 2015. […] At $999, the MacBook Air is $500 cheaper than the new entry-level MacBook Pro and $300 cheaper than the entry-level Retina MacBook.

Juli Clover:

According to the document, while all of the ports on the 15-inch MacBook Pro and the 13-inch MacBook Pro without a Touch Bar offer full Thunderbolt 3 performance, only two of the four ports on the 13-inch MacBook Pro with a Touch Bar support Thunderbolt 3 at full performance.

Michael B. Johnson:

Very disappointed with the state of Mac hardware. No good excuses left.

For me it’s not about the laptops, it’s about the Mac lineup. Mac Pro doesn’t have Thunderbolt 3 or vaguely current GPUs. Infuriating.

They are NOT complemented by performant desktop Macs, therefore they serve as pro desktops, which they are clearly NOT.

Stephen Foskett:

You’re about to enter a world of confusion thanks to those new “USB-C” ports. See, that simple-looking port hides a world of complexity, and the (thankful) backward-compatibility uses different kinds of cables for different tasks. Shoppers have to be very careful to buy exactly the right cable for their devices!


The core issue with USB-C is confusion: Not every USB-C cable, port, device, and power supply will be compatible, and there are many different combinations to consider.


If you’re not careful, you can neuter or even damage your devices by using the wrong cable. Seriously: Using the wrong cable can damage your machine! This should not be possible, but there it is.

Riccardo Mori:

As a technology observer and enthusiast, I like the new MacBook Pros a lot.


At the same time, I’m getting tired of this obsession with lighter/thinner at each design iteration. Professionals are more interested in sheer performance, in machines that can be upgraded and expanded down the road. Why can’t Apple leave the light & thin to the consumer line of notebooks, and offer pro notebooks that follow a more ‘function over form’ approach? What once was a clear distinction between ‘consumer’ and ‘pro’ machine, has now become something more like ‘regular’ versus ‘deluxe’ machines. Nowadays, a professional computer shouldn’t be constrained by a maximum of 16 GB of RAM. I know a few people who are barely comfortable with 32. Considering the non-trivial investment when you purchase one at its maximum tech specs, these MacBook Pros are supposed to last a few years.

Jeff Johnson:

Those complaining about Apple’s current Mac lineup are not haters, they’re lovers. They’ve spent 10+ years and 5+ figures on Macs.

These aren’t Luddites who simply hate change. These are people who already had blank checks written to Apple but had to tear up the checks.

Lloyd Chambers:

The table below summarizes various options for using existing displays, card readers, Thunderbolt 2 devices, USB devices, etcetera on the late 2016 MacBook Pro (the 13" and 15" models both have the same type of ports, 4 ports for the 15" model, 2 ports for the 13" model).


16GB RAM limits on a $3200 laptop is bewildering to me. If the strategy here is to kill off the Mac brand, while focusing only on the iPhone, then I think they are well on their way.

Tom Bridge:

I no longer believe the design team at Apple is innovating to make the best product experience, rather they’re deep in “pure math” territory, exploring the boundaries of innovation itself. I feel like this can go one of two ways. One of these is a future where Apple is a pillar of the desktop and laptop community, one of these is a future where the Mac is both expensive and underperforms.


I’ve been waiting few months for yesterday’s MacBook upgrade and I’m dissatisfied, as most of you. I read many comments about alternatives and one of recurring favorite is Dell XPS Developer Edition. Could I ask you about your experience with this model?

Brian Benchoff (via Hacker News):

In the past, I have defended people who choose MacBooks as their laptop of choice. A MacBook is a business-class laptop, and of course carries a higher price tag. However, Apple’s latest hardware release was underwhelming and overpriced. If you’re looking for a new laptop, you would do well to consider other brands. To that end, here’s a buyer’s guide to ThinkPads, currently the second most popular laptop I’ve seen with the dev/hacker/code cracker crowd.

Steven Levy (via Hacker News):

This week had the rare circumstance of two aged-but-still-sprightly competitors unveiling products on successive days. On Wednesday, Microsoft— formerly the heavyweight champion of the personal computer world on the basis of its software—actually introduced its first desktop computer. The Surface Studio is the result of an epically long transfer of Microsoft’s surface technology from research project, to bar room gaming device, to tablet, to desktop. It features a ginormous 28-inch touch-screen and an ingenious dial for precision zooming and menu-selecting. It’s also got a sheen of design haughtiness once unheard of in the precincts of Windows-land. The cheapest version is $3,000.

A day later, Apple ended the long wait for laptop users yearning for an upgrade by unveiling a new line of MacBook Pros. With the exception of a novel feature called the Touch Bar — a multi-touch strip above the keyboard that Disney-fies what function keys used to do — these new machines were pretty predictable iterations of how Apple does generations these days: thinner, faster, and more expensive.

Matthew Johnson:

In 2016 I do not want to charge, carry, and maintain two devices just because there are two important interaction models, each of which is better suited to some tasks and circumstances than the other.

In many respects this is reminiscent of how it felt in 2005 and 2006 to carry a cell phone and an iPod everywhere you go.


Apple’s failure to announce a solution to this problem right now is not terribly concerning on its own. But presenting the new MacBook Pro and Touch Bar as a truly revolutionary announcement, cast in a historical light, coming at the end of an extremely long dry spell falls flat.

Chuq Von Rospach:

There’s a huge amount of criticism of Apple coming out online after this event. And there’s a lot to criticize Apple about, unfortunately, because while they updated these laptops, they didn’t even mention the rest of the Mac product line, and the huge questions about where Apple sees this line going over the next few years weren’t even acknowledged, much less addressed.


What is Apple’s long-term strategy for pro apps? To be honest, Final Cut seems like a prosumer app that is used by pros, not a pro app that’s used by prosumers. What’s the future of Logic? they’ve killed Aperture, is it next? Am I going to be pushed to Premiere and Audition in the next two years?


Where are the updates to the desktop line? Where are the developer-class macs? And what about users who need high hardware with larger memory configurations? These new laptops all max out at 16Gb which is fine for, I’d wager, 95% of users, but for that other 5%? Is Apple really suggesting they head off to Microsoft instead?

Update (2016-10-30): Milen Dzhumerov (Hacker News):

From where I’m standing, Apple are redefining (shrinking) their target audience for the Mac platform. If you feel left out by the latest updates and the neglect on the desktop, it’s simple as Apple deciding not to serve your segment’s needs. I know that it can feel quite personal to Mac devotees, like me, but it’s simply business and strategy.


This one-size approach has fundamental flaws because we haven’t reached the stage where the tradeoffs are acceptable to high-demanding professionals. Almost every choice we make in this life is all about tradeoffs: it’s the same in hardware engineering. For example, making laptops thinner and lighter means sacrificing performance that you wouldn’t if you did not have those constraints.


The counterargument that I’ll make is that if you lose the professionals, you’ll lose a significant chunk of innovation and content that keeps consumers in the Apple ecosystem. Those professionals are content creators and if they use Macs at work, they’re more likely to use Macs at home and create for Apple platforms. Professionals are influencers and affect the computing choices of their immediate family & friends.

Colin Cornaby:

Apple appears to be offering the highest end Polaris 11 part available: the Radeon 460. This is a huge improvement over previous generations where Apple tended to only use the middle end of AMD’s mobile offerings. But while AMD has improved their performance compared to their previous generation, they’ve failed to take the performance crown from Nvidia. Nvidia’s low end professional notebook GPU, the GTX 1060m, is still almost twice as fast as the Radeon 460.

The issue with the new Macbook Pro is it ignores everything professionals have been asking for, while adding things that they didn’t. Unnecessarily making the laptop thinner prevents them from using a mobile GPU like Nvidia’s 1080m, which offers nearly four times the performance of the Radeon 460.


Apple also ignored almost the full list of what pros were looking for in a new Macbook Pro: features like upgradable storage, higher resolution displays, more RAM, external graphics expansion… Apple is pushing this laptop as a 4k editing professional notebook, but hasn’t even equipped it with a 4k display.


The monitor not being Apple branded means it is no longer Apple supported. When you buy an Apple branded monitor with a Mac, it’s covered under the same warranty as your Mac. If your Mac had three year AppleCare, your monitor was covered for three years too. And your monitor was serviced at the same local stores your Mac was serviced at.

Hellbound Wracker:

I guess Apple thinks of the MBP15 as a mortifyingly-huge portable device, doesn’t realize its customers think of it as desktop that travels.

Greg Koenig:

The sad thing about all this, is just how unnecessary it feels. It wold not take much for Apple to delight hardcore Mac users.

Ben Brooks:

Apple didn’t launch a crappy product, they launched devices which still are the best option on the market. Which still have top notch industrial design. Which still have the best operating system. Which still have the best third party apps on any desktop platform. Which are still the best option for most people in the world. And frankly, if you can’t see that, then you need to go buy a non-Mac laptop and see for yourself how bad it truly is.

Tim Bray (Hacker News):

Apple thinks thin-and-light is more important than well-equipped-and-powerful.


My best bet is to buy a future Mac that’s aimed at people like me. Which requires that Apple wants to build one; they don’t at the moment, but maybe they will again before this box I’m typing on runs out of gas.

Rui Carmo:

It’s not just about their removing the startup chime, or expansiblity. It’s about the honest reviews, the way marketing has taken over and the realization that the Mac, the foundation of what became Apple’s empire and still the only platform people can develop on for iOS, is effectively neglected, and that whatever Apple needs to do to try to regain their Pro user base, the new MacBooks are not it — or, at least, definitely not enough.

Lloyd Chambers:

The killer feature of the late 2016 Apple MacBook Pro may be its wide-gamut display, the best ever offered by Apple, and perhaps the best in any laptop—to be seen.


The #1 disappointment with the late 2016 Apple MacBook Pro is its 16GB memory limit, which inherently places a performance limitation on professional usage.

exploding_m1 (via Tony Arnold):

So, a lot of people have been disappointed at the lack of a 32gb option.

Apple’s statement is true, but lacks detail.

The true reason behind the lack of 32gb or ddr4 is intel. Skylake does not support LPDDR4 (LP for low power) ram. Kabylake is set to include support, but only for the U category of chips. So no LPDDR4 support for mobile until 2018 I think.


Meh, the ThinkPad P50 and P70 pack a Xeon processor, 64 GB of ECC memory and a Quadro graphics card. So do the zbook from HP.


The Razer Blade comes with a Skylake i7 6700HQ and DDR4.

Update (2016-10-31): Maciej Ceglowski (as Benjamin Button):

Everything about the new machine seems designed for typists. The trackpad has been made smaller, so you’re less likely to brush against it with your palm. The keys themselves are much more comfortable to type on, with improved key travel, a softer feel, and more satisfying tactile feedback. You no longer feel like you’re tapping on the glass surface of an iPad. And not having a TouchBar means no longer having to look down at your hands all the time.

Despite the many improvements, Apple is actually dropping the price on its flagship 15" MacBook Pro by $400, another sign that they’re serious about winning over developers.

David Owens II:

Now, the MacBook Pro is not everything I want in a laptop. It is most certainly not everything that I want in a desktop computer. But, when the dust settles, it’s still a Mac. With all of the warts that macOS has, with all of the mind boggling decisions that Apple makes with some of their products at time, is there really any other platform I’d rather be using?

See also: Hacker News.

Steven Frank:

The level of pushback from the MacBook Pro event is staggering. I sure hope someone at Apple who can make a difference is paying attention.

Chuq Von Rospach (tweet, Hacker News):

Under the assumption that there are updated desktops coming after the first of the year, I think it would have made sense to mention that, just so users waiting for them can stop feeling abandoned. It doesn’t require a lot of disclosure, but I think it was time for at least some.


I’ve come to the belief that the trash can Mac pro, the “Can’t Innovate my Ass” machine, is a product mistake of the “20th Century Anniversary Macintosh” caliber. It was a technological marvel, it was a stunning design, and it was a terrible piece of hardware for it’s primary audiences because of limited upgradability and component flexibility — and then Apple compounded that by not having good upgrade plans in place to refresh it since the design it created wouldn’t let its users do it for themselves.


The fact is, the Mac product line itself is becoming a niche product, because the days of the personal computer have started the shift back to where computers will be a hobby for the nerd and for the mainstream user, devices which use computers to enable tasks are starting to replace them: that includes tablets, but also gaming consoles and whatever it is that will ultimately take ownership of the living room.

Baron Chandler:

The minute the argument dismisses concerns by urging people to use their VT-100 if upset, it’s gone Godwin AFAIC.

Brent Simmons:

What I actually want, though, is a powerful desktop Mac that can compile my apps really, really fast.

Ruffin Bailey:

Here are some quick benchmarks for my $700 Lenovo Y700 vs. the $1500 “low-end” MacBook Pro I talked about Friday […] Remember, for $850, you’ve got 24 gigs of RAM and 128 Gigs of SSD (plus a terabyte of spinning platter storage) on that Lenovo.

Benjamin Encz:

Apple has always been a premium brand and its loyal customers have embraced it. But this premium price was paid for a whole product that worked well out of the box and was well integrated into Apple’s ecosystem. Today this increase in price stands in a stark contrast to the decrease in software quality in the last years and the product design issues I discussed.

Roman Loyola (via Kirk McElhearn):

If you’re planning to buy a new MacBook Pro, make sure you set aside a considerable amount of cash for the adapters you need. Apple doesn’t include any in the box, except for a power adapter.

And it doesn’t include the cable from the power brick to the wall.

Jeff Carlson:

I don’t fall on the Apple-is-doomed spectrum (hell, we’ve been through enough of that), but this does seem like an unusual move for the company.

Robert Cringely (via Hacker News):

This very durability presents a problem for Apple that they’ve tried to deal with by eventually stopping software support for older machines. That’s why the Mac Minis of my kids now run Ubuntu. Old Macs get handed down or sold on Craigslist and that’s a problem for Apple, but not nearly as big a problem as the fact that pretty much everyone who wants a smart phone now has one.

Yes, Apple has a problem — a problem most other companies would love to have: customers like the products too much so the market is becoming saturated.

Peter Sphilio (via Hacker News):

Why do some car and motorcycle companies have the courage to devote significant resources to racing?


The reason Apple should spend money on creating and marketing true professional hardware is the very same reason for which car and motorcycle companies devote significant resources to racing; because it provides them with credibility. When motor companies race, they are affirming their ability to create the very best possible product, the one that no other group can challenge.

Brian Fagioli (via Slashdot, Hacker News):

While you might expect some of these disappointed Apple loyalists to turn to a Windows machine -- and I’m sure some will -- some are turning to an unexpected alternative -- Linux. You see, immediately after the Apple Keynote, famed Ubuntu laptop and desktop seller, System76, saw a huge jump in traffic from people looking to buy its machines.

Michael Gartenberg:

Overall, it’s a dramatic shift from where Apple and Microsoft used to be. Microsoft is now appealing directly to creative professionals with hardware, and software innovations. Apple is introducing solid, workhorse devices that lack the magic of previous updates. Even the “birth” videos reflected a difference in how these machines are going to be sold. Microsoft’s felt more Apple-y than Apple’s this time around.

It wasn’t long ago I’d watch an Apple keynote and dream of all the new things I’d be able to do. This week, though, I’m dreaming about the Surface Studio.

Ben Slaney (via Greg Koenig):

The Federal Aviation Administration has capped the maximum allowable size of laptop batteries on flights to 100 watt-hours. That explains why Apple’s 2015 pro model contains precisely a 99.5 watt-hour battery. Although the recent MBP release only contains a 76 watt-hour battery, due to the fact that there is no low-power RAM available in greater than 16GB capacities for Intel’s latest mobile CPU it can be argued that Apple are still working within that 100 watt-hour ceiling, and that they are using the best components that they can given that ceiling.

Seems like this is where USB-C battery packs could come in handy. Apple makes an external iPhone battery pack, and it isn’t pretty, but apparently it works very well.

Colin Devroe:

I don’t care about lighter or thinner. I care about performance, storage, reliability.

Colin Devroe:

A rift. A schism. We are witnessing it. I believe anyway.

John Gruber:

The second paragraph above shows the difference. In the first paragraph, Cook is questioning why anyone would buy a (Windows/Linux) PC. In the second, he’s saying many people don’t even need a notebook or desktop, period, implicitly including Mac notebooks and desktops.

It’s not clear to me that Cook has always used “PC” to mean non-Mac. In any case, the second paragraph expresses pretty much the same sentiment and clearly includes Macs, and Cook declined to elaborate when interviewed a year later about the MacBook Pro.

John Gruber (tweet):

Rather astounding how much backlash last week’s event has generated. I can’t recall an Apple event that generated such a negative reaction from hard-core Mac users.

I’m looking forward to his longer piece.

John Gruber:

The argument against this design is that it’s backwards — that for MacBooks targeting pro users, Apple should start with high performance specs and then build a machine that supports things like 32 GB of RAM. If they had done that, they’d have wound up with thicker, heavier designs. Many actual pro users would be delighted by that.

Apple simply places a higher priority on thinness and lightness than performance-hungry pro users do.

Ron Offringa:

Typically when Apple makes big changes to their products they explain them. Lately Apple hasn’t been doing that.

Why is 1 port better than 2? Why is USB-C better than MagSafe? Why is a keyboard that is tolerated at best now standard?

Update (2016-11-01): Dave Mark:

Apple did a superlative job with the MacBook Pro reveal. The Touch Bar itself is a thing of beauty, but Apple prepared well here, bringing a variety of apps to the stage to put the Touch Bar through its paces, to show how this Touch Bar makes possible a brand new way of interacting with your computer. This is so much more than what I expected, so much more than programmable soft keys.


Lots to absorb, lots to read, but so far, sounds like Apple has a real winner here.

Dave Mark:

If this were simply a bunch of curmudgeonly complaints, we’d have skipped the post entirely. But there are a lot of fair complaints in this list, insights that are worth paying attention to.

See also: MBP Prices Over Time.

Alex Payne:

In conversation over two years ago, we converged on an assumption: Apple and Microsoft will taper off their investments in pro hardware and software while they chase bigger, easier money in the consumer and enterprise spaces. History being known to repeat itself, we saw a moment on the horizon not unlike the one in which NeXT and Be emerged. We figured there were some instructive lessons from the histories of those upstarts. We wondered if the right team could move pro computing forward today, and by measures beyond small increments.


Apple will only see an exodus of pro users if it turns out they’ve shipped a machine that truly can’t meet the needs – the actual working limits – of their customers. Armchair grumbles about misfeatures, memory limits, and the wrong ports aren’t the same as being totally unable to do your job because your tools have utterly failed you. I don’t think that’s where most pro users are today, but some are starting to recognize that today’s professional computing tools aren’t likely to carry us forward into new ways of working.

Lucas Mearian (via Mike Rundle):

Apple, a company that has led the laptop industry in its use of PCIe solid-state drives (SSDs), again upped the ante in performance with its latest refresh of the MacBook Pro, which may be the highest performing stock system on the market.

Manton Reece (tweet):

I might have doubts about the Mac product line, but overall I like the new MacBooks. The outrage seems overblown.

I tend to agree. As I said at the top, these new MacBook Pros are not what I was looking for, and I have concerns about the Mac product line, but the level of outrage is way beyond what I expected when writing this post.

Baldur Bjarnason:

I suspect many of those annoyed about the event are in my position: the fact that the Touch Bar is interesting just makes it more annoying that Apple just announced a line of computers that I can’t really use.


For a developer work machine, 16GB is the uncomfortable minimum requirement. It does not cover the needs of a developer’s average workday without us making some compromises in our workflow and productivity.

John Gruber:

But that’s not most MacBook Pro users. Most MacBook Pro users will do just fine with 16 GB of RAM (in fact, most will do just fine with the 13-inch models’ default configuration of 8 GB). For most MacBook Pro users, Apple is right to prioritize battery life over the maximum RAM configuration.


This might make people who want such things even angrier (than if they were technical limitations), but they’re both deliberate design choices.

Update (2016-11-02): John Martellaro:

By discussing the MacBook Pro only, Apple seemed to be saying, “We never intended, nor do we need, to talk about anything else.” Unsatisfying.

Evidently, we are to take Apple’s silence on other Mac matters as a statement of steadfast indifference.


Finally, the feeling we all at TMO got during this presentation is that Apple just doesn’t see a future in powerful desktop Macs. If you are a technical or creative professional, a MacBook Pro with the Touch Bar is going to be your thing. If that doesn’t do the trick, there’s little recourse available in the rest of the product line. You’ll need to turn elsewhere.

Sean Hollister:

If Apple had introduced a new MacBook Air last week, the company wouldn’t be facing down a mob of angry creative professionals. It might not have Apple software developers questioning whether the company has lost its way.

Because the new MacBook Pro basically is a MacBook Air -- the most impressive Air ever made.


Apple chose to market a thinner Pro instead of a faster Air, even though they’re basically the same thing. And that’s not lost on Apple -- it was Apple marketing VP Phil Schiller who suggested the 13-inch MacBook Pro (the one without the Touch Bar) was designed for MacBook Air buyers.

Sean Hollister:

“We are the company that stands for the builders, the makers, the creators.” Sounds like a thing Apple might say, no? But those are the words of Microsoft CEO Satya Nadella -- the guy who just ate Apple’s lunch.


Here’s the truth: Apple’s new MacBook Pro isn’t for pros. Not all of them, anyhow.

Chuq Von Rospach (tweet):

Apple did a great job of introducing two new trees while ignoring the forest dying of drought around us.

The more I think about it, the more I think that sums up my discomfort with the announcements this week.


In 1997, Steve introduced his new philosophy for what products should have using this grid. 20 years later, we’re now trying to make sense of the Mac product line and we seem confused, so I decided to sit down and try to sort it out a bit. So here we are, the New Grid.

Dave Lawrence:

I’m a photographer, so the lack of an SD card slot stinks. The personality is leaving. The upgrade path is non-existent. Maybe the only saving grace is that Macs still run macOS, still the best operating system out there.

And it could be that I would be just fine owning one of the new MacBook Pros. It’s just that right now I’m in the market for a new iMac, and those options aren’t all that appealing either. If/when an iMac update comes, do I see things getting better or worse?

Worse. That’s what makes me nervous.

Colin Cornaby:

But the problem is Apple themselves is marketing the Macbook Pro as a desktop replacement.

Curtis Herbert:

Apple just gave me the computer I’ve been waiting ~3+ years for. No, really.


I’m breaking my 4-year upgrade cycle early because Apple just shipped my unicorn. The beauty of the Retina 27" 5k iMac when I’m at my desk, the convenience of a rMBP the rest of the time.

Lloyd Chambers:

As it stands, there is a hidden extra cost of $200 or more if you’re like me and want to attach a USB3 SSD, USB3 card reader, Thunderbolt device, external display, etc. That’s about a 5% to 7% hidden cost increase. OWC has USB-C to USB adapter cables for about $9.99 so at least there is a low cost option for that common use case. Which brings the point to it: why isn’t there at least one token USB-C to USB adapter in the Apple box?

Ben Lovejoy (Hacker News):

I haven’t ever seen any stats, but my guess would be that the vast majority of MacBook owners never connect anything other than power to their machine. For those that do, mostly it will be just one or two USB devices, like a USB key and external drive.

Joe Cieplinski:

All joking aside, I do worry, reading my Twitter timeline over the past few days, that some people actually believe Apple makes decisions based on what the executives personally want, rather than what data tells them is viable.

Phil Schiller (Slashdot, MacRumors):

We’re steadfast in our belief that there are fundamentally two different products to make for customers and they’re both important. There’s iPhone and iPad which are single pieces of glass, they’re direct-manipulation, multi-touch and tend towards full-screen applications. […] Then there’s the Mac experience, dominated by our notebooks and that’s about indirect manipulation and cursors and menus.


These are pro machines. If it was just about headphones then it doesn’t need to be there, we believe that wireless is a great solution for headphones. But many users have setups with studio monitors, amps, and other pro audio gear that do not have wireless solutions and need the 3.5mm jack.


There has certainly been a lot of passionate dialogue and debate about the new MacBook Pro! Many things have impressed people about it, and some have caused some controversy. I hope everyone gets a chance to try it for themselves and see how great the MacBook Pro is. It is a really big step forward and an example of how much we continue to invest in the Mac. We love the Mac and are as committed to it, in both desktops and notebooks, as we ever have been.

And we are proud to tell you that so far our online store has had more orders for the new MacBook Pro than any other pro notebook before. So there certainly are a lot of people as excited as we are about it.

Lloyd Chambers:

When you sit all but idle for 4+ years in the pro laptop space, and then finally produce a gorgeous laptop, one would hope for strong sales.


From my perspective, Phil Schiller’s perspective on card readers is that of someone who has a dim understanding of the pro photography market, namely that the vast majority of cameras sold today (even pro cameras) have SDXC card slots (my pro Canon, Nikon, Sony, Sigma, Leica cameras all do so I rarely use CF cards any more). Schiller’s lame rationalization might be accepted by the ignorant.

Michael Gartenberg:

Unusual for Apple to defend design decisions like this. Problem is most people who transfer pictures want that SD.

Nick Heer:

First, the SD card doesn’t have to stick out. Every camera that I’ve used has a sprung locking mechanism to keep the card snugly in its slot. Something like that might be really elegant on a MacBook Pro, and would help prevent removing the card without ejecting it.


As far as wireless transfer is concerned, it’s just not fast or reliable enough, especially for cameras producing 40-plus megabyte RAW images.

Marco Arment:

The difference between light-load and heavy-load battery life is staggering.


I have actually lost sleep since the announcement. I keep going over in my mind alternate hardware, but the fact is that macOS (OS X) is the single best operating system for developers today. I am generalizing "developers". For any embedded development, or HDL stuff, OS X will not be a nice experience. But for web or mobile development (which I anticipate is quite larger than development that could not be done in OS X), it’s just better. Things work. If the don’t, there is a massive support system in place and worst case scenario you can drive <1hr to an Apple store and let them take care of it. Sure, there are edge cases there as well, but compared to the ultrabook you bought from Costco or any distribution of linux, you have much more support available. I do love my macbook pro (glass trackpad, backlit keyboard, good display), but I absolutely must have macOS. At this point my only hope is that a new distribution of Linux evolves that can seriously compete and works flawlessly on off the shelf hardware (such as the Dell XPS), but we’re not there yet. Elementary OS looks promising. Perhaps developers would fork Darwin completely and make a macOS competitor.


The negative reaction is not because the new MBP is terrible when viewed in a vacuum, it is because people who would like (or actually need) more powerful hardware than the one-size-fits-all approach that seems to be Apple’s current course are no longer catered to, or so it seems.

Personally, I don’t really care about the touch bar one way or another, but what I do care about is that I would like to have one machine I can do all my work on, which involves a wider range of things one a daily basis than is typical (e.g. video/image editing, GPU powered number crunching, coding, and sitting in moving vehicles plugged into a bunch of stuff). In the past few years, the 15" MBP has been the machine to do it all, but in it’s newest incarnation(s) I am no longer sure it would still be the best tool. It seems like gimmicks are added, but useful extras are stripped away. Maybe it’s just in the uncanny valley of progress with USB-C, but for the moment the way they went about it all or nothing seems like a major inconvenience, with all the “legacy” hardware I need to attach. And there’s minor things like removing the power brick’s cord.

Marco Arment (tweet, 2):

Having four USB-C ports is awesome.

Having only four USB-C ports is going to hurt the versatility requirement of pro gear, because there’s a very real chance that you won’t have the right dongle when you need it.

This is going to happen a lot, because even though USB-C is the future, it’s definitely not the present.

John Gruber:

But this is not how Apple thinks about transitions like this. They design for the future, and in doing so, they bring the future here faster. In the alternate universe where the new MacBook Pros ship with one USB-A port, the transition to ubiquitous USB-C peripherals and cables will happen at least a little slower.

Michael Rockwell:

Where the company and I don’t see eye-to-eye, though, is with the keyboard. The new MacBook Pro features a second-generation version of the butterfly-style keys introduced in the MacBook. I’m extremely hesitant to switch to this type of keyboard. Granted, I haven’t spent too much time with it, but the limited key travel felt terrible to me. And that’s setting aside the decreased distance between keys which makes it more difficult to know where my fingers were without looking.


But Apple has me overlooking the mediocre keyboard with the inclusion of a giant trackpad and the Touch Bar — the most noteworthy feature in these new machines.

Ruffin Bailey:

Tim Cook uses “PC” to mean “anyone’s PC”.

I know Jobs didn’t. Cook always has. Used to sound incongruous when he did it, but now that Windows is sort of a lesser beast, it makes some sense to stop with the Mac/PC dichotomy.

Michael Simon:

But it’s hard not to see a shift in Apple’s thinking. While its price is certainly commensurate with its predecessors, the new MacBook Pro isn’t your standard professional notebook. Rather, the latest flagship portables from Cupertino are more in line with the iPad Pro than the MacBook Pros they replace, and it could signal major changes ahead for the rest of the lineup.


The Butterfly 2.0 keys are indeed updated! Check this sweet MacBook/MacBook Pro (with function keys) rollover!

John Gruber (tweet):

I know a lot of people — DF readers, developer friends — who are deeply worried that Apple is sunsetting the Mac. […] But I would hold up as proof of Apple’s commitment to the Mac two things: the annual update cycle of the OS and the MacBook lineup. (Personally, I would prefer if they slowed down on major updates to MacOS and updated hardware more frequently with minor speed bumps.)

Riccardo Mori:

Call me an old-school Mac curmudgeon all you like, but I think a single regular USB port in the new MBP wouldn’t have hurt.

The fact that one needs an adapter to even plug a common USB pendrive is ridiculous.

When using the MBP at home, you can tolerate various adapters, but on the go it’s just annoying.

Update (2016-11-03): See also: MacRumors.

Mike Wuerthele (via Keir Thomas):

Additionally, the system profiler’s report on the 13-inch MacBook Pro has no listing for S/PDIF Optical Digital Audio Output, while the 2012 and 2015 Retina MacBook Pro models do.

AppleInsider contacted Apple about the matter, and was told that the feature was removed due to a lack of customers using the functionality. Additionally, we were told that “plenty of USB-C zero-latency professional peripherals are available now, or coming very soon” featuring optical audio out connectivity.

This is right after Schiller’s statement (above) that Apple left the headphone jack on the MacBook Pro because of its uses for pro audio.

I was able to try the MacBook Escape today at the Apple Store Maine Mall. (The models with Touch Bar will not be in stock, even as demo units, for about a month.) I find the “second generation” keyboard noticeably better than the MacBook One’s. I don’t like feel or the arrow key layout, but I think it would probably be tolerable for me, given that I mostly use an external keyboard. On the other hand, older MacBook Pro keyboard is probably the best that Apple has ever shipped in a notebook, and the MacBook One’s is probably the worst.

My primary use case for the SD card slot is for a Time Machine drive while traveling. Hotel network connections are too slow for Internet backup, and the SD cards are compact enough that I can leave them inserted while loading and unloading the MacBook Pro from my bag. Even if a dongle weren’t required, a USB drive just wouldn’t work as well here. It would not fit in my laptop sleeve, and I would have to unmount it before disconnecting it.

Update (2016-11-04): Accidental Tech Podcast makes a lot of interesting points, particularly about what it means that Apple is getting out of the external display business.

Glenn Fleishman:

The summary for potential late 2016 MacBook Pro owners is that all current USB-C devices, cables, and adapters will work when plugged into a MacBook Pro’s Thunderbolt 3 ports. However, Thunderbolt 3-specific devices won’t work with computers and other devices like the 12-inch MacBook whose USB-C ports are less capable.

Greg Barbosa (MacRumors):

After a battery of tests with their current lineup of USB-C and Thunderbolt products, Plugable learned that Apple’s newest MacBook Pros may not be compatible with currently available Thunderbolt 3 devices. This issue seems to specifically stem from the use of Texas Instruments controller chips in the Thunderbolt 3 devices. If true, this means that has Apple potentially shut out early adopters of the new technology.

Clark Goble:

To me the neglected part discussed was the touch pads. Why are they so big? I don’t think Apple gave a good reason at the Event and no one else has really explained them well. If you look at them they’re the size of a large iPhone. I think there’s something to that.

Clark Goble:

Some people use a MacBook Pro primarily as a desktop machine that they want to be able to occasionally move around easily. These people aren’t as concerned with battery life or weight. They’d rather have more ports than battery life. A different (much larger) group of people primarily want a powerful machine that they can run extended times on battery power and easily carry with them. For most of the life of the MacBook Pro the laptop met both these needs with only a few compromises. At least relative to the choices available at the time. Partially due to Intel’s own product lines this just isn’t true anymore.

Next year’s CannonLake chips from Intel will help this problem a lot. They’ll significantly increase the amount of memory available. However I suspect the days of the MacBook Pro being able to meet both needs are gone. While this “transportable” market is small I don’t think it is negligible. It would be nice were Apple to simply take the old MacBook Pro form factor, drop the DP, power port, and one USB-A port and replace them with USB-C/TB3 ports. Leave the rest of the ports the same, put in a powerful Nvidea mobile GPU, have bigger fans, put in the top Intel chip, ignore the weight and be satisfied with battery life more akin to what the 2009 MacBook Pro had. There is a group of Apple fans who would love this device.

Manton Reece:

It’s a convenient narrative to group together both the migration away from USB-A and the one away from 3.5mm headphones. There are important differences, though.

Jason Snell (Hacker News):

Regardless, the Mac Pro has not been updated in an unconscionably long time. The current Mac Pro, which you can still buy, is three years old. It hasn’t been updated once. The Mac Pro may not sell many units at all—and truth be told, even two years ago the 5K iMac was arguably a better Mac than the Mac Pro—but it’s also symbolic. It represents some part of Apple’s commitment to its professional user base, a small but enthusiastic group that includes developers and other highly technical folks. And users of the MacBook Pro had to look on and wonder if Apple’s commitment to them was wavering, too.


The danger for Apple is how many people are on those margins, and how influential those people are. If the company has miscalculated, it may cede users that keep the Mac platform strong, and that could slow the Mac’s momentum when compared to the PC industry at large.


A larger danger for Apple, I think, is affordability. The move to Retina has dramatically increased the price of all of Apple’s laptops. The 13-inch MacBook Air is still kicking around at $999, but the new 13-inch MacBook Pro, by all rights the proper successor to the 13-inch Air, costs $500 more. A product line that once began at $899 now begins (leaving the Air aside for a moment) at $1299. I’m not sure what solves this one other than time, but it’s an issue.

Adam Gutterman:

Despite Apple introducing new 2016 MacBook Pro’s last week, I just ordered at 2015 model. Yes, the one that was last updated a year and a half ago. I spent a considerable amount of time looking at the new lineup and thinking through how I intend to use the machine. Ultimately I concluded that in addition to costing several hundreds more, the new models simply offer me less utility than the 2015 models.


A huge part of my workflow requires that I use a USB security token, and I use USB flash drives a fair amount. I’m not a huge klutz, but I was looking forward to the MagSafe connector. I connect to projectors and large LCDs on a fairly regular basis, so an HDMI port is very useful for me. The thought of having to use dongles all of the time doesn’t appeal to me.

Update (2016-11-05): Jacob Kastrenakes (Hacker News, MacRumors):

Apple is cutting prices for all of its USB-C adapters following a week of complaints about the MacBook Pro’s inconvenient port situation.


It’s a sign that Apple recognizes these dongles are a hassle, and it seems to hope that reducing the prices on them will lessen the pain of this transition. Starting immediately, all of Apple’s USB-C adapters and some of its USB-C cables will have their prices cut by $6 to $20[…]

John Gruber:

I think Apple wants to counter the notion that moving to all USB-C is a money grab — that they did it to make money selling adapters.

Colin Cornaby:

Before the 2013 Mac Pro, Apple hadn’t upgraded the Mac Pro in three years (and Apple’s neglect of Final Cut Pro 7 didn’t help.) I with video pros at the time and the panic was already setting in. A two year gap, like the one from 2006 to 2008, was digestible. But at three years you start to wonder if the Mac Pro was going to be updated at all. And if you don’t think the Mac Pro is going to be updated, for the good of your business, you’re going to start looking at the Adobe Suite and Windows workstations, and start that transition as early as possible.


When Apple released the 2013 Mac Pro it never calmed the pro community. The 2013 Mac Pro a risky proposition for businesses because it was slower than Windows hardware, which translates to dollars on the bottom line. A job that takes twice as long to render costs twice as much. And that just continued to feed the narrative that investing in the Apple platform was a risky proposition. And then three years later Apple still hasn’t shipped an upgrade, continuing the tailspin in pro’s confidence of Apple.

Marco Arment (tweet, Hacker News):

It’s looking increasingly likely that there will never be another Mac Pro. Here’s why that would be a shame.


Pros wouldn’t be as angry about the limitations of the new MacBook Pro line if there was an alternative that solved their needs. The Mac Pro sweeps up countless edge cases with one product at the top of the line — the only downside is cost, but many pros would rather spend money than compromise on their needs.

Just as the Mac’s power lets iOS be simpler, a healthy Mac Pro frees up the rest of the Mac lineup to make more aggressive progress.


Arment is way too positive on the Mac Pro’s thermal design. Recently I worked on an application where we had about a dozen Mac Pros doing heavy video encoding workloads. Four of these computers started having GPU overheating issues, and turns out that this is a common occurrence on the 2013 Mac Pro. Apple has been quietly replacing units over the years (searching for the specific console error message reveals that it’s common among Mac Pro owners).

My theory is that the Mac Pro hasn’t seen an update because Apple knows that its current thermal design is a lemon, and they don’t really want to sell any more of these because the replacement rate is so high.

Craig Hockenberry (tweet):

Licensing just the operating system was a disaster for Apple. Professional customers don’t have the time to build and maintain their own Hackintoshes. Any partnership to build Mac hardware would need to be structured so that it benefits Apple, the partner, and customer alike.

Just like IBM and their clients have benefitted from Lenovo.

Keir Thomas:

Did you see Louis Rossmann’s YT review? Some USB-C devices kill internet and make the mouse laggy on the new MBP 13in non-Touch Bar.

Update (2016-11-06): Jeff Carlson:

But like a lot of people, I didn’t order one right away. The 16 GB RAM limit was the first thing to make me pause; my current machine is maxed out at 8 GB and I often hit that ceiling when I’m editing photos and running many applications in the background.


I still bought one. As I was deliberating, I wrote up the following list of reasons this MacBook Pro, at this time, is the new computer for me. Let me reinforce that this is my situation; I’m not trying to be universal or tell you what to buy. But I thought that posting my thought process might help other people who are also weighing many of the same questions.

Aniket Sharma:

As someone who had tuned into the event with the singular goal of getting to know more about Apple’s plans for the Mac Mini and iMac, I was left with a very sour taste in my mouth by the time the event ended. Phil, or Tim, should’ve made at least a passing mention to the MacBook Pro’s desktop brethren and told us to hang in there.

Jason Snell (Hacker News):

And what I like is more travel than these keyboards offer. That said, I want to allay the fears of people who think these keyboards don’t do the job: They do. I find the lack of response in the keys unpleasant, but I can still type at full speed and accuracy when I use it. (I do keep hitting the wrong arrow keys, though. I’m still not a fan of the full-sized left and right arrow keys sharing space with half-height up and down arrows.)

In any event, if you like the MacBook keyboard, you’ll liked this one even more. If you disliked the MacBook keyboard, you may find this one to be an improvement—but it’s a progression of that keyboard, not a replacement.

Chance Miller:

That’s where Griffin’s BreakSafe comes in. It brings MagSafe-like tech to USB-C connections, but there are a few things you should note before running out and purchasing one…

See also: Glenn Fleishman (in 2015).

Update (2016-11-07): Fred McCann:

I think a lot of the anger in the community has more to do with the lack of Mac hardware in general than these specific laptops, but there are some real problems.


You can pin this on Intel as the kinds of Kaby Lake chips Apple wants aren’t yet available, but the release cycle of MacBook Pros is ultimately on Apple. I know people (myself included) who were waiting for a quad-core latest generation Intel chip in the 2015 MacBook Pro which never came. Apple is charging premium prices for products that will be not entirely outdated, but certainly behind the curve in a short amount of time.


The old value proposition was you’d invest in as much hardware as you could afford and upgrade later. Apple’s current offerings are already expensive, and outfitting a machine that will go the expected distance is even more so. The combination of limited and expensive options for memory and storage dramatically alters the value proposition of the MacBook Pro over the lifetime of the computer.

John Gruber:

I’ve been thinking for a long time that of course Apple is “soon” going to reboot the Mac Pro. Now I’m starting to worry they’re not. They don’t have to, but they really should. Make it fast, make it quiet, and make it easy to keep updating with CPU and GPU speed bumps every year or so.

John Paczkowski:

256GB base in a Pro laptop is silly. So is demanding an additional $200 to get it to 512 where it should be (at very least).

Update (2016-11-08): John Gruber:

This isn’t a new comment. This was posted 4 years ago, in response to the last major MacBook Pro redesign. Déjà vu.

David Owens II:

Is the point that Apple continues to push sub-pro hardware to us and we continue to buy it because there’s no better alternative?

Vlad Savov:

These are Apple’s premium laptops, its deluxe devices, but not in any meaningful way computers tailored for the pros. A MacBook Pro is now simply what you buy if you’re in the Apple ecosystem and have a higher budget and expectations than the MacBook can fulfill.


The Mac community finds the specs underwhelming, even on the 15-inch model, which uses power-sipping AMD Radeon graphics instead of the world-conquering Nvidia Pascal chips.

Dave Mark:

My hope is that Apple has a new, upgradeable Mac Pro in the works. My worry is that they don’t.

Stephen Hackett:

Out of respect, I think Apple should give their pro users an olive branch here. If the Mac Pro is going to stick around, then the company should have an answer to Marco’s complaints. If there is something in the pipeline, the company should tip its hand a little. I can’t imagine sales of the Mac Pro are good anymore, so I don’t this would be a big hit on the bottom line.

See also: Upgrade.

Sam Mallery has a contrary perspective on MagSafe (tweet).

Jonathan Zdziarski (via John Gruber):

I fired up a bunch of apps and projects (more than I’d ever work on at one time) in every app I could possibly think of on my MacBook Pro. These included apps you’d find professional photographers, designers, software engineers, penetration testers, reverse engineers, and other types running – and I ran them all at once, and switched between them, making “professionally-type-stuff” happen as I go.


The result? I ran out of things to do before I ever ran out of RAM. I only ever made it to 14.5GB before the system decided to start paging out, so I didn’t even have the change to burn up all that delicious RAM.

I found this surprising because on a normal day I run fewer apps than that and yet frequently see lots of page outs. On Sunday I rebooted, did some light work (no Xcode, VMware, or Lightroom) and by early evening had 17 GB of swap. And when I do use those apps, it sounds like I work with smaller photo files than he does, and usually only one virtual machine at a time.

Susie Ochs:

I can type on both just fine, but I’m not a fan of this style—every time I had to switch back to my MacBook Air for a few minutes, its old keyboard felt better immediately. With the MacBook Pro’s new keyboard, I find myself typing extra hard, like my brain isn’t convinced the keys are even going to go down unless I really pound them. For what it’s worth, I don’t have this problem with Apple’s wireless Smart Keyboard.


Putting it to the test in Geekbench 4.0.1, this stock, entry-level MacBook Pro racked up a score of 3765 in the single-core CPU test, and 7316 in the multicore test, both at 64-bit. But that single-core score is just 1 percent better than the entry-level 13-inch MacBook Pro from early 2015 (2.7GHz dual-core Intel Core i5 with 8GB of RAM), and the multicore score is better by 4 percent.

Becky Hansmeyer:

Looks like I’m six for six! (except the key travel did change, but ehhh I’ll get used to it.) Also, one of my “dream big” requests was for a bigger trackpad with Pencil support, so I guess you could even say I got six and a half of my wishes.

Rene Ritchie:

When Apple made Mac Pro an appliance, like iPad and MacBook Air before it, Apple took on the responsibility for keeping it updated. If I can no longer upgrade the graphics, RAM, or drives, it’s their job to do it for me, consistently and reliably, or to over-communicate why the roadmap might be longer.


I didn’t buy the rev A modern Mac Pro, but I fully intended to buy the rev B. It just never came. Not a year later, not two years later, and now not three years later. It might come next spring but no one outside Apple really knows for sure. And that creates an incredible amount of stress and anxiety in the community. Stress and anxiety they don’t deserve.

Update (2016-11-09): Aaron L’Heureux:

I want to talk to some of the FUD that has led to a number of complaints, but first there are certainly a few areas where Apple could have done better and helped curb some of the unrest.


In order to prove that this future is the right future, Apple and third parties need to knock the functionality of the Touch Bar out of the park. I’m not worried about the decision for all USB-C. I think we will find in the coming years that the all USB-C lifestyle will reduce peripheral complexity and make life actually easier. But for now, we’re in that transition phase.

Colm Mulhall:

Macs were never cheap, but I think at this price point, Apple has raised the bar to a price point that just can’t be justified by many people, myself included.

Update (2016-11-10): Jason Snell:

It’s not quite a price hike, but it’s an elimination of the least expensive option. And combined with the price hikes internationally due to the stronger dollar, it’s got a lot of people crying foul.

This makes me wonder: To what degree are Retina Macs more expensive because the Retina display (and the increased graphics power required to drive them) adds to the cost of making the device, and to what degree is it a feature differentiator that Apple feels it can use as a way to get people to spend more money?

Update (2016-11-11): Benjamin Mayo:

Windows manufacturers don’t seem to have a problem selling laptops with ‘Retina’ resolution displays far below the Air’s $999 retail price. They may not be as good as the new MacBook Pro or iMac displays but they are leaps and beyonds ahead of what the Air has.

hot2 is unable to get the new MacBook Pro to work with Linux (via Hacker News).

Update (2016-11-12): John Gordon:

Retina is for the young.

Update (2016-11-13): See also: Accidental Tech Podcast.

Update (2016-11-14): John Gruber:

Most common question about Touch Bar: does the blank spot to the left of Esc work as a touch target. Answer: half of it does.

Jacob Kastrenakes:

There really is a lot of good stuff here. But for every smart use of the Touch Bar, there’s another that’s too complicated or entirely meaningless. Often they’re even within the same app, all present on the Touch Bar at once.


The difference between a menu opening left or right or up or down may seem slight, but the effect is very disorienting. There were times I felt lost in the Touch Bar, unable to return to the screen I wanted.


Having those menu options exposed so clearly can be helpful at times — I’m bad at finding formulas in Keynote, for instance, and the Touch Bar makes them easy to access — but mostly it’s not. These apps don’t need more menus; they need better context for people just starting out in them, and a streamlined way for experienced users to get stuff done.


“While editing in Final Cut, I used the Touch Bar exactly zero times,” Nielsen says. “When I tried to intentionally use the Touch Bar, I felt like a kid learning how to type again. I had to keep looking down at the bar instead of looking at the images I was actually trying to edit. That could get better with time, but it seems harder since there aren’t any actual keys for my fingers to find if I was just editing along not looking at my hands.”

Brian X. Chen:

The Touch Bar is a breeze to get the hang of, but I didn’t find it helpful in streamlining tasks. If you open the Photos app, for example, the Touch Bar displays thumbnails of photos in your library, and you can tap one to select a photo to edit. That’s neat, but why not just select the photo on your laptop screen? When using the Safari browser, you can use the Touch Bar to select a different browser tab — but using keyboard shortcuts (Command+1 to choose the first tab, for instance) is quicker.


In speed tests run with the app Geekbench 4, the 15-inch MacBook Pro’s computer processor was only 10 percent to 17 percent faster than the 15-inch model released in 2012. Yet the graphics processor, which is crucial for heavy computing tasks, in the new MacBook Pro is about twice as fast as the one in the older model, and the storage drives are much faster, too.

Jason Snell:

Every ten clicks or so, the MacBook Pro’s trackpad would simply “miss” one of my clicks. This is something I haven’t experienced on my desktop Magic Trackpad, which clicks reliably. At first I thought I was interfering with the trackpad somehow, perhaps inadvertently touching my shirt to the bottom edge or laying my palm onto the surface. But it wasn’t any of those, so far as I could tell. Whatever the reason, it’s not fun to have your laptop miss clicks. It slows everything down. I hope this is a bug in the software that Apple can address in an update, because it’s a real bummer. The old hinge-style trackpad on my MacBook Air might not be fancy, but it never let me down.

Rene Ritchie:

The potential unlocked by all of it is enormous.

But they’ve got graphics that, while they can run dual 5K displays at the high end, can’t run VR or the highest end games. They’ve got a 16 GB memory limit that, while mitigated by compression and SSD speed, won’t prove enough for the most demanding professionals. They’ve got Touch Bar and Touch ID but not a touch screen, and there’s no option for anything but Apple’s incredibly flat, incredibly divisive new keyboard. And they’re priced at a significant premium.

What this means to you will depend entirely on your personal preferences and professional requirements. For some, the new MacBook Pro will be absolute, heart-crushing deal breakers. For others, like me, they’ll be absolutely terrific and once again deliver on the future, right now, today.

Walt Mossberg:

The biggest surprise in my tests was just how inconsistent the Touch Bar Pro’s battery life was. I have tested hundreds of laptops over the years and Macs have almost always excelled at meeting or beating their promised battery lives, both in my longtime battery test regime, and in typical daily use. But the 13-inch MacBook Pro with Touch Bar wasn’t as reliably consistent as previous Macs.


Alas, although I wrote this whole column on a MacBook Pro with Touch Bar, I couldn’t use this predictive text feature because I was writing in Google Docs running in a Safari tab. That’s right: while text entry in any number of web pages works with the Touch Bar, it fails with one of the world’s most widely used web apps.

Jim Dalrymple:

I know that having 16GB RAM is a concern for some people, but you could never put more than 16GB RAM in a MacBook Pro, so I don’t get the problem. Pros and other customers have been successfully using these computers for years. Just because it takes more RAM to use a Windows machine effectively, that doesn’t mean the same thing for a Mac. You have to look at the entire picture, hardware, software, system software, and memory optimizations.

It’s simple: I’ve been hitting the limit for years, and I’m tired of not being able to do certain things at once, of having to keep rebooting my Mac when performance grinds to a halt. And if you look at what I do, I don’t even think I’m that much of a pro.

There are adapters that will allow you to plug in everything you need. […] I know that’s another source of frustration for users, but it will only be a frustration until the devices we use come with USB-C by default.

There is no adapter that can provide the internal secondary storage that the SD slot could.

Troy Gaul:

Was setting up my new MacBook Pro when I realized that its L key doesn’t work consistently. Pressing it doesn’t always produce a letter.

See also: 9to5Mac, MacRumors.

Update (2016-11-15): Joe Rossignol:

These are the first MacBook Pro models to ship with non-removable SSDs, following in the footsteps of the 12-inch MacBook.

Ruffin Bailey:

If that’s right, and I’m a little surprised to see it, the $2400 entry-level 15" MacBook Pro has exactly the same processor my $850 Lenovo Y700 has. […] Wow. I got 15" MacBook Pro internals over half a year earlier for a third of the price.

Andrew Cunningham:

Incidentally, this also helps explain why Apple went with AMD’s Polaris-based GPUs instead of Nvidia’s generally faster Pascal-based GPUs. Power consumption aside—the laptop version of the GTX 1060, Nvidia’s slowest Pascal-based laptop chip, has an 85W TDP where the MacBook Pro’s AMD GPUs are all 35W—Nvidia’s cards support a maximum of four displays. And while Nvidia’s GPUs support DisplayPort 1.3, the Thunderbolt 3 controller and most monitors only support 1.2.


Even if you’re upgrading from a 2013 model, the speed increases here aren’t amazing. The equivalent 2015 model had a CPU that was about 100MHz faster, which just about wipes out the modest architectural improvements that Skylake brings to the table. It’s better if you’re coming from a 2011 or 2012 model, though still not earth-shattering—if you’re desperate for a CPU upgrade, make sure the new Pro you buy has a faster-clocked CPU than your old one. That’s going to make more of a difference than the improved CPU architecture will.

John Gruber:

Here’s a video from Louis Rossman comparing his old MacBook Pro keyboard to the brand new one. I think the new one is definitely louder.

John Gruber (tweet):

I find less key travel to be less pleasant while typing. […] And here’s the mixed bag part: the new MacBook Pro key switches do have a premium feel to them. I now can’t stop noticing how much the key caps on my old MacBook Pro jiggle around when I’m just resting my fingers on the keys. The new keys don’t do that. It feels like a premium keyboard — just one with incredibly short key travel, alas. […] The keyboard change I’m having the most trouble with is the arrow key arrangement.


Even leaving aside the “trip over the cable accidentally scenario”, MagSafe is great on a daily basis just because it’s so effortless to connect. It feels like a cable that connects itself.


There’s much griping about these machines now, just like there was much griping about the original Air then, but these are exactly the MacBooks I want Apple to be making — ones that show that the company is putting very hard work into every aspect of them.

Of course, the original MacBook Air didn’t replace the other models, so you had a choice.

Chris Davies:

Apple has been pushing faster and faster solid-state storage in its notebooks for some generations now, and the new MacBook Pro line-up is no exception. Benchmark speeds were pretty consistent across all three models in QuickBench 4.0, hitting a hefty 2,909.2 MB/sec read and 1,571.2 MB/sec write at their fastest. Yes, Apple charges a fair amount to climb up through its SSD storage, but you can’t argue with the performance.

Update (2016-11-18): As I feared, the DYMO label printer doesn’t work with the new MacBook Pros because it requires a direct connection to a USB-A port.

Update (2016-11-22): Chuq Von Rospach:

If you are a photographer or someone for whom superior color is an important feature, the new screen on these laptops will blow you away. I’m so impressed and it hasn’t gotten a lot of chatter in the discussions since the event, but the results I’m seeing are just, um, eye opening.


On the negatives, I have to say the Caldigit USB-C dock is okay but not quite to good, much less great (but check back in in 3 months to see if that’s resolved or if I replace), and the loudness of the keyboard surprised me, in that it actually was so loud I cared about it. It’s not a keyboard I would ever use while recording any audio unless I had no alternatives.


We could argue for a while about price, but… I have no problem with it. I’m not surprised Apple couldn’t get a retina-enabled device under $1000, and I’m not surprised these cost a bit more given the technology being shoved in them. Yes, you can get windows PC boxes for less, but then you have a Windows PC box. If that’s okay for you, then you have my blessing. I’m a Mac user, no interest in changing. I think the days of exploding performance with retreating prices is over for the industry in general, but not something we’ve all come to grips with yet. Welcome to mature becoming declining markets.

Lloyd Chambers:

The 2016 MacBook Pro does not have the chops for larger Photoshop tasks. Moreover the performance of the fastest-possible 2016 MacBook Pro is scarcely faster than the 2013 model for in-memory work. This 2016 MacBook Pro is not an upgrade in terms of getting work done in Photoshop. It is a ‘dud’ upgrade. You are buying Thunderbolt 3 / USB-C ports (and incompatibility), a faster SSD and nicer screen.

Adam C. Engst:

Andy Ihnatko hit the nail on the head when he pointed out that despite the different names, the MacBook, the MacBook Air, and the MacBook Pro are all really just variants on the MacBook Air concept. They’re thin, light, and relatively expensive for what they offer in terms of performance and connectivity. That’s fine, but not everyone wants the smallest and lightest Mac laptop. For some, price is paramount, and for others, performance matters most.

A more compelling line of Mac laptops might look like this[…] The core problem is that Apple no longer seems to understand how Mac users choose their machines.


The prime directive of an engineering company is to provide products that solve users’ problems. It’s all about helping users achieve their goals with the least amount of wasted time and effort. That used to describe Apple to a T.

Nowadays, Apple is ignoring the desires of many Mac users and focusing on making gorgeous objects that are possible purely because of the company’s leadership in advanced manufacturing techniques.

Update (2016-11-27): David Owens II:

It seems clear that the future Apple wants is not the future that I want for it. That’s ok. But maybe that just means it’s time for me to move on too. If four of the five solutions above I need to satisfy in the near future simply cannot be an Apple product, it might finally make sense to go back to having my workstation not be one anymore too. After all, a Mac is really only needed for the code signing and App Store submission process these days anyway.

Chris Adamson:

It certainly looks like extensive tradeoffs have been made to fit the computer into the ever-smaller case, trading power for aesthetics as modern Apple is wont to do. The big point everyone’s been arguing is whether a 16GB RAM limit is sufficient for a “pro” machine? As I noted on Twitter the other day, I burn about half that with a typical iOS developer stack[…]


And will the performance hold up? Because the thing is, I don’t just develop. I also do video work. And video isn’t just about editing. […]It doesn’t inspire confidence that The Verge’s MacBook Pro review says that even the high-end model “starts lagging pretty seriously” when editing a non-trivial 4K project.


These choices suck, and I’m mad at Apple for leaving me in the lurch like this when I’m shopping for my fourteenth goddamn Mac.

Mark Alldritt:

Now, almost 5 years later, my machine fully utilizes that 16GB of RAM.

Given what these new machines cost, I expect to be using it for several years. I anticipate that 2-3 years from now, 16GB RAM is going to feel very cramped. At that point, the only option will be a new machine.

Adam Geitgey (Hacker News):

Yes, it’s probably too expensive and more RAM is better than less RAM. But everyone posting complaints without actually using a MBP for a few weeks is missing out on all the clever things you can do because it is built on USB-C. Over the past week or two with a new MacBook Pro (15in, 2.9ghz, TouchBar), I’ve been constantly surprised with how USB-C makes new things possible. It’s a kind of a hacker’s dream.


The new charging block that comes with the MBP looks exactly the same as any traditional MBP charger[…]

If only that were so. It’s missing the cord coiler and the wall extension.

Lloyd Chambers:

The Apple Thunderbolt 3 to Thunderbolt adapter did NOT work to drive the display. Unplugging and replugging and rebooting several times failed to ever detect the display.

Update (2016-12-02): Lloyd Chambers on a Lightroom import test:

It is pathetic that the 2016 MacBook Pro runs at 2.9 GHz and with a 4.5X faster SSD, and the 2013 model runs at 2.6 GHz and yet the 2013 MacBook Pro wins.

Update (2016-12-05): Lloyd Chambers:

While testing the 2016 MacBook Pro, a consistent pattern of declining performance was observed. For example, with 10 iterations of of the Photoshop sharpening test, the 2016 MacBook Pro declined in performance by 23%. No such decline was seen on the iMac 5K or 2013 Mac Pro.

Joe Rossignol:

A subset of users who purchased a new MacBook Pro with Touch Bar claim to be experiencing shorter than expected battery life.

Update (2016-12-12): Jean-Louis Gassée (Hacker News):

With both the RAM limitation and “donglegate” we see self-inflicted wounds, a puzzling lack of storytelling by a company that has a long history of controlling the narrative. Apple was forced to react with labored explanations and admission-of-guilt price cuts days after the late October launch. Experienced Apple executives violated a cardinal rule of selling: Don’t let the customer discover the problem. No product is perfect, so tell it all, tell it now, and tell it yourself. If you don’t, your customers — and your competition — will tell it for you.


And what of the delivery promise? The product you could “Order Now” was nowhere to be seen in the Apple Stores for at least two weeks. The two-to-three week delivery schedule soon stretched to four-to-five weeks. (my own order of a fully-loaded 13” MacBook Pro was scheduled for a January 4th store pickup). The MacBook Pros without a Touch Bar were immediately available, so the speculation, sensible for once, is that there have been manufacturing or supply chain difficulties with the new device. For a company that excels at Supply Chain Management this is a surprising glitch (and we’re witnessing it again with the constantly delayed AirPods).

He’s also seeing much worse battery life than on his 2015 MacBook Pro.


I don’t understand why the author thinks that people aren’t allowed to complain about RAM limitations at the launch, and instead expects them to wait the 2-3 weeks before the items ship and then use certain software on them long enough for usage patterns to come through. If 16GB ram isn’t enough for you now, it’s utter nonsense that “maybe Photoshop will run just fine on 16GB on the new hardware”.

I would also have made a bigger point of Apple not having enough USB dongles to supply their ‘new, modern’ laptops. It’s a pretty big complaint to level against the “so what, it’s one dongle” apologists, if you can’t get one in the first place.

Update (2016-12-13): Josh Ginter:

This doesn’t take into account palm rejection. I mean, it works when you’re typing. But, say your left hand is resting on the keyboard while you are interacting with the trackpad with your right hand. If you rest your palm on the corner of the trackpad, every click turns into a second click. Or scrolling actions turn into zooming actions. This isn’t prevalent, but it does happen. And when it happens, it’s annoying.


There’s no worse feeling than thinking you hit a button, but then realize you didn’t. Or, thinking you didn’t hit the button, but actually did.


In short, the new MacBook Pro is underwhelming in the performance department. To the extent that some users have found their year-old 15” MacBook Pros to outperform the newest generation.


Apple decided to shave 25% of the battery’s capacity in the new 15” MacBook Pro, allowing for a thinner and lighter chassis. It appears Apple’s thought process centered around more efficient processors making up for the drop in battery capacity. From what I’ve experienced, this just isn’t the case.

Update (2016-12-27): Pier Bover (via Hacker News):

After waiting for a few years to upgrade my MBP and being really disappointed with the 2016 models I ended up getting a 15" 2015 model.


I couldn’t care less about a thinner machine or a gigantic trackpad. Apple sacrificed too much to solve a problem that wasn’t there and introduced drastic changes that IMO don’t make much sense.

Charles Haine:

What we want is to have a powerful machine we can carry with us to different sets and offices (and even in transit on planes or trains), and plug in while we’re there. So, limiting to 16GB for battery life is very frustrating, since you can’t update these machines later; You’re stuck with a likely insufficient amount of memory.


The worst performance from the new MacBook Pro was surprisingly from the internal SSD. Working on a Premiere project off internal media, encoding to H.264 right back to that internal media, the export time for our sample project on both the 2013 and 2016 were identical at 2:35.


Resolve showed even better results, with a render that the 2013 machine took 4:48 to accomplish flying out of the 2016 machine in 2:28. Shots that would play at 2-3fps (full resolution) on the 2013 machine would play consistently at 6fps on the new machine.


There are countless times when, as a professional or a human being, you want to change your volume quickly. Muscle memory is a huge part of how we interact with machines, and instead of the muscle memory of just hitting the volume button, you now have to find it on a screen, which requires looking down. It takes extra time just when you don't have it, and it worsens the experience. Especially since the Touch Bar often goes to sleep, so instead of just hitting the button once and getting instant feedback, you have to repeatedly touch it to wake it up before you get to adjust volume. […] This is a frustration not just with volume, but also with brightness.


The Trackpad is larger, and the feel of the touch is quite different. When first taken out of the box, the click and drag basically didn’t work, and while it has improved, we aren't sure if it was a matter of breaking it in or learning to use it. The “click” itself feels like it takes more work (no matter how you set it in the preferences), but any kind of click and drag is so difficult as to be nearly impossible. Whenever switching back to the oMBP it was a tremendous relief to work on a functional trackpad again.


The P3 color space was part of it pitch to sell this upgrade, and they have even talked about how the tight integration with Final Cut X means that now FCP-X has wide gamut support enabled and a complete DCI-P3 workflow. Unfortunately, the results of our tests were that it's just not accurate enough to be calling itself P3.

Fuji vs. Fuji (via Michael Yacavone):

Out of the box, the Power/Touch ID button felt fairly loose to me, and had some side to side play. It would almost stick to my finger when using Touch ID, and “click” back into place. It felt awful and cheap.


Moments after leaving the Apple Store, the Genius called to inform me of one more option. This issue is so common that Apple has an official “2016 MacBook Pro shim kit” for the Power button. The Genius said he’s never actually done it before, wasn’t sure of the success rate, and it would take 3-5 business days to complete. Again though, I don’t think I should be looking at having a repair done to a brand new expensive computer that would have meant cracking it open, especially not within the return policy.


This has got to be the one of the worst times for photographers and creative professionals to buy Apple computers. As a fan for so many years, it really just makes me kind of sad there’s no “right” option for me, as far as I’m concerned. Hopefully things will turn around.

Update (2017-01-02): Joel Spolsky:

Bought new MacBook Pro. One of the keys didn’t work unless you really whacked it. Spent 4 weeks waiting for a replacement from Apple

On the replacement, another key is broken... it sometimes presses itself. Basically impossible to type correctly on this machine

Also. After a few weeks with the “touchbar”, it is worse than the function keys it replaced in every respect. worst apple purchase ever

Jason O’Grady:

I simply couldn’t type accurately on the 13 MBP because of the over-sensitive trackpad and Touch Bar – which I constantly engaged with an errant palm graze or finger overshooting the keyboard. It’s distracting as hell to be typing away into a note, doc or email and suddenly “click” on the window of a background app and switching contexts. Then I’d have to figure out what I was doing, where my window went, switch back to it, and try to pick up where I left off.

Accidental and sudden context switches are productivity killers and at the end of the day, I need my MacBook to be a productivity machine, not a productivity killer.

Felix Schwarz (tweet):

I’ve since spent several weeks with the new MacBook Pro as my main work machine. Here’s what I learnt and observed — and why I eventually decided to return it.


The new MacBook Pro saves me only barely noticeable 1.6 seconds for the most frequently performed action (incremental builds) while full builds are too rare as that the 21.7% performance gain on those would be significant enough. I’d be surprised if it’d save me a minute per day.


The question if 16 GB of RAM leaves enough breathing room for the next four years must still be raised, though.

In my case, the answer turned out to be no: my typical usage today already saturates 16 GB to the point that macOS usually indicates a swap usage of 2 GB and more.


But in practice, the absence of any haptic confirmation was a major issue: more than a few times, I found myself immediately question if I had hit the right spot or if my touch was properly recognized whenever there was no immediate response from the currently used app (hello Xcode!).


It’s not about dongles, it’s not about function keys turning into buttons on a Touch Bar, it’s about this: for years, you could honestly say that the MacBook Pro kept up reasonably with, and sometimes defined, the high end of the market. It got a high-resolution display along with an OS that could competently support it, it had built-in, fast solid-state storage, competent discrete graphics, a workable complement of I/O and lots of memory.

In the absence of something that will let people do what they just can’t do on other platforms, it is now required to keep up just to stand still, to provide what alternatives do, lest you get left behind. In most aspects they still do, but they are clearly slipping. In category after category, Apple is making tradeoffs that a large part of its audience simply don’t agree with, and sooner or later, it will result in them leaving.

The capabilities of the hardware Apple puts out now does not advance the state of computing one bit. It merely packages it in a smaller package. I’m all for miniaturization, I’m all for progress, I’m even all for maintaining the current MacBook – what I’m not for is being told to stop solving the problems I still need to solve, because our priorities shifted. If you’re going to be selling “trucks”, they’d better still be trucks.


The ability to provide a platform that makes it possible to do things you did not even know you wanted has been replaced with not even being able to provide a platform that makes it possible to do the things you need to do, and it is entirely due to Apple’s infatuation with the role it has sometimes played; its recent obsession with trying to capture the elusive light in a bottle with every single thing it does, as if the mere belief that “only Apple can do that” made it so.

Duncan Davidson (tweet):

TouchID is the big deal about the new Touch Bar. I use huge passwords and every opprotunity to skip typing them is a bonus. Even if I hated the rest of the Touch Bar, I’d still be in for this.


The color gamut on the 15" display is gorgeous. The photographer in me loves it.


It’s a worthy laptop. If you need a new MacBook Pro, then get it. If you don’t — and you might not as even three and four year old MacBook Pros are still adequate performers—then don’t get it. Use the money on something else. Economics 101.

Update (2017-01-09): Daniel Singer:

How to upgrade your Mac in three easy steps!

Sierra Log Littering

Daniel Jalkut:

Apple has dramatically revamped its standard logging mechanism. Unified Logging, available in macOS 10.12 and iOS 10, replaces various file-based logging approaches with a centralized, database-backed repository for log information of all levels of interest.


The two big losses, in my opinion, are that the sheer size, number, and variety of logging messages makes it impractical for users to skim the console for “real problems,” and that the resulting logging archives are so large that it’s impractical to casually include them with bug reports to Apple or 3rd party developers.


The logging system offers a variety of tools for annotating log messages, but even internal Apple groups do not seem to use these extensively or appropriately. The system supports the notion of three levels of log message: default, info, and debug. Only the “default” level messages are displayed by default in the Console app, yet all of the above-described garbage is displayed in that default mode.

Another annoying change is that formerly useful framework error messages now have have useful text (such as the particular views that are involved) redacted for privacy.

Seth Willits:

Need to see redacted <private> data logged by os_log on Sierra?

sudo log config --mode "private_data:on"

And in your own code, you can use the %{public}s format specifier for strings that you want to always be captured.

Lastly, though the Console app is more flexible, there is no longer an easy way for customers to save the logged data to a file.

Update (2016-10-29): Nick Heer:

I think it’s great that I don’t have to install all kinds of profiles to log critical debugging information, like I typically have to on iOS. But having too much data is equally dangerous: users won’t or can’t upload files, and it’s too much to sift through for power users and developers.

Parsing JSON Is a Minefield

Nicolas Seriot (tweet:

JSON is the de facto standard when it comes to (un)serialising and exchanging data in web and mobile programming. But how well do you really know JSON? We’ll read the specifications and write test cases together. We’ll test common JSON libraries against our test cases. I’ll show that JSON is not the easy, idealised format as many do believe. Indeed, I did not find two libraries that exhibit the very same behaviour. Moreover, I found that edge cases and maliciously crafted payloads can cause bugs, crashes and denial of services, mainly because JSON libraries rely on specifications that have evolved over time and that left many details loosely specified or not specified at all.

Great stuff.

Wednesday, October 26, 2016 [Tweets] [Favorites]

Google Drops Ban on Personally Identifiable Web Tracking

Julia Angwin (Hacker News):

And, for nearly a decade, Google did in fact keep DoubleClick’s massive database of web-browsing records separate by default from the names and other personally identifiable information Google has collected from Gmail and its other login accounts.

But this summer, Google quietly erased that last privacy line in the sand – literally crossing out the lines in its privacy policy that promised to keep the two pots of data separate by default. In its place, Google substituted new language that says browsing habits “may be” combined with what the company learns from the use Gmail and other tools.

The change is enabled by default for new Google accounts. Existing users were prompted to opt-in to the change this summer.

And, I guess, new users can opt out.

Nick Heer:

Google also happens to run the most popular website analytics suite, estimated to be used on tens of millions of websites. They say that they are currently keeping browsing data separate from other Google activity, but they’re leaving the door open for that to change in the future.

iOS (and Mac) Development Podcasts

Josh Adams has created a good list and is accepting more contributions.

Monday, October 24, 2016 [Tweets] [Favorites]

Web Bloat Score Calculator

TestDome (via Maciej Cegłowski):

Page web bloat score (WebBS for short) is calculated as follows:

WebBS = TotalPageSize / PageImageSize

TotalPageSize is the size of all requests, and PageImageSize is the size of a full-page screenshot.

The larger the WebBS, the more bloated a web page is relative to its image representation. For example, Tim Berners-Lee’s homepage has a WebBS of 0.204, which makes it really efficient, while Amazon has score of ~20, making it bloated.

It’s a crude metric—for example, it downsamples retina images, thus penalizing pages that include them—but interesting nonetheless.

Update (2016-10-29): See also: Hacker News.

Yoink’s Revenue a Month After Localizing

Matthias Gansrigler:

With Yoink 3.0 (mac app store, website), I localized the app into Japanese, Simplified Chinese, French, Portuguese (European and Brazilian), Korean and Italian (in addition to the languages that existed from the start: English and German).

Of course, one would expect the revenue to go up after releasing a major new version. Beyond that, I’m not sure what we can conclude from these numbers, especially without being able to compare with predominantly English and German speaking countries, which were the localizations for the previous version.

He also provides a list of localization services.

Thursday, October 20, 2016 [Tweets] [Favorites]

Dropbox Discontinues HTML Rendering

Adam C. Engst:

Unfortunately, as of 3 October 2016, Dropbox says it will no longer allow HTML files loaded in a Web browser to be rendered. The files themselves remain safe in Dropbox, but Dropbox will presumably give those who click the links the options of downloading the file or adding it to their own Dropbox folder, just as happens with non-Web file types now.


You might think that you could just switch to Google Drive, which also provided this sort of service, but Google Drive also discontinued hosting of Web pages as of 31 August 2016.

Previously: 1PasswordAnywhere No Longer Works With Dropbox.

Disappointing Interaction Design

Matt Henderson:

Trying to enable “Do-not-disturb” in Notification center, I ran into to problems:

  • First, it’s not clear to me which of these tabs are active.
  • Second, it took me a while to figure out that the Do-not-disturb control is only exposed when scrolling down in the notification. There’s no UI cues at all to help with discoverability here.

No scroll bar is shown, even if you’ve set System Preferences to Always. And, to clarify, what he means by “scrolling down” is scrolling beyond the top.

Little Flocker

Jonathan Zdziarski:

Little Flocker is a utility for keeping your personal data safe from spyware, ransomware, misbehaving applications, and other common threats to your computer’s security, by preventing any application from accessing your files without explicit permission.


In short, Little Flocker is like the popular “Little Snitch” program, but for file access instead of network connections.

Sounds like a good way to keep tabs on applications that are not sandboxed.

The official site is here. I read that it was open source, although the GitHub page is not working for me.

Glenn Fleishman:

Zdziarski has been approved for a kext signing certificate from Apple, required to allow users to install kernel-level software without disabling System Integrity Protection (SIP), which was added in El Capitan. (The “flocker” part of the name is a play on “flock,” an ancient Unix characteristic used to note that a file is in use, or “locked.”)

Update (2016-10-21): Jonathan Zdziarski (via dkhamsing):

I’ve made #LittleFlocker a private repo; I’ll push Beta 7 on soon. Sorry, but the OSS community is too disparaging.

Amazon Selling Fake Apple Chargers and Cables

Ben Lovejoy (Hacker News):

There’s no shortage of third-party chargers and cables sold for Apple equipment, some of them claiming to be the genuine article, but Apple has found that even Amazon has been selling counterfeit products labelled as the real thing. The products concerned were sold by Amazon directly, and not by a third-party Marketplace seller.

The items have now been removed from sale, and Apple is suing the company that made them …

Patently Apple reports that Apple has filed a trademark infringement case against Mobile Star LLC, which Amazon named as the primary supplier of the counterfeit products. Apple said that Mobile Star was not only illegally using its trademark, but that the fake chargers had not passed safety tests and posed a risk to consumers.


Apple makes great efforts to combat the distribution and sale of counterfeit Apple products bearing its trademarks. Despite Apple’s efforts, fake Apple products continue to flood Each month, Apple identifies and reports many thousands of listings for counterfeit and infringing Apple products to under its notice and takedown procedures. Over the last nine months, Apple, as part of its ongoing brand protection efforts, has purchased well over 100 iPhone devices, Apple power products, and Lightning cables sold as genuine by sellers on and delivered through Amazon’s “Fulfillment by Amazon” program. Apple’s internal examination and testing for these products revealed almost 90% of these products are counterfeit.

John Gruber:

I can certainly see why Apple is suing Mobile Star (hopefully right out of business), but why not sue Amazon too?

John Gordon:

This has been going on for a long time…

Previously: Amazon’s Chinese Counterfeit Problem Is Getting Worse.

Update (2016-11-18): Todd Bishop:

Amazon today filed two lawsuits against online sellers alleged to have illegally offered counterfeit goods through its vast e-commerce platform.

Update (2016-12-02): Ben Lovejoy:

A large-scale test of 400 fake Apple chargers bought online from eight different countries – including the USA – found that a staggering 99% failed safety tests.

Tuesday, October 18, 2016 [Tweets] [Favorites]

Still With the Mac, Unfashionably

Riccardo Mori:

I still love the Mac. Judging by the tech sites and blogs I usually read, I seem to be in the minority as of late.


Having a mandatory new version of Mac OS X every year is not necessarily the best way to show you’re still caring, Apple. This self-imposed yearly update cycle makes less and less sense as time goes by. Mac OS X is a mature operating system and should be treated as such. The focus should be on making Mac OS X even more robust and reliable, so that Mac users can update to the next version with the same relative peace of mind as when a new iOS version comes out.

Update (2016-10-24): Smokey Ardisson:

Are these integration features so wide-ranging that they touch every part of the OS and really need an entire new version to ship safely, or are they localized enough that they could safely be released in a point update?


I think the need not to have to “sell” the OS presents Apple a really unique opportunity that I can imagine some vendors would kill to have—the ability to improve the quality of the software—and thus the user experience—by focusing on the areas that need attention (whatever they may be, new features, improvements, old bugs) without having to cram in a bunch of new tentpole items to entice users to purchase the new version.

Discontinuing Support for Check the Weather

David Smith:

The cost of providing weather data to it has grown too large to sustain. It has been operating at a slight loss for the last 2 years, which I didn’t mind providing as I used the app myself. However, a recent change in the pricing for my radar data provider has made it infeasible to continue providing weather data for the app.

Working Without a Nib

Jeff Johnson:

Four score and minus seventy-two years ago, I brought forth on this internet a new blog post, conceived in levity, and dedicated to the proposition that no nibs are created. Since then, much has changed in the Mac world.


The problem is that you need to call [myWindow setReleasedWhenClosed:NO]. In pre-ARC code, this would not be surprising to old-school Cocoa coders. However, ARC does not even allow you to use the -release and -autorelease methods, so you might think that -setReleasedWhenClosed: would not be allowed either, or would at least be ignored. And you would be very wrong.

My goal is to make all my projects nibless. Nib and xib files have caused me no end of problems. Even files that haven’t been edited in years spontaneously stop working when Xcode is updated and its xib compiler changes. (Most of the problems manifested on previous OS versions, where it was harder to detect them and to test fixes.) And that’s to say nothing of the advantages that doing interfaces with code offers. I’m convinced that with current technology (e.g. Auto Layout, Swift), using Interface Builder is a poor time investment for non-temporary projects. As Johnson writes:

Initial nib UI implementation is faster, but it’ll haunt you forever.

I’m leaning the same way about Core Data models, except that there seem to be places where the frameworks really want to have a model file saved to disk.

Update (2016-10-19): Steven Woolgar:

Especially with ibtool failing randomly all the damned time.

Marco Arment:

I take back everything nice I said about Interface Builder a few weeks ago on Under The Radar.


After introducing NSStackView there is no more excuse to build any UIs in IB.

Previously: How Much, or How Little, I Use Interface Builder These Days, Stopped Using NIBs Thanks to Auto Layout, Decoding Old Nibs: a Sad Tale of Vendor Lock-in and Abandonment.

Update (2016-10-20): John Stricker:

If you were to restrict yourself to using interface builder for this layout, there are many limitations:

  1. you couldn’t as easily preserve two different styles of the view
  2. you wouldn’t be able to use loops, constants and enums to lay out the view
  3. you wouldn’t be able to adjust the content, size and layouts of the buttons all at once.

Update (2016-10-21): Peter N Lewis:

I use xib’s for everything in Keyboard Maestro. And have special Lint code to detect inconsistencies. Coming to the conclusion I'm an idiot.

Amazon Family Vault

Gabe Weatherhead:

Amazon introduced several new photo features for Prime members. The first big one is a new family sharing option. This looks to be a really convenient way for family members to share the unlimited Amazon Drive storage and also keep shared albums.

The semantic search looks great. Similar to Apple and Google, Amazon is attempting to recognize the context of photos and surface the perfect result from a text search. In my very brief testing, it works as described.

Monday, October 17, 2016 [Tweets] [Favorites]


ShareLaTeX looks like a sort of Google Docs for LaTeX (via Harlan Haskins). I would have loved to have this in college.

Undocumented Xcode Sanitizer Settings

Peter Steinberger (tweet):

Here’s what I gobbled together based on Google; mostly thanks to WebKit being open source. (I only tested CLANG_ADDRESS_SANITIZER so far, but based on Google the other flags should work as well).

There are also CLANG_THREAD_SANITIZER and CLANG_MEMORY_SANITIZER. The address sanitizer seems most useful, though:

Since this flag is undocumented it might change without warning, and there are some hints that this might be renamed to ENABLE_ADDRESS_SANITIZER.

Using this flag makes it simpler to dynamically switch this on or off without having to create a separate Xcode configuration that would be much harder to maintain, and you can configure your CI to run tests both with and without ASan to both have a great assurance of memory correctness and testing the binary that you actually ship to customers.

ScanSnap and Sierra Update

Katie Floyd:

Good news, earlier this month Fujitsu issued a fix and an online update for the current model scanners, the iX500, iX100, SV600, S1300i, S1100i. This week, the patch came for older models including the S1500, S1500M, S1300, S1100. You can find more details on Fujitsu’s website. According to Fujitsu, update should allow you to safely use the above scanner models with macOS Sierra.


Unfortunately this fix does not appear to address older PDF content that was modified by macOS Sierra resulting in data loss.

Also, unfortunately, as Ashley Bischoff notes, there is no information listed for the ScanSnap S500M (which I have) or the S510M. Fujitsu’s FAQ says:

ScanSnap S500M does not support macOS Sierra. There are no plans for adding support in the future since the support for ScanSnap S500M has already ended.

It looks like the scanner has been officially unsupported since Mac OS X 10.8, although I’ve been successfully using version 2.2.12 of the software for years. I also successfully installed version 3.2.80 in a Mac OS X 10.11 VMware to use while waiting for Sierra compatibility. This version is listed as supporting the newer S1500M, but it seemed to work fine with my S500M.

ScanSnap Manager 3.2.90 does not seem to be available as a standalone download, but I was able to install 2.3.80 and then install the update. Even though my scanner is not officially supported, it seems to be working with Sierra (albeit more slowly).

Previously: macOS 10.12 Sierra Notes, Automatic Download of macOS Sierra.

Update (2016-10-26): Some PDFs that the ScanSnap created display as all black in Preview, however they look fine in Quick Look and PDFpen. As I have also seen this with PDFs downloaded from other sources, this may be a Sierra bug rather than a ScanSnap bug.

Brooks Duncan notes that macOS 10.12.1 includes ScanSnap fixes.

Friday, October 14, 2016 [Tweets] [Favorites]

Swifty Delegates

Soroush Khanlou:

These are horrible. Why are both of these methods called messageForm? Also, starting a method with a noun here doesn’t make sense: it usually suggests that you’ll be returning an object of that type (think about data(using:) on NSString, which returns a Data). We’re not returning any message form objects here. That “message form” is actually the name of the first parameter. These are very confusing method names!

Both of these types of delegate methods can be fixed by moving the “sender” to the back of the line, and bringing the verbs forward. For the first one, the event that the sender is informing the delegate about is didTapCancel, instead of messageFormDidTapCancel.


I haven’t found a hard and fast rule for which preposition to use yet. I’ve found “on”, “for”, “with”, and “in” to all be useful in different circumstances.


These rules aren’t endorsed by anyone except for me, but I think they make much more sense than the current rules by which we write delegate methods. Going forward, I’ll probably start writing my Swift delegate methods with this structure.

Well Rounded

Dr. Drang:

The problem with always rounding halves up is that in doing so, you introduce a persistent bias in whatever calculations you do with the rounded number. If you’re adding a list of rounded numbers, for example, the sum will be biased high.

If you round halves to the nearest even number, though, the bias from upward roundings tends to be negated by an equal number of downward roundings.

Declarative API Design in Swift

Benjamin Encz:

It has almost no imperative code. Most code describes network request based on instance variables and previous requests.

It doesn’t call the networking layer, nor does it have any knowledge of the type that actually performs the upload. It just describes the intent of each request. In fact, the code has no observable side effects at all, it only mutates internal state.

There is almost no error handling code here. The responsibility of this type is only to handle errors specific to this request sequence (e.g. missing required data from a previous request). All other errors are generically handled in the networking layer.

With the old version:

Separation of concerns was a lot harder to come by. Instead of simply describing a request sequence, the NSOperations in the NSOperationQueue themselves were responsible for kicking off a network request. This promptly introduced a bunch of other responsibilities such as request cancellation and error handling. While similar code had been implemented in other places that dealt with creating upload requests there was no good way of sharing that implementation. Subclassing wasn’t an option since most upload requests were modeled as a single NSOperation, while this upload request sequence was modeled as an NSOperation that wrapped an NSOperationQueue.

OpenType Variable Fonts

John Hudson (via Avi Drissman):

An OpenType variable font is one in which the equivalent of multiple individual fonts can be compactly packaged within a single font file. This is done by defining variations within the font, which constitute a single- or multi-axis design space within which many font instances can be interpolated. A variable font is a single font file that behaves like multiple fonts.


OpenType Font Variations builds on the model established in Apple’s TrueType GX variations in the mid-1990s, but has fully integrated that model into all aspects of the OpenType format, including OpenType Layout, and is available to both TrueType and Compact Font Format (CFF) flavours of OpenType.


However, unlike master-based interpolation technologies such as Adobe’s earlier multiple master format, an OpenType variable font contains only a single set of glyph outlines, and the other extremes or intermediate shapes are defined as deltas from those outlines.

Git Tower 2.5


Open Quickly dialog is all new: “Open Quickly” (e.g. via CMD+SHIFT+O) is now much faster, more responsive, more clever (and can be closed via ESC).


Custom service accounts are here: In the “Services” view, you can now add an account for your self-managed server. This makes authentication for your own servers as easy as for the supported code hosting platforms like GitHub.


Fetch processes won’t duplicate anymore: If a Fetch process for a remote repository is already running, Tower will not start another Auto-Fetch processes for the same remote.


File tree in historic commits was improved: when navigating through the file tree of an old commit, expanded folders and selections now survive switching to another app and back to Tower.


Commit messages with invalid unicode characters: Until now, invalid characters blocked Tower when trying to load the commit history (and “No commits” was shown). Tower is now smarter and is able to load the history regardless.

A lot has improved since 2.0, but the per-file history feature is still weak, and it still can’t search commit contents or blame. I supplement a lot with BBEdit and the command-line tool.

Thursday, October 13, 2016 [Tweets] [Favorites]

Drawing Hairlines


Or, graphically, for any Y in the shaded area, we need to either round it up to the top dashed line or round it down to the bottom dashed line to draw a perfect non-antialiased line.

How do we choose if we want to draw above or below our given coordinate? It depends on the situation. If we’re trying to draw a line at the very top of a clipping view, we’ll want to draw slightly below the Y we give it. Otherwise it will clip and not be visible. The same goes in reverse for drawing at the bottom of a view.


Sadly, we don’t want to draw perfect single point lines. We want to draw perfect single pixel lines. On non-retina devices, those are the same thing. But on everything else, each point is made up of several pixels.

“Plus” model iPhones, for example, actually have three pixels per point, represented by the yellow lines here.

Update (2016-10-13): Previously: iPhone 6 Pixel Peeping (via Ole Begemann).

Twitter Changes What Counts Toward 140-Character Limit

John Voorhees:

Twitter began to roll out features, first announced earlier this year, that exclude certain things from the 140 character count limit. Users will still be limited to 140-character messages, but, as first reported by The Verge last Friday, media attachments (including images, GIFs, videos, and polls) and quoted tweets will no longer count against the 140-character limit, making more room for text.

Juli Clover:

All @names, such as @MacRumors, will no longer count towards the 140-character count, nor will media attachments, retweets, or quoted tweets, but links will still eat up 23 characters.

Why Does Siri Seem So Dumb?

Walt Mossberg (MacRumors):

Google Now, on the same Apple devices, using the same voice input, answered every one of these questions clearly and correctly. And that isn’t even Google’s latest digital helper, the new Google Assistant.

If you try most of these broken examples right now, they’ll work properly, because Apple fixed them after I tweeted screenshots of most of them in exasperation, and asked the company about them.


For instance, when I asked Siri on my Mac how long it would take me to get to work, it said it didn’t have my work address — even though the “me” contact card contains a work address and the same synced contact card on my iPhone allowed Siri to give me an answer.

Similarly, on my iPad, when I asked what my next appointment was, it said “Sorry, Walt, something’s wrong” — repeatedly, with slightly different wording, in multiple places on multiple days. But, using the same Apple calendar and data, Siri answered correctly on the iPhone.

Ruffin Bailey:

Spend ten million (he said figuratively) and get the best QA staff in the business, and make sure there's no silo making QAing app interactions an issue. If Maps borks like this, the QA team “for Maps” has to be able to hold Siri and Contacts (or whatever else) accountable. No software ships until this blocking bug is fixed.

John Gruber:

Indeed, Siri now knows the date and time of the next U.S. presidential debate, but where Siri fundamentally falls apart is its inability to maintain context and chain together multiple commands.


These sort of glaring inconsistencies are almost as bad as universal failures. The big problem Apple faces with Siri is that when people encounter these problems, they stop trying. It feels like you’re wasting your time, and makes you feel silly or even foolish for having tried. I worry that even if Apple improves Siri significantly, people will never know it because they won’t bother trying because they were burned so many times before. In addition to the engineering hurdles to actually make Siri much better, Apple also has to overcome a “boy who cried wolf” credibility problem.

Nick Heer:

I think the inconsistencies are worse than outright failure. The inability to answer a query implies a limitation which, while not ideal, is understandable. Inconsistency, on the other hand, makes Siri feel untrustworthy. If I can’t reliably expect the same result with basic queries that are almost identical, I’m much less likely to find it dependable.

Kirk McElhearn:

I pointed out similar problems in a Macworld article in August. For me, Siri is a waste of time.

The only thing Siri consistently does correctly for me is set timers. I keep trying to use it to add reminders and am usually frustrated. Either the phone can’t connect to Siri, or it mis-parses what I said. It’s easier to use my finger to create a new action in OmniFocus and then to use the dictation button on the keyboard. iOS is pretty good at transcribing what I say. The problem is that interpreting it is unreliable. And that’s why I rarely even try to ask it more complicated questions.

See also: Daniel Jalkut on Siri logging, David Spark’s Dragon Professional review.

Update (2016-10-14): Stephen Hackett:

Siri should feel like a living, growing platform and it just doesn’t. Even SiriKit, which allows developers to build plugins for the service, doesn’t get Apple far enough down the road. This is a platform vendor problem, and not one a handful of apps can solve.

Update (2016-10-17): David Sparks:

Why does it take an article by a popular journalist to get these things fixed? I feel as if Siri needs more attention. I don’t think the underlying technology is as bad as most people think but it is these little failures that causes everyone to lose faith.

Update (2016-10-20): Nick Heer:

I think it’s important to keep bringing it up because I think Siri is currently fundamentally flawed in its design.


More worrying for me is that the user interface component of Siri — a field where Apple typically excels — simply isn’t good enough.

favicon.ico Is a Privacy Leak

Robin Linus (via Jeff Atwood):

For most web platforms there’s a way to abuse the login mechanism to detect whether a user is logged in to that service.


Well, the [Same Origin Policy] is strict for HTML pages, but it allows to receive images from other origins! So if the resource in the next parameter would be an image we could read it from our website. It can’t be any image though. Facebook checks if the URL in the next parameter starts with So we need to find an image on Should be easy, right? Actually it isn’t, because facebook hosts almost all images on their CDN servers under the domain Though there is one image that you can find on almost every webserver: the good old favicon.ico!

Wednesday, October 12, 2016 [Tweets] [Favorites]

Swift Type-Erased Protocol Property

Russ Bishop:

Because _AnyFancyBoxBase adopts FancyProtocol it automatically gains an abstract type member the same way it gains a property or function. It can’t stay abstract though, we need to bind it to something, either a specific type or a generic type parameter.


Now we can define a subclass of the base box; it inherits the protocol conformance and we provide trampoline functions that forward everything to the instance in var base: Base.


This type’s raison d’être is in the very first line where we link Base.Thing (the associated type we got from the protocol) to AnyFancyBoxBase.T (the generic parameter on our base class).


Now we can create our type erasing wrapper. The type it is erasing is the concrete type that adopted FancyProtocol in the first place.


If we tried to pull this trick with one less type we would end up adding a generic parameter somewhere.


Andrew Gallant (via Hacker News):

In this article I will introduce a new command line search tool, ripgrep, that combines the usability of The Silver Searcher (an ack clone) with the raw performance of GNU grep. ripgrep is fast, cross platform (with binaries available for Linux, Mac and Windows) and written in Rust.


For both searching single files and huge directories of files, no other tool obviously stands above ripgrep in either performance or correctness.

ripgrep is the only tool with proper Unicode support that doesn’t make you pay dearly for it.

Tools that search many files at once are generally slower if they use memory maps, not faster.


ripgrep uses a regex engine based on finite automata, so if you want fancy regex features such as backreferences or look around, ripgrep won’t give them to you.

See also: The Treacherous Optimization.

Update (2016-12-05): See also: ripgrep code review (via Hacker News).

BinUtils for Swift

Nicolas Seriot reimplemented parts of the handy Python binascii and struct modules in Swift:

let d = pack("<h2I3sf", [1, 2, 3, "asd", 0.5])
assert(d == unhexlify("0100 02000000 03000000 617364 0000003f"))

Yahoo’s FISA E-mail Scan

Charlie Savage and Nicole Perlroth (via MacRumors):

A system intended to scan emails for child pornography and spam helped Yahoo satisfy a secret court order requiring it to search for messages containing a computer “signature” tied to the communications of a state-sponsored terrorist organization, several people familiar with the matter said on Wednesday.

Two government officials who spoke on the condition of anonymity said the Justice Department obtained an individualized order from a judge of the Foreign Intelligence Surveillance Court last year. Yahoo was barred from disclosing the matter.

To comply, Yahoo customized an existing scanning system for all incoming email traffic, which also looks for malware, according to one of the officials and to a third person familiar with Yahoo’s response, who also spoke on the condition of anonymity.

David Kravets:

At its most basic level, this newly surfaced tool exposes another US digital surveillance program. It differs from so-called “upstream” spying in which the authorities tap directly into the Internet backbone and scan for certain search terms—a spying program with diminishing returns as more and more data on the Internet has become encrypted. This Yahoo situation is also different from the Prism program, where the authorities acquire customer data from tech companies matching chosen search selectors.

David Sparks:

Yahoo has responded that Reuter’s original reporting of this was “misleading”, But again how would we really know? All of this is done under the veil of secrecy.

Joseph Menn:

The court-ordered search Yahoo conducted, on the other hand, was done by a module attached to the Linux kernel - in other words, it was deeply buried near the core of the email server operating system, far below where mail sorting was handled, according to three former Yahoo employees.

They said that made it hard to detect and also made it hard to figure out what the program was doing.

Lorenzo Franceschi-Bicchierai (via Slashdot):

The spy tool that the US government ordered Yahoo to install on its systems last year at the behest of the NSA or the FBI was a “poorly designed” and “buggy” piece of malware, according to two sources closely familiar with the matter.


Anonymous sources told The Times that the tool was nothing more than a modified version of Yahoo’s existing scanning system, which searches all email for malware, spam and images of child pornography.

But two sources familiar with the matter told Motherboard that this description is wrong, and that the tool was actually more like a “rootkit,” a powerful type of malware that lives deep inside an infected system and gives hackers essentially unfettered access.

Bruce Schneier:

Other companies have been quick to deny that they did the same thing, but I generally don’t believe those carefully worded statements about what they have and haven’t done.

Previously: Yahoo Says Hackers Stole Data on 500 Million Users in 2014.

What’s New in Safari 10

Apple (Hacker News):

Safari’s IndexedDB implementation now fully supports the recommended standard. You may now use the API to store structured data for web applications that work offline or that require large amounts of client-side data caching.

Use JavaScript commands to programmatically cut and copy text to the clipboard with document.execCommand('cut') and document.execCommand('copy').


Safari 10 brings Picture in Picture to macOS so users can watch video in a separate, resizable window that stays on top of other application windows and remains on-screen when switching desktop spaces.


You can give customers an easy, secure, and private way to pay for physical goods and services—such as groceries, clothing, tickets, reservations, and more. Users can check out with a single touch using Apple Pay with Touch ID on their iPhone, or by double-clicking the side button on Apple Watch.


You can now create macOS-native Safari app extensions to sell and distribute in the App Store.

Ricky Mondello:

And one of my favorite things about Safari 10: ⌘Z will reopen more than one closed tab, and ⇧⌘T will restore closed tabs and windows.

Simone Manganelli:

Safari 10. :epic eyeroll: “On iOS, videos without audio tracks or with disabled audio tracks can play automatically when the webpage loads.”

Rosyna Keller:

Correct, it’s so H.264 can replace animated GIFs. It’s all detailed in a WebKit blog post.

Jeff Johnson:

WebKitMinimumFontSize doesn’t seem to work anymore.

Update (2016-10-12): Jeff Nouwen:

I like the “close tab and go back to the parent tab on Back” feature, implemented with “parent-tab://”.

Jeff Benjamin:

Although YouTube’s player doesn’t make it readily apparent that its videos work with Picture-in-Picture, it’s quite easy to enable the handy feature for all of your favorite YouTube videos on Safari.


Step 1: Right click on the YouTube video that you wish to detach

Step 2: Once the menu appears, right-click once more to reveal a second menu and then click Enter Picture-in-Picture

Tuesday, October 11, 2016 [Tweets] [Favorites]

Optional Non-Escaping Swift Closures

Ole Begemann:

However, it’s impossible to create a reference cycle with a non-escaping closure — the compiler can guarantee that the closure will have released all objects it captured by the time the function returns. For this reason, the compiler only requires explicit references to self for escaping closures. This makes non-escaping closures significantly more pleasant to use.


Beginning in Swift 3, non-escaping closures are now the default. If you want to allow a closure parameter to escape, you need to add the @escaping annotation to the type.


There’s a catch to the non-escaping-by-default rule: it only applies to closures in immediate function parameter position, i.e. any function argument that has a function type. All other closures are escaping.


There’s currently no way to force an optional closure to be non-escaping, but in many situations, you can probably avoid making the argument optional by providing a default value for the closure.

Or you can use overloading.

We Need to Save the Internet From the Internet of Things

Bruce Schneier:

What was new about the Krebs attack was both the massive scale and the particular devices the attackers recruited. Instead of using traditional computers for their botnet, they used CCTV cameras, digital video recorders, home routers, and other embedded computers attached to the internet as part of the Internet of Things.

Much has been written about how the IoT is wildly insecure. In fact, the software used to attack Krebs was simple and amateurish. What this attack demonstrates is that the economics of the IoT mean that it will remain insecure unless government steps in to fix the problem. This is a market failure that can’t get fixed on its own.

Update (2016-11-07): Jean-Louis Gassée:

A side effect of the smartphone revolution is the emergence of a rich — but cheap — ecosystem of building block modules. Unfortunately, these modules are very insecure and, when assembled into a quick and inexpensive device, they can cause serious trouble. They already have.

A Mac OS 9 Odyssey

Richard Moss (via Rosyna Keller):

But as hard as it may be to believe in light of yet another OS X macOS update, there are some who still use Apple’s long-abandoned system. OS 9 diehards may hold on due to one important task they just can’t replicate on a newer computer, or perhaps they simply prefer it as a daily driver. It only takes a quick trip to the world of subreddits and Facebook groups to verify these users exist.

Certain that they can’t all be maniacs, I went searching for these people. I trawled forums and asked around, and I even spent more time with my own classic Macs. And to my surprise, I found that most of the people who cling staunchly to Mac OS 9 (or earlier) as a key component of their daily—or at least regular—workflow actually have good reason for doing so.

Rachel Simone Weil (tweet):

This hardcover book, published in 1997, tells the history of Apple Computer through one-off and low-run t-shirts made for internal programs, conferences, product teams, or just for fun. These shirts reflect the attitudes and culture within Apple in the 1980s and 1990s, and show off unique unreleased products and demos like SegaMac (!!!).

Monday, October 10, 2016 [Tweets] [Favorites]

Apple and Kapeli Respond About Dash

Jim Dalrymple (Hacker News, MacRumors, 9to5Mac):

“Almost 1,000 fraudulent reviews were detected across two accounts and 25 apps for this developer so we removed their apps and accounts from the App Store,” Apple spokesperson, Tom Neumayr, said in a statement provided to The Loop on Monday. “Warning was given in advance of the termination and attempts were made to resolve the issue with the developer but they were unsuccessful. We will terminate developer accounts for ratings and review fraud, including actions designed to hurt other developers. This is a responsibility that we take very seriously, on behalf of all of our customers and developers.”

Rene Ritchie (tweet):

My understanding is that the reviews included fraudulent positive reviews for their own apps and negative reviews for competing apps. That’s something the App Store simply can’t ignore.


It also seems like developers are given every chance to make things right in these situations: Get clean slates or open new accounts, make sure they’re squeaky-clean, and go on about their business.


This concept — that one bad developer could arrange for false reviews for a competing developer and get them banned from the App Store as a result — has been generating a lot of stress in the community.

My understanding is that the chances of that happening are virtually zero.

It’s not clear to me why this is. It all seems to hinge on Apple being able to tell who is ultimately paying for the fake reviews, and I don’t see how they could do that.

John Gruber:

Apple typically lets accusations like this slide. It’s a no-win situation for Apple, publicity-wise: let an accusation stand unanswered and Apple looks like the App Store is run like a banana republic, but if they dispute it, they face the optics of a hundred-billion-dollar Goliath punching down against a small indie developer. This case with Dash gained enough attention that I think they felt they had to respond. Too many developers believed that Apple acted capriciously, when in fact, according to Apple, this was the culmination of a years-long dispute.

Brent Simmons:

I don’t know what’s true here. It wouldn’t be right for Apple to make all the evidence public, and it wouldn’t be right for Apple to publish their correspondence with him. So it’s likely we won’t ever know more than we do right now.

Bogdan Popescu (tweet, Hacker News):

What I’ve done: 3-4 years ago I helped a relative get started by paying for her Apple’s Developer Program Membership using my credit card. I also handed her test hardware that I no longer needed. From then on those accounts were linked in the eyes of Apple. Once that account was involved with review manipulation, my account was closed.

I was not aware my account was linked to another until Apple contacted me Friday, 2 days after closing my account. I was never notified of any kind of wrongdoing before my account was terminated.


Apple insisted that all communication was through phone calls. Luckily, I recorded my last phone call with them[…]


Just to make it clear, I have complied with Apple’s request and have sent a blog post draft approximately 30 minutes after this phone call ended. I have since not received any contact from Apple in any way, and they did not respond to my calls. Their recent statements come as a shock as I thought we were working together to resolve this issue.

Rene Ritchie:

The call, absent context, can be read in a number of ways. Ass covering, or bending over backwards to help dev help himself.

Marco Arment (tweet):

I’m glad our community assumed the best of another developer and pressured Apple to justify this severe action. We should now accept that they have.


We don’t know what happened between that call and Apple’s statements tonight. I’m guessing Popescu and Apple couldn’t reach an agreement over the wording of the public story, but I think what Apple asked for in that phone call was extremely reasonable.

It’s also notable that Apple investigated this and tried to resolve it as well as they did. If it were any other company — say, Google for a suspended AdSense or YouTube account — I suspect the amount of effort devoted to it would be much lower.

Matt Drance:

Apple developers: the only thing you know right now is that you don’t know everything. That is the only lesson from this Dash mess.

From the call, we learn that Apple is fixated on the idea that the two developer accounts were linked because they used the same credit card and devices. This could be for either innocent or nefarious reasons. Apple doesn’t want to admit to any wrongdoing, and neither does Popescu. We don’t, and likely will never, know whether the second account was actually operated by Bogdan or by his relative. I’m inclined to believe him because, as Gruber says, “it would explain the extreme discrepancy in quality.”

The mystery, to me, is Apple’s statement to the press. First, why send it out without getting back to the developer about the requested blog post draft? Second, in light of the call, Apple’s public statement seems deliberately misleading. The developer relations person seemed to acknowledge (1) that Bogdan says the problem account was operated by someone else, and (2) that Apple never contacted him on his Dash account. Yet Apple’s statement says that they warned him in advance and implies that both accounts had fraudulent behavior.

The fact that the Dash account was terminated seems to support Popescu’s contention that that account was never warned. Otherwise, surely this conversation would have happened sooner, and it would have remained a private matter. Why would Apple go to the trouble of closing the account, apparently not telling him it was because of the linked bad account, then helping him to restore it, after telling him that the decision couldn’t be appealed?

My guess is that Apple found the bad account, and warned it, but did not initially realize that the linked account was “good.” When they shut down the bad account they just shut down all the linked ones, too. In many cases, that’s probably the right thing to do. But this time they didn’t check, and that turned out to be a mistake. When Apple learned that Popescu planned to tell the full story, without admitting wrongdoing, they decided to get their version, sliming him, out first.

So it seems like Apple made two mistakes: closing the good account without warning and trying to cover that up. However, it’s entirely possible that more information will come to light. Given the finality of Apple’s initial communication, it sounds like the Dash account would have remained closed were it not for all the press attention. (And it’s not re-opened yet.)

See also: Colin Cornaby, Nick Lockwood, Jeff Johnson, David Owens II, Paul Haddad, John Daniel, Russell Ivanovic, David Owens II, istumbler, Jeff Johnson, Colin Cornaby, Steve Streza, Steve Troughton-Smith.

Previously: Apple Removed Dash From the Mac App Store.

Update (2016-10-11): Peter Maurer:

As a side note, some of the Kapeli apps mentioned in coverage on this, such as [DockView], were actual Bogdan apps. So I’d be curious what…

…apps exactly triggered Apple’s fraud thing, but that’s basically a character flaw of mine and really none of my business.


Wayback Machine & Google Cache seem to show all older @kapeli apps xferred to alleged fraudulent account. Not just association through CC :(

That account was selling all his old apps. His story never mentions that insignificant bit.

I guess that would explain the common bundle identifier prefix.

Bogdan Popescu (tweet):

It does not look like Dash can return to the App Store anytime soon. Due to Dash’s removal from the App Store, please note that you can no longer download the apps you paid for.


Dash for iOS can’t be distributed outside of the App Store. My preferred solution would be for a fellow developer to get it back on the App Store, as a free app.

Nick Heer:

A public fight isn’t ideal from a PR perspective, but it seems like that it’s what it can take to get an adequate answer. In his first post on the subject, Popescu said that he asked developer relations why Dash was removed and didn’t receive an answer initially.

Manton Reece:

That’s the damage Apple has done in going to the press and smearing him. They’ve destroyed the goodwill he had in the community from his well-respected app. I always want to give people the benefit of the doubt, yet I hesitated.

Rene Ritchie:

At this point, though, it’s time to forget working it out. Mistakes were clearly made on both sides, and there may be no way for the real truth to ever be known, or for everyone to win. But there’s a way to stop anyone else from losing further: Fix it, unilaterally, because you’re Apple, and you can.

Update (2016-10-12): Manton Reece:

It’s easy to defend someone who is obviously innocent. It’s harder when they make mistakes, but in areas unrelated to the crime. In that way, this App Store “rejection” is unique. It may be the most important test we’ve seen of Apple’s power in the store.

Michael Göbel:

Getting your account suspended, canceled, terminated by Apple is nothing unusual - but usually no one hears or cares about it because it happens to developers with smaller apps, or scammers.

Nick Lockwood:

I’m not sure I agree with the idea of Apple trying to identify “linked” accounts and apply collective punishment at all to be honest.

Update (2016-10-13): Bogdan Popescu via Rene Ritchie (tweet):

In 2014 I realised that there was no possible way for me to support and develop all of my apps anymore and decided to focus on Dash exclusively. I told my family about this and they thought I wasn’t rational, because my old apps were still making some money. My mother proposed I move some of my apps to her account and that she would handle the support and maintenance for those apps. I transferred the following apps: moveAddict, iGuard, iSecure, iClap and Stay Awake.


When Apple said that the 2 developer accounts used the same bank account, what they meant was that the bank accounts used the same owner name [his mother’s] until 2015. The 2 developer accounts never sent money to the exact same bank account (different IBAN). I have never received any money resulting from the actions of the other account.


Once Apple told me what happened, I collaborated with them and did not talk to the press during that time. I also complied with their request to make a blog post telling the truth, which I sent a draft of, but never received a response. I thought I could leave my family out of this, but following Apple’s statement the Internet kept digging, so I had to come forward and tell the whole story.

One could quibble with the wording in the draft blog post, but it seems like he basically did what Apple asked. So, unless there is more to the story, it sounds like Apple reneged on the agreement and went to the press instead. And then he posted the recording of the call to try to defend himself, but at the same time burned his bridge with Apple.

Update (2016-10-15): See also: Accidental Tech Podcast and Core Intuition.

Update (2016-10-17): See also: The Talk Show.

Friday, October 7, 2016 [Tweets] [Favorites]


Peter Steinberger measured the new os_unfair_lock against OSSpinLock, pthread_mutex, NSLock, dispatch queues, and @synchronized.

Pierre Habouzit (via David Smith):

Apple’s libplatform is now OSS too with user-land os_unfair_lock (os/lock.c) in all its strict glory.

Stephan Tolksdorf:

If you use it from Swift, you have to be careful, because it’s a struct and Swift doesn’t prevent you from copying or moving it around, which normally would be an error.

Previously: OSSpinLock Is Unsafe, Mutexes and Closure Capture in Swift.

Hopper 4 Announced

Vincent Bénony:

Starting with Hopper v4, there is no floating windows anymore: now there is this Display Mode concept, which allows you to look at the content of the file using different kind of representation.


Hopper now features a complete Swift name demangler. No more cryptic names in files written in Swift.


In order to make ASM easier to read, Hopper gives different colors to the objects in the disassembly view, according to its analysis. For instance, stack variables have a different color from numbers, or registers.


Hopper v4 analyses procedures, and collect all the methods called. He is also capable of detecting some indirect calls, like Objective-C messages.


At the moment, there is no precise ETA, but Hopper v4 will be released before the end of the year, hopefully before the end of November.

And now, the big news: Hopper v4 will be a free update for the owners of a v3 license.

This looks great. Meanwhile, there are scripts for Swift demangling.

Apple’s Lightning to Headphone Adapter

Jeff Suovanen:

There’s actually a lot going on in there. As expected, one end is a simple female 3.5 mm headphone jack, and the other end is a male Lightning connector. But what’s all that silicon around the Lightning connector end? Most of the retail space near the connector is taken up by a single mystery IC.


In past iPhones like the 6s, both DAC and ADC functions were handled internally. The analog inputs and outputs from the headphone jack (and other components) were wrangled by a single chip on the logic board, a custom Apple/Cirrus Logic IC labeled 338S00105. (In the iPhone 7 and 7 Plus, that same exact chip still exists—because even without a headphone jack, the phone still has to shake hands with the built-in loudspeakers and microphones, all of which use analog signals.)

Martin Steiger:

Various issues with the new Apple headphone adapter: (increased noise, less quality, not compatible with all headphones etc.)

Previously: Lightning to 3.5 mm Headphone Jack Adapter.

Real World Swift Performance

Danielle Tomlinson:

Let’s talk about generics. You’re going to say, but you just showed us that protocols could be really slow, why would we want to use generics? The answer comes from what generics allow us to do.

Say we have this stack struct that is generic of a T, which is constrained by some type, which would be a protocol. What the compiler will do is replace that T with the protocol or the concrete class that you’re passing to it. Do that all of the way down the function chain and it will create specialized versions of that code that operate directly on the type.

You no longer need to go through the value witness table, or the protocol witness table, and you eradicate the existential container, which could be a really nice way to still write really fast generic code and have the really nice polymorphism that Swift gives us. That’s called static polymorphism.

Touch ID Is Only More Convenient

Alex Hern (in 2014, via Alexis Gallagher):

A speaker at the Chaos Communication Congress, an annual meeting of hackers in Germany, demonstrated his method for faking fingerprints using only a few high-definition photographs of his target, German defence minister Ursula von der Leyen.

Jan Krissler, known in hacker circles as Starbug, used commercial software called VeriFinger and several close-range photos of von der Leyen, including one gleaned from a press release issued by her own office and another he took himself from three meters away, to reverse-engineer the fingerprint.

Update (2016-10-07): See this Twitter conversation.

Thursday, October 6, 2016 [Tweets] [Favorites]

Reducing Swift Compile Time

Ayaka Nonaka:

Spent the morning cutting our Swift compile time by ~3 min. Thanks @irace for the helpful blogpost!

Basically had to go back & change most of our NSLayoutConstraint.activate to isActive = true. Uglier, but it really added up over time…

Unfortunate thing is that isActive = true is slower at runtime, so we’re trading off compile time with run time :/

Nick Lockwood:

I just tried it. Turns out

{ $0 == "e" || $0== "E" }

takes 100ms more than

{ (c: Character) in c == "e" || c == "E" }

Previously: Speeding Up Slow Swift Build Times.

Experimenting With App Store Search Ads


I am very excited about Search Ads, and I plan to invest into them heavily (both in terms of money and time). I will keep this post updated, and will do my best to collect all the news about it to make this a one-stop place for all the relevant resources.

James Thomson:

The App Store search ads keyword config suggests the trademarks of other companies by default… I declined, @tapbot_paul.

There are no search ads in the Mac App Store, due to neglect.

Previously: Early App Store Search Ads Fail.

Update (2016-10-07): Joe Cieplinski:

Is it or is it not ethical to bid on keywords that are your competitor’s app name?

Why is this a question? Of course it’s ethical.


Now, if Apple’s ads allowed us to spread lies about our competitor’s apps, that would be a different story. If I named my app something confusingly similar to my competition in order to fool someone into thinking they were buying the other product, that’s completely unethical. But these ads are simply giving customers more information. Customers deserve to make the most informed decision possible. They deserve to know your app exists, and that it might actually be better for them.

Advanced Swift, Second Edition

Ole Begemann:

The new edition has been thoroughly updated for Swift 3, but we didn’t stop there. We revised the entire book, rewrote sections that needed clarifying and came up with better examples. We also added a bunch of new content, primarily in the chapters on collections, functions, and generics.

It’s a free update if you already have the digital version of the first edition, which was excellent.

Applets and App Transport Security

Shane Stanley:

The next day things got more complicated when Steve posted some more information: he had just tried the same exercise from Script Editor, and this time the applet worked fine. Was Script Editor really enabling NSAllowsArbitraryLoads in its applets? We repeated Steve’s tests and looked at the Info.plist files. Not only was Script Editor not enabling NSAllowsArbitraryLoads in the saved applet, but neither was Script Editor itself. To make things even more confusing, when a working applet created in Script Editor and then edited and saved in Script Debugger still worked.


And it turns out that having a Bundle ID beginning with seems to be giving applets a free pass through App Transport Security. Oooh…

The other interesting point to me is that it also works the other way. The domain is whitelisted, so you should never use it for testing your networking code.

Previously: App Transport Security.

Wednesday, October 5, 2016 [Tweets] [Favorites]

Apple Removed Dash From the Mac App Store

Bogdan Popescu (tweet, Hacker News):

A while later my iTunes Connect account started showing as “CLOSED” and my apps were removed from sale. I thought this was normal and part of the migration.

Today I called them and they confirmed my account migration went through and that everything is okay as far as they can tell. A few hours ago I received a “Notice of Termination” email, saying that my account was terminated due to fraudulent conduct. I called them again and they said they can’t provide more information.

Keith Smiley:

The scariest part of App Store distribution

Brian Webster:

This is almost certainly a mistake, but even so, it’s a hell of a situation when another company can just mistakenly delete your business.

See also: other Dashes in the Mac App Store.

Update (2016-10-06): Chuq Von Rospach:

Apple really needs ways to communicate in these situations, a process for developers to appeal and work it out. FYI I’m available.

I had expected the Kapeli/Dash situation to be resolved in short order, but I was not expecting it to be resolved in this way (tweet, Hacker News):

Apple contacted me and told me they found evidence of App Store review manipulation. This is something I’ve never done.

Apple’s decision is final and can’t be appealed.

So it doesn’t matter that they offer no proof.

Rudy Richter:

Makes you wonder, if your competition could get you nuked by gaming your reviews?

Jeff Johnson:

I’m sure review manipulation happens for games and such, but it sounds pretty far-fetched for a well-known developer tool.

I should have mentioned this before, but Dash is an absolutely fantastic app. There’s a license migrator for Mac App Store purchasers, however I plan to buy it again to support the developer.

Tim Burks:

That’s what’s so galling about this. This has been done for millions of apps that have undercut legitimate developers.

Brent Simmons:

Required reading for understand the MAS.

Marco Arment:

Scary stuff over at the @AppStore. Makes it hard to trust any of our businesses there.

Mike Rundle:

1000s of apps pay for downloads and 5-star reviews. Apple pulls one down that never did.

Craig Hockenberry:

All that good things happening on the App Store lately are being overshadowed by this.

Christopher Sardegna:

I’ve had Apple claim that I was not allowed to appeal but I did anyway and ended up winning.


One of the best Mac and iOS apps I use. This also removed the program from purchases, so it can’t be downloaded again :-(

Phil Schiller (via Benjamin Mayo):

I did look into this situation when I read about it today. I am told this app was removed due to repeated fraudulent activity.

We often terminate developer accounts for ratings and review fraud, including actions designed to hurt other developers. This is a responsibility that we take very seriously, on behalf of all of our customers and developers.

Benjamin Mayo:

“If you run to the press and trash us, it never helps.”

To be fair, that line was removed from App Store guidelines on 13 June. So I guess running to the press is implicitly advised now?

David Owens II raises the issue that if the developer account is terminated, eventually the non–Mac App Store version of Dash will not be able to work with Developer ID.

Brent Simmons:

While this is legal, and within Apple’s rights, it’s not what we’ve come to expect from a moral judicial system. No matter what the context, we expect that the accused see the evidence against them, we expect avenues for appeal to be made available, and we expect proportional penalties.


In the meantime, it’s our job to presume innocence in the absence of evidence. This is also a moral issue, and it’s true even if you’ve never heard of the developer.

Paul Haddad:

1. Why do review manipulation on a niche app with no competition?

2. What are the odds its a mistake by the time a SVP responds?

Manton Reece:

Imagine instead if the App Store worked more like the web. Google dominates search, but they can’t shut down your web site. If you try to game the system, Google can remove you from search and limit your exposure. Likewise, developers should be able to distribute iOS apps with minimal involvement from Apple, yet apps that haven’t passed formal review won’t be searchable without a direct link, won’t ever be featured, and won’t show up in the top 100 lists.


Apple should focus on highlighting the best apps within a system that lets the app review team make occasional mistakes. There shouldn’t be such an easy toggle that wipes out an indie developer’s business.

Update (2016-10-07): Jeff Johnson:

It is said that distributing apps outside the Mac App Store is safe from meddling by Apple, because they cannot impose arbitrary rules on you or remove your apps from sale. That is true, to an extent. However, the potential still exists for Apple to put you out of business, for all practical purposes. The power to do this resides in Gatekeeper.

Dave Verwer:

I do believe Bogdan when he says that he did not do what they have accused him of, not because I know him (although I did meet him in person once, just for full disclosure) but because there was no need for the reviews to be manipulated. The app is great, in a niche market with little competition, so why risk it for more good reviews? It doesn’t make any sense.


It’s a disappointing and messy situation whichever way you look at it.

Swift 3.0 Unsafe World

Roberto Perez (via Hacker News):

But, what if we want to take a pointer to a Swift managed memory without having to create a function? To do it we will use withUnsafeMutablePointer, that will take a reference to a Swift type and a block with the pointer as it’s parameter.


When dealing with C API you need sometimes to cast pointers to struct to a different struct. This is very easy to do en C (and very dangerous and error prone too), as you have seen in Swift, all pointers are typed, that means that an UnsafePointer<Int> cannot be used where an UnsafePointer<UInt8> is required, that’s good in terms of producing a safer code, but at the same time that makes not possible to interact with C APIs that requires this types of casts, like for example socket bind() function. For theses cases, we will use withMemoryRebound which is a function that will convert a pointer from a type to a different one.


Before Swift 3.0, you could do it with UnsafePointer<Void> however, in 3.0 a new type has been added to handle these types of pointers: UnsafeRawPointer. This struct is not generic, so it means that it won’t hold information tied to any specific type and that will simplifly our code.


If we construct a UnsafeBufferPointer from an UnsafePointer we will be able to use most of the array functions of native Swift type given that UnsafeBufferPointer implements Collection, Indexable and RandomAccessCollection swift protocols.


Swift has an utility to take pointers to objects retaining its reference or not depending on our needs. Those are static functions of Unmanaged struct. With passRetained() we will create a retained reference to an object, so we can be sure that when using it from C world, it will be still there. If the object is already retained for the life of the callback we can also use passUnretained(). Both methods produces a instance of Unmanaged that will be converted to a UnsafeRawPointer by calling toOpaque()

Caveat Formatter

Jeff Johnson:

However, if you attempt to return the original string by reference, it doesn’t work right. The new, invalid string will still appear in the text field, despite the fact that -isPartialStringValid: returns NO. By experimentation — computer science! — I discovered that you have to provide a reference to a copy of the original string rather than the original string itself. This is probably some kind of bug in AppKit.

This does seem to be consistent with the documentation:

In a subclass implementation, evaluate partialString according to the context. Return YES if partialStringPtr is acceptable and NO if partialStringPtr is unacceptable. If you return NO and assign a new string to partialStringPtr and a new range to proposedSelRangePtr, the string and selection range are changed, otherwise, if no values are assigned to partialStringPtr or proposedSelRangePtr, the change is rejected. If you return NO, you can also return by indirection an NSString object (in error) that explains the reason why the validation failed; the delegate (if any) of the NSControl object managing the cell can then respond to the failure in control:didFailToValidatePartialString:errorDescription:.

But it’s probably not what you would expect.

How to Save the Princess in 8 Programming Languages

Toggl Goon Squad (via Mary Branscombe):

You need to rescue the princess with code - but sometimes your code doesn’t work and the princess is a dragon and you’re a fish.

Google and the Limits of Strategy

Ben Thompson:

This is why favoring Android in any way was such a strategic error by Google: everything about the company was predicated on serving all customers, but Android by definition would only ever be on a percentage of smartphones. Again, it’s possible Apple would have built its own Maps product regardless, but Google’s short-sighted favoring of Android ensured that for hundreds of millions of potential Google users the default mapping experience and the treasure trove of data that came with it would belong to someone else.

This is where that infamous Gundotra speech matters: I’m not convinced that anyone at Google fully thought through the implication of favoring Android with their services. Rather, the Android team was fully committed to competing with iOS — as they should have been! — and human nature ensured that the rest of Google came along for the ride. Remember, given Google’s business model, winning marketshare was perfectly correlated with reaping outsized profits; it is easy to see how the thinking and culture that developed around Google’s core business failed to adjust to the zero-sum world of physical devices. And so, as that Gundotra speech exemplified, Android winning became synonymous with Google winning, when in fact Android was as much ouroboros as asset.

Self-Absorbed Release Notes

Kirk McElhearn:

This is wrong, and dangerous. Users look to release notes to find out what is new, and what has been fixed. If you cannot quickly see these changes in the release notes, you miss out on something important.

I think a cute phrasing or occasional joke is fine, but this is a whole screenful with no useful information. Better to have just written, “Bug fixes.” Cesium is a good app, though.

Tuesday, October 4, 2016 [Tweets] [Favorites]

A Declining Trajectory

Matt Gemmell (Hacker News):

We’d jump if we could. Even that statement alone is arresting for me.

Another year, another OS version, and another batch of broken things that had finally reached a stable state just a few months before. Another set of new things that are of passing interest at most, with their own byzantine quirks yet to be ironed out.


Courage is apparently what it takes to remove a headphone port, according to Phil Schiller. I can only imagine which laudable value might lead to slowing down, making the upgrade cycle biennial, and focusing once again on quality and dependability above all.

Update (2016-10-05): Bernd Haug:

It’s really, really sad because it’s really, really true.

Marco Arment:

I don’t agree with @mattgemmell on everything here, but I’d say his big-picture characterization is right.

Matthew Bischoff:

Apple is right that it has a perception problem with its software quality. But it’s the internal perception that’s the problem.

iPhone 6 Plus “Touch Disease”

Jason Koebler:

Because Apple won’t publicly acknowledge the fact that the touchscreens of thousands of iPhone 6 Plus devices are spontaneously breaking due to a known engineering flaw, customers have been left in the dark.


As we’ve detailed in those stories, “touch disease” is an iPhone 6 Plus flaw related to “bendgate” in which the two tiny “Touch IC” connectors, which translate touchscreen presses into a machine input, become unseated from the phone’s logic board. It can be recognized by flickering gray bars along the top of the phone, and is associated with intermittent or total touchscreen failure.


In the last 24 hours, I’ve gotten emails from 27 separate iPhone 6 Plus owners who have encountered this problem and were unaware that Apple internally considers it a known issue. Many of them have been put through lengthy tech support protocols on obviously broken phones only to be told that they would have to pay $329 for a refurbished phone that is still fundamentally flawed.

Via Nick Heer:

When there was an known engineering defect in my mid-2007 MacBook Pro, I took it in for the out-of-warranty repair program. They didn’t have any of my model’s logic boards in stock, so they replaced it with an upgraded version that had a better video card and faster processor, at no charge. That’s the kind of customer service users who are reporting this problem should be getting[…]

Update (2016-10-11): Tim Hardwick:

Three additional law firms have joined a class action lawsuit against Apple over an alleged defect that causes iPhone 6 Plus touchscreens to become unresponsive and fail.

Update (2016-11-18): Josh Centers:

After much consternation from the user community, Apple has finally created a repair program for iPhone 6 Plus phones suffering from what has been dubbed “touch disease.” Symptoms include flickering and erratic multi-touch behavior. Other iPhone models are not covered by the program, but we haven’t heard of problems beyond the iPhone 6 Plus.

Apple claims the problems are associated with “being dropped multiple times on a hard surface and then incurring further stress on the device,” which seems a bit like blaming the victim. Adam Engst’s father’s iPhone 6 Plus succumbed to touch disease recently, despite having been protected by a wraparound case and generally treated well.

Option Sets in Swift

Ole Begemann:

Swift imports this definition not as an enum, but as a struct that conforms to the OptionSet protocol. Why a struct and not an enum? Enums are great when the cases are mutually exclusive, i.e. only one option can be set at a time. But you can’t combine multiple enum cases into a single value in Swift — unlike in C, where an enum is treated like an integer by the compiler and can assume any value.

An option set struct uses the same efficient representation as a bit field in C, but it presents itself externally as a set whose members are the selected options. This allows you to manipulate the bit field with standard set operations, such as testing for membership with contains or combining two bit fields with union. And because OptionSet inherits from ExpressibleByArrayLiteral, you can populate an option set with an array literal[…]

Southtree Follow-up

I ended up converting about a dozen old VHS recordings to digital files. The quality is about as good as I could have hoped for. The processing speed was slower than I would have liked but within the promised range. I sent the tapes to Southtree in a series of batches, which was a lot more expensive because of shipping, but I didn’t want to risk all the tapes being lost.

It turns out that this fear was partially justified because they did, in fact, lose track of one shipment. After weeks of not hearing anything, my USPS tracking information showed that the package had been delivered to Southtree, but entering my order number and zip code would not bring up my order status. It turns out that another customer had been given the same order number as me (so the zip code check was failing), and furthermore they didn’t know where my tapes were.

I got the impression that they had mailed my tapes back to that customer, but the language was vague enough that it was clear they didn’t want to explain how they were “looking” for the tapes. It was a tense few weeks waiting to see whether they would be able to find the tapes or whether the family memories were lost forever.

Finally, they said that they had found the tapes and would start processing them and notify me via e-mail when they shipped back to me. I never did get the shipping notification (as I had for the previous orders), but a few days ago the box arrived on my doorstep, and everything seemed to be in order.

I also had another minor issue where a batch of tapes was sent back to me but the converted MP4 file for one of them was missing. After a bit of difficulty proving this to Southtree, they provided free shipping to send the tape back to them for reprocessing.

Lastly, it’s been my experience that after the first order they send out a ton of 45-50% off coupons. So don’t worry if one offer is expiring; another will probably come along soon.

Previously: Converting Old Videotapes.

Dropbox’s Finder Toolbar

Seth Vargo (via Hacker News):

You would think less than a month after a very popular HackerNews article on how Dropbox Hacks Your Mac, the file sharing company would be careful about the activities they are performing in their software distribution. Nope, not Dropbox. Today they released an update that adds a hacky overlay UI element to finder that cannot be disabled!


Aside from the fact that this banner looks like something free software would install as a toolbar, it has some serious UX issues. I question if Dropbox actually tested this thing.


Hi folks, Ben from Dropbox on the desktop client team --

This is an experiment that is being tested with a fraction of users primarily on beta releases (which Seth is on, as evidenced by the version number in his screenshots). We haven’t shipped it to everyone so that we can continue to iterate and incorporate feedback. I checked with the team about the “Finder Toolbar” drop down and it looks like it requires a restart of the Dropbox client in order to take affect — let us know if that doesn’t work.

Vargo said that didn’t work. (And does “primarily” mean some non-beta users?)


Dropbox still refuses to answer why their client takes up a ton of CPU anytime there is IO on the system. It seems like they are monitoring ALL filesystem activity, not just the Dropbox folder. What they are doing with that data I have no idea.

I have to quit Dropbox before expanding a new Xcode archive because otherwise it overwhelms the CPU monitoring all the new files, which are not in my Dropbox folder.

I just want a folder that syncs, with as little system hacking as possible.

Previously: Dropbox Modifies TCC.db to Give Itself Accessibility Access, Disabling Dropbox’s Haxie.

Update (2016-10-05): Marco Arment:

What the hell is going on at @Dropbox these days? The Mac client developers have lost all respect for the platform.

Monday, October 3, 2016 [Tweets] [Favorites]

Four Affordable Wireless Audio Solutions

Josh Centers:

By far my favorite gadget in this roundup is the Antec AMP SmartBean, a Bluetooth receiver with a headphone jack that works with any audio device that connects via a 3.5mm headphone plug, such as headphones, speakers, and car stereos. It sells for around $25 on Amazon.


The SmartBean supports multipoint pairing so you can pair two devices to it at the same time. However, as with all multipoint Bluetooth devices, doing this often causes more problems than it solves, so I recommend repairing with each device with which you use the SmartBean.

The downside, for car use, is that it’s another thing to charge.

Previously: Removing the iPhone’s Headphone Jack.

Window Tabbing Pox

Daniel Jalkut:

Showing or hiding the tab bar on any window sets that choice as the default for all future windows in the app. So even new documents that are created by users, and which don’t have their tab bar visible because you’ve disabled it app-wide, will have a tab bar appended when they are restored at launch time, because “Show Tab Bar” was the last user action before disabling tabbing altogether.

The long and short of it? An app stuck in this situation will not have a View -> Show/Hide Tab Bar, and none of its windows will support tabbing, except for any document that is restored at launch time. Even new documents that are created without tab bars will have the tab bar imposed the next launch.

Automatic Download of macOS Sierra

Jim Dalrymple (MacRumors):

Apple told me on Monday that it is making its new macOS Sierra available to customers as an automatic download beginning today. What this means for users is that if you have auto update downloads enabled, macOS Sierra will download in the background for you.

It’s important to note that this is not an automatic installer—this process will only download the update in the background, and then alert you that it is available to install. You can choose to install it when its convenient. You can also choose to ignore the update.

Stephen Hackett:

More importantly, this move may lessen the perceived significance of installing a major update to macOS. While Sierra doesn’t bring sweeping changes, putting it on the same level of updating Tweetbot feels a little problematic.

Unless you’re a developer, I do not recommend updating to macOS 10.12 yet, principally because of the many PDF bugs, which go way beyond what I’ve documented. It looks to me like a discoveryd-type situation. One developer e-mailed me to say:

Whoever rewrote PDFKit should be strung up. They should totally rip it out and replace it with the one from 10.11.

See also: Lloyd Chambers:

When I see a folder with zero (0) bytes, I have a tendency to hit cmd-delete to put it into the trash, and then cmd-shift-delete to empty the trash. A habit I must now unlearn, or possibly suffer data loss.

Joe Rossignol:

Following the release of macOS Sierra last month, the latest operating system has caused some compatibility and stability issues with Adobe Photoshop and Microsoft Office 2016 for Mac that both companies are working to resolve.

A growing number of users on Adobe's support community claim that Photoshop CC crashes when attempting to print projects after updating to macOS Sierra. Doug Thomson, for example, is unable to print to his Epson 7890, while some other Epson and Canon printer models appear to be affected.

I’ve seen printing problems in a variety of apps.

Update (2016-10-04): Adam Engst has an update on ScanSnap compatibility. It sounds like the issues may not affect me, after all, but I’m going to keep running it in a 10.11 VMware just in case.

See also: Cocoa-Dev.

Update (2016-10-05): Antonio Nunes:

Whatever is going on with PDFKit, it’s not good. At least, it wasn’t for 10.11 and 10.12. PDFKit developed some serious flaws in 10.11, and despite my bug reporting these issues did not get fixed. It’s even so bad that in a 10.12 beta I reported how one of those bugs was affecting the Preview app, and in the next beta issue was fixed in Preview, but not in PDFKit. Which leads me to believe that Preview may no longer be using PDFKit, or at least not its public API in places. And no acknowledgement from Apple whatsoever about any of the PDFKit related bug reports. The issues concerning rendering in PDFKit since 10.11 cripple such a significant part of my software’s functionality, without the possibility of a workaround, that I had to decide to EOL my software, now that it is clear that they won’t be fixed in 10.12.

Disabling macOS Beta Updates

Craig Hockenberry:

There’s a good reason why I don’t want the betas installed on that Mac: it’s the one that runs the version of macOS that most of my customers will be using. It’s also the machine that submits products to the App Store, and we all know how picky they can be about tool and OS versions.


To turn off beta updates I first quit the App Store app and checked that there was a beta seed URL for Software Update using the Terminal[…] I then nuked it:

$ sudo defaults delete /Library/Preferences/ CatalogURL

Update (2016-10-03): Jeff Johnson:

I think sudo softwareupdate --clear-catalog is sufficient by itself. That’s all I needed to [do].

Jim Zajkowski:

sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil unenroll (or you can switch to the public beta)