Every tech person I know has at least one switch they keep meaning to make and never do. The switch is rarely hard in the moment. What is hard is admitting that the time you have already spent with the old tool is the only thing keeping you attached to it. I wrote a version of this piece three times in my head before I actually ran the experiment, and the delay had nothing to do with the work. The delay was the cost of admitting I had wasted a decade on something I already knew was past its best years.
That is the angle I want to talk about, because the technical walkthrough of any migration is the easy part. The hard part is the part where you decide you are allowed to stop.
Sunk cost hides inside the daily friction you stopped counting
There is a tell I have learned to watch for in myself. When I open an app and feel a small sigh of resignation before I even start using it, that is not the app. That is me, recognizing that I have been paying an emotional tax to use something that no longer earns its keep. The sigh is small enough that I attribute it to being tired. After a few months, the sighs stack up and I think I am just getting old.
Fifteen years of using the same browser produced exactly that pattern. It was not catastrophically bad. It was incrementally heavy. Each version asked for a little more RAM, the fans spun a little harder, the battery lasted a little less, and I told myself each of those observations was a hardware problem rather than a software one. That framing kept me from acting. If it was hardware, switching software would not help. If it was software, I had no excuse not to switch.
Numbers changed the equation when I opened Activity Monitor and saw my browser sitting at the top of the list at multiple gigabytes of RAM before I had opened anything heavy. The spell broke in under a second. Numbers do not need narrative. They just sit there and refuse to be reinterpreted.
I am not naming the browser in this paragraph on purpose. The lesson generalizes. The same pattern shows up in code editors, terminal emulators, email clients, note-taking apps, password managers, calendars, and just about every piece of software where the daily frustration becomes wallpaper you stop seeing.
- The cost of switching is real, but it is finite, fixed, and typically takes less than an afternoon.
- The cost of staying is infinite, recurring, and you have been paying it for years without amortizing it onto a budget.
- The cost of deciding is the smallest of the three, which is exactly why it is the one you keep postponing.
The migration tool convinced me I had been lying to myself
What broke me out of the loop was not a dramatic failure. It was an import wizard. I had been telling myself for years that switching browsers meant exporting bookmarks as HTML, exporting passwords as CSV, reinstalling every extension by hand, signing into every website again, losing my saved tabs, and generally having a small personal tragedy on a Tuesday afternoon. That is the script I had been running on repeat every time I thought about switching. The script was vivid enough that it counted as evidence. I did not actually have to experience any of it. I just had to imagine it vividly enough that imagining was the same as doing.
I let the migration tool run for the first time and the whole sequence took less than it takes to write a long-winded sentence complaining about how long it takes. Passwords moved over with their metadata intact. Bookmarks came across with folder structure preserved, which I had genuinely forgotten I cared about until I did not have to rebuild it. Extensions were a manual step, but only for the three or four I actually relied on. The rest, I never missed.
Most of what I want you to take from that paragraph is not the speed. It is the size of the gap between the imagined cost and the real cost. I had been pricing a four-hour ordeal and got a twenty-minute chore. The mispricing was the gate. Once the gate opened, the only thing left was to walk through it.
What generalizes from one migration to the next
After I broke the seal on the first switch, every subsequent switch became faster. Not because I had built muscle memory, although I had. Because I no longer believed my own estimate of how painful a migration would be. The estimates were always off by an order of magnitude. The switch was always easier than the deliberation. The deliberation was the actual work, and most of it was performed by a version of me that had never tried it.
This is the part I want to be careful about, because it can sound like I am telling you that switching is free. It is not free. There are real costs. Some extensions only exist in one ecosystem. Some web apps behave slightly differently across browsers and you will discover that they expect one specific rendering engine for one specific feature. Some services gently nudge you back to the original tool with banners you have to close. Some of your friends and coworkers will send you links that open slightly differently. None of those costs are dealbreakers. They are papercuts. Papercuts stop being papercuts the moment you stop counting them one at a time.
- Switching is rarely prevented by the actual difficulty of the move.
- Switching is usually prevented by the imagined difficulty of the move, accumulated over years of not switching.
- The imagined difficulty shrinks dramatically the first time you do it. The actual difficulty was always small.
When the switch is genuinely worth postponing
I do not want to leave you with the impression that every switch is a free win. Some are not. If you depend on an extension that has no equivalent in the destination tool, that is a real cost and you should weigh it. If your day-to-day work is built around behavior quirks that exist in only one platform, you are going to feel those quirks disappear and that is going to cost you focus for a week or two. If you are in the middle of a deadline, do not run a migration the night before the deadline. The migration will not be the cause of the failure, but the timeline will not be the cause either, and you will be tired.
The honest list of reasons to postpone a switch is short, and it shrinks every year:
- You depend on an extension or plugin with no equivalent, and the cost of losing it outweighs the cost of staying.
- You are mid-project on a deadline and you cannot afford to lose a week to familiarization.
- You are about to change hardware and you would rather make one switch than two.
- You genuinely tried it last year and the experience was bad for reasons that have not changed.
If your reason for staying is not on that list, the reason you are telling yourself is probably not the real reason. The real reason is usually sunk cost plus inertia plus a script you have been running so long it sounds like common sense. That script is the cost. Paying it down is the entire job.
Trade-offs
There are two ways to think about migration, and the edljx house view is that one of them is mostly wrong.
- Staying with the familiar tool because switching feels hard keeps the short-term cost low and the long-term cost high. You stay productive today and keep paying an amortized tax every day after.
- Switching now because the cost of switching is finite keeps the long-term cost low and the short-term cost high. You spend a day of focus and stop paying the tax indefinitely.
Both arguments can be true. The argument for switching is that the tax compounds. The argument for staying is that the tax is invisible. The honest version of this essay is that you should switch when the tax stops being invisible, and you should stay one more week every time you find yourself arguing with yourself about the tax. The argument is the cue.
What to do tomorrow morning
The next migration you have been delaying is not waiting on a better migration tool. The migration tools are fine. The migration is waiting on you to stop pricing the move in imaginary dollars. Pick a Saturday morning. Block twenty minutes. Run the import. Watch the tool do most of the work. The worst that happens is you learn something about your own setup. The best that happens is you wonder why you spent a decade paying a tax you could have written off in an afternoon.