ppass wrote:I tend to view SpaceMonger as a visual file explorer for the whole drive, with advanced search features. So I wish that I could access the same fields with SpaceMonger as is possible with explorer2 lite.
Ideally, I would love to be able to make such a query inside SpaceMonger:
"Show me all photos taken between 2007/1/1 and 2007/3/1 with 'Canon' in the camera type".
or
"Show me all Office documents with author 'Spacemonger'"
Well, the question, then, is how slow is acceptably slow?
SM can only display information it knows, which makes sense. So, for example, during the initial scan of the disk, SM has to collect (at a minimum) file sizes, which are necessary to render the treemap. Certain other attributes that are useful (and that are easy to collect) are also collected at the same time: Modification date, for example.
However, there is a division in Windows itself between attributes that are "easy" to collect and attributes that are "difficult." "Easy" attributes are stored as part of the directory information itself: For example, it costs no extra time during the scan to collect the file's size and modification date, because those are provided by the OS along with the filename. However, the "difficult" attributes are stored externally: They are either stored in alternate streams, or as part of the file data itself.
This means that to simply extract "camera type" from every image during the scan would cut the speed of the scan to about 10% of what it currently is --- maybe slower. (Why? Every file that might contain "camera type" --- or any other nonstandard attribute --- has to be opened (slow), searched through (slow), and fed to each possible Explorer extension that might provide these kinds of columns based on the file data (very, very,
VERY slow). In contrast, right now, SpaceMonger
never opens the file or accesses its data until you request a file preview, and contains a number of optimizations to even avoid moving the disk head during the scan if necessary.)
Alternatively, SpaceMonger could choose to not collect this information during the initial scan, and could collect it only when you do a search or display the file in the selection bar. That would push the "slow" part to a later stage of the program, so the initial scan would be fast, but complex searches --- like "find by camera type" --- could be incredibly slow, and displaying this information in the selection bar might take some time as well (but you're used to it appearing after a delay in other programs and in the Windows Explorer, I suspect, so that's not that unusual).
So how slow is acceptable? I don't think it's worth cutting the speed of the scan to a tiny fraction just to collect data that most people aren't likely to use. While it's nice to be able to perform searches through the extended attributes, I don't consider massive cuts in performance to be a justifiable tradeoff for the ability.