Helix Client 6.2.1: A First Look This Friday

15 August 2013 — It is almost two months since we pushed little Helix RADE 6.2 out of the nest. At the time we did that, we were confident that the bird could fly, but there was still more we wanted to teach it. So we went back to work on it, fixing what needed to be fixed, and adding those things we believed we still had time to add while we brought the rest of our products up to 6.2.

The journey to end our dependence on Classic began in 2004, nearly a decade ago. Apple was making the transition from OS 9 to macOS and QSA ToolWorks was just edging out of the starting gate. We had completed the purchase of Helix from the former owners and immediately launched into making a foundational change to the Helix code: rewriting the ‘networking layer’ with a modern (at the time) implementation of TCP/IP that worked with the vast majority of networks seen in the real world. That debuted in Helix 5.3 which although still a Classic-only application, contained code that was ready for the ‘great leap’ forward to macOS.

Helix 5.3 wasn’t out for long when Apple announced the end of ‘Classic-bootable’ Macs. We were already working on bringing Helix to macOS when this turn of events forced our next move, which was to get Helix Server running natively as quickly as possible. We accomplished that goal — and released Helix 6.0 — as 2005 drew to a close.

During the development of Helix 6.0, we needed to make sure our new TCP/IP implementation would work in this new world, so we created a test in the form of what is now known as HelixChat. Some of you may remember that test; the idea was to see how many users could connect to one Server at the same time.

In Helix 6.0 the Client only ran in Classic, but HelixChat proved instrumental in shaking out the final bugs. When the test was over, we continued to use HelixChat as a forum for occasional discussion, but as the work to bring the rest of Helix to macOS intensified — compounded by Apple’s decision to switch to Intel processors — our participation in HelixChat fell by the wayside. (A full 70% of the messages currently stored in HelixChat were posted before the first macOS Client appeared on the scene!)

Then, when the macOS-native Client arrived, it was so painfully slow that we tended to avoid HelixChat because it was such a grim reminder of the work we still had to do. Of course, the macOS Client has improved steadily since then, with a big leap in performance coming in Helix 6.1.6. At that point, the Intel-native Helix Client on a local area network (LAN) provided performance that was, for the most part, equal to or better than the Classic Client. But the performance for remote users (WAN) was nowhere near that of the Classic Client.

As much as we would have liked to continue improving performance at the time, we simply had to turn our focus to Helix RADE. Apple was no longer making Macs that could run Classic at all, and although some users were inconvenienced by a sluggish WAN Client, many more were facing the disaster of having their last PowerPC Mac die and not being able to use RADE at all.

And so the principal task of the last two years has been to bring Helix RADE to macOS, cutting the last rope that tethered us to the Classic world. But that goal was not a destination, only a stop on the way to bigger and better things. The final stop in any new version of Helix is to have all the products in the family “on the same page,” so to speak.

Our plan was always to ship Helix RADE 6.2 as soon as it was completed, and then turn our attention to Client/Server. While we had done some work on Client/Server while working on RADE, it was only after RADE shipped that we could focus our attention fully on Client/Server. During the last two months we have been testing and refining, and now we are at the point that we are ready to conduct our first public test of Helix Client/Server 6.2. With your able assistance, that is.

The first test of Helix Client/Server 6.2.1 starts on Friday, August 16, starting at 12:00 PM Eastern Time. (That’s 4:00 PM GMT on Friday for you international users.)

Got it? Good. techdb is already running in Helix Server 6.2.1, which means that you need the new 6.2.1 Client in order to participate in the HelixChat test (and to do all the other things you do in techdb). Click here to download the Preview Client or, if you need a short tutorial on HelixChat, head over to the techdb page for detailed instructions.

Once you’ve downloaded the new Client, open your previously saved (Helix 6.1) connection document or use the new Connect To… menu to start a new connection (hostname: techdb.qsatoolworks.com). We have more to say about the new Helix Client, but before we get into that, we want to outline the purpose of this Friday’s test.

When we ran the original HelixChat tests in 2005, we were interested in seeing how many simultaneous Clients could be supported. At one point, we had well over 100 users simultaneously participating. We even heard that some individuals were running multiple copies of Helix Client from one location, just to push the count higher.

