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

  • star-affinity - Tuesday, June 14, 2016 - link

    But they didn't make a too big deal of the bigger emojis I think.

    ”To me the whole WWDC announcement stream was a big MEH.”

    While not exactly awed I wouldn't say it was ”meh”, but it felt much more consumer focused than previous WWDC keynotes. Not much geeky ”under the hood” stuff mentioned like the new filesystem for macOS and the improvements to Metal. There's probably more new stuff… I'm glad Anandtech highlights the more technical aspects.

    ”Apple of 2016 has become the Apple of 1996. Slow and tired.”

    Is it really that bad you think? Well, on the computer hardware side of things Apple feels slow nowadays – I agree on that.
  • theKwatcher68 - Wednesday, June 15, 2016 - link

    Nothing earth-shattering here. I was more interested in hearing about any new Macbook Pros on the horizon. They seemed to spend (to me at least) more time on emojis and Mini mouse than on the new version of Xcode). It's a developer conference. Spend a bit more time on things that developers will really care about such as Xcode and integration APIs between macOS and iOS.

    I liked the discussion on Maps update. I'm guessing that Siri will be even more integrated with maps where a user can speak to Siri and say something like: What is the best route to work today? or Locate nearby coffee shops. They didn't provide an example of that during the Keynote.
  • halcyon - Wednesday, June 15, 2016 - link

    @theKwatcher68

    Well said. The Maps API opening was the only interesting thing for me.

    Even the "Free Swift Playgroungs" felt like a last ditch effort to stop the declining sales of the overpriced iPad line.

    I'm all for kids leaning through play the basics of coding, but I don't think Swift playgrounds is the solution for it and I have no confidence in Apple actually maintaining it and keeping it useful for more than 6-12 months.
  • name99 - Wednesday, June 15, 2016 - link

    Listen up, you morons. The point of the WWDC KEYNOTE is to be a PUBLIC announcement of Apple's new software features. It is NOT meant to be a product announcement arena. It is also not meant to be an announcement of technical details --- what do you think the rest of WWDC is for?

    If you actually cared about learning what is new in OSX at the technical level, read the damn docs:

    https://developer.apple.com/library/prerelease/con...

    https://developer.apple.com/library/prerelease/con...

    What I see that's interesting, at a low level, for example, is a new logging framework and some interesting security work to make "partially signed" code more robust. There's probably less to talk about at the absolute lowest levels of macOS because
    - much of that work is going into the new file system
    - much of that work is (my guess) going into modernizing frameworks for the new Swift. (Not just the Swift 3 cleanups being announced at WWDC, but conceptual ideas around how Swift 4 is going to handle concurrency)
    - much of that work is going onto tie all four Apple code bases together, both in the sense of interoperation (Continuity and such like), and in the sense of trying to grow the common code base and shrink the device specific code bases as much as possible
    - users have been grumbling for about two years that they wanted a macOS with fewer new features and a year taken off to fix bugs. Apple seems to have largely done that. So WTF is the complaint about --- this was certainly what I wanted, and some of the other release notes (like the AppKit notes) testify to substantial bug fixing.
  • star-affinity - Thursday, June 16, 2016 - link

    Good points, name99. :)
  • Murloc - Wednesday, June 15, 2016 - link

    yeah, 40 years old abusing emojis is typical. Them and 14 years olds.
  • Schmov17 - Tuesday, June 14, 2016 - link

    Always enjoy your articles, especially the full reviews that dig into all the details.

    I would be extremely interested in an article about the next gen file systems, comparing ZFS/ReFS/APFS (when more info on it is out) and possibly a primer on how NTFS/HFS+ compare and why we need a new generation.

    File systems are some of the most important, and least widely understood, aspects of modern day computing and operating systems and I think a lot of people would be interested in learning more about the fundamentals of how they work.
  • minasnoldo - Tuesday, June 14, 2016 - link

    ^this please^

    Not a lot of articles on newer file systems:
    From 2010:
    http://www.anandtech.com/show/3963/zfs-building-te...

    And from 2014:
    http://arstechnica.com/information-technology/2014...
  • Ranger1065 - Wednesday, June 15, 2016 - link

    Sadly, full reviews seem to be a thing of the past here.
  • Eden-K121D - Wednesday, June 15, 2016 - link

    GTX 1080 review is not their and we keep getting reviews for overpriced underperforming SATA SSDs

Log in

Don't have an account? Sign up now