Archive for June 8, 2022

Wednesday, June 8, 2022 [Tweets] [Favorites]

Shareful 1.7

Matthew Bischoff:

If (like me) you’re enraged every year that you can’t copy a link out of the Developer app on macOS, even though you have Copy Link enabled in your Share Menu settings, I’ve got just the Feedback for you to dupe.

Sindre Sorhus (via Darren):

Shareful makes the system share menu even more useful by providing some commonly needed share services:

  • Copy — Copy the shared item to the clipboard and so you can quickly paste it into another app.
  • Save As — Choose a directory to save the shared item to.
  • Open In — Open the shared item in any app.

Previously:

WeatherKit

Apple:

WeatherKit offers valuable weather data for your apps and services to help people stay up to date on the latest conditions. Learn how to use Swift and REST APIs to access information about the current weather, 10-day hourly forecasts for temperature, expected precipitation, wind reports, the UV Index, and more. We’ll also share how WeatherKit can provide timely, hyperlocal weather information without compromising someone’s personal data or their privacy.

Dan Moren:

This is a big endeavor, but its existence shouldn’t come as a surprise—and not just because of the timeline for sunsetting the Dark Sky API. Apple loves having key technologies under its control and if you’ve scrolled down in the company’s Weather app pre-iOS 16 (or requested weather information via Siri), you’ve surely seen (or heard) that the weather data on Apple’s platform has historically been provided by The Weather Channel. It’s not hard to imagine that that reliance on a third party (much less have to display their logo in one of Apple’s prominent apps) for this critical data may have rankled the folks in Cupertino.

[…]

WeatherKit provides a ton of data, including minute forecasts (specifically for precipitation), hourly forecasts, daily forecasts (up to 10 days), weather alerts, and a veritable tsunami of historical weather data for those who want to crunch the information to extrapolate trends. That means a lot of opportunity for apps to use weather data without having to go to a third-party source, which generally charge not insubstantial fees for access to their APIs.

Steve Streza:

Interesting that Dark Sky is just an Apple-branded REST API now, didn’t expect that it would stick around for non-Apple platforms.

Ryan Jones:

WeatherKit is NOT completely free, but is super generous.

  1. Dark Sky gave 30k free/month. This is 500k free.
  2. Typical fee is $1 per 10k calls. This is $0.50 per 10k.

David Smith:

Looks to be roughly half of what the old Dark Sky API pricing was. ~20,000 requests/$1. Solid.

Steve Troughton-Smith:

WeatherKit is only provided as a Swift API, with no class prefixes (😖)

Previously:

Update (2022-07-05): See also: Hacker News.

System Settings

Joe Rossignol:

The new System Settings app looks more similar to the Settings app on the iPhone and iPad, with settings placed in a sidebar for easy access.

[…]

System Preferences had been the app’s name for over 20 years, but System Settings is the new name going forward.

I like having the list of panes in the sidebar. The search works better than before, and I like how the matches from lower in the hierarchy are displayed. The groupings could use some work—and maybe some titles—but they’re an improvement over what we had before. I like that the list in the sidebar remains visible when you’re viewing a settings pane. Unfortunately, sometimes the keyboard shortcut for searching doesn’t work.

I don’t really understand the renaming from Preferences to Settings except for consistency with iOS. And why did iOS call it Settings in the first place? It’s going to be annoying to support multiple app versions and to change the application menu item and the window title dynamically. Documentation and scripting dictionaries will need to be updated and bifurcated, too. Some of the panes have changed name, e.g. Security & Privacy is now Privacy & Security. More documentation and alerts to update. Does it really make sense for Software Update and Time Machine to be buried inside of General, or are they just that way because of iOS?

The main part of the new Settings window is really disappointing. It uses a multi-column interface that does not feel very Mac-like. You can only see one column at a time. macOS started out with such nice column views in Finder and iTunes; these days we get a little Back button and horizontal scrolling thumbnails within a column. Sometimes the Back button disappears even when a lower level pane is being displayed. The lists of sub-panes are not keyboard navigable. Selection is buggy. Within each pane, the controls are laid out in a very uniform way in scrolling lists that remind me of nothing so much as cross-platform apps like Chrome and Discord. Did Apple do this because the new design is superior in some way (that escapes me)? To make it more like iOS? Because this sort of generic layout is easier to do with SwiftUI?

