throbber
Consommation et
`Affalres commerciales Canada
`
`Consumer and
`Corporate Affairs Canada
`
`Bureau des brevets
`
`Patent Office
`
`Ottawa. Canada
`r«Aoc9
`
`5
`
`(51)
`
`INTL.CL. G09G-005/34
`
`(21)
`
`(A1)
`
`2,059,893
`
`(22)
`
`(43)
`
`1992/01/27
`
`1992/09/13
`
`9'E/9‘l.I0'S
`
`(19) (CA) APPLICATION FOR CANADIAN PATENT (12)
`
`(54) Method of Scrolling a Display Window
`
`(72) Tecot, Edward M.
`
`— U.S.A.
`
`(73) Apple Computer, Inc.
`
`-'U.S.A.
`
`(30)
`
`(US) 667,994 1991/03/12
`
`(57) 5 Claims
`
`Notice:
`
`This application is as filed and may therefore contain an
`incomplete s ecification.
`I9
`
`_
`
`a,
`
`CCA 3254 (1092) 41 7530-21-966-3254
`
`APPLEINC.
`EXHIBIT 1015 - PAGE 1
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 1
`
`

`

`Mark Aaker, MS 38-!
`Apple Computer, Inc.
`20525 Man’ani Avenue
`Cupeflino, CA 95014
`
`PATENT
`Attorney Docket No.: P428
`
`ABSTRACT
`
`A method of scrolling a display window which employs a continuously increasing
`rate of scrolling over time, such as an exponential curve.
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 2
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 2
`
`

`

