Dr. Edward Morbius :o: さんはインスタンス mastodon.cloud のユーザーです。アカウントさえ持っていればフォローしたり会話したりできます。 もしお持ちでないなら こちら からサインアップできます。
Dr. Edward Morbius :o: @dredmorbius

Neologism for a neologistic age: "Minimum viable user"

In my recent comments on Google Chrome, I tossed out a phrase describing the lowest-skilled user a product might feasibly accommodate, or if you're business-minded, /profitably/ accommodate. The hazard being that such an MVU then /drags down/ the experience for others, and in particular expert or experienced users. More to follow.

First, this appears a new coinage:

duckduckgo.com/?q=%22minimum+v

1/

There /are/ cases where reasonable accomodations should be considered, absolutely. Though how this ought be done is also critical. And arbitrary exclusions for nonfunctional reasons -- the term for that is "discrimination", should you ask -- are right out.

Accessibility accomodations, in physical space and informational systems, is a key concern. I don't generally require these myself, but know many people who do, and have come to appreciate their concerns.

2/

I've also come to see both the increased imposition, /and/ benefits, this offers by way of accommodating the needs.

It's often underappreciated how increased accessibility helps many, often all, users of a product or space. A classic instance would be pavement or sidewalk kerb cuts -- bringing the edge of a walkway to street level, rather than leaving a 10cm ridge. This accomodates not just wheelchairs, but dollies, carts, wheeled luggage, and more. Benefits materialising after use.

3/

For information systems -- say, webpages -- the accomodations which are most useful for perceptually-challenged users are /also/ almost always beneficial to others: clear, high-contrast layouts. Lack of distracting screen elements. A highly semantic structure makes work easier for both screen-readers (text-to-speech) /and/ automated parsing or classification of content. Clear typography doesn't fix all copy, but it makes bad copy all the more apparent. Again, positive externalities.

4/

When we get to the point of process-oriented systems, the picture becomes more blured. The fundamental problem is that an interface which doesn't match the complexity of the underlying task is always going to be unsatisfactory. Larry Wall has observed this with regard to the Perl programming language: complexity will out.

In landscape design, the problem is evidenced by the term "desire path". A disagreement between use and design.

en.m.wikipedia.org/wiki/Desire

5/

@maradydd Awesome! No, I didn't.

I've whacked Google upside the head with the concept so often that my clue-by-four is getting sore.

At its heart, a desire path is the failure for designer to correctly anticipate, or facilitate, the needs and desires of their users. Such paths reflect emergent practices or patterns, some constructive, some challenging the integrity of a system.

Mastodon Tootstorms are an example of a positive creative accomodation. Mostly.

On other services, the lack of an ability to otherwise dismiss content frequently creates an overload of the spam or abuse reporting mechanism. G+ comes to mind.

6/

@RefurioAnachro Circles ... done right.

I'd prefer to have "audiences" and "sources" specified, somehow.

It's complicated.

> better than [... g+] circles

@dredmorbius, how so? Circles are sets. They can represent everything! But since such a feature would hopefully come as an api, let me say I'd happily implement any missing operations or other conveniences myself.

@RefurioAnachro G+ circles aren't specified as /audience/ or /sources/. They play both roles. Without regard to content. And blind the source or target to how they are classified by the Circling user.

If I can specify:

1. Standardised topics
2. By sending or receipt
3. Sources of interest
4. Audiences for distribution

Then I can filter my /incoming stream/ to topics of interest, from specified authors. Say, "personal posts" from "friends".

And I can filter my /outgoing/ stream similarly.

@RefurioAnachro This solves the specific problem of, say, following Linus Torvalds, if:

1. You're a member of his family.
2. You're interested in scuba diving.
3. You're interested in Linux.
4. You're interested in Portland, OR, regional matters

With standardised topics, you could include, or exclude, his public personal posts. Or he could limit personal posts to some non-public distribution, whilst Linux and Scuba would be. Regional filters might include Portland or Oregon. Etc.

me>> g+
dred> standardized topics

@dredmorbius, ah, that's what they are for! Cool. Is there a self-organizing alternative, or a good democratic variant you can think of?

Why would my mental picture of word2vec be harassing me right now... Bzzz!

@RefurioAnachro The more I consider this, the more the the Library of Congress Classification System seems the only logical choice. An alternative would have to strongly resemble it:

* Unencombered
* Extant
* Widely standardised
* Comprehensive
* Hierarchical
* Numerous tools
* As coarse- or fine-grained as desired
* Extensible
* A well-established process for extending, or retiring parts of, the classification
* Multi-organisational adoption
* A large extant set of practitioners

