|
Use with caution. These public beta programs contain new fixes and new features that haven't been fully tested. I need you to tell me if you find any problems with these program or even if the changes listed work as you expect. |
The "Unicode" Experiment
I'm currently evaluating what it's going to cost, in time and money, to upgrade Delphi (the language that creates my programs). One of the major reasons, besides numerous bug fixes and better support for newer Windows version, is for real Unicode support.
I've been using a trial version to test migrating Rename Master. My guess was that it would require the least amount of work to get it in a semi-working state. After about two or three days of work, I think I finally worked out the last of the major issues. The updates to support Unicode filenames were actually pretty easy, but the custom drawn controls presented several issues.
The good news is that the program looks better on Windows XP. The visuals of the controls look more modern and more consistent between different version of Windows. The bad news is that the visual quirks and control behaviors have changed and require obscure methods to fix. I'm guessing that ArsClip will require much more work to migrate, since it's more demanding in several areas beside graphical.
I've learned that the amount of work isn't trivial, but it's not crippling either. It won't be the major issue and deciding factor. The lowest price version of Delphi used to be more than the website could make in several years, but there is a now much more reasonably priced version available.
The Meta-Variable Conundrum
One issue that was never corrected in Rename Master was the problem of data that may not exist in a file. For example, a JPEG may conditionally contain several EXIF tags, but none of them are required. If you use a tag variable that only exists in some of the target files, the variable will be removed, since the data replacing it is actually empty. It's hard to tell when there is an issue with one of the files.
I'm making 3 changes to the program to help combat this issue. First, I've added a Configuration option to detect missing or empty tags. When this option is enabled, the variable will not be replaced in the New Name column with empty text. Since meta-variable question marks are not legal in a filename, this will let the user know there is a problem since a rename operation cannot be performed without an error.
Waiting until the renaming phase, however, is a bit late in the process. I've updated the program to detect illegal names and make them blue and bold in the filelist. This way, there are plenty of visual cues to let the user know there's an issued that must be addressed. This behaves similar to how the filename collision detection works.
The last change I made was to add a [Tool>Highlight Illegal] menu item. This way, the names can be quickly highlighted and unchecked to allow a Rename Operation to continue.
Current RM Public Beta
I've uploaded the next Public Beta of Rename Master that supports quite a bit of new features.
First, I've updated the Thumbnail Window to be much more useful, especially for files that have no thumbnail. From this window, you can see file information, open the file, and also open the File tags window. More picture formats have also been added, so any picture that Internet Explorer supports is also supported here.
Second, I'm still working on the File Tags window. The purpose of this window is discovery. Since a JPEG, MP3, or movie can conditionally have many different tags, this window will show you what tags are found in the file.
Third, I've added a Wide Layout view option to support wider monitors (as shown in the next post). This mode feels much more natural to me and seems to implicitly show the process of renaming better.
Wide Support
Here's yet another test going on behind the scenes. In Rename Master, I'm testing a new View option called Wide Mode. Initially, RM was created when monitors had an aspect ratio was 4:3. Now that wide monitors are the norm, desktop height is more limited than width. This mode is designed for wide monitors with high resolutions.
I'd like to take for this idea; however this was suggest by a user. The next Public Beta version of RM should contain this new feature.
Video Support
In the current Public Beta of Rename Master, I've added support for video tags. Currently, the only common tags for all supported files are ?v_wd? and ?v_ht? (width and height).
For MOV/MP4/M4V QuickTime specific metadata, the variables for all start with ?v_qt_. For ASF/WMV specific metadata, the variables all start with ?v_ms_. Since there's no telling what tags each file may have, the process is still manual. It requires right-clicking on a file and selecting the 'View ... Tags' menu item to bring up the File Tags window to discover what's available. In this window, you can right-click an item to copy tags for pasting into a renaming step.
The tags detected currently is limited. Since each file type stores its data radically different, it requires quite a bit of research and experimentation to support. It's, also, not uncommon for a file to incorrectly store data and break things. The purpose of this version is to figure out what data users need for renaming and what works.
Quiet Time
I'm currently working on a few things behind the scenes that aren't quite ready to be integrated into the betas. Shown above, is a new control I'm working on that combines a basic Up-Down control with a slider. I plan on integrating it into ArsClip first and then Rename Master.
I'm also working on width and height variables for common video file types for Rename Master. While it sounds like a simple task, none of the files store data the same way and more research than programming is required.
Online File-Sync Testing
I'm testing out the new Google Drive application with some of my programs. Since the programs are portable, uploading a copy is almost the same as running it off a USB flash drive. Using automatic syncing, however, is a different story.
For Rename Master, there are no big issues since the data stored is very simple.
For ArsClip, there are a few issues when trying to use the program on multiple computers. For some of the cache folders, the data is read into memory at startup and then saved again on exit or at regular intervals. Depending on when the sync occurs, one program could easily overwrite the online data with older data.
The scenario would be as follows: Computer A is synced online. Computer B start up and loads the old data. Computer B syncs with the online data. Computer B saves its data, overwriting the 'new' data with old data. At this point, Computer A's data could be overwritten with the old data if Computer B syncs.
Another issue is that ArsClip uses many small files. In my first test, it took a very long time to sync 2000 files, even though the total size was less than 3 megabytes. The scenario described above is very likely to happen on a reboot, since it's very unlikely the files will be synced before the program can start.
---
While directly uploading data to the service would fix all the issues, it's not very high on my experiment list. I'm pretty sure there's not enough interest in such a feature to warrant the work. This is also the reason I've been reluctant to test pastebin support to ArsClip. It seems like a neat feature, but it's something that's not likely to be used often or be used by many.
Rename Master In-Program Help
I'm not a fan of help files. I consider having to use a help file a sign of a program failing to be usable. I've tried my best to have my programs explain themselves and relied on help files to describe things that's just not possible or practical to represent in the program. This is one of my design goals.
The problem with this philosophy is that it can't work for everything. In Rename Master, I tried to have each renaming step in the Renaming Script read like an English sentence. Each of these sentence has a fill-in-the-blank style mechanic. It works for the most part, but there are just some options that don't fit well into this scheme. The new Split and Move step is a perfect example of something that needs more explaining.
In the latest Public Beta, I've added a help button to each of the renaming steps. This way, the part of the program is directly linked to a help screen. The problem is that I know how the program works, so I'm unsure if any of the help documentation is meaningful. The ideal person to write this is someone that just learned how it works and explains the what they think is the missing detail. If you've some ideas for improving this help documentation, I'm all ears.

