Archive for April 23, 2019

Tuesday, April 23, 2019

PDF Outlines, Bookmarks, and Preview

Howard Oakley:

I took a vanilla three-page PDF created using the Quartz 2D engine in Mojave, and tried to add an Outline or Bookmarks using each of the PDF editors I have to hand[…]


In most cases, whether called a Table of Contents, Outline or Bookmarks, the marked locations are written using a PDF /Outlines scheme, to a series of objects in the PDF source. The notable exception to this is Preview, which encodes Bookmark data in an XML stream rather than using /Outlines or any simple PDF objects.

All the apps are able to read Outlines or Bookmarks which use the /Outlines scheme. However, Preview’s XML stream doesn’t work in any other app of those tested.

Preview still hasn’t recovered from the rewrite in macOS 10.12. I continually get uncaught exception errors and hangs. These can actually be data-destructive because Preview will overwrite the on-disk file with unsaved changes, and if it doesn’t close the document in the normal way it won’t revert the file to its original state.

Previously: It’s Frustrating That Preview in Mojave Isn’t Better.

Collision Course

Jeff Johnson:

You could argue that Apple is wasting resources trying to put “Pro” features into iOS. They’ll be mostly wasted on people buying the cheapest, smallest iPads. The idea of iPad as a Mac replacement seems to be ideologically-driven by a vocal few.

Unfortunately, Tim Cook is one.

Mac unit sales increased 75% between 2009 and 2018. Empirically, iPad has not replaced Mac. Not at all. And given that iPad ISP is $422, have to conclude:

1) iPad is a supplement to Mac, and/or

2) iPad is a device for people who wouldn’t otherwise buy a Mac (maybe cheap PCs?)

Too bad Apple is no longer reporting unit sales.

Dan Masters:

Interesting point – the Apple community bubble assumes much about how the general public uses particular products, but how much of it is true?

It’s hard to know. My mother’s 2017 Mac is newer than her iPad Air, so her wallet is voting for the Mac, but she spends far more time on the iPad. Yet if she had to give up one or the other, she’d keep the Mac. My father is similarly non-technical and only uses a Mac and phone.

Michael Potuck:

Apple’s VP of software engineering, Craig Federighi, answered the question of whether the company was working on merging iOS and macOS with a huge “No.” on stage at WWDC yesterday.

Federighi’s “No” is to UIKit/AppKit/Marzipan as the word “modular” is to the new Mac Pro. It was intended as reassurance but isn’t, really, because it can mean just about anything. Everyone is reading their own hopes and fears into it. I tend to think he meant only that there won’t literally be a single OS that runs across Apple’s hardware lineup. But that’s not saying a whole lot if it ends up that he thinks the future of Mac apps is the same UIKit code running on a slightly different substrate. If the majority of apps end up being designed for touch and limited by what UIKit can do, what difference does it make that it’s called macOS?

Apple has definitely been making iOS more like the Mac and macOS more like iOS. In some ways this is good, but both platforms also seem to be losing aspects of what made them great. iOS was inevitably going to lose its simplicity due to competitive pressure. The Mac situation seems unnecessary, and I think stems from a combination of vision (apply Apple’s favorite iOS ideas to the Mac) and neglect (no time/budget for Mac-only stuff).

Steve Troughton-Smith:

So the ‘Marzipan SDK’ is just the iOS 13 SDK all along — a checkbox in your iOS project settings. I theorized it might be, months ago. What will that mean for the separation between UIKit and AppKit world? The iOS SDK doesn’t include Mac frameworks like AppKit, AppleScript…

Colin Cornaby:

Was pointed out to me that if Marzipan and AppKit are partitioned, that not only would Mac apps not get Shortcuts, but Marzipan apps wouldn’t get AppleScript.

AppleScript doesn’t get a lot of attention these days but it’s invaluable to a lot of power user workflows. What a mess.

IF I take the Siri Shortcuts/Mac rumors at face value: Siri Shortcuts only being available to Marzipan apps implies that Marzipan still segmented from the Mac. That’s not great for people who want to mix Marzipan and AppKit, or transition one way or the other.

Brent Simmons:

For UIKit to become an app framework for Macs that makes great Mac apps, it will have to become AppKit. That is, it will have to adopt so much (perhaps with revision, of course) that it does pretty much everything AppKit does.

Brian Webster:

I had this same thought myself. Makes me wonder whether ultimately it will be easier to provide a way to combine/embed UIKit and AppKit controls/windows, much the way Apple did with Carbon and Cocoa (over the course of a few years).

Jim Rea:

When this was announced last year, I thought that was what they were doing. Very disappointing that this apparently isn’t happening. But we’ll see for sure in 40 days.

