Product
Support
Everything Else

5.1 (almost) Final Beta is Testing

2002.12.09--Once again, before leaving the dock, we refer you back to our brief message of June 10, 2002, which included a promise not to raise expectations unnecessarily

When the "5.0.3" project began in August, we really had no intention of carrying it as far as we have. It didn’t even have a name. We didn’t even think we had enough for a maintenance release, much less something we could call 5.1!

At that time, we stood in daunting awe of the monolith that is the Helix code base. Everyone who looks at this thing with any kind of programming knowledge comes away with the same impression: this thing needs to be modernized, overhauled. It’s a beautiful construct, to this day a marvelous idea for how to create applications, yet, to paraphrase words uttered in 1992 by the late Jon Scheider, it’s an old house with a leaky roof and that roof has been patched and it’s patches have been patched and even those patches have been patched. At some point, it’s going to need a new roof...and quite a bit more.

While it may not be precisely accurate, it still can be said that the spark of generating this version began when we wondered why the default buttons in most of the Helix dialogs were no longer highlighted. That’s is pretty much what we set out to fix. Along the way, we discovered probably more than we really wanted to know about this problem.

As we confronted each issue, we had to bear in mind that whatever we were going to do had to be done with an eye to macOS and platform independence. We didn’t want to do anything that would derail us from that trajectory. As we delved into the inner workings of Helix it became clear that this might have been the first time since its conception that the code of Helix was being examined and evaluated by people who actively used it to create Helix solutions. As people who have worked 'on the outside' of Helix for years, we were able to combine our knowledge of both sides and 'finish' features that always felt slightly short of the mark.

An interesting pattern began to emerge during the process. More and more frequently, we encountered either features or bugs that begged one of two questions:

“Why did they do it like this?”

   or

“Why didn’t they finish this?”

The answer to the first, as we discovered over and over again, was that there was an historic tendency inside Helix development to implement features which were rarely revisited to provide them with the "fit and finish" they needed to provide maximum benefit to users.

Some were simple. The Sequence and PowerQuery windows were nearly the full size of a MacPlus or SE screen. Since that screen was the lowest-common-denominator among Helix users well into the early 1990’s, those windows ended up tucked slightly under the menu bar. Nearly all Helix users would use their mice to reposition these windows on their larger screens. "Why did they do it like this?" Because they had to. But we no longer have to so we decided to save users a step by giving these windows a little room.

Some were complex. Yet their solutions were not necessarily so. Why, for example, did the Open Query provide the ability to test for "defined" and "undefined" but the so-called PowerQuery did not?

Making it happen wasn’t easy. Since the function already existed in the Open Query, or the user could build an abacus and install it in the PowerQuery, he or she had an option. They did it like that because of how much more work would have been involved. It was easier--and generally more profitable--to move on to another feature.

We decided to do the extra work. And as glad as we are that PowerQuery users can now search with these new parameters, we’re still unsatisfied because we believe each type of query still has serious limitations. We spec’d out a new Helix Query that would allow the designer to create the query template, as in Open Query, yet use the less-limited and/or potential of the PowerQuery. But we had to draw the line somewhere, so look for Open Query and PowerQuery to morph into something better than the sum of its parts in Helix 6.

The answer to the second question, "Why didn’t they finish this?" was that they either didn’t realize there was more they could do to enhance the value of the new feature or function, or they just couldn’t see how it would be used out there on the other side of the Helix looking glass.

For example, the Helix "Get Info" function told you what something was linked to but didn’t show you where it was. In theory, if Helix can show you an abacus somewhere on the other side of your Collection that’s looking up the abacus you’re looking at, then it must know where that thing is, right? The ability to present that information was there, and would frequently save the user the additional step of having to repeat the "Get Info" process, opening more and more Info windows, but it was never "switched on," so-to-speak. The reason here, as with so many other things we found, was that the question of its usefulness to the end-user was never addressed.


When we decided in mid-October to draw the line and prepare to start beta testing, our overriding concern was to get the thing out by Thanksgiving. We would not become slaves the awful phenomenon of featuritis. But we also would not rush the thing out without really beating it up. Hence, here we are in December. Why?

Once we began beta testing, we started looking at what lay beyond 5.1. One of the things we had on the list of ancient Helix annoyances was a little problem where attempting to print more than 128 pages failed. The workaround had always been to break up the print job into smaller components. We suspected, based upon what he had learned to that point, that the fix might be far easier than anyone had anticipated and one of our Recovery Team recruits had it fixed in a week. A week to fix it meant another two weeks of testing.

This past Wednesday, we came down to the bottom of our list, which had grown quite long, and realized that all we had left to do was update the splashes, write the "Read Me" files, build the installers and we could ship. There were still 12 little problems we hadn’t solved that were so arcane that few users would really appreciate them. Still we decided to spend one more day on the list of 12 and see what could be done.

By late Saturday night, 11 of the 12 were dealt with to our satisfaction but a new problem had emerged and we knew we needed at least one more pass. At the same time, we decided to take a look at another problem that we suspected might have a simple fix. So, with a great sigh of disappointment, I shut out the lights Friday night at Helix and realized I might still have another week or more before I could bang out the news I’d been itching to type.


This temptation to keep fixing stuff in Helix has clearly affected us. When you’re so close to giving your peers something you know they will love to use, the feeling that you want to keep the secret a little longer can be overwhelming. But this is not the Manhattan Project, nor is it Project Bluebook (for those of you enjoying "Taken" this week). Again, back in June we promised to keep the information flowing. So if you’re one of our beta testers, go get 5.1 beta 4 and report real soon. Although we’d like to shut this test down this week, it appears there might be one more beta after this one, but better safe than sorry, and we need you to test this one anyway. For the rest of you, watch this space. There’ll be another update very soon. In the meantime, please go fill out another survey by clicking here.

Find PreviousFind Next