Archive for September, 2005

Doppler Redesign for Beta 2

I ended work on Doppler Beta 1 (B1) a little over a month ago. The goal was for Doppler to be an automated file syncronization solution and, as a bonus, would also provide functionality for keeping backups. Since then I haven’t used Doppler at all! I don’t even keep it running in the system tray. Needless to say, Doppler B1 is a failure. So before starting B2, I thought I would look over the Doppler’s failure with a critical eye and redesign it from the ground up. Here’s what I’ve come up with so far:
  • The ultimate goal of B2 will be simplicity. Support for backups will be dropped, as well as the plans to implement file versioning. Doppler B2 will be strictly and simply an automated file syncronization application.
  • Doppler will no longer keep its own “file system” (the /fsroot directory that mirrors all synchronized files).
  • The Doppler application will function implicitly as both a server and a client. Instances of Doppler on a network will be referred to as Doppler Nodes. (hmm, starting to sound a lot like P2P)
  • Each Doppler Node will have a username/password combo that it uses to connect to remote nodes (done automatically). This username/password combo will also be used to authenticate connections from remote nodes. Therefore, a network of Doppler Nodes will all have the same username/password information.
  • Username/Password information will be entered when Doppler is first installed, and the user will never be prompted for this information again unless the user chooses to change this information.
  • Users will no longer be able to/have to setup directories for syncronization nor setup directory mappings from an /fsroot directory to a another dir. on the hard drive.
  • Only the system’s “My Documents” directory, and all its subdirectories, will be synchronized. This simplifies much of the operations of Doppler (e.g. no need to worry about directory mappings since another My Documents folder is guaranteed to exist on the remote system) and allows Doppler to be more automated, requiring less interaction with the user to get things up and running.
And some of the more technical changes:
  • The FileSystemWatcher will be used instead of looping through all files in a directory. It should be far more efficient and since only one, specified, directory (“My Documents”) will be looked at, its usage should be trivial.
  • Doppler B2 will use a more standardized interface. The current setup on the main form involves switching between multiple panels. The code to handle and maintain these panels, as well as designing and positioning these panels is a pain in the ass, and its simply not work the effort.
Now to start coding 馃檪

xstr 3.1

xstr has been updated with some minor changes. I haven’t updated the xstr page, but the download links point to the new version.

Random Thought: Bilinear filtering of images by web browsers

It’s always troubled me as to why no web browser (well, none that I know of anyway) does bilinear filtering of images. The thought hit me again yesterday when I posted the screenshot of RexUtil. Granted bilinear filtering is more expensive than nearest-neighbor filtering, but even on what would now be considered a low-end CPU, bilinear filtering should be fairly fast. In fact, IIRC, software-based bilinear filtering was done in realtime by some older games including Unreal and Unreal Tournament.

In addition to the visual improvement, bilinear filtering may also result in less web space usage (no extra space needed for thumbnails) and less time spent by a user to put an image on page (no additional work/time required to make bilinear/bicubic-filtered thumbnails). Of course this wouldn’t always be the case, since there are other reasons for using thumbnails (e.g. they allow you to view a gallery w/o downloading all the full-sized images). However, all in all, I think bilinear filtering would be a nice addition to a web browser.

Rex stuff is finally up

All the rex stuff is now up, including the specifications and RexUtil 1.0. I’m considering updating the NZ engine to use Rex files instead of the Quake 2 PAK files it currently uses. Although I don’t know if it’ll be work the effort.

Anyway, here’s a screenshot of RexUtil:

xstr 3.0

The new, revised and improved version of xstr is up. I’ll be updating the xstr page with more information soon, particularly documentation; however, using the class and most of its member functions should be fairly simple even w/o any documentation.