Photos

On a bit of an aside, I want to briefly talk about the new Photos application that’s being rolled out to both macOS Sierra and iOS 10. Apple has announced that Photos is receiving a major feature update here, incorporating a new slew of functionality based on facial recognition and analysis of the photos in a library. The idea behind the feature is to allow photos to be easy collated – find all of the pictures featuring a specific person or shots of a mountain, for example – and then present that to the user or do other neat things with the collection.

Truth be told the presentation behind the new Photos application was a bit cringe-worthy (Apple’s still trying to figure out what you can do with image analysis that’s not a gimmick), however I think it’s notable because of the underlying technology. Apple is using GPU-accelerated computer vision here, and while they’re not the first party to do so, this is the most significant use of GPU compute we’ve seen from Apple to date.

Apple’s interest to GPU compute goes back to the creation of OpenCL in 2009, and the company has gone as far to implement two GPUs on their Mac Pro lineup so that the second GPU can be dedicated to compute tasks. With that said, thus far Apple’s use of GPU compute has been more along the lines of faster implementations of graphical features (e.g. composting and effects) than it has been true compute. Consequently, utilizing the GPU for computer vision marks the first major use of GPU compute in a first party Apple application beyond simply accelerating photo and video processing.

To be clear it won’t turn the world upside down, but I’ve been waiting to see Apple make better use of GPU compute, and now it appears the time has come. Interestingly this is happening with both the Mac and iOS devices; even the latter mobile devices will be using GPU compute for local image processing. Local processing allows them to play up the privacy aspects – this information never leaves the local system – but I think it will also be interesting if this makes Macs with faster GPUs more relevant for desktop (non-gaming/non-pro) workloads, as currently macOS itself isn’t pushing the latest generation GPUs too hard.

Under The Hood

Less visible to users but equally important are the under the hood changes coming to macOS, which Apple ever so briefly mentioned in their presentation and posted more about on their developer website. Overall macOS Sierra is bringing features that will impact developers and end-users alike.

On the API side of matters, Apple’s Metal graphics API is receiving a major update with Sierra. A new GPU family is being introduced (OSX_GPUFamily1_v2), which enables a bunch of new features on the latest macOS. Of particular interest here is geometry tessellation, which has been present in all Macs since 2012, but has not been exposed in Metal until now. Notably, Apple calls Metal’s tessellation feature a “flexible compute-based approach” which is a bit confusing since it can be construed multiple ways. However Apple’s documentation confirms that this is a traditional tessellation pipeline, using a combination of a fixed function tessellator and compute-based hull/domain/vertex shading. Though outside the scope of this article, tessellation is also being brought to the latest generation iOS devices under iOS 10, so developers should be able to hit the ground running with tessellation.

Apple is also expanding macOS’s wide color gamut support. The company already ships a Mac with a DCI-P3 display, the 2015 5K iMac, so it’s not immediately clear what these changes fully entail. But overall Apple says they’re bringing substantially improved wide gamut support to Metal, Core Image, Core Graphics, and other frameworks. This includes a number of new features in multiple APIs, including color conversion functions and new FP16 pixel formats for Metal.

The Swift programming language is also receiving an update with Swift 3. After expanding Swift’s overall functionality with 2, Swift 3 marks a further divergence between it and Objective-C. For the latest Swift, Apple is doing away with some of the OS’s oldest cruft, the NeXTSTEP-inherited class and API names, replacing them with more straightforward syntax.

// old code (Swift 2.2)

let content = text.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())

// new code (Swift 3.0)

let content2 = text.trimmingCharacters(in: .newlines)

This is a change that will break source-level stability, and is why Apple will be rolling out both Swift 3 and Swift 2.3, the latter of which ports over some of Swift 3’s other features while maintaining the current syntax. However with that said, Apple has stated that this should be the last major syntax change for Swift, and that Swift 3 is being designed with source-level stability moving forward.

