[comp.sys.mac.programmer] Philosophy of Scroll Bars

djvelleman@amherst.bitnet (01/04/91)

OK, you've got a document in a window with a scroll bar.  My question is:  How
far should the document scroll?  When the user scrolls all the way to the end
of the document, where should the last line of the document be in the window--
at the bottom of the window, or at the top?  Most programs seem to stop
scrolling when the last line reaches the bottom of the window.  Microsoft
Word scrolls until it goes off the top.
  The first option seems more natural at first, but it has some definite
disadvantages.  Suppose the user wants to edit the last paragraph of a long
document.  He scrolls to the end, and under option 1 the paragraph he wants
to edit appears at the bottom of the window.  Now he starts adding something
new to the middle of the paragraph, and immediately the bottom of the paragraph
disappears off the bottom of the screen.  If he wants to see the whole para-
graph while he's editing it, he has to keep scrolling.  Wouldn't it be easier
for him if he could scroll until the paragraph was in the MIDDLE of the window,
with white space below it?
  There's also a sticky point in option 1 when the user resizes a window.
Suppose the window is fairly small, and the user has scrolled to the end of
the document--i.e., the last line is at the bottom of the window.  Now the
user enlarges the window.  Should the application scroll the document so the
last line moves to the new location of the bottom of the window?  Some applica-
tions do this, but it seems a little strange to me for resizing to cause
scrolling.  The other option is to do what the Finder does:  Leave the bottom
of the document where it was, which is now in the middle of the window rather
than at the bottom.  If the user scrolls so the bottom of the document moves
down to the bottom of the window, readjust the scroll bar maximum to prevent
him from scrolling back.  This seems a little strange--why allow the user to
position the document a certain way by resizing, but prevent the user from
achieving the same positioning with the scroll bar?

  Is there an "official" position on this?  The only statements I could find
in the user interface guidelines in IM which seemed relevant are:
   "Sizing a window doesn't change the position of the top left corner of the
window over the document..."  (IM-I p. 47.)
   "If a document has a fixed size, and the user scrolls to the right or bottom
edge of the document, the application displays a gray background between the
edge of the document and the window frame."  (IM-I p. 48.)

  What do people think about this?  Enquiring minds want to know.

  Dan Velleman
  Math Dept.
  Amherst College
  Bitnet:  djvelleman@amherst

gourdol@imag.imag.fr (Gourdol Arnaud) (01/07/91)

Hi,

Here are according to me the behavior to follow :
1) When the scroll bar is set to the bottom, the last paragraph of
   the document should appear at the bottom of the window
2) When the user wants to add some text to the end of this last paragraph
   the window should scroll so that the new text keeps visible.
   This feature, known as auto-scrolling, is implemented even by
   Microsoft.
3) When the window is resized, if the last paragraph was at the bottom of
   the window, it should remain at the bottom of the window (thus 
   some portions of the text above are revealed).
   If the last paragraph was not visible, the portion of the text below
   should appear.
4) When there is a BAD THING or NOT STANDARD or VERY UGLY to do, 
   please follow Microsoft. If you want to do really Macintosh
   programs, please follow MacWrite 4.6, MacPaint 1 and 2, and MacDraw 1.9.5
   and II. Microsoft programs are not good examples, neither is
   HyperCard.

Arnaud.