Ben Ward

How do you organise your files?

.

OK, I’m in the process of preparing a questionnaire aimed at users to establish the final round of functional and non-functional requirements for my Desktop Search project. I’ll obviously be linking to it on here when it’s live, but I thought I’d give out a last call for questions first.

So, if you wanted to know about how users organise their personal files, short of planting a Trojan on their PC, what would you ask? I’m also interested in file naming habits and how much people use local search (or a Desktop Search add-in like Google, MSN, Copernic etc. Or if you’re a Mac user, just whether you use Spotlight/Quicksilver for finding files).

If you can’t think of any inspired mind invasive questions but just want to leave a meandering comment about how you organise your personal files, go for it, everything helps me at this point.

Thanks

Comments

Previously, I hosted responses and commentary from readers directly on this site, but have decided not to any more. All previous comments and pingbacks are included here, but to post further responses, please refer me to a post on your own blog or other network. See instructions and recommendations of ways to do this.

  1. Just wandered by, couldn’t resist file organization geekery. Hello. :-)

    (I was going to suggest some questions, but as you probably know, it’s hard to think of stuff to ask, so I’ll just ramble on for a bit.)

    I have three partitions on my laptop, one for the OS (Win XP), one for programs, one for files. I have no clue why I reserved 10GB for the program partition when I created it; it also serves as a dump for large file downloads now.

    The file partition currently holds ten top-level folders. The most ‘buried’ subfolder is four levels away; typically files get placed within the first two levels.

    Path to an mp3 file: E:/Songs/Artist/Artist Name – Title Of Track.mp3, unless I ripped or bought a complete album, then it’s /Artist/Album/Artist Name – Track Of Track.mp3. No track numbers, no underscores, no lowercase.

    I don’t seem to follow a particular pattern in capitalizing file names and including dates, but try to make the names as descriptive as possible and stick them in the correct folder. Consequently, I don’t rely on desktop search very much; I have GDS installed, but rarely use it. Of course, this is a private computer and I don’t have to shuffle around vast amounts of important business docs. GDS says it’s indexed 181.026 items (of which 10GB = music).

    And if you haven’t noticed, I really like talking about these things, which is sad, so I’ll stop now.

  2. Ben

    Thanks very much Andrea, that’s actually very helpful, especially as regards needing to handle completely custom locations on the desk. Can’t rely on just indexing the Home directory tree or anything like that. I suspected I’d need that kind of option, but it’s good to have confirmation.

    Thanks

  3. There’s one more thing that just occurred to me, re: desktop search. I have quite a collection of e-books on my computer (.txt, .html, .pdf etc.), and since I usually know where to find a given file, I’d love to have a tool that lets me search the content of those documents, too.

    I know GDS breaks off indexing after some thousand characters (?), don’t know about other apps. Any information on how feasible a complete index would be? Or, say, an option to specify certain documents/folders for full-text search? I really have no clue about the implications of such a feature, other than that it would probably slow things down a lot.

    Oh, and welcome. :-)

  4. Ben

    Yeah, that one’s been suggested to me before as well. It’s a tough call, since you end up having to cache the entire document (minus any formatting) in the database. Makes for a large cache. That said, if it’s useful then it’s worth doing.

    My focus has been on tagging thus far, and potential half-way solution is to have the file be analysed and have the most common words from inside the file be added as some kind of hidden tag. That way you can generate a certain amount of metadata for a text file, even though it has no extra information attached to it.

    All a cause for ponderment, anyway. Thanks again.

  5. Something I�ve only recently had to deal with is synchronization. You might want to ask something about that, specifically: �Do you ever need to sync up files?� followed by �Where to?�.

    The particular problem I have in mind is keeping my local website code files in sync with a website. I quickly got tired of updating 3 or 4 files and then trying to upload them. It involves:

    1) Finding the file you changed, 2) Connecting to my site with FTP 3) Finding where you want to put the file 4) Uploading said file

    Invariably at some point I’d forget which files I was uploading and break my site. Also: FOUR STEPS?! FOR EACH FILE?! What’s all that about?!

    Solution (c/o some C# and a handy FTP library) is to create an app that recursively watches a directory (using the aptly named FileSystemWatcher class) and uploads to the relevant location whenever it sees a change made.

    FileSystemWatchers are cool. I think they wrap whatever functionality XP uses to update open explorer windows if you manipulate the filesystem in a different window. Not sure how they’d be applicable to your scenario, but they’re useful and would look cool in a demo. All event based, so no directory polling (at least at code level) either.

    And Hi.

  6. Ben

    FileSystemWatcher is pretty much responsible for the operation of the indexing in my project. There had better not be any bugs in it� ;-)

    Cheers for that Naith, it’s nice to hear from you again. I trust life is treating you well!

  7. Yet another random thought: files on external hard drives? Any way to include them in the cache, e.g. by indexing them on request when the drive is connected to the computer? It might be more practical to keep track of those files with the help of special apps, of course. Just throwing out ideas.

    And ooh, tagging. Nifty idea.

  8. Ben

    Yeah, removable storage is a consideration. For the scope of my final year project I’m going to leave it out – handling removable storage gracefully adds a considerable programming complexity, but doesn’t really demonstrate any functionality that isn’t already present when handling static disks. Factor in Windows habitual changing of removable drive letters each time you connect them in different combinations and it goes from �difficult� to �pain in the arse� territory.

    That said, I’ll probably just be having a simple �include additional paths to index� type functionality in there, so I doubt there’ll be anything stopping a user from trying to index a removable drive.

    Tagging is my current favoured way for adding metadata to files within the index. It has a fantastic attribute of user-side simplicity.

    You obviously lose the ability to catagorise types of metadata (like �Photograph was taken by: Ben� sort of paired descriptions), but I think that it works out better. If you implement a more complicated system, I’m pretty sure that Jo User is even less likely to bother adding metadata to her files, and if the user finds it too much effort to use the metadata capability then the overall effectiveness of searching and metadata browsing is going to be massively compromised.

    Of course, the system is going to automatically glean metadata from files as well (otherwise there’d be no chance for it doing anything useful for anyone!).

    Now, please excuse me while I cut and paste this comment into my Interim Report. It’s fantastic, I can piss about on the internet tending to my blog and still check off hours in my project plan� ahem.

  9. I don’t know if I have a particular naming convention!

    Like Andrea, I have three partitions (although mine are “Windows/programs-that-won’t-work-unless-they-live-on-C”, “data” and “games” – drives C, D and G :D) and things are fairly well sorted into that. Documents tend to live in My Documents, with a sub folder if they require it because of importance (e.g. I have My Documents\UniWork which contains an “IE” folder for last year’s reports and a “Project” folder for this year’s work – which I should do more on!)

    I don’t think I have a capitalisation convention – or not a concious one. I might capitalise the first letters of each work, or else I’ll go more Linux style and space words with underscores. One thing I avoid at all costs (partly because of Linux and partly because of websites and some really old issues with some browsers) is putting a space in a file name.

    Other than that, I don’t know if I can suggest much. I would give more details/insight, but my g/f is on my desktop at the moment, so I’m on my Development Laptop running Fedora Core 3 at the moment and I don’t think the organisation of that would be as much use :D

    Anyway, off to see what’s on Naith’s site :)

  10. Actually, I lied, I am more organised than that :D

    I’m on my desktop machine now, and my D drive is a little more organised than just a dumping ground. I have an MP3, Videos and Pics folder, with MP3s being dumped in there for singles ones or foldered however the CD Ripper wanted for albums, Pics are split up into content (Photos, Photoshop work, Dawn of War bits etc) and Videos is not even a dozen videos.

    I then have an Installers folder, which is my normal Firefox download target, or a sub folder if it’s not an installer but is something I’m just downloading (like phpBB Mods or something).

    I also have a Visual Themes folder that contains Trillian skins (even though I don’t use it) and some XP Visual Styles I’ve tried out at various times.

    The only other semi-important folder on there is Websites, which contains all of the files (except the PHP, which lives on my Linux laptop) that make up my site images, downloads and test styles.

    Having looked at the names of some files, I don’t think I have a naming convention :D underscores between words or Pascal Case seems to be entirely dependant on how I’m feeling and whether it’d look right in Pascal Case (or whether it ends up with too many capitalised letters together)

  11. Ben

    Cheers based on what you’ve described there, and my current thinking on how best to implement auto-generation of �useful� tags, it ought to be pretty usable for you :)

You can file issues or provide corrections: View Source on Github. Contributor credits.