Skip to content
probonopd edited this page Nov 19, 2022 · 48 revisions

Welcome to the hello wiki!

helloSystem was partly inspired by my six-part series about #LinuxUsability. I started developing helloSystem mainly by removing what I don't like about other open source desktops as a early and longtime Mac user (frustrated with it becoming increasingly locked down like iOS).

Objectives

  • Build a modern, elegant desktop operating system that conceptually matches the simplicity of Macintosh System 1
  • Binary compatibility (newer apps always must run on older versions of the OS)
  • Visual elegance matching the conceptual elegance (check out the work of people like https://alexanderustinov.tumblr.com/... let's collect some more here)
  • Lots of polish
  • Dedicated to personal computer desktops with as little complications as possible (no server stuff, no mobile stuff)
  • Be able to run the "Libre Graphics Suite"
  • Be able to run on inexpensive devices (e.g., ARM-based embedded systems)

Must read

Must watch

Design principles

  • Simplicity wins
  • Direct modification of objects (e.g., each object in the filesystem is shown in one place only and has its properties like icons etc. on itself, not in some other files)
  • Make it no more complicated to use than Macintosh System Software 1.x
  • https://github.com/AppImage/AppImageKit/wiki/Design-principles
  • The system = one file
  • Each application = one file

Technology

  • FreeBSD based (not Debian or Ubuntu because the "Linux Desktop" is a mess beyond repair) (Update 2022: http://hackerpublicradio.org/eps.php?id=3705 explains how to use FreeBSD on the desktop)
  • Or Haiku? Is Haiku actually "hello" done consequently (whole stack)?
  • 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

What to do

  • Stand on the shoulders of giants
  • Change the world

What NOT to do

  • Build yet another "Linux distribution" with a Mac theme on an existing desktop environment

"As a Mac user that went FOSS I can say, I am tired of the other DEs putting liptstick on the pig. All the changes are just superficial. - @dszidi"

Visual Design

Prior Art

Other systems

Classic MacOS

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).

apple_macintosh_desktop

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.

screenshot_2018-11-24_11-04-27

(Source: Apple WWDC 2000 Session 144 - Mac OS X: Application Packaging and Document Typing, 3:22)

NeXTStep, NeXTSTEP, OPENSTEP

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:

next1

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:

filesys

Source: https://medium.com/@probonopd/make-it-simple-linux-desktop-usability-part-6-1c03de7c00a9

NeXTSTEP 1.0 filesystem in Terminal vs. Directory Browser GUI

GNUstep

GNUstep is a framework for GUI desktop applications and server applications that closely follows Apple's Cocoa APIs and is portable to a variety of platforms and architectures. According to its homepage, "the completion of a desktop environment is done by other projects like the The GNUstep Application Project or Etoile".

Mac OS X

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

BeOS

Comparative screenshots of prior art

https://guidebookgallery.org/screenshots/

What is being built