This time our intent is to gauge performance and stability. The HelixChat view is compact — only the four most recent entries are displayed in a subform — but it is updated with each new posting, making it a good stress test for beating up both the Client and the Server… when we have sufficient participation. And that’s where you come in.

To participate, all you have to do is connect to techdb, open the HelixChat window (keyboard shortcut: F4) and join (or start) the conversation. Feel free to discuss Helix, the weather, your favorite baseball team… whatever you feel like chatting about. The idea is to see how Helix 6.2 performs with as many people connected and as much data flowing as possible.

Be forewarned! There may be crashes of Client or Server. This new version has not been vigorously tested yet, and we don’t quite know what to expect. If there are any major weakness we need to fix, we expect this test to expose them.

This is an exciting milestone in the development of Helix 6.2; we hope you can join us in celebrating it this Friday.

Helix Client 6.2.1: speed, and then some

Helix RADE isn’t the only Helix product with a wish list. Client/Server users have requested new features and improvements to existing ones for years. We have dutifully kept track of those requests and when we shifted our focus back to Client/Server following the release of RADE in June, we re-evaluated all of those requests in terms of our ability to deliver them in a relatively short time frame.

There were a handful of features that would be new to Client/Server 6.2 simply by virtue of being part of RADE 6.2. We wanted to deliver more value, so we focused our efforts on ways to improve both the Client and the Server applications themselves.

All in all, there are more than thirty new and improved features in Helix Client/Server 6.2. But far and away the most significant ‘features’ are the performance improvements we’ve made. Helix Client/Server 6.2 provides a dramatic leap forward in performance, particularly for remote access users.

Helix Client List View Speed Comparison

Seconds/Page

LAN

WAN

Client 6.1.5

1.44

-

Client 6.1.11

0.24

5.12

Client 6.2.1

0.14

0.42

Faster (Times)

x 1.7

x 12.2

Faster (Pct.)

42.0%

91.8%

Test: Scroll through a list of 1,000 records on 24 pages by holding down the ‘Page Down’ key until the last page is fully drawn.

WAN test was over 20 ‘hops’ spanning 4 major network backbones.

How much faster? In July of 2010, when we announced Helix 6.1.6, we included some charts showing the performance improvement over Helix 6.1.5. They showed that, when we turned our attention to performance, we were able to take great strides in making macOS zip along like Classic.

For Helix 6.2, we took another run at improving performance, and then we conducted those same tests again. As the first chart on the right shows, even though LAN performance was already quite zippy, we improved it by about 42%. But compare that to the WAN column: where Helix 6.1.11 crawled along, nearly twenty-one times slower for remote users, Helix Client 6.2 is twelve times faster. That is a dramatic 92% improvement and one that we expect will put a smile on the face of many a Helix Client/Server user.

Now it’s easy to look at these numbers and grumble, thinking that the remote Client is ‘three times slower’ than the local Client. But keep in mind that the local Client is connected directly to the Server via Gigabit Ethernet. In these tests, the remote Client is connected through our 2.0 megabit internet connection. That works out to 1/500th the bandwidth so there is simply no way it could ever match the LAN speed. All things considered, the new Client is downright zippy, even for remote users.

Helix Client Subform View Speed Comparison

Seconds to Draw

LAN

WAN

Client 6.1.11

117

1150*

Client 6.2.1

41

206

Faster (Times)

x 2.85

x 5.58

Faster (Pct.)

65.0%

82.1%

Test: Run the "Mult Test No Conditional Styles" from ST37 @ 10x15x25.

* Client 6.1.11 crashed during every test. Result extrapolated from completed portion.

Another area where performance lagged in macOS — and this was seen in Engine as well as Client — was when subforms were involved. Some users of ‘calendar’ type applications that relied heavily on nested subforms found Helix 6.1 practically unusable.

The second chart on the right shows the improvement of Helix Client when it comes to subforms. It shows that local performance is 65% faster, and remote access over 82% faster. This is a rather torturous test, with 3,750 pieces of data being delivered in rapid-fire succession. In fact, Helix Client 6.1.11 typically crashed 2/3 of the way through the test, but extrapolating the figures we did capture, the remote user sees all this data in little over three minutes, compared to nearly twenty minutes in Helix 6.1.11.

