OK, the XRay II file browser now works sufficiently well that I can leave it alone for a week or two, and get to (re!)doing the basic plugin stuff. It still lacks keyboard navigation and scrollwheel support, both of which should be easy to do. It still slows down when accessing a larger folder – or /Network – and I’ll probably have to make this multithreaded soon.

Other UI stuff that works now is dragging&dropping a single file onto the main window or the dock icon. Yes, there’s now a single main window and I’ll do tabs. Real Soon Now. While the idea of supporting multiple windows – like in the current XRay – was attractive at first, experience showed that people were liable to drop a hundred files at once, making the system freeze in an iterative spasm of ever-more-slowly appearing little windows. And very few people ever asked to be able to compare two files side-by-side, anyway. So I’m going for a large main window which will be able to show more stuff at once.

The latter change in direction is also in line with moving away from a (small) “better Get Info” window, towards showing file internals. Finally, having one browser for each window would also become heavy after 2 or 3 windows… not to speak of synchronization issues when the whole thing becomes multithreaded.

The plugin interface is still in flux, but I’m making headway on the basic simple ones: file attributes and metadata (well, some to start with), as well as hex dumps for data and resource forks. The problem is that all those have to converge asymptotically to a nice implementation over multiple iterations, and I won’t be sure of my basic design choices until they’va all been done at least twice…

Still, I’m confident that I’ll be able to show an alpha version at WWDC. Very probably at Buzz’s bloggers dinner net Monday.