News: 1702891807

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

CLIs are simply wizard at character building. Let’s not keep them to ourselves

(2023/12/18)


Opinion The passage of time can harsh one's mellow in bittersweet ways. Tech anniversaries, while they do make you feel "That can't be true, it was just the other year," also offer the chance of a bit of fun in the form of emulated nostalgia.

Far more dangerously, some of us even find ourselves on eBay, handing over hard earned cash for a chancer's dodgy Amiga.

Doom turns 30, so its creators celebrate seminal first-person shooter's contribution to IT careers [1]READ MORE

Sometimes, though, there's a lot to think about. January 24, 2024 is the 40th anniversary of the Apple Macintosh in all its single-floppy, monochrome, 16-bit glory. None of those things have made it through four decades of dizzying development, but the Mac's crown, its GUI desktop, swiftly became and still remains the basic building block of the modern computer UI. Windows, icons, mouse and pointer are as important to the modern lexicon of productive interactivity as the keyboard.

If anything, the Mac sank too deeply into its GUI. At the insistence of Steve Jobs, the original Mac keyboard had no cursor keys and the OS no command line interface. The sheer perversity of editing text by mouse alone overcame even Jobs' reality distortion field, with arrow keys creeping coyly back with an extension numeric keypad in late 1984, and full reinstatement on the Mac Plus keyboard two years later.

The CLI had to wait almost to the end of the century to vanquish Steve, when the Unix-based OS X finally capitulated to the inevitable. Unencumbered by dogma, Microsoft had never abandoned its CLI from DOS days, while Linux without the terminal window is as unthinkable as a Sumo wrestler without their mawashi.

[2]

Despite Steve Jobs, despite all the innovations of modern desktops, the CLI has not only survived but prospered. It's even regaining further ground, with ChromeOS sprouting a full fat Linux text environment and Microsoft engineers openly mulling the [3]reintroduction of a CLI text editor .

[4]

[5]

The popular explanation is that, for developers, system admins and power users, the CLI is the primary tool for quick and pinpoint accurate access to system resources, logs, and essential utilities, it's also uniquely good at remote access across systems and creating lightweight automation of complex tasks. GUIs are great until you want to do something more than once, right?

All true, but it carries with it implications that are largely unexplored and potentially very important. You get a glimpse of this whenever you fix a problem for a GUI-only user through invoking the CLI. You couldn't look more of a wizard if you wore a pointy hat and had a dragon parked outside. Knocking up a quick script to untwist a directory structure or piping some event monitor into grep is the real eye of newt stuff for those who've never so much as typed dir or ls . Which is completely understandable, very good for the geek ego, and completely wrong.

[6]

GUIs were and are intended to demystify the computer as a practical tool, especially as hardware got more capable and more human life was sucked in. At this, they have been wildly successful. At the same time, they have obfuscated the core ideas of how a computer actually works. For many users, of course, this is just fine – with no interest in or ambition to learn about things under the hood, they don't care if they can't tell Gary from IT from Gandalf from Middle Earth.

Those who have the right genes and drive to rip things apart to find out how they work, conversely, will have the nous to find and grind the CLI until they get their Grade 8 wand-waving certificate. There aren't enough of the latter to keep the industry going, while too many of the former who might have a spark to fan into flame are put off by the weirdness.

This is where we're underselling CLIs, especially CLI text editors. There's a very lively discussion about whether to add a text editor to the Windows CLI, and if so which one it should be and what it should do, but much of it is in the spirit of "my favourite editor is better than yours." This is a long and honorable tradition, ever since large parts of the UC Berkeley campus were set ablaze during the vi versus emacs wars, but it misses the point. Just because the CLI has prospered as a recognizable entity through to 2023 doesn't mean it shouldn't recognize the new needs of the present, and adapt its strengths to help more people than the traditional inner circle.

[7]Microsoft floats bringing a text editor back to the CLI

[8]Automating cloud infrastructure: Do you want APIs with that?

[9]Microsoft yanks internal Windows 11 testing tool soon after release

[10]The npm registry's safe word is Socket

