Are UI developers all left handed? (Dale Amon)

Vernon Cole vernondcole at gmail.com
Sun Aug 12 18:26:36 UTC 2012


> On Thu, Aug 09, 2012 at 07:01:47AM +0200, David Klasinc wrote:
> > >I can tell you the historical reasons. All windowing systems
> > >began with their coordinate systems with 0,0 in the upper left
> > >because that is where the scan lines begin. Lines are written
> > >from left to right, top to bottom.
> >
> > Why the top left corner? I believe that even those historical
> > reasons are there for a, hehe, reason.
> >
> > It has nothing to do with the hand movement and in which direction
> > it is easier to move the mouse. Honestly, moving mouse to the left
> > or to the right feels pretty much the same to me. We're moving a
> > relatively small and light mouse, we're not rowing a boat.
> >
> > Focus is the key here. We are more focused on the top left corner
> > because (most of us) read from left to right and from top to bottom.
> > That is why putting everything in that corner is completely natural
> > and most ergonomic.
>
> The historical reasons have nothing to do with human factors and
> everything to do with the details of an electron beam scan in a
> CRT. Beams go left to right, flyback and scan lines go top to bottom
> on each frame. All the electronics (remember these kind of units
> were around when a large integrated circuit had an 8 bit shift
> register and most were TTL 7400 series... I suspect some even
> predated TTL. Characters were in hardware. There was one character
> set. The origin was upper left, the origin of the electron beam
> scan.
>
> Now, perhaps someone can dig back into the 1930's or earlier and
> find a reason for CRT's being left to right and top to bottom, but
> in the time frames we are talking about it is simply that technology
> builds on things that work and rarely is it worth the effort to
> go back and redo decades of engineering from scratch.
>
> You will always know that if you write to screen coordinate 0,0, it
> will be visible. Anything beyond that is an unknown.
>

Well, CRT's probably went left to right, top to bottom, because Philo T.
Farsworth
was American, and therefor was used to reading and writing in that
direction.
(My son once had a crush on Philo's granddaughter, BTW -- she was right
handed.)

None of that had anything to do with computers, though. Most early computers
did not use CRTs, which were too expensive and didn't display enough
characters
(40 wide by 12 down) to be very useful.   "Real" computers used teletypes.

Bell ASR33 teletypewriters printed left to right, because they were designed
to use English, and because they were basically typewriters. The had upper
case only, with the ASCII character set in hardware -- steel hardware. The
repairman's most important tool was an oil can. There was no electronics,
only gears, levers, switches, motors, and electromagnets.

The carriage return (CR) button returned the print cylinder to the left
margin.
The line feed (LF) button scrolled the paper up one row, so the print went
down.
There was no backspace, form feed, or tab. These were inexpensive
machines, and that is why they were used for console devices on most
computers, and consequently, why the console device on your *nix box
today is still called a "tty".

"ASR" stands for "Automatic Send Receive" which means that these units
were equipped with a paper tape reader and punch. An operator could
pre-punch a tape offline, using the "Rubout" key for editing.  Rubout
(binary 11111111, or octal 377, nobody referred to 0xFF or decimal 256)
punched holes in all eight columns of the tape, which the receiving tty
would ignore by sputtering, but not advancing the carriage. (You could
manually
backspace the TAPE, just not the CARRIAGE).  The pre-punched tape was
then placed into the reader, and the tty connected to the telegraph line or
radio transmitter, and the message sent out.  This allowed the message
to be transmitted at the full 110 baud rate of the machine, preserving
valuable bandwidth, and far surpassing the fastest telegraphers.

These machines were easy to adapt for computer consoles, then.  The paper
tape
punch would happily punch binary information, and you learned to ignore the
gymnastics of the print cylinder as it rattled against the right margin
while the
binary tape was being produced.  The operator could then enter a short
"bootstrap"
program into the core memory using the binary switches on the console, and
the tape reader would load the working program automatically and (usually)
perfectly. It required less than 15 minutes to completely load a 4K word
BASIC
interpreter program.  [Using a PDP-8 with 12 bit words.] Once the
interpreter was
running, you could read your BASIC program in using a paper tape, and
modify it
line by line.  Then, by listing the program with the punch turned on, you
made a new
(edited) copy.

In interactive use, the Rubout key changed definitions. Rather than being
ignored,
it was used to substitute for the non-existent backspace key. The
interactive program
would echo a backslant, then one rubbed-out letter for each keypress, so
you would
have a printed record of your errors and corrections:
SEE WHAT HAPPENS WHEN WE EDIT THIS\SIHT TIDE\CHANGE THAT.

The guys at Bell labs had better teletypes (their company made the things)
so when
they made the UNIX operating system, they made use of such modern
conveniences
as lower case letters, working backspace keys, and 80 character wide
carriages.
They could even assume that all of their computers would have disk drives,
and
that the operating system would always be there to add a carriage return if
you
stored your text file with only a linefeed at the end of each line.  And,
more and more
frequently, you would see people working with "glass teletypes" which used
CRT tubes
rather than paper.

Then someone in Palo Alto hooked a mouse to a glass teletype, and the world
changed again.

But the cursor still runs left to right, top to bottom.
--
Vernon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20120812/7ec1ace8/attachment.html>


More information about the Ubuntu-devel-discuss mailing list