Original Mac philosophy, yet attention to detail in the UI is severely lacking. The paddings are all over the place, the gradients on buttons and the menu bar are an absolute eyesore, the menus have a 1-pixel white line to the right of the highlight, etc.
I appreciate the intent here and don't want to be overly critical, but this appears to be attempting a nicer UI for FreeBSD. Not a bad goal, but I'd like to see a page somewhere that lists not just the grievances with Apple that led to this project, but also how this project improves on a standard Linux config. Or better yet, a Linux config hardened as much as possible without losing compatibility with its software ecosystem or with Wine/Proton.
Replacing Apple with a more privacy-preserving alternative is not really about UI minutia. UI/UX is mostly solved, for 2D displays at least. Gnome, KDE, Elementary OS's Pantheon, and others all offer usable and customizable variations on this tech that get you 90% of the way to Apple's standard. Incremental improvements in 2D UI/UX are reaching a point of diminishing returns, where it's more annoying for users to have to learn new interaction mechanics than to simply stick with the ones they know, even if the new mechanics are slightly better in some way.
Rather, I think the area that really needs focused developer attention, and with bigger and more meaningful payoffs, is in bringing the most secure and hardened base systems up to full compatibility with the broadest possible application ecosystem/s. The best option for that right now appears to be Linux + Wine/Proton, ideally using a hardened Linux base like Qubes or SEL4 or similar and Nix/Guix-like reproducible builds, while integrating the extensive work already put into existing UI/UX/DE's. I think if hackers want to achieve this objective, then that's where they need to start and build a community around.
I think OpenBSD has a lot to offer in this department: pledge(2) and unveil(2), various kernel-hardening features, and tother https://en.wikipedia.org/wiki/OpenBSD_security_features.
But for mnacOS-like experience, much of this also needs integration with the GUI.
>Rather, I think the area that really needs focused developer attention, and with bigger and more meaningful payoffs, is in bringing the most secure and hardened base systems up to full compatibility with the broadest possible application ecosystem/s.
Do you have thoughts on the idea of HelloSystem re-implementing the Cocoa APIs so that it can run Mac apps "natively"?
They would go the way of GNUStep, always playing catching up and never delivering the full experience of the original.
That would be pretty cool, though they only mention Cocoa once in their entire site [1], so it doesn't sound like it's happening soon.
[1]:https://hellosystem.github.io/docs/search.html?q=cocoa&check...
> Gnome, KDE, Elementary OS's Pantheon, and others all offer usable and customizable variations on this tech that get you 90% of the way to Apple's standard.
And that's assuming that Apple's standard is the 'gold standard'. Which I don't think it is, at all.
MacOS has many inconsistencies, which are remedied or fixed by other desktop systems, and it is not a benchmark to measure by.
I switched to the mac (back before the intel transition) because I became more productive writing apps after ~1 week of hobby fiddling, than I was at my day job doing win32 programming that I had done for several years.
This project doesn't tackle the reason macOS was so great: Cocoa.
I understand that the Supreme Court said in Google v Oracle that the use of APIs is fair use. Does that mean HelloSystem could re-implement all the Cocoa APIs and have Mac apps compile & run seamlessly?
Theoretically, sure! But that's an enormous effort. This is actually what the goal of GNUstep is and has been from the start, and I kind of doubt there's even a single codebase (apart from, maybe, example code) that will compile on both Xcode and GNUstep without major changes.
Edit: To be clear, GNUstep is something like 6 years _older_ than Mac OS X, so it's had plenty of time to catch up. The problem is really that these APIs are constantly changing and being extended. The goalpost is moving far too fast to ever meet it.
Microsoft tried porting GNUStep to Windows as part of the Windows 10 "iOS Bridge". They gave up, which is actually kind of sad.
As far as I know they largely based this on Cocotron[1], without giving credit.
And of course it wasn't so much "giving up" (which sorta implies it was the difficulty of the task), but more "losing interest", because they discontinued Windows Phone, where they were behind Apple's iOS in terms of market share. In that context, getting iOS apps on their system is economically interesting.
On desktop, Windows is way ahead of macOS in terms of market share, so there isn't much of a point.
There was actually an official implementation of OPENSTEP for Windows NT. And later on, you could still get the runtime (called Yellow Box) via WebObjects for example. Not sure if it still exists anymore nowadays.
On the heyday of trying to cater devs into WinRT, Microsoft had a couple of projects:
- Project Astoria[0], for porting Android apps
- Project Centennial[1], for porting Win32 apps
- Windows Bridge for iOS[2], for porting iOS apps
Project Astoria was later rebooted into WSL, and now with Windows Subsystem for Android we are back at Astoria's original goal.
[0] - https://en.wikipedia.org/wiki/Windows_10_Mobile#Project_Asto...
[1] - https://blogs.windows.com/windowsdeveloper/tag/project-cente...
[2] - https://blogs.windows.com/windowsdeveloper/2015/08/06/open-s...
Ok, I'm very much paraphrasing from "shit I read on Wikipedia", but WinObjC does exist and it did use parts of GNUStep: https://github.com/Microsoft/WinObjC/issues/116
Well, there is the Darling project. https://github.com/darlinghq/darling
Considering Wine and ReactOS exist, I assume that'd be doable.
You would have achieved the same via Delphi, C++ Builder, VB6, .NET.
I do Windows since version 3.0, and very seldom have touched raw Win32 other than for some university projects where I had no choice to do otherwise.
Having said that, NeXT and Apple frameworks are great.
.NET wasn't even close to ready when I tried it back then. The very first thing I tried (a customized table/listview) was directly enormously inferior to the corresponding class in Cocoa.
I have a rule that if a platform fails the very first thing I try, I'm gonna assume it can't really be awesome for all other things, statistically :P
I was kind of hoping this was something based on MacOS 9-.
Sort of reading it as "Original MacOS Philosophy".
In the early days, there actually was a "better" MacOS. It was the Apple IIGS. The GS system software was second stab at what was MacOS, but with a bit of "clean slate" ethos to it to fix some of the early issues.
Its hard to appreciate the marvel and hoops the system and the developers had to jump through on early machines that lacked memory protection. The IIGS was a nice little sojourn further on in trying to make that kind of system a little bit better. The IIGS memory/process manager (which is kind of the heart of all of this) on top of the 65816 is a pretty neat piece of kit.
IMHO the "better" MacOS was the LisaOS, and came before the Mac. Cooperative multitasking, memory protection, task/object oriented user interface.
MacOS took much of the concepts, but was deliberately made "worse", so it could fit in the Mac's tiny ROMs, and not use an MMU. It was built as if it was a one-off with no serious consideration for the future (not an uncommon theme in the time, many companies hadn't really caught onto the "platform" concept yet).
(Re: the IIgs, building an elegant OS on the 65816 is annoying as hell with its banked memory architecture, tiny stack that can only be in the bottom 64k of RAM, poverty of registers, and lack of e.g. memory protection mechanisms. But the IIgs stuff was really a valiant effort, pretty cool.)
> I was kind of hoping this was something based on MacOS 9-.
I miss proper spatial navigation sometimes. As a Windows owner I was often envious of MacOS up 9's spatial navigation. I briefly had my own spatial navigation on devices I owned in OS/2 WARP and that one time I was running Gnome-based distributions when Nautilus still had a somewhat buggy spatial navigation mode (which I admittedly compromised some of the design reasons behind spatial navigation by eventually switching to a tiling window manager). When I was old enough to finally own a Macintosh and a PC I was disappointed that Mac OS X had dropped some of the things I liked when working on a Macintosh such as spatial navigation.
Could you explain what is meant by "spatial navigation"? Searching the web for that term and even including "mac" in the search terms doesn't reveal it for me.
Spatial navigation is the idea that folders and files have a consistent "place". The basic idea is when a folder opens back up exactly "where" you left it (window position, size, background wallpaper, other details) and files are arranged inside them however you want to leave them without necessarily adhering to a grid or a standard order or anything like that.
There are definite trade-offs to it: manually arranged files and folders without strict grids can create a lot of cluttered "mess". (Add to that ideas of custom per-folder wallpapers and the "mess" gets even more chaotic.) It can be confusing if you aren't expecting it, and teaching it is sometimes hard (even though some of it is more "intuitive"). The mess can sometimes hide/"lose" important files.
But the interesting benefits to it involve sometimes superior muscle memory for frequently accessed folders, a better recall of "where" you left things, and somewhat better uses of some of our human visual data processing systems for visual wayfinding via distinct "landmarks".
Yeah, it mattered a lot more in the GUI days where your file browser was also your document manager was also your application launcher. There's a lot of reasons Windows never really supported it (depending on one's view of Windows 3.x's half-hearted mostly wrong attempt, Active Desktop, and/or Live Tiles, of course) and all of the best known spatial navigation tools are long gone today. (Even GNOME's Nautilus spatial mode was removed more years ago than I would like to admit it has been since I once briefly heavily used it.)
Still, though, getting back somewhat on topic, I sometimes wonder what an OS with modern underpinnings committing to older GUI principles like spatial navigation might look like.
The classic Finder offered a list view, in addition to the spatial view, and there was a "clean up" command to tidy up the icons if they got too chaotic.
I really liked it; I miss just... knowing where everything on my system lived, by feel. It was like the concept of a "memory palace", built into the system.
I think along the same lines, well, not the living in a terminal bit, but have worked with people who would probably be described as neurodiverse that absolutely hated files moving from the order they'd left them in.
Xcode projects still keep files in the order you leave them in, unless you tell it to sort them. I'd guess 99% of people, like me, sort a group every time they add a file though.
I just happen to know that John Siracusa has been talking about it for two decades
https://arstechnica.com/gadgets/2003/04/finder/
And an HN thread about it:
Reminds me of PrismWM.
https://old.reddit.com/r/unixporn/comments/jvnzkb/prismwm_in...
Something like it would be a revival of the OS9 theme and philosophy.
Unfortunately the thread was started 2 years ago with no reference to a public repo and no updates from the author since. Maybe it was always vapourware :(
It doesn't really say what parts of the MacOS philosophy it's aligned with. Seems more like riding on coattails. What is listed are a number of differences that apply to most any Linux/BSD distro. I think 'philosophy' here means surface appearance of the desktop.
And if it's about openness, why link to the branding pages rather than the source repo? I couldn't even find a link searching for 'source' on the page.
Sigh, here we go again. These keep popping up and a few months later the projects are dead again because it turns out this isn't all that feasible without both massive engineering capacity and an ecosystem to go with it.
Most of them that manage to get to the point of a UI that doesn't look like Fischer-price fail on the ecosystem (i.e. they have no ecosystem at all, or they try to shoehorn an existing one on top like a standard ports/apt/yum repo from another distro).
Besides that, the FUD in the README doesn't really help anyone since the masses care very little, and even if they did care, they almost never have what it takes to look at the sources, and even the small subset that does is practically not even checking a single package's sources.
If they just stuck to a "we want something that feels like 2005 apple" tagline it would have been a fine project to fiddle with for fun, but as soon as grand statements are made ("reinvent the Mac") we're back into generic "things few people care for"-territory.
Agreed. And even in their cherry-picked screenshot there are several UI bugs/inconsistencies that would drive me insane as a daily user.
I'll just take KDE plasma.
I'll be good if that Linux install I did in maybe 2000 that used full-screen Navigator as the file manager and desktop itself came back to life.
Ah yes the whole "we are going to reinvent this", when "this" has taken decades and 100s of millions of dollars to build. I appreciate the efforts, but good luck.
OS X "Aqua" theme, 20 years on, looks dated to me in a way that the 40-year-old Susan Kare-era design of the original Mac OS does not. I can't put my finger on why, but I think it has something to do with "arbitrariness".
While it was garish its purpose was to stand out and attract attention so the the Mac wouldn't die. It worked. I think the toned down version of Aqua released only a couple of years later for Snow Leopard still looks pretty good today.
https://en.wikipedia.org/wiki/Mac_OS_X_Leopard#/media/File:L...
I always preferred the 'platform' for the Dock vs. the background we currently have.
I do wish windows rolled up into a bar like MacOS Classic did it.
Looking at that picture I'm reminded of how sursprised I was (still am!) that they used a picture of an actual bare Hard drive on the desktop to represent the internal disk.
Surely hardly any users even knew what a hard drive looked like outside of the computer case, but there it is on the desktop, seemed like a very un-Apple thing to do.
I don't think "modern" flat UI designs will fare any better with time, and maybe even worse. Already, the earlier variations of flat UI (Windows 8, iOS 7, OS X Yosemite, Material 1.0) to my eye look more dated than Aqua during its prime (OS X 10.6-10.9) does.
Aqua had a lot of aesthetic positives. 3D skeuomorphism blends more easily with the real world compared to flat UIs, which lack presence and make computing feel less tangible and more disposable.
You could easily manipulate the scroll bars in Aqua, which is a useful feature that has been lost in recent updates.
And it was just plain fun and relatable, while flat UIs are more corporate and functional.
Flat reminds me of 1950s/mid century corporate design - inoffensive, but claustrophobic.
There's a happy medium, though. Overly-photorealistic controls are actually counter-productive, especially when incompetently chosen. For example, at the height of Apple's cheeseball skeuomorphism was Game Center, which featured such things as "velvet" card-table surfaces with "painted" labels on them... but those labels were actually controls in some cases. Now who sits at a blackjack table and tries to interact with the paint on the velvet in front of him?
Another example was the "LCD" display at the top of iTunes, depicted as having a transparent cover over it with a sheen and highlights. Unbeknownst to most users (I suspect), some of the labels in that display were actually clickable controls. WTF? I've owned numerous audio components with displays behind clear plastic windows, and I've never tried to poke at one with my finger.
I think mid-'90s GUIs hit the right combination of graphical (not photographical) with universal visual cues. Buttons had only three or four monochrome shades, but had beveled edges whose shadows inverted when the button was "depressed."
I'm glad to see some backlash against the lazy obscurity of "flat UI," and a return to some proper demarcation of controls.
Oh yeah, I'm not lumping icons in with controls. Their icons were fine.
Oddly, Game Center is missing from my phone, so I'll take your word that the new icon sucks. I like to scorn the Photos icon: a multicolored Spirograph. Why?
I agree - I love the old '3d' interfaces, and Aqua in particular. The new 'cell phone' interfaces are just a PITA. Really hard on my old eyes - no real indication/border around buttons, no color cues, often not even a place to grab the window and drag it around. Everything is just the same drab shades with no differentiation between elements.
As the 'cell phone' folks get older and eyesight gets worse, I think we'll see things shifting back. I basically don't use a cell phone for anything except 2fa cuz the silly lil screens are too hard to read.
Hot take: the current mobile flatness we see all around mostly serves dark patterns schemes and it's anti-user by default. It's easier to hide options within an interface that has no clearly distinction between link and the button, the interactive object and just the decoration. That helps trick users to pick something they didn't want or make them keep the defaults that works against them.
And by the way, may I suggest you try to search on the Internet what GNOME desktop environment developers did to theming with their libadwaita and flat Adwaita design. For a start: https://www.osnews.com/story/133955/gnome-to-prevent-theming...
> web pages where every pixel is some sort of link/hotspot
Or while trying to copy a link or text on page - you gotta grab it perfectly otherwise everything else gets selected. So you're maneuvering like under microscope at the very beginning or end of the text.
Similar thing I'm experiencing on Xfce: some themes use this very slim window borders which are almost impossible to grab to resize. And since there's no grab to resize widget in the bottom right corner (it used to be once a standard, I'm pretty sure), upper right corner near the close button is the way.
libadwaita disallowing themes is not a user-hostile decision (rather an accessibility one), nor are themes impossible. https://blogs.gnome.org/alatiera/2021/09/18/the-truth-they-a...
I was always camp KDE - but that libadwaita thing sounds horrible... Maybe Rasterman is due for a comeback - enlightenment desktop looks pretty nice!
I think I have some cognition issues, and can only read eink and off of crisp OLED. Love touch screens, pointers etc. But don't much like Apple iOS style.
Oh God I am still pretty fat fingered on a phone. But I do like the 'tactile' simplicity. I still think touchscreen UI / OS is in its infancy, and could be better. But am amazed in some ways that it's as good as it is.
You should look at them on a monitor from that year to get the right impression in either case. Aqua especially will look weird on a modern actually-good LCD or OLED.
I think the opposite. The Metro UI of Zune and Windows Phone from more than a decade ago still look so futuristic. They feel like sci-fi screens. The design language may not have been adapted to desktop in the best way, but they look great too IMHO, especially after Windows 11 overhaul.
I think arbitrariness is a good way to put it.
Was in an era when full colour bitmap graphics were becoming effortless to draw on screen, so let’s make EVERYTHING a high res texture! That will prove how modern and powerful this machine is! But now, it’s less impressive so the sheen doesn’t sparkle as much.
Where as maybe the older 1bit display of an old Mac isn’t trying to sell you anything thru UI fancyness. The fact that it’s not impressive technically is maybe less of an issue when it was obviously not the thing they wanted you to focus on.
Reminds me of NeWS [0] which was a Window Manager driven by PostScript. [0] https://en.wikipedia.org/wiki/NeWS
Fully agree. It's the same 'bubble gum' look as Windows XP. What were they thinking with those buttons and scrollbars?
On the other hand, MacOS9's UI style has aged remarkably well:
https://guidebookgallery.org/screenshots/macos90
(minus the media player, ugh)
"lickable" I think was the phrase Steve Jobs used for it.
Remember that Apple had just made a killing selling jelly-bean aesthetic iMacs (running classic Mac OS 9, even). The Aqua stuff matched the physical case design of those machines.
It all goes along with the late 90s / Y2K times, intense colours. "Run Lola Run" and Fifth Element and late 90s club culture and whatnot. Nothing restrained about that era in terms of style. It was boom times end-of-millennium and that aesthetic continued even for a bit after the .com crash and 9/11 deflated the tires.
Also as others have pointed out, it had to do with "we can do this now'; the graphics hardware and the software stack (showing off "Quartz" etc)
Funnily enough I was playing with a couple of old PowerMac G4s a couple of weeks ago (actually wiping them for disposal - though I've since decided to keep at least one!)
I realised very quickly that I'd forgotten how good the OS9 interface is, and how well it stands up against today's offerings. Trying out a lookalike theme on Linux [1] is definitely on my todo list:
Around 2000 was peak usability in terms of UI design for both MacOS and Windows.
Modern macOS is remarkably usable compared to that time, especially with a few tweaks in place (Magnet app for window management, three-finger dragging, etc.)
It's really easy to forget how far we've come. Going back to an old OS and trying to get some real work done can be eye-opening.
I'm still waiting desperately for some DE to get back to this. GNOME 4x has in some ways but obviously not in others... Please someone re-make an OS 9-like UI for me.
mlvwm is available and also works on modern *nix. (worked on gnu linux and freebsd at least) https://github.com/morgant/mlvwm
I spent large parts of my life with System 7/8/9, but looking back on it now, you'd have thought Apple would have designed a better italics...
Hard to do on such low resolution displays where every single pixel stands out. It would have been better to avoid italics completely in most of the UI.
One part is that the original OSX pinstripes-and-water Aqua and the brushed metal look that followed were extremely distinctive, and comparatively short-lived. That combination makes them inherently pinned to their period. The classic Mac OS design was comparatively blander[1], and changed more slowly.
[1] What was it with 90s and having medium-grey be dominating UI color? And everything having faux-3d bevels?
> What was it with 90s and having medium-grey be dominating UI color? And everything having faux-3d bevels?
In the 90s, most large software companies (especially OS vendors) would run usability studies with real-world users at a variety of skill levels to try to make their software as easy to use as possible. Everyone used medium-gray as the main UI background color because it makes colored elements easily stand out, and doesn't affect an element's perceived color. Everything had faux-3D bevels because they make it obvious which elements are clickable, and which aren't.
I… don’t believe this. Reviews of the day were preoccupied with drooling over the graphics capabilities, given that it’s a mostly-objective thing to compare and were often the only visible thing that changed in an OS release. If you look at the embellishments that UI picked up they evolved in lockstep with the capabilities of the hardware. As soon as there was sufficient color depth for shadows, then shadows were added. Once that expanded to sufficient color depth for gradients, then gradients were added. Same with transparency. Once MS Windows got a GPU compositor in Vista we got “glass”.
It's the same thing as with lens flares or god rays in 3D games. There were phases where every game had completely overdone lens flares or god rays. Eventually the madness ends and designers are coming to their senses again (until the next madness starts).
Colours were pretty crap on CRTs. And greys were better on the eyes than dazzling whites. Even Netscape defaulted to grey.
I took fvwm and a very simple blue bar, trim and simple window buttons. And weirdly now it looks pretty modern and fresh.
Anyway there's always the bizarre windows fisherprice theme, and over used chrome gradients there to help you bring up some bile.
Even modern flat design has gone back to (subtle) 3D hints.
As for the medium-grey: I guess that had mostly to do with the properties of CRT displays.
NeXT
...Sun, SGI, OS/2, AmigaOS 2.0 were all "grey desktops" with 3D bevels, Next was hardly standing out there.
AmigaOS 1.x had a blue background color, but this was mostly because home computers were used on cheap TVs at the time, where white-on-blue seems to have been the color combination that gave the least video artefacts and flickering.
It is possible we haven't hit the right part of the nostalgia cycle with the OS X Aqua theme.
Classic Mac looked equally good to me 20 years ago.
Which era of Aqua are we talking about here? I generally group Mac OS X design into four broad buckets:
• 10.0 - 10.4
• 10.5 - 10.9
• 10.10 - 10.15
• 11+
I was referring to the earlier iterations, with "shiny" buttons, lots of gradients, etc.
11+ to my eyes has more of a "timeless" potential. It's a bit more utilitarian, less showy and particular.
The early Aqua look and feel was informed by the industrial design of the Macs running it. Consumer Macs were very colorful up until about 2003 and had a lot of the texture effects the Aqua L&F was emulating.
Wasn't only the first of those actually called Aqua? I don't recall exactly when Apple officially retired that designation, but it was well before the current era.
Internally, even the current UI is referred to as Aqua. Or more specifically, aqua and darkAqua, depending on if dark mode is desired.
https://developer.apple.com/documentation/appkit/nsappearanc...
I don't know, but I've seen some people use "Aqua" to refer to the design through 10.4, through 10.9, or through the present day.
Agreed. The more idiosyncratic aesthetic features, the more something is marked as associated with a point in time.
Cf. shaker furniture and Amish furniture vs. mid-twentieth-century furniture.
I wonder what Mac OS X would have looked like if Susan and Bruce had been given access to the power of a G3 and millions of colors instead of chunky bits.
I imagine it would have looked like a very, very well-designed iPhone app: soft and welcoming, yet with delightful new features that became apparent with use, and serious functionality that would stay out of the way until it was needed.
I bet MacPaint would have looked a lot like Paper or Procreate.
You mean System 1.0? The designers of Mac OS X did have access to the power of a G3 and millions of colors :-)
It's a very interesting question, and honestly, I don't know how good it would have looked. I know what a lot of websites (including Apple's) looked like when designers had access to full color, bevels, drop shadows, etc. They looked terrible. I think those technological limitations—no color, almost no RAM, no hard disk—are one reason the original Mac GUI looked as good as it did. There just wasn't room for anything else.
That said, the primary reason why the first Mac OS was so tasteful was because Susan Kare is an excellent designer, and would probably not have made the mistakes I described above. (The Lisa had all those limitations too, and an extremely similar feature set, but if you compare the Lisa GUI to the Mac's, it looks a lot rougher and more inelegant. Kare was not involved with the Lisa, and it shows.)
So who knows. I'd love to see someone reimagine the original Mac OS using a more contemporary design language; would be an interesting experiment.
(Also, if you meant Bruce Horne, he was a software engineer; he wasn't involved with the visual design as far as I know.)
I would like to see a system that acts like classic System 7, too. Less Unix sludge, more focus on a single interactive user. More explorability, more hackability. A computer that feels like your computer.
I'm not sure that the Spatial Finder needed to die; the standard excuses (we have too many files! our displays are too large!) feel knee-jerk and not well thought out at all.
Heh, I mean, sure? I liked it all, but I feel like the feel of it is what's missing, more than any one specific implementation, if that makes sense?
Sorry, my mistake. I meant the original System 1.0 but instead of a 68000 processor they had a G3 and accelerated color graphics.
And the Bruce I was referring to was Bruce Tognazzini.
Aqua certainly matched my indigo blue iMac G3 perfectly back then (around 2000?). I sometimes miss these systems... not in terms of performance of course, but the whole experience was beautiful.
Things first get old, then they become antique
Dated or just plain worse?
Unix-like WMs and DEs have an unceasing fascination with replicating the Windows and MacOS UIs. But one of the things that made MacOS/NeXTSTEP noteworthy was its out-of-the-box thinking. It would be much better to experiment with what the UI could be rather than copying what it was.
To some extent GNOME seems to be doing this. I haven’t used Windows in too many years to count. But as I recall it, the GNOME of today bears little resemblance to it. Keyboard focused, minimalistic, yet has a modern aesthetic and it is multi-monitor ready.
It would be good if there were more DEs that were courageous or experimentative enough to follow suit and break with Windows and MacOS UIs. Do something that’s different. Something that’s neither GNOME nor those things. That would be the original Mac philosophy.
They never replicate the developer experience, of whole stack frameworks with quite nice productive tooling and modern languages.
I guess nowadays KDE is the only one that comes close, GNOME doesn't really know what they want to be and everyone else never cared about full stack experience.
The way pixels are rendered is a tiny part of the OS experience.
Related:
HelloSystem - https://news.ycombinator.com/item?id=28733897 - Oct 2021 (39 comments)
Hello system, a FreeBSD-based OS designed to resemble Mac - https://news.ycombinator.com/item?id=26092040 - Feb 2021 (267 comments)
Hello: Let’s make a FreeBSD for “mere mortals” - https://news.ycombinator.com/item?id=25112820 - Nov 2020 (1 comment)
What's the permissions model like? I'm on board with
"Because we want to run apps from unidentified developers that need no blessing by the operating system vendor"
but I also don't want that cool calculator application I just downloaded have access to the network, my webcam or microphone, my photos, email, or really any files outside of the ones in its directory.
I do have nostalgia for the way computers used to be, but there have been a lot of OS improvements since then that I don't want to give up.
I agree that third party applications shouldn't be given carte blanche by default. Third parties are best assumed to not be well-behaved, because it's been proven many times over that devs can't be trusted to keep their hands out of the cookie jar and to follow best practices (which I say as a dev myself).
The extent of moddability and control afforded by Mac OS 9 extensions with their ability to patch the OS itself in memory as they pleased was incredible, but it was ridiculously insecure and unstable which makes that model untenable today. Applications having full access to everything is no different.
> but I also don't want that cool calculator application I just downloaded have access to the network, my webcam or microphone, my photos, email, or really any files outside of the ones in its directory.
I think that the way to do should be capability-based security with proxy capabilities, and that can be controlled directly by end users. (The existing ways (user accounts, existing sandboxing systems, etc) have many problems, in my opinion)
However, I think this HelloSystem is based on BSD so it would use POSIX. (EDIT: Now I found apparently FreeBSD has a capability mode too, so maybe it can use capabilities.)
Can't agree. The solution to this problem historically was to only download a shiny new calculator app from trusted sources. So only official builds of open-source or software made by reputable software companies. Too limiting for many people though, in particular techies.
I've been using a Mac since 2013 and I've become so distanced from everything else that a few weeks ago I was surprised to hear that Windows 11... exists.
Before then, I spent a considerable amount of my teenage days trying to make various Linux distributions look like OS X.
This doesn't really feel much more than what I did back then.
The reason we prefer a Mac is because the whole ecosystem works the same way, follows the same guidelines and, most importantly in recent years: because if you bought yourself into the Apple ecosystem, it just works together.
One example which HelloSystem will probably never be able to do: I open an authenticator app on my iPhone, tap the code and then just hit Cmd-V on the Mac. I do this several times a day. _This_ is the Mac experience's edge today, not the rounded corners and whatnot.
Curiously the example you mention is exactly what you get by using Linux with KDE and an Android phone using KDE Connect.
The hero here I see, that isn't shown on that page is Application Bundles. Being able to drop a single .app in the Applications folder and have it work is one of the biggest selling points of macOS imho.
https://hellosystem.github.io/docs/developer/application-bun...
The docs page have a lot of interesting technical details that the linked page either gloss over or do not touch. It's worth a look to see why this is seemingly more than a skin on FreeBSD.
>Easily be understood by switchers coming from other operating systems with similar application distribution formats
Interesting use of the plural form of _operating systems_ here.
I am very attracted to this idea. I want a clean desktop daily driver that prioritizes UX.
I love many of the UX-focused priorities, but a much larger % of their priorities such as Linux vs FreeBSD aren't high for me and don't seem end-user focused.
An interesting idea I had never thought to question was considering "App Stores" as package managers.
"Package managers for end-user applications: Those are aimed at "managing the system", whereas everything that is to be managed on our system can be managed in the file manager and/or other GUI elements. --> Use package managers to produce a system image, which is considered immutable for the end user (like on almost every embedded system/software appliance)"
https://github.com/helloSystem/hello/wiki/Welcome-and-unwelc...
Good food for thought. Elsewhere they criticize App Stores for their commercial and centralized aspects. But I don't really see an issue with Ubuntu's App Store. It is just a GUI instead of only offering CLI, right?
While I fully agree with the privacy reasons, I frankly think new flat design UI is much better and cleaner.
Whenever I see something from pre-flat era either on macOS or iPhone, I want to vomit.
The Readme so busy explaining what Apple are than what's this about.
It feels like if they really wanted to go for the original Mac philosophy, it might've made more sense to use something like GNUStep as the base instead of Qt.
There's even some precedent, but it never really took off: http://etoileos.com/etoile/
The mac (nextstep?) philosophy contains at least building blocks for common UX tasks, Cocoa, which gradually grew over the various versions of OS X. I remember being quite astonished about what you could do with an array controller or two: parts of the UI practically wrote themselves. And it was all consistent across apps.
"Qt on FreeBSD" simply isn't the same, even though it may have copied the rounding and color of the buttons. I get that GNUStep simply isn't there, and will never be, but this looks like three raccoons in a trench coat.
Yeah I feel like this project should've tried to get GNUStep to a usable state instead of putting a skin on top of Qt.
IIRC the problem with GNUStep is that it got stuck at a version of Objective-C and Cocoa/AppKit roughly equivalent with that of OS X 10.6 and would take a lot of work to even catch up to modern Obj-C and Cocoa, let alone get Swift integrated into.
Which proves the point that this project will never be the Mac philosophy.
Might make sense to change the title? It's making a claim that the website itself doesn't -- it just says "Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!"
"Original Mac" this is not. "Original OSX", maybe.
Will have to dig into this. Seems pretty, would be nice to pick apart the API, looks like Python with PyQt is what most utilities are written in. The crux with not being mac/windows is driver performance. It's a bummer it takes such a massive effort to support hardware.
Supporting hardware is pretty much what operating systems are supposed to do. Computation always supports some human end. Humans are doing a lot more with their hardware these days.
It’s based on FreeBSD so maybe the driver support isn’t too bad (?)
Correct, compared to Linux it's a redheaded step child. I love FreeBSD and the resources behind Linux are enormous. I wish things turned out differently in the 90s. Total tangent: If I had Musk level funding to allocate for a pet project it would be Haiku. A purely single user desktop focused OS which happens to featured grafted on FreeBSD hardware support. I'd love to throw a meager billion at it and shake things up ;) I do all my real work on servers as it is and FreeBSD is viable for hardware, just look at the PS4, so no shade at pulling drivers where you're able to.
>Modern Architecture
I wouldn't call FreeBSD (or any UNIX(1971)-like system) modern.
A modern architecture would be something like Genode[0], a multi-server system built around the concept of capabilities.
FreeBSD does have Capsicum [0] though — with file descriptors as capabilities. FDs can be passed between programs over UNIX datagram sockets.
Processes can enter "capability mode" where only open (or rather: active) file descriptors can be used. There used to be an alternative runtime for FreeBSD called CloudABI [1], with which native programs could be started in capability mode, but it was discontinued in favour of WASI [2] (server-side Webassembly) — which adopted CloudABI's libc API.
0: <https://www.cl.cam.ac.uk/research/security/capsicum/>
It does and that's great, but it's not the root from which the system is constructed.
FreeBSD is a clone of UNIX, and all it takes is a single kernel bug for the system to break down as a whole. Yet, considering the kernel's size, it's not hard to extrapolate that there is far more than one bug.
This is not a very good architecture. In 2023, it is very far from the state of the art, and absolutely cannot be called modern.
That's probably why NeXTSTEP and Mac OS X were partly based on a mix of BSD and the Mach microkernel. Not sure of how much of that is still in current incarnations.
I guess that applies to all mainstream operating systems
The word "modern" is just marketing fluff at this point.
Honestly I really liked Aqua. Flat UI may be easier to work with (debatable) but seems so characterless.
Something to be said about the right amount of chrome in your UI to remind you "where you're at" instead of getting lost in the content.
Much as I respect and appreciate these efforts in maintaining compatible alternatives to canonical Mac OS X and Mac OS XI, in modern days I would prefer to run Mac OS X/XI applications in my GNU/Linux system over some compatibility layer (FoundationLibc, CorePulse, PicQuartz, Melkan, etc), because, in the years after leaving Mac OS X, I have establish new workflows which are mainly GNU-based.
I still want GarageBand and perhaps Processing / Glyph, but I prefer embedding those Mac OS X/XI apps in my GNU workflows. Rebooting to another OS wastes time and virtualization has performance penalty; neither is fun.
How can it have an original Mac philosophy, when it lacks the UI/UX polish and OS frameworks for every level of the programming stack combined in a single development experience?
Relatedly I wish Mac's "mission control" and "app expose" was better, becomes difficult to find frequently used windows.. seems to place windows in random places. It'd be nice if it made it easier to see browser tabs.
I liked the the UI/UX of David Gelernter's "Scopeware" layer, that seemed like it would be a nice alternative to either of those.
I use Spaces a lot with Mission Control and now Stage Manager. Anything that's vital gets a full-screen space and I can just swap between them with a swipe or with Ctrl+L/R. It's very quick and I never need to search for windows outside of 2 or 3 swipes. I've also turned off the automatic ordering so my calendar is always the last swipe and my email is always the first.
I'd like to see a return of Spaces as they were in OS X 10.6, where they could be arranged in a 2D grid. That felt really nice and no desktop environment to date has reproduced it exactly, though a few Linux DEs get close.
More discussion:
a year ago https://news.ycombinator.com/item?id=28733897
2 years ago https://news.ycombinator.com/item?id=26092040
I think a much better approach would be porting Pantheon to FreeBSD, and patching Pantheon to allow a global menu as an compile-time option or user configuration.
All the other stuff can come later. IMO it's a bit overly ambitious (I'd be happy to be wrong!) and I fear it dying prematurely.
Does this project make more sense as a desktop environment, rather than an operating system? That'd allow focusing more on the Mac philosophy for the user interface.
Please don't quote Snowden as some authority on privacy
What is this using as it's GUI, and file manager etc ?
It's using Qt and they're writing their own file manager. I didn't check whether they're starting 20 years behind by using X11.
Are you suggesting they should have chosen Wayland? I think they have a good argument against it:
"Wayland: Under development since a long time, it offers no clear advantage over Xorg while it makes things more complicated (e.g, breaks screen recording) --> Use Xorg instead, or (maybe even better) no X server at all but pure framebuffer (like *ELEC does for media centers). Also see https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d... "
https://github.com/helloSystem/hello/wiki/Welcome-and-unwelc...
If you think those are good arguments then... enjoy helloSystem I guess.
Those apps just haven't been updated to use the proper APIs.
> simplicity, elegance, and usability
Yet it copied low usability UI elements such as global menu bar and that big ass wasteful dock. What is the innovation here?
Tried it, it's far from alpha. Too bad, I hoped it would at least recognize my hardware. (wifi card and gpu not recognized)
I doubt this is going to be practically useful but the manifesto is worth reading.
I tried to run it in VMWare and VirtualBox and it just kept on rebooting the VMs.
What exactly about this is the 'original Mac philosophy'?
The readme seems out of date - the privacy issue for CSAM is essentially not an issue anymore - Apple has no plans to do on-device scanning.
Correction, Apple has given no public commitment to completely shelve their on-device scanning. There's no guarantee they won't try boiling the frog with their CSAM scanning plans.
I wish they would enable the CSAM scanner for children’s accounts when parental guidance is turned on. That makes so much sense. If my child is being abused I want to be notified. But instead they shelved it because they couldn't get their spyware installed. Shows how much apple really cares about children and how much they care about spying on us.
The simple sad reality is that Apple's attention to detail was difficult-but-doable...in 1984, on lower resolution screens, in monochrome, on computers that did substantially less, when riding high off Apple ][ money, with radical vision, for hand-selected elite full-time workers being crunched to the bone by said radical visionary.
I'm not sure if all the ingredients necessary to brew up that magic could ever come together in quite the same way again. HelloSystem is dealing with a vastly harder problem with vastly fewer resources; it's no surprise that they're not there.
Whoa, whoa, and whoa.
The technical hurdles they had to overcome - despite targeting lower resolutions, non-color screens - was considerably higher and more impressive because none of the scaffolding was there to support the work, and the system resources were also far, far less. You're significantly discounting that effort. It's also worth reminding you that — even among the engineers who left or felt too much pressure — nearly all of them say the emotional investment was both necessary and worthwhile in retrospect. There are very few ex-Macintosh-team detractors in the world.
Taking nothing away from this open source project, but let's not rewrite history.
I don't think I'm discounting that effort at all! To be honest, given that I mentioned both that they were exceptionally talented ("elite" and "hand-picked") and worked incredibly hard, I'm not sure where that interpretation came from. And retro game programming is a hobby of mine, I know all too well what it's like to write bare metal 68000 assembler and squeeze every last gasp of performance you can get out of an 8MHz CPU and handful of RAM.
A comparison I might make, then, is to video games then and now: despite extreme technical restrictions, in the 80s, a single person or at most a small team could make the equivalent of a AAA game in a matter of months in their basement. But precisely because those technical restrictions have now been lifted and so much more is now possible and expected, such a thing these days is absurd, and it instead takes teams of hundreds years of work and tens or even hundreds of millions of dollars to put together a modern AAA game. But observing that fact in no way discredits the talent, hard work, and ingenuity of those basement coders of bygone days; nor does it mean that I think game devs these days are orders of magnitude less competent, either.
My intention was never to say that what the Macintosh team did was easy; but it was possible (clearly) with the enormous effort they put in, and I don't think what HelloSystem is trying to do really is, especially not with the resources they have. After all, Apple can't even do it these days, and they have virtually all the resources in the world.
> But precisely because those technical restrictions have now been lifted and so much more is now possible and expected, such a thing these days is absurd, and it instead takes teams of hundreds years of work and tens or even hundreds of millions of dollars to put together a modern AAA game
The problem today is that everything is possible yet the quality of SW has gone down. We have UIs (GUIs are deprecated) using GB of RAM without help (how could they have a help menu with so little memory), where you have to guess what an UI element does, when you have to click on the only one text field on the screen to write something. It is like Will Smith came and erased the memory of everything that was done before. Using Win 95 was an exercise in pain because programs crashed. Using win 10 is an exercise in pain because it is user hostile. Yes i need to resize a window and yes i need a titlebar and a big enough scrollbar.
> Getting consistent margins is not as hard as building an AAA game imho
Tell that to Microsoft. Resizing windows in Win 10 is a masochistic act.
Yes, that's the point I was trying to make. Building GUIs now is even somewhat easier than it was decades ago because modern hardware is so capable and forgiving, yet the interactions themselves are all the same.
Quite a bit of Macintosh was written in Pascal. Quite a bit is assembler too (BlockMove been a good example).
I assume MPW Pascal was used once the OS could be booted.
Really solid example
High DPI and a full color palette are no excuse for not getting margins right.
Attention to detail is still doable, it just isn’t something that is valued by MBA/PM types.
(Being an ambitious personal project made in limited free time is a better excuse, and I commend the project author’s efforts)
> valued by MBA/PM type
Or by folks who are not seasoned in user experience. Just because you use something doesn't make you an expert - UI is often thought of that way, but it is a real discipline.
> Back in the day...
Depends which day one goes back to.
Web projects I've been involved with since early 90s considered user modalities, affordances, predictability, and frictionlessness. To clients we used utility words like straightforward, coherent, clean, functional to describe the system, and experience words like delight, effectiveness, familiarity, ease, as sensations a user should have using the system.
Not sure when I first recall the abbreviation UX, probably mid-90s.
Mostly we just called it Design, a blend of things one might do making comfortable office furniture and effective graphic design and editorial layout for a magazine.
Perhaps things were interesting then because design was an emerging intersectional craft and interfaces were experimentally evolving. Digital UX wasn't yet the ubiquitous sameness of content marketing scaffolding.
It’s true, though most UI/UX people are not experts in their field. Often they’re less useful to listen to than people who actually use the software. Now an expert - that’s a different matter. An expert will transform your entire sense of what a product even is.
I don’t know. Sure, we may likely never see such a crack team of programmers and designers driven by a radical visionary again. But we do have vastly more computing resources than they had. Can’t we solve some of these problems with software?
Since everyone gave up on native software in favour of web frameworks and the browser, there has been precious little innovation in native UI frameworks.
So my point is: couldn’t most of the attention to detail in Apple’s Classic Mac OS be replicated with a UI framework that understands design concepts such as proportionality, spacing, Schelling points, etc?
ChatGPT, create a modern ClearType font in the style of the 1984 Mac that scales well with high DPI displays….
It's hard to tell if you're being facetious but the original Mac used bitmap fonts that were hand-designed by drawing individual pixels on a grid. Any sort of "modern ClearType" font would be anti-aliased and therefore not at all like those bitmap fonts.
Unifont at 16, 32, or 64px.
Here’s a website where TrueType font in style of 1984 Mac that scales well can be downloaded: http ://freefonts.liftedfrom.behindpaywall/macos.html
> we may likely never see such a crack team of programmers and designers driven by a radical visionary again
Why not? Nothing is stopping them - but statements like yours.
I feel like elementaryOS [0] comes a lot closer to the original mac vision when it comes to UX.
Too bad the project is going through some drama from what I understand.
[0] https://elementary.io/
elementary also unfortunately shares some GNOME-isms, such as avoidance of menubars in favor of hamburger menus, which goes against Mac UX. Menubars serve as a central index of application functionality under macOS and are a central pillar to its UX.
There’s always room for improvement, no argument there. That said, I don’t see GNOME or elementaryOS as a clean step forward.
> By all means bow down before what they did at the time, but please do not treat macOS or the Apple HIG as "the be-all and end-all of UI/UX for all time". Because it is not.
Of course. Menu bars are still much better than catch-all hamburger menus. So it is still annoying that a project that supposedly took inspiration from older Mac OS regresses in that respect.
>Because it is not.
But in practice it is. Or can you show something better (that exists now)?
Of course, but it's probably going to be a sticking point for many longtime Mac users looking for more FOSS-flavored alternatives.
I can’t say I’ve had any more trouble with a global menubars on big modern high rez screens than I did on 15” 1024x768 CRTs 20 years ago. In fact the bigger the screen the more annoying I find it for the menubar (or even worse, hamburger menu) to be moving around the screen, because it means that muscle memory doesn’t apply and I’m having to track down a 20px strip or 25x25px button “manually” each time, unless the window is maximized.
As for NeXT style menus, I don’t really have an opinion because with WindowMaker/NEXTSPACE on Linux the only applications that use the floating menu are GNUSTEP ones, so I don’t actually have much experience using that style of menus.
There is also Haiku OS.
See https://www.haiku-os.org/
I used to use elementaryOS but it sucks running on an LTS version when important kernel fixes come for my Lenovo hardware in literally every release.
Yeah I wish they were more of a DE like GNOME or KDE instead of a full distro.
I know you can install their stuff on other distros too, but it isn't well-supported
> Too bad the project is going through some drama from what I understand.
What drama?
https://fossforce.com/2022/04/elementary-os-faces-uncertain-...
Apple did it again between 2005 and 2007 when creating the UI for the iPhone. Using a similar playbook! They for example had to find the exact minimum touch targets (57x57px square), amongst many other UI explorations. The iPhone platform was much more complex than Macintosh of course, and had to inherit OS X kernel and some APIs.
I’d argue that Palm was also a similar success at the time.
You are right that it’s not easy and probably impossible for a too small independent team or an open source project, it needs as you say a very focused goal, a small cohesive team.
And for example Meta totally failed to ship a great UI/UX for Quest (it’s ok, but with incredibly bad parts like inviting other users, typing text, inconsistent controls between apps and games, no standard UI library, etc. they really need to just start from scratch now, IMHO). So pure ressources are not enough.
It's not a matter of hardware capabilities or human resources. Sane paddings and proportions and pixel-perfect controls are no different on a modern XDR retina display than they were on a monochrome CRT. You do have more color and pixels to work with, but the underlying principles are all the same.
My own standards are high enough that I'd never even show such a screenshot to a friend, let alone put it into the readme to my project for all of the internet to see.
> HelloSystem is dealing with a vastly harder problem
I really don't think so. The original Mac had 128K.
I had to reproduce wx-widgets on a new platform (PS3) as a port. Doing so and reading the original UI guides for Mac it's amazing how much research went into things like click targets and mouse zones for buttons, scrollbars and nested menus. Windows is lacking here but once you notice it it informs you why many 2010 era js native widgets like nested menus were hot garbage. I spent a month getting the feel on nested menus right by adjusting zones, and a similar amount on scrollbars targets and zones. I dredged up those original mac guides and they were very helpful.
> I dredged up those original mac guides and they were very helpful.
which are mostly from NextSTEP as described in the "NextSTEP user interface guidelines" first published in 1992 and later by Sun as "OpenStep User Interface Guidelines" in 1996
(pdf) https://gnustep.github.io/resources/documentation/OpenStepUs...
Depending on what the OP mean by "original", these could very well be the Mac guidelines from 1984, which significantly predate NeXT's (which were also heavily inspired by the work of the Mac team for obvious reasons).
You mean Xerox Star user interface from 1981? :)
video from 1982
https://www.youtube.com/watch?v=Cn4vC80Pv6Q
that notoriously Steve Jobs saw and copied for the Lisa?
> which were also heavily inspired by the work of the Mac team for obvious reasons
[citation needed]
Nope... This was pre-next... This was for the original mac which I tried to code for when I was 8 or so probably around 85 as we had a very earlyac my dad was extremely excited about but left to me and my mom to learn as he couldn't type.
my previous comment about it
https://news.ycombinator.com/item?id=34531184
Apple has always been good at copying and (sometimes) improve things.
But mostly they have been good at selling stuff to the richest segment of the population.
Similarly to what Prada did with bags (before becoming a luxury brand focused on women, Prada made bags for the Italian Royal Household).
There's no shame in it, but I don't get why people try to credit Apple for things that have not been invented by Apple.
In this particular case, Xerox and NextSTEP did a lot of research on the matter, that Apple benefited from, because their core business was that: research.
VSCode's popup menus are hot garbage because they don't take those guidelines into account. You try to move the mouse, move one pixel in the wrong perfect direction and the popup disappears.
https://css-tricks.com/dropdown-menus-with-more-forgiving-mo...
Electron....
Yep, I spent an insane amount of time in the aughts to emulate native-feeling menus in JS with submenus and proper focus behavior for both keyboard and mouse.
If only browsers had used the past two decades to provide a comprehensive set of well-behaved, uniform, native-feeling UI controls for 95% of the use cases. Instead web devs still spent a lot of time reskinning and re-implementing basic controls.
In many cases they did I'd argue... They just weren't pretty enough.
As always, these things look like an average xfce theme.
I think that setting out to build something using “first principles of interaction design” on top of existing open source software that was not created using those principles is only ever going to be an exercise in futility.
I have a feeling the "white line" is meant to be a bevel. This was pretty common back then.