Finally, while it’s still a work in progress, Apple has announced that they are developing a new file system that will be making at least a preview appearance in macOS Sierra. Dubbed the Apple File System (APFS), the new file system is a replacement for the long in the tooth HFS+, which in turn can be traced back to HFS, which was first introduced in 1985. Apple has extended HFS+ over the years, adding functionality such as Filevault and Time Machine on top of it, but HFS+ is definitely showing its age and is due for a wholesale replacement.

APFS in turn sees Apple implement a far more modern storage system. In terms of design it seems to take a page from other modern file systems such as ReFS and ZFS, implementing copy-on-write functionality, paired with other features such as native snapshots, native sparse files, and native encryption (the latter of these having to be built on top of HFS+). Comparatively speaking, both ZFS and ReFS are storage-focused file systems – used for storing data as opposed to operating systems – so it’s interesting that Apple is intending to use it across all of their devices. Though this may have something to do with the fact that they’re engineering APFS to be optimized for flash-backed storage first and foremost.

Ultimately I expect that APFS is going to significantly change how Time Machine works, and for the better, as the combination of sparse files, snapshots, and copy-on-write/cloning features all play well to that. At the same time Apple’s developer site notes that the old Apple Filing Protocol (AFP), required for networked Time Machine shares, is depreciated and cannot be used with APFS, so once Time Machine is reworked for APFS, expect it to be a particularly major reworking.

Expect to see APFS some time in 2017, after macOS Sierra ships. Unlike other forms of feature development, file system development is traditionally taken very cautiously – the failure mode is significant data loss – so this is something Apple will want to thoroughly vet before releasing it for production use.

Release Date & Hardware Support

Finally, along with the technical details, Apple has also announced the release process for macOS Sierra, and what hardware will be supported. The release timeline will be very similar to El Capitan last year; the developer beta is out now, and a public beta will start in July. A full, final release will then be in the fall.

As for hardware, macOS Sierra will be bumping up the hardware requirements for the first time in a couple of generations. The new minimum hardware for the OS will be a mix of late-2009 and 2010 Mac models; most 2008 and 2009 models are getting dropped. There doesn’t appear to be any single factor separating supported systems from unsupported systems – so why the line is drawn at late 2009 I’m not sure – but we may yet hear more about the matter as it gets closer to release.

macOS Sierra Supported Hardware
  Minimum Model Supported
iMac Late 2009
MacBook Late 2009
MacBook Pro 2010
MacBook Air 2010
Mac Mini 2010
Mac Pro 2010
macOS Sierra: New Features
Comments Locked

32 Comments

View All Comments

  • profssrfink - Thursday, June 23, 2016 - link

    I think many of you that are criticizing Apple are missing the point of WWDC. Apple is iterating on a very complicated task, OS design. Apple doesn't shove feature after feature in the OS unless they think people will actually use that feature.

    WWDC is about demonstrating the power of the OS (watch, tv, i, etc) and its meant to deliver a message to developers about what the OS is capable of. Emojis and stickers are markets in and of themselves. that feature alone is worth millions in sales to developers willing to build stickers out. So while Meh inducing from a wow perspective, its a huge benefit for developers who see that Apple is starting to EXTEND their OSes beyond what they were before. That same idea goes for Siri, homekit, and other APIs.

    WWDC is not a product release party, its a developer feature party. Laptops, iPhones, key software releases, etc. are left for september.

    Apple's core responsibility is stability in any OS release. So jamming hundreds of wonky features in at the expense of stability would kill Apple's reputation for developing stable and reliable platforms.

    I welcome some of the feature parity between devices and I hope Apple continues to build that out to bring all of their platforms together in a meaningful way.
  • jmartein - Friday, March 22, 2019 - link

    Mac sierra is pretty awesome. Now one can get all apps and games for free on iOS devices from Topstore. Get it from https://topstorevip.com/

Log in

Don't have an account? Sign up now