Jump to content

Helix (database)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TonyW (talk | contribs) at 20:52, 2 August 2004 (correct 'External link(s)' capitalisation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Helix is a pioneering database management system for the Apple Macintosh platform. Helix uses a graphical "programming language" to add logic to its applications, allowing non-programmers to construct sophisticated applications. While this sort of ease-of-use should have made Helix a killer app on the platform, high prices, limitations in the programming system and a variety of business problems have relegated it to a niche product. Today Helix is twenty years old, but still has a strong following.

History

Originally created by Odesta Corporation in 1983 on the original Macintosh, Helix received rave reviews when it was released the next year. At the time the Mac only supported 440kB floppy disks as storage, shared with the operating system and leaving little room for applications or data. It was assumed that users would add a second floppy for any sort of real-world use, with the OS and Helix on one floppy, and data on another. With a maximum database size of under 500k, Helix's data management capabilities didn't need to be all that strong, nevertheless it was a full relational database.

In May 1986 Odesta released Double Helix for $495. The main new feature set allowed for the construction of custom menus and menu bars, resulting "stand-alone" applications. In comparison, the original Helix produced applications that were clearing running within Helix, much as a Microsoft Word document is clearly running inside "Word". Released as a part of a larger suite of software, the Helix suite also included a stand-alone runtime version known as RunTime Helix which would allow users to run Double Helix applications without the full version of Helix installed, as well as MultiUser Helix which operated in a client-server fashion.

Upgrades to the Helix product line were continuous during the 1980s, but the company spent a tremendous amount of time working on a version known as Remote Helix which ran the basic Helix development system on top of VAX based databases. The idea was to offer a Mac-like experience on "big iron" systems, a common theme in the early 1990s. This also included a number of new tools, GeoQuery and Data Desk, for analyzing databases. However the product was never a major success, and it wasn't long before the average Mac could outperform a minicomputer. In 1992 Odesta split up, with the original Helix applications being spun off.

Double Helix re-emerged as Helix Express at Helix Technologies, marketted as a performance leader as opposed to "easy to use". In addition, Helix, sans database engine, was released as a free RAD tool known as Helix RADE. These two products continue to be offered today.

Description

In Helix each database, known as a Collection, was represented in the system by a sort of "psuedo-desktop" similar to the Macintosh Finder. One fairly serious limitation of the system was that only one database could be opened at once.

Opening a database resulted in a project window with two main parts. On the left were a number of icons representing new objects that could be created, and a scrollable window on the right (known as the Relation Window) displayed the objects that the user had created. Icons are dragged from the left into the window would make new objects in the collection. These objects included relations (tables) to hold data, indexes to improve performance, queries to find data, and the abacus for writing calculations to work on the results of a query. Data was displayed using another series of GUI objects, at the top of the display hierarchy was the template, forms containing a saved layout and typically attached to a query.

One of Helix's more interesting features was the abacus, which used a graphical system for creating calculations. You describe the desired calculation by dragging icons representing operations and fields into the abacus' editor window, and then arrange them in a dataflow diagram. For example, to say "first name followed by space followed by last name", you drag in a "followed by" icon, then drag the "first name" field into its first part and set a space character as its second part; then you drag in a second "followed by" icon, feed the output arrow from the first one into the second's first part, and drag the "last name" field into its second part.

Although intended to simplify programming, iconic programming languages often "miss the point": programming is difficult not because you have to type, but because the complexity very quickly reaches a level where the project can no longer be understood. In theory a graphical language can help reduce this complexity considerably (see intentional programming for examples), but in most cases they make the problem worse. Helix was no exception, and users have always complained that making any sort of complex program with Helix is rather difficult.

Helix runs in two modes, developer mode and user mode. In User Mode the Helix collection opens in one of the defined templates, allowing the user to navigate the data. Run Time Helix was essentially Double Helix with the Developer Mode turned off.

Another problem for the product is that was, for much of it's lifetime, rather unstable. For many products this isn't so much of a problem, but for a database this is a true kiss of death.

Helix Technologies