[net.cog-eng] How do you tell users to press RETURN every so often?

dave@utcsrgv.UUCP (Dave Sherman) (11/10/83)

I have a problem with a specific explanation for novices (law students).

In the CAI I have developed which teaches law (income tax), there
is a "comment" routine which invites the student to make comments,
suggestions, criticisms, etc. It can be invoked by the student at
any time in the program (by interrupting with ESC and then selecting
"Comment" from a menu), and it is automatically invoked when the
student signs off. (I.e., they can't get away from the machine without
first giving their reactions to the session.)

Comments are typed in and recorded line by line. To signify the end of
a comment, the student types DONE on a line by itself. (I also accept
"done", "Done" and ".")

The problem I have is with people who aren't used to pressing RETURN
at the end of every line, and type in whole paragraphs nonstop. Some
of them are used to word processors where one does such things, and
so of them just don't know any better and have no model to follow.
The problem is that the tty driver on the 11/23 (v7) throws away
a whole buffer without warning when over 256 chars are typed, and
I lose most of the comment.

What is an effective way of telling them to press RETURN? I currently have:

	OK, <student-name>, type your comments in, and press RETURN
	at the end of each line.
	If you don't press RETURN after every few words,
	your comment will not be properly recorded.

The last two lines are highlighted with a dazzling white background on
the VT100.

It seems that I'm still getting a few people who type away without pressing
RETURN. I also get
some who type like
this because they
don't know how
many words is
"a few".

Any suggestions for better wording? I've thought of
	If you type more than 256 characters without pressing
	RETURN, ...
or s/256/80/, but I don't want to start students counting letters
(assuming they know what a "character" is).

Should I use a technical means of bypassing the problem? I have considered:
1. Changing the VT100's to turn off wraparound at end of line, so the student
   would see the comment not being echoed and would press RETURN. (This
   probably wouldn't break anything else, but you can never be sure.)
2. Putting the tty line into cbreak mode, and implementing character-erase
   (backspace) in my comment-reading software. (Any lines over 256 chars
   which were typed in might give my editor problems, though, when
   I edit the file to add my annotations to the comments.)
3. Hacking the terminal driver to spit the 256 characters into a file
   somewhere rather than throwing them away. (!)
4. Hacking the terminal driver to use a buffer large enough to avoid
   the problem (say 1024 bytes).

All comments appreciated, whether on the net or by direct mail.


Dave Sherman
The Law Society of Upper Canada (utcsrgv!lsuc!dave)
Toronto
-- 
 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsrgv!dave

jfarrell@sun.UUCP (Jerry Farrell) (11/11/83)

This started as a flame, which got doused when I saw the magic characters
"11/23" in your message.  But still:

Your users are right; your system is wrong.  I recognize you may not be able to
change the system, and so may have to compromise, but as far as possible, you
should let people type text without having to notice and terminate lines.  Unix'
insistence on carrying the hard line-break nature of its implementation out to
its user interface is pervasive and perverse.  It's a crock that I have to
keep looking at the screen to see whether I've overflowed the line (or have the
damn thing feeping at me all the time); it's a crock that vi CAN NOT find the
string "to change" above, and the number 80 is a crock -- Hollerith & Watson
have cursed us even unto the 5th generation.

Worse yet, think what happens when you get a reasonable window system, where
the width of the window in which you read the text may not be the same as the
one it was composed in, and neither is guaranteed to be 80 characters --
especially if we start using ever-so-much-more legible variable-pitch fonts.

Coming back to earth, it seems cbreak is your best bet for now -- you should be
bale to accumulate characters at your own rate, insert a CR if you really have
to, and not bother the poor user with doing the machine's job for it.

[More line lossage: bale => able two lines above.]

tim@minn-ua.UUCP (11/19/83)

  I would read in everything form the keyboard character by character.
On an 11/23 you should be able to get away with that depending on 
how you do multiplexing or whatever.  Then you could count the number
of charictors input since the last return.  If it is say over 70, you 
could generate your own return the next time the user presses the 
space bar.

guido@mcvax.UUCP (Guido van Rossum) (11/28/83)