Helix Client 6.2.1: More than just speed

Friday’s test will be your first look at Helix Client/Server 6.2. If you have had any experience with Helix Client/Server before, you should be aware that a great deal about it has changed, and while this is not the official product release announcement, we’d like to draw your attention to some of those changes and improvements before you join us for the test.

As noted above, some of the new features are ones that naturally come along with the enhancements to Helix RADE. For instance, Helix 6.2 stores Page Setup and Print data in the collection, so that all of you who have been making the effort every day to inform their computer and printer that some forms are going to print horizontally can now relax. Set it and forget it. This is the only new feature that is actually an old feature, but it is truly an “oldie but a goodie.”

Another great feature is the new Font Panel, which is finally a true floating palette. The message field in HelixChat is a Styled Text field, which will allow you to set text styles, fonts, formats and colors in your postings during the test. Doing this interactively via the Font Panel is a wondrous improvement.

Other new features that come by virtue of RADE allow you to drag-and drop documents both into Helix and to the Finder from within Helix, and to use a menu command to “Show/Hide Toolbar” bringing Lion/Mountain Lion compatibility to Helix in the wake of Apple’s decision to remove the little button in the upper right corner of every window. We’ve fixed some Client-specific bugs that have afflicted Helix users in the past and updated every dialog for macOS, giving the Client a more polished look.

But we also went a step further and added new features that are specific to Client/Server. Many of them are seen only on the Server-side, so we won’t discuss those here, but one new Client feature deserves mention, if only because it’s the first thing you’ll see when you launch Helix Client 6.2 (after the splash screen, that is).

Ever since Client/Server debuted, there have been some users who could not ‘get’ the concept of connecting to a database. And when the ability to ‘save your structure’ (renamed as a ‘connection document’ in Helix 6.1) was introduced, many people just threw up their hands in despair. Early bugs — ones we squashed long ago — had convinced some people that it was necessary to start a new connection (formerly called ‘visiting’) every time they wanted to access their server. All in all, the whole concept was a source of confusion for end users, and frustration for us.

We think you’ll like what we’ve done to eliminate the confusion and frustration: Now the Helix Client’s File menu has just two choices: Open and Connect To…. The Connect To… item is a hierarchal menu, containing automatically saved connection documents along with the ability to connect to a new server. The first time you launch Helix Client 6.2, there may be just one choice: New Connection… but once you have connected to a server, that server will automatically appear in the menu from then on. To reconnect, all you have to do is choose it from the menu. We even added automatic Command keys to make it easier to reconnect.

And never again will you be confused by a request to ‘save the connection document’ when you quit. It’s all transparent now.

Oh, there is one Helix Server feature we should tell you about, just to keep you honest. Helix Server always tracked which users have logged into or out of the database during a session, but that information was lost when the Server quit (or crashed) unless you opened the “Client Information” window and exported the data. Helix Server 6.2 adds persistent logging of user access, something many of our users, especially in the health care segment, have requested. And in addition to the traditional Client access logging, it now also logs failed connection attempts, Apple event accesses (for both data and structure access), and it notes when the collection was opened and closed.

Helix 6.3 and what comes next

There are many more new features in Client/Server 6.2; we’ll provide a full list when Helix Server ships. And the sooner we successfully eradicate all of its known bugs, the sooner we will put it into your hands and begin work on the next phase of Helix.

The next step toward that objective will be the “Feature Game” that we have mentioned previously. We already have a number of things on the board for 6.3, but we want to get some more input before we cast too many things in stone, so look for the “Feature Game” soon.

Finally, we are pleased to announce that the modifications we needed to make to have the web store talk directly with Helix 6.2 are complete, we can now make Helix 6.2 keys, and we are nearly ready to sell these products. The next hurdle is the test on Friday. If that goes well, we’ll roll it all out in one giant step. (If not, we’ll start selling Helix RADE 6.2 upgrades and taking pre-orders for Client/Server while we eradicate the remaining show-stopping bugs.)

We will announce final Helix 6.2 pricing when it arrives in the web store. We will also continue to offer Helix 6.1 for an indefinite period, for those who still want Classic- or PowerPC-capable products.