💾 Archived View for gemlog.blue › users › argletrough › 1613171446.gmi captured on 2022-03-02 at 03:05:24. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-04)

-=-=-=-=-=-=-

User Interfaces

What ARE User Interfaces?

These are programs that allow humans and computers to interact.

We can reassert the widely acknowledged as user interfaces:

However, we can also consider more things to be user interfaces:

In fact, a large proportion of all the software that runs on a computer concerns communication with humans, and so could be considered a user interface, since computers wouldn't be much use to us otherwise.

Comparisons

The best user interface should allow the most efficient transfer of information between man and machine.

-- Me, 2021.

This provides an interesting model to think about how different user interfaces compare.

If a user interface allows the same meaning to be conveyed with less effort either for the human or the computer, it could be said to be 'better'.

Consider programming, for example.

Most programming languages are textual, for all kinds of unspeakably obvious reasons.

As such, we need a user interface for a human to input that text.

If we work based on the rule of thumb of maximising meaning whilst minimising effort, the user interface should allow the human to most easily perform the most common task: editing. Due to humans, unlike computers, being fallible and prone to making mistakes, we will most often want to change existing text, and not just within code.

Additionally, programming languages have precisely defined and well-documented structure to them, and we may wish to make changes based on this structure.

This is where I start to talk about Vim. 5 stars if you saw it coming...

Vim allows its user to combine key-strokes to convey abstract changes they wish to make highly efficiently.

For example, say I have a string in my program and wish to change its value:

string protocol = "http";

Supposing my cursor was magically at the start of this line of code, what do I want to do?

1. Move to the value of the string.

2. Change that value.

With Vim, I can express each of these actions with just a few key presses:

1. To move to the value, we 'find' 'quote-mark': f "

2. To change the value, we 'change' 'inside' 'quotes': c i "

string protocol = "gemini";

Even this example is contrived and sub-optimal, but without the power of Vim, one might:

1. Move the mouse cursor to the string's value,

2. Drag across it to select.

3. Delete the old text.

4. Finally enter the new value.

Using Vim allows the same change (or meaning) to be made more quickly, and with fewer inputs (minimising effort), meeting the criteria for a 'good user interface'.

Incidentally, I used Vim to edit this gem log!

Colour Schemes

Studies show that light theme makes text more readable.

-- Spurious claimant, 2021.

Seriously, look it up and ignore the stigma.

I've even started using Discord light theme!

This was just the first result when I searched for 'dark theme vs light theme readability' on the web:

https://www.nngroup.com/articles/dark-mode/