The other thing I object to is the use of iOS-style switches instead of checkboxes. Apple has specifically said:

Use a switch to toggle significant preferences, or preferences that provide access to other controls. Avoid creating lists or tables of switches; instead, for general-purpose toggles, use an instance of NSButton to display a checkbox.

and:

Avoid using a switch to control a single detail or a minor setting. A switch has more visual weight than a checkbox, so it looks better when it controls more functionality than a checkbox typically does. For example, you might use a switch to let people turn on or off a group of settings.

In general, don’t replace a checkbox with a switch. If you’re already using a checkbox in your UI, it’s probably best to keep using it.

Riccardo Mori:

Before you could see all panels at a glance. Now — welcome to scrolling.

On my 16-inch MacBook Pro, with the Dock on the side, I can resize the window to be taller and barely see all the items in the sidebar. I still see this as an improvement over the icon grid, though, as I had so much trouble finding things there. Scrolling in the right pane is required even with the enlarged window, which is a shame.

Jeff Johnson (tweet, Hacker News):

Notice first that on Monterey, the keyboard focus starts in the Search field, whereas it doesn’t on Ventura. I’ll talk more about keyboard focus later, but also notice the bizarre popup buttons on Ventura. The button doesn’t even appear until you hover over it!

[…]

On Monterey, you could customize the preference panes, hiding the ones you don’t want to see.

[…]

On Ventura, this [Full Keyboard Access] setting is more difficult to find, because it’s buried behind another button.

[…]

I honestly don’t get the appeal of switches at all, not even on touch screens. The only "point" of switches appears to be pointless animation. But otherwise, simple click or touch checkboxes are easier and quicker to toggle.

For example, with checkboxes you can click anywhere on the text.

On Ventura, the list of [Notification] apps cannot be navigated by keyboard at all, and neither can the settings for each app.

[…]

System Settings window has a fixed width. This is unfortunate, because the settings are competing with the sidebar for that width (approximately the width of an iPad, you might say).

You can’t even make it wide enough so that the “Apple ID, iCloud, Media…” at the top isn’t truncated.

Steve Troughton-Smith:

The new System Settings app on macOS brings the performance, reliability, and Mac-optimization you’ve come to expect from SwiftUI to a core system app. It’s exactly as good as that sounds.

CM Harrington:

More lost sheep design.

John Siracusa:

I’m not feeling it, Ventura…

Dr. Drang:

I thought the thing people didn’t like about System Prefs was scanning through the grid of icons to get to the right panel. Not the layout of preferences within the panels.

Dan Masters:

Oh my god. macOS’ Trackpad preferences pane was one of the best examples human-centred design.

See also: Mario Guzman, Ryan Jones.

Previously:

Update (2022-06-09): Oskar Groth:

Apple is throwing their own HIG’s out the window here. Split views, panes, check boxes and modal panels are out. Instead we have a vertical UI with iOS-like grouping and tiny switches.

[…]

There has never been a NavigationController eqvivalent for macOS. We were literally told by Apple not to present UI this way. So it represents a pretty significant shift in macOS design philosophy.

Nick Heer:

I am not as much of a detractor of Apple’s current visual design themes as some, but I worry about stuff like this. They lack the visual clarity and integrity of great Mac software.

So begins another summer of filing dozens of bug reports with the words “insufficient contrast” in each of their titles.

John Siracusa:

This comparison (suggested by @gruber) is particularly harsh.

Jeff Johnson:

If the General items were included in the sidebar, it would be even more of a mess. As it is, the sidebar can only show 18 items on my screen at minimum window height, 27 at maximum window height (with bottom Dock). So the sidebar will never show all of the items, unlike in System Preferences. […] The Desktop & Dock section in System Settings is also absurdly long. It combines preferences from multiple panes on Monterey: Dock & Menu Bar, General (now named Appearance in System Settings), and Mission Control.

[…]

The Wi-Fi section in System Settings shows of full list of the available wi-fi networks. For me, this list contains more than 30 networks in my area. Even worse, you have to scroll down to the bottom of the section, below the network list to see a couple more preferences.

