Everything Else

Debunking Myths of the New Age of Helix

03 November 2010 — This edition of The Latest Word was scheduled to be published on 10 November 2005, but was never completed to our satisfaction. But the information remains valid, so we are releasing it now. Revised or updated information is highlighted in green.

10 November 2005 — In our last installment, we discussed how misinformation about Helix persists despite advances in Helix and our attempts to communicate those advances, and we started a debunking the top myths that surround Helix. Let's continue on with that list, shall we?

Helix is a "Black and White" Application

When customers send us collections for assistance, we see applications that use the Geneva and Chicago fonts and are stuck in black and white. That may have been the only option in 1985, but today color is everywhere in Helix. Even it's icons are in color. There is styled text, where color can be applied by the end user to text he or she is writing. There are conditional colors and styles that can be controlled at the data rectangle level. And Helix can, as mentioned above, render numerous graphic formats, all in glorious color.

Feature X doesn't work

We can't tell you how often we've heard, "Oh, I tried that before, but it was buggy," or "I tried that when it first came out and it didn't do what I wanted."

The Helix Recovery Team is made largely of users. As users, we lived through this tainted history. Once we got the opportunity, we created versions 5.1–5.3. These releases are big on "Fit and finish."

For example, the Picture tile and external document preview (see below) vexed us — as users — for nearly eleven years. We always lamented the fact, as users, that we couldn't use external document storage because the Picture tile could not show us the contents of an externally stored document. Internal storage worked fine, giving the feature that half-baked feeling.

Upon careful examination of the code, we came to a line that said, essentially:

If Document Storage is Internal then show the picture, else do nothing

So the problem was simply that they never finished the code! We finished the code and eleven years of an unfinished feature sitting around collecting dust came to an end.

The deeper we dug the more we found stuff like this all over Helix. And each time we found another "unfinished feature," we finished it. So if you've dismissed something in the past as inadequate, take a fresh look; you might be surprised.

Feature X is slow

I don't use x because I tried it in 1991 and it was too slow. — Back when Helix was in its 'adding features' phase, some designers seem to have fallen into a pattern that can best be described as follows:

  1. New feature is introduced
  2. Designer starts using it with joy, like a kid and his birthday present.
  3. Designer finds limitations or performance issues with the new feature.
  4. Designer voices complaints and waits a month or two for a fix.
  5. Designer writes off feature as "no good"
  6. Helix engineers address the issues.
  7. Designer remains committed to outdated experience.
  8. Misinformation continues.

So now, when a problem is presented that can be solved very easily by using, for example, the Form Previous tile, the designer proposes elaborate constructions because they recall that when Form Previous was introduced, it was slow. They never stop to consider that maybe the performance issues were addressed later on and that a fresh look is worthwhile.

Helix can't show pictures of external documents

One of the big features originally in the bag for a Helix product running in macOS was support of Apple's QuickTime standard. People wanted to use that "Picture" abacus to see the contents of a document, but Helix could only render it if the document was stored internally and even then, it was limited in what kinds of documents it could render.

Incorporation of "binary large objects (BLOBs)" in Helix so many years ago was one of the things that made Helix a "way ahead of its time" product. Yet like so many Helix creations, it is poorly understood by many users and, as a result, rarely used. In it's proper context, it is a powerful extension of the database management concept, yet there's a lot of readily available misinformation about its use.

Well, now it works. You can view jpegs and many other graphics formats when you manage their documents with Helix. All you have to do is drop the document field icon into a Picture tile (in an abacus) and put that abacus on a view: if QuickTime can find a picture in the document, Helix displays it whether the document is stored internally or externally.

Copy-and-paste structure don't work

Not true. You just have to have a somewhat logical approach to using it. If you aren't convinced, hold the option key down when pasting so you can see a dialog showing what Helix is about to do. In Helix 6.1, the dialog is opened by default. Most pasting errors were because the user didn't realize there were un-connected references. The dialog shows those references and lets you link them up, or to cancel the paste altogether.

Single line fields don't show everything that's there

By default, every rectangle wraps text to a second line if it is too long to fit in the data rectangle. Along the way, a Word Wrap option was added, allowing you to turn this feature off for single line rectangles.

If a data rectangle is tall enough to show multiple lines of text, word wrap is great. With word wrap turned on (the default setting) a word that doesn't fit on a line automatically drops down to the next line. (For very tall rectangles, the "Vertical Scrollbar" option lets you scroll those rectangles to read text too long to fit.)

