Home  
 
Why (and How) I Developed FileTracer
 
I developed FileTracer because I felt there was something missing in the way I had to access files in the directory-oriented file systems used by Windows (and other operating systems). Based on my own needs, I thought that FileTracer would be a useful tool for myself and almost anyone who uses a large hard disk with many thousands of files on it.

While organizing your files into different directories ("folders" since Windows 95) makes a lot of sense, it can be time-consuming and frustrating to navigate the directory tree to get to a particular file, each time looking for the subdirectory to open, and finally the actual file. Not only that, there was no quick way to list all the files with a certain name, certain type or modified on a certain date.

The "Find Files or Folders" program supplied with Windows could do some of these things, but I found that I hardly ever used it because it took so long to scan each directory in turn for matching files. My 9 GB hard disk was not even nearly full, but it already took minutes (literally) to search it. 

A while before I had read "The Windows NT File System" by Helen Custer (Microsoft Press, 1994) and I had been surprised that provision had been made in NTFS for a "general indexing facility" based on any attribute associated with a file. This facility was not, however, used or available in current Windows versions (like several other NTFS features). 

It occurred to me that if I could somehow use additional indexes by filename, date, etc., this would allow files to be located virtually instantaneously. 

One problem was that a good solution should work with both the FAT file system (used by Windows 95, and on which most of my files were stored), as well as NTFS. Another problem was that once an index was generated, it would quickly go out of date, because files would be continually being modified, updated, created and deleted. 

Other requirements were that it should not interfere in any way with how the file system accessed the disk, or provide a new, different file system -- both of which are very difficult to make and prove reliable.  It was also vital that performance should not be significantly affected. 

My solution was to use a set of indexes stored in normal files (which together form the FileTracer file catalog), and to monitor the system for file activity. When the system reported that a file had been changed, the information could be used to update the file catalog. 

This approach did not allow files on diskettes, or CD-ROMS to be indexed, but since most users use removable media primarily for copying files and making backups, not for their actual work, I considered this to be a minor drawback. Network support is theoretically possible and may be added in a later version.

With regard to the user interface, I thought that it was very important that it worked similarly and provided most of the same functions as the Windows Explorer (the Windows 95 shell user interface). Most computer users, myself included, do not like changing the way they work. And, if the user couldn't actually do anything with the files displayed (like open them), it would not be a very useful tool. 

The final implementation of FileTracer provides an interface very similar to Windows Explorer and should be immediately familiar to  Windows users. This actually ended up taking most of the development work. My only regret is that to ensure compatibility with Windows Explorer folders, I had to use Windows "list view" control to display files and icons, and it is very slow. While FileTracer can get the list of all the files on the hard disk from the file catalog in a split second (80,000 on mine), you have to watch it count up as the files are added to the list view.  

I hope that if you use FileTracer, you will enjoy using it, and it will be another useful tool on your computer. Personally, I find it very useful and open files from it most of the time (rather than opening the folder first). But perhaps this is not surprising because I wrote it mainly with my own needs in mind.

I would be very glad to hear any comments or suggestions you might have. However, remember that I cannot work miracles -- software development is a long and tedious affair, and in many cases I am limited by what Microsoft has provided in Windows -- so all I can promise is that I will bear them in mind for future versions.

Happy computing!

Charles Hugo (charles@filetracer.com)

In Depth Software

November 1999

Postscript

Several people have since sent me e-mail to tell me about a program called "RadFind" which is apparently no longer available, but also used an index to find files quickly.

 
 
Home   Download   Register   Info