[…]

Spotlight Privacy has the opposite problem in System Settings. You have to click a “Spotlight Privacy…” button to show the list of folders excluded from Spotlight. In System Preferences, the list is in a tab in the Spotlight preference pane. Ventura System Settings seems to be allergic to tabs.

[…]

The “Enter password” field steals the focus when you arrow down to the Passwords section in the System Settings sidebar.

Thomas Clement:

The thing that kills me with the new System Settings design is that people like myself have spent years trying to tell people at big companies to not do iOS-like design like this for the macOS. Now they’ll just point to this, nothing more we can do.

John Gruber:

Anyway, Basic Apple Guy’s suggestion/prediction turned out to be spot-on. In MacOS 13 Ventura, System Preferences has been replaced by Settings, and it’s not merely a name change, it’s a complete redesign with an iOS-style layout. Joe Rossignol at MacRumors and William Gallagher at AppleInsider have good pieces illustrating the new design.

From what I’ve seen in Ventura developer beta 1, I wish I’d just written that short “sounds like a fine idea in theory but a bad idea in practice” post back in February. But, after bringing this up during The Talk Show Live From WWDC 2022 on Tuesday, hearing Craig Federighi’s take has me more open-minded.

Damien Petrilli:

“What’s new in SwiftUI” session shows the new macOS Settings App as an example of a great designed SwiftUI App 🙃

Mario Guzman:

OS X Mountain Lion was the last Mac OS with a good System Preferences. Multiple sections, labeled sections, consistent icons.

Christopher Grande:

Print dialogs got this treatment as well.

Some good changes, now resizable, printer/app features broken out into discreet sections instead of only being visible one at a time.

See also: MacRumors Forums.

Update (2022-06-10): Sami Fathi:

During the 90-minute conversation, Federighi addressed recent controversy that has arisen following macOS Ventura’s introduction of the redesigned System Preferences, now renamed System Settings. One aspect of the redesign that has gotten noted on Twitter is the removal of videos that demo macOS trackpad gestures. Federighi confirmed during the interview that those videos are coming back in a “new experience” in a future macOS Ventura beta.

Federighi said that despite what some may think, macOS Ventura’s redesign of System Setting was not largely inspired by iOS. Federighi instead said that team’s main goal was consistency for users, saying System Settings on macOS Ventura is a “great interface.”

Update (2022-06-16): Tony Arnold:

Check the overlapping layers of information/hierarchy below, then realise that the top layer scrolls. There are no affordances — you have to scrub for info — it’s mystery meat nav.

Mario Guzman:

Most of these Settings panes also have their Help button at the very bottom of the scroll. Oh, do you want to see what this Pane is all about? Maybe there’s a Help button with more info here somewhere but you gotta scroll to find out!

Update (2022-06-24): Paul Haddad:

Let’s assume that Sys Prefs has to be re-written in SwiftUI and needs an entire new look. Why the hell does it need to happen now? The current build feels like alpha level software, it’s not going to be ready by Fall. Just spend the year making it solid and release in 14.

If you want to use an app to prove that SwiftUI is the future (🙄) of Apple dev, go use Pages or Numbers or Keynote. Any of them would be a far more impressive feat, wouldn’t be tied to an OS release schedule and are easy to keep old versions around if it turns into a hot mess.

I’ve been running into more bugs with System Settings in Ventura Beta 2.

Update (2022-07-07): macOS 13.0 Developer Beta 3 introduces new animations in the Trackpad pane.

Update (2022-07-11): See also: Accidental Tech Podcast.

Update (2022-08-11): Niki Tonsky:

Ok thread of weird stuff found in redesigned macOS Ventura System Settings app.

Mario Guzmán:

We must remember a lot of these are bugs that may be fixed before the final release in the fall.

But the majority of these are straight up abominations because they’re trying to retrofit Desktop UX into mobile UX. This makes me sad because the Mac used to be the shining example.

Marco Arment:

It’s FAR worse than you think.

It looks and works like a quick-and-dirty prototype that should’ve been brought to a design meeting, considered, and ultimately abandoned.

And Apple’s going to ship it.

Previously:

Update (2022-08-12): Nick Heer:

