File Managers

Microsoft’s File (or Windows) Explorer1 has never been good2. Early Windows felt like a GUI for the sake of a GUI, competition to the Macintosh. The Mac’s Finder was itself quite simple, and also never really quite grew into anything for power users. This makes sense for Apple, but Microsoft started off with a weak simulacrum of Finder and never really got around to embracing its power users. Before Windows was ever released, Peter Norton was selling an incredibly powerful file manager for DOS, Norton Commander3. Far more of a power tool than Explorer could ever dream of, Norton Commander set the guidelines for an entire class of file browser, the Orthodox File Manager or OFM.

Windows 11 has seen a revamp of Explorer that further dumbs down what should be a first-class component of any operating system. Even after shipping this atrocity, they kept stripping it down further, though quickly reversed that one. All this to say that Explorer has never been a viable option for the sort of user that actually uses their file manager to manage files, and it’s only getting worse. A perfect opportunity to talk about alternative file management paradigms and the software I personally use on Windows.

Orthodox File Managers

So let’s start with OFMs. Dr. Nikolai Bezroukov, who seemingly coined the term, has a whole page dedicated to the philosophy of these managers. In it, he lists many characteristics (‘notions’ as he calls them) of OFMs. Some, like ‘minimal UI chrome’ are vague in definition and feel more like consequences of the overall design and user base and less like requirements. Two of the notions that tend to be sticking points, however, are a ‘command channel’ and ‘tiled, nonoverlapping windows with minimum decorations.’

The ‘command channel’ aspect is simultaneously one of the defining features of an OFM and also one that… is less of a big deal on Windows. The idea here is that the file panes are tightly integrated with a CLI window; both OS and internal shell commands can be executed on a selection in a file pane. This is great on a Unix-like system, but CLI interaction on Windows is… not good. The ‘DOS prompt’ is minimalist; PowerShell is an abomination. Accordingly, while some OFMs on Windows still treat the CLI as a first-class citizen (Far Manager), others relegate it to a small corner of the interface (Total Commander) and others still do away with it entirely (OneCommander).

‘Tiled, nonoverlapping windows’ generally refers to the dual-pane design of OFMs which, on Windows at least, personally feels like the defining characteristic. Bezroukov and others would certainly disagree with me here, but the fundamental paradigm that makes working with non-orthodox file managers untenable is a display that is nominally split into source and destination panes. Fingers on the home keys, navigating to a ‘From:’ and a ‘To:’ directory before making a selection and firing off a single command is, quite frankly, the only way that GUI file operations really make sense to me. The alternative is to spawn two disparate, floating Explorer windows and play the alt-tab game while copy/cut/pasting and/or shudders drag and drop. On a Unix system, complex file operations are quite simple from the CLI itself. On Windows, this is less true, and while a GUI feels more necessary to me, the ideal GUI is still one that shows me a lot while allowing me to fully interact from the keyboard.

NeXTSTEP Innovations: Miller columns and drop stacks

While it’s hard to find any innovations that have come out of Windows Explorer, the long-dead predecessor to macOS, NeXTSTEP, was full of clever ideas. One that is still often re-implemented today (and in fact has been a core function of the Macintosh Finder for decades) is a columnar breadcrumb view known as Miller columns. Put simply, you start with a column for your root directory, and every step that you drill down the tree creates a new column to the right with that step’s directory listing. While it isn’t the best for file management, it is incredibly useful for directory navigation. Aside from file management, it routinely comes up in music software as the mechanism for drilling down from, say, genre to artist to album.

NeXTSTEP had another useful paradigm which, unfortunately, has largely disappeared from the world of file managers. More of a broader shell function, the drop stack lived in the dock as a sort of limbo for files. Files could be added to the stack from all manner of disparate locations, and then a single operation could be performed on this whole stack at once. For my broken brain at least, it is far easier to keep track of everything if I can have this little temporary list of files to review before I commit a change vs. poking around various places and doing multiple smaller file operations. While it is, as mentioned, an uncommon feature, Cocoatech’s Path Finder is a modern file manager that implements a drop stack4. While I have not used Path Finder in years, it always served me well and it still seems like the top choice for an advanced file manager on the Mac.

Visualizing the file system

