
Dark Side of the Mac: Appearance and Materials - psionides
https://mackuba.eu/2018/07/04/dark-side-mac-1/
======
makecheck
Frankly, I’m not sure I trust Apple to support this appearance API over time.
They’ve been down this road before.

It’s kind of funny/sad to see how Apple operates with APIs. None of these
concepts are really “new”: they were _there_ , in Carbon, prior to Mac OS 8,
in the days when that OS was meant to support really elaborate themes.

The original theme APIs were huge, and 3rd parties were expected to adopt them
as needed (e.g. using appropriate theme selectors for fonts and background
patterns). For about a year, things looked really cool: you could create a
great Platinum-esque UI for any custom control, and it would fit right in.

Then, they threw it ALL away for Mac OS X, ironically right about the time
when an appearance-agnostic API would make a lot of sense. They didn’t even
bother to update their API implementation to ease migration: really trivial
changes that would have been helpful, like “update the damned
font/color/pattern value returned for X to resemble Aqua”, were not done. This
meant that an app full of seemingly-appearance-agnostic code would look like
_crap_ under Aqua, and you had to _rip it all out_.

And it’s not like Mac OS X didn’t change its look. Heck, for a _long_ time you
could find 3rd party app bundles chock full of images that were there _just_
to implement the Apple-Look-and-Feel-of-the-Week, because the SDK didn’t offer
_any_ reasonable way to do half of what they came up with.

So yeah, _14 versions later_ , the Mac wants to be appearance-agnostic again.
Sounds great. My advice: always have the option of doing your own UI as a
backup.

~~~
Razengan
Windows also lost the ability to have multiple UI styles after Windows XP ->
Vista, and has yet to recover it as far as I know. Microsoft also never
officially exposed the API so you had to use performance-degrading hacks like
WindowBlinds.

In my experience as a Mac + iOS user and developer for the past 8 years, and
for the rest of my life before that on Microsoft platforms, Apple's record has
been much better compared to Microsoft re: abandoning APIs or pulling the rug
out from under devs.

Take NSDocument for example. It has been around for almost 20 years. All you
usually needed to do was inherit from it and adopt its interface and your app
would often get new features for free with each release of macOS, like
autosaving and version histories.

The foundations for multiple UI appearances have been there since macOS 10.10
Yosemite, 4 years ago. They were hard not to notice.

As a user and developer I'm glad they took the time to work out a sensible
implementation that is very easy to adopt now and makes good sense for the
future. It definitely seems to be in a better spot than Windows' support for
multiple appearances currently, if it has any.

If you see the WWDC sessions on Dark Mode, you might come to appreciate the
thought and effort they've put into it:

