Mastodon macOS – Josh Hrach

Speculation on Apple Silicon in upcoming Macs

Ever since WWDC, we’ve been eagerly awaiting Apple’s first Macs running on Apple Silicon. Will they be drastically redesigned? How well will Apple Silicon Macs perform?

Along with announcing the transition in June, Apple provided a Developer Transition Kit to help developers prepare for building their apps for the new architecture. It was provided as a Mac mini enclosure running an A12Z chip, the same in the latest iPad Pro models. While (presumably) designed just for the iPad, the chip worked well enough to run macOS Big Sur. From developer chatter on Twitter, it seems to run fairly well. The benchmarks were decent, outperforming the MacBook Air in a device that isn’t intended to showcase the power of Apple’s Mac-intended silicon.

Apple builds a lot of custom silicon. Even the S-series chips used in the Apple Watch are based on A-series designs. Might this basis allow for a clearer understanding of macOS support on Macs?

This morning, a post by MacRumors shared information about an iMac coming in 2021 running an “A14T” chip. If true, what might this mean for Macs on Apple Silicon? While we are less than a month away from knowing details about the first available Macs with Apple Silicon, here are some thoughts I have.

Stronger Tie to iOS Devices

When Apple announces a new version of iOS, by announcing the devices that support it, they also clearly signal what devices can’t. Occasionally, a release will drop support for one or more devices, typically devices with the same chipset. For instance, iOS 11 dropped support for the A6, and iOS 13 dropped the A7 (and devices with 1GB of RAM running on an A8). If Mac chips are based on A-series designs, we may see similar drop offs with devices. Instead of saying an OS release requires Macs from some year and up, they could just say Macs with a particular chip.

With this change, I also suspect that we will see Macs and iOS devices from a particular year, running on the same chip, to lose new OS support at the same time. For instance, should iOS 20 drop support for the A14 (announced this year in the iPad Air 4 and iPhone 12), the macOS release of that year could also drop support for the Macs running the Mac-equivalent chip.

Now, why would that happen? Why can’t Macs, with higher specs, support OS releases for longer? They technically could. But I think one thing to consider is a big feature of running Big Sur on Apple Silicon: Running iOS and iPadOS apps natively on a Mac. When an iOS app is built with a minimum supported version of iOS 14, for example, the Apple Silicon Mac must also support the APIs required to run that app. That means a stronger tie between macOS and iOS. It also implies a strong connection between the hardware.

Apple devices already are known for incredible support when it comes to OS updates. No other manufacturer ensures their smartphones get as many major releases as iPhone. And this isn’t anything new. Even the second generation iPad supported 6 major versions of iOS during its lifetime! Right now, the average for iOS devices seems to be between 5 and 6 years. However, macOS Big Sur is available for some Macs that are 7 years old. So, I see this tighter relationship between Macs and iOS devices to culminate in one of two changes:

  • Macs start supporting only 5-6 major OS releases, in line with iOS/iPadOS devices – I don’t see this as likely, as Apple would not want to be seen as reducing support of their most expensive computing product line. Then people might say, “When it ran Intel, they would support 7 year old Macs. Now they barely can last 5 years!” I think Apple would want to show that their Macs have better support on Apple Silicon than Intel.
  • iOS/iPadOS devices start supporting OS releases for more than 6 years – Should macOS stay at supporting Macs that are 7-8 years old, perhaps one day we’ll have an iOS device that can be said to have supported 7-8 major OS releases now. They support 5-6 now, and the A14 in this year’s products is so far ahead of the A8 and A9 currently supported at the low end with iOS 14 that I can see it easily lasting to iOS 21, 22, or beyond.

Performance vs Battery Life

Already, Apple is comfortable with making variants of their chips for different products. This has been true ever since the A5X in the third generation iPad. Apple continues that trend to this day, with the iPad Pros running the A12Z (virtually identical to the A12X, with one additional core). These improvements typically are for the benefit of the iPad while retaining great battery life.

General expectations are that Macs running on Apple Silicon will have better battery life and better performance than their Intel counterparts. How will that be delivered?

I’m curious if we’ll see trade-offs made between the portable and desktop lines. For instance, perhaps we would find the A14T (the rumored Mac chip) in both the MacBook Pro and iMac. This chip might be the Mac-specific version of the A14, given additional cores to power what people expect from a Mac. It may even be an offshoot of the A14X (if one such chip launches later this year). So you would see an A14, A14X with improved graphics, and A14T with additional changes for the Mac.

This same chip might be able to scale across Apple’s entire Mac line. On the MacBook Pro, it would be tuned for better battery life with moderate performance. But for the desktop, with constant power and better cooling, it might be tuned for higher performance. Pair it with additional RAM and Apple’s custom GPUs, and you’d have a singular chip to track for Apple’s Macs during any given generation. Gone would be the days of choosing to buy a new MacBook with an i3, i5, or i7 processor. Instead, you’re buying a Mac with an A14T. You just are choosing how it’s tuned.

Is this how it’ll all turn out? Again, we will have to wait and see. But however it ends up, I’m excited to see what this new generation of Mac will bring.

Future App Development on iPad

With less than 24 hours until Apple unveils iOS 14 and a slew of software updates at WWDC 2020, I wanted to briefly get my thoughts down regarding something that has been in my head.

Many feel that, with the iPad positioned as a computing platform, the iPad itself needs to do more things like a Mac can. One of those is app development. While it’s not a totally useless platform for development, there are limitations. But I think there will be some lingering limitations for a while, and in a way, those limitations might help us see the direction Apple is taking their platforms.

