Mac OS X Archive

The alert hammer

Apple started adding user consent alerts way back in High Sierra. The first time an app would try to access your location, contacts, calendar, reminders or photos a system alert would prompt the user for consent. Mojave expanded these prompts to automation, camera and microphone. And now Catalina adds screen recording, keyboard input monitoring, access to folders such as Desktop, Documents and Downloads, user notifications and Safari downloads… These alerts are just another step on a long path Apple has been taking to protect user’s data. Previous steps include code signing, sandbox, gatekeeper, the “curated” Mac App Store and notarization. But security features are most useful when they’re invisible. All previous steps were mostly invisible. This last one… Not so much. There’s a lot of complaining going around in Apple circles regarding the latest Catalina betas and the excessive amount of permission alerts and associated user access problems. On his latest podcast, for instance, John Gruber detailed how it took him ages to figure out why the Terminal wouldn’t show him any directory listings, until he realised the Terminal needed disk access permission, but didn’t ask for it. This is, of course, all quite reminiscent of Windows Vista, and the goal here seems to be to turn macOS into iOS, with similarly harsh restrictions on what users can do on their computers.

Translating an ARM iOS app to Intel macOS using Bitcode

What is Bitcode? Well, bitcode with a small b is an architecture-specific intermediate representation used by LLVM, and capital-B Bitcode pertains to a set of features allowing you to embed this representation in your Mach-O binary and the mechanisms by which you can provide it to Apple in your App Store submissions. Of course, the specter of macOS on ARM has been in the public psyche for many years now, and many have pondered whether Bitcode will make this transition more straightforward. The commonly held belief is that Bitcode is not suited to massive architectural changes like moving between Intel and ARM. I was unconvinced, so I decided to test the theory! By Steven Troughton-Smith, so you know you’re going to learn more than you bargained for.

Here’s how to force your Mac to run only in 64-bit mode

Since macOS 10.15 will remove support for 32bit binaries, it might be time to start preparing for this as a user. Steven Troughton-Smith linked to this older article from last year: macOS High Sierra 10.13.4 gets us a step closer to ditching 32-bit mode for apps. In fact, you can force your Mac to run only in 64-bit mode if you aren’t afraid to pay a visit to the command line. This way, you can see if any applications you use are 32bit, and if you can live without them – if not, you can start looking for alternatives.

Apple releases iOS 12.2, macOS 10.14.4

Apple has released iOS 12.2 and macOS 10.14.4. Both are minor releases, but at least macOS 10.14.4 has some nifty changes for Safari: macOS Mojave 10.14.4 includes support for Safari AutoFill using Touch ID and it offers automatic dark mode themes in Safari. If you have Dark Mode enabled in Mojave, when you visit a website that has an option for a dark theme after installing the update, it will be activated automatically. Every one of you using iOS devices or PCs running macOS know exactly where to get the updates.

Bringing iOS apps to macOS using Marzipanify

At WWDC 2018 Apple gave us a ‘sneak peek’ at perhaps one of the most impactful developments on macOS since the transition to Mac OS X: UIKit apps running on the desktop. Today, I’m going to detail a special tool I built, called marzipanify, to get started with UIKit on the Mac early, and start the initial bringup of your iOS app on macOS. Amazing work by Steven Troughton-Smith.

Apple File System reference

Some more light reading, right in time for the weekend - the 147 pages long reference to APFS.

Apple File System is the default file format used on Apple platforms. Apple File System is the successor to HFS Plus, so some aspects of its design intentionally follow HFS Plus to enable data migration from HFS Plus to Apple File System. Other aspects of its design address limitations with HFS Plus and enable features such as cloning files, snapshots, encryption, and sharing free space between volumes. Most apps interact with the file system using high-level interfaces provided by Foundation, which means most developers don't need to read this document. This document is for developers of software that interacts with the file system directly, without using any frameworks or the operating system - for example, a disk recovery utility or an implementation of Apple File System on another platform. The on-disk data structures described in this document make up the file system; software that interacts with them defines corresponding in-memory data structures.

This document could prove quite useful to developers who might wish to add APFS compatibility to for instance Linux.

Mojave’s security protections face usability challenges

Back in 2016, security researcher and developer Jonathan Zdziarski released a tool called Little Flocker that could protect Macs at the file level. Much as a firewall analyzes and blocks network traffic, Little Flocker locked down the file system and allowed only authorized applications access to only approved files.

Little Flocker was too complex to manage for average users, but it quickly became a darling among Mac security experts.

When Zdziarski took a job at Apple in 2017, he sold Little Flocker to the security vendor F-Secure, which released it as Xfence. Zdziarski's job change started the clock ticking on when we might see similar capabilities built into macOS. With macOS 10.14 Mojave, Apple has added file-level protections, plus some additional security enhancements. And you know what? Mojave is running into the same usability issues that users of Little Flocker endured.

