A Better Finder Rename 7.2.5 Performance Beta

There can be little doubt that version 7 of A Better Finder Rename was a giant step ahead for the product in almost every respect.

The major area where that was perhaps not the case was in performance terms. As long as you are renaming only a couple of hundred files, performance is more than adequate, but for people dealing with many thousands of files the performance of version 7 was a step backwards. This came as a late and unpleasant surprise, because version 7's code base is just so much cleaner and more streamlined than that of version 6, which was beginning to show its age.

This is why I have taken some time out from developing new features to get to the bottom of this performance problem. This investigation has detected a couple of facts:

  • sorting is a real killer, especially when mp3 or exif tags are involved
  • feedback is just as important as raw speed
  • there is no way around the fact that doing the same thing one thousand times takes one thousand times longer than only doing it once

In this first iteration of getting a faster, nimbler renamer, I have concentrated on these points: 

  1. the program now only does the bare minimum processing while you're honing your settings. This makes for a fast and responsive preview even with tens of thousands of files. The preview only displays the first 250 items (that's around 10-15 screenfulls), enough to give you a real good impression of what the end result is going to be, not enough to bring the preview to a grinding halt. The heavy duty processing starts only once you hit the "OK" button.
  2. everything that can possibly be cached is cached. EXIF dates and the like are only read once and the system remembers them without re-reading them every time. This can result in a factor 10-100 performance improvement on large sorts.
  3. provide feedback on what's happening. Previous versions just went off to do their thing, leaving you to wonder what, if anything was going on. The new version provides a progress dialog that shows you how much work is actually going on behind the scenes and how much longer is going to be required to do it.
  4. I have found and eliminated a couple of bottlenecks in the program that result in improved overall performance

As a result of those changes, version 7.2.5b1 feels and behaves completely differently when confronted with huge renames. Yes, doing 2000 files will still take twice as long as renaming 1000, but the preview remains responsive and it's fun to see your Mac race through ten thousand name computations, sorting, validation, etc.

The downside of these improvements is that I've had to make fairly hefty changes to the structure of the program, including multi-threading its execution. Multi-threading, in particular, makes the complexity of a program explode because it causes all kinds of potential error conditions: deadlocks, racing conditions, etc.

This is why I've decided to release a beta version first to validate that my changes haven't broken anything that used to work just fine.

You can download the beta from the product download page . I trust you will find it a big improvement with large file sets.

Please do report any problems you may find; it's tempting to think "somebody else will or has already alerted the developer", but all too often nobody does. I can only fix bugs I know about and the best way of getting rid of them is to report them directly to me at: reiff@publicspace.net

ergonomic stretch #1: Make yourself tall

ergostretch number 1

When we spend all day in front of our computer our whole body is working overtime trying to maintain our static posture.

If you're anything like me, after a while you start slouching this way and that, ending up half-way under the table. Not quite the recommended posture 😉
This little stretch brings some welcome relief:
 
It stretches the back, shoulders, arms, wrists and fingers, all without getting up from your chair.
Give it a try. 

This stretch is taken from our MacBreakZ and ergonomix for windows Personal Ergonomic Assistant software.

Ergonomic Tip #2: Take regular breaks

After the first painfully obvious part of this column "Don't bang the keys!" comes the second, no-less obvious tip.

Taking no rest breaks may make you look like you're overworked and underpaid, but it will also make you tenser, more tired, prone to error and ultimately less productive.

The static posture in which we sit and type all day in front of our computers, the long hours of staring at a screen a few inches away from our eyes, the tens of thousands of keystrokes and the endless miles of mouse travel that we accumulate each day is sure to leave some trace at the end of each work day.

Just getting up for a few minutes allows our muscles to relax out of their cramped-up position, allows our eyes the luxury of looking at something else for a while and it gives a welcome break to our hands and wrists.

The notorious "They" recommend to take a five to ten minute break every twenty to thirty minutes of screen-based work.

I know what you're going to say though: I hate being interrupted when I'm in the middle of something. I lose focus and concentration when I get up. etc.

We all know the feeling of being "in the zone". We are in the middle of doing something complicated and after hours of unproductive screen gazing, we suddenly know exactly what needs to be done and how. And we are doing it. And we are enjoying doing it. And we are not going to stop until it's done.

This phenomenon is known to psychologists as "flow". When we experience "flow", we are working towards a clear goal, with optimal concentration, total efficiency and we may even experience a temporary "loss of self awareness". Should you stop because it might give you a headache in the evening? Probably not.

Most of our "work time", however, is spent in a much less ecstatic state of total productivity and this is particularly true for "knowledge workers". We spend a lot of time doing before thinking, and then going back and re-doing what we've already done after having properly thought about it. There is even a word for it: iteration.

Getting up and doing something else for a few minutes will help us clear our mind and let our subconscious get on with the job of sorting out what we should probably have done in the first place. How often have you finally figured out a complicated problem in the car on the way home, or in the shower in the morning, or when talking about the weekend's sport results with John from Engineering at the water cooler?

You can't force insight by sitting around feeling busy. You can work more that way, but you'll probably end up achieving less and the quality of your work will probably poorer for it. The point is that taking breaks doesn't make you less productive, it makes you healthier, less prone to error and ultimately happier at work and after it.

Rest break timers, such as our MacBreakZ or ergonomix products will remind you (sometimes perhaps too forcefully) to take a rest break. This can be annoying when you're in full flow and you will be tempted to just turn the damn thing off. Don't. Just ignore the dialog and take the break when you're ready.

When you're not in an ecstatic flow state, however, try to get up and take a walk. You'll feel better for it and trust me, you won't get less done.

MacBreakZ 4: Looking for alpha testers

It has finally happened: We have time to develop version 4 of MacBreakZ , our Personal Ergonomic Assistant.

MacBreakZ is what is commonly known as an "Ergonomic Rest Break Timer".

It is common knowledge that spending long, uninterrupted periods of time in front of your computer is the cause of many of our modern day occupational health disorders:

  • tension in neck, shoulders, upper and lower back
  • headaches
  • tendinitis of the fingers, hands, wrists and elbows
  • carpal tunnel syndrome
  • writers' cramp
  • and many other cumulative trauma diseases, occupational overuse syndromes and repetitive strain injuries

MacBreakZ combats these problems in a number of ways:

  1. reminds you to take breaks based on your health profile and your actual computer usage
  2. provides ergonomic advice and tips
  3. demonstrates and times stretching exercises that you can do in front of your computer

This type of software requires a high degree of adaptability and a particular sensitivity to the social factor influencing your work.

If you work in a home office and you are already suffering from one or more of the problems mentioned above, you will be looking for something that can help you recover and you won't care about much else. If you are, however, only looking to prevent injury and perhaps want to go home without a headache every day, you may be much more sensitive to what your co-workers think. You will not want to look silly doing strange stretches in an open plan office and you might be afraid that using a rest break timer might make you look less efficient or "injured".

Many of these things depend on your work setting and environment, the presence or absence of injury and your own mind set.

This is why, it is important for me as a product designer to be in touch with you, the end users of the product.

The development of A Better Finder Rename 7 was the first time, I developed a new product version in tight cooperation with a small number of alpha testers. This experience resulted in an end product that was far superior to what I could have achieved without the active help of this dedicated group of people.

This is why I want to attempt to replicate this approach with MacBreakZ 4.

I am looking for people who have time and effort to expend, who are interested in technology and have the desire to contribute to this project. Being accustomed to using MacBreakZ , ergonomix or any other break timer program will be an advantage.

If you feel like you might want to take part in shaping this new product and following it through its various development stages, please drop me a line at reiff@publicspace.net

Version 2: Even fewer features..

A Better Finder Launcher 2
It is not every day that a software developer removes features to make a better product, surely “more = better”. Yet, that is exactly what I have done with A Better Finder Launcher 2. Sometimes, I think, “less = better”.

Unlike all my other Mac software, my little launcher utility was written entirely for myself and it was never intended as a commercial product. It was born out of a desire to have a simple and clean little utility that would launch my frequently used programs and documents with just a few keystrokes.

Sure there were lots of great launchers out there already. Things such as LaunchBar (the blue print for Apple’s “revolutionary” SpotLight) and Quicksilver, but both those applications did such a lot more than what I wanted.

I didn’t want a program that manages my bookmarks, does a full-index search of my PDF files, is also a pasteboard and a coffee maker. Don’t get me wrong. They are great apps, they may be just what you are looking for, but they aren’t for me..

After tinkering around with my fun little utility for a while, I decided to share my little launcher with the growing community of A Better Finder users and it was released on an (unsuspecting) public as “A Better Finder Launcher”. It became a de-facto free addition to the A Better Finder Series package deal and has gone through ten point releases in its short life.

Version 2 brings the utility in line with A Better Finder Rename 7 and A Better Finder Attributes 4 in making the program both more of a stand-alone application and an easy drag & drop installation.

The adaptive ranking algorithm, however, is hands down my favorite new feature. It learns what your favorite applications and documents are and ranks them higher than less-frequently used items. This algorithm uses a combination of heuristics (e.g. “applications are more important than documents”), recency (e.g. “this program was last launched 5 minutes ago and is thus a better choice than that other program that was launched 3 weeks ago) and frequency (e.g. “Safari was launcher 3000 times, Firefox was only launcher 3 times. I think I’ll put my money on Safari”) to make guesses about which item is the best match. The greatest thing about it is that it works uncannily well!

I have enjoyed using version 2 for the past 2 months. I hope you’ll like it as much as me 🙂

Backwards Compatibility v. Support for the Latest Features

One of the dilemmas facing all software developers at one stage or another, is whether they should support the latest operating system capabilities or whether they should forgo those enhancements for the sake of backwards compatibility.

So far it has always been my policy to support the latest Mac OS X versions right from their release date, but always maintain backwards compatibility with the previous operating system version. At this point in time, this translates to all my products supporting both Mac OS X 10.3 and 10.4.

Apple’s release in quick succession of 4 major OS revisions has brought us a host of new features, but also a real upgrading headache. The vast majority of current publicspace.net customers seem to quickly upgrade to the latest versions of the OS and pretty much everybody seems to be on Mac OS X 10.4.5 right now.

Or at least, that’s what it looks like from here. In reality, it is difficult to gauge exactly what percentage of users have migrated to the latest version and how many people are lagging one, two or even three major system upgrades behind.

Precise information about how many Mac OS X users are still using Mac OS X 10.3 is hard to come by. OmniGroup are publishing the OS version data collected on a strict opt-in basis by their Software Update online service and this suggests that 94.5% of all Mac users are running some version or other of Mac OS X 10.4. Of these almost 40% have the latest point update and almost 70% one of the two latest point updates.

This data is, however, perhaps not really representative, as it only includes OmniGroup customers that have decided to opt into this scheme and are happy to download the latest updates via the internet. Are these people particularly tech-savvy? Are they the ones that have the fastest internet connections?

It seems certain that this type of automatic update service will be used substantially more by those who always want the latest version of everything and that the data will be significantly biased against those who update infrequently.

Right now, there are several features of Mac OS X 10.4 that would allow me to build “a better” version of both A Better Finder Rename and A Better Finder Attributes. Moreover, testing that each release still works correctly on Mac OS X 10.3 is time-consuming and that time would perhaps be better spent on adding new features and enhancing existing ones.

This is why, I am very tempted to discontinue support for Mac OS X 10.3 for the next versions of A Better Finder Rename and A Better Finder Attributes. Surely users who have not yet upgraded to 10.4 can still download and use the 7.2.1 or 4.0.2 versions of the tools? But is that really good enough?

Why don’t you help me decide by voting in the attached poll, adding a comment to this post or contacting me privately via email?

Birthday kid gets harder, better, faster, stronger server

publispace.net is this year celebrating its tenth birthday.

It started as a way to publicize my Ph.D. prototype program called "publicspace". The original publicspace program was a group support tool that gave Macintosh users a shared workspace with file areas, notification services, threaded discussion groups and other goodies to help them collaborate more effectively.

In many ways it was what we would today call a "wiki". In 1996 this was still fairly "out there" stuff and especially the absence of any form of access control was heresy to many of my fellow academics. I guess that the very same academics are now writing about the unstoppable rise of wikis and how they all saw it coming 🙂 publicspace was a moderate academic success (hey, I got my degree!) and a total and abject commercial failure, being paradoxically "too cheap". Still I got around 100 groups to use and (in many case) love the program and this encouraged me to continue my "shareware" adventure.

While the original product died, the "publicspace.net" website and company not only survived but thrived. The "A Better Finder" tool series established me as a "top tier" Mac developer and the "MacBreakZ" Personal Ergonomic Assistant has helped many Macintosh users prevent repetitive strain injuries or make a full recovery from it.

In 2000, with the help of George Wantz, a friend and a great programmer, these tools were let loose on the unsuspecting Windows masses. After the initial cheapo hosting solution became more and more inadequate, publicspace.net moved to its own high-performance Solaris server account in June 2000. Back then Solaris was the right choice for a pricey, but stable and fast website project.

In the past 6 years, however, much has changed both on the internet itself and here at publicspace.net. Today the birthday kid is moving to its new home on a bigger, faster, stronger, harder web server based around all-open-source technologies, such as OpenBSD, MySQL, PHP, etc. Over the next few months, I hope to introduce more dynamic features into the website and this blog is only the start of this. You as a user will benefit from increased responsiveness and faster downloads. The increase in available storage area (from 700Mb to 15Gb!) will allow me to post more demonstration videos, maintain a larger base of old versions, allow you to post your own contributions and much more.

All these changes, at the end of the day are designed to benefit you, the users of publicspace.net and help me stay in touch with your needs, suggestions and opinions.

Thanks for a great ten years.