[comp.sys.mac.system] ScrollBar design question

dmittman@beowulf.JPL.NASA.GOV (David Mittman) (06/20/91)

My office-mate repeatedly questions the wisdom of the Apple engineers
who designed the standard scrollbars. He would like to know why the
thumb (box) is not proportional, i.e. show how much information of the
total information content of the window is currently being displayed,
rather than positional.

					- David
					DMittman@Beowulf.JPL.NASA.GOV

P.S. Please respond via email, I'll summarize.

Adam.Frix@p18.f20.n226.z1.FIDONET.ORG (Adam Frix) (06/23/91)

dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:

DM> My office-mate repeatedly questions the wisdom of the Apple engineers 
DM> who designed the standard scrollbars. He would like to know why 
DM> the thumb (box) is not proportional, i.e. show how much information 
DM> of the total information content of the window is currently being 
DM> displayed, rather than positional. 

Maybe they wanted the Windows developers to have _something_ original to claim?

<BG>

--Adam--



****************************************************************
*  "...it was a lot easier to train a pilot to pick up         *
*   a rock, than train a scientist to land on the moon."       *
*   --Mark Berent, in _Steel Tiger_                            *
****************************************************************
*  CIS: 70721,504                                              *
*  America OnLine: AdamFrix                                    *
*  Internet: Adam.Frix@p18.f20.n226.z1.FIDONET.ORG             *
****************************************************************

 
--  
Adam Frix via cmhGate - Net 226 fido<=>uucp gateway Col, OH
UUCP: ...!osu-cis!n8emr!cmhgate!20.18!Adam.Frix
INET: Adam.Frix@p18.f20.n226.z1.FIDONET.ORG

jas@ISI.EDU (Jeff Sullivan) (06/25/91)

In article <305426.2865D1B9@cmhgate.FIDONET.ORG> Adam.Frix@p18.f20.n226.z1.FIDONET.ORG (Adam Frix) writes:

>dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:
>
>DM> My office-mate repeatedly questions the wisdom of the Apple engineers 
>DM> who designed the standard scrollbars. He would like to know why 
>DM> the thumb (box) is not proportional, i.e. show how much information 
>DM> of the total information content of the window is currently being 
>DM> displayed, rather than positional. 
>
>Maybe they wanted the Windows developers to have _something_ original to claim?
>

Windows doesn't do this, either.  Amiga does, however.

jas
--
--------------------------------------------------------------------------
Jeffrey A. Sullivan		| Senior Systems Programmer
jas@venera.isi.edu		| Information Sciences Institute
jas@isi.edu                    	| University of Southern California

shores@fergvax.unl.edu (Shores) (06/25/91)

In <305426.2865D1B9@cmhgate.FIDONET.ORG> Adam.Frix@p18.f20.n226.z1.FIDONET.ORG (Adam Frix) writes:


>dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:

>DM> My office-mate repeatedly questions the wisdom of the Apple engineers 
>DM> who designed the standard scrollbars. He would like to know why 
>DM> the thumb (box) is not proportional, i.e. show how much information 
>DM> of the total information content of the window is currently being 
>DM> displayed, rather than positional. 

>Maybe they wanted the Windows developers to have _something_ original to claim?

Not totally sure, but I don't think the WinDudes deserve credit for that
either;  AmigaDOS has had them for a long time, I think b4 Windows did.
There is, however, at least one custom CDEF that does this.  I haven't
been able to get my hands on it though.  I think it's called Slider
CDEF.  If anyone does have this, please send a copy to Sumex!


   Tom... Tommy... Thomas... the Tom-ster, the Tom-boy, the Tomminator...
   ... Tom Shores, Department of Mathematics, University of Nebraska.
   ... shores@fergvax.unl.edu

jbr0@cbnews.cb.att.com (joseph.a.brownlee) (06/25/91)

