From: [email protected]
Date: 2017-12-31
Subject: Plain Text

When  I  was  very  young,  my family acquired an Apple II that was
used, at first, for managing family finances (this was the VisiCalc
era).  Later,  a  collection of games filled the remaining space in
the plastic box that held all of our 5.25" diskettes. I was  fasci-
nated  by  this  machine  that  seemed to be able to do anything. I
played a lot of games on that machine, but I also learned  to  pro-
gram in BASIC.

In  the  90s,  my friends and I were building computers from parts,
setting IRQ pin jumpers on ISA cards. A friend introduced me  to  a
local BBS. I remember learning my modem's AT command set so I could
dial in, and then the arcane commands used to navigate the  Citadel
BBS.  Though  these  commands weren't intuitive, I was impressed by
the efficiency of the text interface.

When I started developing software professionally, I was working on
systems that were accessed through a text terminal or terminal emu-
lator. I appreciated the speed and efficiency of  these  text-based
interfaces.  I  also  learned  to love using the keyboard shortcuts
within Windows and in my editor. Many of the projects I  worked  on
allowed  relatively  ancient systems to serve up web pages though a
modern web server. Packaging a handful of string values in an  HTML
page  added  a  lot of overhead to each interaction and string con-
catenation was one of the most expensive operations in this partic-
ular system. I secretly felt bad for all the back-office users that
would have to give up their efficient text  interface  for  a  much
slower web interface -- all in the name of progress.

Getting Real

Clearly,  I'm  a  nerd with warm and fuzzy feelings about text-only
interfaces, but there are plenty of rational reasons to love  plain
text.

It's the universal format.

Just  about every system includes a text viewer and/or editor. Yes,
text encoding conflicts happen (you're using  UTF-8,  right?),  but
they won't render a document unreadable. The same can't be said for
some proprietary word processing applications that can't open their
own files from more than a few versions ago.

It's future-proof.

Formats  have come and gone, but text endures. Why commercial soft-
ware applications don't embed a plain text copy of your content in-
to the file is left as an exercise for the reader.

It's accessible.

Even  the  most inexpensive setup with a screen and keyboard can be
used to create/consume text. Plain text is accessible to those  us-
ing screen readers or needing large/high-contrast displays.

It's space-efficient.

Like,  crazy  space-efficient.  Compare a plain text file to a Word
document or PDF with the same content. Plain text  also  compresses
really well.

It's easy to manage.

With  a  simple  format like plain text, you can use tools like git
and diff to track changes to a document over  time.  That's  a  lot
harder  if a file contains a bunch of proprietary formatting.  Com-
pare Word's Track Changes feature  to  the  diff-based  feature  in
draftin.com.

DIY it yourself.

Proprietary formats are not friendly to budding programmers or any-
one interested in learning how things work. Plain text is  easy  to
manipulate with basic tools, or with more sophisticated suites like
GNU.

There is a plethora of tools that do everything from editing, to-do
lists,  email,  typesetting,  converting to other formats (see pan-
doc), journaling and logging, creating diagrams, and organizing in-
formation.  Doing all of this in a capable shell, like bash, allows
you to string tools together to do creative and useful things.

Looking Ahead

At SDF, I see a lot of folks who are dissatisfied with the  current
state  of  consumer tech. They want to be in control of their tech-
nology and not the other way around. There's a feeling that we need
to turn back the clock in order to move forward. To the extent that
that's true, I think plain text has a significant part to  play.  I
think  it  is  also  true  that  moving  forward means creating new
things. New technologies can be used to remake the  web  as  infra-
structure  for  the common good. For a time, the old system and the
new system will co-exist. How people choose to use them will deter-
mine the role these technologies play in our society. Plain formats
work well with available tools, resist lock-in, and play well  with
a DIY ethic.

Yes,  I'm  nostalgic for the past, but there are practical applica-
tions of these tools for those interested in a  creative  approach.
Many software tools start out as text-only and retaining the flexi-
bility of a text interface is  important.  Makers,  hobbyists,  and
others  who  are  interested in taking part in creating our digital
future need to understand how these tools work, and need the abili-
ty  to  use existing tools in new, creative ways. A sealed, propri-
etary system doesn't achieve that.

+++ATH