Archive for January 23, 2017

Monday, January 23, 2017

Optionals and Hackintoshes

Erica Sadun:

Applications normally can’t plan for, anticipate, or provide workarounds for code running on unofficial platforms. There are too many unforeseen factors that cannot be incorporated into realistic code that ships.

Adopting a universal style of conditional binding enables you to “guide the landing” on unexpected failures, including those failures that occur under less exotic circumstances.

Every Upcoming Chromebook Will Run Android Apps

Andrew E. Freedman (via Slashdot):

The news comes from a single line of text in Google’s list of Chromebooks that can support the programs: “All Chromebooks launching in 2017 and after as well as the Chromebooks listed below will work with Android apps in the coming future.” Below that is a list of older Chromebooks that will also run Android apps.


Many non-touch Chromebooks can also support Android apps, but the experience probably won’t be as good.

Update (2017-01-23): Peter Steinberger:

And this works really well - we optimized PDF Viewer for it, took a day. Better than most Windows apps.

United Airlines Flights Grounded by Computer Outage

Alex Johnson and Jay Blackman (via Hacker News):

U.S. officials told NBC News that the Aircraft Communications Addressing and Reporting System, or ACARS, had issues with low bandwidth. No further explanation was immediately available for what United described only as “an IT issue.”

Previously: Why the Airline Industry Could Keep Suffering System Failures.

The State of Apple

Anita Balakrishnan (Hacker News):

“At Apple in 2007, organizationally it was the wild west,” Burrough said. “I was hired under a particular manager, but for the first two years worked on projects that had virtually nothing to do with that manager’s core responsibility. That’s because the organization wasn’t the priority, the projects were the priority. It was the exact opposite of ’not my job.’ It was ‘I’m here to solve whatever problems I can, irrespective of my role, my title, or to whom I report.’ It was wild.


But today, the “dynamic has clearly and distinctly changed,” and Apple is much closer to his job at Palm, said Burrough, who most recently founded a 3D printing company called Bilt It.

“Working at Palm, the teams were highly organizational, [hierarchical] and responsibilities were siloed,” Burrough said. “There was a clear sense that each person had a clear responsibility, and rarely deviated from it. When you went to someone for help solving a problem ‘not my job’ was a common response.”


Burrough said he endorses the comparison between Ballmer and Cook. He went on a tweet storm on Tuesday where he said apple was no longer a “dynamic change-maker.”

Bob Burrough:

The very first thing Tim did as CEO was convert Apple from a dynamic change-maker into a boring operations company.

Apple’s internal culture is vastly different today than it was five years ago.

Tim Cook fired Scott Forstall and aligned the executive staff so as to have peace. ...which is to say there is no conflict

Executives aren’t competing with each other any more. And, Tim’s message was loud and clear: “Don’t bring me conflict.”

The result is the conflict is pushed lower in the organization. The proportion of middle managers has exploded.

Neil Cybart:

A double standard is being used to judge Tim Cook. No other tech CEO is being graded on the same scale as Cook. He is being penalized for not entering questionable product categories. In addition, the new products that Apple has decided to sell are looked at through an iPhone lens. Apple has the best-selling smartwatch in history, with sales approaching 25M units in less than two years, and yet the product is looked at by some observers with a yawn. This type of criticism is just not found when it comes to judging Cook’s peers.


The Apple Watch serves as a great example of how power within Apple is much more decentralized than many assume. Apple Watch is Jony’s baby. As told in the The New Yorker profile of Jony Ive published two years ago, Jony met some resistance among Apple executives regarding the Apple Watch’s main tenets involving fashion and luxury. Apple would become a very different company selling a device like Apple Watch. After some convincing, Jony was able to alleviate most concerns, and Apple marched towards Apple Watch. When it came time to manage the Apple Watch team, Apple COO Jeff Williams was eventually put in charge. This doesn’t exactly jump out as an obvious decision given that Jeff Williams is a supply chain expert.


The removal of Scott Forstall as SVP of iOS back in 2012 takes on a new level of importance when discussing the topic of Tim Cook and his inner circle. It has been reported that Forstall did not get along with other Apple executives. While we have never officially heard Forstall’s side of the story, which is odd, Cook’s desire for a powerful inner circle does support the theory that Forstall was removed in order to position this tight-knit group of Apple SVPs as a type of brain trust. Forstall was clear in his ambitions to one day be CEO. Cue, Schiller, and Williams don’t hold similar ambitions. Instead, ideas are bounced off each other and disagreements are hashed out within this group before being funneled to the rest of the company. Forstall threatened to throw off this dynamic and risk having Cook’s leadership structure collapse.


