-
Notifications
You must be signed in to change notification settings - Fork 57
Home
This repository is currently just a placeholder for this wiki, where ideas are collected on hello. Partly inspired by my six-part series about #LinuxUsability.
- Build a modern, elegant desktop operating system that matches the simplicity of Macintosh System 1
- Binary compatibility (newer apps always must run on older versions of the OS)
- https://www.folklore.org/
- Oral History of Andy Hertzfeld and Bill Atkinson, https://archive.computerhistory.org/resources/access/text/2013/05/102658007-05-01-acc.pdf
- Learn from Mac OS X how to suck less at system integration https://github.com/AppImage/appimaged/issues/30
- My six-part series about #LinuxUsability https://medium.com/@probonopd/make-it-simple-linux-desktop-usability-part-1-5fa0fb369b42
- History of GNOME and Eazel https://en.wikipedia.org/wiki/Eazel
- Launch Services https://developer.apple.com/documentation/coreservices/launch_services
- Apple WWDC 2000 Session 144 - Mac OS X: Application Packaging and Document Typing https://www.youtube.com/watch?v=qQsnqWJ8D2c
- Apple WWDC 2001 Session 114 - Application Packaging and Document Binding https://www.youtube.com/watch?v=e7TOAsL-CPY
- 2018 Desktop Linux Platform Issues https://media.ccc.de/v/ASG2018-174-2018_desktop_linux_platform_issues#
- Simplicity wins
- Make it no more complicated than Macintosh System 1
- https://github.com/AppImage/AppImageKit/wiki/Design-principles
- Debian or Ubuntu based
- The operating system is contained inside a single read-only image that the user cannot mess with (think of it as the "System" file in Macintosh System 1). This is booted using SystemImageKit
- AppImages are used for the applications
- A custom or customized desktop environment is used that uses concepts (not: copies the look and feel of) Macintosh System 1 and Mac OS X around 10.4, e.g., global menus, application bundles, no launcher, no applications menu, no app store, just drag-and-drop in the file manager
- (At least) the ABI guarantees and lifecycle of RHEL/CentOS
- Stand on the shoulders of giants
- Change the world
- Build another "Linux distribution" (use an existing one "under the hood")
In the original 1984 Macintosh desktop, every application was a single file that could be freely moved around in the file system. No installation was necessary. The system used a desktop database that automatically associated files with the applications that had created them (using the type and creator resrouces). The desktop information was stored in two files, Desktop DB
and Desktop DF
).
Source: Wikipedia
Note that when after the merger with NeXT, Apple went on to create Mac OS X, they explicitly stated in 2000 (16 years after Classic Mac OS) that it was their objective to match that level of simplicity for modern applications.
(Source: Apple WWDC 2000 Session 144 - Mac OS X: Application Packaging and Document Typing, 3:22)
NeXTSTEP was an operating system launched by Steve Jobs' NeXT Computer in the late 1980s and is the predecessor to today's macOS. It had a concise concept application system integration. Let's the system describe itself:
Source: https://medium.com/@probonopd/make-it-simple-linux-desktop-usability-part-6-1c03de7c00a9
This is how NeXT Workspace Manager (in 1989) automatically handled file associations using the Apps directory. Note that no files (other than the application itself) have to be copied around, no databases have to be manually triggered.
The applications themselves were directories that the file manager showed like files, but the terminal showed like directories:
Source: https://medium.com/@probonopd/make-it-simple-linux-desktop-usability-part-6-1c03de7c00a9
NeXTSTEP 1.0 filesystem in Terminal vs. Directory Browser GUI
When Mac OS X was created around 2000, Application Packaging and Document Typing merged the simplicity of Classic Mac OS single-file applications with the benefits of NeXT-style application directories, and introduced a new bundle format and Launch Services. This is explained in detail in
- Apple WWDC 2000 Session 144 - Mac OS X: Application Packaging and Document Typing https://www.youtube.com/watch?v=qQsnqWJ8D2c
- Apple WWDC 2001 Session 114 - Application Packaging and Document Binding https://www.youtube.com/watch?v=e7TOAsL-CPY
- hello Desktop: What draws the global menu bar, windows etc. ("desktop environment" including "window manager" in Linux terminology?)
- hello Filer: File manager (Finder replacement, "Filer"?), e.g., based on https://github.com/rodlie/qtfm with support for AppDir and AppImage and SystemImageKit so that you can manage the system and the apps by drag-and-drop in the file manager ("File manager" in Linux terminology?)
- hello Launch Services: The equivalent of https://developer.apple.com/documentation/coreservices/launch_services (has no Linux equivalent as of yet?)
- hello System: Live ISO image containing the above components, e.g., based on CentOS (known for its ABI stability guarantees)