Skip to main content

Topic: What's the best kind of interface for writing and typing? (Read 14996 times)

  • ersi
  • [*][*][*][*][*]
What's the best kind of interface for writing and typing?
Here's a list of text editors

The most professional and advanced thing is of course an office suite for word processing, but my foremost concern here is plain text in e.g. emails and webforms (textareas) and, by extension, coding and programming. My code-editing needs are minimal (naturally on a par with the abilities) and I have usually not much use for e.g. the self-completion kind of bracket-and-tag-matching. However, I often search and replace massively in texts, often in multiple files at the same time, which makes me perhaps intermediate so that I cannot stick exclusively to the simplest editors such as Notepad.

What's the best interface?

It's probably useful to distinguish between GUI and terminal programs. While menus and statusbars are common in both graphical desktop environment and easily possible in terminal (or console), GUI programs can rely more on toolbars with buttons and mouse interaction. Terminal programs can have some mouse interaction, but it's of a whole different quality. Mouse support has no standard in terminal programs, so it's not uniform. Terminal programs rely more on keybinds.

Mouse interaction and buttoned toolbars make GUI interface stand out. Apple and Google interface engineers (and others infected by them, such as Gnome and MS devs recently) think toolbars plus a viewing/editing area is all a user should ever want. They tend to provide menus as another button on the toolbar and they deliberately hide or kill the menubar.

So, in addition to mouse interaction (point&click, scroll, drag&drop) and buttoned toolbars, which are more GUI things, not for terminal programs, some other elements in editor interface are:

  • Menubar and context menus

  • Titlebar and statusbar (with info about e.g. file name, clock, file size, cursor position, etc.)

  • Keyboard shortcuts

  • Theming (font sizes and colours)

What's the functionality you cannot live without?

  • Search, find, select, copy, replace

  • Undo, redo

  • Highlighting

  • Spellcheck

  • Self-completion (of common text, as in Open/LibreOffice)

  • Tag-and-bracket matching (of code and programming languages, as in Geany)

  • Macros (sequencing available actions or creating custom commands) and formatting

  • Buffer management

  • File tree

  • Sessions

  • Formatted preview

  • Plugins and extensions

Given your combined needs of editing, what's your choice of editors? What kind of editors have you been looking at and what did you find?

As for myself, I often tend to use the simplest editors for quick file-changes in GUI, such as Leafpad and Mousepad which are basically equivalent to Notepad. For more concentrated use I open up Medit for its sessions (to continue where I left off), for its file-tree, highlighting, theming, and macros. Sometimes I miss tag-and-bracket matching which is not there in Medit, but not too badly.

In terminal, the necessary theming is done by configuring the terminal rather than the program in it. I tend to use the terminal a lot because all programs in it display uniformly in the fonts and colours I set. My preferred editor in terminal is nano which is much simpler than vi or emacs. Linux distros tend to include nano out of the box, even though vi tends to be the system default, so I have to configure vi away every time and make nano the system default.

Same as the likes of Notepad, nano is a very good option for quick file-changes, but I have ended up writing long text in it (such as this forum post). I have configured it to display highlighting and learned its shortcuts to find, copy, cut, replace, undo and redo stuff and to move around in files. Among other features nano provides automatic justification of text (due to the justification feature, it serves well as email composer for mutt), navigate the file system, some mouse support and management of buffers.

On the list linked above, joe with its multiple frames/windows looks interesting. This is something that nano doesn't do.

Web interface, forms and textareas

Webpages have holes where to type stuff. These are called forms and textareas. Sometimes, such as in these forums, they provide some formatting options, smileys and such. These are things I don't care about. I often browse the web with images off. I don't care in what way the textareas are styled. When I don't use them, I want them small, but when I use them, I want them big, i.e. I want them to be configurable. This means either user CSS or an external editor as a plugin or extension to the browser.

A good example of inbuilt configurability in webpage textares is at Github. It offers a modest textarea for comments along with a full-screen button, i.e. the textarea can fill the browser frame, the font turns big and it's much comfier to type. The Github design would be in my opinion the best kind of design for textareas all around the web, but still the problem is that it's not adequate for everyone and everything. The same way as browsers provide a way to configure an external source viewer, downloader, emailer, etc. it would be obvious to provide a way to configure an external textarea editor too.

  • Frenzie
  • [*][*][*][*][*]
  • Administrator
Re: What's the best kind of interface for writing and typing?
Reply #50
There's also

But Markdown highlighting seems to do the job reasonably well too?

  • ersi
  • [*][*][*][*][*]
Re: What's the best kind of interface for writing and typing?
Reply #51
But Markdown highlighting seems to do the job reasonably well too?
Yes, for mere highlight, but not when you want keybinds to automate the tag-writing. BBCode-mode for Emacs does both, and when you modify it, it does both differently.

  • ersi
  • [*][*][*][*][*]
Re: What's the best kind of interface for writing and typing?
Reply #52
By now I am using Emacs more than Nano for writing. The advantages of Emacs are enormous, not the least being able to edit BBCode with bbcode-mode. Some other great productivity boosters are
 - Inbuilt movement commands not only for character, word, line and paragraph, but also for sentence[1] and whitespace!
 - Syntax highlight for everything, including for basic prose in inbuilt org-mode
 - Inbuilt electric-pair-mode to autocomplete quote pairs and parentheses
 - Dabbrev: Inbuilt completer of words based on the text that is already in the buffer
 - Abbrevs: Inbuilt customisable text expansion similar to MS Word's Autocorrect
 - Skeletons: Like Abbrevs, but more advanced, with an ability to put the point automatically anywhere in the middle of the expanded text or to stop for a manual completion at relevant points, e.g. autoexpand "There are", then stop to manually type e.g. "seven", then proceed to autoexpand "important things to keep in mind about this." all within one skeleton
 - Even handier word-level autocompletion is available with external extension company-mode
 - Originally Emacs has its own isolated copy-paste history called kill-ring, but this can be combined with the system clipboard with (setq select-enable-clipboard t)
 - Snappy startup by configuring an Emacs server as a daemon and thereafter launching emacsclient -c (or emacsclient -ct for terminal-only or even emacsclient --tty), which is far more appropriate when using Emacs as the environment for web forms, forum posts, etc.
 - Dired: Inbuilt file management, file search, opening, moving, deleting, etc.

By a lucky coincident I was even able to install Emacs on my work computer. It is possible only to install programs through the company-internal software app and, for a moment possibly by someone's mistake, Emacs showed up there. Now I have it and nobody else can have it :) I don't think I would be able to survive this job for long by having to type in MS Word.
Prose sentences are recognised out of the box, if there are two spaces between sentences. It appears that many writers in the English-speaking world are taught to type this way. To be able to recognise sentences by period followed by a single space, use (setq sentence-end-double-space nil).

  • Frenzie
  • [*][*][*][*][*]
  • Administrator
Re: What's the best kind of interface for writing and typing?
Reply #53
It appears that many writers in the English-speaking world are taught to type this way.
I think that's probably outdated, but it is indeed something the English speaking world liked to do on typewriters with monospace fonts.

  • ersi
  • [*][*][*][*][*]
Re: What's the best kind of interface for writing and typing?
Reply #54
On a monospace typewriter it would be a noticeable eyesore :) I have been noticing this for some ten years or more in blog posts in Blogspot, Wordpress etc. and only figured it out recently.