Mastodon
2020-04-12T15:16:35+01:00

Why I love plaintext

Plaintext often sounds as being too simple for most applications. I would like to explain, why that mostly isn't true.

I sat very excited in front of my home banking program. It was the only one that was able to communicate directly with my bank under Linux. Unfortunately, the possibilities for running analyses were very limited, but that' wouoldn't be a problem. Linux provides a lot of software to make beautiful graphics out of dreary numbers. However, the banking software only stored its data in an antique and apparently encrypted database system.

So, again, I had paid a good amount of money for the PRO version because according to the manufacturer it was able to export and import data in XLM exchange format. Because XML is usually easy to read, I thought it would be a good idea to have my own graphics output with the data input.

Some of you may have noticed what I thought was a typo at the time. It read XLM and not XML, and that's exactly what the manufacturer meant. XLM was a format that was completely cryptic, not documented, and presumably could not be read or written by anyone except by this manufacturer. From my point of view that move was good for nothing other than to serve as an excuse for the often stated complaints about missing interfaces.

Something like that makes me going balistic

If I tie myself to a manufacturer out of sheer necessity, then I don't want to get pulled over the barrel that shameless. To my relief, the aqbanking project had its software developed to the point that it became possible to communicate with my bank. And the best thing was it simply put its data on my hard drive in plain text. I was now able to read thjat data, process it, display it graphically, and do all the things that nobody would pack into a single program.

Queryologie

And here comes the big advantage of having all my data in plain text. I don't even know today what I would like to do with this data tomorrow. Or As Michael Seemann puts it: Which query I will apply to this data later.

"Nicht mehr der Sender soll definieren, was der Empfänger für Signal und was er für Rauschen zu halten habe, sondern der Empfänger soll dies in Zukunft selbst entscheiden, ohne den Sender überhaupt zu fragen."

Michael Seeman: Das Neue Spiel, Kap2, Die Emanzipation der Query

In this specific case, neither the bank nor my software manufacturer may know that I divide my account in my private cash book into a handful of virtual envelopes, in which I put a bit of money at the beginning of each month to e.g. pay the car insurance every six month.

Now that I can simply get my sales and account balance as a plain text file, I can do exactly that to reflect my bookkeeping and also display those envelopes graphically.

Vendor Lock-In

And that's how I feel in many places when I work with software. Be it the photo manager, in which I can mark all pictures with personal names, places and events, or genealogy, where I effortlessly share my 200 ancestors with other genealogists who work on the same family tree, but don't pass it on to my daughter if I don't want to pay horrendous membership fees for storage until the end of my life.

My most recent example is my book collection of about 100 eBooks that I have baught over the last years on Amazon (it's worth hundreds of euros), and since my termination can't read anymore sticking to the law It's always about the effect of vendor lock-in.

This means something like the following

"Unter Lock-in-Effekt (englisch lock in, „einschließen“ oder „einsperren“) versteht man generell in den Wirtschaftswissenschaften und speziell im Marketing die enge Kundenbindung an Produkte/Dienstleistungen oder einen Anbieter, die es dem Kunden wegen entstehender Wechselkosten und sonstiger Wechselbarrieren erschwert, das Produkt oder den Anbieter zu wechseln."

Wikipedia: Lock-In-Effekt

Escape

Plaintext allows me to escape from this and a few other prisons. I become independent, by detaching myself from data formats that are only readable by machines, and in in the worst case, only by the machines or programs of individual manufacturers. Suddenly it's meaningless if

  • Manufacturers offer the functions I want
  • Manufacturers still exist in 10 years
  • Manufacturers will still operate their servers in 50 years
  • Manufacturers continue to support their own data formats
  • Software would also like to work with the products of the competitors
    • Even if this competing company is only founded in 3 years
  • there is still software for processing at all. If necessary, I can easily print out all this data and read with the naked eye.

In practice, thanks to plain text, my cooking recipe program can easily write its data to the hard drive and I can write a small program that selects a recipe and puts the ingredients on my todo list as a shopping list and send it to my cell phone.

This is probably the reason why Linux suits me and my work style so well. Instead of wanting to give me a complete workingstyle, it offers me many small programs that solve small tasks, and all of them work with the same data, and thereby add up to a very powerful team. And I prefer this team at my side instead of the company, who purposely used an 'accidential' misprint to pull the money out of my pocket.