Current State

Right now, the iPad has a limited availability for development. This is in the form of the Swift Playgrounds app, which is a great way to learn Swift within a playground environment. Since last year, it has supported SwiftUI, Apple’s new declarative UI framework.

Swift Playgrounds is useful but comes with some obvious limitations:

  • No actual app creation
  • IDE only – No Interface Builder/SwiftUI Preview canvas
  • Missing some SwiftUI functionality when running your code

It’s not totally useless. If you’re a fan of playgrounds like me, then you may already be used to building a lot of Xcode playgrounds to test various ideas and concepts. Doing the same on the iPad is no different.

iPad as ARM Mac?

With Apple’s rumored transition to ARM processors for their Mac line, some were speculating that the iPad Pro would be a good test device until actual ARM Macs ship later this year. However, this was shot down as the iPad Pro has only 6 GB of RAM, while the typical Mac starts with 8 GB.

From John Gruber at Daring Fireball:

iPad Pros only have 6 GB of RAM — no Mac has shipped with less than 8 GB in many years, and developers aren’t buying machines with 8 GB of RAM. Honestly, I think the RAM is a deal-breaker on the iPad Pro-as-ARM-Mac-dev-kit idea.

I also agree with this point. I don’t think the iPad Pro is itself a good candidate for testing macOS on ARM hardware. However, if we take the above limitation into account, let’s reason on some possibilities.

The Future of iPadOS

Why did Apple break out iPadOS from iOS? Sure, there are differences at the UI/UX level. For instance, you can drag and drop items between apps on the iPad, but on the iPhone this is limited to within the scope of a single app.

Even during the iOS 13 timeframe, the builds for iOS and iPadOS were similar in terms of foundation. There’s no surprise there. But this begs the question: is iPadOS just a marketing term?

With the recent release of the Magic Keyboard for the iPad Pro, I wonder if we’ll truly see the iPad move into more of a Mac-like direction. It will never become the Mac. It will never replace the Mac. But we might see some additions to the iPad that make it more compelling to use with something like the Magic Keyboard.

For one, let’s consider the initial transition in bringing iOS apps to the Mac. This was done by bringing UIKit from iOS to macOS. Last year, Apple announced Mac Catalyst as a way for iPad apps to easily come to the Mac, and improvements were made throughout iPadOS 13 to support mouse cursors and keyboard input.

The next stage in that transition is supposedly bringing support for iPhone apps to the Mac.

But that sounds so trivial. Why is that a separate stage in the release? If someone can easily make an app that supports iPhone and iPad now, what does this bring for developers?

iPadOS Windows

Last year, Apple added support for multiple windows (called “Scenes”) of the same app to exist at the same time. What this means is you can have two windows from the same app side by side in multitasking. Or have multiple windows from an app paired with multiple other apps. Example: You can have two Notes windows side by side, or two Messages windows, or two Safari windows.

However, there are still limitations on how windows can be arranged. Right now, you can have an app (or two, paired) take up the full display, and have an app visible via Slide-Over on the side.

What if the idea of iPhone apps coming to Mac is really intended for iPhone apps to come to the iPad? Imagine Slide-Over but refined and expanded, allowing iPhone-sized apps to live on your iPad screen, perhaps even when you’re on the home screen. With cursor and keyboard support, this would bring some added capabilities to iPadOS, bringing it closer to the Mac without actually running macOS.

I have no knowledge of future roadmaps, but I wouldn’t be surprised if that’s the direction iPadOS takes.

Now, what does this have to do with developing apps on the iPad?

The Future of App Development on iPad

Right now, app development is done on the Mac. Xcode lets you build apps for iOS, watchOS, iPadOS, tvOS, and macOS. And the Mac can simulate all of those environments.

If we were to expand iPad to be able to develop apps, we have to ask the question: What platforms can we simulate on an iPad?

If iPhone apps will soon be able to run on an iPad, I’d argue that being able to develop iPhone apps on an iPad version of Xcode is a possibility. And much like the Xcode for Mac is capable of building Mac apps, Xcode for iPad will be able to build iPad apps. In fact, I can see Watch and tvOS apps just as easily.

But what about Mac apps? While it could be possible, how would you test it? Mac apps have the most access to their platform than any other Apple OS, by far. Would you simulate a Mac environment to test a Mac app?

While not impossible, I find it highly improbable that you would be able to simulate a Mac environment on an iPad to test a Mac app.

Then you have the question of UI development. While you can programmatically build UI, Apple wouldn’t want to leave that as the only way to do so. And while many apps are still built with UIKit/AppKit and Interface Builder, Apple has showed us a new way to build UIs: SwiftUI.

With SwiftUI, we’re able to build apps for all of Apple’s platforms (including the Mac). With SwiftUI, I also think Apple is slowly laying the foundation for eventually supporting a version of Xcode for iPad.

While the iPad won’t be able to build everything Xcode for Mac can, it’ll eventually be able to build apps for the iPad, iPhone, Apple Watch, and possibly tvOS. But you would have limitations: SwiftUI would be your only route for UI.

If this ends up being true, it also shows Apple’s priorities: Enable developers to build apps for their more popular platforms with limited, more specialized tools, and leave the larger development picture to the Mac.

So will Xcode come to the iPad? I think so. Will it replace Xcode for Mac? No. Will the iPad replace the Mac? No.

But what we will definitely see is a separation of iOS and iPadOS. Last year was just marketing. This year and beyond, we’ll see it in practice.