@RefurioAnachro Contrast that with the inverse:

* Encumbered (e.g., Dewey Decimal: a proprietary system)
* Greenfield: newly-created -- would have to be created, designed, and worst of all, sold to adopters
* Unstandardised
* Non-comprehensive -- it would have to be built out. And the design failures addressed.
* Non-hierarchical -- flat spaces suck
* No tools
* Unflexible
* Unextensible
* Poor/no processes
* Single-site
* No practitioners

Thanks for gathering these points, @dredmorbius! Hierarchies are cool. But having them curated not very. Btw, a (binary) tree gives a (is iso to an) ordering of a set. I imagine preferring a position on this line/spectrum, and the tree might catch up later.

A tree is basically a line! Although one may blow up arbitrary portions of it I feel a higher-dimensional representation might turn out more natural.

However, all this doesn't make it self-organized (nor standardized).

If a side-effect of reporting content is that it is removed from my view, and there is no other way to accomplish that goal, then that feature becomes the "remove from visibility" function. I've ... had that conversation with Google for a number of years. Or monologue.

Software programming is in many ways a story of side-effects and desire paths, as is the art of crafting system exploits. PHP seems particularly prone to this, though I can't find the character-generating hack I've in mind.

7/

There's the question of when a system should or shouldn't be particularly complex. Light switches and water taps are a case in point. The first has operated as a simple binary, the second as a variable-rate flow control, and the basic functionality has remained essentially unchanged for a century or more.

Until the Internet of Broken Shit that Spies on you wizkids got ahold of them....

And modulo some simple management interfaces: timers or centralised large-building controls.

8/

Simple tasks benefit from simple controls.

Complex tasks ... /still/ benefit from simple controls, /but no simpler than the task at hand/

A good chef, for example, needs only a modicum of basic elements. A good knife. A reliable cooktop and oven. A sink. A cutting surface. Mixing bowls.

Underappreciated: /measuring equipment/. Measuring spoons, cups, pitchers. A scale. Thermometer. Timers.

(At this point I'm overlapping to the Ontology of Technological Mechanisms, noted.)

9/

The chef /also/ may have call for some specific processing equipment: cutting, chopping, blending, grating, and mixing tools. Powering these increases throughput, but the essential controls remain simple.

And other tools I'm omitting here, say, a frosting tube, but which generally share common characteristics: they're individually simple, do one thing, usually a basic transformation, and do it well.

The complexity of the process is in the chef, training, and practice.

10/

@dredmorbius "Unitasker Wednesday": unclutterer.com/category/unita

I remember reading this column while I was living in the US (2009-2011). Apparently it's still going strong.

"PancakeBot – the world’s first 3D pancake printer": unclutterer.com/2017/01/04/uni

@oswriter @dredmorbius Oh wow, the "Electric Mac and Cheese Maker" was one of the most puzzling items I saw on the blog! Not only because "Mac and Cheese" isn't such a big thing here in Germany...

On the other hand, I'm guilty of owning this unitasker:

youtube.com/watch?v=11voSl3ty8

I've somehow stopped using it, but I had a lot of fun with it for months.

@stefanieschulte @oswriter Given that I keep over-steeping my tea, I might be tempted.

I try to remember to set a timer, and then /respond/ to the timer, but miss about 25% of the time.

@oswriter @dredmorbius It won't take long anymore, I guess: liesandstartuppr.blogspot.de/2 (it's a great blog, by the way, even if some of the engineering-related posts are a little too technical for me)

I think the IoT Mac and Cheese maker should also be on the blockchain, if only to control the supply chain for pasta, cheddar, milk and butter.

@stefanieschulte And: xkcd.com/1205/

On single-use tools: if that single use is /saving your life in conditions of readily forseable peril/, then it may well be worth having. Lifeboats. Seatbelts. First aid kit.

That gets down to a risk assessment and mitigation calculation problem though, which may be error-prone: over- and under-estimating risks, and/or the efficacy of mitigations.

Pricing risk and risk as an economic good is another long topic.

@dredmorbius I remember the first xkcd, but didn't know the second one!

One the other hand, I usually try to automate tasks with software even if doing this takes me as long as performing the task manually. It's less boring, and it might provide me with a learning experience.

@stefanieschulte Extending Randall's concept in 1205: if you can share that effort with multiple people, then the time-on-task can be increased.

Of course, you've also got to take into account the Jevons paradox: reduce the costs of the activity and you'll increase the amount performed.

I also have a strong tendency to automate.

The antithesis of this is "cooking gadgets" -- tools or appliances which are complicated, fussy, achieve a single and /non-general/ result, or which integrate (or attempt to do so) a full process. This is the stuff that clutters counter space and drawers: useless kitchen gadgets. A category so egregious it defies even simple listing, though you're welcome to dig through search results.

