Back to the Future of Handwriting Recognition (2016)
Revisiting the GRAIL Handwriting Recognizer: A Look Back at the Future (2016)
An Active Essay by Jack Schaedler
Half a century ago, the RAND Corporation pioneered a software system known as the Graphical Input Language, or GRAIL.
According to a 1966 RAND memorandum, the core mission of GRAIL was to:
“Investigate methods by which a user may deal directly, naturally, and easily with [their] problem.”
Unlike the workstations we use today, GRAIL dispensed with the usual peripherals. It featured no mouse, no keyboard, no buttons, and no joysticks. Instead, users interacted with the machine via a tablet and a pen-like stylus. Whenever a user needed to input text, they simply wrote it by hand.
Even by modern standards, demonstrations of this system possess a certain elegance and a sense of magic. To borrow a sentiment from Tony Hoare, GRAIL is, in many respects, superior to almost everything that followed it.
The Philosophy of Natural Interaction
Gabriel Groner, in 1966, noted the primary success of the system:
“This recognition scheme meets its primary objective of enabling any user to communicate naturally with a computer. A user is not distracted by any operational mechanics but, rather, may concentrate on [their] problem.”
![Image Description: A historical photo from the Computer History Museum showing Tom Ellis, one of the lead inventors, using the RAND tablet to manipulate an image on a screen during the 1960s.]
The Contribution of Gabriel Groner
This essay focuses on the work of Gabriel Groner, who engineered a sophisticated program capable of identifying:
- Handwritten letters
- Numerical digits
- Punctuation marks
- Geometric shapes
The system was remarkably efficient, running in real-time on an IBM System/360. It was also highly reliable, achieving a 90% accuracy rate for symbols drawn by people using the system for the first time. Groner detailed these findings in his 1966 memorandum, Real-Time Recognition of Handprinted Text.
Learning Objectives
By the end of this exploration, you should be able to:
- Understand the mechanics of Groner’s recognition scheme.
- Develop an intuition for the various phases of the algorithm.
- Explore the interactive implementation of these heuristics.
Note: This essay is designed as a dynamic companion to the original memo. Verbatim quotes from Groner's text will be rendered in .
While the original system was versatile, the version presented in this essay is a simplified implementation focusing exclusively on uppercase letters and numbers.
- Source Code: Available on [GitHub].
- Feedback: Please use the issue tracker for bugs or contact the author via Twitter.
- Deep Dive: The original
IBM 360 Assemblycode written by Groner is also available for review.
The Hardware: The RAND Tablet
The interface relied on a specialized piece of hardware: the RAND Tablet. The philosophy behind it was expressed by M.R. Davis and T.O. Ellis (1964):
“Present-day user-computer interface mechanisms provide far from optimum communication... It was felt that exploration of man’s existent dexterity with a free, pen-like instrument on a horizontal surface, like a pad of paper, would be fruitful.”
Technical Specifications
| Feature | Specification |
|---|---|
| Dimensions | |
| Resolution | |
| Total Positions | discrete points |
| Sampling Rate | Every |
| Input Trigger | Pressure-sensitive pen tip |
The Input Process
The following diagram illustrates the flow of data from the user's hand to the CPU:
Simulating the Experience
To help you understand this process, this essay provides a virtual tablet. However, there are some differences in scale:
- Resolution: While the original was , the virtual version is .
- Scaling: Imagine the virtual tablet as a small section of the original, magnified by roughly .
Instructions for Use:
- Placement: Draw your characters so they occupy roughly of the tablet's height.
- Action: Click and hold the mouse button to simulate the "pen-down" action.
- Movement: Drag the pointer to create marks.
- Practice: Try drawing continuous-stroke characters such as
2,3,6,C,M, orS.
Once you have mastered the feel of the virtual tablet, you may proceed to the next section.