21

I came across a link to a site that shows the history of the scroll bar. While the content of the site is pretty thin and devoid of explanation, it does show Xerox Star, Lisa, Mac, Amiga, Windows, NeXT over a few years.

I've never used a Xerox machine, but based on the aforementioned web page, it looks like that if it wasn't the Xerox Star then it was the AmigaOS that first had a proportionally-sized slider in the scroll bar.

What I mean by a proportionally-sized "slider" in the scroll bar is that if the document is small, then the slider is large and barely has room to move in its boundaries. If the document is large, it proportionally shrinks down. A non-proportionally-sized slider is always the same size regardless of the height of the document. An example of the non-proportional slider is classic MacOS or Windows 1.0 through 3.1 where the slider was a nugget and would jump significantly for a smaller document being scrolled because its boundaries were massive in comparison to its size and it had to make up for the representation of whether you were at the beginning or end of a document.

Today it seems that all scroll bar sliders are proportionally-sized. So the question comes down to what was the first GUI / windowing / operating system that supported the proportionally-sized slider?

user3840170
  • 23,072
  • 4
  • 91
  • 150
bjb
  • 16,259
  • 46
  • 141
  • 13
    FWIW, DR's GEM had proportional scrollbars and was released a few months before the Amiga. – Alex Hajnal Nov 03 '21 at 20:19
  • 2
    That site fails to mention much outside the "personal computer" area. My first guess for proportional scrollbars would have been Motif in the late 1980s. – dave Nov 03 '21 at 21:30
  • That's for a lot (most?) of windowing systems not a function of the OS/Windowing system, but rather the applications. The windowing API exposes interfaces to set the height and position of the slider. (How should the OS know to what extent the container/window is "filled"? It normally only cares about the visible part) – tofro Nov 03 '21 at 21:45
  • 2
    @tofro, I've used at least one windowing framework in which the easy way to get a scrollable view was for the application to create a "canvas" that was tall enough to hold the entire content, stick it in a "scroller," and let the windowing system have full control of scrolling/paging. The application's only responsibility would be to (re)draw whatever sub-rectangle of the canvas when the window system sent it a "paint" request. – Solomon Slow Nov 04 '21 at 00:08
  • @SolomonSlow You mean an application like MS Word that holds the complete document in the windowing system? Unlikely. Such approaches are fine when the "canvas" is only marginally (i.e. max like 2-5 times window size) larger than the visible window or memory isn't a premium (which it used to be on early windowing systems). Every windowing system must thus give the application the capability to controll scrollbars and thumb sizes. The approach you're pointing out is possible and usable (and, admittedly, used sometimes) for small canvas sizes - but "real" applications don't work like that. – tofro Nov 04 '21 at 06:32
  • ... there might be convenience functions in modern windowing systems that handle scrollbar thumb sizes in specific cases for you (like, for example, in list boxes), but in the generic case they still need to be handled by the application, even today. – tofro Nov 04 '21 at 06:55
  • @Alex Hajnal true, and DR was sued by Apple over this. PC-GEM did not have proportional sliders but Atari GEM (which was exempt from the lawsuits prescription) still had them. This also shows that Apple was, in that case, earlier with it. – Patrick Schlüter Nov 04 '21 at 08:10
  • @PatrickSchlüter: PC-GEM retained proportional scrollbars even after the Apple lawsuit - you can see them in the screenshots at http://www.seasip.info/Gem/History/gem2.html – john_e Nov 04 '21 at 09:13
  • 1
    @another-dave Athena also has a proportional scroll bar. It's older than Motif, but I don't know for sure that it had its current scroll bar look from the start. – Gilles 'SO- stop being evil' Nov 04 '21 at 10:03
  • 1
    @PatrickSchlüter The lawsuit resulted in GEM v2 for x86 being restricted to using one or two non-overlapping windows on the Desktop. The windows could either be half- or full-height and went the width of the screen. Scrollbars weren't affected (as it was, MacOS didn't support variable size ones until OS X). The Atari version of GEM had no such restrictions; it allowed up to 4 arbitrarily sized windows with arbitrary overlap. – Alex Hajnal Nov 04 '21 at 10:30
  • 2
    @tofro: There's no reason why telling the window system the size of the canvas would mean the application has to hold the entire document in memory. Some systems do function in exactly the way Solomon Slow describes - for example, in RISC OS you provide the coordinates of the "work area", and the window system sets the scroll bars automatically (and sends you events telling you what you need to draw and where). – psmears Nov 04 '21 at 10:46
  • @Alex Hajnal the limit of 4 was only for the GEM desktop. Applications could open up to 7 windows if they wished so. It was strongly discouraged to do so though and most programs behaved to avoid problems with accessories (which would need one of the windows). That restriction was lifted with MultiTOS. – Patrick Schlüter Nov 04 '21 at 15:28
  • @PatrickSchlüter You're totally correct. I should have dug out a reference rather than going by memory. – Alex Hajnal Nov 04 '21 at 15:32
  • 2
    The Neptune browser on the Xerox Alto had an invisible scroll bar. Since it was invisible, you could claim that it was proportional, and no one could prove the opposite... -- Thanks, I'll see myself out. – Klaws Nov 05 '21 at 10:15
  • As a tangentially related note, can anyone confirm or deny if scrollbars in GEOS were proportional? I'm just curious. – Geo... Nov 05 '21 at 15:48
  • @another-dave - Amiga was mid 80's (I bought mine in late 1984), so info in the question itself already disqualifies anything from the late 80's. – T.E.D. Nov 06 '21 at 17:31
  • @T.E.D. Amiga came out end 85. You couldn't have bought yours in 84. – Patrick Schlüter Nov 08 '21 at 06:42
  • @PatrickSchlüter - You're correct. I just checked with my wife (who was my GF and the time, and with me when I paid for it), and she says I bought it in December of 1985. – T.E.D. Nov 08 '21 at 13:30