If you’ve read much of my blog (or even just this very post), you probably know that I’m not overly fond of GUIs. The advent of all this fancy graphical stuff does very little for file navigation and management, in my opinion, but it does open up a lot of possibilities for advanced visualization. This can be as simple as color-mapping the age of files or a complete treemap view of a file system, showing relative directory and file sizes across the board at a glance. Dreamt up in 2001 by Ben Shneiderman and Martin Wattenberg, treemaps are miserable things to look at, as evidenced by Darío Weitz’s assertion that “Treemaps are one of the visual elements most employed in Business Intelligence (BI) presentations”. But despite having the aesthetics of something that was imagined for the worst people who have access to copious amounts of data, they do offer an overview of massive data sets that allow a viewer to easily discern the highest-ranking data for a given parameter.

Space constraints have always been an issue with computing, and treemaps are a reasonable way to let users drill down into the most storage-hungry corners of their machines. It’s hard to pin down what software did this first, but TreeSize was certainly an early example, as was WinDirStat. Easier on the eyes, some utilities such as KDE’s FileLight or DaisyDisk for the Mac rely on stacked pie charts.

My personal file management toolbox

I’ve mentioned quite a few pieces of software already, including everything that I use on a day-to-day basis. But (hopefully) it’s worth expanding on why I use what I use, why I’ve migrated away from other pieces of software, and how I navigate features that may be missing or oddly implemented.

Total Commander (Commercial/$60)

Let’s just get the obvious one out of the way – if you ask any power user dork for a Windows Explorer replacement, they’re likely to respond with ‘Total Commander’. This is justified – it’s powerful out of the box, extensible with a healthy plugin ecosystem, and incredibly customizable. Bezroukov doesn’t seem to care much for it, as it lacks a strong command interface. I’ve already said my piece regarding this, but I just don’t find it to be all that useful on Windows. The misery of the Windows CLI experience is one of my biggest gripes with this operating system. As far as a dual-pane system, however, Total Commander works great. All the menus and keyboard shortcuts are customizable, to the point where I’ve mapped [ and ] as touch-typist-friendly alternatives to the up/down cursor keys. Sync browsing – that is, navigating both panes at the same time if the directory structures are mirrored – is not readily available by default, but it can be added to the menus and/or keyboard via the internal command, cm_SyncChangeDir.

Speaking of synchronization, basic file sync is also included. It won’t monitor/perform realtime sync, but it does a fine job of manual sync. Sync, copy, and move operations all support optional file verification. As is typical for OFMs, the two panes can be switched from source/destination to browse/preview. The preview pane is extensible, and while it doesn’t cover every type of file I might like it to, it falls back on a raw text output which is often a useful fallback. Things like determining whether Windows binaries are x64 or i386 are easy without stepping into an additional application5.

One feature that I mentioned is useful but seldom supported – the drop stack – is absent from Total Commander. No analogue is built in, but a plugin that adds a temporary pane exists, and works well for those times when I really need a drop-stack-style paradigm. Temporary panes appear in OFMs here and there, and do pretty much what you’d expect – they turn whichever pane you set them to into file limbo. All in all, Total Commander deserves its praise as the power-user file manager for Windows.

OneCommander (Commercial/$14/Free feature-limited version for non-commercial use)

OneCommander6 was the first dual-pane file manager I used when I moved back to using Windows as my primary operating system. The free version is feature-rich enough to extensively test, and at the time a full license was in the ballpark of $5. It was an absolute steal for what it was, and I’m honestly happy that the developers are charging more for it now; it’s still a bargain. It was never quite customizable enough for me to use it beyond the handful of times that I really needed two panes, however, leading me to invest in Total Commander.

Over time, it has gotten increasingly customizable. It is very much a modern approach to dual-pane file management. It lacks the OFM-requisite command line entirely, and only runs on Windows 10 or 11. In addition to dual-pane browsing, it offers quite a bit of flexibility with views, including a very nice Miller column view. These paradigms can be combined, yielding a stacked dual-pane Miller column browser. Visually, by default files are color-coded according to age. It has clever little file management ideas like color-coded tags for files and inline notes.

Total Commander requires quite a bit of learning if you’re used to Windows Explorer vs. a different OFM. OneCommander, on the other hand, largely works as a newcomer would expect out of the box. Combined with its approachable, modern UI (and low price), I cannot recommend it enough for folks who are looking for more oomph than what Explorer has to offer, but who are not file management nerds. And while Total Commander remains my daily driver, I’m planning on buying another OneCommander license for my new computer.

TreeSize (Commercial/free version exists as do several license tiers)