`Mark Aakef. MS 38-!
`Apple Computer, Inc.
`2:525 Mariani Avenue
`Cupenino, CA $014
`
`PATENT
`Attorney Docket No.: P428
`
`METHOD OF SCROLLING A DISPLAY WINDOW
`
`BACKGROUND OF THE INVENTION
`
`This invention relates to a method of scrolling a display window displayed on a
`computer screen.
`
`Figure 1 shows an example known in the art of a display window with controls for
`scrolling the window. Figure 1 shows apdisplay window as they appear on the Apple
`Computer, Inc. Macintosh family of computers. (Macintosh is a Registered
`Trademark of Apple Computer, Inc.)
`
`the display window has a viewing area 10 in which text or graphical
`In Figure 1,
`objects are displayed. Across the top of the window are a title bar 12, title 14, and a
`close box 16. Across the right side of the window are a scroll bar 20, having a _scroll
`arrow 22 for upward scrolling, a scroll box 24, and a scroll arrow 26 for downward
`
`scrolling. A size box 28 allows adjustment of the window size. Across the bottom of
`the window are a scroll bar 30 for horizontal scrolling of the active window area 10,
`and a size box 32 for adjusting the size of the window. Various parts of the window
`can be controlled or adjusted by use of a pointing device, such as a mouse, which
`
`moves a cursor on the display. A button on the mouse can be used to select or
`
`"click" on the controls or boxes of the window.
`
`Scroll bar 20 is used to control which part of a document or object is shown in the
`viewing area 10. The position of the scroll box 24 within the scroll bar 20 represents
`the relative location of the portion of the document currently visible inside the
`viewing area 10 to the entire document. As the user uses the scroll bar 20 to move
`
`the document under the viewing area 10, the position of the scroll box 24 moves
`correspondingly.
`If the document can fit entirely within the viewing area 10, the
`scroll bars become inactive, and are not displayed.
`
`2
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 3
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 3
`
`

`

`Mark Aaker, MS 38-!
`Apple Computer. Inc.
`20525 Maliani Avenue
`Cupenino, CA 95014
`
`PATBVT
`Attorney Docket No.: P428
`
`There are three ways to move the document under the window: by sequential
`scrolling, page by page scrolling, and by directly positioning the scroll box.
`
`In sequential scrolling, the user clicks on a scroll arrow 22 or 26 to see more of the
`
`document in the direction of the scroll arrow, so it moves the document in the
`
`opposite direction from the arrow. For example, when the user clicks the top scroll
`arrow 22, the document moves down, bringing the view closer to the top of the
`document. The scroll box 24 moves toward the arrow being clicked.
`
`Each click in a scroll arrow 22, 26 causes movement a distance of one unit in the
`
`chosen direction, with the unit of distance being appropriate to the application: one
`line for a word processor, one row or column for a spreadsheet, and so on. Within a
`document, units should always be the same size, for smooth scrolling. Pressing and
`holding down on the scroll arrow causes continuous movement in its direction.
`
`In page by page scrolling, clicking the mouse anywhere in the gray area of the scroll
`bar advances the document in steps window by window through the document.-
`The scroll box, and the document view, move toward the place where the user
`clicked. Clicking below the scroll box, for example, brings the user the next window
`toward the bottom of the document. Pressing in the gray area of the scroll bar 20
`keeps windows flipping by until the user releases the mouse button, or until the
`
`location of the scroll box 24 catches up to the location of the pointer. Each window is
`the height or width of the window, minus one unit overlap (where a unit is the
`distance the view scrolls when the scroll arrow is clicked once).
`
`In both the above schemes, the user moves the document incrementally until it's in
`the proper position under the window; as the document moves, the scroll box 24
`
`moves accordingly. The user can also move the document directly to any position
`simply by moving the scroll box 24 to the corresponding position in the scroll bar 20.
`In directly positioning the scroll box 24, the user drags it along the scroll bar 20; an
`outline of the scroll box 24 follows the pointer. When the mouse button is released,
`
`the scroll box 24 jumps to the position last held by the outline, and the document
`
`3
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 4
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 4
`
`

`

`Mark Aakar. MS 38-!
`Apple Computer. Inc.
`2:525 Mariani Avenue
`Ctperiino, CA 95014
`
`PA7BVT
`Attorney Docket No.: P428
`
`jumps to the position corresponding to the new position of the scroll box 24.
`
`When sequential or page by page scrolling is used, two methods of controlling the
`speed of the scrolling of the display window are known:
`
`(1). Scrolling speed is set to a constant rate. However, this may be too fast for fine
`positioning of a document in the window, and be too slow for traversing a long
`distance in a long document.
`
`(2). Employ a linear acceleration of scrolling over time. Scrolling begins at a slow
`rate, which is suitable for fine positioning, and the scrolling rate increases as the
`scrolling continues. Eventually a maximum rate is reached at which along distance
`in a long document can be traversed in a timely manner. However with a linear
`
`acceleration it can take a significant period of time to transition from the minimum
`
`starting speed to the maximum ending speed, since the differences between these
`
`rates can be quite large. In fact, it is desirable that the differences between these rates
`
`be quite large, providing the least possible rate for fine positioning, and the
`maximum rate which can be sustained by the computer for the maximum rate.
`
`Neither of these methods of controlling the speed of the scrolling of the display
`window have proven to be entirely satisfactory, and other methods of incorporating
`additional ”speed controls” have also proven to be clumsy and unsatisfactory.
`
`SUMMARY OF THE INVENTION
`
`This invention provides a method of scrolling a display window displayed on a
`computer screen. Scrolling begins at a minimum value suitable for fine
`
`positioning. The rate of scrolling automatically accelerates as the user continues a"
`scroll, at a continually increasing rate (e.g., exponential ). The rate of scrolling
`quickly reaches a maximum value suitable for travel over long distances. The
`transition between the minimum and maximum values of scroll speed occurs
`‘ quickly compared to linear acceleration, and occurs without abrupt changes in speed
`
`4
`
`APPLE INC.
`
`EXHIBIT 1015 - PAGE 5
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 5
`
`

`

`Mark Aakar. MS 38-!
`Apple Computer, Inc.
`26525 Mariani Avenue
`Clpeifino. CA 95014
`
`PA7'ENT
`Attorney Docket No.: P428
`
`which disturb the user's control of the scrolling operation.
`
`The method of this invention is implemented by having a scrollable display
`window on a computer screen, with scrolling controlled by a user-activated pointing
`device. The initiation of scrolling by the user is detected and scrolling is established
`at a defined minimum rate V(MIN). The passage of time from the initiation of
`scrolling is measured, and if scrolling is still activated, the rate of scrolling is
`increased at a continuously increasing rate (such as exponential), until a defined
`maximum scrolling rate V(MAX) is reached.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Figure 1 shows an example known in the art of a display window with controls for
`scrolling the window.
`
`Figure 2 shows a graphical representation of methods of automatically increasing
`scrolling speed over time.
`
`DETAILED DESCRIPTION
`
`Figure 2 shows a graphical representation of methods of automatically increasing
`scrolling speed over time. The vertical axis measures scrolling rate V from a
`minimum rate V(MIN) suitable for fine positioning in individual unit steps, to a
`maximum rate V(MAX) which can be supported by the computer and is suitable for
`travel over long scrolling distances. The horizontal axis measures time T from the
`
`beginning of a scrolling operation.
`
`In Figure 2, curve L shows the scrolling rate for a known method which employs a
`linear acceleration of scrolling over time. Scrolling begins at V(MIN) and increases
`linearly over time to V(MAX), reaching V(MAX) at a time T(L).
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 6
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 6
`
`

`

`Nlark Aaker. MS 38-!
`Apple Computer. Inc.
`2:525 Marfani Avenue
`Ccperrino, CA 95014
`
`PATHVT
`Attorney Docket No.: P428
`
`In Figure 2, curve E shows the scrolling rate for a method in accordance with this
`
`invention which employs a continuously increasing rate of scrolling over time,
`such as an exponential curve. Scrolling begins at V(MIN) and increases
`
`exponentially over time to V(MAX), reaching V(MAX) at a time T(E).
`
`Note that THE) is less than T(L), therefore the method of this invention reaches the
`
`maximum scrolling rate without as great a delay to the user, and thereby allows
`
`traveling long distances in a long document in less time.
`
`Note also, for fine positioning, that curve B remains at low scrolling rates for a
`
`longer period of time than curve L, making fine positioning easier for a greater
`period of time with the method of this invention.
`
`While in the preferred embodiment uses an exponential increase in the rate of
`
`scrolling, other steeply curved increasing functions can also be used, as well as other
`
`methods of approximating such curves, as by piece—wise approximation. In
`
`particular, for digital computer systems, a digitally quantized approximation to the
`curves may be simpler to implement.
`In other embodiments, analog circuitry can
`easily generate exponential and other waveforms by the charging of resistor-
`
`capacitor combinations by fixed or varying applied voltages.
`
`In a further embodiment, as the scrolling rate approaches V(MAX), the rate of
`
`increase can be slowed, so as to merge smoothly into the maximum rate V(MAX).
`
`This would tend to make curve B look more ”S" - shaped as in curve S of Figure 2.
`This prevents an abrupt stop to the rate of acceleration which could be disturbing to
`the user.
`
`In another embodiment, the scroll distance is increased over time, i.e., the scrolling
`begins by scrolling the window in small unit steps or increments at first, and the size
`
`of the steps is continuously increased as scrolling continues. This embodiment
`
`could be illustrated by the curves of Figure 2 by labeling the vertical axis to measure
`
`scroll distance per step.
`
`' APPLE INC.
`EXHIBIT 1015 - PAGE 7
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 7
`
`

`

`Mark Aaker, MS 38-!
`Apple Computer, Inc.
`20525 Man'ani Avenue
`CLp9I!ino, CA 95014
`
`PATENT
`Attorney Docket No.: P428
`
`In yet another embodiment, the contents of the window are updated at a defined
`maximum time interval, and this interval is decreased at a continuously increasing
`rate as scrolling is continued. This embodiment could be illustrated by the Curves of
`Figure 2 by labeling the vertical axis to measure an update time interval which
`decreases in the upward direction of the vertical scale.
`
`Note that these last two embodiments are directly based upon the basic definition
`of velocity (or rate), namely, distance over time. In order to change the velocity of
`scrolling perceived by the user, the method must either alter the apparent distance
`traveled, or the apparent time between updates, or both.
`
`Table I shows the programming instructions for implementing automatic control of
`scrolling speed in accordance with this invention. These instruction are written
`
`from the standpoint of system software, that is to say, independent of the
`mechanism that produces the actual scrolling (either software or hardware). These
`
`instructions use elapsed time since the start of scrolling to determine the
`appropriate time to delay until it is time to scroll the next increment. The
`
`instructions, variables, constants, and comments provided in Table I may be of
`relevance only to programming for the Apple Macintosh family of computers.
`Those skilled in the art may wish to refer to "Inside Macintosh, Volumes I - V”
`
`published by Addison-Wesley Publishing Company, Inc., Copyright 1985 - 1990, for
`reference in interpreting the instructions of Table 1. Other useful references may be
`the ”Macintosh Programmer's Workshop Assembler Reference Manual (Revision
`
`3.0 ” published by Apple Programmer's and Developer's Association, APDA
`#M002LL/A, Copyright 1988, and the “Motorola M68000 8-, 16-, 32-Bit
`
`Microprocessor's Programmer's Reference Manual” published by Prentice Hall,
`Copyright 1986.
`
`These and other embodiments and implementations will be apparent to a person
`skilled in the art from a consideration of the specification, drawings, and claims.
`It
`is intended that the scope of the invention be limited only by the scope of the
`following claims.
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 8
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 8
`
`

`

`2859893
`
`lzcmsvislblez XNTECER): Osilrr
`l‘UNCT10.\1 ScrollDclay(starI.'1‘icks, acLionTic|1s: LONCINT:
`nLarLTlck:
`is the time the scrolling started. usually (rom the mouse down event.
`acLionTiI:k::
`is the lime that began this particular scroll action.
`.
`itcmsvisiblo is the number oi
`items visible in the list, 0 if unknown.
`Scrolloclay
`
`sdframe
`returnhdd ress
`itemsvisibie
`actionflcks
`startficks
`result
`
`RECORD
`DS. L
`DS_w
`DS.L
`DS.i.
`DS.H
`ENDR
`
`EQU
`Pirstvalue
`EQU
`Knox-nsndvalue
`Unknown!-Zndvalue EQU
`Dncayvalue
`E00
`llnounconst
`E00
`Unknounconst
`EQU
`
`Number of ticks to begin with.
`Number of ticks to end with, when the list size is known.
`Number of ticks to end with. when the list: size is unknown.
`‘fine to decay from Startvalue to Endvaiue.
`108
`Decayvaiue I (firstvaine - Knounfindvalue)
`Decayvalue I (I-‘irstvaiue — vnknounandvalue)
`
`Calculate the time to wait until. Endvalue is the number of ticks to end with: Knounandvalue
`if the list size is known, Unknounlindvalue it unknown. The equation is:
`Decayvalue
`Delay - acl:ion‘i‘icks + Endvalua + ————------------------------------------------ —-
`‘
`Decayvalue
`cactionticks -- startticks) + -------------------------
`Firstvaiue — Endvaiue
`
`eunknoun
`
`ieaicbeiay
`
`sdfraue
`WITH
`result (59)
`CLRJI
`itensV1si.b1e{SP)
`‘i‘S‘i'.H
`Eunknovn
`8510.5
`Movie. I. lxnounandva lue, D0
`HOV-IE0- L lknownconst , D1
`BRA. S
`Ecalcbe lay
`
`No error.
`Know the number or items visible?
`No, skip this part.
`Endvalua - Knountndvalue
`For speed
`
`noutonono
`
`MOVEQJ. lunknovnandvalue, D0
`MOVSQJ. lunknownconst, In
`
`Endvaiue - Dnknounandva lue
`For speed
`
`HOVEJ. actiontlcks (SP), D2
`ADDJ.
`D2, D0
`nDD.L
`D2, D1
`sUB.I.
`startfickstsk), D1
`HOVE.Q.L lbecayvalue, D2
`DIVU
`D1, D2
`EX'i‘.I.
`D2
`ADDJ.
`D2, Do
`
`D0 - action‘i‘icks + Endvalue
`
`Decayvaiue
`D1 - iactionjricks — start'ricks) + --------- --
`Firstvalue - Endvalue
`
`(assume quotient < 3276'!)
`Toss the remainder
`Now everything‘; in D0
`
`: we need to loop until D0 <- ‘rickcount () or the mouse button comes up.
`KOVEJ. D0,
`-(SP)
`: Save the time on the stack.
`Qloopbalay
`SUBQJ.
`I2. SP
`_stiliDown
`‘l‘S'i'.B
`l$P)+
`880.3
`Eendbeiay
`
`House still down?
`
`- No, get out.
`
`SUBQJ. M, SP
`_‘rickCount
`HOVEJG (SP)§, D0
`CHPJ.
`(52), D0
`31.0.5
`Eloopoelay
`
`Timed out‘:
`No, try again.
`
`Qondaelay
`
`returnliddressfl (SP) ,
`startTicksH(sP), S?
`
`lEIl'tTlCKS4'1(5PI
`; Clean up the stack
`
`MOVE‘..!.
`LEA
`RTS
`ENDHITH
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 9
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 9
`
`

`

`Malk Aaker, MS 38-!
`Apple Computer, Inc.
`2625 Maliani Avenue
`Copanino, CA 95014
`
`I claim:
`
`PATENT
`Attorney Docket No. : P428
`
`1. A method of scrolling a display window displayed on a computer screen, with
`
`scrolling controlled by a user—activated pointing device, said method comprising:
`
`detecting the initiation of scrolling by the user;
`
`establishing scrolling of the window at a defined minimum rate (V(M'.lN));
`
`measuring the duration of time since the initiation of scrolling; and
`
`if scrolling is still activated, increasing the rate of scrolling at a continuously
`increasing rate with the passage of time until a defined maximum rate (V(MAX)) is
`reached.
`
`2. A method of scrolling a display window as in claim 1 wherein the increasing the
`rate of scrolling at a continuously increasing rate describes an exponential curve.
`
`3. A method of scrolling a display window as in claim 1 wherein as the rate of
`
`scrolling approaches the defined maximum rate (V(MAX)), the rate of increase is
`
`slowed to merge smoothly into the defined maximum rate (V(MAX)).
`
`4. A method of scrolling a display window displayed on a computer screen, with
`scrolling controlled by a user-activated pointing device, said method comprising:
`
`detecting the initiation of scrolling by the user;
`
`establishing scrolling of the window at a defined minimum increment of distance;
`
`8
`
`APPLE INC.
`~ EXHIBIT 1015 - PAGE 10
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 10
`
`

`

`Mark Aakar, MS 38-!
`Apple Computer, Inc.
`20525 Maniani Avenue
`Ctpertino, CA 95014
`
`PATENT
`Attorney Docket No.: P428
`
`measuring the duration of time since the initiation of scrolling; and
`
`if scrolling is still activated, increasing the increment of distance used in scrolling at
`
`a continuously increasing rate with the passage of time until a defined maximum
`increment of distance is reached.
`
`5. A method of scrolling a display window displayed on a computer screen, with
`
`scrolling controlled by a. user-activated pointing device, said method comprising:
`
`detecting the initiation of scrolling by the user;
`
`establishing scrolling of the window by updating the contents of the window at a
`
`defined maximum time interval;
`
`measuring the duration of time since the initiation of scrolling; and
`
`if scrolling is still activated, decreasing the time interval of updating the window at
`
`a continuously increasing rate with the passage of time until a defined minimum
`time interval is reached.
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 11
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 11
`
`

`

`2 0 5 3 89 3
`
`—Tf\\€M()f
`
`I
`
`P428
`r4’rt5‘. »'~4,=?§Lk§::du?°M:
`
`-
`
`5210:022-
`Q134 —A 5421-
`1/2_
`
`FIG. 1
`
`(Pmorz ART)
`
`‘ APPLE INC;
`‘
`_EXH|B|T .1015» — PAGE 12
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 12
`
`

`

`.043?
`
`37\Vmm(:&5w¢:i ‘Eco
`N13 .'M8n< A5 /.0’ 1
`.§2:c.io‘4
`~:~*«<s~_4s:.~+
`2/2._
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 13
`
`APPLE INC.
`EXHIBIT 1015 - PAGE 13
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket