|
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. |
Windows 7 plans
System tray [or Notification Area] usage is being discouraged even more in this OS release. Both ArsClip and MouseWrangler are background programs that rely on a popup generated from clicking on the tray icon for configuration. Users can decide to show certain programs icon on the tray, but this isn't normal behavior for most users.
One change introduced in Win7 is the use of Jump Lists. Jump Lists are really just shell icons, similar to files listed in Explorer [shortcuts and documents]. For older programs that correctly used the recently used documents interface, Windows will automatically generate a "Recent" jump list on the right-click of the program's taskbar icon. So, instead of right-clicking a tiny tray icon to show a popup, you would be able to right-click the taskbar icon for the ArsClip and MouseWrangler popup.
I'm currently researching and coding support for Jump Lists for ArsClip and MouseWrangler. The idea is that once the programs are pinned to the taskbar, a right-click will show the same options shown on the tray icon popup, but will be much easier to access. I'm also thinking about if it would be good to show the icon just on the taskbar of a Win7 system. Without it, I'm unsure if the average user will be able to discover the jump list support added into the programs.
The new script step ...
As mentioned below, I've designed a Remove Expression option for Rename Master and uploaded it as a Public Beta. I tend to think of this new option as a swiss army knife. It's as powerful as your imagination is for removing (and optionally moving) a part of a filename by defining a general "expression" or pattern to match. However, compared to true Regular Expressions, it very limited.
For example, lets say you want to remove all numbers for the end of a filename. With the new option you specific to remove any of the characters 0123456789 from the end of the filename. Currently, since this is truly just a GUI for regular expression, you can use shortcuts like "a-z", "A-Z", and "0-9" to specify character and number ranges for the character lists. This can be problematic, though, as special characters would need to be escaped using the "\" escape character first. In the future, I'll likely need to address this problem with some user friendly way of enabling/disabling the behavior.
In this new option, you can limit the expression 4 ways - all optional. As said above, you can limit it to either the beginning or the ending of the name. Also, you can define the beginning, the middle, and the end of the expression using a combination of literal phrases or character lists. I might add a third option for "any character expect the following", but even this can actually be done currently if you look up the the "^" regular expression not operator. So, if you specify "^-" as a character list, it will match any character that is not a dash. This is very useful, but extremely unfriendly for a user so the GUI option will likely be added.
In previous versions, there was already a "remove before/after" option. This step is similar to the "split" option I thought of below that doesn't interest me; however, this step can be thought of as a very specific version of "any character except" option and it may become extraneous.
Also, this new step is limited to a single expression. If you want to remove two or more instances of the same expression, you'd have to duplicate this step multiple times. I, also, might add an option to specify to remove all instances of the expression instead of just the first instance found.
As always, this new step will be changed based off of user feedback. If you've an idea of how to improve this option or think something's missing or just broken, send me your comments.
A Moving Problem for Rename Master
One of the new renaming items I've been trying to design is a new Step to handle moving part of a filename. The big problem is defining a way for the user to tell the program what part to move.
For splitting a file into parts, a delimiter is defined. The delimiter is a single character or phrase that separates the name into individual parts. In English, the comma is a common delimiter for separating words or phrases. This, however, is a very conceptual step that doesn't have a very good visual representation.
A generic "find" seems a much more useful option. This would be a good replacement for a regular expression, but it would be much easier to understand. This option would have a "starts with", "contains", and "ends with" part - each optional. Each of these options would have one of several choices: a list of characters, or a phrase. Once the phrase is found, it can be deleted into a temporary variable to be used in any of the "Add" renaming steps.
An actual "move" item would be extremely limited. For example, there is an "add counter" step in the program for this very common operation, but it's no where near as flexible as using a meta-variable. In this case, it seems that a specialized "remove expression" step would be more effective and flexible. The problem here is that the user must understand meta-variables and its concept before the concept of "moving" can be done using a cut-and-paste style operation with the Remove and Add steps. Including example scripts, though, would make it much easier to understand and discover some of these more complex renaming operations.
As of now, I'm interested in created a "Remove Expression" step that will allow for creating a conditional regular expression style option without having to learn or understand actual regular expressions. It may be easier to think of this option as a "Find and Remove" step. An expression can be thought of as a way of describing by defining the beginning, middle, and end parts. For example, the phrase (texthere) starts with "(" has letters in the middle and ends with ")".
I'm unsure of creating a "Split" step because it doesn't sound very applicable to general situations. In the case of swapping words around a character, like a dash, the Remove Expression option can easily handle this type of operation.
Taking Inventory - ArsClip, Rename Master
One thing that's been added to the recent release of ArsClip and the latest public beta upload of Rename Master is a check for file permissions. Both programs require the abililty to create files (and folders) in the same folder as the program [note: ArsClip has an optional "-data" command line parameter to use the current user profile instead]. Even with correct permissions, UAC in Vista and Win7 can cause permissions to be denied to create files. The programs are designed to be portable for thumb drive usage, which means it must write any and all data in one spot. Newer versions of Windows know that the average "Program Files" program does not change and will virtualize any changes to protect the installation. When virtualization works, the average user will never know the difference when running a program that stores data with the program.
Both programs will create an empty file and delete the file and test for errors. Instead of just crashing, the program will display a friendly message so the problem can be fixed. If the optional setup program is used, errors won't likely occur but copying the folder won't copy all the program setting unless the virtual store files are also copied. As long as the program isn't installed in the "Program Files" folder, this isn't an issue.
---
I'm unsure when it changed, but when Rename Master created a new default script - it didn't create steps in a disabled state. This is very likely to create quite a bit of confusion because one of the step will replace the entire name with nothing when in the default state. This really screws autopreview because the "New Name" column will continue to be blank until the steps are deleted or disabled.
In the latest public beta upload, I detect when the default script is loaded with all step enabled and disabled them to work around the problem. Since the default script is only created once on the first run, this is needed for previous installs. This workaround is only applied if the default script has 10 or more steps that are all enabled, so it's not likely to interfere with custom default scripts.
I'm going to be pushing out v2.9.3 quicker with less features than normal because of this issue. Other ideas, like including example scripts, will have to wait until the next version. "Test 5" or RM will likely be the last test for v2.9.3 unless there are bugs to be addressed.
Taking Inventory - ArsClip, Rename Master
In ArsClip, one thing I've noticed is the word "item" is used quite a bit in the program. The word "item" is rather generic, especially when many users are used to the term "clip" when related to items on the "clipboard".
I'm thinking that the following items need to be renamed: Permanent Items, Removed Items, Text Items, Non-Text Items. These names, obviously, would become the following: Permanent Clips, Removed Clips, Text Clips, Non-Text Clips.
---
In the latest public beta upload of Rename Master, the items in the post below have been implemented. The new Save Script dialog will eventually completely replace the "File->Script Options" but will stay for now until I can figure a way to deal with older scripts that don't include new flags that tell the program to preserve the current Path and Filter settings.
I'm also thinking about including a "Move Step", very similar to the new "Add Counter" step. The step isn't meant to replace the current "?temp?" variable, but will add a way for new users to get exposed to moving parts of the filename.
What I haven't figured out is a very common operation to implement. A common request I get is a way to change "Part1 - Part2" into "Part2 - Part1", like swapping the "Artist" and "Song" parts of an audio files. Currently, the operation to produce this effect is to "Remove everything before the phrase '-' and store in ?temp? variable" then "Add '- ?temp?' to the Name at the Beginning". Something like "Move everything in front of '-' to the End of the filename" would be close, but there would need to be a way to state that the phrase '-' itself would remain in the middle. This, however, doesn't teach the new user anything about using the ?temp? variable.
What might be a better way to teach about more advanced operations is to just create a few example scripts and either include them with the download or place them for download on the website. This way, the user can alter the script to fit their needs without having to experiment too much.
Taking Inventory - Rename Master
Here are some first ideas that are on the TODO list for Rename Master:
- A new Save Script dialog
There are options that just aren't really shown for saving a script. Currently, the Path, the Filter, and all renaming options are saved in the script. There's a somewhat hidden "Script Options" menu item, but those options should really be part of the actual script file itself.
- A new Add Counter renaming step
Using counters is a very common renaming operation, but it requires a bit of learning and experimentation to get one working. My idea is to create a step to add a counter to a filename that makes it easy for a new user to get started working with a counter. The old style counter system will still be available in other steps and will still be more flexible.
There's also an option that I'd like to add for resetting the counter so that the program will automatically create 1 thru X numbers for files with the same name. The option to automatically generate file sequences is, still, hard to explain. While I'll experiment with this option, it may not become a feature.
- Update command line help/Recursive Scan
One thing that's been missing for a while is an explanation of the S, XI, XU directly in the "-?" help screen. First, I plan on replacing the popup dialog with console output to better support batch style operations. Second, an option to perform the rename recursively has been missing for a while. Also, the term "Recursive Scan" isn't as well known as a "Subfolder Scan" on the "View" menu, so I plan on changing the name to something like "Subfolder Scan (recursive)".
- Remove Clutter
There are several options and menu items that just don't really fit the program anymore. Some items are duplicates, some are obsolete. Many of these items can safely be removed to make things less complicated.
Next task, taking inventory
After so many years of working on this programs, there are features and dialogs I've not even looked at in months and years. My next task for Rename Master and ArsClip [once I've released version 3.1.3], is to go back and look at each program's options and see what needs to change, what needs to be reworded, and what needs to be removed.
Here's an example. There's an option in ArsClip (AC) to define how non-text items are pasted. This option hasn't actually done anything for years. Now that text and non-text items are combined into a single list [by default], the option doesn't seem to be even needed anymore.
Even though I use AC every day, I barely use 10% of what AC can do. I'm going to re-introduce myself to my programs and do some housekeeping. So, if there's a feature or option in a program that you think is confusing or just not intuitive, let me know so I can put it on the top of my todo list.
ArsClip Fix
The latest Public Beta fixes a long standing problem where non-text duplicates were not detected. To support this, the file format for clips (.ACZ) has been altered, but only new clips written to disk support this feature.
This new change will allow for a feature that I've been wanting to add - the ability to show both text and non-text items in a single list. I may actually add this feature before officially releasing 3.1.3, even though I already claimed it in "Feature Freeze". The current beta just doesn't seem to have many new features for a new release without it.
I, earlier, looked into supporting the CLP (Windows Clipboard Format) for saving clips, but the new MS OSes don't even have CLIPBRD.EXE any more and it's not a documented format either. I've decided to skip adding support for it because of this - there's no longer a default association for CLP files in Vista (and Windows 7).