In article <shores.677812173@fergvax> shores@fergvax.unl.edu (Shores) writes:
>>dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:
>
>>DM> My office-mate repeatedly questions the wisdom of the Apple engineers 
>>DM> who designed the standard scrollbars. He would like to know why 
>>DM> the thumb (box) is not proportional, i.e. show how much information 
>>DM> of the total information content of the window is currently being 
>>DM> displayed, rather than positional. 
>
>Not totally sure, but I don't think the WinDudes deserve credit for that
>either;  AmigaDOS has had them for a long time, I think b4 Windows did.

Actually, I have seen Xerox applications that have this (most notably Ventura
Publisher), so I wonder if the old Xerox PARC stuff had them.  I must admit,
that this is one thing I wish Apple would have done differently, but I'm sure
that changing it now would probably cause problems for some programs.

-- 
   -      _   Joe Brownlee, Analysts International Corporation @ AT&T Bell Labs
  /_\  @ / `  471 E Broad St, Suite 1610, Columbus, Ohio 43215   (614) 860-7461
 /   \ | \_,  E-mail: jbr@cblph.att.com     Who pays attention to what _I_ say?
 "Scotty, we need warp drive in 3 minutes or we're all dead!" --- James T. Kirk

jfw@neuro (John F. Whitehead) (06/25/91)

dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:
> ...why the thumb (box) is not proportional, i.e. show how much information 
> of the total information content of the window is currently being 
> displayed, rather than positional. 

NeXT machines do this very nicely.  Not only do they show a proportional
thumb, but when you slide it, you see the window slide so you know 
exactly how much you need to move it!

If anyone has such a program, I would love to know how I can get it.

 ________________________________________________________________________
|   John      jfw@neuro.duke.edu          Duke University Medical Center |
| Whitehead   jfw@well.sf.ca.us           Department of Neurobiology     |
|____________ white002@dukemc (bitnet) __ Durham, North Carolina ________|

lamont@convex.com (Bradley Lamont) (06/26/91)

In <22430@duke.cs.duke.edu> jfw@neuro (John F. Whitehead) writes:

>... but when you slide it, you see the window slide so you know 
>exactly how much you need to move it!

For some reason, Apple chose not to do this.  It is part of the mac user
interface guidelines not to update the screen during scrolling when the 
"thumb" is being moved, only to update when the arrows are clicked.  
From the point of view of programming it in a new application, it is
extermely easy to do.  But adding it to existing applications would require
rewriting the scrollbar control routine.

Brad Lamont
-----------------------------------------------------------------------------
lamont@ux1.cso.uiuc.edu   The University of Illinois at Urbana/Champaign
lamont@trojan.convex.com   Convex Computer Corp.
-----------------------------------------------------------------------------


> ________________________________________________________________________
>|   John      jfw@neuro.duke.edu          Duke University Medical Center |
>| Whitehead   jfw@well.sf.ca.us           Department of Neurobiology     |
>|____________ white002@dukemc (bitnet) __ Durham, North Carolina ________|

peirce@outpost.UUCP (Michael Peirce) (06/26/91)

In article <22430@duke.cs.duke.edu>, jfw@neuro (John F. Whitehead) writes:
> dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:
> > ...why the thumb (box) is not proportional, i.e. show how much information 
> > of the total information content of the window is currently being 
> > displayed, rather than positional. 
> 
> NeXT machines do this very nicely.  Not only do they show a proportional
> thumb, but when you slide it, you see the window slide so you know 
> exactly how much you need to move it!

X does this too - at least the DECWindows variation thereof.

The problem with tracking the thumb in real time on the Mac is 
supporting those ever popular 68000 based machines.  No way are 
you going to be able to smoothly keep the window in sync with 
the thumb.

Given enough cycles and memory there is no reason that a Mac 
program couldn't implement this behavior. (I don't *think* it 
would be against UI guidelines (the thumb tracking, not the wierd
proportional thumb)...)

--  Michael Peirce         --   outpost!peirce@claris.com
--  Peirce Software        --   Suite 301, 719 Hibiscus Place
--  Macintosh Programming  --   San Jose, California 95117
--           & Consulting  --   (408) 244-6554, AppleLink: PEIRCE

fry@zariski.harvard.edu (David Fry) (06/26/91)

In article <lamont.677870839@convex.convex.com> lamont@convex.com (Bradley Lamont) writes:
>In <22430@duke.cs.duke.edu> jfw@neuro (John F. Whitehead) writes:
>
>>... but when you slide it, you see the window slide so you know 
>>exactly how much you need to move it!
>
>For some reason, Apple chose not to do this.  It is part of the mac user
>interface guidelines not to update the screen during scrolling when the 
>"thumb" is being moved, only to update when the arrows are clicked.  
>From the point of view of programming it in a new application, it is
>extermely easy to do.  But adding it to existing applications would require
>rewriting the scrollbar control routine.
>

Well, it's not generally applicable, but the 4-Plus
programmer's add on for THINK C features a "power thumb"
option that does just this for THINK C windows, so it's
certainly possible to add the feature via an INIT for at least
some applications.


David Fry                               fry@math.harvard.EDU
Department of Mathematics               fry@huma1.bitnet
Harvard University                      ...!harvard!huma1!fry
Cambridge, MA  02138            

keith@Apple.COM (Keith Rollin) (06/27/91)

In article <1991Jun25.124247.11023@cbnews.cb.att.com> jbr0@cbnews.cb.att.com (joseph.a.brownlee) writes:
>In article <shores.677812173@fergvax> shores@fergvax.unl.edu (Shores) writes:
>>>dmittman@beowulf.JPL.NASA.GOV (David Mittman) writes:
>>
>>>DM> My office-mate repeatedly questions the wisdom of the Apple engineers 
>>>DM> who designed the standard scrollbars. He would like to know why 
>>>DM> the thumb (box) is not proportional, i.e. show how much information 
>>>DM> of the total information content of the window is currently being 
>>>DM> displayed, rather than positional. 
>>
>>Not totally sure, but I don't think the WinDudes deserve credit for that
>>either;  AmigaDOS has had them for a long time, I think b4 Windows did.
>
>Actually, I have seen Xerox applications that have this (most notably Ventura
>Publisher), so I wonder if the old Xerox PARC stuff had them.  I must admit,
>that this is one thing I wish Apple would have done differently, but I'm sure
>that changing it now would probably cause problems for some programs.

You are correct that changing it now would cause problems. In order to
show a proportional thumb, you have know know the size of the view
you are scrolling, which isn't currently supported in the scrollbar
control interface.

By the way, Apple computers have had proportional thumbs since 1986. On the
Apple IIgs...

-- 
------------------------------------------------------------------------------
Keith Rollin  ---  Apple Computer, Inc. 
INTERNET: keith@apple.com
    UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith
"But where the senses fail us, reason must step in."  - Galileo

keith@Apple.COM (Keith Rollin) (06/27/91)

In article <lamont.677870839@convex.convex.com> lamont@convex.com (Bradley Lamont) writes:
>In <22430@duke.cs.duke.edu> jfw@neuro (John F. Whitehead) writes:
>
>>... but when you slide it, you see the window slide so you know 
>>exactly how much you need to move it!
>
>For some reason, Apple chose not to do this.  It is part of the mac user
>interface guidelines not to update the screen during scrolling when the 
>"thumb" is being moved, only to update when the arrows are clicked.  
>From the point of view of programming it in a new application, it is
>extermely easy to do.  But adding it to existing applications would require
>rewriting the scrollbar control routine.

There are three reasons that I can see that "live scrolling" wasn't
done.  The first reason is that the original Mac had only 128K of RAM
that doubled as a screen buffer, a 64K ROM holding routines optimized
for space and not for speed, and an 8MHz 68000. There just wasn't
enough horsepower to do that kind of scrolling.

Second, unless you are using something like MacApp, there is no uniform
way of performing coordinate translation. You can either munge the
window port's origin yourself, or you can keep it at (0, 0) and manage
your own local origin. There are probably other ways, too. Without
knowing the technique the application is using, there is no way for the
scrollbar to automatically scroll the window.

Third, again without something like MacApp, there is no way for the
scrollbar to know which areas to scroll.

The second two of these problems can be solved with a 'view system' as
implemented in MacApp. Coordinate translation is handled in a standard
way across all applications, and the bounds of the associated view to
scroll are easily available. For example, MacBrowse (nee Mouser),
MacApp's class broswer, implements live scrolling in its current
internal release.

-- 
------------------------------------------------------------------------------
Keith Rollin  ---  Apple Computer, Inc. 
INTERNET: keith@apple.com
    UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith
"But where the senses fail us, reason must step in."  - Galileo

dorner@pequod.cso.uiuc.edu (Steve Dorner) (06/28/91)

In article <54350@apple.Apple.COM> keith@Apple.COM (Keith Rollin) writes:
>There are three reasons that I can see that "live scrolling" wasn't
>done.
>for space and not for speed, and an 8MHz 68000. There just wasn't
>enough horsepower to do that kind of scrolling.

Amen.

>there is no way for the
>scrollbar to automatically scroll the window.
>
>again without something like MacApp, there is no way for the
>scrollbar to know which areas to scroll.

You and I must not be using the same scrollbars.  The scrollbars I
use have a hard time doing anything at all without me holding their
little arrows, much less knowing how to scroll part or all of my window.

I don't see how live scrolling is conceptually harder than handling presses on
one of the scroll-bar arrows; you'd handle it in pretty much the same way,
with a callback to the application, *IF* the hardware were fast enough.
I submit that the hardware is still NOT fast enough, except *perhaps* on a
ci or fx in 1 bit mode, for most applications.

I'm quite happy with live scrolling on my 25MHz 68040 box, but I just can't
see it on a 16MHz 68030, much less these 8MHz 68000's Apple is still selling
truckloads of.
--
Steve Dorner, U of Illinois Computing Services Office
Internet: s-dorner@uiuc.edu  UUCP: uunet!uiucuxc!uiuc.edu!s-dorner

shores@fergvax.unl.edu (Shores) (06/28/91)

In <54349@apple.Apple.COM> keith@Apple.COM (Keith Rollin) writes:
>You are correct that changing it now would cause problems. In order to
>show a proportional thumb, you have know know the size of the view
>you are scrolling, which isn't currently supported in the scrollbar
>control interface.

But you do know the size of the view most of the time.  Why couldn't the
scrollbar CDEF look at contrlMin, contrlMax, and contrlValue fields of
the control it's mangling?  I suppose that many applications are lazy
and don't update these fields as they should.  IMHO, the System 7 folks
should have added proportional thumbs while they had the chance, since
many developers are in the process of making their stuff 7.0 friendly.

   Tom... Tommy... Thomas... the Tom-ster, the Tom-boy, the Tomminator...
   ... Tom Shores, Department of Mathematics, University of Nebraska.
   ... shores@fergvax.unl.edu

keith@Apple.COM (Keith Rollin) (06/28/91)

In article <shores.678054739@fergvax> shores@fergvax.unl.edu (Shores) writes:
>In <54349@apple.Apple.COM> keith@Apple.COM (Keith Rollin) writes:
>>You are correct that changing it now would cause problems. In order to
>>show a proportional thumb, you have know know the size of the view
>>you are scrolling, which isn't currently supported in the scrollbar
>>control interface.
>
>But you do know the size of the view most of the time.  Why couldn't the
>scrollbar CDEF look at contrlMin, contrlMax, and contrlValue fields of
>the control it's mangling?  I suppose that many applications are lazy
>and don't update these fields as they should.  

Yes, you could make a guess at the size of the view in pixels. You
could also look at contrlMin, Max, and Value. However, you don't know
what units are being used for the control values. Are they in pixels?
Are they in lines of text? Are they in units of 10 pixels? Are they in
something else? Unless you can make that determination, you can't get a
proportional thumb to be aesthetically correct. I've seen and used INITs
that implement proportional thumbs, but they never work uniformly well.

-- 
------------------------------------------------------------------------------
Keith Rollin  ---  Apple Computer, Inc. 
INTERNET: keith@apple.com
    UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith
"But where the senses fail us, reason must step in."  - Galileo