If you can only use it on one recipe, it's bad mkay?

duckduckgo.com/?q=useless+kitc

11/

There are times when you absolutely should be aiming for the minimum viable user. Pretty much anything that sees widespread public use, for example.

I shouldn't have to read the user manual to figure out how to open the front door to your building. Automatic, sensored doors, would be an entirely MVU product.

I've mentioned elevators, automobiles, and telephones. Each is highly complex conceptually, two can maim or kill. All can be relatively safely used by most adults, even children.

12/

A large part of what /makes/ elevators, automobiles, and telephones so generally usable is that the controls are very highly standardised.

Mostly.

Telephones have deviated from this with expansion of mobile and even more complex landline devices. And the specific case of business-oriented office telephones has been for at least 30 years, a strong counterexample, worth considering.

It takes me a year or more to figure out a new office phone system. If ever. A constant for 30 years.

13/

@woozle /me drops a quarter in the slot and presses the "start" button.

@dredmorbius I may in fact have basically shot my wad with the VCR-mouse thing, though it could certainly be extended to Blu-Ray and, fer cryin' out loud, modern digital TVs.

We somehow ended up with a Roku in the house, and it turns out you can set it up so your smartphone is a remote control -- and what does the interface look like?

Yes, that's right: a traditional pushbutton remote. With very few functions.