I had never heard of this functionality. It seems like one of those things particularly Apple ought to be good at to integrate in a user-friendly manner.

Aqua screenshot library

While sometimes it can be hard to see from single release to single release, Apple has steadily been refining the Aqua user interface since first introducing it.

Of course, there have been highs and lows. Pin stripes and Brushed Metal and Linen and Rich Corinthian Leather. Transparency and Vibrancy. At times, Apple had led the way into new design trends, and at other times, they have fallen behind the rest of the industry.

Over 1500 screenshots of every Mac OS X/macOS release. A fantastic archive to browse through while enjoying a nice cup of coffee or tea.

Why you should build a Hackintosh

Fast forward 5 years and Apple still doesn't have a solution that satisfies customers that have extensive need for customization and specialized workflows. During the time of trash can Mac Pro, I worked on a 5K iMac, because I really liked the hi-resolution display. But hiding away all those cables was a chore. After Apple showed us the future of professional hardware with the iMac Pro, I was fed up with the situation and I started to investigate the possibility of building my own Hackintosh. Putting all the hardware together was the easy part, making macOS work was tough, but I did it.

I honestly don't believe a 'Hackintosh' is a suitable machine for any mission-critical environment, but if you're willing to deal with the risks and minor headaches, it's a not-as-hard-as-you-think way to get your hands on a very powerful macOS machine for a very reasonable price - with a lot more options and choices than Apple will ever give you, even if you take the hypothetical, vapourware new Mac Pro into account.

What was it like to be a software engineer at NeXT?

Working at NeXT was the most exciting software engineering job I ever accepted.

NeXT was like graduate school, bringing together a high concentration of some of the brightest and most innovative technical minds. Many people had computer science (or other) research backgrounds. One thing that was unusual is that all the technical people there understood all aspects of the machine. Software people could talk about ASICs and CPU instructions, and the hardware people understood the software stack. Every aspect of what it takes to make a computer work was represented in one building: analog hardware, chip design, motherboard design, compiler design (Objective-C), loader, operating system, windowing system, application layer, and applications. Where other companies had engineering teams, NeXT would have a single individual. Many people had been managers or technical leads elsewhere and came to NeXT to be an individual contributor to help create the most innovative computer ever invented (enter reality distortion field).

Great read.

How Snow Leopard became synonymous with reliability

In some ways, the narrative is out of Apple’s hands. The myth of Snow Leopard is bigger than life, a cultural reference rooted in nostalgia. OS X Lion succeeded 10.6.8 in July 2011 - closing in on 7 years ago. At this point, millions of Mac users have never even used Snow Leopard, and can’t attest to its reliability.

However, a kernel of truth persists underneath the mythology. Improvements to iOS and macOS, no matter how small, contribute to a better experience for everyone. Fixing bugs might not be as marketable as shiny new Animoji or a fresh design, but maintenance can only be deferred so long. If Apple can knock stability out of the park in 2018, maybe the legend of Snow Leopard can finally be put to rest.

There's a tendency for people to fondly look back upon older releases, whether warranted or not. Since I switched away from the Mac before Snow Leopard came out, and was a fervent Mac user during the PowerPC days, my personal Snow Leopard is Mac OS X 10.4 Tiger, which I still consider my personal best Mac OS X release. Mac OS X is obviously not alone in this; Linux and Windows users will also have their favourite older releases after which supposedly everything "went downhill".

It's just human nature.

Apple releases public beta of macOS Mojave

Apple today seeded the first beta of an upcoming macOS Mojave update to its public beta testing group, giving non-developers a chance to try out the software ahead of its fall public release. Today's public beta should be the same as the second developer beta, released last week.

Jason Snell published a review of the first developer beta (released during WWDC), and concludes:

Personally, I'm more excited about macOS Mojave than any recent macOS beta. The new dark mode alone is a huge change in what we have come to think of as the Mac interface, and the changes to Finder have an awful lot of potential. I'm also really happy to be able to control my HomeKit devices directly from my Mac, either via the Home app or Siri.

We're about to enter a major era of change for macOS. Mojave is the last hurrah for some technologies - most notably 32-bit apps - but it's also our first glimpse (in the four new Mac apps based on iOS technologies) of what is to come. Even if you don't install the public beta now, I expect this to be a compelling update when it arrives in final form this fall.

The final release is planned for later this year.

The future of the Mac comes from iOS apps

Apple made a big splash at WWDC this year when it announced that it would be letting developers port their iOS applications over to the Mac sometime next year - and that Apple had already started the process by bringing over the iOS versions of the Home, Stocks, News, and Voice Memo apps to macOS 10.14 Mojave.

