Jiwon's Alcove

The Flat File Lifestyle

Dec 28, 2022
Document icons with popular file formats.

Over the years, I've grown increasingly wary of using any application that stores its data in a nonstandard format or in a relational database.

My main concern is longevity: I've jumped apps enough times to know that most software companies or projects don't last long. If your file format isn't a popular open standard like txt, html, pdf, or png, it could break at any time. Evernote did not support Linux for a long time, so dealing with their proprietary .enex file format was a pain. The same could be said about Clip Studio's .clip file format.

The secondary concern is a desire to understand what is really happening with the apps that I use. Zotero, for instance, is an awesome application. However, there are often small discrepancies between what I intended and the BibTeX file that is exported in the end, due to the sqlite middleman. I decided to work directly with BibTeX files to gain fine control over the BibTeX exports. Put another way, although SQL databases are reliable for a software programmer, they are less human-readable for the end user.

The third factor is platform freedom. If the developers decide to add a lot of junk features, or get bought out by a scummy owner, then I can easily switch to a different app that also uses the popular, open file format.

Migrating to an almost flat-file-based workflow was not too difficult.

  1. Handwritten notes: Onyx Boox notes app (sqlite database) → annotating a PDF notebook template
  2. Typed notes: Evernote (enex, a proprietary format built on XML) → plain text markdown files
  3. Reference manager: Zotero (sqlite database) → JabRef (raw BibTeX files)
  4. Photo management: Photos app (Apple's proprietary format) → flat image files
  5. Office documents: Work with Microsoft or Google's file formats to collaborate → archive final product in odf (open document format) and PDF.

There certainly is a learning curve, particularly with learning the flat file format's specifications and its idiosyncrasies. At the end of the day, though, I like understanding what my data means.