But if you are like us, 98% of your data rectangles are just a single line. In this case, word wrap can cause problems. Even though you may only be showing a single line of text on the form, Helix obligingly wraps text that doesn't fit the first line down to the second line, but that line is 'hidden' and therefore it un-viewable. And because word wrap moves the whole word down to the 2nd line, there is no visible clue that more text is lurking down there.

By turning the word wrap option off, the text will extend all the way to the right edge of the rectangle, clipping the last word and letting you know there is more than meets the eye.

Making template changes is tedious

Some users believe the only way to change settings for an icon is through the menu bar. Making changes this way — especially on a template — can be very cumbersome as you make repeated trips to the menu bar to choose various features.

That's fine if you only have a couple of changes to make, or you want to change a bunch of rectangles at once, but for real efficiency, you need to double click the rectangle on the template to access the Attributes dialog. All of the commands available through multiple menu selections are found in the dialog, and there are often features you can control only through the dialogs.

Helix Buttons are Extremely Limited

The original buttons in Helix were limited, but they have gotten better and better through the years. Unfortunately, most of the power in buttons (aka: command rectangles) was made available exclusively through the command rectangle attributes dialog, which some users are not even aware exists.

Inside this dialog are some of the most powerful and least used features of Helix reside. It lets you fine tune the user interface according to user input. It allows you to present some options and withhold others, depending upon the scenario. In there you can find:

  • Default Button, an option that allows you to specify a button on a form to be triggered when the Enter key is pressed. A new Sequence command called "Keypress Enter" allows you to trigger this button from within another sequence, making many things possible that never were before.
  • Button enabling control lets you disable a button when you want to prevent a user from clicking it, or even make it disappear altogether.
  • Conditional sequences that only run (or run a specific number of times) based on the currently shown data.

The Client structure file doesn't work

When you first connect to a Helix Server using Helix Client, all is well. But when you quit Helix Client, you are presented with a request: Save structure before quitting? What do you do?

Many people routinely choose Don't Save and miss out on many key features of Helix Client/Server. Saving a structure file gives you many benefits:

  1. Instant reconnection to the Server
  2. Window positions preserved
  3. Queries (open, power, and quick) preserved
  4. Reduced load on Server
  5. Bandwidth reduction for slow networks

In addition to all of that, we've enhanced Helix's Quit Apple event, allowing you to create simple scripts that politely disconnect your Clients from a Server, so that guy who always forgets to quit at the end of the day won't lose his structure when you shut down the Server for maintenance. (Samples are found in the "Thing you Might Need" folder that is created in the Helix folder when you run our installer.)

In the past the biggest argument against saving structure was that if the Client disconnected from the Server in any unusual way (e.g. a Server crash) the structure file would just disappear! The users had to be trained in two methods to connect to the Server: opening a saved structure or visiting a server. Most people didn't want to learn two paths into the database, and the benefits were lost.

But every single issues related to saved structures that we are aware of has been addressed in recent releases. So save your structure! Do it once and after that, it becomes automatic. It enables you to instantly reconnect to your Server. The macOS Client puts it in the Recent Items menu, so reconnecting is a simple menu selection away. It's good for you and it takes a heavy load off the Server, making it faster for everybody.

Helix Utility and Update Collection are slow

Helix 5.0 brought a performance jump of an order of magnitude all thanks to a feature whose name nearly drowned in the TCP/IP disaster: RAMJet.

The term RAMJet has been eliminated: in Helix 6 and later, the components of RAMJet are referred to as buffers. (Collection buffer, Recovery buffer.) This section is revised to reflect that change.

Buffers took Helix collections, especially large ones, to new performance heights when properly applied. One of the first things we discovered (in 2002) was how misunderstood this feature is. It took us, nearly four months to edit our posting about buffers, misinformation was so deep.

Buffers can be used in RADE, Engine and Server, but it is perhaps most dramatically seen for how beneficial it is when used in Helix Utility, where awaiting the diagnostic result from a collection of 300 MBytes used to take hours. Now that same collection can be analyzed in minutes, resulting in much less stressful collection management. Update Collection OS X also uses buffers to increase performance.

Starting right now, the terms "RAMJet" and "custom caches" are going to be massaged rapidly out of our language. We will begin to refer to them as buffers, a more accurate technical term that does not carry the misinformation baggage of "caches" (See for numerous references to performance issues caused by caches.)

Should you know how to use buffers? Let's just say that if you're still using Helix and you're not using them, you're missing out on an important ability of Helix and worthwhile use of upgrade money.

Find PreviousFind Next