Like Total Commander, TreeSize has been around for a while. I mentioned earlier that it might have been the first software to use treemaps to visualize disk usage; certainly it was an early example. The version being sold today still offers a treemap visualizer, as well as a much more palatable pie chart visualization and others. This is TreeSize’s purpose – visualizing and browsing the file system based on file and directory sizes and other metadata.

In its least visual view, essentially a standard file browser pane, it still offers an inline, sparkline-esque visualization of every item’s percentage of the space it consumes of its parent. All of the visualizations can be filtered by other metadata like extension or owner. Much like One Commander, the age of a file can also be factored in. Detailed reports can be generated and compared as snapshots. At the professional license level (which I don’t have and therefore have not tested), this can all be automated into a task scheduler as well. It also comes with a pretty comprehensive file search utility, which seems a bit strange at first but does tend to go hand-in-hand with the sort of cleanup operations one might use a usage visualizer for.

Disk usage visualizers tend to be pretty simple one-trick ponies, and while TreeSize is still primarily suited for one task, it offers a lot of flexibility in how you can visualize and navigate that task. It’s quick to scan as well, and all in all just reliably works the way I expect it to.

Honorable mentions

Far Manager (FOSS/BSD-style license)
Far Manager is a TUI-based OFM in the vein of Norton Commander. It integrates well into Windows, offering things like a (still TUI-based) right-click contextual menu that matches the one in Explorer. It’s a great little program that I rarely use because I tend to just use shell commands for file management when I’m in a CLI. I have been playing more with it lately in ConEmu and if I come to find a setup here that really works with my workflow, I’ll likely write about it in the future. Far Manager does have a built in temporary pane in lieu of a drop stack. Bezroukov likes this one.
ZTreeWin (Commercial/$30)
Much like Far Manager, ZTreeWin uses a TUI, and much like Far Manager, I’ve been playing with it under the pretense of working it into a workflow with ConEmu. Unlike Far Manager, it’s entirely tree-based and not an OFM. It’s a clone of XTree/XTreeGold from the DOS days, and therefore really only shares UI paradigms with XTree and other XTree clones. This happens with OFM’s all tending to follow Norton Commander UI paradigms as well, but I personally am far more used to these as they’ve just had better staying power. But ZTreeWin is very quick and has quite a bit of power behind it. Time will tell if it finds its way into my command-line experience, but it is worth checking out.
Tablacus Explorer (FOSS/MIT license)
Tablacus Explorer is an interesting take on a multi-pane file explorer. It lacks a command interface, and doesn’t offer a ton of functionality beyond what Windows provides. My understanding is that the file panes are just Explorer widgets provided by the OS (though I may be wrong about this). What it offers, then, is a highly modular and customizable approach to viewing and interacting with regularly standard browser views. Inbuilt are 2-, 4-, and 6-pane views as well as tree/list views. An extensive add-on library contains yet more views as well as small UX modules for various customizations. And, while I haven’t managed to dive into this yet, it seems like there are a lot of possibilities for writing add-ons and using Tablacus Explorer as a framework for more niche file browsing needs.
Resonic Player (Commercial/69€ with a free tier available)
This one is a bit niche, and it’s still in beta with the last release being four years old at this point, but it’s good at what it does – browsing directories of audio for the purpose of sifting through samples. It auto-plays as you go through a directory, and importantly it’s quick and responsive while doing this. I doubt I’d shell out for the pro version when development seems stalled, but as long as the free version is available, it’s an indispensable tool if you tend to find yourself needing to go through directories full of audio.

All of the Windows Explorers, together at last (external)

I have quite a few posts lined up, and I’m excited about all of them, but… I’m very stressed, and writing is very hard right now. So in the meantime, this post title-links to a very cool recent writeup by Gravislizard, a streamer (&c.) whose dives into retro computing I really admire. The linked post compares basically every notable revision to Windows Explorer since… before it was even called Explorer. Twenty little writeups complete with screenshots, from Windows 1.04 to Windows 10. Lovely little trip through history.


A test of three zippers

I’m in the middle of quite a few posts, and honestly… this one should be pretty short because I had no idea I’d be writing it. I’m trying to make my Windows experience as pleasant as possible (that itself is an upcoming post), and part of that has involved looking for a good archive tool. Windows handles ZIP files well enough, but it’s kind of a barebones approach and it doesn’t handle any of the other major archive formats that I’m aware of. I looked at a few alternatives; as is typical for Windows they basically all had miserable, nonstandard user interfaces. Many appeared to be adware or scummy bundle situations. I only ended up testing three, and didn’t make it very far with one of them (PeaZip), simply because whatever Linux-esque toolkit it was made with prevented it from working with FancyZones.

