Helix (database)

Last updated

Helix is a database management system for the Apple Macintosh platform, created in 1983. Helix uses a graphical "programming language" to add logic to its applications, allowing non-programmers to construct sophisticated applications. Helix was the first multiuser database on any PC platform, the first object-based, visual programming tool and the first relational database on a PC platform.

Contents

History

Originally created by Odesta Corporation of Northbrook, IL in 1983 on the original Macintosh, Helix debuted to rave reviews when it was first released in late 1984.

At that time the Mac only supported 440kB floppy disks as storage. Users initially ran Helix from a floppy disk with Helix installed on the "system disk," which was where the operating system lived before the age of hard disk storage. This configuration left 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. In spite of these initial limitations, Helix was a powerful relational database.

In May 1986, Odesta released Double Helix. The main new feature set allowed for the construction of custom menus and menu bars, resulting in "stand-alone" applications. In comparison, the original Helix produced applications that were clearly running within Helix. 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 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 and money 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. The company also released a number of related tools, GeoQuery and Data Desk, for analyzing databases. However it wasn't long before the popularity of the VAX faded, and the product was never a major success.

In 1992 Odesta split up, with the original Helix applications being spun off. Double Helix re-emerged as Helix Express at Helix Technologies, marketed as a performance leader as opposed to "easy to use". The parent company became entangled in an unrelated but costly legal battle, and Helix languished. In 1998, Helix Technologies was purchased by The Chip Merchant, a San Diego-based memory vendor, who released a major upgrade in 2000, adding TCP/IP capabilities to Helix Client/Server and improving the performance of the entire product line significantly. However, falling memory prices and a slumping economy combined to drive The Chip Merchant into bankruptcy in 2002, sending Helix into legal limbo. It was purchased in 2004 by two of the people who were running its day-to-day operations, Gil Numeroff and Matt Strange, with financial backing from an unnamed businessman and long-time Helix user, forming a new company: QSA ToolWorks.

QSA brought Helix co-creator Larry Atkin back into the Helix fold and later brought back Steve Keyser, the original architect of MultiUser Helix. Dubbed the Helix Recovery Team, this new management and programming team began the task of rewriting the Classic Helix products to run natively under Mac OS X. The OS X Helix Server, along with three native diagnostic and maintenance tools, shipped in December 2005.

One month later, Apple announced the first products based on their switch from PowerPC to Intel processors, causing QSA to have to "switch gears" and begin the process of converting their code to Universal Binary format. This forced a conversion from the CodeWarrior IDE to Xcode, after which they produced Intel-native releases of their three "end user" products. Early versions (known as "Preview Releases") were feature incomplete and unstable, but frequent updates (five in 2008 alone) addressed these issues. Nine more updates in 2009 and 2010 focused on completing the feature set, eradicating remaining bugs and improving performance.

At the same time, QSA started work on bringing the Helix IDE (known as "Helix RADE") to OS X. Originally announced in December 2009 the project went by the code name of Europa, as an oblique reference to the movie 2010. [1] In June 2011, QSA began shipping ″Preliminary Releases″ — versions with some, but not all of the features ported to OS X. [2] The porting of features continued through to completion in June 2013. [3]

In September 2022, QSA Toolworks sold the Helix family of software to New Mexico-based Big Giant Donut Inc., a firm that had implemented Helix-based solutions at several manufacturing and technology companies. [4] Larry Atkin and Steve Keyser joined Big Giant Donut to work on a new software platform called "Donut", based on Helix concepts. [5] Donut is intended to run on modern 64-bit hardware and to run client software within a browser. As they work on this, Big Giant Donut has made the most recent versions of the Helix software downloadable from their website for free. [6]

Description

A Helix project is known as a Collection, a "document" created by Helix RADE (which stands for "Rapid Application Development Environment"). It is represented in the system by a sort of "pseudo-desktop" similar to the Macintosh Finder. A collection may contain thousands of individual databases (also known as relations or tables). Helix applications only open one Collection at a time. However, licenses can be purchased to allow access to numerous collections simultaneously, limited primarily by available memory.

Opening a collection results in a project window with two main parts driven entirely by a unique set of GUI objects. On the left are a number of icon wells, representing new objects that could be created, and a scrollable window on the right (known as the Collection Window) displays the objects that the user has created. Icons are dragged from the wells on the left into the window to create new objects in the collection. These objects include relations (tables) to hold data, sequences (macros) to automate tasks, and users to create custom menus for the end-user. This is one of Helix's most unusual and powerful features.

