RavynOS – Finesse of macOS, freedom of FreeBSD
ravynos.com
ravynos.com
I wonder though, why start with old Objective-C cocoa APIs instead of Swift?
(I'm saying this as someone who would be more inclined to contribute if it was written in Swift.)
Around minute 4, or go through the transcript.
Likewise for AppKit.
Apple, the “do as we say, not as we do” company.
Besides this is nothing new in the industry, some Android business units and Windows ones, are quite adverse to touch anything besides C++, regardless of the guidelines to the rest of us.
I know they say it. But they’re made up of 100s-1000s of groups. And at Apple especially, many of these groups are not allowed to talk to each other.
From the outside it’s easy to see companies that way. But if you’ve ever been inside a large company, you know what I’m talking about. That’s not unique to tech, either.
And rewriting software in a new language is always going to get back burnered by delivering new features. Until there’s a fundamental change they want that justifies a rewrite, a codebase is staying in its current language due to inertia.
Heck, companies will lie to themselves about these things. My favorite is this pattern
Execs: We’re all going to X!
Crowd: Yaaay. [Some project leads look at each other with a mix of sarcasm and fear.]
Initiative kicks off. Swag is distributed. Projects are identified.
Exec: [Looks at $] Well, except this one. And that one… Ok, we’ll replace all of these [waves arms] in 3-5 years.
Narrator: 3-5 years continues to be relative to the current date.
I'm sure I still have CD case with 'Windows .net' printed on it which contains Windows 2000 and SQL Server... .net?
The marketers really went to town on that one, would have loved to be in the creative pitch meetings for that swag.
'.net, what is it??'
'Who knows??! But if we print .net in multicolour on enough stuff, somebody might figure it out!'
To be fair, the developers at Microsoft went to town on it as well, adopting C# for parts of Windows Blackcomb, including the File Manager, the Desktop Manager, and (some of) WinFS. It turned into a fiasco and the .NET adoption was mostly dropped, as far as I remember, when they did the "reset" and pivoted to Vista.
So since Vista all new APIs follow Longhorn ideas, while using COM, followed by Windows Runtime, with the caveat that tooling is just as bad as before .NET was invented, but hey they are happy fellows on their little turf.
For problem areas where Apple's frameworks provide a useful or necessary solution, accessing them from Objective-C instead of Swift is more stable. Examples like Accelerate, HealthKit, and StoreKit come to mind.
For problem areas where Apple has no advantage but you want to ship code there, oft derided but broadly usable solutions like C++ (which connects to Objective-C better than it does to Swift) or Javascript dominate.
Even Apple appears to struggle at drinking its own koolaid, given the recent criticism of the Settings port to SwiftUI. [2]
[1]: https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...
[2]: https://daringfireball.net/linked/2022/08/15/ventura-system-...
Swift seems to be more and more a kitchen sink language. Compile time linking, v-tables, and dynamic dispatch? Sure! There’s so much syntactic sugar masking seemingly unchangeable implementation details (throws/try/catch) and odd implementation choices (protocols associated types vs structs and classes generics). Builder methods are just plain weird, imho.
I had a lot of hope for Swift early on, but it seems like a rudderless ship.
Further, I saw many legacy projects move from Objective-C to Swift (Podcasts comes to mind). (Some legacy Objective-C apps like iTunesU, sadly, were "sunsetted".)
Until recently, I believe there were issues with frameworks written natively in Swift so I saw a few smaller frameworks thrown together in Objective-C. I believe that, whatever the issues were, are no longer pertinent.
I can say too that there are many engineers that don't even know how to code in Objective-C. The younger engineers learned on Swift and are even hostile to writing in Objective-C (ha ha).
Of course Apple is a big company and I can't speak for the whole of engineering - only the teams/orgs I was involved with. And since I left Apple last year I can only guess at the current state. But the direction was clearly away from Objective-C.
As you can imagine, the biggest hurdle to 100% adoption is going to be bringing over legacy projects. Porting to Swift will probably always take a back seat to features, bug fixes. If the pace at Apple were more leisurely, not a suite of new OS releases every year, perhaps we could have our cake and eat it.
I don't need to do that in my day to day job, but I do remember that as part of an OS class at school (some 20+ years ago) one of the tasks we were assigned was that we had to work in pairs of teams, where one team would implement a function and another team would implement code that called that function, the only requirement being that both teams had to use different languages. The point of the exercise was to show how, provided you had a defined API, thanks to linking you could use the best language for each job.
Objective-C is done, see WWDC 2022.
* They definitely did not start with Objective-C and a blank slate here; they're folding in monumental amounts of third-party code
Could bootstrap this by looking at everything in Homebrew (including casks) and sharing whether it seems to work on RavynOS yet (or whether it's ambiguous, and how you can help disambiguate).
I'm using sysutils/docker on FreeBSD with DOCKER_HOST env var set to "ssh://user@linuxvm" where linuxvm is a local VM running on bhyve[1]. Part of local FreeBSD filesystem is shared with the Linux VM via virtio-9p passthrough. Everything plays together nicely.
nerdctl[2] works with sysutils/containerd. You can't run Linux images on FreeBSD kernel (Linux jails may be an option) but there are FreeBSD images. Pkgbase[3] aims to make FreeBSD more modular, divided in chunks smaller than "base", "ports", "src"; feasible for containers.
[1] https://wiki.freebsd.org/bhyve
I'm generally a bit sceptical of this "copy macOS" idea. It isn't a particularly amazing operating system, it is mainly just very well supported by third parties considering that it is a unix. You won't have that if you recreate it in this way, and I'm not sure if you will be left with a very good experience.
Last but not least HaikuOS deserves some forward look
Other than that it looks interesting, a sorta-Mac-aesthetic sorta-BSD.
A macOS-like operating system based on FreeBSD - https://news.ycombinator.com/item?id=28087092 - Aug 2021 (67 comments)
Airyx OS - https://news.ycombinator.com/item?id=28068542 - Aug 2021 (254 comments)
And I actually like the UI and configurability of KDE.
So no, I'm not going to use it but it probably could have made me move to FreeBSD a few years earlier. But with this kind of 'copycat' I always wonder if they manage to support a large enough ecosystem to make it work well. After all the biggest selling point of macOS is traditionally the 'just works' principle. Using FreeBSD as a daily driver I know the hardware/driver side needs a lot of tinkering. Which I don't mind, but macOS users would.
I also wonder about their business model, it seems to be a company?
Good luck to the developers!
That's a bit old for me (I started with Tiger), but I would definitely be all over an option to go back to OS X (where, I felt, the paradigm was that users should be presented with the best possible default experience, but also should be trusted to tinker if they chose to do so) before they started pushing this macOS = iOS integration (where the paradigm should be that users should be protected, even against themselves, from any need or ability to tinker).
Snark aside, sure, it starts small. But it's so much easier to pitch in if there's some code base to work with. It snowballs.
Yes, they definitely need some good luck, but sometimes rewriting the world is necessary to one day invent something new, or just eliminate architectural issues that are too entrenched in the old code to be easily circumvented without adding bloat and/or bugs. The price to pay is lagging behind the competition, with a potential bigger payoff only later, for those who persist. I see roughly a similar approach with the PinePhone: they probably went like "the heck with reverse engineering other phones, we make our own one from scratch!"; the result as of today is a ~90% working slow phone that very few among non tech users would want, but we see the much bigger potential if and when they'll reach hardware performance at least comparable to known brands. It takes courage, perseverance, and luck.
I've been involved in two rewrites during the past 5 years. While the rewrites were not by choice (one was forced by Flash EOL), in both cases there were multiple, very obvious (after the fact) benefits:
- Better, modern technology top to bottom
- Better dev process, facilitated by the better technology
- An excuse to focus functionally, and rethink. We couldn't possibly reproduce a heap of legacy features and were forced to focus on what mattered, and managed to offer those key features in a far superior way.
Done right, a rewrite can be fantastic. And sure, rewrites often happen for the wrong reasons and at the wrong time.
I'm a KDE user since 2010 and a week ago I purchased an M1 Pro (hopefully to install Asahi in the future). My desktop was basically a top bar with global menu, a few widgets and Latte Dock.
If I didn't know that Mac came up with the functionality before, I would think that it is Mac that feels like a skinned KDE
1. Antialiasing of fonts, how crisp and clear does it look on my screen? Windows has struggled with this especially after ClearType.
2. Alignment of elements in various applications. The traffic light window controls look way too far into the app's header. Find a happy medium, copy macOS's spacing.
3. Is the contrast in colors strong enough to tell me this was designed by someone who has some design (hopefully color theory background) or was it just an attempt to use many colors?
windows clear type is using pixel-accurate subpixel smoothing, it works only in one direction with correct subpixel pattern
what people (including me) dislike about windows fonts is aggressive hinting, that is snapping font shape to pixel grid, it made sense in displays around VGA (640x480) but does not make sense on FHD screen
As an aside the PPI of my screen isn't that different from the PPI of my 15" CRT running 1024x768 (both are about 100). Note that there was less than 15" of usable space since CRTs were rated based on the tube size, not the visible size.
I noticed that too on the screenshots page. And it's weird cause it looks right under the "features you'd love" section on the main page. It looks like most of those images (the traffic light buttons, global menus, folder icons) are faked to look like macOS but then the screenshots don't actually look like that.
If you find your fonts rendered to thin compared to macOS you may try changing some of the freetype settings, such as:
FREETYPE_PROPERTIES="truetype:interpreter-version=35 autofitter:no-stem-darkening=0 cff:no-stem-darkining=0"Also, the hardware. (It is much harder to make it work reasonably well across so many platforms without an army of full time devs.)
That's a genuine question, I just read yours in a few different ways.
However, I'd argue that relatively small details just fall into the category of overall interface polish. Not just aesthetic people polish, but the category of things that make you put your hands to your face and scream in frustration.
But yes, there are definitely important details in other layers that are worth considering. I think that when people make comparison's though, beetween macOS' level of finesse and something else, that finesse is defined by polish at most levels of interface with that hardware and so on.
Moreover in my opinion the contributor pool might be thin, most potentially interested users would prefer using MacOs, and most linux users being notoriously not fond of the lack of configuration. Happy to be proven wrong!
----------------
helloSystem: We have been in fact working with helloSystem! As some people have noticed, Release 0.2.X was basically helloSystem. (That was the second PoC. The first had been built on vanilla FreeBSD and had no GUI at all.) Under the hood, however, release 0.2.2 has a partial implementation of Cocoa, a modified compiler & linker that support frameworks, and several other additions that make it distinct. We have similar philosophies, and share technology and cooperate where it makes sense (e.g. Filer), but the project goals are quite different.
helloSystem wants to create a computer that is simple to use, open, elegant, small and fast. Older Mac OS X and Classic are an inspiration to what that might look like, but they are not explicitly trying to create an open-source Mac. In fact, they're mostly avoiding Objective-C and XML plists and other Mac technology in favor of simpler and/or more modern ways (e.g. Qt, C++, JSON).
ravynOS is explicitly trying to be compatible with Mac software at a source and eventually a binary level, without losing support for FreeBSD/X11 software, and to implement a very similar experience on the desktop and at the command line. For example, on ravynOS you can type open -a MyApp image.jpg and have image.jpg open in MyApp. You will find things in (mostly) the same directories as a Mac, like ~/Library or /System/Library/Fonts. This project is not as concerned about keeping the OS as small and simple as possible, and more concerned about making it clean, secure, performant, and compatible - implementing many of the features I use daily in macOS while skipping the lock-in and "tabletization" of the computer.
Some of the more technical differences between ravynOS and hello are:
- ravynOS uses a patched kernel with support for Mach, just like xnu, and a compiler suite that supports Frameworks and has preliminary support for Mach-O as well as
- ravynOS has a package repo with software built to "standard" paths like /System, /etc, and /usr instead of the FreeBSD repos which are built into /usr/local
- ravynOS desktop is being written from scratch with Cocoa, Mach, and OpenGL on a Wayland compositor, where hello's desktop is based on openbox, Menu and Filer (originally from LXQt) plus other lightweight services for notifications (dunst), screen color temperature (redshift) etc
- helloSystem uses a simplified .app structure whereas ravynOS uses real Bundles for .app
- helloSystem tends to use typical Unix paths and files, while ravynOS is moving towards typical Mac paths and files
- ravynOS tries to provide the same APIs as macOS
Nothing against FreeBSD (happy user here) so there's probably some good reasoning behind this.
PureDarwin was (is?) an attempt that hasn’t been able to break through those headwinds.
The short answer is "hardware support". ravynOS should run on most commodity x86_64 hardware using FreeBSD's very stable and performant drivers.
The longer answer is that plus I don't see any real advantage to using xnu. We have merged in Mach support now (big thanks to NetBSD, NextBSD and the iX Systems folks for that) so the xnu approach just seems to add complexity and the effort of writing and maintaining drivers.
Considering how big this project is already, I opted to stick with the BSD kernel - at least for now
Mach the kernel, the IPC system, or the binary format?
(btw, I don't know much about this kind of work, so I have no idea if it's feasible to port the drivers from Asahi to FreeBSD, or if they'll have to start mostly from scratch)
Maybe the issue is something else entirely?
This is more than a little ridiculous and you know it.
This OS sounds like a dream for me, but I have to imagine it will take many years and a lot of willing experimenters to make it usable. I wish I had that kind of time.
> You will need real hardware to run it.
Why doesn't it work in a VM?
Looks interesting enough to play around with but for such an ambitious project VM support should be one of the first dev priorities not only for dev and testing but for users wanting to take it for a spin.
Whenever I see something that looks like a poor copy of something else, it has an immediate (negative) effect on me from quite deep down.
It’s a variation of the uncanny valley I think.
The UI screenshots on the landing page all look like “best effort” copies of macOS UI elements but are just slightly off and that “slightly off” feeling really sits badly with me. This is not a intellectual judgement but an instinctive gut reaction.
I totally get what they’re trying to do, but I think it would be worth creating just a tiny bit more distance from the macOS design language because if you try to be a direct carbon copy of macOS, it’s just going to fail at at that.
It’s a bit like when you see cheap knock-off products replicating those of mainstream brands. The knock-offs could actually be quite well made but because they’re imitating other products they just don’t ever look right, and the failed imitation aspect overshadows everything else.
I wonder what others think (especially the macOS users amongst us).
Aside from that, I think the idea of the project is cool. It just needs more of its own identity I think.
Does this mean a mach emulation layer on top of or in the freebsd kernel?
Interestingly, it's a feature introduced to CSS way back in 2015. There must have been some major blockers on getting that out the door if it took ~7 years.
I believe that a bigger factor today is the third party support for your system.
stuff like teams not working, or netflix not being able to stream in 4k makes me still keep my windows machine, even though at this point its basically a firefox / vscode terminal with extra apps and of course a system level integration of docker.
Im pretty sure there is enough room for a true developer OS but it still needs to do all the "little" things that we have grown accustomed to.
I get the desire to avoid X11, but why write a GUI from scratch instead of using Wayland?
From a technical standpoint, maybe it won't matter, but I am concerned about the fact that they're using (at this time) a Wayland compositor. I have read that Wayland has some problematic technical design decisions (which were not known when it was conceived) and now today we have the awful situation where most apps in my experience run better in X.org and some are ok in Wayland. From an eyestrain perspective, I find x.org less straining to look at than Wayland. This may have something to do with the drivers but the compositor plays a role for sure. I don't use Wayland by choice. Name a widely used app? Sure, Firefox web browser. Turn on "Use autoscrolling" in the preferences and see how it is. On X.org it is smooth, on Wayland it uses XWayland instead and is not smooth. Both projects are years old. Every single X11 app requires programmers to re-write/convert them to native Wayland. It should have just broken compatibility from day 1 and started from scratch.
BSD DRI drivers are copied over from Linux, just older versions of them, so I don't have a lot of hope that there will be new drivers or a new compositor (likely years away).
Apple, while Darwin is a direct descendant of FreeBSD, Apple is not using Linux DRI drivers, they have enough NDA access that they have their own closed drivers, and instead of using X11, they made their own GUI stack.
I want to say what should be done is to do what Apple did, make a brand new gui stack on top, but that's incredibly difficult with limited resources. With Apple or MS you have endless amounts of money and developers, with X.org & Wayland you have years and years of incremental development. It's tough.
A typical examples is global hotkeys. On X11, any application can monitor all keystrokes at any time. On Wayland, applications only get keyboard events if they're in foreground. Global hotkeys must be done via a separate compositor API. This breaks applications which expect to be able to detect keystrokes when they're in background, but the "feature" they relied on also allows any random application to include a keylogger. Such applications need to update.
You mention Firefox uses XWayland. Firefox also has native Wayland support (I'm writing on it right now!). This is likely a mis-configuration at some level, or maybe the Firefox version is too old.
OTOH, things like scaling are completely broken on X11, and while the hacks around it improve over the years using a HiDPI display will likely never be as smooth as on Wayland. And if you have a laptop with a HiDPI display and a LowDPI external monitor, one of them is going to suck forever on Xorg.
We are, of course, on a transitional period. A lot of applications still need refinement. Qt in particular still has lots of bugs on Wayland. But these can be fixed, there's no broken design decision which makes them unfixable.
Edit: my mistake, RavynOS isn't a Linux distro!
Why? Because it will always be (far-ish) behind macOS features.
You may also want to take a look at OpenStep and Window Maker.
Otherwise, Elementary GUI on Gnustep is pretty much it.
first question, https://ravynos.com/faq.html
Elementary is just a nice skin with some particular tweaks and add-ons. Etoile’s goal was more akin to what they’re trying to achieve here, an actual Objective-C+Cocoa user space with a Mac compatible open library,
It seriously had worse UI design decisions than Gnome 3.
Specifically:
- I really miss a decent address bar in finder that can be edited directly
- some windows on mac are always on top, preventing access to other windows. E.g. Password dialogs for encrypted hard drives.
- "Cut" does not work for files in finder, severely complicating moving files
- The Maximize button does not maximize, but instead enters full screen, meaning that I never use it
- There is a delay of ~100ms when pushing caps lock on the keyboard that can not be turned off without installing karabiner elements
- Pressing enter in Finder renames a file instead of opening it, an action that is rarely needed and extremely unintuitive – this erroneous behaviour can also be corrected with karabiner elements
- Sometimes audio balance will randomly shift to the left or right with bluetooth headphones, had to install yet another app to auto-fix it every time it happens because Apple is too daft to fix the bug.
- There is no delete key on the Mac keyboard, meaning that deleting a file is suddenly a two- key shortcut combo, whereas it is much easier on Windows/Linux (hit delete). Sigh.
Sure some could be better, but changing these would upset the whole user base. (And mac users could claim those things broken in kde in the same way)
I have used windows, gnome2, gnome3, xfce, mac and so on and dislike kde, and gnome3, and all the others. Even mac is really dumb sometimes, but macos is the most polished by far.
> Sometimes audio balance will randomly shift to the left or right with bluetooth headphones
> There is a delay of ~100ms when pushing caps lock
Another seems objective not subjective
> Pressing enter in Finder renames a file instead of opening it
Who thinks the enter to rename is reasonable?
Decades of MacOS users?
A long standing one actually. I remember having it in Mojave/El Capitan already on my 2102 MBP.
The others are annoyances from not being familiar with the UI, some more motivated than others. But let’s recall the sad story of the thumbnails in GNOME’s file picker, for a second…
Users expect actions to match the sequence of inputs. If the user can type CAPS and "TITLE" and get "tITLE" its a bug.
Basically 50 years of computer interfaces of all kids across all OS across planet earth use enter or return for activation. This includes Mac in all other contexts.
F2 to rename dates back to windows 3.1 with environments like KDE using the same key that is familiar to windows users. Like many things it is an arbitrary choice without any inherently correct answer. The nice thing about it is in dolphin is that one can easily discover this by right clicking a file or folder and noting the shortcut listed beside the action so you can both complete the task visually immediately and learn the hotkey easily.
Bugs are when systems don't work as intended. Intent you don't like isn't a bug.
Enter or return does different things in different contexts. Its most frequent functions are go to a new line or end text entry. Saying it means activate and implying activate means open is trying to find consistency where it isn't. And what it does in Finder is what it does in other text fields.
Return for rename is older than Windows 3.1. The error rate for pressing F2 is high for something so common as rename.
I can read in the news more or less every day that fundamental things like input devices, monitors, audio, or basic GUI features are messed up or bluntly broken in macOS. People already "joking" that one needs to way at least two or three point releases before trying out major updates. That's even worse than the situation on Windows by now (and MS is also breaking things with every update).
As a Linux user that uses a "perpetual beta" distri (Debian Testing) I'm horrified about such news. Comparable breakage does happen on my OS maybe 2 times in a decade on average, and when some catastrophe like that happens (monitor stops working, no audio, USB not working, or such) it's usually fixed within hours!
Both Gnome and KDE are better desktop environments, heck even Windows 11 has done a better job (although they ruined the taskbar now).
The mere fact that you can not change things to your liking on Mac proves my point. You have to buy- and install third party applications from developers that you do not know or trust, and that is just to fix some of the most basic issues. Microsoft recently also decided to go down this route, and have now sabotaged their own Taskbar, preventing users from moving it.
It has nothing to do with "not being used to the Mac-way" – these things are just worse on Mac. There is nothing good about not having direct access to the location address in your File Manager, or not being able to change this stupid default behaviour of various keys and UI elements.
The ability to use "cut" on files, and actually change location by a text-based address bar are both to be considered core features. It is entirely brainless and inconvenient that we have to hold in "option" just to get a "move files" option to show up in the right click context menu.
That's one of the biggest jokes on the Mac, indeed.
On Windows it's not much different besides one detail: You also need a shitload of tools and gadgets only to make basic things usable. But at least those tools are mostly free (like in beer) or even OpenSource. On the Mac instead you have to pay ridiculous amounts of money only to get some basic options (like for example, I think it was ~30 bucks, only to be able to configure the acceleration of the mouse cursor).
The usability on the Mac is very broken, but people knowing how to "milk" other people created a whole market for laughable expensive apps out of it only to fix the most annoying things. That's just sooo ridiculous! I personally have no clue why people are buying this kind of stuff. It's like they want to be treated like -peep-. Imho the "jokes" about Stockholm syndrome victims are no jokes any more. That's bitter reality.
BTW:
https://www.digitaltrends.com/computing/apple-causes-religio...
https://www.researchgate.net/publication/276887293_iReligion...
https://www.researchgate.net/publication/233647272_The_Cult_...
https://www.itproportal.com/2015/08/13/the-religion-of-apple...
By now it's a quite irrefutable scientific fact that hardcore Apple users are brainwashed sect members.
Should be obvious anyway. Just look how they behave and what they keep saying when confronted with critique…
Luckily macos is extensible so you can create your own service for that.
What is the shortcut for "paste and move"?
⌘+V for paste
⌘+⇧+V for paste and move
The way Mac handles copying and pasting text is also horrendous, because it also copies the styling, something I actually never need to do. The way to paste text without styling is a horrendous long, and inconvenient keyboard combo.
Other system does that too, but it is just less often an issue. Typically what I do instead is I have a plain text window open, paste my text in that, then copy it again, and finally paste it in the intended destination. It is piss annoying
What made me stick with the platform though was never having to worry about drivers, and updates being polite and patient, and not being bombarded with a billion ads everywhere like in Windows or Ubuntu. Also not having to drop into the command line to change monitor settings is nice. And the M1 is just soooo nice, fast and quiet and cool, no x86 laptop is even remotely close anymore. They put the ThinkPads, my previous favorite, to shame.
So yeah, to your point, the dumbed down UI is a pain, but the rest of the experience is so much nicer now. I'd take needing a few extra apps over having to go back to desktop Linux...
I can't remember the last time I had to do this on Linux. Sometime in the the 90's, I think.
this is something that should be done everywhere, if it isn't, it's a potential security issue.
Trust me, the alternative is much, much worse. You do not want users using the same password everywhere.
I use a password manager, passwords are encrypted and only briefly available doing the copy / paste operation. It also has an auto-fill option which further limits the attack surface.
KDE is much more respectful towards users, because you can actually remove/add the "always on top" flag as needed, and that IS the way it should be.
Also, you can also fix the "caps lock" issue by remapping it to "control". Completely fixes the "caps lock" button. It works on Linux too! ;)
And of course, a "always on top" flag would have been really nice for dragging and dropping between windows. That option is really nice in KDE, but missing on both Mac and Windows.
Press Command-Shift-G and it will appear as a small window. (I haven't figured out how to do this in a "Open/Save File" dialog, so if anyone can chime in, greatly aprreciated)
> "Cut" does not work for files in finder, severely complicating moving files
It's annoying that there is no shortcut equivalent, but if you need to actually move a file either drag and drop it, or press Option while right-clicking in the target Finder window - the menu entry will change from "copy here" to "move here".
> The Maximize button does not maximize, but instead enters full screen, meaning that I never use it
Yuck, yeah. Very irritating. Use SizeUp, well worth the 13 US$.
It breaks my normal work-flow when I am on my mac, which is most the time nowadays.
There also is a shortcut for moving files, but I do not care about that.
It's like a race to the bottom to please an elusive lowest common denominator class of users that doesn't exist. I find these other "modern" UIs incredibly condescending.
Instead, discoverability should be #1, creating soft, natural learning curve that welcomes new users without capping or hiding advanced functionality.
Oh, ok :)
I read the title--finesse of MacOS. I open the link, and the first thing I see at the top is the circular raven logo vertically misaligned with the header on mobile.
That made me think, okay let's try desktop version instead, so I switched to desktop render (still on mobile browser) -- this time the logo is vertically aligned but the padding / margin on top and bottom are lower than on the left.
This is of course nitpicking in the larger scheme of things--I haven't tried the OS, but the screenshots look great and definitely look like MacOS. However, with the title setting up expectations and the first impression being of a misaligned logo made me (unfairly) dismiss the project since I felt you were trying to claim a level of finesse that might not be there.
I don't use Linux, so I'll never really use this product, but it's interesting to me--why do people / projects/teams (in general--not just this product) try to emulate the "finesse" of Apple products? To me, it sets up unrealistic expectations from that product, and I might dismiss an otherwise excellent solution if it doesn't live up to that comparison.
Was there other issues that bothered you?
Because people like them. Why do all sedans look kind of alike? Why are there dozens knock-off chairs that emulate the Aeron? Some people, myself included, really like the look and feel of macOS, but may want to run *nix instead. Enough of those people got together and made an OS.
Isn't it FreeBSD?
This is closer to macOS than it is to Linux.
What I did notice though was th first screenshot with the red, yellow, green buttons of osx window titles.
I think this is a really bad design, and I don't understand how people can like this.
Sure, nice round "buttons", but very unclear what their purpose is.
I think this is something of a red line through Mac/iOS: The preference of unclear user interface that "looks good" instead of a clear interface that communicates with the user.
I've used Mac for years, and still don't know what the yellow button does.
I like the idea of this new OS, but please make better design choices that Apple :-)
Minimize. That’s what the yellow button does. It’s as simple as clicking it once.
Is this common? I used it on windows but for years now, I have a ton of windows on top of each other or I just cmd+w my way out of one.
Maybe this is the idiomatic way and I’m not an outlier though. Is it?
But that involved portable thousands of hours interviewing and videotaping regular people trying to use Windows and then addressing issues found.
What do you think would be better? Can you give an example?
It can be tricky to make everything self explanatory, but at least if you use icons or text rather than just colour you give the brain something to help you recognize.
Some do, but many look quite janky -- for example, check out the grey menu bar with Windows-98-style underlined shortcut keys in this one: https://ravynos.com/images/airyx_0.3.0pre_about.png
Perhaps I'm missing something, but this doesn't seem particularly visually different than the "aqua skins" that have been available on *nix for years.
I know why these kinds of pseudo words are chosen for products, they're unique and easy to search. But there are better ways to do this IMO. FreeBSD is a prime example of a great product name.
It feels in passing like a lot of work to build a skin/UI that will always be a few generations of the design language behind and not quite there, just given the volume of staff at Apple and them being the ones defining where their design language goes.
Like a choice between a Porsche and, according to Google a Zotye -- they'll look close but one will be the obvious "genuine article."
Would it not be better to take all that talent and consider a fresh approach to the user experience of a personal computer?
Unrelated to RavynOS, but I see the size of the Apple staff more like a weakness not a strength. They became terribly inefficient in the recent years.
I think that "old school Windows" aka Win95-Win7 (where you could still use the classic Windows UI) and "old school MS Office" was the perfect balance between "keep it easy enough for users to get started, with clear visual distinction to aid them" and "allow power users to work as well", and that was a large part of why MS Windows and MS Office became so utterly dominant. Only when MS started to go bonkers with Vista and then the disasters that followed from a design perspective, users suddenly started to look for alternatives.
Yeah, although I think product managers are worse offenders. I think neither extreme is good. Customization is important but hard to get right, and creates rigidity and burdens for developers as well. One thing that engineers ignore, is the cost of mandatory customization or learning curves. Most users, even technical ones, may never get around to customizing so the defaults are more important than the full set of options. And engineers often underestimate the importance of sensible defaults. Google, for instance, had entire products that people didn't know about because they couldn't make users aware of them, despite them being free and good.
> "old school MS Office" was the perfect balance between "keep it easy enough for users to get started, with clear visual distinction to aid them"
I think that was an extremely cluttered UI, far more than saturation the attention of a new user. But otherwise I agree that hiding everything in menus or omitting features is not the solution either.
This behavior is called “Zoom”, and it’s defined per-application by that application. You could change that system-wide to minimize.
> […] when I close a window and then press Cmd+tab, the icon is still there, and if I select it nothing shows up.
Yes, the application hasn’t quit. You’ve only closed its last window.
To further expand on this, this is also application-defined behaviour. The application can choose whether it wants to stay open or close. This is no different from Windows (e.g. closing a Spotify window will just minimize it to taskbar), it's just that Cmd+Tab by default shows all running applications, whereas Win+Tab/Alt+Tab on Windows by default shows open windows.
For me it fits-to-content both vertically and horizontally. I just tested in both list- and icon-view. Mac OS 12.
> When I close a window and then press Cmd+tab, the icon is still there
This is because the Mac UI application/document conceptual model, which has been consistent since at least the 1980s. An application is either open or not. If you have multiple documents open, they are open within a single instance of the application. You can also have zero documents open. The application doesn't quit automatically when you close the last document.
Other operating systems flatten these two concepts into one, such that each new document appears as a new instance of the application.
I'm not suggesting one is better than the other. Just that I don't consider this a lack-of-finesse since it's been my mental model for 25+ years.
I'm also not disagreeing with your overall point. I can think of plenty of inconsistencies and lack-of-finesse in modern Mac OS UI, to be sure!
If I want the app closed, cmd+q / alt+f4. Repeated cmd+w / ctrl+w shouldn't also close the app (IMO).
In either case, I find both implementations sloppy. Apple's solution is complete but redundant, and Windows' solution is simple but lacking. I have to give it to KDE and GNOME, both desktops manage to 'fix' this problem by encouraging people to minimize apps they aren't using. Your (X) icon still has the magic power to kill processes, and you get to keep your precious applications when you're done using them. Boom, no need for ultra-complex Application/Window/Form/Dialog hierarchy for the user to wrap their mind around. Simple solution to a simple problem.
Closing it via the "x" will minimize to tray and hide (which is the behavior I want, but an example nonetheless)
Of course, I'd argue that maximise is the intuitive thing to expect, but the behaviour is not strictly broken, just... odd.
The behavior is inherited from the classic Mac OS which initially predates and was developed contemporaneously with Windows. Apple assigned one behavior and Microsoft assigned another. To the extent that one is “more intuitive” it’s because your expectations as to what should happen is different, and “maximize” is a lot easier to behaviorally define, describe and program than “zoom” so GUI programmers preferred it, or knew it better because the behavior and conventions they mimicked in X window managers were taken from what Microsoft was doing at the time.
When screen resolutions are 640x480 or 800x600 or even 1024x768, maybe you just want maximize all the time; but maximize is an anti-feature to me on anything bigger.
It drives me nuts on Windows that when I close FireFox the entire APPLICATION closes! I just wanted to close the window. Now when I start it again / open a new window, I have to enter my LastPass credentials. And pay the boot penalty.
IMHO, a multi-window app should not exit when I close the last window.
Linux Desktops and Windows both do this, macOS does not.
On Linux' Firefox, this does not seem to be the case. I just confirmed by closing a window with a few dozen tabs, and my other windows were perfectly fine. Same goes for VS Code, IDEA, Ghidra, Tilix, etc. This might be Wayland-specific behavior, but closing one window does not appear to take the rest of the apps with it (unless they were a child process).
But you always need ONE child window open or it will exit entirely.
MacOS has a different approach, where the application top level process keeps running, even if it has no windows, but this requires some sort of GUI element to communicate with application.
That is nonsense. It is just a different model and the model Mac users have been used to since the 80ies. When I close a window/document, I often want to another document with the same application, so why close it? If I want to close an applications, I can use Cmd-q. Moreover, their visual presence is not gone, such an application is still in the Dock and in the app switcher.
And why do I care if an application continues running? If it hasn't been used for some time, macOS compresses its pages. And inactive native applications will be put in App Nap, which freezes the application, so that it doesn't use system resources until it is activated again.
There is a third space on mac, different from a menubar, called "dock". In the old days it was integrated into the main persistent menu bar, but was removed maybe in the early 2000's. Personally I prefer one menubar, but at least I can hide the dock.
EDIT: "dock" not "launchpad". Duh.
And with Firefox, it would make the "Restore all tabs on open" not work, since clicking X didn't close the app, and thus pressing Firefox again would just create a new empty window. For it to work, I had to not use the red button, but cmd + q or the menu bar.
The original 1984 Mac keyboard did not even have a Ctrl key, it was added to later keyboards as people wanted access to terminal applications.
On Windows, ctr+c in a terminal will interrupt a running process, or, if text is highlighted, will copy that text instead of interrupting.
It works really well, and took me a long time of doing this without issues to realize what I was actually doing.
The default is usually ctrl-shift-c to copy and ctrl-c to send sigint - but setting the copy command to ctrl-c will usually flip them, making sigint ctrl-shift-c.
I enable this on basically all the terminals I use. I also immediately rebind cmd to ctrl in mac, since I can't stand the RSI inducing placement of the cmd key.
Example on Kitty, my current preferred terminal emulator this is just a few map directives away in the config:
map ctrl+c copy_to_clipboard
map ctrl+v paste_from_clipboard
map ctrl+shift+c send_text all \x03
Cmd+, opens preferences in every app.
Cmd+[ or ] goes "back" and "forward", in every app that has those concepts
Cmd+Shift+[ or ] switches tabs, in every app that has tabs, except a handful of stupid chat apps who think they're too good for it.
Cmd+W always closes the current tab, if the app has tabs, (or current window, if the app has no tabs), and does not quit the app – that's what Cmd+Q is for.
Etc.
Also notice how PageUp / PageDn, keys that my keyboard doesn't even have, are not used for crucial shortcuts like these.
Seemingly small things, but absolutely maddening when developers don't respect the common convention, or when a common convention does not exist.
I always thought this consistency was a feature of the app ecosystem and app developer attitudes rather than the OS itself, so I'm not sure what RavynOS can do to make third party apps obey their idea of consistent shortcuts? The wiki doesn't mention anything about shortcuts despite the language on the home page.
In contrast, the Ctrl keys are usually located such that they're best accessed with your pinkies. Who thought that making people use their weakest fingers for the most common shortcuts is a good idea?
Could you remap your keys to have Ctrl keys under the thumbs in Windows / Linux? Yes, but then:
1) It will become hard to use Ctrl-based text navigation shortcuts (such as Ctrl+left to navigate one word left) with one hand, and
2) Ctrl+Tab will now use the same physical keys as Alt+Tab used to, and your brain will never heal from this (at least mine refuses to).
but otoh ppl have strong opinions for the exact same reasons (hand/finger dexterity) by assigning ctrl to caps lock
less weird-pinky/hand-rotation does feel like a win, though
Why would it be any different than on macOS?
> 2) Ctrl+Tab will now use the same physical keys as Alt+Tab used to, and your brain will never heal from this (at least mine refuses to).
So why not switch this also? Where's the problem?
At least on Linux there are no issues. It's mostly clicking one checkbox, and changing "Alt-Tab" to "Ctrl-Tab".
Because in MacOS those arrow-based text shortcuts are Alt-based, not Ctrl-based, and right Alt is already located right next to the arrow keys where it's most convenient for those particular shortcuts. It does not need any remapping since in MacOS the Alt key is not used for most other system shortcuts, unlike the Ctrl key on Windows/Linux.
> At least on Linux there are no issues. It's mostly clicking one checkbox, and changing "Alt-Tab" to "Ctrl-Tab".
Been there tried that, on Ubuntu, last attempt a couple years ago. Does not work, many apps have Ctrl+tab hard coded to switch between their tabs, so if you make Ctrl+tab the system shortcut for switching apps, you can't switch tabs in those hardcoding apps anymore.
Where's the problem to tick a checkbox and change that?
> Been there tried that, on Ubuntu, last attempt a couple years ago. Does not work, many apps have Ctrl+tab hard coded to switch between their tabs, so if you make Ctrl+tab the system shortcut for switching apps, you can't switch tabs in those hardcoding apps anymore.
Once again, that are GTK problems.
Just avoid GTK (v3 and later) and Electron and there are no usability issues. Simple as that. But I'm repeating myself.
What checkbox do you mean? (I understood the one about ctrl+tab, but not this one)
I'll give KDE a shot next time, but I think some apps I use heavily are actually GTK apps (such as Firefox), we'll see how it goes.
Maybe I'm confused, but I have an right Ctrl and a right Alt. Both keys are left to the arrow keys. I thought you wanted to switch around also those two keys. That would be ticking a checkbox in the keyboard config afik.
> I'll give KDE a shot next time, but I think some apps I use heavily are actually GTK apps (such as Firefox), we'll see how it goes.
I also use Firefox. It uses GTK. But this makes no difference as Firefox does its own thing anyway. It uses GTK only under the hood.
The two most annoying things with Firefox are solvable: You can use custom.css to switch around the OK / Cancel buttons in dialogs (thankfully they don't use "real" GTK dialogs but some XUL, otherwise you would need to patch the GTK libs) and one can have proper file-dialogs by now through the desktop-portal interface. So Firefox remains its own thing but at least the GTK parts don't creep up anymore.
Oh, and global menu does not work in FF (even it works for "normal" GTK apps). Also they still didn't manage to make keyboard shortcuts configurable. But that are FF issues on any desktop or OS…
Same layout here. I want the key that's used for arrow-based text navigation shortcuts (Alt on MacOS, Ctrl elsewhere) to be physically the rightmost key, right next to the arrow keys, then I can press it with my index finger and press the arrow with another finger. Otherwise, if that key is farther from the arrow keys, I find it hard to press those shortcuts. At the same time, I want the key that's used for most system shortcuts such as Ctrl+N / Cmd+N to be under my right thumb because it's the strongest and otherwise underused finger.
So, on non-MacOS systems I end up wanting right Ctrl to be in two different places at once, since those systems use Ctrl for both types of shortcuts mentioned above. So unless I have a big enough keyboard to have two *right* Ctrl keys on my keyboard, I can't just remap the keys to solve this.
Whereas on MacOS it's fine as-is because it uses Alt for arrow-based and Cmd for other system shortcuts respectively, and those keys are already where I want them to be.
Anyways, this is getting too much about me, I doubt it's interesting to anyone. Cheers.
For those more familiar with Windows and probably most Linux conventions, Home/End won’t behave how you want but they move to the start/end of a scrollable view (which IMO is more useful).
In most any app ^a will be your Home equivalent and ^e will be your End equivalent. If that sounds weird or weirdly familiar… a subset of emacs key bindings are built in for basically all native macOS text inputs. If you get weird and hook up a full keyboard to iOS devices, works pretty much the same!
(I personally use ^t quite a lot because I accidentally rtanspose letters while typing all too frequently)
Cmd+Shift+, opens preferences in every app.
Alt+Left or Right (or Back or Forward) goes "back" and "forward", in every app that has those concepts
Cmd+Tab or Cmd+Shift-Tab switches tabs, in every app that has tabs.
Cmd+W closes the current tab by default, if the app has tabs, (or current window, if the app has no tabs)
Cmd+Q quits the app.
Etc.
What's again so special about macOS?
One needs only to avoid GTK stuff, Electron, and Windows Software, and one gets perfectly consistent behavior.
And those behaviors can be "even" configured globally! (That's something to mention specially of course when talking to Mac users as such an advanced feature like "configurability" is notoriously missing in the Apple universe).
Now, copy and paste. It is cmd-c in mac, in ubuntu you can’t tell me unless I tell you if I am in a terminal or not.
But most of all, readline shortcuts ctrl-a goes to the beginning of a line in nearly ever mac app. Not so in linux.
But the issues aren't Linux specific of course.
KDE is by now one of the most lightweight¹, stable, and usable desktops by far.
And KDE is completely configurable regarding look&feel. You can make it by now even look and behave like any other desktop with one click using global "themes" (the feature switches more than the theme; that's why I've put the term in quotes).
https://store.kde.org/browse?cat=121&ord=rating
¹ KDE beats mostly everything in this point, except maybe raw WMs and LXQt. Yes, it's more lightweight than say the GTK3 based Xfce by now… The "magic" lies to one part in Qt that gets optimized for embedded applications now for many years, and all the work in optimizing KDE itself after it got bad rep one and half decade ago for being bloated (which was indeed true back than; but they learned the lesson; only the internet FUD never dies).
So as long as one avoids all the inconsistencies then one gets consistent shortcuts? ;) Only using Qt apps on Linux is very hard. A lot of good apps are GTK or Electron. On macOS there is no GTK & Qt divide and Electron apps are very good at implementing macOS shortcuts. Hence you get more consistent bindings.
Also, many bindings are absent even in Qt app. For instance, on macOS you have Emacs-style bindings in every app (Ctrl+a, Ctrl+p, Ctrl+k, etc.). Those are very useful. You can get them on Linux (at leasts in GTK apps) but it's very hacky and it conflicts with a bunch of stuff, whereas they fit right in on macOS. Cmd+Shift+/ to search all menus is also super useful and I don't think you can do that on KDE.
> And those behaviors can be "even" configured globally! (That's something to mention specially of course when talking to Mac users as such an advanced feature like "configurability" is notoriously missing in the Apple universe).
If you don't think macOS can be configured then you are mistaken. It can't be configured to the extend that KDE can that is true (some of us consider that to be a feature). But a lot is still possible. As an example, kindaVim adds vim-style keybindings to every app which is kinda cool.
Not sure if this is what you're talking about, but KDE now has KCommandBar (or some name like that?), a HUD menu that can be invoked with Ctrl+Alt+I.
Though I as a KDE fan concede that the need for some GTK stuff is kinda disappointing, for me Firefox and Inkscape (can't care less about Electron stuff, though). Inkscape AppImages have turned out very handy, but alas the Firefox ones don't bundle GTK so you can't have a GTK-free system if you want to use Firefox.
Still though I don't think something as configurable as keyboard bindings are too much of a deal to promote or convince people about a DE or a OS.
There are even whole distris doing that… ;-)
I have hardly any GTK app installed and I would not know what I'm missing. (Firefox uses GTK but it has it's own UI anyway). Electron? That's the plague of modern times. Besides VSCode (which I will switch away in a blink as soon as the alternatives are ready) I don't use any Electron peep. Also here I would not know what I'm missing.
But of course, it's only me. YMMV
> Cmd+Shift+/ to search all menus is also super useful and I don't think you can do that on KDE.
Global menu is of course integrated in KDE. You can even use it form KRunner (of course with fuzzy search).
https://libreddit.northboot.xyz/r/kde/comments/r85jcz/tip_yo...
I think the idea of using a "HUD" in KDE is actually even older than the macOS feature.
https://github.com/Zren/plasma-hud/
> If you don't think macOS can be configured then you are mistaken.
Apple products are made for the mass market. That's one of the reasons they actually follow the same philosophy as Gnome. What this means regarding options everybody knows I guess:
Options are hard to maintain and "confuse the user".
So Apple products are dumbed down even more with every release. (They even replace perfectly fine working software with "touch-ware" in the attempt to make everything more tailored to the causal users).
That being said, your statements about macOS sounds like they are coming from someone who's never used it and are making a fairly uninformed straw-man opinions about it. For instance, the statement "Apple products are dumbed down even more with every release" is just demonstrably false. Apple products gets more features with every release. For instance, the last macOS release got Shortcuts, Focus Modes, and Universal Control. All of which are power user features.
Firefox is a mess! (On every OS I think). I'm already happy to have proper looking dialogs by now…
There is a feature request hanging around to be able to configure shortcuts in FF. Nothing happened until now. Since many many years…
That's the problem if there is no choice.
You can only use Mozilla crap, or Google spy-ware.
Imho a replacement for the whole insanity that "the web" is is long overdue. But I guess nothing will ever happen. (Except maybe if our future AI-Overlords would show mercy).
I'm sure there's other programs on MacOS that don't follow the global key bindings.
Out of the box, several short-cuts conflicts.
Moreover, on non-US keyboards, many MacOS shortcuts are simply not reachable.
Also, having ctrl and cmd be separate keys is a godsend. No, I don't want to kill the running app, I want to copy some text.
"[" on AZERTY french keyboard requires to type Option+Shift+5
"]" on AZERTY french keyboard requires to type Option+Shift+)
I can't even imagine how the equivalent of Cmd+[ could be a "shortcut".
I think I'm not alone in this approach; I wonder if this project has the change to be as rock-solid as Apple's offerings. If not, I'm guessing it's not for me.
My father even did the 20.10 to 21.04 LTS upgrade himself! I highly doubt if windows would've been as smooth an experience.
(Macs are out of question for us since none of us are rich!)
I'm not saying Pop is bad, but Windows upgrades are super easy and user friendly (if you ignore the privacy risks that come with using Windows). I wish common Linux distros would pack something like system restore by default already! I know these tools (based on BTRFS/ZFS snapshots) exist and work great, but they need to be set up manually and most people won't.
You might say it wasn't the best distribution for reliability, or that graphics with NVidia are always an issue etc. but the fact remains that, for me, for an OS to "just work out of the box", MacOS is much better.
[I'm also not a Linux n00b, been using it for over a decade, though not an expert for sure]
There is one way to run nvidia stuff on Linux and have a decent experience: run a distro that actually support and has partnership with nvidia, which mean a distro like Redhat Enterprise Linux. It has long term support too.
It is the same with Apple or windows if you start using shitty drivers from a shady brand you will run into issues at some point.
My way is rather: I don't want to even pollute my brain cache with that. I want a Computer with an Operating System that Just Work. Because for me tinkering with the setup of my desktop is not fun, the fun bit is what I do with a properly working computer. I'll pay a premium to Apple for that (though, mind you, MBP is competitively priced with similarly-performant laptops), and I'd pay that same premium to a laptop+Linux provider.
Except... my confidence in the latter working well is lower. Because apart from fixing broken graphics drivers, I've also had to, in my days, debug:
- package managers that somehow got themselves into a bad state
- fight with linkers when trying to build fairly benign stuff on my desktop
- don't even mention printing
and many other things I don't even remember anymore.
That is exactly what you did by choosing Apple.
If you go on the redhat website and choose certified system you can pick your hardware from any vendor the same way you choose your Apple machine on the Apple store.
My experiments with macOS actually had the same problems you list, though I haven't tried printing more than once. MacOS comes with ancient Unix tools and you end up downloading half a Linux install over Brew when you try to compile stuff, and now you have added an external package manager you need to deal with to as system that doesn't really support one.
Mg experience with package managers is that if you ignore the warnings (adding --force to overrule errors, adding external repositories that replace system libraries or aren't maintained, mess with config files to override same defaults, mix package managers (apt+global pip = hell)) you won't see them break themselves. I've broken Windows installs by messing with my system in similar ways, though there never seems to be a solution when this happens other than a reinstall. Trouble mostly comes from outdated, misguided guides found on Google that'll ignore any best practices for your opersting system and set things up Their Way, turning your install into a ticking time bomb when the writers have long had to reinstall their operating system without ever updating their guides.
All operating systems I've tried are bad in their own way. Windows worked great until 8 came out. MacOS works well enough if you don't mind Apple's control/decisions/limitations and accept the risk of buying a faulty device that the company will deny all the way up to class lawsuit settlements. Linux works well if you're lucky with your hardware. The BSDs work well if you don't plan on doing all that many things the OS isn't equipped to do out of the box and if you don't have any weird hardware.
Sounds strange because both Linux and MacOS share the same Cups software for printing. AFAIK Cups main developpers are employed by Apple.
I haven't run into any hiccups these last 15 years. Everytime I was in the market for a printer I just verified it was supported well on openprinting.org. On my current printer I just needed to install one rpm.
Compare that to all the crappy software that was installed on my gf windows 10 laptop, involving a reboot, annoying popups telling you about ink level on every print and an app loading up at startup to stay in systray.
I like to mention that I used for 18 years a scanner on linux and bsd perfectly while it was out of support in Mac and windows since 2001. It wasn't even a device that would have used very old connectors impossible to find on modern hardware. It was using USB! In that particular case I don't think that Mac really accounts for what you'd call a "Just Work" experience.
With partial open sourcing efforts I predict that the nvidia situation will improve a lot the coming years, luckily. Until then, don't blame people who try Linux for nvidia's problems; there is no user friendly guide to find what hardware is supported how well for Linux and its kernel updates.
Furthermore, even supported drivers are a mess sometimes. There was a bug in the Linux kernel for months where the kernel would freeze up less than a second after boot if you had an Intel GPU and were using a second screen through DisplayPort. My laptop didn't have audio on anything but a beta driver package when I bought it. Ubuntu and friends simply couldn't use modern Intel graphics with multiple displays or hardware acceleration because the drivers were never backported to an LTS supported kernel. One in five times, my Manjaro install kernel panics on boot when switching from text mode to graphics mode, with no obvious way to debug; I was advised to get two USB to serial port adapters to debug the issue which would likely help, but I don't want to bother to be honest.
The world of Linux is full of driver issues, mostly graphics and sometimes audio, that are impossible to even debug without a second computer and a few years of Linux experience. Many common peripherals lack any kind of Linux support as well. The "shitty drivers" come from every brand on every product range and the only guaranteed method to work with you at stuff you'll find is to never ever upgrade your install once you get everything working.
I want Linux to be better for everyone, but overlooking its obvious flaws and blaming users won't get that done.
Ubuntu is a mess that introduces config-breaking changes every release and rides the already existing market. If Canonical tried to release their products nowadays without their track record and existing user base, they would never succeed.
The peak Linux experience for a Just Werx focused end user is probably openSUSE Tumbleweed on KDE or XFCE. Batteries included, fast and extremely hard to break package manager, YaST2 configuration manager, and lots of user repositories.
If you're saying upgrading between releases causes problems.. well that's true but not how I read the original statement, and not something I particularly care about. Each release is a different product and there's no reason to update until support is dropped on the one you're currently using.
I try desktop Linux again every year or two[0]. It's always just as bad as it's always been. Way more application crashes than I'm used to on macOS, jankiness galore, all the stuff I used to avoid doing out of habit because it often breaks things on Linux (and to some extent also on Windows) but am now used to doing because it's fine on macOS is still often a bad on Linux (e.g. drag-n-drop actions). Lots of little annoyances like the default US English keyboard layout being crap for no reason on most distros, which, sure, I can change it, but why not have a good default? Still nothing as good as Preview on any platform other than macOS, AFAIK, which hurts quite a bit.
I think there was about a two-year high point in the late '00s when Ubuntu was just curating good defaults and smoothing things out and the future looked really bright, then Ubuntu rapidly deteriorated and it's back to how it had been before then, now, just shinier because of all the mostly-mediocre-or-bad GUI changes in the major DEs since then.
My next attempt, I'll probably just shoot for the holy grail of FreeBSD on the desktop. Linux seems like a lost cause at this point. May not be any better but a lot about it sure is way saner than Linux-land, so, worth a shot. Great on servers, certainly. Not expecting much because it's mostly the same as Linux in the GUI department, though.
[0] Last time: Ubuntu and Fedora (I don't like rpm-based distros, but thought I'd give them another shot), plus tried Void for the first time which was pretty great actually but I just don't enjoy fiddling with configs anymore so, it's a no for me.
Even the UI conventions that let you use the keyboard instead of the mouse are now often broken by Apple itself (it impacts power users more than impaired people since accessibility features are still good).
And no containers - those require you to run a different kernel on a VM.
Frankly I feel that macOS went back to being like Mac OS 9 in a lot of aspects - it's just enormously bigger and has a proper foundation but the UI is again mouse centric and proprietary and the system is more tightly coupled than ever with the hardware
global menu
swift as a first class language
swiftUI like API
and you get my support! i'll donate
Either use Windows with WSL2, or Debian, or FreeBSD with some GUI, or MacOS.
Regardless of what OS you use - you will be using a Browser, Terminal, File Manager and VS Code/Rider/Visual Studio, emacs/vim. GASP
Enough of this distro hopping - it is the moder-day procrastination.
One of the main benefits of macOS is perfect hardware support. Linux has a definite edge on all other free software kernels here.
I hope they succeed, regardless of technical decisions.
Insofar as you have perfect support for the very small subset of hardware that computers running macOS can have. I'm sure you could get similarly perfect hardware support on Linux by being careful about which hardware you run it on.
I donated to marcan in the hopes that someone now will.
There should be a free software OS installer that is as easy to use and supports as much hardware with full functionality as the Apple OS installer. Apple has already done the heavy lifting of a well defined hardware target.
"does it run homebrew" is my lead question
The situation is even more Linux-centric on Mx.
I think, thats the target. not 'run it on my mac' but 'be like a mac, running on my Lenovo PC, which already supports FreeBSD well[*]'
[*] does not always work well with blob demanding devices == 802.11/GPU
Or even better, a better package manager that isn't slow as hell and understands semver.
Edit for people using macOS: if you want to install one thing without waiting to update unfold numbers of other things, hilariously Cakebrew (a GUI frontend for homebrew) will let you do that with homebrew as the package manager.
If you’re doing this kind of things, you’d better be producing and selling your reference laptop/desktop computer too.
Otherwise all I expect from seeing the FreeBSD logo is 2005-ish hardware support nightmares (thanks but no thanks, I’m not a teenager anymore).
The interesting part in Apple products is mostly the hardware.
The ability to just type and search through all menu items saved me so much time!
While I think that your take on Apple UI/UX not being good is rather contrarian (given that many quote them as some of the best in the industry), I agree that using Ubuntu with Unity was actually a reasonably pleasant experience, at least in the later years when they had addressed most of the quirks that the earlier versions struggled with.
Then again, I'm the kind of person who is also served perfectly well by something as simple as XFCE or LXQt, so maybe I'm a bit biased and my standards aren't the highest. Yet, I really appreciate a UI that's functional and feels snappy.
My only gripe is I wish firefox would integrate it better instead with an UI similar to (now defunct?) Eolie web browser.
Also I haven't spend enough time with it recently but I think kde plasma has the flexibility to be probably as good as gnome. I just don't like the default settings and have always been too lazy to dig deep into it. I used to love kde3.
When people way gnome3 do they really mean gnome3 or gnome3..gnome43?
I really like Gnome 42 and improvement that can be seen in 43, but I didn't like gnome3 at all
Ironically the same happened in the kde world a few years before. I had been a very happy user of kde 3.x and kde 4.x happened to be a crashy pos and it only really got better with kde5.
The Google of X The Apple of Y The Amazon of Z
It's almost always hype and it's annoying. It's as if they think they deserve credit for the intent, or the goal, rather than the actual product.
If what you want is to replicate the MacOS X UI you can customize the UI of your DE on Linux, or use something like ElementaryOS or use Pantheon.
What are the goals of this project?
Could we use Mac compatible apps in place of windows ones if Linux isn't available? Games? Productivity?
Stop chasing the look of MacOS. Replicate it's functionality and feel first.