The Apple TV has suffered the same fate as the Apple Watch: Apple dumped an App Store and Springboard onto it and called it a new product. They essentially brought iOS to the living room, which isn’t such a bad thing at first glance — except it is the least integrated device in the entire Apple ecosystem. It doesn’t have Continuity, even though it needs it more than any other product; instead we have annoying “Keyboard Input” notifications. And instead of a login/identity solution so that we wouldn’t need Keyboard Input notifications, Apple is relying on their competitors to fill the gap (yet again). AirPlay is harder to use today than in iOS 7. Proactive is missing, so users are reduced to furiously swiping up and down a giant grid of icons. Tim Cook famously said he “loves operating his Apple TV from his Apple Watch”, yet it didn’t even ship with support for Apple’s existing remote app, and now there are two remote apps but only the old one works on the Apple Watch. After a simple one-tap setup, AirPods are “ready to use with all your devices“ — except Apple TV.


I have written extensively about Apple’s problems with services originating from their hardline privacy stance. However, there is another major issue: Apple views services as a value-adding feature, rather than a discrete platform. This stems from their hardware-centric business model, which is accordingly reflected in their device-centred services approach. The problem is that services are eating software, and now often indistinguishable from each other. Therefore, Apple should be treating their services with equal importance as iOS, macOS and tvOS: iCloud should be best-in-class; Siri should be more than just souped-up Voice Control; Apple Music shouldn’t delete people’s music libraries; these services should work seamlessly across all their devices and platforms — even on the web.


Apple’s greatest threat is losing this culture; looking at the company today, I am concerned that this is indeed occurring[…] After watching Steve Jobs’ last keynote, I was astonished at the contrast; Apple’s air of self-awareness seems to have been replaced with an increasingly self-congratulatory attitude.


Many people believe the removal of this conflict is helpful to Apple, but Forstall precisely embodied the character Steve Jobs described as being necessary for creating the best products. Steve Jobs himself was often described as a very divisive, larger-than-life character, who also didn’t get along with people. In fact, former employee Michael “Rands” Lopp said, “In my years at Apple, the Caffe Macs chatter about Forstall was that he was the only legit successor to Jobs because he displayed a variety of Jobsian characteristics.”

Marco Arment:

Apple can — and, I believe, does — have both a well-performing CEO and significant problems in its products that have me both worried and saddened as an Apple customer and enthusiast.

Chris Lattner ATP Interview

Accidental Tech Podcast did a great interview with Chris Lattner (tweet). The whole episode is worth listening to, but here are some of my thoughts:

He seems to agree that the “Objective-C without the C” branding for Swift was more about making developers feel comfortable with the language than it was a description of what the language actually is and aspires to be.

With so many other responsibilities at Apple, Swift was always kind of a side project for him. So his leaving Apple is less of a change for Swift than one might think.

It sounds like Tesla is primarily interested in his engineering and management skills. They might at some point use Swift for something, but it does not sound like he was hired to adapt it for their purposes, as some have speculated.

He thinks the criticisms of Swift not being dynamic enough are overblown because many dynamic features, such as introspection, can and likely will be added to Swift in the future. I agree with the latter and am not worried that patterns like the responder chain will be impossible. My main concern has been that message passing is opt-in rather than the default. This closes the door on unanticipated swizzling and other techniques. Once the dispatches have been baked in (or, I guess, out) they cannot be changed. This is not an area where Swift can satisfy both camps, and it has been obvious from day one which way it leans. So I think it would have been rather pointless to try to argue this point on Swift Evolution.

Objective-C literals are described as an easy sugar feature that Apple added while much of the team was busy with Swift. I have never understood why it took so long for this feature to arrive. It could have been added to Objective-C 1.x but instead came about 6 years after Objective-C 2.0. Or, to put a positive spin on this, the rate of progress with Swift is incredible compared with what we saw with Objective-C.

Swift doesn’t support 32-bit Intel for Mac or the old Objective-C runtime. I had assumed this would mean that Apple would drop support for the 32-bit frameworks as it starts using Swift internally, but he seems to think that Swift will add 32-bit support so that it can be used in AppKit.

There is a great overview of ARC vs. garbage collection. I think ARC was absolutely the right choice.

He makes a strong argument that ABI compatibility should be postponed again.

The planned Rust-like ownership model sounds like it will give us an escape hatch for ARC problems: manual memory management, but only when you need it, and with lots of compiler support to prevent mistakes.

See also: Lattner’s Slashdot interview, Daniel Jalkut.

Previously: Chris Lattner Is Leaving Apple, Swift Plans, “It’s a Coup”, Objective-C Drops vtable Optimization, Copland 2010 Revisited, Regarding Objective-C & Copland 2010.

Update (2017-01-23): ATP now has a full transcript of the interview (tweet).

Update (2017-01-26): See also: Analog(ue).