Currently, it doesn’t even seem like they are unifying the types.

Michael Love:

And my theory that AppKit = Carbon seems to be if anything understating what’s about to happen; Apple’s going to simply bring the interesting AppKit UI pieces to UIKit and deprecate the rest, by 2020 nobody will be writing AppKit apps anymore.

Drew McCormack:

In any case, in my discussions with people at Apple, it seems UIKit is not designed to replace AppKit, or even be used by skilled Mac developers. They simply don’t have that goal in mind.

However, Marizpan will surely have consequences that were not a goal but that nonetheless follow inevitably from its introduction.

Nicolas Zinovieff:

For sure, but what I’m mostly concerned about is the “hybrid side-effect”: so you fear AppKit and you do your app in UIKit because “easymode”. Then you want or need to add a feature that’s not supported. You will just drop that feature rather than rewriting the UI.

Steve Troughton-Smith:

If you missed last week’s @_connectedfm, @viticci had a pretty interesting scoop that he’d been sitting on re mouse support coming to iPad as an accessibility feature. As far as I’m aware, that is indeed in the works. I feel like every pro user will turn that on, day one 😂 with UIKit adopting all kinds of API for mouse support for the Mac, it makes a ton of sense to let that be leveraged on iPad too if somebody has a mouse connected. Not changing the OS for anybody using touch, but adding functionality for those who choose, or need it


Unsigned apps, full system access, full file system access, Steam and 3rd party stores all exist on the mac.

These are the mac’s strengths, they are what makes it so powerful and useful.

Apple seems to view all of that as a weakness, a failing to be corrected and eliminated.

They think anything less than the lock down and control they have over iOS is a security and strategic vulnerability to be removed.

Locking down and controlling the mac, ends it being a real computing platform and kills innovation on the platform.

One could argue that the most significant Mac changes in recent years have been putting up roadblocks to development rather than opening up new avenues of functionality like at the beginning of the OS X era.


Update (2019-04-24): Colin Cornaby:

Without speaking to the accuracy of rumors/speculation: I worry about a Windows 8 style Pyrrhic victory. You can succeed in unifying all your applications around the lowest common denominator and filling the store with apps, at the cost of the platform you were trying to save.

The iPad and Mac have been on a collision course since the very beginning. But it feels like Apple is scared of the iPad becoming a Mac. So they continue to sit on their position of “we’re not merging the platforms” and we get situations like (possibly) this.

Take macOS, tweak it, and make it ProOS. Run it on the iPad and Mac. Have AppKit and UIKit and AppleScript and Terminal and Xcode and eGPU and drivers for everyone. This all feels like a giant exercise in keeping the iPad from becoming more open and locking down the Mac.

I love my iPad but I hate that I’m constantly having to grab my MacBook Pro to do things. I want my MacBook Pro on iPad hardware, not an iPad on my MacBook Pro hardware.

Brent Simmons (tweet):

Maybe because I lived through this — maybe because I’m a certain age — I believe that that freedom to use my computer exactly how I want to, to make it do any crazy thing I can think of — is the thing about computers.

That’s not the thing about iOS devices. They’re great for a whole bunch of other reasons: convenience, mobility, ease-of-use.


In a way, it feels like iOS devices are rented, not owned.


Macs carry the flame for the revolution. They’re the computers we own, right? They’re the astounding, powerful machines that we get to master.

Except that lately, it feels more and more like we’re just renting Macs too, and they’re really Apple’s machines, not ours.

Drunken Dogcow:

Agreed, except giving Apple a pass on iOS for their nanny authoritarianism while simultaneously arguing against the Mac heading the same way. This makes no sense to me. iPhones and iPads are computers and could be so much more if they weren’t locked down. Let’s not make excuses.

Ken Kocienda:

Over time, I’ve become and less less interested in software that doesn’t have access to its hardware. I want the option to “drop down a level” and then another and another, as far as necessary to get the job done right.

Steve Troughton-Smith:

Apple seemed to need a lot of reminding that the Mac was important. Now, it’s important to remind them why the Mac is important, so that they get any coming transitions right. The future is still being written

Will Cosgrove:

We’re always talking about how Apple created a Pro team to simply research how pros use their computers. They don’t understand why the Mac is important anymore.

Damien Petrilli:

It’s funny to see a claim that the Mac App Store is involving without developers because they didn’t embrace it.

When you known 100% of developers were forced to "embrace" the App Store on iOS and Apple still didn’t give a shit about them.

See also: Marco Arment.

Michael Love:

On this, a) he’s right but also b) the war between consumers and power users for the soul of personal computing has been raging for decades; this is just the latest front.


