Live data from Hacker News

Ask HN: More “experimental” UIs for editing/writing code?

news.ycombinator.com

1–10 of 137 posts

Ask HN: More “experimental” UIs for editing/writing code?

#1
There is a bunch of editors with the traditional model of inserting text with the keyboard, arrows move the cursor around, you click around in menus/using hotkeys to perform actions (Visual Studio Code, Atom, Eclipse). Then there is the "modal" editors that have different modes where you can switch between for example "editing" or "movement" modes, and what your keyboard controls depends on the mode you're in (editors like Vim). Otherwise there is also very interactive and extensible editors, where eval basically lives within/together with the editor (Emacs, LightTable)

Otherwise, most editors fit in somewhere along those lines.

But what other editors is there out there that have something really different for editing/writing code? Things that come to mind is "editors" like Scratch where you aren't really "editing" code with your keyboard, but moving things around instead. Or, if I imagine I'd create a editor for programming controlled by a joystick, what kind of UI and UX would that editor have?

Re: Ask HN: More “experimental” UIs for editing/writing code?

#2
I like it...

Joystick, pedals, rudder controls, driving a constantly-forking code prediction interface on screen which is helping determine your next line of code based on where you drive or fly. Thinking about PilotWings, where you have targets, but you can choose between them.

Each drive or flight is a context, IOW the area inside the brackets / indentations in your editor. Switch contexts very, very fast using something like even holding down a joystick button and moving the joystick, for example. So you'd have all these environments to fly in, and they could even be generative, unfolding as the code characteristics specialize.

Bonus, attach a big knob somewhere, like on the joystick, for timeline control, which would be like undo / history. What do they call this thing on old video editors? Seeker? Spinner? I forgot.

But this is just using one metaphor, in a very on-the-nose sort of way. I'm sure there are tons of different ways to go...

...like sometimes I wish I had a foot control that would recognize the cadence of my feet moving and use that for workspace (mind) suggestion, direction, and control. Ah well, maybe in the future.

Interesting q! No matter what you do, it'd suck in some ways, but it would also have some advantage, some unique thing, and IMO that's the really interesting part. Like maybe the joystick tool I described would be best for prototyping or scaffolding or who knows what.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#3
There's definitely a world of no-code/low-code platforms, and if you're working purely with data then it might be effective. Node-based programming is readily available in certain other fields as well (Blender does this for shader programming, as do some game engines).

As for "real world" proliferation of these tools, I'm not sure I'd get my hopes up. Compiling code is ultimately about moving things from one text format to another, so having direct control over your input/output is integral to working quickly. One might even suggest that having so many keys on a modern keyboard contributes to how much entropy the average programmer can generate in a short period of time.

I think the real boon is going to be more visual, interactive debugging going forward. Modern resources like LLVM seem underutilized to me, and as we improve LSP support for IDEs we're going to end up with really robust tooling. We're headed towards a paradigm shift in programming, with safer abstractions and more opinionated syntax. These are good changes, but I think our tooling will largely adapt around those concepts rather than WYSIWYG/drag-and-drop editors.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#4
This is not what you're asking for, but I think city as a visual metaphor for certain class of programs could work. Imagine literal factories for manufacturing certain class of objects, highways and roads to represent connections between component buildings, warehouse as databases or storage, office buildings as manager objects, etc and code editing is just moving buildings around (probably hard to do fine grained editing, as you'll need metaphor or abstraction at a different level). Vehicles are literally rpc calls or data packets. If something's breaking, it can be depicted as traffic jams or accidents or billowing smoke from a building.

Now attach a VR headset and controller. Even people without engineering training could do high level administration or editing.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#5
I don’t know that this is exactly what you mean, but games that come with editors often push the boundaries here a bit because their domain is limited and their audience is not (initially) expert. The Warcraft III editor was essentially spitting out Scripting engine functions under the hood, but the UI presented it much more approachably. I am sure modern equivalents do this even better, but I remember being impressed by that one back in the day.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#8
Labview (1986) and Simulink (1990 or thereabouts) for graphical dataflow programming. For oss and IoT, node-red looks nice but I haven’t used it.

Notebook interfaces - Mathematica has had one forever (1988) and still leads. For oss, everyone seems to like jupyter more than I do.

For low-code/no-code rdbms CRUD prototyping, Microsoft Access (1992).

Re: Ask HN: More “experimental” UIs for editing/writing code?

#9
post #8

Labview (1986) and Simulink (1990 or thereabouts) for graphical dataflow programming. For oss and IoT, node-red looks nice but I haven’t used it. Notebook interfaces - Mathematica has had one forever (1988) and still leads. For oss, everyone seems to like jupyter more than I do. For low-code/no-code rdbms CRUD prototyping, Microsoft Access (1992).

I would donate a hundred dollar a year recurring for a non-copyleft, open source, production quality simulink with full two-way Verilog/VHDL code generation and import support.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#10
Have you heard of dion?

https://media.handmade-seattle.com/dion-systems/

It's still in the category of "inserting text with the keyboard", but the underlying representation of the "program" isn't raw text. The text is just a user interface for a more complicated representation.

Post reply on HN