The Case For Mostly Sticking To Boring (To You) Software
I'm with Marco Arment on this:
Boring old is the key to server-administration happiness. Stick to the boring and the old, and you’ll rarely need to deal with anything.
He recently spoke about this on atp, too.
The general idea here is: Old boring software tends to run a lot better. He's talking about server code, but the general notion is an interesting one to consider when it comes to personal productivity.
Of course, there is a spectrum here. Taken to an extreme, I shouldn't use VS Code but Emacs or VI(M), for example. But what would be even worse is to change text editors every few months - I see this, the constant change of apps for a specific use case - as one of the biggest problems in trying to build a reliable setup for knowledge work.
In most cases all of us have certain apps already in place for certain use cases. The idea here is to keep using the app and asking yourself if whatever is missing, is actually missing and then think about a change you actually would like to introduce to the current productivity system as a refactoring.
As an example for sticking with what you have, let's consider the case of missing automatic backlinking functionality in Evernote. This feature is not provided by the app. We can link notes manually though and this is actually good enough in most cases. It has the additional benefit of making me engage with my notes more. I don't need to change to ikiwiki (for example) just so I have automatic backlinking functionality.
It is a hard lesson to learn that sticking with something is almost always more beneficial than changing things up, I found. I have only learned it myself through a long line of disappointments, triggered by changing apps and my setup fairly quickly and on a whim at times. Sometimes it worked out, but most times it did not.
I nowadays think that platform agnosticism can be used wrongly to facilitate easy changes to your setup instead of ensuring longevity of data. Using plaintext just so I can bounce around between iA Writer, nvAlt, Sublimetext, etc. pp. is not a way to happiness.
Instead, I want to suggest to stick with what you have and only in special cases consider a change. If you are indeed moving things around, do a proper analysis, what you will gain and what you will lose. Reorganising things from an old system into a new system just for the sake of it is not valuable work. Tidying up and refactoring an old system, on the other hand, is.
I therefore suggest that, if you really need to change any pieces of your setup to consider things like scriptability and automatisation facilities, since this will enable you to stick with the software you are already using. This is why I like things like Evernote for my notes or DevonThink for my Documents and OmniFocus for my Tasks. Learning how to use Applescript and Keyboardmaestro really helps to relieve the need to change software all the time.
Of course, it's not always a straight-forward thing. We're all human. I have chosen Evernote as my notes system on a whim and got lucky. I just recently switched to DevonThink and am in the process to move documents over to it. But all of this is a slow process. An app change or addition as is the case of DevonThink is a sort of refactor of my current document management.
Whereas a change like the one to Evernote should not be seen as a good example (although I was in the middle of moving to a different country and needed an app I could use reliably on my phone, which TiddlyWiki simply wasn't), picking up DevonThink might be considered an okay move.
Maybe the Pareto Dominance Principle could help:
The Pareto Dominance Principle (PDP) requires that, when changing the functionality of your product, you can never accept even a small degradation for any (reasonable) user.
The only user of your productivity system is probably you. So ask yourself: Are things only getting better, when changing a piece of my setup or in the worst case stay (mostly) the same? If the answer is no, then don't change systems.
If following this principle, a ratcheting effect will be felt: the setup will be much less in flux and will only get better.
Marco Arment suggests to run mostly boring server side code and software. It's easier, probably more reliable and predictable. I suggest to mostly make do with what you already use and might find boring by now. You already know how to use it and therefore it will be more predictable to you. You know its upsides and downsides. This is a good thing! A setup should only be as good as to enable meaningful work and otherwise be resilient and only get better.
If you find yourself struggling with the software you already use: Change one thing at a time. Use the Pareto Dominance Principle to slow you down somewhat and consider the benefits but also the cost of changing your system.