So I tried out 7-Zip, WinZip, and benchmarked these against the inbuilt Windows archiver. I’m not settled on anything yet, but both of the alternatives offer support for all of the common archive formats; 7-Zip supports a ton of additional formats. WinZip wins on the UI/UX front, feeling nearly native and offering a nice dual-pane view; 7-Zip is pretty barebones in this department1. 7-Zip is free, open-source software; WinZip is proprietary, closed-source software with a $29 price tag.

What really shocked me, however, were the benchmarks. I wanted to test ZIP files specifically, as I run into them most often (other formats tend to be things I’ll be handling on the Linux side of things), and I couldn’t benchmark anything else against the inbuilt Windows archiver. My test machine is an 8th Gen Core i7, quad-core @ 1.8GHz, with 16GB RAM and only Intel onboard graphics. WinZip has an option to use OpenCL and offload the task to the GPU; I thought it would handily outperform the others accordingly2. Only 7-Zip has a built in timer, so results on the other two may have been off by a second or two as I was doing it manually with a stopwatch. I did three runs of each and averaged. The test was enwik9, the first 109 bytes of English Wikipedia. A gigabyte of source that reliably FLATEs down to under 350MB.

YMMV, of course, and this was… a single giant file run through only a handful of times. But I was shocked that Windows tore through a gigabyte source so quickly. Unzipping any of the resultant files was uniformly fast; decompression is not an intensive task. I don’t know that there’s an actual takeaway here, but I was shocked by the speed at which Windows compressed that file.


Backward compatibility in operating systems

Earlier this week, Tom Scott posted a video to YouTube about the forbidden filenames in Windows. It’s an interesting subject that comes up often in discussions of computing esoterica, and Scott does an excellent job of explaining it without being too heavy on tech knowledge. Then the video pivots; what was ostensibly a discussion on one little Windows quirk turns into a broader discussion on backward compatibility, and this inevitably turns into a matter of Apple vs. Microsoft. At this point, I think Scott does Apple a bit of a disservice.

If you’ve read much of my material here, you’ll know I don’t have much of a horse in this race; I’m not in love with either company or their products. I’m writing this post from WSL/Ubuntu under Windows 10, a truly unholy matrimony of software. And while I could easily list off my disappointments with MacOS, I genuinely find Windows an absolute shame to use as a day-to-day, personal operating system. One of my largest issues is how much of it is steeped in weird legacy garbage. A prime example is the fact that Windows 10 has both ‘Settings’ and ‘Control Panel’ applications, with two entirely different user experiences and a seemingly random venn diagram of what is accessible from where.

This all comes down to Microsoft’s obsession with backward compatibility, which has its ups and downs. Apple prioritizes a streamlined, smooth experience over backward compatibility, yet they’ve still gone out of their way to support a reasonable amount of backward compatibility throughout their history. They’ve transitioned processor architecture twice, each time adding a translation layer to the operating system to extend the service life of software. I think they do precisely the right amount of backward compatibility to reduce bloat and confusion1. It makes for a better everyday, personal operating system.

That doesn’t make it, however, a better operating system overall; it would be absurd to assume that one approach can be generally declared better. Microsoft’s level of obsession in this regard is crucial for, say, enterprise activities, small businesses that can’t afford to upgrade decades-old accounting software, and gaming. There is absolutely comfort in knowing that you can run (with varying levels of success) Microsoft Works from 2007 on your brand new machine. It’s incredibly valuable, and it requires a ton of due diligence from the Windows team.

So, this isn’t to knock Microsoft at all, but it is why I think dismissing Apple for a lack of backward compatibility is an imperfect assessment. I’ve been thinking about this sort of thing a lot lately as I decide what to do moving forward with this machine – do I dual-boot or try to live full-time in Windows 10 with WSL. And I’ve been thinking about it a lot precisely because of how unpleasant I find Windows2 to be. Thinking about that has made me examine why, and what my ideal computing experience is. Which is another post for another day, as I continue to try to make my Windows experience as usable as possible. Also, I’m not in any way trying to put down Scott’s video, which I highly recommend everyone watch; it was enjoyable even with prior knowledge of the forbidden filenames. It just happened to time perfectly with my own thoughts on levels of backward compatibility.