QCTerm, the terminal emulator portion of the QueryCalc Display
Terminal, is not constructed as a precise mimic of either
Reflection or even an HP700/92 terminal, although it identifies
itself as the latter. Rather, we wanted to make QCTerm
simpler, more browser-like, and more intuitive, while retaining the
full functionality that would be expected of an HP terminal - eventually
becoming fully competitive with the other PC-based terminal emulators.
Our hope is that we can make QCTerm sufficiently self-explanatory
so that not all that much of a manual will be necessary. Whatever
documentation proves necessary will be put here on the web.
Some Features (& Tricks) of QCTerm
The Modifier Keys
For those of you who have extensively used Reflection
terminal emulator in the past, some adjustments will be necessary.
Very few of the Reflection key sequences are used in
QCTerm. Instead, we've tried to bring some order to the
key sequences. We have most especially attempted to make
QCTerm's sequences be in agreement with the standard
sequences that have recently come to PC-based software.
In QCTerm, the ALT key is used only for the
pull-down menu at the top of the screen. It is not used to
generate any other form of QCTerm command sequence - with
the exception of modifying the arrow keys, as noted below.
Rather, the CTRL key is used as the primary modifier for all other
purposes than the pull-down menu. You'll see these differences as you
read through the text below.
The Size of the Display Screen
The displayable screen size for QCTerm may be set in the
"Terminal Preferences..." option of the "Terminal" pull-down
menu to be either:
- 600 rows by 200 columns
- 900 rows by 132 columns
- 1400 rows by 80 columns
In addition, there are four display windows for you choose among.
These displays may be characterized as:
- A large font, 80-character-like display
- A small font, 80-character-like display
- A small font, 132-character-like display
- A small font, full-screen display
The actual number of characters that will appear on your screen will
depend on your PC's screen resolution (640x480, 600x800, etc.).
While QCTerm will work on PCs set to the lowest screen
resolution, 640x480, we recommend that you use 600x800, if at all
possible. Everything about QCTerm's design was formatted so that
it would look best and text would appear most appropriately when set to a
600x800 (SVGA) resolution, using Windows' Small Fonts option.
The 132-column Display is Undistorted
Rather than having the fonts become quite tall and thin when a
132-column display is selected, we elected to have QCTerm
compress its screen height and drop to a smaller font size instead.
Doing this allows the screen to maintain its original proportions.
The font-distorting "feature" of the 132-column mode on a regular HP
terminal is a necessary consequence of the constraints that govern the
terminal's design. However, on a PC, those constraints disappear and we
elected not to mimic them.
The ← → ↑ ↓ Arrow Keys
The arrow keys work as you would expect while you remain within the
boundaries of the display screen. However, unlike a terminal
(or Reflection), when you reach the edge of the display screen,
QCTerm's
cursor does not flip to the opposite side of the screen and continue
its motion there. Rather, the terminal begins to automatically scroll,
as if it were a browser, three rows (or three character columns) at a
time, depending on which way you're moving.
Each of the arrow keys can also be pressed with a modifer (SHIFT, CTRL,
or ALT) key, somewhat akin to Reflection's
behavior. If the arrow key is pressed in conjunction with one of the
modifier keys, the screen immediately begins to scroll, leaving the
cursor in its screen-relative position, without having to cause the
cursor reach one of the screen edges. Moreover, the three different
modifier keys cause the scroll to occur at differing rates:
ALT causes the screen to scroll 1 column (or row) at a time.
CTRL causes the screen to scroll 3 columns (or rows) at a time.
SHIFT causes the screen to scroll 10 columns (or rows) at a time.
The modifier keys were designed in such a manner so that you're left
with the feeling of increasingly putting "the pedal to the metal,"
accelerating the rate at which you scroll, but leaving you with an easy
mechanism to choose the rate at which you scroll.
If you wish to use these high-speed scroll features to their fullest,
you may wish to go to your Windows Control Panel,
select "Keyboard," and set the "Repeat delay" to its shortest possible
setting and the "Repeat rate" to its fastest possible setting.
The Page Up/Page Down Keys
The Page Up/Down keys cause the display to scroll up or down, 24
rows at a time. Although no modifier key is necessary to engage their
behavior, pressing the CTRL key does no harm. The CTRL key modifier is
supported only for psychological compatibility with the
Reflection terminal emulator.
The Home/End Keys
The Home/End keys cause the display to go to either
its first screen row or its last screen row. As with the
Page Up/Page Down keys, although no modifier key is
necessary, simultaneously pressing the CTRL key will not modify
their behavior. The CTRL key modifier is supported for psychological
compatibility with Reflection.
Similar to Reflection, SHIFT+Home causes the cursor to return to
the beginning of the current row while SHIFT+End places the cursor at
the end of text on the current row.
As an additional functionality, pressing the CTRL+Home key combination
twice rapidly (within a quarter second) will cause the terminal to
perform a screen home and clear.
The Insert/Delete Keys
The Insert key puts the terminal into character insert mode.
This mode is indicated by both an annuciator message at the
bottom of QCTerm's
window and by a change in the appearance of the cursor. If the terminal
is in its normal mode, with an underline cursor, the insert cursor will
be indicated by a block cursor. If the terminal cursor is reversed, the
Insert Mode cursor will similarly be reversed.
The terminal will remain in Insert Mode until (i) the Insert
key is pressed again, (ii) an appropriate escape sequence is received,
or (iii) the terminal is reset.
The Delete key takes effect immediately, deleting the character
at the cursor's current location.
Inserting and Deleting Lines
The Insert and Delete keys' functions may be modified
with the CTRL key. If pressed simultaneously with the Insert
or Delete keys, the keys become Row Insert and
Row Delete, respectively.
The Pause/Break Key
If the Pause-Break key is pressed, an Xoff (CTRL-S)
character is sent to the terminal, stopping the flow of data
from the host computer to QCTerm. If the key is pressed
again, an Xon (CTRL-Q) character is sent, resuming the data flow.
The Pause button on the lower edge of QCTerm's
window acts both as an annuciator, declaring the current state
of the pause, and as somewhat of a twin to the Pause-Break key.
When the Pause-Break key is pressed with SHIFT modifier key, a
BREAK signal is transmitted to the host computer. A BREAK may also be
generated by pressing ALT+B.
ALT+B = Break
Shift+Pause = Break
The Scroll Lock Key
The Scroll Lock key is intercepted by Windows 95/NT at
a processing level lower than QCTerm.
It preforms a process something akin to Memory Lock in the terminal
emulator, but not in a manner that is particularly useful. In general,
it is recommended that you not use this key.
The Print Scrn/SysRq Key
The Print Scrn key is a second key that is intercepted in
Windows 95/NT at a processing level lower than QCTerm,
but in this case, the key's function can be very valuable for
documentation purposes. Whenever the key is pressed, a bit-map snapshot
of the entire current Windows display is put into the clipboard.
If Alt+Print Scrn is pressed, only the active window is
placed into the clipboard. If QCTerm
is the active window, a bit-map of the current screen, including
high-lighted text and current function key settings, is made immediately
available for pasting into other document-processing programs.
The Tab Key
When pressed as an unmodified key, the Tab key generates
a horizontal tab character. When modified with the SHIFT modifier
key, the Tab key generates a horizontal backtab character.
The Function Keys, F1 thru F12
The function keys F1 through F8 act in the normal manner appropriate to
an HP Terminal. The remaining four function keys, F9 through F12, are
assigned specific, non-modifiable functions. They are:
- F9
- System Keys. Pressing F9 will cause the topmost
level of the terminal's System function keys to be displayed
at the bottom of the screen.
- F10
- User Keys. Pressing F10 will cause the terminal's
user-definable function keys to be displayed at the
bottom of the screen.
- F11
- Special Characters. Not yet
active. When activated, F11 will bring up a special (Roman-8) character
form, allowing the user to pick one (or a sequence) of special
characters that are otherwise unsupported on a standard PC keyboard.
- F12
- Enter Key. F12 is the ENTER key, as defined by
a standard HP Terminal, not the RETURN key, which
is often confusingly labeled as "Enter" on a PC's keyboard.
If your screen display is wide enough, you will be able to see all
twelve function keys. But even if the screen size is too small and these
four extra function keys are not visible, it still will not be
necessary to memorize their functions. They are recapitulated in
QCTerm's "Terminal" pull-down menu.
The CTRL+Function Keys, CTRL+F1 thru CTRL+F12
The function keys F1 through F12, when pressed with the CTRL modifier
key, engage specific terminal display functions, allowing you to change
the appearance of your screen "on the fly." The first four function keys
control screen size. The next four control the font. The final four
control the screen's color. You do not need to memorize these functions.
They are repeated in QCTerm's "Screen" pull-down menu. They are:
CTRL+
- F1
- Large Font, 80-Character Display Window.
- F2
- Small Font, 80-Character Display Window.
- F3
- Small Font, 132-Character Display Window.
- F4
- Small Font, Full Width, Full Height Display Window.
- F5
- Bold Font.
- F6
- Elegant Font.
- F7
- Voyager Font.
- F8
- Courier Font.
- F9
- Inverts Color Motif.
- F11
- Previous Screen Color Motif.
- F12
- Next Screen Color Motif.
The CTRL+Alpha Keys
Certain CTRL+Alpha key combinations have become (or are on their way
to becoming) standard on a PC. QCTerm
enthusiastically supports the more standard of these combinations,
simply because they greatly facilitate the ease at which one can move
from program to program. These same key combinations are also supported
by a growing number of software titles, including Netscape's
Navigator, Microsoft's Excel, Word, Internet Explorer
and Visual Basic, and America Online, among others.
These particular key sequences were originally defined in the early
1980's by Apple for the Macintosh. On that machine, Apple used a
modifier key, called COMMAND, which unfortunately doesn't exist on a
PC's keyboard. To compensate, people have used the CTRL key as the
substitute modifier key when they've migrated these key combinations
over onto the PC.
Among the more common of these sequences are:
CTRL+P = Print Current Screen
CTRL+S = Save Current Work
CTRL+A = Select All
CTRL+X = Cut
CTRL+C = Copy
CTRL+V = Paste
CTRL+F = Find
CTRL+Q = Quit Program
Some of these key sequences, however, clearly interfere with some of the
same sequences that have been traditionally used on the HP3000, most
notably CTRL+S, CTRL+Q, and CTRL+A.
The CTRL+Alpha Keys (Transparent Mode)
If you wish to use QCTerm as a traditional terminal emulator,
a mode switch has been put into QCTerm
that allows CTRL+Alpha characters to be passed on to the host and not
processed locally. Two sequences have been defined to allow you to
transmit any control key sequence to the HP3000. Once typed, QCTerm
switches to Transparent Control Code mode. This mode is indicated to
the user by having the text written in to communications control panel
at the bottom of QCTerm's screen become bright blue.
To switch back to the newer user mode, use one of the two sequences
shown below. Once done, the communications control panel returns to
black lettering.
CTRL+T = Switch to Transparent Control Code mode
CTRL+Shift+F12 = Switch back to Local Process mode
ALT+T T = Switch to Transparent Control Code mode
ALT+T L = Switch back to Local Process mode
Some HP3000 sequences are common to both modes, however. They are:
CTRL+Y = Subsystem Break
CTRL+N = Line drawing set on
CTRL+O = Line drawing set off
CTRL+G = Bell
The CTRL+S and CTRL+Q (Xon/Xoff) pair of sequences, which act as a
traditional data flow start/stop method, are transmitted to the host
HP3000 only when in the CTRL+T mode. However, two additional flow
control keys are present in QCTerm and they operate in either mode.
They are the Pause-Break key on the keyboard and the
Pause button at the bottom of QCTerm's screen.
The Screen Buttons: Size, Font, Color
Each of the three attributes of the screen display (size, font,
and color) can be set independently, "on the fly," while
QCTerm is receiving data.
The three on-screen buttons, Size, Font, and Color,
cause their respective attributes to advance by one, instantaneously
changing the screen size, font, or color.
Similarly, each of the buttons can be caused to decrement their
respective indexes if the buttons are pressed simultaneously while
holding down any of the modifier keys (SHIFT, CTRL, or ALT).
Connectivity
Current Options
Two connection methods are available in the current version of
QCTerm. They are:
- Serial Port Communication (to 19.2Kbaud)
- Telnet TCP/IP Communication (Standard & Advanced)
A more complete explanation
of these connection options and how they work is available by clicking
on the link. Serial and network connectivity mechanisms are more alike
than you might originally imagine.
How (and Why) QCTerm is Constructed
Introduction
Perhaps surprisingly, the question of how the QueryCalc Display
Terminal is internally constructed is as intimately related to the
nature of QueryCalc itself as it is to a second, more curious question:
why are we distributing QCTerm, the terminal emulator
portion of the Display Terminal, at no charge?
There will be two audiences reading this note. One, of course, will be
QueryCalc customers themselves. The other will be people who are
interested only in downloading and using QCTerm, the terminal
emulator portion of the QueryCalc Display Terminal. This explanation is
meant to satisfy both groups (ideally without boring either), but it is
primarily an internal communication to the family of QueryCalc users.
As many of you know, work has been underway for sometime to create a new
PC-based QueryCalc Display Terminal. It is important to emphasize that
the basic nature and philosophy of QueryCalc is not changing. Only its
display capabilities are being enhanced. Greatly enhanced.
The next version of QueryCalc will continue to be capable of being run
from a standard HP terminal, as you always have done in the past, or
it will be capable of being driven from the new PC-based QueryCalc
Display Terminal. The effect will be, as Rob Perkins of Mizzou Credit
Union has said, similar to the initial introduction of color television.
The new color images were still renderable and fully compatible on a
black-and-white television receiver, but the emotional effect when seen
on a new color receiver was dramatically enhanced. We expect not only a
similar increase in emotional impact with Display Terminal, but also a
significant increase in productivity and ease-of-use as well.
We've always been adamant about not downloading anything from the HP3000
into a PC - and we certainly haven't changed our mind. Downloading
information into a client PC inevitably converts what would otherwise be
a simple task into one that becomes surprisingly complex, fragile, and
tedious. It's a path we simply don't want you to be forced to take. More
importantly, it represents a design approach that essentially
eliminates any possibility that reports can be easily automated so that
they may be run in batch, reliably for years on end.
But that's not to say that PCs don't make excellent display terminals.
The modern user interface of pull-down menus, mice, and icons make
programs easier to use and learn. These are attributes that are well
worth imitating and they are among the features that we are especially
working to seamlessly incorportate into the new PC-based QueryCalc
Display Terminal.
The Display Terminal will have two primary screens. One will look and act
very much like Reflection
from WRQ (and indeed should eventually prove to be a completely
satisfactory replacement, at no cost). The second screen will look much
like Excel from Microsoft.
The Display Terminal will be the first enhancement to QueryCalc for
which we've ever charged. The price will be 20% of the current QueryCalc
list price for your CPU size, with a maximum price of $2500. We did
seriously consider other pricing alternatives, such as a per seat
charge, but there is no easy, low-maintenance way for us to implement
such a pricing plan. But far more importantly, such a plan would have an
overt tendency to minimize the use of QueryCalc (there would
inevitably be some discussion as to who should get QueryCalc and who
shouldn't) and that's quite contrary to the way that we want you to use
QueryCalc.
Rather, we want to maximize QueryCalc's usage. By charging a
fixed rate, the use of QueryCalc's Display Terminal is inherently made
unlimited. The PC client portion of QueryCalc can be as widely
distributed as you wish. Further, anyone - QueryCalc customer or not -
may use the QCTerm portion of the software simply as a terminal
emulator, at no cost at all.
Somewhat similarly, the new QueryCalc Display Terminal should
significantly broaden the use of QueryCalc within those organizations
that own QueryCalc. A great many people, who wouldn't otherwise want to
write reports, will soon be able use QueryCalc as an excellent
substitute for Excel, but now as an HP3000-based spreadsheet.
What this will mean is that their spreadsheets will be instantly
shareable with anyone who has access to the accounts in which the
spreadsheets are stored. It will also mean that the spreadsheets are
safe, guaranteed to be backed up on a regular basis.
In the past, we've discouraged people from purchasing QueryCalc if their
intention was to use it only as a shareable spreadsheet. If you use
QueryCalc in that manner, you're only using 3 to 5% of its power. We
may, however, change our recommendations about such usage once the new
Display Terminal is complete.
Nonetheless, QueryCalc's traditional power will always lie in your
capacity to gather data from your IMAGE and KSAM databases, in any
manner that you wish, and rather effortlessly manipulate the data to
obtain whatever results you require. As many of you have heard us say in
the past, the goal that we've been working towards with QueryCalc is to
turn the HP3000 into a Macintosh - but this time, as the world's best,
easiest-to-use personal database engine - by making the distance between
you, your data, and the piece of paper be as short and direct and
intuitive as possible.
The PC as a Display Terminal
QueryCalc has always required only three items: an HP3000, a terminal,
and a printer. This simple list will never go away. With the addition of
PostScript capabilities a few years ago, a PostScript printer is now,
by far and away, the preferred form of printer, but QueryCalc continues
to work with any form of ASCII-based printing device and always will.
Nor should the value of terminals be minimized. An HP terminal is a
surprisingly complex device - and one that makes a surprisingly nice
display "client" (to use the modern vernacular). For those of you who
continue to use terminals, you know the strengths of terminals when
they're well integrated to an HP3000-resident program: they are
extremely simple to set up, they're exceptionally reliable, they're
rock-hard and tolerant of an enormous amount of abuse, and they're
virtually impossible to crash.
Unfortunately, we know that we're not going to be able to get the same
level of reliability out of a PC. At the moment, a Windows 95 machine
has to be rebooted about every day or so, simply to manage its internal
memory requirements. But that doesn't mean that we're not going to try
to recapitulate your experiences with standard terminals on the PC.
The QueryCalc model that we've been working towards for the last few
years is based on the equipment and techniques that are either now in
place or almost certain to show up in the very near future. The scenario
that we've been working towards is an office of a small business,
perhaps a dentist's office, a retail lumber store, or a construction
management company. The machinery will include a small 4-user, HP3000
Series 908 (priced at about $6000), connected by LAN to a half dozen,
inexpensive ($800), 200MHz Pentium-based, Windows 95 PCs, with one to
several laser printers resident on the same LAN. With the arrival of
reasonably simple-to-setup LANs, DTC's have become an unnecessary
expense.
The "908" machine, at the moment, is a mythical device, but we believe
its existence is inevitable. It's where the market is moving. In this
environment, operating costs, solution robustness, and equipment
reliability are everything. This is a business environment where things
have to work reliably, day in and day out, for years on end, with
essentially no human tinkering.
The HP3000 is better suited to this environment than other
commercial-grade database engine currently in existence. And we know it
works. For more than 10 years now, greater than half of all of QueryCalc
customers run their HP3000s with no permanent data processing staffs on
site, running machines as large as 987s, as if they were personal mainframes.
The "system manager" in these organizations is either the office
manager, the bookkeeper, the company president, or the mail clerk. More
often than not, the system manager is the person whoever either first
took a liking to the machine, was assigned the task, or whoever's desk
was simply closest when the machine was moved in.
It's important to understand that this is the tough environment.
What a small company does with its data is no less complicated than what
a large organization does with theirs. In fact, most often, the
situation is quite reversed. Small companies almost always make much
more intensive use of the information held in their HP3000s, with much
greater imagination, than do the larger organizations.
The host-terminal model - in stark contrast to the "client/server" model
- is critical to success in this environment. An architecture
constructed around ODBC, DDE, or OLE-based SQL queries, mediated by any
number of agents, macros and scripts, downloading the extracted
information into a ever-changing variety of PC programs, is far too
fragile, inefficient, and tedious an architecture to work with any
reliability. And that very lack of reliability translates directly into a
lack of productivity and heightened frustration. Every aspect of the
design of QueryCalc is meant to avoid or ameliorate these problems.
Building the Display Terminal
We've always known that we were going to have to build at least a
minimal terminal emulator as an auxiliary screen for the QueryCalc
Display Terminal's spreadsheet. The terminal emulator would be the
mechanism by which you would first sign on to the HP3000 and then run
QueryCalc. As we added up the functionalities that we would like to have
in the terminal emulator (cut-and-paste, screen printing, serial and
TCP/IP communications, etc.), we decided that we may as well go forward
and create a full-function terminal emulator, fully competitive with the
other emulators that are currently on the market. Because we decided
early on not to charge for the Display Terminal PC-client software, the
next step was obvious: we may as well distribute the emulator, free of
charge, to anyone who would care to use the QCTerm portion
of the Display Terminal.
The switchover to the Excel-like spreadsheet portion of the
Display Terminal will be completely automatic and transparent to the
user. QueryCalc has always interrogated the terminal you're using in
order to determine its capabilities. At the moment, three categories of
terminals are registered in QueryCalc: (i) those that do not have
labelable function keys (now quite rare), (ii) those that do have
labelable function keys but are limited to only 80-column screens, and
(iii) those that have 132-column capable displays. QueryCalc
automatically adjusts its behavior based on the quality of the terminal
you're using. The Display Terminal will represent a fourth category -
and will, of course, represent the largest change in QueryCalc's
behavior on the HP3000 to date.
All data input to the Display Terminal is fed to a receive buffer, where
the text lines, commands and escape sequences are parsed. If a new line
that is received is of the form:
\qc cmd <an operand of any length> CR
where cmd is a legitimate three-letter command, then the Display
Terminal will automatically switch from the terminal emulator to the
spreadsheet display and perform whatever command was requested. The
display will remain in the spreadsheet display mode so long as the
received lines continue to match the necessary format. However, under
the worse possible circumstances, should QueryCalc abort, all incoming
text following that abort would be normal, HP3000-generated text and
would be automatically captured and displayed on the terminal emulator.
Because these lines would not contain the proper prefixes, the Display
Terminal will automatically switch back to QCTerm. Text received
in that manner will thus not be lost and may be cut-and-pasted into
e-mail, or printed and faxed, so that we may see precisely what went
wrong.
This design also makes QCTerm completely compatible with all
prior uses on the HP3000. If the QCTerm
user does not own QueryCalc, then he or she will never see any of this
additional behavior. To such a user, the Display Terminal will be no
more than a standard terminal emulator.
As PC prices continue to fall, and as PCs displace the last of the
terminals, we expect a zero-cost terminal emulator to become a
reasonably popular item. But because it will carry the QueryCalc name,
we consider it critical that it be a fair representative of the quality
of products that we produce - and its development will continue until
the emulator can be declared to be quite excellent.
Although only two screens (the terminal emulator and the spreadsheet),
will be present in the initial version of QueryCalc's Display Terminal,
we have a number of exciting ideas yet to be implemented. Precisely in
the same manner that the "\qc" switch has been imbedded into QCTerm,
we can add as many similar switches as we care to. Some of the future
technology we presently have planned we similarly intend on
distributing, at no cost, in follow-on versions of QCTerm.
While writing such elaborate PC-based clients as a full-function terminal
emulator and an Excel-like spreadsheet display may seem to be
an exceptional expense, it is precisely the right
thing to be do from an informational physics point of view. It is the
simplest, most robust, and most reliable possible design from the user's
point of view. The PC becomes no more than an elaborate terminal. All
of the data remains safe on the HP3000 - because it never really leaves
the HP3000. The PC's display becomes nothing more than an extension of
the HP3000's memory, in exactly the same way a terminal's display has
always been.
This is an exceptionally simple architecture, one that simply plugs
together, and one that has proven itself to be very rugged over 30 years
of use now. This simplicity means that the HP3000 can be used in an
office without a resident data processing staff. But more than that, it
means that if it works well in this environment, where reliability and
functionality are everything, it will work at least as well in those
environments where the largest HP3000s are used.
|