The Portable Distributed Code Editor
The Portable Distributed Code Editor

Sunday • October 9th 2022 • 6:50:29 pm

The Portable Distributed Code Editor

Sunday • October 9th 2022 • 6:50:29 pm

All serious UI applications, should be shipped as local HTTP servers.

To avoid walled garden fees, and malware fear mongering.

That is to say, you lunch a process, that open a port, that the browser connects to.

Use the browser, because here, the applications can be accessed remotely.

They can be shared, cross connected, distributed, and even launched from a portable computer, like the RPi.

We can't have executable files, it is over, greed, and ideas like containers that then can't shell out programs on your machine broke it all.

And it was already pretty messed up, when you had to compile free software, and most of the time it took to long.

The editor, must be available remotely, it must hold all your software, and everything you need.

This means it is a self hosted program, and because it will use HTTP, JavaScript, and HTML on the client side.

It must use a JavaScript runtime on the server side, not CoffeeScript, not TypeScript, not go, not closure, just JavaScript.

Follow the technology of the web, don't be a sucker.

And the user interface, HTML and JavaScript have the unique ability, to make a code editor happen be it CodeMirror or Ace, and the other ones too.

I am sure new ones will keep coming, so the hard part is taken care of.

And the easy part, is elimination of files.

Files don't represent the structure of programs, graphs or diagrams can do that, but not files.

This is an old, and new user interface, it is just a tree, and there is a million ways to decorate it.

The pro, will just nest some HTML tags, the artist will demand a Visual Programming Language with Nodes that have Ports.

The novice, will prefer Apple Finder Panes, as in Federated Wiki, or something like the old Apple Automator, but with a lot more feedback.

And that is it, files and dependencies are generated as needed, they are not a critical part of a program.

As bad as we were made to look by large companies, we also took to using boiler plates, and this is not how a programmer does.

No More Files, no more pecking at popups.

No more multiple functions in the same editor, no more unit tests as an outside file.

One function per note, optional schema per input and output, and a spot for a unit test.

If you are ready to quit your job, and run your won company.

Then enable BDD per every node in your program tree, describe your function, set a bounty, and focus on more important things.

In this brave new world, nodes are simple, they are modular, often published as open source with a username prefix.

And programmers are encouraged to each build their own editor, it looks great on a portfolio.

Artwork Credit