When you're in a full-screen CLI, especially editing, what you get above all is focus. Compared to a GUI desktop or, heaven help our grasshopper minds, an in-browser task, it is supremely quiet and uncluttered. It is you and your keyboard, and text that wants to be free of variant forms and options. If you're coding or writing text where actual content is more important than form, it is a zone for reason and thought like none other in modern computing.

Of course, just because you've got the entire screen for one task, the notifications and temptations of the internet's psychedelic rainforests are just a task-switch away – and this is where tomorrow's CLI text editor should play to its strengths. Riding atop the CLI itself, the editor can add as powerful a mute switch as it likes. It can reach out to scripts that mute the audio, disable task-switching, and quieten the network. It can offer any user a uniquely productive, even therapeutic, experience – and be the gateway to the natural question "how can I get more of this?"

[11]

In the same way that once prodded people into exploring the environment of pre-GUI computers to get past the early bootstrap of learning enough to learn more, a CLI-based editor can offer both a unique and valuable way to do non-technical work, plus pathways into its hows and whys. How to present this in a productive, simple and compelling way is its own design challenge, but one that is sorely needed in any case, judging by the clunky nature of so many existing text editors.

There are other kinds of magic that even CLI wizards need to know: building a bridge to the rest of the world will be our own gateway there. ®

Get our [12]Tech Resources



[1] https://www.theregister.com/2023/12/11/doom_30th_anniversary_sigil_wad/

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZYAmVbKKzWZPVXzUFf@ZYwAAAEo&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[3] https://www.theregister.com/2023/12/12/microsoft_cli_text_editor/

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZYAmVbKKzWZPVXzUFf@ZYwAAAEo&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZYAmVbKKzWZPVXzUFf@ZYwAAAEo&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZYAmVbKKzWZPVXzUFf@ZYwAAAEo&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[7] https://www.theregister.com/2023/12/12/microsoft_cli_text_editor/

[8] https://www.theregister.com/2023/09/12/cloud_infrastructure_automation_interview/

[9] https://www.theregister.com/2023/08/03/microsoft_stagingtool/

[10] https://www.theregister.com/2023/03/16/socket_npm_safe_javascript/

[11] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZYAmVbKKzWZPVXzUFf@ZYwAAAEo&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[12] https://whitepapers.theregister.com/



I'm no expert

Alan1kiwi

But have spent many hours attempting to fix a problem from within a terminal screen. Both in Linux, and in Windoze.

I guess it's a function of age, and also dealing with early versions of both OS's and their limitations.

These days, I am happy to click an app, and see what happens !

Merry Xmas to El Reg, and it's readers.

May you all have a splendiferous time with your family and loved ones.

Filippo

There's also the not insignificant problem that GUIs have been getting worse .

If I open a random "modern" Windows configuration page (as opposed to the ones that have remained blissfully unchanged since WinNT), here's what comes up on my screen:

* A mere subset of the relevant settings. The way to access the entire set of available settings is non-obvious, is different for each context, and it tends to be "start the old WinNT settings page, if you know how to get to it".

* Buttons with a color that's difficult to distinguish from the page background.

* Extremely wide margins that result in acres of unused screen space.

* Having to scroll in order to see all the settings that are available (even though I'm on an enormous screen, and they're not even all settings).

* A search function that only works if you have memorized exactly which keywords lead to which setting page. If you don't know what you're looking for, or how to explain it to the search box, good luck.

* Inconsistent design between contexts. Sometimes there are combo boxes, sometimes there are radio buttons; sometimes a boolean setting is rendered as a switch, sometimes as a checkbox. Sub-contexts might be side bars, might be separate windows, might be something else.

And it's not just Windows, either. Phone GUIs, web app settings, it's all over the place. We used to have a unified design for settings that everyone understood. It wasn't pretty , but so what? It's not supposed to be a work of art, it's supposed to get a job done.

ChoHag

Unsatisfied with glitzing the GUIs, have you seen what some people are doing to the command line now? It's like tripping in a skittles factory.

Intuitive GUI? My arse.

Peter Prof Fox

The first time I used Windows I couldn't find how to close it down. That was because you had to click on the START button.

gruesome

Bebu

Sumo sans malawashi

Not at all a nice picture.

Professional wrestling: ballet for the common man.