Monday, March 31, 2014

[wdjnplff] Invisible monolithic software

"Invisible software" is software on your computer that you don't have to think about.  It just works.  Quietly, and you barely know it is there.  You rarely if ever directly interact with it.  Most commonly operating systems, daemons, infrastructural software.  Perhaps even the web browser nowadays.  Perhaps the "app" is the opposite of invisible software.

Where should the boundary between invisible and visible software be?

Closed source software promotes a lot this idea of not thinking about your software, but for sinister reasons:  If it doesn't just work, you aren't going to be able to fix it anyway.  If you were to think about your software, you might want to modify it, but you can't.

Open source systems often try to copy the look and feel of popular closed-source systems, including the massive quantity of software which they attempt to make invisible.  I think this is a mistake.  It seems more and more frequently I encounter a problem with open source software but with no idea how to fix it.  (Latest culprit: GNOME.)  Its invisibility makes it look monolithic.  There are no user visible "hooks" with which to begin investigating, to open things, to "climb" the monolith.

Idea: avoid building large monolithic programs, or systems.  Monolithic means the user can't easily see and understand the inner parts.

1 comment :

Russ Williams said...

That's a significant reason for using a much lighter simpler desktop or windows manager than Gnome... and for not using the dubious behemoth systemd!