What wonders me in this discussion (though I appreciate the replies
that suggest to read everything is CBREAK mode), is that no one
came up with the answer `suggest a TYPEWRITER as model'.  Surely
this kind of apparatus and its use are known to most people, and
surely on a typewriter you have to watch out for the end of the line!

smh@mit-eddie.UUCP (Steven M. Haflich) (11/30/83)

	What wonders me in this discussion (though I appreciate the replies
	that suggest to read everything is CBREAK mode), is that no one
	came up with the answer `suggest a TYPEWRITER as model'.  Surely
	this kind of apparatus and its use are known to most people, and
	surely on a typewriter you have to watch out for the end of the line!

I admire this cogent and meritorious suggestion, yet I find it
unsettling:  I can't remember the last time I actually *used* a real
paper-and-platen typewriter!  I cannot count the nearby Diablo which we
use for "letter-quality" output, as no human ever uses its keyboard.  I
imagine there are children who have logged many hours on a glass tty
but who have *never* used a real typewriter!  The increasing-common
feature of automatic break at end-of-line might render this suggestion
absolutely opaque.

So why does it bother me?

Steve Haflich

tjt@kobold.UUCP (T.J.Teixeira) (11/30/83)

Although "suggesting a TYPEWRITER as model" seems like a good idea, it
suffers from another problem.  A typewriter rings a bell when you get
near the right margin.  UNIX does not (and if it did, I think most
people would rip it out -- I recall using at least one terminal that
*did* ring the bell near the right margin and it was annoying to hear
it ring all the time).

P.S. my son has logged some time on a real typewriter too, but a glass
tty is more durable.
-- 
	Tom Teixeira,  Massachusetts Computer Corporation.  Westford MA
	...!{ihnp4,harpo,decvax,ucbcad,tektronix}!masscomp!tjt   (617) 692-6200

dave@utcsrgv.UUCP (Dave Sherman) (12/02/83)

Tom Teixeira points out that the terminal isn't like a typewriter in that
there's no bell. Well, I started this whole discussion and in fact the
students on my system are using VT-100's, which have an optional bell.
So in fact I could set the terminals to beep when the student gets near
the end of the line. (Have to do it physically, unfortunately - that's
not a mode you can download from the host.)

Dave Sherman
The Law Society of Upper Canada
Toronto
-- 
 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsrgv!dave

chris@alberta (12/04/83)

When using most typewriters, it is physically impossible to type more letters
when the end of the current line is reached - the user MUST type a return in
order to continue. Not so with most terminals. Thus, the beginning computer
user doesn't receive a strong incentive to type a return at the end of each
line. I suspect also that most people, even beginners, have a model of a CRT
screen based on the television, in which the position of letters, etc. on
the screen is quite arbitrary. Thus again, they are not immediately led to
the line-by-model which the typewriter quickly leads them to.

	Chris Gray
	...uw-beaver!ubc-vision!alberta!chris

ntt@dciem.UUCP (Mark Brader) (12/07/83)

	What wonders me in this discussion (though I appreciate the replies
	that suggest to read everything is CBREAK mode), is that no one
	came up with the answer `suggest a TYPEWRITER as model'.  Surely
	this kind of apparatus and its use are known to most people, and
	surely on a typewriter you have to watch out for the end of the line!

Another objection here is that RETURN does not mean the same thing on a
typewriter as on a terminal, or at least it is not used the same way.
For one thing, it is also a continuation mark -- you use it when you're
typing a paragraph that does not fit on one line.  For another thing,
if you're using the typewriter to fill out a printed form, you may well find
yourself directly positioning the "cursor" by grabbing the carriage and
moving it, which may be a much easier operation since you can move in two
dimensions.  And answering a prompt is somewhat analogous to filling out a form.

This point about RETURN not meaning the same thing, and other false analogies,
were covered in a paper presented at the Human Factors in Computer Systems
conference (NBS and ACM SIGCHI, I believe) in March 1982, but I can't
remember the author(s) to give proper credit.

jack@rlgvax.UUCP (Jack Waugh) (12/10/83)

By the time your article got here, dciem!ntt (Mark Brader), the beginning
was chopped off.  Net lore has it that to prevent that's happening, you
make sure the first line of your message is not blank.

In the part of your submission that did arrive, you mention an article.
I think the full reference to the article you mean is:

	"Analogy Considered Harmful", by F. Halasz & T. Moran.
	Proceedings of the March 15-17, 1982 Human Factors in
	Computer Systems conference, page 383.

The conference was sponsored by the Institute for Computer Sciences
and Technology of the NBS, along with the DC chapter of ACM.