The problem: when files are being moved, they need to “carry” their tags with them. To do that, we first approached the FileSystemWatcher technology: this proved unreliable in many ways when it goes to moving files (feel free to ask for details). Then we considered the file system mini-filter technology (the one commonly used by anti-viruses); apart from the issues related to integrating a piece of C code into a .net application, this technology didn’t appear to be more useful than the previous one.
The issue is indeed non-trivial: moving a file (specially from a disk to another) means creating a new file, copying bit by bit all the data from the source file into the new file and then deleting the old one… this means that there is no such a thing like “file moving” event, nor would it be possible to have it.
Our previous approach was to develop a system to track file movements that listened to the file system and using a pretty complex AI did (try to) understand when a file was moved. This approach included creating many different pattern-matching  algorythms in order to be able to “understand” the behaviour of some of the most used applications (i.e. MSFT Word, Adobe Photoshop), since they performed complex operation on the disk each time they were saving a file.  It totally felt like a game we couldn’t win!

<

After some intense research about technologies we came to the conclusion that there is no easy way to “listen” to a filesystem and to understand when files are moved…are we missing something (our thread on MSDN forum)?

>

The (final?) solution: only files pasted using Tabbles will be tracked. Tabbles already had all of the file-management functions built-in, therefore it was pretty easy for us to listen to the file-movement initiated by Tabbles itself and then have the tagging to “follow” the files. This means that you can do cut&paste or drag&drop inside Tabbles,  or you can do cut from explorer and paste in Tabbles, as well as drag&drop from explorer to Tabbles (but not the other way around!) and it will still work. cut from Explorer and paste in TabblesAre we missing something? If anyone out there could think of a better solution to this problem, we’re all ears! Please write us using the contact form on tabbles.net Hint – how to rearrange your files thematically, like you never could before: keep in mind that Tabbles allows you to group files according to “concepts” but you can at the same time browse your disks as you do with a normal file manager. Therefore, let’s say that you have a bunch of scattered files related to France and you feel like having them in the same folder. You can open the for example the tabble “France”, cut all the files in there, and paste them in a brand new folder, all inside Tabbles. This way you can get files rearranged  in no-time and all the tagging will be preserved. Also keep in mind that, should you want to backup your files on a disk, you can do drag’n’drop files from Tabbles to any application, including your favourite cd/dvd-burner app! 😎 Comments are welcome! And here is the related forum post! peace and love, Andrea + Maurizio


UPDATE: we’re working now on a dll-injection based solution, read the whole discussion on our development wave (everyone is welcome to contribute).