This is, indeed, a thread full of a lot of really weird stuff. There are some new standard UI components in here, but there are definitely some custom elements and behaviours that, all told, make it look like a bad port of an application from a different platform.

[…]

The more concerning thing this time around, for me, is that it is part of a pattern of questionable choices introduced and never re-evaluated because the next version of MacOS will be shown off just ten months from now.

Update (2022-10-10): Daniel Jalkut:

macOS 13 Ventura Beta print panel to System Settings: “hold my beer.”

Arroz:

One of the foundational ideas of Mac interfaces is that content scrolls but UI doesn’t. This is being thrown out the window because for some reason someone wants wide screen 13 to 27 inch multiple display capable devices to behave like 4.7 inch portrait ones.

Guy English:

This whole scroll views to get at more stuff is so very web design centric. Tabs! They existed and were a great idea.

John Gruber:

Yes, MacOS 13 Ventura is still in beta. Yes, it’s probably not scheduled to ship until October or maybe even early November. But the basic fit and finish of Ventura’s new System Settings is just bad. It feels like there’s something deeply wrong with SwiftUI that, even while in-progress, so many little layout details are apparently hard to get right.

See also: MacRumors.

Collin Donnell:

I’ve been an iOS and Mac developer for 14 years. I was a senior engineer at Apple who helped shipped an app that’s in macOS dock and on the iOS home screen. You cannot tell me “SwiftUI is so young!” or “Ventura is in beta!” This is a real indictment of SwiftUI on macOS.

Yannik Bloscheck:

SwiftUI might make some stuff a bit more difficult, but it’s possible to create a great Settings app in SwiftUI.

It’s mostly Apple not caring enough about Settings. Just see Settings on iOS. That’s bad, too. The macOS Settings were good though. So we hold it to a higher standard.

Marco Arment:

It’s hard to tell whether Apple’s recent macOS designs are bad because of SwiftUI itself, or because they seem to have lost the ability, will, and care to design usable Mac interfaces.

Probably some of both.

Jeff Johnson:

The garbage software that Apple ships nowadays — using any and all programming API — is just the natural result of leadership not giving a damn.

John Gruber:

I have the sense that if some component of iOS were getting a complete rewrite like this, and it was still as far away from “pixel perfect” as Ventura’s System Settings remains, Apple would not have unveiled it yet. It just feels like Apple has a lower standard for MacOS fit and finish than for iOS.

Federico Viticci:

Let’s check in on how SwiftUI is going in one of Apple’s professional apps for iPhone and iPad: Shortcuts.

Surely it can’t be that bad after a full year of SwiftUI and in beta 6 by mid-August, right?

Joe Fabisevich:

To me this signals to me that the app is in a bad state due to factors that have little to do with the UI framework. I’ve built more complex interfaces that this in SwiftUI, and the fact that it doesn’t seem to have been touched much in the last year is the concerning part!

Craig Hockenberry:

Spend a couple of hours with SwiftUI on Ventura and you will totally understand why Settings is so damn bad.

At best, this is alpha quality software. Not even close to what you can achieve on iOS/iPadOS.

Steve Troughton-Smith:

Apple’s unforgiving schedules don’t have the capacity to pull off something like SwiftUI w/o dramatically lowering the quality & reliability of its apps. The tech is coming from the wrong place, and being pushed for all the wrong reasons. It is not product-first, and it shows.

Daniel Jalkut (tweet):

On second, third, and many blushes beyond, however, the design of System Settings appears to represent a major regression in overall usability and aesthetics.

[…]

With Apple Silicon, Apple was able pull the proverbial table cloth out from under the exquisite place settings of the Mac, comprising its beloved hardware and software features, while leaving everything standing exactly as it was. That’s quite an achievement.

I think that SwiftUI would be judged as a more successful transition if Apple had pulled off a similar stunt. What if they had approached the challenge by making sure, first and foremost, that every Mac and iOS UI component behaved exactly the same as before? Then, as with the Apple Silicon changes, they could leverage the advantages of the new technology to expand and improve upon the status quo, rather than attempting to replace it.

My guess is that with that strategy they wouldn’t be shipping it this year. If there are so many functionality problems—putting aside design and aesthetics for now—when following the SwiftUI happy path of a uniform, iOS-style interface, trying to duplicate a Mac-style interface would be even harder. But that would have been a good test, because SwiftUI absolutely should be capable of building such an interface.

