I just want to say that OLD Mac applications were exactly that, too -- even the OS was basically just "Finder" and "System", that was it. Dragging those two files to a different floppy (and swapping them 12 times to complete the copy) gave you a bootable disk. Meanwhile Windows apps were hundreds of files ... then eventually Mac apps went the same way, although not as wildly.
If Haiku actually does (6) as I imagine it, that's actually something I had no idea about and probably deserves its own article. Ditto (4).
I'm genuinely glad to hear about future plans for (3) and (5).
These are the kinds of features that would make it more appealing to me than a Linux distro despite some of its current shortcomings.
Audio & video mixing is done via "Cortex". Looks like we don't have great documentation for it yet, but here's an old screenshot: http://maurice.kaldience.com/wp-content/uploads/2008/03/haik...
Regarding scripting on Haiku, here's a basic introduction to the main CLI tool: https://www.haiku-os.org/blog/humdinger/2017-11-05_scripting...
Indeed, now that I think back I believe that was ultimately what you clarified about my misunderstandings of Haiku and package management.
What still baffles me somewhat that it seems normal (non-ported) Haiku applications are actually made less flexible by packaging them because they 1) have no non-base-system dependencies and 2) hpkgs only work from certain locations (IIRC currently hardcoded but could potentially be configurable).
Cortex does look a lot like the kind of system I'm thinking of. That's wicked cool. When Haiku supports hardware accelerated video one imagines they could stick arbitrary shaders in the video pipeline to accomplish some useful, or at least really neat, things. I know built-in audio routing functionality would save me a lot of time on the Halloween display each year, maybe I should look at doing that with Haiku next time.
I see this quote in the comments about 'hey': "hey is not a tool to send generic BMessages", which seems like a missed opportunity from way out here at 100ft. Otherwise the only thing that seems needed for GUI exposure is a script editor with 'record' functionality and perhaps some kind of manager for how scripts are tied to system events.
Your home directory is your profile/account (what's the difference on a single computer?).
MacOS has some good ideas. 1 and 2 actually apply to a lot of OSs from the 90s. Good luck finding a spacial file manager today though.
> Your home directory is your profile/account (what's the difference on a single computer?).
The difference is that there is no OS concept of an "account". Right now, you can't take your home directory between systems and have it just work because the OS needs you to have a user account. If your user ID on the new system is different from the old one then your file permissions will be broken.
The idea is, that the OS doesn't really care about protecting the machine from the user in a personal computing scenario. It does, however, care about protecting the system and the user's data from malicious applications, so that's where the permissions should be.
You can get Finder to open each item in a new window and hide the sidebar to make it spatial-like, although I am not sure if there is a method of making "open in new window" the default.
I think the separation of account and profile is a difficult concept, unless the directory had a specific UUID associated intrinsically with it so that permissions could be applied to objects that didn't know about "users"?
As I recall, Pottering is actually working on portable home directories for Linux. Naturally, the solution is over-engineered and involves a new service and file format.
After I went to Mac I didn't look back. Now I look at the mess and debate of SysV, DHCP server in the startup etc. and can only imagine that this home system concept will be the same. As you say, over-engineered and unreadable. Ugh.
My opinion, short version, hastily written, and incomplete:
1) Applications are self-contained objects that can be simply copied and deleted instead of installed and uninstalled. They should run from any location on any media. AppImage implements this in Linux and modern Mac application bundles are already this, but the concept goes back to almost the beginning of desktop computers.
2) Spacial file manager (MacOS), drag and drop saving (RiscOS), desktop and quick-launch menus are just views of a folder structures (Windows).
3) All applications in their own namespace and they only get access to what the user configures for them (do not do "allow/deny" popups!).
4) Everything scriptable and something like AutoHotKey built into the OS at a fundamental level.
5) Switchable "user profiles" instead of "user accounts", which are an artifact of giant shared computer systems. User profile just contains personalized settings and can be located anywhere, including removable media so you can take yours to other computers. If you want to keep things safe from others, encrypt them. Otherwise there are no permissions except those applied to applications themselves.
6) Sound and video should be routable like you see in DAWs. Plug outputs into inputs, add filters, split, mix, etc. This is of course scriptable so you can make it do what you want on arbitrary events.
7) Backwards compatibility should be a high priority, but accomplished via shim layers and/or emulation and/or vms when clean breaks are necessary. A wide array of such should be included with the OS from the beginning. In 2020, there is no excuse for not being able to run old software.