In the Relation, database tables (groups of related data) are created. Relations contain fields to define datatypes, an abacus to define the relationships among data and create information the fields alone cannot present, indexes to organize data and improve performance, queries to find data, "templates" to structure information visually and for entering, modifying, deleting and printing from "Views" that combine templates, queries and indexes to give the user access to and control over information.

The abacus uses a completely 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.

Helix RADE runs in two modes, Design mode and User mode. In User Mode the Helix collection opens in one of the defined user menu bars, allowing the user to use the database as they would any other application. Design mode allows the developer (or advanced user) to alter the design of the database, adding fields, creating new reports, etc.

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). In some cases, they do, but in many cases they make the problem worse. Helix is a very forgiving tool, allowing numerous routes to the same result. In the hands of an unskilled user, as with any tool, complex calculations can quickly become unwieldy, requiring that the programmer have a large monitor (or two) to work efficiently. However, skillful users find its visual approach both timesaving and liberating with few serious limitations.

Although quite adept at handling small to mid-size databases, a common problem for Helix is that for much of its lifetime, it has run only in the co-operative multitasking environment of the Classic Mac OS, making it rather unstable for large databases. Although the programming language itself has the scalability required to create complex databases, the inability to run reliably in a 24/7 environment relegates Helix to workgroups of 100 users or less. However, these limitations are rapidly becoming history. QSA released an OS X version of its Helix Server in December 2005 and is rolling out the rest of its product line in OS X versions in 2006 and 2007.

For someone familiar with Helix, the savings in development time can be significant. One expert who is also a leading Microsoft Access trainer/developer estimates that depending upon the size of the project, a Helix project can be finished in 30-70% of the time as the same Access project. The savings come particularly from the absence of a programming "language," thus the elimination of all syntax errors. Since Helix, itself, prevents a developer from making syntactical or programming errors, the remaining sources of problems come from errors in business logic. All languages face this problem, but Helix once again softens the difficulty in tracking down the problems due to its object-based and graphical nature. Because all of the objects are linked (through icons, not through coding), the system "knows" what objects are used by other objects and in what way and simplifies tracking down business logic errors and also provides a simple method of determining everything that is about to be affected by a proposed change to any object.

Limitations of Helix Visual Programming

In Helix, one must compose all code graphically - thus, an if...then...else construct is built using flowchart-type widgets such as decision diamonds, and loops are implemented using connectors.

While Helix's visual programming is possibly easier for novices to learn (because it uses a flowcharting paradigm that is intuitively understood by non-technical individuals), it can become tedious when the amount of code to be written becomes significant, especially for an individual who can write code much more easily and conveniently than if forced to drag icons from a palette.

To this end, when Helix RADE was updated to run natively on Intel Macs, an "abacus expression language" was added to provide this capability for those who needed it.

Related Research Articles

<span class="mw-page-title-main">HyperCard</span> Hypermedia system for Apple Macintosh and Apple IIGS computers

HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web.

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not.

<span class="mw-page-title-main">OpenStep</span> Defunct object-oriented application programming interface specification

OpenStep is an object-oriented application programming interface (API) specification that was developed by NeXT Computer. It provides a framework for building graphical user interfaces (GUIs) and developing software applications. OpenStep was designed to be platform-independent, allowing developers to write code that could run on multiple operating systems, including NeXTSTEP, Windows NT, and various Unix-based systems. It has influenced the development of other GUI frameworks, such as Cocoa for macOS and GNUstep.

<span class="mw-page-title-main">Genera (operating system)</span> Symbolics operating system based on Lisp

Genera is a commercial operating system and integrated development environment for Lisp machines created by Symbolics. It is essentially a fork of an earlier operating system originating on the Massachusetts Institute of Technology (MIT) AI Lab's Lisp machines which Symbolics had used in common with Lisp Machines, Inc. (LMI), and Texas Instruments (TI). Genera was also sold by Symbolics as Open Genera, which runs Genera on computers based on a Digital Equipment Corporation (DEC) Alpha processor using Tru64 UNIX. In 2021 a new version was released as Portable Genera which runs on DEC Alpha, Tru64 UNIX, x86-64 and Arm64 Linux, x86-64 and Apple Silicon M Series macOS. It is released and licensed as proprietary software.

<span class="mw-page-title-main">System 7</span> Apple Macintosh operating system released from 1991–1997

System 7, codenamed "Big Bang", and later also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Computer. It succeeded System 6, and was the main Macintosh operating system until it was succeeded by Mac OS 8 in 1997. Current for more than six years, System 7 was the longest-lived major version series of the classic Macintosh operating system. Features added with the System 7 release included virtual memory, personal file sharing, QuickTime, QuickDraw 3D, and an improved user interface.