See also: The Talk Show.

Marco Arment:

One reason (of many) Apple shouldn’t ship the Settings rewrite is that it gives SwiftUI a bad reputation that will last for years, and will scare more developers into writing it off and using other cross-platform frameworks instead.

It’s a long-term strategic mistake to ship it.

Steve Troughton-Smith:

There is a lot of pent-up angst in the community about the erosion of the Mac experience; a lot of it had been pointed at Catalyst, with the misguided assumption that SwiftUI was here to save the Mac. The reality is that SwiftUI is just another way to disinvest in the platform.

Apple let macOS coast on its momentum for a long time while it was distracted with iOS, and as a result we’ve seen a significant deterioration in up-to-date institutional knowledge, skills, core values in both Apple developer material and the wider dev base. Mac just not priority.

What the future of macOS looks like as Apple’s employee base ages out and that care & attention is lost forever? Fresh new hires, who’ve never known a reason to care about the Mac, trying to rewrite key portions of the OS with unforgiving yearly timelines and shaky foundations.

Paul Haddad:

Apple can’t revert to Sys Prefs because it would be an admission that this slide is wrong. So they’ll ship the abomination which will also show that the slide is wrong.

You can’t just defend SwiftUI by throwing the System Preferences 🤮 design under the bus. By all means please throw it under a bus, but the thread of weird UI issues is largely SwiftUI bugs. Native AppKit code doesn’t do those kind of things.

Francisco Tolmasky:

I’ve been saying this since Catalyst: Apple has succumbed to “webdev thinking”. It’s 100% the same logic as Electron: it’s too hard to target all these platforms, especially Mac’s low-market share. At least ReactNative/Electron/Catalyst/SwiftUI let us ship SOMETHING vs. nothing.

That doesn’t mean there aren’t good ideas in these frameworks. SwiftUI has very good ideas! So does React! Arguably very similar ideas… But that doesn’t change the fact that the goal of these frameworks is absolutely not to create a UI that feels crafted for the platform.

[…]

But these “in-house bridge” frameworks like Catalyst and SwiftUI often offer no such tangible benefits to users! Drag & drop sucks in Catalyst apps. Everything looks broken in SwiftUI. They’ve got the non-native feel of 3rd party frameworks… while only running on Apple devices!

Francisco Tolmasky:

Even developing SwiftUI as open source would be better that the current situation. Apple wants to trickle bug fixes with OS updates like it’s some mature product when it’s clearly far from done. Its development thus feels slower AND more haphazard to modern open source approaches.

[…]

And yes, there are downsides to open source, but it’s not like we’re currently getting the upsides of closed source development with SwiftUI! Things like a coherent vision, stability, responsive support, predictable improvement without regressions in random updates…

Francisco Tolmasky:

My fear is that SwiftUI, beyond having obvious problems today, is also unintentionally locking us into today’s UX fashion, since it’s barely capable of properly applying a tiny color to your app, let alone leaving the door open to a new wave of highly creative UX experiences.

BTW, this is coming from someone who thinks SwiftUI-style frameworks are the future. I just think that it’s not fully figured out yet. That’s why it’s the future & not the present. & I don’t just mean not finished or beta, but rather still an area of active research.

Ironically that’s why I think it’s troubling that Apple keeps trying these new frameworks on relatively simple apps like System Prefs. Beyond showing that it can't even do those yet, it also kind of limits the ceiling of what they're tested on before being considered ready.

Benjamin Mayo:

This one is really interesting because you'd have to go out of your way to choose a different chevron style. So I looked up the same screen in Monterey and huh! They mechanically copied across the same icon, even though the surrounding UI was reflowed.

Niki Tonsky:

The act of tabbing out (losing focus) changes suggestions. Web-like levels of polish.

Jonathan Deutsch (tweet):

Quality of work aside, this release represents the most drastic change System Preferences has seen since the Mac OS X Public Beta in 2000. Yet it appears to be mostly re-arrangement, converting meticulously-laid-out controls to long scrolling lists. I liken the visual refresh to an office cube farm – inexpensive for the developer and unmemorable, uncultured, and soul-crushing for the user.

