- OS.js ist eine Open-Source-JavaScript-Plattform, um im Browser eine Desktop-artige Umgebung zu erstellen
- Enthält einen Fenstermanager zum Anordnen und Verwalten von Fenstern, sodass Web-Apps wie auf einem Desktop organisiert werden können
- Bietet eine Application API sowie ein GUI-Toolkit für die Entwicklung von Anwendungen
- Dateibezogene Funktionen werden über eine Dateisystem-Abstraktion behandelt
- Fensterverwaltung, App-Entwicklung, GUI und Dateiverarbeitung sind in einer Plattform gebündelt und können als Ausgangspunkt für die Umsetzung eines Web-Desktops dienen
Von OS.js bereitgestellte Komponenten für einen Web-Desktop
- OS.js ist eine Open-Source-Web-Desktop-Plattform auf JavaScript-Basis
-
Desktop-UI
- Enthält einen Fenstermanager und unterstützt damit den Aufbau einer Desktop-artigen UI
-
Anwendungsentwicklung
- Bietet eine Application API und ein GUI-Toolkit und bringt damit die grundlegenden Bausteine für die Entwicklung von Apps für Web-Desktops mit
-
Dateiverarbeitung
- Dateibezogene Funktionen lassen sich über eine Dateisystem-Abstraktion handhaben
1 Kommentare
Hacker-News-Kommentare
Nebenbei: https://windows93.net/ gefällt mir unter den Web-Desktop-Konzepten bisher am besten
Windows 96 ist auch ziemlich gut
https://windows96.net/
Internet-Betriebssysteme sind eine Nische, die ich spannend finde, daher habe ich auf meiner Website eine Liste angelegt. OS.js werde ich demnächst ebenfalls hinzufügen
Falls ihr sie sehen wollt, hier ist sie:
https://www.whoisthisjoker.com/jokerlinks/virtualoperatingsy...
[Bearbeitet] Hacker News scheint Markdown nicht zu unterstützen, daher habe ich es lesbarer gemacht
Dass im „Boot-Log“ Safari is teh new Internet Explorer steht, ist ironisch. Safari ist eine der letzten beiden Säulen gegen die vollständige Dominanz von Chrome, während Google versucht, WEI mit Gewalt durchzudrücken
Das offene Web stirbt, und ich denke, solche Botschaften tragen zu diesem Tod bei
In eine ähnliche Richtung gehend finde ich Windows RG (really good edition) am besten: https://www.newgrounds.com/portal/view/27549
Bei auf 100 % gestellter Lautstärke sollte man besser nicht auf dieses Hamster-Icon klicken :S
Witzig, besonders wenn man Windows 95 benutzt hat
Nachdem in letzter Zeit viele solche Dinge auf HN auftauchen, habe ich einen Blogpost [1] über das Phänomen geschrieben, dass Web-Desktops wieder populär werden. OS.js war eines der frühen Projekte, die ich seit ein paar Jahren verfolge, und es ist wirklich gut entworfen und dokumentiert
Das Interface erinnerte mich immer an Distributionen mit GNOME 2 aus der Mitte der 2000er, was mir gefiel, weil die meisten nostalgischen Web-Desktops Windows-9x-Themes verwenden
[1] https://system31.simone.computer/blog/desktops-zip
EyeOS hat so etwas schon um die Jahrtausendwende herum gemacht:
https://en.wikipedia.org/wiki/EyeOS
Das erste Release von OS.js kam mehr als zehn Jahre später, etwa 2015
Witzig, dass das schneller und reaktionsfreudiger ist als mein echter Windows-Desktop-Fenstermanager. Besonders bei Dingen wie dem Öffnen von Apps
Es ist seltsam, dass Windows 11 selbst auf aktueller Hardware so langsam ist. Selbst mit moderner CPU und 16 GB RAM dauert es ziemlich lange, bis Dinge laden, und im Vergleich zu einem MacBook Air in ähnlicher Preisklasse wirkt es sehr träge
Ich kann mir kaum vorstellen, dass dieser Unterschied an der Hardware liegt. Der M2 ist zwar schnell, aber Intel der 12. Generation ist nicht um Größenordnungen langsamer, sondern verbraucht nur mehr Strom
Also ist es ein Softwareproblem. Traurig, wenn man bedenkt, wie gut der Kernel der NT-Familie war; darauf wurde dann ein immer schlechteres Betriebssystem gebaut. Dass der Desktop-Marktanteil von fast 100 % auf heute ungefähr 60 % gefallen ist, ist selbstverschuldet, und es wirkt nur wie eine Frage der Zeit, bis sie den Weg von AOL oder Yahoo gehen
Um diese Aussage zu testen, habe ich im Brave-Browser gezogen, und auf einem 12-Core/24-Thread 5900X fror der ganze PC für 2 Sekunden ein
Die Tetris-Blöcke scheinen nicht am Pixelraster des Canvas ausgerichtet zu sein, wodurch unnötiges Antialiasing entsteht. Deshalb wirken die Blockränder ständig unscharf
Zur Behebung müsste man eine „Putztuch“-App hinzufügen, die der Nutzer über das Tetris-Canvas ziehen kann, um die Blöcke horizontal um 0,5 Pixel zu verschieben
Noch besser wäre es, nur die Blöcke zu verschieben, die sich mit dem Putztuch überlappen :)
Bis dahin kann JavaScript den richtigen Offset automatisch berechnen
Ich dachte, alles würde per canvas gerendert, aber das ist nicht der Fall. Es nutzt HTML und verwendet canvas nur für Dinge wie Paint
Leute unterschätzen, wie viel Gutes CSS beim Erstellen von UIs bietet
Wenn man alles in canvas baut, muss man Dinge wie flexbox neu implementieren, um Icon-Texte, Boxen, Buttons usw. zu zentrieren, auszurichten, zu strecken und zu animieren
Wenn es doch bereits eine implementierte und auf praktisch allen Plattformen hochoptimierte Layout-Engine gibt, warum nicht einfach bei HTML bleiben?
Tatsächlich lässt sich alles nur mit HTML machen. Meine Desktop-Umgebung verwendet möglichst semantisches HTML und modernes CSS wie grid für das Icon-Raster
Allerdings denke ich darüber nach, irgendwann alles als WebAssembly komplett neu zu schreiben und vollständig auf canvas zu setzen. Das wäre viel leichter auf andere Plattformen zu portieren und würde die Chance erhöhen, irgendwann den Browser verlassen zu können
Das war auch das Erste, was ich geprüft habe. Zu sehen, dass sogar die Farbeingabe-Slider und Range-Inputs in HTML umgesetzt sind, war ziemlich schön
Ich habe einmal ein ähnliches Konzept für privaten Internetzugriff auf Dateisysteme gebaut. Hier ist es: https://github.com/prettydiff/share-file-systems
Fenster- und Zustandsverwaltung kann man als Demo auf meiner persönlichen Website sehen: https://prettydiff.com
Damit haben wir ein weiteres Betriebssystem (einen Compiler) auf Windows gebaut, unserem Betriebssystem, auf dem unser Betriebssystem, der Webbrowser, läuft, auf dem OS.js läuft
Seltsamerweise bekomme ich Lust, so etwas zu bauen oder auszuprobieren, aber gleichzeitig fällt mir kein echter Use Case ein
Stell dir vor, du kaufst einen neuen Laptop und musst nichts installieren. Alle Programme, Dateien und Einstellungen liegen in der Cloud, und Programme können Dateien direkt aus dem Cloud-Speicher öffnen, ohne sie erst herunterzuladen. Dadurch müssen Nutzerdateien und Dokumente nicht auf dem Gerät gespeichert werden
Wenn das Gerät nur einen solchen Desktop ausführt, könnte ein solches Internet-Betriebssystem am besten auf Chromebook-artigen Geräten mit minimalem Speicher für Systemdaten laufen. Man könnte sie darauf beschränken, nur den Internet-Desktop auszuführen, und die gesamte Konfiguration in der Cloud speichern, sodass sie nach dem Login automatisch eingerichtet wird. Dann braucht man nur noch die Hardware, und sie ist sofort nutzbar, ohne sich um Einstellungen, Installation oder Treiber kümmern zu müssen
Das passt nicht zu jedem Nutzer und jeder Situation, kann aber in bestimmten Szenarien sehr nützlich sein
Der Use Case ist die Rückkehr zum dummen Terminal. Viele Unternehmen nutzen bereits Remote Desktop und VPN so viel wie möglich, aber viele würden ihren Mitarbeitern gern Geräte ausgeben und das gesamte Betriebssystem aus der Ferne laufen lassen, sodass diese Geräte im Grunde Terminals sind
Dann verbleiben 100 % der von Mitarbeitern erzeugten Daten auf den Servern und im Netzwerk der Organisation. Das heißt nicht, dass es eine gute Employee Experience ist, aber es ist ein klarer Use Case
Erinnert mich an Buddy Pond https://buddypond.com/
Auf dem Handy konnte ich Tetris nicht spielen, weil man zum Starten die Leertaste drücken muss
Einerseits finde ich solche Dinge cool. Warum wurde es gebaut? Vermutlich, weil es möglich war
Andererseits frage ich mich trotzdem, warum man so etwas baut