[0] Introducing Dark Mode:
[https://developer.apple.com/videos/play/wwdc2018/210/](https://developer.apple.com/videos/play/wwdc2018/210/)

[1] Advanced Dark Mode:
[https://developer.apple.com/videos/play/wwdc2018/218/](https://developer.apple.com/videos/play/wwdc2018/218/)

~~~
Illniyar
You can say a lot of things about windows but abandoning apis isn't one of
them. Windows is the king of backwards compatibility, for better or for worse.

~~~
Razengan
DirectInput -> XInput, which dumbed down many of the advanced Force-Feedback
features to the level that the simple Xbox gamepads could support, compared to
the original Sidewinder line of awesome joysticks (another victim of Microsoft
abandonment.)

Often not making many APIs available in their latest programming technologies
like .NET/C# (at least initially.)

WPF, Silverlight, the "Metro" experiment that lasted for a single (!) version
of Windows (8), and great discontinued apps like PhotoDraw, are some of the
other cases that personally affected me.

~~~
RaleyField
> (!)

They changed the name to Modern UI, some reported [1] because it clashed with
their German partner Metro AG. In any case Modern UI started with Zune and you
could get for the time nifty looking media player for it on XP [2]. You can
still see it in newer parts of Windows 10 with its aversion to skeuomorphic
design, preferring text and minimalist 1 color icons.

[1]([https://arstechnica.com/information-
technology/2012/08/micro...](https://arstechnica.com/information-
technology/2012/08/microsoft-metro-out-windows-8-style-ui-in-amid-rumors-of-a-
trademark-dispute/)) [2] [https://archive.ledfrog.com/2011/06/microsoft-zune-
software-...](https://archive.ledfrog.com/2011/06/microsoft-zune-software-
review/)

~~~
Razengan
I was referring to that crippled subsystem with the fullscreen Start
Menu/Screen and the touchscreen-compatible apps that launched from it,
separate from the "full" "desktop" experience, where you had two versions of
IE, Outlook, Skype etc. It was also all you could access on the now-abandoned
Windows RT.

Is that dichotomy still present in Windows 10?

See, it's a confusing exercise to even figure out what their sub-platforms are
supposed to be called. Apparently they are now "Universal Windows Platform
(UWP) apps (formerly Windows Store apps and Metro-style apps)" [0]

Do they have access to the full feature set of DirectX etc.? Do they have
support for multiple appearances, Dark Mode, etc.?

[0]
[https://en.wikipedia.org/wiki/Universal_Windows_Platform_app...](https://en.wikipedia.org/wiki/Universal_Windows_Platform_apps)

~~~
pjmlp
Win32 is kind of legacy.

UWP is what was WinRT on Windows 8, they have just been improving it all these
years.

Of course they have access to full DirectX 11 and 12.

All new APIs are UWP based, and with they learned with the Desktop Bridge for
Win32, they changed their strategy and are now merging UWP and Wi32 into a
single container/store model.

Some of the talks related with it were done at MSBUILD 2018, check MSIX, .NET
Core 3.0 roadmap, XAML Islands, XAML Direct.

If they don't change direction, in a couple of Windows releases they will be
merged, with UWP continuously taking over Win32, like Win32 did before to
Win16.

As for Apple, I can quickly refer to Object Pascal, Quickdraw 3D, JavaBridge,
Quickdraw Java APIs, A/UX, Dylan, Newton, MCL, Hypercard....

~~~
Razengan
If this is to be a simple listout of products and services that were
superseded or discontinued because it made no sense to continue them (as
opposed to breaking promises or replacing them with inferior counterparts),
then on the MS side we have:

Active Desktop, Briefcase, CardSpace, Meeting Space, NetMeeting, Windows
Sidebar, Desktop Gadgets and Windows SideShow (which displayed gadgets in a
secondary screen on laptop lids etc., kinda cool at the time but I never saw
an implementation in the wild), Office Assistant (Clippy in the File
Explorer), Encarta and the rest of the edutainment product line (which were
actually great and often used as a selling point for PCs at the time), XP
themes, HTML thumbnails, the Comic Chat IRC client (my first gateway to social
interaction on the internet), the SideWinder game controllers for PC
(including the Dual Strike [0] which was way ahead of its time), MSN/Live
Messenger, Photo Gallery, Movie Maker, Visual Basic, FoxPro and many others...
:)

[0]
[https://www.youtube.com/watch?v=MShp4F4cUDE](https://www.youtube.com/watch?v=MShp4F4cUDE)

~~~
DonHopkins
Maybe so, but none of yours (or even all of yours combined) are anywhere near
as tragic as the cancelation of HyperCard. ;(

(Although Comic Chat was pretty cool, with all those Jim Woodring characters
and backgrounds, and the emotional pie menu.)

[http://www.mermeliz.com/files/mschat_summary.htm](http://www.mermeliz.com/files/mschat_summary.htm)

One question: After being exposed to Comic Chat as your first chat client, do
you now visualize everyone you chat with and your online environment as if
they were drawn by Jim Woodring?

[http://www.jimwoodring.com/artwork/gallery](http://www.jimwoodring.com/artwork/gallery)

You lucky bastard!

[http://www.jimwoodring.com/wp-
content/uploads/Bastard.jpg](http://www.jimwoodring.com/wp-
content/uploads/Bastard.jpg)

~~~
Razengan
I'm sure the end of Visual Basic (before the .NET impostor) was as much of a
big if not bigger deal for many people as HyperCard. :p

The discontinuation of many of those things personally affected or
disappointed me at the time. I distinctly remember mourning some of them:

\- Losing people who only ever used Comic Chat and didn't make the migration
to other services.

\- The end of offline Encarta at a time when my internet wasn't very cheap,
fast or reliable.

\- Owning some great PC joysticks but not being able to utilize their full
haptic features with newer APIs, before the joysticks themselves went out of
production, when Microsoft's console division cannibalized their PC gaming
division.

\- A cool vector graphics editor [0] that worked better for me than Adobe or
Corel getting discontinued after 2 versions.

The point of this whole thread is developer confidence, and I have felt
betrayed and abandoned by Microsoft many times but I have yet to experience
that during my time on Apple platforms.

Apple's current APIs are impressive and very forward-looking, and the only
times I felt that optimistic about Microsoft was just before they broke their
promises.

Cool link by the way, I hadn't known of Jim Woodring before today!

[0]
[https://en.wikipedia.org/wiki/Microsoft_PhotoDraw](https://en.wikipedia.org/wiki/Microsoft_PhotoDraw)

~~~
AnIdiotOnTheNet
Both HyperCard and VB were really great for personal computing because they
made it relatively easy for people to start making their own tools.

I made my first game with HyperCard, sadly lost to time unless the floppy is
still sitting in some middle-school computing lab's storage room and hasn't
degraded beyond readability.

Even recently I had a hobby project where VB 1.0 for DOS was a quick and easy
way to hack together a GUI.

I'm saddened by the fact that "modern" desktops are increasingly becoming
consumption-only devices. Personal computing is near death and no one seems to
care much.

~~~
Razengan
> _I 'm saddened by the fact that "modern" desktops are increasingly becoming
> consumption-only devices._

I have been lamenting the loss of the ability to code as soon as you switched
on a computer, ever since I moved from a Commodore 64 to an IBM PC clone. :)

You can’t even use $500+ devices as a simple calculator without an “app.”

We need more stuff like Swift Playgrounds, preinstalled on operating systems,
but would people care?

The first thing almost everyone wants to do is open a browser and log on
Facebook etc.

~~~
AnIdiotOnTheNet
Maybe those people are the majority of the market, but that market will be
served by tablets, phones and desktop web kiosks. The market for actual
personal computers still exists, it's just being ignored by everyone because
it is relatively small, like it was before the web made computers interesting
to the current majority user base.

------
TheAceOfHearts
I haven't tried the latest macOS beta yet, but I remember a few years back
finding a minor bug related this: neither Chrome nor Safari handled appearance
/ highlight color changes correctly. If I remember correctly, I think changing
the value wouldn't be completely reflected on any open page until you either
refreshed the page or restarted the app; it was one of those two, but I don't
remember which. Funny enough, I think some colors did change correctly, but
not all. Admittedly, I tested this out using CSS System Colors, which is sadly
deprecated.

I vaguely recall finding a few bugs with Finder as well, where if you switched
back and forth it wouldn't update all colors correctly. Of course, it worked
fine after restarting the app... But if Apple's own apps have bugs relating to
this, it wouldn't surprise me if it's a common problem for other third-party
apps.

Another thing people might wanna try out relating to macOS appearance is going
to System Preferences -> Accessibility -> Display, and enabling "Increase
contrast". It makes some colors look a bit uglier, but I really love how it
makes all UI elements stand out. For anyone that doesn't have macOS, or is too
lazy to try it out, here's two comparison pictures:

* Default appearance: [https://imgur.com/W93o3Md](https://imgur.com/W93o3Md)

* Increased contrast: [https://imgur.com/oocjMPs](https://imgur.com/oocjMPs)

A bit tangential... I'm hoping that at some point you can use a media query on
the browser to test for this value. For example, there's already prefers-
reduced-motion [0] on WebKit. I've definitely seen a GitHub issue at some
point suggesting that a similar media query be added for users that prefer
higher contrast interfaces, but I can't find it at the moment. Unfortunately
when I last checked it didn't seem like there was much interest; as usual,
accessibility features seem to take a backseat with many browser vendors.

[0] [https://webkit.org/blog/7551/responsive-design-for-
motion/](https://webkit.org/blog/7551/responsive-design-for-motion/)

~~~
Razengan
> _Another thing people might wanna try out relating to macOS appearance is
> going to System Preferences - > Accessibility -> Display, and enabling
> "Increase contrast"._

You can also try increasing the "Display contrast" slider (to around the 3rd
notch) while in Mojave Dark Mode, to remove the soft gray from the window
chrome and replace it with truer black.

It affects all other colors of course, but it can improve reading/writing for
those of us burning the midnight oil.

------
jameshart
"Dark Side of the Mac" is a blast from the shareware past...
[http://www.poubelle.com/DarkSide.html](http://www.poubelle.com/DarkSide.html)

~~~
andreasley
"Kaleidoscope" [1] needs to be mentioned here as well. A brilliant shareware
to apply a "scheme" (graphical theme) to classic MacOS. Wanted your UI to look
like Windows, Copland [2] or BeOS? Kaleidoscope allowed you to do that.

Here's a link to previews of some popular schemes (from the Internet Archive):
[https://web.archive.org/web/20060925184709fw_/http://www.kal...](https://web.archive.org/web/20060925184709fw_/http://www.kaleidoscope.net/schemes/schemespotlight.shtml)

Sadly, modern OS will probably never allow this level of customizability...

[1]
[https://en.wikipedia.org/wiki/Kaleidoscope_(software)](https://en.wikipedia.org/wiki/Kaleidoscope_\(software\))
[2]
[https://en.wikipedia.org/wiki/Copland_(operating_system)](https://en.wikipedia.org/wiki/Copland_\(operating_system\))

------
tzahola
There should be a dumbed down version of this page to explain designers (and
sometimes managers...) why the app is not using the exact #353535 grey they’ve
specified in Sketch.

------
shanth
i just read it as "NSA ppearance"

