TIL: System Preferences uses WebKit to drive UI components

There’s no denying that Apple’s UI continually goes down hill in their quest for more cash, but with so many GUI frameworks (AppKit, UIKit, SwiftUI), Apple’s using HTML and ‘special’ CSS keys for System Preferences and that crappy succession to Sound Jam.

I miss the days when Apple set the bar for Good UI & UX, it gave us something to work up to, not down to.


omg, how is this not ripe for exploit?


There is only one word for doing such interfaces: stupid.

What is the problem with creating such simple interfaces in Swift/Objective-C? There are a couple of listboxes and some labels. Are the web interfaces for desktop and iOS? What is the benefit of such interfaces?

They don’t behave like “real” desktop interfaces. My biggest problem with them is that it is impossible to see which element is clickable and which is not.

IMHO the answer is that HTML and CSS, due to it’s dynamic nature makes it easier to build UI that can be used on small screens like iPhones, to iPads and even desktop computers. Sure it sacrifices UX, but all the time people keep buying Apple’s products, Apple’s not going to change as it doesn’t need to do.

Indeed - as an example, open System Preferences / Software Update. Try to hit Command-R to “reload”. You will get a beep. Tab out of the Search field and then hit Command-R. Suddenly it works.

This is the kind of UI/UX problem that always plagued Windows, and macOS was always so much better about. Quality is slipping, and knowing why it’s slipping is interesting (and sad).

I reported a bug a few months ago with System Preferences / Serucuty & Privacy where you could easily get the UI in a confused state, where it was showing one security setting ON but it was actually OFF. This may explain how that was possible…

1 Like

Care to enlighten?

1 Like

My point is that Apple used to be fastidious about UI/UX, and many people have noticed a severe quality drop recently (last decade give or take).

Some of the issues that I’ve noticed personally have to do with things such as the focus being wrong, or UI elements not always reflecting the actual state of the OS. I’ve reported several of these to Apple, but I was always thinking to my self “how in the heck did they get this wrong!?!?”

The fact that they are using HTML/Javascript/CSS inside a WebView explains to me just how it happened, as integration between a native app and hosted WebViews can be tricky.

My other leading theory is that 20 year old interns are to blame.

Why not both? :wink:

1 Like

The answer is in your sentence. Simple explanation:
Engineers who comes from Windows and now working at Apple have that bad habits and implement them in their works.

I recall a macOS beta where when you drop a folder (or a file) onto the Open or Save Dialog Box, the idem moved to the location the dialog shows (instead of opening the location the dropped item resides). It was corrected in the following beta… fortunately.