I feel as though Apple with the Mac has become like the proverbial snake eating its own tail… while—muffled, mouth full—extolling how they were so prescient to “see” that the iPad was to become the natural successor to the Mac.

It’s sad.


Mark Bernstein:

The end of personal computing?

iKyle quoting Mark Pilgrim:

“Once upon a time, Apple made the machines that made me who I am. I became who I am by tinkering. Now it seems they’re doing everything in their power to stop my kids from finding that sense of wonder.”

Steve Troughton-Smith:

It was described to me recently by somebody in the know that AppKit will stick around as long as Photoshop needs it. I’m not sure the source was aware that Photoshop’s new cross-platform (‘iPad’) version was rumored to be destined for the desktop, like all of their revamps…

I very much got the impression that Apple was not planning to maintain two dueling UI frameworks on the Mac. If that is the case, developers and users really need to make it clear to Apple what parts of legacy macOS are worth bringing to UIKit and iOS, and soon

Jason Snell:

I fell in love with the Mac nearly 30 years ago, in the fall of 1989. It’s been the center of my tech world ever since, and I’ve been writing about it professionally for 25 years. And yet these past months, I’ve noticed something strange creeping into my thoughts occasionally while I sit at my desk working on my iMac Pro: iOS does this better.

That’s how I feel much of the time using my iPhone.

Update (2019-04-28): Kyle Howells:

I think most of the danger associated with the Marzipan transition is just Apple touching apps in any way. Because Apple can’t touch a mac app without turning it into a terrible iPad app lately, regardless of the framework used.

Eric Schwarz:

While I can sympathize with those who are concerned of the direction of the Mac and what it means for their usage, the vast majority of Mac users probably won’t care because they’re using Macs like oversized iOS devices anyway. Outside of iOS development, Apple has basically said that you have a choice: pick a Mac that suits your needs and live with the weird macOS purgatory that we’re in right now or feel free to buy literally any other computer out there.

See also: Accidental Tech Podcast and The Talk Show.

Update (2019-05-13): Mike Zornek:

For a meeting who’s goal was to clear things up, they sure did leave us speculating [about the Mac Pro].

Update (2019-05-14): Steve Troughton-Smith:

Apple’s dual operating system strategy is ill-equipped for foldable tablets; what happens when a MacBook is an iPad and an iPad is a MacBook? Does Apple sell two identical devices with different OSes? Or does the Mac stay with legacy form-factors only?

Update (2019-05-24): Steve Troughton-Smith:

A really interesting question we probably won’t have an answer to for years to come is whether UIKit is the ‘Carbon’ or the ‘Cocoa’ of this transition. I think the only appropriate answer is ‘yes’. UIKit is the present, and the developer ecosystem it will bring with it is incredibly important. AppKit is also the present, and it provides and powers the Mac as we know it.

I’m sure we will have great, genre-defining apps from both UIKit and AppKit on the Mac. With Carbon, we had iTunes, Photoshop, Microsoft Office and Final Cut Pro. Eighteen years on, Carbon is finally reaching its end date, and the transition of all these apps to Cocoa/AppKit is complete. If AppKit still has eighteen years left ahead of it, I think the Mac will be just fine.

Both classic Mac OS and NEXTSTEP came to an end; the Mac did not. I think everybody can agree the unified whole was much greater than the sum of its parts, but this was not clear at all in 1997. The future is still being written, and we each, ‘Mac developers’ and ‘iOS developers’ alike, will get to be there to help shape it.

Brent Simmons:

So, knowing how this has worked out in the past, why do I fear the reaper?

Because bringing UIKit brings no new power. If anything, it subtracts power. UIKit apps — at least so far — are all sandboxed and available only via the App Store. They don’t offer everything AppKit offers.

And, to make things worse, it’s reasonable to be somewhat skeptical of Apple leadership’s understanding of the platform. Daring Fireball quotes a source at Apple as saying they had “taken their eye off the ball on Mac.”

Backing Up Shared iCloud Photo Albums

Tyler Hall:

Ideally, on Mac (or iOS) would have a preference to automatically import shared items taken by other people – and then those would feed into Google Photos. But that doesn’t exist. I could manually save-to-my-library new items as they’re shared, but that’s error prone and not scalable.

Also, what about the 2,000+ previously shared photos? I thought I would be clever and just select-all on my Mac and drag them into my main library, but after doing a few quick tests I realized isn’t smart enough to not duplicate the photos I took and shared when importing. (This is likely due to Apple scaling-down and stripping out metadata of shared items.) And there’s no way to sort by “other people” or build a smart album of “photos taken by other people” to filter out your own images when importing.