In computing, an icon is a pictogram or ideogram displayed on a computer screen in order to help the user navigate a computer system. The icon itself is a quickly comprehensible symbol of a software tool, function, or a data file, accessible on the system and is more like a traffic sign than a detailed illustration of the actual entity it represents. It can serve as an electronic hyperlink or file shortcut to access the program or data. The user can activate an icon using a mouse, pointer, finger, or voice commands. Their placement on the screen, also in relation to other icons, may provide further information to the user about their usage. In activating an icon, the user can move directly into and out of the identified function without knowing anything further about the location or requirements of the file or code.

<span class="mw-page-title-main">Drag and drop</span> Action in computer graphic user interfaces

In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to invoke many kinds of actions, or create various types of associations between two abstract objects.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">Prograph</span>

Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CPX were available for the Apple Macintosh and Windows platforms for many years but were eventually withdrawn from the market in the late 1990s. Support for the Prograph language on macOS has recently reappeared with the release of the Marten software development environment.

Installation of a computer program, is the act of making the program ready for execution. Installation refers to the particular configuration of software or hardware with a view to making it usable with the computer. A soft or digital copy of the piece of software (program) is needed to install it. There are different processes of installing a piece of software (program). Because the process varies for each program and each computer, programs often come with an installer, a specialised program responsible for doing whatever is needed for the installation. Installation may be part of a larger software deployment process.

<span class="mw-page-title-main">ResEdit</span>

ResEdit is a discontinued developer tool application for the Apple Macintosh, used to create and edit resources directly in the Mac's resource fork architecture. It was an alternative to tools such as REdit, and the resource compiler Rez. For the average user, ResEdit was generally easier to use, because it used a graphical user interface. Although it had been intended to be a developer tool, power users often used it to edit icons, menus, and other elements of an application's GUI, customizing it to their own preferences.

<span class="mw-page-title-main">Interface Builder</span> Developer Application for MacOS

Interface Builder is a software development application for Apple's macOS operating system. It is part of Xcode, the Apple Developer developer's toolset. Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user interface. The resulting interface is stored as a .nib file, short for NeXT Interface Builder, or more recently, as an XML-based .xib file.

The Apple Developer Tools are a suite of software tools from Apple to aid in making software dynamic titles for the macOS and iOS platforms. The developer tools were formerly included on macOS install media, but are now exclusively distributed over the Internet. As of macOS 10.12, Xcode is available as a free download from the Mac App Store.

<span class="mw-page-title-main">Workbench (AmigaOS)</span> Graphical user interface for the Amiga computer

Workbench is the desktop environment and graphical file manager of AmigaOS developed by Commodore International for their Amiga line of computers. Workbench provides the user with a graphical interface to work with file systems and launch applications. It uses a workbench metaphor for representing file system organisation.

Metaphor Computer Systems (1982–1994) was an American computer company that created an advanced workstation, database gateway, unique graphical office interface, and software applications that "seamlessly integrate" data from both internal and external sources. The Metaphor machine was one of the first commercial workstations to offer a complete hardware/software package and a GUI, including "a wireless mouse and a wireless five-function key pad". Although the company achieved some commercial success, it never achieved the fame of either the Apple Macintosh or Microsoft Windows.

<span class="mw-page-title-main">Trash (computing)</span> Temporary storage for deleted files

In computing, the trash, also known by other names such as dustbin, wastebasket, and others, is a graphical user interface desktop metaphor for temporary storage for files set aside by the user for deletion, but not yet permanently erased. The concept and name is part of Mac operating systems, a similar implementation is called the Recycle Bin in Microsoft Windows, and other operating systems use other names.

<span class="mw-page-title-main">AmigaOS</span> Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates ANSI C code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware or color format and supports object oriented programming.

<span class="mw-page-title-main">Classic Mac OS</span> Original operating system of Apple Mac (1984–2001)

Mac OS is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The Macintosh operating system is credited with having popularized the graphical user interface concept. It was included with every Macintosh that was sold during the era in which it was developed, and many updates to the system software were done in conjunction with the introduction of new Macintosh systems.

References

  1. "The Latest Word: Something's Going to Happen…".
  2. "The Latest Word: Right This Way: Helix RADE Comes to macOS (6.2 PR1)".
  3. "The Latest Word: Helix RADE 6.2: The Preliminaries Are over".
  4. With Acquisition of Helix Software from QSA Toolworks, Big Giant Donut Bets Big on No- Code App Development's Appeal to a New Generation, 1 September 2022