3 Answers3

28

Can't say I know for sure. But I'll ante up Smalltalk 80 (or even earlier, ST-72, 76, 78).

enter image description here enter image description here

Will Hartung
  • 12,276
  • 1
  • 27
  • 53
25

The MIT CADR Lisp Machine, developed in the late 1970's, had proportional scroll bars.

I haven't been able to find a screenshot of an actual Lisp Machine that shows this -- I can only find images and youTube videos of emulators running on Macs and Linux; these run Open Genera, a later port of the Symbolics Genera OS, which was evolved extensively beyond the original design. But I did find this description in early documentation, from page 25:

The other scrolling feature is the scroll bar. The left edge of the Editor window resists violation in the same way as the scrolling zones do, but in this case the mouse cursor changes to a double-headed arrow pointing up and down. In addition, a thin line appears somewhere along the left edge, just inside the border and parallel to it. The length of this line and its position with respect to the entire left edge are in proportion to the length and position of the Editor window with respect to the entire Editor buffer.

There's no date on the document, but I arrived at MIT in fall of 1979, and these Lisp Machines were already in use at the time.

Another feature of the Lisp Machine UI that only reappeared recently was that moving the mouse back and forth rapidly would cause the mouse pointer to magnify. Apple added this in El Capitan. I don't have the documentation of this feature handy, but IIRC it warned that this would scare young children.

Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
Barmar
  • 1,920
  • 13
  • 18
  • 3
    I can confirm this. I had the opportunity to play a little with one of these back in 1987. The small "History of Computing" display/museum at the data-center of my university had one of these lying around. I volunteered as a guide in the museum when the Queen (Beatrix of the Netherlands) made a visit in 1987 and I got a crash-course to operate it in order to demonstrate. The machine was presented as "one of the first machines with a graphical user-interface". It was sitting right next to an Amiga 500, running a gfx/music demo, that was far more appealing. – Tonny Nov 04 '21 at 15:30
  • 3
    +1, excellent find and well-documented. For anyone else wondering at the bizarre word choice in this quotation, “resists violation” here means “won’t let the mouse leave the window across that edge,” as the preceding paragraphs discuss in greater detail. – KRyan Nov 04 '21 at 22:11
  • @KRyan - thanks for that clarification because it was not obvious what that meant! – davidbak Nov 04 '21 at 22:28
20

Smalltalk-80 is the earliest that I'm aware of.

The following emulator1, 2 screenshot shows how it displayed them: Smalltalk-80 screenshot

This emulator3 screenshot shows how the earlier Smalltalk-78 displayed them differently: Smalltalk-78 screenshot

1 If you get build errors run ln -s . Smalltalk before running make.

2 Alternatively, you can use this browser-based emulator.

3 Alternate link to the Smalltalk Zoo where there are a number of other emulators available.

Alex Hajnal
  • 9,350
  • 4
  • 37
  • 55