Often when developers convert a bespoke UI to a grid-based UI, it is due to refactoring each item to a common paradigm. This reduces backend complexity and lets all items benefit from central improvements. Unfortunately, it does not look like this was a driving force behind Apple’s redesign. I see no evidence the System Preferences team has rethought OS-level settings primitives or tried reconsidered how users should be able to customize and control their OS. The new System Settings is instead focused on blindly matching the design of iOS, resulting in arguably inappropriate UI patterns for a desktop platform.

It got me thinking… what if System Preferences was reimagined? What could have been better for the last 22 years if it was well-structured under the hood? What might be easier with all settings sharing an underlying setting primitive data structure (even if it is displayed in a cubicle UI)?

Jason Snell:

In my Macworld column tomorrow I mention as an aside the idea of being able to bookmark/favorite settings. If you use startup disk a lot, wouldn't it be nice to get to it fast? But that requires an actual rethink of the entire app.

John Siracusa:

Remember the top bar in Mac OS X 10.0 through 10.3?

Jason Snell:

Mac screens are in widescreen aspect ratios. There’s no reason for the System Settings app to be almost exactly square. (You can actually stretch it taller! But not wider.) One of the biggest confusion points in the System Settings app is that it’s very hierarchical in spots, so it’s easy to get lost. One way to make that less confusing is to embrace the metaphor from Finder’s Column view (Steve Jobs’s favorite view!) and let the app get wider, displaying multiple levels of hierarchy.

Mario Guzman:

  1. Options that don’t apply to my MacBook Pro without Touch Bar appear in search results yet aren’t accessible nor do they appear in the main UI.
  2. Clicking on them does nothing.
  3. Sidebar isn’t resizable; so any text that is cut off is inaccessible.

Mark Munz:

What happened to Advanced options in Language & Region in macOS 13?

macOS 12 let you customize numbers, dates, times.

Riccardo Mori:

System Preferences in Mac OS X 10.6 Snow Leopard. It was much better when the sections had category names. The only thing I would have changed is that “Internet & Wireless” into “Internet & Networks” or “Internet & Connections”. There is nothing confusing or chaotic about this.

Norbert M. Doerner:

“unknown error”. Yeah. Sure.

And why this essential #Spotlight setting is hidden in the “Siri” section?

Howard Oakley:

Apps built using AppKit and Interface Builder in Xcode 14.1 adapt best of all. When run on Ventura, they default to using Settings, and on Monterey or earlier they use Preferences instead, which is really neat. That isn’t true, though, for similar apps built with Xcode 14.0, which stay with Preferences whether on Monterey or Ventura.

Jeff Johnson:

On the macOS 13 Ventura beta, the venerable “Preferences…” menu item has been replaced by the iOS-like “Settings…” menu item in Apple’s built-in apps. The menu item also gets automatically replaced in third-party apps if they’re compiled with the macOS 13 SDK in the Xcode 14 beta. Fortunately, I’ve discovered a way to undo this change and stop the creeping iOSification of the Mac.

Or, you can register the NSMenuShouldUpdateSettingsTitle default as true to opt in while still building from Xcode 14.

Update (2022-10-14): Jonathan Wight:

“Hey you know loss of data can be a major problem and reliable backups are one of the most important ways to prevent that?”

“Uh sure”

“Let’s bury the Time Machine settings 15 levels deep in the new Systems Settings where no one will find it!”

[…]

“Let’s also have it so that when a backup fails, it fails silently and only puts a little red icon in that settings screen we hid!”

Update (2022-11-01): Pedro José Pereira Vieito:

The App Store review team has rejected my app because of a bug… in the macOS Ventura System Settings app… 😅

Maurice Parker:

Now that I’ve actually used it, I appreciate the design decision that was made. I know a lot of people were critical, myself included, about basing the design of the System Settings on the iOS ones. But making it like the iOS ones reduces cognitive load when switching back and forth a lot more than I thought it would. I can find the setting that I want much easier now. […] Because so many more people own an iPhone than a Mac, making Macs easier for iPhone owners to use is a good strategy.

Recall that Federighi specificially said that they were not trying to make it more like iOS.