←back to thread

511 points ayaros | 1 comments | | HN request time: 0.213s | source

https://lisagui.com/info.html

This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.

This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.

Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!

This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.

I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.

Show context
rbanffy ◴[] No.44488515[source]
In many ways, the Lisa is more sophisticated than our current GUIs. In particular, I liked the way applications meshed into the system and disappeared into stationery - if you want to create a document, double click on its corresponding stationery stack and a new document is created. No need to find open Excel (or LisaCalc).

IIRC, Windows 95 briefly had this in the form of a Templates folder. You added files to that folder and then you could create new copies of those files from the context menu. I don't remember it persisting into other versions of Windows.

replies(3): >>44488610 #>>44490392 #>>44491224 #
1. thesuitonym ◴[] No.44491224[source]
> if you want to create a document, double click on its corresponding stationery stack and a new document is created. No need to find open Excel (or LisaCalc

This is a cool idea, but not really as practical, at least, not in the way it's presented here. To create a document, you first have to have an existing template of that type. What happens if you delete all of your templates? Even in our small demo environment here, it's such an obvious flaw that the author keeps templates on a RAMdisk. But even without that problem, you have to know where your templates are saved. I was surprised to find a drawing app.

One way to potentially fix this is to just allow document creation from the global File menu. File > New > LisaType Paper. Of course, if Lisa had been successful, this would break down, too. Imagine a menu with LisaType Paper, LisaCalc Spreadsheet, Lotus Spreadsheet, Lotus Document, etc, etc.

But it is a very elegant system, and I wish we could have seen a world where this desktop metaphor survived, so we could see how those problems would have been solved.