The project - rumored to be codenamed Marzipan - is still in the early stages, and Apple isn't even planning on offering it to developers until 2019. And there's already a fair amount of confusion and outcry over what Apple's doing here: whether or not it will see the death of the traditional Mac app as we know it, exactly how these new kinds of apps will work, whether they'll feel like traditional "native" Mac apps, and even whether or not it's fair to call these apps "ports". So here's what's actually going on.

A fair overview of "Marzipan" and what it could mean for the future of the Mac.

Apple deprecates OpenGL, OpenCL in macOS Mojave

Yesterday at WWDC 2018, Apple revealed macOS Mojave, which is set to bring users a Dark Mode, redesigned Mac App Store, organizable Stacks, streamlined screenshots, and more when it launches wide in the fall. Alongside the new features, Apple has confirmed that it is deprecating OpenGL (Open Graphics Library) and OpenCL (Open Computing Language) in favor of Metal.

This means that apps built using OpenGL and OpenCL will still run in Mojave, but they will no longer be updated after macOS 10.14 launches. Apple encourages games and "graphics-intensive apps" built with OpenGL to adopt Metal ahead of Mojave's launch, and apps that use OpenCL for computational tasks "should now adopt Metal and Metal Performance Shaders."

This is going to be a major burden for small game developers.

Apple will let developers port iOS apps to macOS in 2019

As I said, there's one aspect of macOS Mojave that we really do have to talk about.

Macs and iOS devices have been getting closer and closer to each other in terms of functionality, and now Apple is bridging that gap with an announcement that the company will be making it easier to port iOS applications over to macOS at its WWDC. Apple has already been testing its new frameworks, with the recently revealed News, Stocks, Voice Memos, and Home apps that Apple introduced with Mojave all actually being ported versions of the iOS apps. According to Apple, the cross-platform porting is made possible by integrating elements of iOS's UIKit frameworks directly into macOS, alongside the existing AppKit framework used on desktop.

The point during the keynote where Apple announced this was odd - they put up a slide with the question if Apple will ever merge iOS and macOS, followed by a slide that simply said "no". However, they then followed by saying that a large part of all the mac OS Mojave features they just announced were actually ports from iOS, which really takes the wind out of that seemingly definitely "no". We're not merging iOS and macOS, but by the way all the new apps you just saw are iOS apps!

In any event, this is the Marzipan project Mark Gurman scooped late last year, and it will present a massive sea change for Mac and iOS developers alike. With how popular iOS is compared to macOS, all your favourite macOS applications will eventually be iOS applications ported over to run on macOS. It simply makes very little economic sense to have two separate applications fully optimized for each of the two platforms; it's much easier to develop an iOS application that oh-by-the-way also runs on macOS.

So no, iOS and macOS aren't merging in the sense that they're going to be the same operating system, but once most macOS applications are just ported iOS applications, can you really argue that the distinction between the two platforms really matters?

Apple announces macOS 10.14 Mojave

And, as expected, Apple also previewed macOS 10.14, nicknamed Mojave.

Apple today previewed macOS Mojave during its keynote event at the Worldwide Developers Conference in San Jose, California. Version 10.14 of the Mac operating system introduces a slew of new features, including a Dark Mode, Dynamic Desktop wallpapers, Desktop Stacks, a redesigned Mac App Store, and more.

I wasn't particularly overly impressed with what Apple demonstrated regarding Mojave - nice features, sure, but nothing groundbreaking or revolutionary. As with the other previewed operating systems, the first developer preview is available today, and the final release will ship in Autumn.

There's one thing about Mojave we have to talk about, though - but that deserves its own news item.

Apple leaks macOS 10.14 dark mode, Xcode 10

Developer Steve Troughton Smith today tweeted photos of macOS 10.14 with some very juicy details about Apple's upcoming operating system. The OS is very clearly sporting a fresh new dark theme, presumably a toggle-able setting, with the dark UI affecting all application chrome. You can also see an icon for a Mac News app in the Dock, as well as a first look at Xcode 10.

Smith explains that the API the Mac App Store uses behind-the-scenes is including a video preview for Xcode, something that the current Mac App Store does not support. It represents a pretty big leak on Apple's part ahead of Monday's keynote.

Another major leak because Apple just uploaded a video to a place where everyone can find it. Good work, Apple.

As far as dark modes go - I'm generally not a fan, because they often feel like tacked-on afterthoughts, without designers really taking the implications into consideration. The only time where I saw "dark mode" work well was Windows Phone, because that UI was designed for it from the ground-up. Also, dark modes tend to be "dark", and not black. With today's modern displays with deep blacks, dark mode should really be black mode.