Files, apps, interaction, mercury thoughts
Right. That title was brief for the sake of weird and weird for the sake of character limitations. Please forgive.
I'm new here. I don't know how you people work. If this should be in a mailing list or a wiki, please tell me. I'll move it over.
I'm new here. I've been running Be for less than a week and didn't get Haiku booting till tonight. If this goes against Everything We've Ever Wanted or I've missed some insanely great feature, please flame me. I'll flame back.
<post-contents subject="a newish filemanagement paradigm => tracker replacement?">
I don't feel that having applications in folders and launching them from a file manager is the best solution. Even if you keep symlinks all in one place, it's still clumsy having to navigate there and open what you want to use. Shortcuts on the desktop are an ugly hack of a solution (I prefer having no icons there at all TBH). Having an application menu right there in the corner of your screen, only a few clicks away, is slightly less awkward, but still not quite good enough for me.
Likewise, I don't feel that having your documents in folders and launching them from a file manager is the best solution. Opening them from inside applications is, when you look at it, more work than should be needed. Intricate directory trees are annoying and if you keep everything flat things get out of hand. I'm not interested in organising data, I'm interested in finding data.
What I am going to write about here is informed by three different things: Various Mac OSX applications' use of the Spotlight technology as well as the iTunes browse function, the *nix command line, and the Mac OSX programme launcher-cum-graphical command line called 'Quicksilver'.
There's a site over at apple.com which explains this in detail. It's a search technology what's dead fast and basically works by cataloguing all your data and its metadata. There was a demo where Steve Jobs searched for Yosemite and found a PDF file that had that word in a map somewhere. Not sure how useful that particular example is in real life, but it goes to show it's clever. It searches inside files so if you've received an address in an email or over IM that you can only remember partially you just spotlight search it and it finds the mail message or the IM log for you... What's even more neat about this is that you can save searches as 'smart folders' so you have an easy way of recalling, say, all files marked in a particular way, nearly instantaneously, on all mounted disks. If done right and integrated into a file manager, this *decimates* the amount of tree-based organisation you have to do as you can focus on WHAT instead of WHERE.
Similarly (although not actually reliant on spotlight technology), when you browse in iTunes you can limit what songs are listed by selecting any combination of genres, artists, and albums plus a simple text string - ie. "Show me all songs by artists y, x, and z marked as genre q from these albums containing the letter T." Again, it's about what, not where.
I hope you're all familiar with it. I hope we all agree that this has its merits.
I like the fact that you can use flags. You can ls -alF and you can just plain ls. Also slightly more abstract, I like how you're not opening files, you're not opening applications, you're performing operations on data (with both the operation and the data being equallly important). You can vim README and you can less README. Two very different things that just aren't as transparent with a GUI. You can rm britney/toxic.mp3 and you can rm britney/*.mp3. A lot of power in not a lot of space and something that's very cumbersome in all GUI file managers*. Then there's pipes and output redirection, both very handy things. I want bash to stay with us and stay like it is, but I also want you, the designers, to keep it in mind. There's no need to give up the power of the command line when we use the GUI if releasing that power can be done in a sensible fashion.
*I know about the Select... function in Tracker and that is exactly what I'm talking about; my jaw dropped when I saw it, I was thinking about just this feature a few days ago when fighting the Mac OSX Finder!
If you're using Mac OSX but not Quicksilver, I have to question your intelligence. It's an application launcher and more. Basically, you press a hot key (two quick taps on the caps lock key for me) and this floating two pane window comes up. Then you can type something and it searches through its catalogue of applications, folders, the contents of those folders, a collection of scripts and more. You don't have to type the whole name of what you want or just the beginning of it. A single L for me is a folder called library in ~/Documents/ where I keep pdfs and such, so if I tap caps lock twice, type L and hit enter, I get a Finder (file browser) window of that folder. I can also type L and hit the right arrow to enter the folder, and then browse there directly, select the PDF I want (even inside a subfolder) by typing a pattern ('prg be', right arrow, plus a number quickly gets me a chapter of the Programmign Be book for instance:)) and hit enter and then it opens. Let's say I don't want to open my Library but Live.app (my main music recording/composing/performing app), I could press L and navigate through the list that appears below the main quicksilver window of all items in the catalogue containing the letter L(!) or I could type LIV or just LV. Now, quicksilver adapts based on which patterns I tend to type to run select different object, so it's learned that when I type L I'm most likely to want the library folder but puts Live.app directly after that in the list. You get the idea, I hope.
The fun doesn't stop here. Like said, Quicksilver has two panes. The left one displays that object to be affected, the right one the operation to perform on that object and you tab through them. Now, this is most commonly 'Open' but can be Delete, Get Info, Copy to..., Move to...., Show in Finder, send as e-mail, even 'execute in terminal' and 'look up in dictionary' for text strings (if a typed pattern has no match in the catalogue, it's interpreted as a text string - you can type in urls and open them!), etc. etc. If the command takes an argument (such as moving or copying to a directory), a third pane opens similar to the first one. In any app you can select something (text or file in the Finder, for instance) and hit cmd+esc and quicksilver opens with that file as the object. It sadly doesn't work with multiple files but I think they're working on that.
Commands can be seperated by commas. M comma SA comma AD enter opens Mail, Safari, and the GAIM-based IM client Adium.
If this is any way sounds convoluted or hard then I'm not doing it justice. It's so incredibly intuitive and probably the best re-thinking of user/computer interaction this side Xerox PARC c1983.
A lot of these things are or could be integrated in contextual menus in the Tracker, I realise, but having access to anything, anywhere at the press of a hotkey is fantastic. You can worry about what you want to do and Do It Now(tm) rather than having to navigate via a browser or keep a series of shortcuts on my desktop/in the Be menu. The inteligently adapting text pattern based interface reduces visual and mental clutter. Remember, you're not forced to memorise anything, everything shows up on lists right in front of you, but over time habits develop and the software responds to that.
There's a few simple points to these examples, espeically the first and the third. What I want us to do is to rethink the way we interact with out computers, to think a little outside the traditional filemanagement/desktop box based on these two things:
1 - Let me focus on what instead of/in addition to where in order to minimise the time spent on organising and finding/retrieving data. Minimise the time I have spend navigating through subfolders.
2 - Consider the shell/UI an environment for performing operations on data, rather than strictly a file browser/manager.
3 - Intelligently adapt to my habits.
I hope you'll forgive the fake markup language (weird for the sake of it, again) and the excessive Mac OSX fanboyism (it offsets the weirdness when you try to pick up art school girls). Also, I've deliberately not written about the specific implementation of these ideas. One, cos I'm new to Be and its Tracker so I can't say if I personally think it should be replaced completely or not (I'm very much leaning towards not, now). Two, it's something that has to be given a lot of thought. Three, I'm still very attached to quicksilver and that tap-caps-lock-twice movement, so that's obviously how I want to do it. I'm not saying it's ideal for everyone, I'm just saying that there are ideas in there that every modern UI designer should look at it.
I hope this can spawn some debate. I've been madly in love with Be since I first saw it, and I'm incredibly surprised at how modern it still feels now that I'm finally using it. It will be my main desktop OS for quite a while, I can feel, and I hope to be able to contribute to the Haiku project in some way as that's obviously where its, and hence my, future lies.