When it comes to finding and choosing new software to use, I'm beyond conservative. I'm
fucking weary.
I've been using personal computers and choosing software for more than 35 years now.
I've lost so much data over the years. The media failed. The computer failed. The "upgrade" changed the file format; the next one "forgot" the old format. The software company died. Somebody bought the company and killed the software. The computer got obsolete and I had to switch. The new computer refused to talk to the old media. The media's fine but there's no reading peripheral that connects to the new computer. The software doesn't work without an internet connection to a verification server that doesn't exist any more. The software needs an upgrade but there's no
profit in making one so nobody does. The software always stored its data in the clown (oops, I mean the cloud) and the clown died when bad things happened at the software company. The software tries to sync everything but one day it synced the wrong way and wrote no files over your files. I could go on like this for quite a while.
My point is: software is ephemeral. It's a lot more ephemeral (so far) than me. And it's a lot of fucking work to find software that will do a thing, plus a lot more fucking work learning how to use it. What we need is
sustainable software that we can use
forever, or until our needs change.
Luckily, this is often possible. You do have to be stubborn about not getting locked into shitty software due to impatience or desperation, but I am very good at stubborn. When it comes to software, I am a fucking
champion curmudgeon.
Here are the rules I have developed for myself over a third of a century of picking software:
1) Strive to choose
open source software. If it has a currently-active developer community with at least a decade of history, that's best. (Usually that means a forum with a lot of help/answers you can Google.) Open source, to me, means software where the code is public and downloadable. This means, in theory, that nobody can ever take it away, lock it up, or tell you not to run it. If the project dies because all the people who can code lost interest, I can keep using it until it breaks because of computer upgrades and such. Even then, I could in theory tinker with the code and fix it. Since I'm not a programmer, that means I'd have to pay somebody else to tinker with the code and fix it, but that's often cheaper than you would think; if it's business-critical, it could be done. Or, at least, you could pay somebody to write a data export function converting your stuff into stuff that some new software can understand.
2) Strive to choose software that uses the most basic,
common, lowest-common-denominator
file formats. Like .txt, .bmp, .jpg, .gif, .rtf, .epub, .mp3, and a few dozen more. Access to LOTS of different file formats and the ability to import/export/convert between formats is a plus. Some of the most basic file formats have been around for decades, and future tools are likely to incorporate import/convert functions for these formats for decades more. Complicated proprietary formats are much more likely to become unreadable, sooner rather than later. Media is fragile/ephemeral but if your formats are useful, you're more likely to copy old media onto new as your computing environment evolves.
3) Strive to choose software that
stores your stuff in rational ways, such as simple human-readable file folders, preferably with descriptive filenames in standard formats. That way, if the software dies, your data lives on. Strive to use software that
curates your data and propels it as far into the future as technically possible. Software that makes a present of your data, wraps it in bows and ribbons, puts nice clear labels on it, and FedExes it to future you, fumbling in forgotten directories in 2037.
4) Related to 3), strive to find software that lets you
control things like
where you save your data (probably, for example in the Windows environment, in a folder of your choosing accessible via the Desktop) instead of dumping it deep in a nested nightmare of cryptic subdirectories. Control over format of filenames and directory names is also very important. But a prescribed directory structure can be OK if it's rational (like, all the ebooks go in /ebooks/ in alphabetized /author/ subdirectories with filenames that are the title). Bad example to avoid: software like Itunes desktop app that splits up your 10,000 music files into random-named directories with (say) 256 files in each directory, and then gives the individual .mp3 files names like XRJ75 and QRS7J.
5) Strive to choose software that
will store your data locally, on a hard drive or media that
you own and control. This is another way of saying
"Never put your data in the cloud." "The cloud" is marketing-speak for somebody else's computer. They can turn it off, delete your data, hold your data hostage, hand your data over to any cop or bureaucrat who emails them a good story, whatever. They control it, not you. That's bad. Jason Scott, archivist for the Internet Archive, calls it "the clown." Never put your data in the clown. If somebody suggests you put your data in the cloud, change the word "cloud" to "clown" and ask yourself if the proposition still sounds good to you. "Sure, I'm happy to put my data in the clown." Right. No.
Fuck the cloud.
6) Be
very careful about synching. Think twice about software that "syncs" your data between your different computers and tablets and phones and such. Usually they don't actually sync it; they just tell each device to upload it to the clown, and then keep it in the clown until your other device asks for it. If the clown dies, you're shit outta luck. Open source software is more likely to use a hub model, for instance, setting up a private passworded web server on your desktop computer that your other devices can connect to. But even here, scrutinize the interfaces and make sure it's not easy/possible to sync something the wrong way.
Apple's desktop iTunes software was notorious for this; you could have 10,000 music files in your desktop library and hook up the wrong device or click the wrong button, and BOOM! Now your library is the twelve songs that were on your kid's iPod, so sorry about the three years you spent building out the metadata on those other songs.
7) Strive to choose software that will
store as much metadata as possible in the files themselves. Many file formats (like .mp3s for music or many digital photo formats) have metadata built into the file formats along with the music or photo or whatever. So if your music software lets you enter album information, track numbers and stuff like that, it
should also write that info into the file, where it can be read by other software that speaks the same format standard. Crappy software (usually proprietary, not open source) will use a shitty internal database in some proprietary format to store that data, so you lose it all if you start using some other software to look at your files.
There's more, but that's enough to get started. I don't think any software I have ever encountered gets a perfect score on all seven factors listed above. They are things to look for, not disqualifying mandates. But the older I get, the more rigorous I am about looking for these features.
The absolute best example I can offer that many of you may be familiar with is
Calibre ebook management software. It's open source, actively developed, and has a mature development history. It can read any ebook file format imaginable. It can convert just about anything to just about anything else. It has a plugin system so that third parties can extend its capabilities. It writes all your ebooks in plain formats (if you want) with titles as filenames (in the format you specify) in alphabetized directories. Nothing goes in the clown. It just works out of the box, and if it ever dies, it will leave behind a very nice library of all my ebooks nicely sorted, in as many formats as I cared to store.
I spent years looking for a music player and files manager that met my sustainability standards. I finally found one in
FooBar2000, although it requires some tricky setup and operations to get it to organize my files the way I want. The capability is there, but the user interface is one only a programmer could love. I had to Google a lot of settings to get it working, but the robust developer and user community meant that my Google searches always got me answers.
I'm still looking for photo manager/viewer/album software that works like this; there are dozens of candidates but the ones I've trialed all failed in important ways. Likewise a player/manager for digital movie files; lots of candidates, but I can't find one that ticks all my boxes. There are lots of other categories of software that don't touch on media files so much, but it's still important to find ones that respect your data, keep it under your control, and curate it for future use after the software itself goes bye-bye. We could talk content-management software (I like WordPress but it fails some of my tests), word processing, spreadsheets, database management whether large (inventory control) or small (your recipes), calendaring, task management, and many more. But the principles rarely change: open sourced, future-proofed, respectfully-curated data that stays under your own control.
What do you think? I'd be happy to hear what principles y'all use for letting software into your life, and if you have particular favorites that meet my standards (or yours if they differ).