(There's *probably* more to be said...)

@dredmorbius Just on a whim, let's look at phone systems again.

You've ranted about office systems; let me rant about home phones. You can buy a smartphone -- with color touchscreen and substantial CPU, by ~2005 standards -- for $30 at Kroger, but a $100+ cordless phone system (more or less unchanged for the past decade or more) still uses pushbuttons for navigation and has a tiny monochrome LCD display? I sense we are being toyed with.

@woozle So, let's see ...

* TVs, VCRs, DVDs
* Microwaves, stoves, ovens, refrigerators
* Washing machines and dryers
* Apartment intercom systems
* Residential management: HVAC, alarm, security, video
* Alarm clocks
* Stereos / sound systems
* Automobiles & automobile subsystems
* Retail self-checkout systems
* Public information / transaction kiosks, generally

@dredmorbius 4/

...but really, my main complaint about home thermostats -- AND off-the-shelf security cameras, while we're at it -- is how closed they are (bearing in mind that this is largely inferred from what I read, having never owned one). I can't write my own software to talk to them. (...as far as I know.)

(Hypertwin Manor is now accepting grants for the further study of these matters.)

(more...)

@dredmorbius 5/

B. Security systems

I know very little about modern security systems in general, though I do know one thing: my client is innocent.

Wait... wrong thing...

(I meant to say) I do know that there are some open protocols out there, and equipment which uses them, but they're not generally available in IRL stores. ...and my information may be dated.

Of security UIs, though, I know pretty much nothing. Our security system is called "people are always here".

<TBC...>

@dredmorbius 7/

Other camera: no review because all I did was get it working; someone else bought & installed. Don't even know the model number.

To keep it short-ish: web UI kind of awful and sluggish, Android UI basically the same, though both had all the main fx()... but you could only record to the onboard chip; no way to download video. WTF.

My conclusion: it's basically a sales device for their cloud service. Should have been free.

(cont...)

@dredmorbius 8/

Security cameras, bonus comment:

I found a free app that lets you turn a smartphone into a security camera, and can be accessed via open video-streaming protocol.

Using my old phone w/ bad screen, We now have a monitor camera for our main entrance, which I view through VLC. I occasionally have to restart the camera-side software.

A pretty good system could probably be built on this, using entirely open software (except for Android stuff).

(more...)

@dredmorbius 10/

#2 we bought 5-10 years ago for its ceiling-projection ability (dim enough not to wake up @Harena but easily viewable by by both of us).

(Does this series qualify as #TechTMI yet?)

Is supposed to set itself from shortwave, but still hasn't updated for DST (even though DST mode is on). Manually compensating for DST tends to result in unpredictable behavior. Pushbutton UI is generally counterintuitive and awful.

There is a color version now; tempting.

(TBC...)

@Harena @dredmorbius 11/

#3 is the Moto X(?) mine sister gave me a couple of years ago because Google gave it to her and she didn't need another smartphone.

We've never activated it; @Harena uses it for bedtime entertainment and, yes, an alarm clock. She can comment on the UI better than I can, but I haven't heard any major complaints. The Moto-specific tweaks to the OS UI in general are more annoying, e.g. the lack of control over the "dreaming" (standby) screen.

(more...)

@dredmorbius 13/ last one?

* retail self-checkout

We use these a lot. They have improved since they first came out, though they still make a lot of silly assumptions and don't give you necessary information. Presumably this is somehow justified by security concerns -- though as w/ most security theatre, pretty easy to imagine ways around.

What I can think of quickly:
- can't enter qty
- always calling attendant, blocking further scans, no reason given

@Harena -- comments?

This wasn't the case as of the 1980s, when a standard POTS-based phone might have five buttons, and the smarts were in a PBX generally located within the building.

By the 1990s, though, "smart phones" were starting to appear. Rolm was one early vendor I recall. These had an increasing mix of features, not standardised either across /or within/ vendor lines, but generally some mix of:

* Voicemail
* Call forwarding
* Call conferencing
* Other random shit to inflate marketing brochures

14/

Feature #4 was a major problem, but the underlying one was, and remains, I think, the mismatch of comms channels and cognitive capacities a phone represents: audio, physical, textual, and short-term working memory.

The physical interface of most phones -- and I'm referring to desk sets here -- is highly constrained. There's a keypad, generally 12 buttons (not even enough for the impoverished Roman alphabet, let alone more robust ones), and a handset, plus some base. Cords.

15/

More advanced phonesets have perfected the technology of including a display for text which is simultaneously unreadable under any lighting conditions, viewing angles, or capable of providing useful information in any regard. This another engineering accomplishment with a decades-long record.

Phones are relatively good for /talking/, but they are miserable for /communication/. Reflected by millennials.

inc.com/john-brandon/why-mille

16/

@dredmorbius They've also discovered how to use a more compact and readable font to display less information.

We bought a new set about a year ago that uses a proportional font to show the Caller ID -- but the last character was invariably cut off, by comparison with our old phones (back to which we rapidly retreated).

I could rant about phone tech. I already have, some... but in short: when it comes to the things smartphones WON'T LET YOU DO, there's just no excuse.

@woozle Funny thing about fonts: phone directory publishers actually came up with some (print-on-paper) improved fonts for greater text density. Something Edward Tufte writes on.

@dredmorbius My supposition is the greater span of parallel communicative paths requires a narrowing of focus into shorter bites (packets maybe) of information which needs to be ducked into and out of and voice communication in any form does not permit this within acceptable societal norms.

Millennials prefer text-based apps to voice comms, as do numerous tech early-adopters. I suspect the reason is both the state-maintenance and fragility of phone-based communications.

I'm distinguishing /talking/ -- a longer and wandering conversation with a friend -- and /communicating/ -- the attempt to convey or obtain some specific task-oriented or process-oriented information. The salient difference is that the latter is very strongly /goal oriented/, the former, not so much.

17/

When you're using a phone in a goal-oriented process, you are jumping between a number of different informational contexts. You need access to:

* The other party's identity and contact info
* Information you want to express
* Operating instructions for the device itself
* Information captured during the call
* Access to /other/ contacts, during the call
* How to transfer/include others
* Your or the other party's state loss due to interruption
* Resolution or next steps

18/

That is, a "simple" phone conversation is a complex interaction and translation between visual, textual, audio, physical, and memory systems.

It's /also/ conducted without the visual cues of face-to-face communications (as are all remote comms), for further fun and games. This /usually/ makes conversations with someone you know well (for whom you can impute those cues) generally far more straightforward than with a stranger, especially for complex discussions.

19/

The upshot is that while a telephone is reasonably simple to use in the basic case -- establish a voice connection with another device genarally associated with a person or business -- it actually fails fairly profoundly in the surrounding /task context/ for numerous reasons. Many of which boil down to an interface which is simultaneously oversimplified and poorly suited to the task at hand.

Smartphones, and software-based telephony systems in general, followed the business phone lead.

20/

Mobile comms generally have expanded on failures of business phone systems in poor usability /as phones/ by significantly deteriorating audio quality and dynamics -- constraints of packet-switching, compression, additional relay hops, and speed-of-light delays have boosted noise and lag to the level of interfering with the general flow of conversation. Which isn't particularly an interface failure as such (this is /channel/ behaviour), but it encourages the shift to text of millennials.

21/

@dredmorbius interesting proposition, what is the reasoning behind suggesting sound quality and latency are a. degrading compared to pots, and b. responsible for the shift to a different medium?

I'll save the question of /how to fix/ voice comms for discussion.

The point I'm making is that even an apparently straightforward device and task, with a long engineering history, can find itself ill-matched to new circumstances.

There's also much path-dependence here. Lauren Weinstein on G+ enjoys digging up old AT&T engineering and marketing / propaganda newsreels describing development of the phone system: direct-dial, switching, 7-digit, area-code, long-distance, touch-tone.

22/

An appreciation of /why/ Mr. Chesterton built his fence, and whether or not that rationale remains valid, is useful to keep in mind. As are path-dependencies, 2nd-system effects, and late-adopter advantages. Those building out interdependent networks /after/ initial trial often have a significant advantage.

It's also interesting to consider what the operating environment of earlier phones was -- because it exceeded the device itself.

chesterton.org/taking-a-fence-

23/

@dredmorbius This comes up in coding a lot, where "fence" can be generalized to a lot of things.

My rule of thumb: if you don't know why it's there -- and it's not effing DOCUMENTED -- take it down but keep the pieces around for awhile in case it turns out to be necessary.

If it does turn out to be necessary, put it back up and then effing DOCUMENT what you found out.

I submit that society (including the legal code) should work this way too.

@woozle Sound advice.

This is why it's so critical to build (and leave) scaffolding in place to be able to try shit like this.

@dredmorbius On further thought, let me elaborate a bit. (I suspect you won't mind.)

Before disabling (removing from use whilst leaving the parts in place against future need, aka "commenting out") an unused and undocumented fence, I do a search to see if anything is using it.

(Can be hard, if fence's name is used for other purposes. I've started giving things longer, more specific names for exactly this reason).

Analog: each usage of a law should be logged searchably.

A business-use phone of, say, the 1970s, existed in a loosely-integrated environment comprising:

* The user
* The phone itself
* A Rolodex
* The local PBX
* A secretary or switchboard, serving also as a message-taking (voice-to-text), screening, redirect, directory, interactive voice response, and/or calendaring service
* A desk calendar
* A phone book
* A diary or organiser
* Scratch paper

Critically: these components operated simultaneously and independently of the phone.

24/

@vfrmedia Question back at you: is this mostly /older/ users of those systems, or do you see this across the board?

I'm wondering if it's a generational / acculturalisation issue, or a case of functionality which is fundamentally missing from modern systems attempting to replace older methods.

(I have my suspicions....)

A modern business, software, or smartphone system may offer some, or even all, of these functions, but frequently:

* They aren't available /whilst a call is in process/
* They have vastly less capability or flexibility than the systems they replaced

The benefits are that they are generally cheaper, smaller, more portable, and create digital data which /may/ be, if accessible to other tools, more flexible.

But enough of phones.

25/

The Unix Philsophy reads: "Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."

It offers a tremendous amount of mileage.

I want to talk about the apparent /exceptions/ to the Unix philosophy: shells, editors, email, init (and especially systemd), remote filesystems, udev, firewall rules, security generally, programming languages, GUIs.

faqs.org/docs/artu/ch01s06.htm

26/

Apparently, "exceptions to the Unix philosophy" is /very nearly/ another neologism -- I find a single result in Google, to an essay by Michael O. Church. He adds two more items: IDEs (integrated developer environments), arguably an outgrowth of editors, and databases. Both are solid calls, and both tie directly into the theme I had in mind in the preceeding toot.

sasamat.xen.prgmr.com/michaelo

27/

Exceptions to the Unix Philosophy are all complexity hubs.

Shells, editors, IDEs, and programming languages are all interfaces through which a skilled user interacts with a highly complex system. Whilst remaining in the context of text, this is a space in which /new capabilities are themselves created or synthesised/.

Databases ... try to make sense of the world, under constraints of scale, consistency, performance, reliability, stability, integrity, and durability.

28/

Email faces a vast array of complexities: standards, remote systems and operators, file formats, spam, security, identity, DNS, filtering. And that's just on the technical side.

Within the communications context there are composing standards, workflows, language, characterset, prioritisation, archival, deletion, and more.

Email is, in a word, a hairball. It wants an Alexander.

en.m.wikipedia.org/wiki/Gordia

29/

To a rough approximation, remote filesystems combine many of the technical complexities of both databases and email: sorting out who and what to access, via what standards, in a distributed context. None of the widely-used technologies is particularly satisfactory, and none of the satisfactory systems are widely used.

It's a CRUDdy situation.

en.m.wikipedia.org/wiki/Create

30/

udev is at its essence the problem of remote filesystems made local -- the idea that devices directly attached (or made to appear to be directly attached) to a system might go walkabout or show up unexpectedly for dinner.

It is "responsible for providing an abstract interface of the hardware", which tells us what we need to know: When "abstraction" appears in docs, it's a warning that Here Be Dragons.

Simplicity doesn't need abstraction.

en.m.wikipedia.org/wiki/Udev

31/

Firewall rules and security generally are attempted as defences against the unexpected. Worse, they're very frequently /contingent/ defences, which is to say, when you need a defence, you need it /now/. As in military contexts, your basic tools are limited: speed and agility, if you can get out of the way, shielding or armour, if you cannot, countermeasures, if possible. Given a comms context, rules of epidemiology also apply: guard your portals, or ports, with effective friend-or-foe.

32/

Since attacks, particularly /effective/ ones, are frequently unexpected, security is inherently a choatic space, and reflects it. It is highly resistant to attempts at organisation, though the focus on mechanisms, above, may help.

33/

This leaves us with GUIs, or more generally, the concept of the domain of graphics.

The complexity here is that /graphics are not text/. Or at the very least, /transcend/ text.

It is possible to /use text to describe graphics/, and there are tools which do this: Turtle. Some CAD systems. Scalable vector graphics (SVG). But to get philosophical: the /description/ is not the /thing/. The end result is visual, and whilst it might be rule-derived, it transcends the rule itself.

34/

One argument is that when you leave the domain of text, you leave the Unix philosophy behind. I think I'm OK with that as a starting premise.

This means that visual, audio, mechanical, and other sensory outputs are fundamentally different from text, and that we need to keep in mind that text, whilst powerful, has its limits.

It's also to keep in mind, though, what the characteristics and limits of GUIs themselves are.

35/

Neal Stephenson, "In the Beginning was the Command Line", again, offers one such: Metaphore sheer.

Most especially where a GUI is used to represent computer system elements themselves, it's crucial to realise that the /representation/ is not /the thing itself/. In fact a GUI isn't so much a /representation/ as a /remapping/ of computer state.

Unix, the C programming language, and the bash shell all remain /relatively/ close to machine state.

cryptonomicon.com/beginning.ht

36/

In many cases, the basic Unix commands are wrappers around either C language structures (e.g., printf(1) and printf(3)), or report the content of basic data structures (e.g., stat(1) and stat(2)). Even where the concept is reshaped significantly, you can still generally find the underlying concept present. This may be more foreign for newbies, but as exposure to the system is gained, interface knowledge leverages to system knowledge.

GUIs lose this: represented state has little coherence.

37/

@onreact You haven't heard of MastoWrite?

It's a primitive word processor 😄

I've ... probably got a few books in me. They're fighting to get out.

Some argue that not being tied to the mechanism is an advantage -- that this allows the /interface designer/ a freedom to explore expressions independent of the underlying /mechanism/.

This is true.

But it gets to another set of limitations of GUIs:

* There is a limit to how much information can be represented graphically, imposed by display, resolution, dot pitch, scrolling, seeking, and time.
* Users hate change.
* GUI efficiency is intrinsically limited.
* GUI doesn't script

38/

Scripting has the effect of constraining, for better or worse, changes to interfaces /because scripts have to be updated/. The consequence is that tools either don't change arguments, change them with exceedingly long advance warning, or failing either of those, are rapidly discarded by those who use them due to gratuitous interface changes. The result is a strong, occasionally stifling, consistency over time.

39/

The limits on information density and on scaling or scrolling are another factor. A /good/ GUI might offer the ability to expand or compress a view by a few /times/, but it takes a very creative approach to convey the /orders of magnitude/ scales which, say, a physical library does. Data visualisation is its own specialty, and some are good at it.

The result is that most GUI interfaces are good for a dozen, perhaps a few dozens, objects.

xkcd is on the money.

xkcd.com/980/

40/

Change aversion and inherent limits to GUI productivity interact to create the final conflict for GUIs: the potential for interface efficiency is limited /and/ change is disruptive, you lose for trying.

jwz notes this: "Look, in the case of all other software, I believe strongly in "release early, release often". Hell, I damned near invented it. But I think history has proven that UI is different than software."

jwz.org/blog/2012/04/why-i-use

41/

What jwz doesn't do is explain /why/ this is, and I'm not aware of others who have.

This also shows up in the case of Apple, a company which puts a premium on design and UI, but which is /exceedingly/ conservative in /changing/ UI.

The original Mac desktop stuck with its initial motif from 1984 until 2001: 17 years.

It successor has changed only incrementally from 2001 to 2017, very nearly as long.

Even Apple realise: you don't fuck with the GUI.

42/

This suggests an underlying failure of the Linux desktop effort isn't a /failure/ to innovate, but rather /far too much churn in the desktop/.

My daily driver for 20 years has been Windowmaker, itself a reimplementation of the 1989 NeXT desktop. Which is to say that a 30 year-old design works admirably. It's fast, stable, doesn't change unexpectedly with new releases or updates, and gets the fuck out of the way. It has a few customisations which focus on /function/ rather than /form/.

43/

@dredmorbius I find many points of congruency between myself and this toostorm, and as a DWM user, I find that simplicity and reliability and a minimum feature set has for me been totally acceptable. Complexity comes from my apps.

That said there is for me an EXTREME irony in this particular medium being used to make this particular argument, as the ungainliness with which it is presented is exactly what happens when a system lacks the necessary features (unlimited message length)

@Rtzq0 Irony is noted.

As I've mentioned and linked a few times alread: I can get roughly as much text into a Mastodon toot as I can a 4x6 index card. This conforms very well with my offline note-taking, drafting, and research methods.

I might argue for a slightly longer post, but really, I don't think by much. OSocial instances offer 1k and 1.5k options.

Discrete chunks of reasonably complete thoughts are good discipline.

@dredmorbius So cool that you are running Windowmaker. I love the NeXT desktop, I remember learning about it long ago and always wanted to run it but couldn't afford an actual NeXT machine. Then I learned about Linux and Windowmaker and was always intrigued but this was before Linux was as approachable as it is today. So awesome thet it is still running well for you. Love it.

@joedakroub It's actually still being developed, and after a decade-long hiatus, there are new commits to the project.

That said, it's needed very, very few. Support for new image formats is pretty much it, as well as updating some font support.

The odd security or bug fix.

Quiet code is good code.

Back to my starting premise: let's assume, with good reason, that the Minimum Viable User wants and /needs/ a simple, largely pushbutton, heavily GUI, systems interface.

What does this cost us?

The answer is in the list of Unix Philosophy Violating Tasks:

* Dealing with complexity
* Rapid response
* Adapting to changing circumstance
* Considered thought
* Scalability of understanding, comprehension, or control
* Inegrating numerous other systems
* Especially nonuniform ones

/44

Another question is /who/ is the Minimum Viable User? This could be the lowest level of system skills capable of using a device, which an OECD survey finds is /abysmally/ bad. Over half the population, and over 2/3 in most surveyed /industrialised/ countries, have poor, "below poor", or _no computer skills at all_.

This has profound implications for futures premised on any sort of general technical literacy.

nngroup.com/articles/computer-

/45

As William Ophuls writes, social systems based on the premise that all the children are above average are doomed to failure.

I'll venture that global information systems which are premised on a minimal-or-worse level of sophistication by all users also bodes poorly, though for different reasons: it hampers the capabilities of that small fraction -- 5-8% or less -- of the population who can make highly productive use of tools.

mitpress.mit.edu/books/platos-

46/

Another possibility is that the definition is of the Minimum Viable-Revenue User: services are targetted at those with the discretionary income, or lack of alternatives, to prove attractive to vendors.

There's been well-founded criticism of Silicon Valley startups which have lost track of what a meaningful problem in need of solution. It's a problem problem.

Or: The problem-problem problem.

medium.com/the-mission/silicon

47/

Solving minor irritations of Rich People, or better, /inventing/ MIoRP, as a bootstrapping method, has some arguable utility. Telsa Motors created a fun, but Very Expensive, electrified Lotus on its way to creating a viable, practical, battery-powered, everyman vehicle. Elon Musk is a man who has made me a liar multiple times, and he impresses the hell out of me for it.

Amazon reinvented Sears, Roebuck, & Co. for the 21st century bootstrapped off a books-by-mail business.

48/

I'm not saying there ain't a there there. But I'm extremely unconvinced that all the there there that's claimed to be there is really there.

Swapping out the phone or fax in a laundry, food-delivery, dog-walking, or house-cleaning business is not, in the larger scheme of things, particularly disruptive. It's often not even a particularly good business when catering to the Rich and Foolish.

Not that parting same from their easily-won dollars isn't perhaps a laudable venture.

49/

The other slant of the Minimum Viable User is the one who is pushed so far up against the wall, or fenced in and the competition fenced out, that they've no option but to use your service.

Until such time as you decide to drag them off the plane.

For numerous reasons, the design considerations which go into such tools are rarely highly generative.

Oh: Advertising is one of those domains.

Remember: Advertising breeds contempt.

[email protected]/58

50/

Each of these MVU business cases argues /against/ designing for the generative user. A rather common failing of market-based capitalism.

Robert Nozick explains criticism of same by creatives by the fact that "by and large, a capitalist society does not honor its intellectuals". A curious argument whose counterpoint is "capitalism is favoured by those whom it does unduly reward".

That's solipsistic.

libertarianism.org/publication

51/

Pointing this out is useful on a number of counts.

It provides a ready response to the Bullshit Argument that "the market decides". Because what becomes clear is that /market forces alone/ are not going to do much to encourage generative-use designs. Particularly not in a world of zero-marginal-cost products.

That is: products whose /marginal/ costs are small (and hence: pricing leverage), but with high fixed costs.

[email protected]/57

52/

Which suggests one of a few possible avenues out of the dilemma: a large set of generative tools have been built through noncapitalistic organisation. The Free Software / Open Source world would be a prime case in point, but it's hardly the first. Scientific research and collaboration, assembly of reference tools, dictionaries, encyclopedias. That's an option.

Though they need some sort of base around which to form and organise. And in the case of /software/ they need /hardware/.

53/

Back to hardware: for all the evil Bill Gates unleashed upon the tech world (a fair bit of it related to the MVU and MFVU concepts themselves), he also unleased a world of i386 chipset systems on which other software systems could be developed. Saw to it that he individually and specifically profited from every one sold, mind. But he wasn't able to restrict what ran on those boxes post-delivery.

GNU/Linux may well have needed Bill Gates.

55/

There are more smartphones and Android devices today than there ever were PCs, but one area of technical advance over the decades has been in locking systems down. Hard. And, well, that's a problem.

I don't think it's the only one, though.

Commodity x86 hardware had a model for the operating system capable of utilising it which already existed: Unix. Linus Torvalds may have /created/ Linux, but he didn't /design/ it as such. That template had been cut already. It was a 1-2 problem.

56/

Which is to say it /wasn't/ a Zero to One problem.

And yes, Peter Thiel is an evil asshat, which is why I'm pointing you specifically at where to steal his book. That's not to say he isn't an evil asshat without the occasional good idea.

I'm not sure that finding (and building) the Open Mobile Device Environment is a Zero to One problem -- Google, well, Android Inc., leveraged Linux, after all. But the design constraints are significantly different.

bookzz.org/book/2692814/227fe9

57/

A standalone PC workstation is much closer to a multi-user Unix server in most regards, and particularly regards UI/UX, than is a mobile device measuring 25, or 20, or 12, or 8 cm. Or without any keyboard. Or screen. And a certain set of tools and utilities must be created.

It's not as if attempts haven't been made, but they simply keep not /getting/ anywhere. Maemo. FirefoxOS. Ubuntu Phone.

Hell, the Psion and Palm devices weren't bad for what they did.

Pick one, guys & gals.

58/

There's also the question of apps, and app space, itself. By one school of thought, a large count of available applications is a good thing. By another, it's a sign of failure of convergence. As of 2017, there are 2.5 million Google Play apps.

Is it even worth the search time?

plus.google.com/10409265600415
statista.com/statistics/266210

59/

The question occurs: is it really in Google's interest to proliferate applications which are separate, non-integrated, split development efforts, and often simply perform tasks poorly?

The consequences are strongly reminiscent of the spyware and adware problem of desktop Windows in the early 2000s. For the same reason: competitive software development incentivises bad behaviour and poor functionality.

nytimes.com/2004/09/19/busines

60/

A valid counterargument would be to point to a set of readily-found, excellent, well-designed, well-behaved, user-centric tools fulfilling fundamental uses mentioned in my G+ post.

But this isn't the case.

Google's Play Store is an abject failure from a user perspective.

And catering to the MVU carries a large share of the blame.

61/

I'm not saying there should be only /one/ of any given application either -- /some/ choice is of value. Most Linux distributions will in fact offer a number of options for given functionality, both as shell or programming tools (where modular design frequently makes these drop-in replacements, down to syntax), and as GUI tools.

Whilst "freedom to fork" is a touted advantage of free software, "capacity to merge" is even more salient. Different design paths may be taken, then rejoined.

62/

There's another line of argument about web-based interfaces. I'll skip much of that noting that the issues parallel much of the current discussion.

And that the ability to use alternate interfaces or browser extensions. Reddit and Reddit User Suite, by Andy Tuba, would be amongst the prime exemplars of excellence in this regard. Though the thought of how to maintain user-state locally (with syncing capabilities) is one ... that shall be unfinished here.

63/

@bthall Sure, that's the same concept. I'm not claiming /conceptual/ originality, but /terminological/ originality. Additionally:

* "Lowest common denominator" is technically inaccurate. It's /greatest/ common denominator, but that creates a confusion as to whether what's being discussed is a high goal to be attained or a low limit which is imposed. The LCD is 1.

* "Minimum viable user" plays off "minimum viable product", extant SV terminology. And is technically accurate.

For those who prefer their long-form reading in long-form-amenable formats, I've adapted the tootstorm I'm replying to here to an essay:
redd.it/69wk8y