`
`
`
`
`
`
`
`United States Patent [19J
`Finkelstein et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006025841A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,025,841
`*Feb.15,2000
`
`[54] METHOD FOR MANAGING
`SIMULTANEOUS DISPLAY OF MULTIPLE
`\\'INDOWS IN A GRAPHICAL USER
`INTERFACE
`
`[75]
`
`Inventors: Erich Soren Finkelstein, Redmond,
`Wash.; Samuel David Hobson, Palo
`Alto, Calif.; Adrian Klein; Benjamin
`Waldman, both of Seattle, Wash.
`
`[73]
`
`Assignee: Microsoft Corporation, Redmond,
`Wash.
`
`[ * ]
`
`Notice:
`
`This patent issued on a continued pros(cid:173)
`ecution application filed under 37 CFR
`1.53(d), and is subject to the twenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`[21]
`
`Appl. No.: 08/892,771
`
`[22]
`
`Filed:
`
`Jul. 15, 1997
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`Int. Cl.7
`........................................................ G06F 3/14
`U.S. Cl ........................... 345/342; 345/344; 345/346;
`345/356
`Field of Search ..................................... 345/340, 344,
`345/345, 342, 346, 336, 338, 356
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,469,540 11/1995 Powers, III eta!. ................... 345/336
`1/1996 Southgate ................................ 345/342
`5,487,143
`5,621,904
`4/1997 Elliott eta!. ............................ 345/342
`
`Primary Examiner-Raymond 1. Bayerl
`ltssistant Examiner-Cuong T Thai
`Attorney, Agent, or Firm-Jones & Askew, LLP
`
`[57]
`
`ABSTRACT
`
`A method for managing simultaneous di5play of multiple
`windows in a graphical user interface (GUI). A computer
`system v,rith a display and user interface input device dis(cid:173)
`plays a primary or container window on the display, com(cid:173)
`prising a predetermined region for displaying information
`and/or receiving user commands associated with a first
`computer process. The system displays a target window
`comprising a predetermined region for displaying informa(cid:173)
`tion and/or receiving user commands associated with a
`different computer process. The target window is typically
`displayed in a higher z-order relative to the primary window
`to maintain it on top. In response to a predetermined
`triggering condition, the target window is manipulated by
`movement, temporary disappearance, and/or size reduction,
`while maintaining the relative z-order of the target window
`relative to the primary window and away from a predeter(cid:173)
`mined avoidance region associated with the first computer
`process. The target window can be moved away a minimal
`distance, biased in a predetermined direction, or positioned
`at anchor points relative to the container window to avoid
`obscuring the avoidance region.
`
`4,783,648 11/1988 Hornma et a!. ......................... 345/340
`
`36 Claims, 21 Drawing Sheets
`
`lfolJ l!e a.r-e
`n.at .. ion ao
`l=La..~k~e~.-k,..l~J~~
`f~~~t i~J.~I!S..~
`JJOV,
`in all p
`
`l lla.r, te~tincr v~etber- tba.t not
`t(e are :met:.
`r c;an lo tit) endl;n::e.
`1:.0 d.ecUca~e a POt:l:·lon o! lc, as a
`that the nation might live.
`
`MoveAway - Selection
`
`Ex. GOOG 1105
`
`
`
`1 - -f !~..,
`
`\
`
`\
`
`\
`
`(x1 Y1)
`38
`iAvoiDANCEREGION I 1
`\
`V
`(AVOID)
`I
`1
`I
`\~ ______ (x2~~ <:;28
`I
`I
`I
`hY'
`I I
`TARGET
`1
`""~A
`1 WINDOW
`\
`11
`Thi~ i~ lt)2xt in a program. 1
`I
`~~"""t-:)
`A
`I
`--~-rJ
`· '<.._38'
`33
`38'~
`TARGET WINDOW I
`\p l .__ ! S-:
`I
`BOUNDARY
`--
`ag9 3j)
`\
`1
`\
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 1 of 21
`
`6,025,841
`
`\
`
`30~
`
`\ CONTAINER (PRIMARY WINDOW)
`
`I
`I
`I
`I
`if
`
`42
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`I
`I
`I
`I
`I
`
`I
`
`I
`
`I
`1 22
`
`\
`
`\
`
`\
`\
`
`\
`
`\
`\
`
`\
`
`'
`
`" '
`'
`'
`'
`'
`
`200
`
`'
`'
`'
`
`PROGRAM.EXE
`MAIN
`(FOR PRIMARY
`WINDOW)
`
`API
`FMoveAway, FObscure
`
`TARGET
`(FOR TARGET
`WINDOW)
`
`20J
`
`FIG. 1
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 2 of 21
`
`6,025,841
`
`INITIALIZE
`PRIMARY WINDOW
`
`INITIALIZE
`TARGET WINDOW
`
`201
`
`202
`
`200
`
`/
`
`500
`
`FMoveAway
`
`600
`
`CALL
`FObscure
`
`1100
`
`EXECUTE
`TARGETWINDOW 1--.....,..
`COMMAND
`
`EXECUTE
`PRIMARY WINDOW
`COMMAND
`
`FIG.2
`
`MAIN FLOW DIAGRAM
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 3 of 21
`
`6,025,841
`
`(0, 0)
`
`30
`
`ANCHOR N0.2
`
`CONTAINER (PRIMARY WINDOW)
`
`62
`
`32
`TARGET
`WINDOW
`
`60
`
`ANCHOR N0.1
`
`MAIN ANCHOR (ANCHOR NO. 3)
`
`FIG. 3A MINIMAL BIASED MOVE- BEFORE
`
`ANCHOR N0.2
`
`CONTAINER
`(PRIMARY WINDOW)
`
`F+------ -:
`Tl
`I I
`T1
`D1:
`
`I
`
`I
`
`32
`TARGET
`WINDOW
`
`60
`
`CONTAINER (PRIMARY WINDOW)
`
`ANCHOR N0.1
`
`MAIN ANCHOR (ANCHOR NO. 3)
`
`FIG. 38
`
`MINIMAL BIASED MOVE - COMPUTE MOVE
`D2 < D4 < 1 .5D1 < 1 .5D3 --> Choose D2
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 4 of 21
`
`6,025,841
`
`30
`
`ANCHOR N0.2
`
`CONTAINER (PRIMARY WINDOW)
`38'"'\
`~--------------l ________ ,
`AVOIDANCE REGION
`
`I
`I
`I 32
`I
`----- -~--
`I
`
`-
`
`I
`
`33
`
`TARGET
`I WINDOW
`------------------+ --- _,
`I ----------
`MAIN ANCHOR {ANCHOR NO. 3}
`
`ANCHOR NO.1
`
`FIG. 4A
`
`MINIMAL BIASED MOVE - MINIMIZE OVERLAP - BEFORE
`
`ANCHOR NO.2
`
`CONTAINER (PRIMARY WINDOW)
`38 '"'\
`32c
`~-----L ________ _
`I AVOIDANCE REGION
`MINIMIZED
`I
`OVERLAP_-jj
`I
`I
`I
`I 70b
`I
`OVERLAP
`I
`REGION
`
`TARGET
`WINDOW
`
`I
`I
`I
`
`32a
`
`ANCHOR NO. 1
`
`MAIN ANCHOR (ANCHOR NO. 3)
`
`FIG. 48 MINIMAL BIASED MOVE- MINIMIZE OVERLAP- AFTER
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 5 of 21
`
`6,025,841
`
`(OPTIONAL)
`SET MoveCount =
`numberOfMoves/Delta Time;
`ANCHOR=
`NumberOfAnchors
`
`DETERMINE OVERLAP
`OF TARGET WINDOW
`WITH AVOIDANCE
`REGION AT ANCHOR
`
`ANCHOR--
`
`500
`
`)
`
`(FIG. 58)
`
`(FIG. 50)
`
`(FIG. 5C)
`
`FIG. 5A
`
`FMoveAway (RECT *prcAvoid, RECT *prcContainer)
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 6 of 21
`
`6,025,841
`
`CONTINUED FMoveAway (RECT *prcAvoid, RECT *prcContainer)
`
`{FROM FIG. 5A}
`
`Avoid = &{*prcAvoid);
`Container= &(*prcContainer);
`ANCHOR = 3
`
`DETERMINE MINIMAL
`DISPLACEMENT-
`CALCULATE D1, D2, 03, D4;
`CHOOSE MINIMUM OF
`1.5*01' 02, 1.5*D3, D4
`
`530
`
`532
`
`NO
`
`537
`
`YES
`
`COMPUTE
`OVERLAP OF
`NewTargetWindow
`WITH Avoid
`
`(FIG. 50}
`
`SAVE
`OVERLAP(ANCHOR)
`
`(FIG. 5C)
`
`FIG. 58
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 7 of 21
`
`6,025,841
`
`CONTINUED FMoveAway (RECT *prcAvoid, RECT *prcContainer)
`
`(FIG. 50)
`
`550
`
`552
`
`COMPUTE
`OVERLAP OF
`NewTargetWindow
`WITH Avoid AT ANCHOR
`
`SAVE
`OVERLAP(ANCHOR)
`
`NO
`
`IDENTIFY ANCHOR
`WITH MINIMUM
`OVERLAP
`
`FIG. 5C
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 8 of 21
`
`6,025,841
`
`GET SHOW STATE
`
`DRAW
`NewTargetWindow
`INTO DISPLAY MEMORY
`IN LOWER Z-ORDER
`THAN Container
`
`FIG. 5D REDRAW TARGET
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 9 of 21
`
`6,025,841
`
`FObscure (int x, int y)
`
`GET
`SHOW STATE
`
`601
`
`600
`
`)
`
`YES
`
`SET SHOW STATE
`=HIDE
`(NOT VISIBLE)
`
`SET SHOW STATE
`=VISIBLE
`
`FIG. 6
`
`TARGET WINDOW OBSCURE (DISAPPEAR)
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 10 of 21
`
`6,025,841
`
`f!'our !!!cere
`uerJ"
`are
`
`forth, upon thi~
`t.b.e propo!5tt.1oll.
`
`endut:e.
`J)Ol:'tlon or tt, 0::1 o
`~4~J;:&JJ~~'"~,g:~ or
`~g51~~J-~.~.RJ~f(g>_ ror t.h!:tse Yl:lo cUed here, 1:1\Sir:. ;;ne nacton mitJIYt 11ve.
`in ~ll prar;oriet::r do.
`:meo.-;r,
`
`But, ~n o lo~~t: ~en~e, Ye con net cted1cate
`not hallOY, thlB orounn -- The b~~~ men, livincr and dead, vho stru
`:!a.t: Bbove out: tJOOr pmre:r t.: o Glid or: •je't-:r:ac"t;. The w
`hGtve !:1611 La ~Jed 1 c.,
`long cemewbe:t: vh!'lt -.:>e ~Say here; xhile it can c.=r
`
`FIG. 7A
`
`!i.Qt:.1on a o con
`~~~~~~e_._.lJ:~J~S!
`E~~,t i,~.J:'J·~~-~.
`in all p
`TH!!f)l,
`
`~ar. t~~tlncr vnethe~ that notion,
`lie are l'Jiet:.
`enliutce.
`pon1on o! 1c, as a
`nation might live.
`
`FIG. 78
`
`MoveAway- Selection
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb. 15,2000
`
`Sheet 11 of 21
`
`6,025,841
`
`FIG. BA
`
`FIG. BB
`
`MoveAway- Manual Relocation of IP
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 12 of 21
`
`6,025,841
`
`.
`
`•
`
`.
`
`I • . • L ••• I • • • z .
`
`:in all :propriety do.
`
`901
`
`iii a Iarget: sense, 1o.1e cen DO(. ded1C6l1:-e -- r:.re can no1.
`'-!11---tDut: ....
`consecra~e -- ~e can no~ nallo~, ~his ~~ound -- The brave
`¥ have b~llo~d it- 1
`~n, liv~Dg ~~d d~~d,
`. The -.,arld vill
`far obave our poor po
`1::1 tr..le :not.e, not: 1on11
`lfh1lc: 1t
`c~n nevet: !orgeG Vhar.:.
`
`~l;"IJ~~Jl.,...t;.:A.~.,JJ;Y~~-~~!:_. .• J;.,~sLJMJ""'l.IJJ:l,J~~M~~ .... ~Mw!t~l.lQJ.h .... :::.;;:
`~-~&!;: ••. ~.§: •• ~~~~-~!~~}J'~S-~.9.l;'f~ ..• r;:A~~~!=~,~~~~-g~&J,.!r~.»-9-~.MY.ft. .. ~~~~».
`.~~":'!~~.4~·-·-~~~;~,.1.~~~~~~~~.~'!!-.ll,~~?\.Y-!:~}l:!:.,A~~.k~f:.~~,.Ja.f
`t~c~.~-9.E~tmat:!:SL!=-)~~~~ s~;.~1:w~!.~~;::,~ ,J.e i?I,_.t~_s5';U~
`
`FIG. 9A
`
`Dfl [lie Edit Dew tnsert Fm"mat Iools Ji.ble ~ 1::1$
`r;:&J[g]
`"JI D ~ Iiiii ~ 1]. ~ I ~ ~ • 4111'1 ~ nt ~ , . . . 11UIB ;; I f!l
`
`rr~y~ ~D ~ll prap~iety do.
`
`,
`901
`INe~ 'tex~ c"i'u;e;-un~-"OEO~t, J.no lOt"IJ~ ""ien:;e:- w:c con
`I tlor.:. ded1cace -- -oe can nor.. consecrat-e -- \:le can not. hallow
`._..u..__, ellis araWLI1 -- ne ln:ave JoenJ 11v1na and dead, iibo
`rtc:uggi'ed" b.ec:er b'~~.ve
`to ~d cr detrac:t.
`r~uibet: vhe.t: ye
`t.:bey d H1 here .
`
`FIG. 98
`
`MoveAway - Line Wrap
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 13 of 21
`
`6,025,841
`
`_ _Faoter
`
`FIG. 10A
`
`32'
`
`_rox~-------------------------------------------------
`
`~1001'
`
`1
`
`FIG. 108
`
`MoveAway - Insert Page Number
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 14 of 21
`
`6,025,841
`
`30
`
`~!it (ile ~dit !"- ! - t ~mat !cols. l!_ble ytinduw !_!elp
`
`\J II~D ~ ~ I .s ~ ~ I ~. ~. ~ ~. .. . , ~ ~ I.~~ I& I,[!). "
`
`. t;j~fE1
`
`Tro.n~ crlpt: or t: be ""lf..l&:.QJ.M COllY" or t:.b.e fihC&Jr~9:.I.-I I!.!idreo::~ ; ....
`::->>~
`;:-;·<;
`loroutlb't t:or-r:h, u~:~:'j
`ta tne propij~~j
`
`Four score and seven
`IJ.eoc nat.ion,
`are ~~~ated equal"
`
`:Nm.r ve are et'lr,1Q!Jel1 in
`ti.GC ion so cotJ.Ce 1 vect,
`· ate a
`;b~r;t;le. field of th-..'t
`,....,,..,' r~·•.,_~ ,...,_"-""""~'"•'•,.,.,..,.,.--.
`s:s~~-~:.1~SLRL~::;_ f~:~r tho=e 1rno died here, t~t. the
`rr.oy, 1.n all propriety de.
`
`r
`
`32
`,:.;::<
`'t:.E'!S't ln!1 orhecher tb:':d
`e:n.dure.
`IJelJ~{i
`portion of ;~;:;:~
`D'!lt· ioD rnigh:[;~~i
`~:'~3: j
`~J:iJ
`
`noc decU:::ac.e -- ve can noc. co:nsecra.:e -- 0.1e can not.
`iO
`thi;:: g.r:oWJ.d -- The: b~~ :men~ lhn.ng aDd de:-!lld1
`rsba
`he~:e, have hallol:!ed :it, far above our poor pouer ;.
`f"'
`
`..
`
`!:?"
`
`t~.;..,
`
`. l/.1
`
`/It 1'
`
`tn l
`
`Cd 1
`
`FIG. 11A
`
`FIG. 118
`
`MoveAway - View Header and Footer
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 15 of 21
`
`6,025,841
`
`30
`
`n!'A [lie ~ lllew I.nsert flltfllat Iools ~j W'jDIIDw 1:1$
`GJ:m~
`lilil • 4f ~-. · o -I& •I H11 sm Iii I oo
`~ m Ia Cl ~ l
`
`Tre.~c r i pt a:f the "'!'licola_Y, Copy"' o:f t:t..e: Qa!;_~,Y,;:'~~:;_s .iddre:-'!1!1
`
`Jout: s~ot:e and aeven ye9La ag:o out: !at;het:a brOIAQ'bt:. :!01:1:-h, Jt~i
`
`ne\J nac. ion r conceived. in 1:1berC9r and ded.ic a ted r:,o the prot:~'}
`'lt.t:e Cl: 1:~t.ed etp.HI.l ••
`:;:;:;;;
`'~M
`Uo'tl ve ~r:e entJ~qed ln o areot t;::tx~L uar, te~t,1no;r 'tlt.v::tbet: tt'.:'~"4
`l!~~~I:!
`:nat-ion so conr~e l'iled., and. so d.ed.l.c at:.eo:t, can lotl..;t eru1ure.
`~~~~~!~ .... £;i,~t';! 1:1£ tha.t \mt:. 1Je co.n: tc dedic~t.e a pot:t icm of ~::~
`!"~~~~1-~~.e,l=~ for t.bc::se vho
`n~ticn miqt;;~:~~;
`'',',""~
`:may, in all p~:oprt.e:ty Clo.
`~~~:~
`~-:; ~ :~
`
`lie\.1 telt:L causes line 1JI:Qp
`nDt dedi~ate -- ~e can not c
`th1~ gr:ound -- The br~ve ~n.
`bo.lloned
`r.ror ld
`
`FIG. 12A
`
`1205
`
`Loolbars
`7out: seq
`B.uler
`ne10 Dati
`are crea,iJ !!cxL.nlenl Milip
`
`FIG. 128 MoveAway- lnsertNiew Annotation
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 16 of 21
`
`6,025,841
`
`Paoe !'Vllbers...
`Dale allll T..-ne.(cid:173)
`~oText
`
`Footnote..
`C:.<dlicm ...
`Cross-[da-ence...
`1~51 and T l!lblec ...
`
`!!_lchll'e
`Ner.1 'texr.:. c a.u:iE Te:!it IIOI.j
`file_
`not. ~clic:at.e :
`thi3 ground ·•
`-
`.
`jJ))ert ...
`
`FIG. 13A
`
`flllOlnote .and £nooote
`
`I) £1
`
`1310
`
`Faw: score all(
`tv.~t :LOll.~ C:i
`C!r:-eote:cl
`
`€·[~~}
`Ct.r<h:lte
`
`6:1 ttr.rn cf p.sg~
`End cf 00--unert
`
`ۥ
`!:!JI:a~4urrber
`0 Q,Jsloo! m:rk:
`
`FIG. 138
`
`MoveAway - Insert/View Footnote
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 17 of 21
`
`6,025,841
`
`30
`
`r.;]l].[g)
`~
`'
`
`fcUJ:: !Scare and ~even year:~ ago cur :father!!! br:ought
`neTI ~-.~'t ::1on,
`c:=a nc;e :t.vl!:d 1.:n. J.1.be
`i;jre t'!rea'te~ equi;jl"
`J.
`No~ ~e are enqe~ed iD ~ gre~t
`IH!Lt-iDD =o CQD.CII!i"o":d.•
`I:Uld. Z'::tl
`&E:!:.'t.t'7:.0
`•• :tJ;.~.L4 0£ t: ha.t.
`!'l"ar -
`fie
`[.~2J:.lB9: . .J! .. l@~~ tor-
`t bo::~::: vrho d
`. ·····-·····-····-··· .. ·-... · .:Til fd'~;;l.
`
`--~;.,._wP ~-
`~-,~---q~~~~-~~-~·-C"--'•·~· • 0
`
`FIG. 13C MoveAway- Insert/View Footnote (cont)
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 18 of 21
`
`6,025,841
`
`Four ~ccu::e and ~even yeac:s ago cur :fathers brought
`nev nat~on, ~on~eLved ~n Libert~, end ded1~dted to
`a~e created equal"
`
`t-e~:~~itl!,;l tthether
`:Nou r.1e ~e enq!SJ;led i:D ~ a:~:e«t civil tt.eo.r.
`:Dation ~a conceived, ~ =c dedicated, ~~n long
`~-~-!~~a.~ti~J...!! of thdt.
`cledic~:~te a
`£!;.2..ti..JN~Jl.JA!& tor: t
`~ay, in all vrov~ie~~
`
`32
`
`=enl:le 1
`Ncu l;.e)(t l:'a•..l.!l'e5 line
`-- ue cen not
`not ded::.cfltc -- t~e cen
`t.tll.;:! Qr•:>lJ.t:ld -- Ttl.e :br11ve l!!I:D r 11 V 1 UIJ ~:nd rtec_ct, ~hO
`sr:.t:ll!dQled llece, nave nallotied 1~, l':Str above our )Jooc po1o.1er
`t.a a.lld or: Clecracr.:.. The vorlcl 1J1ll lit.tcle ti.m;e, nor lo:na
`
`FIG. 14A
`
`Aqnrnertl::
`
`tmmur2)
`o-.d~ta:bn - - - - - - - - - - - - - - - - - - - - -
`!:_eft:
`
`&gl-t:
`
`s~:rn --------------------------------------
`li!iL~JS
`aefora:
`fB
`loP~
`
`o ' ,.zx:'~<et>-~o.~'".__..,~._ lN.-,._<_,.~~"~{. ""'~Vf>~·-,~~":""~-'o:; _,,_~·--~-_., :f>..cz,,,, __ ;i_
`
`~=r::~\:~:,*~~E:$:,~:a.
`rtlllrtalf: fiiDin& tit am.:: ,JIIIIl"'M: 'tf~l ,DiaMilt "t:lCIUlat 1t.X
`'A,;.---..- ?'\.-,...,..,,_..~ ~1,.,.,.....,.._ """'-~¥<~"-'."'"'<'. ¥""'""7"C-'' ~.{ ·'!>'r ,-o<; """'~...,..;'- '7.?: .. ~,,.- 'v-tt .. ;_-n,J.'(cid:173)
`%-t O.""i~ "'""".("o~-"""·~.:"'ii(.-"'""'f ....... ~<;N1\~'Ji.'.'t-"4.i>Vk,;_'+;!!.'"l.'-f\("-:<Tt ""+""'>,:_"'-S"-~
`;'-,.~t.
`~;.-'--""'"! A""'"""'--M--d>.*"-"''-i''~~'
`
`32'
`
`FIG. 148
`
`MoveAway - Dialog Display
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 19 of 21
`
`6,025,841
`
`30
`
`l'lorr ve ~re engo.ger:i 1 n ~ gt:e~t !:!:tv:t L 1:11u·,
`n.::'<Clat:t
`~~::. conc~lved, ond. ~o a~~~~~~~~~~~~
`~~r; .. :.:J,..§!,.~-~Kk~ o! 't-tliOn ~ar. lie
`~~;l.H.~ . .;oJ ... I!S:!:=. !or t;;hose w-bo d
`J.D all pro pz: iet "{ do.
`ffil!'l'h
`
`Ner..r 1: e:x 1:: c l!IU!'!I'"'"' 1:1 ne 'l:lt:Op
`l:le ~an not.
`noc de.:U~e.c.e -- ~e can not. conae-crac.e
`r:.n1s ~Srou:n.d -- The llt:G!'.re :ri!E'tl, 1ivina: and aeadJ Ybo
`:!'ti:WJ"tlle!o:i net:e, biS.VO: b!S.llt:t\leo:i it:, feu; '=ibovo: C·W: J;ll;:;;or
`t.o add or detract. The uo~::ld 'llJ.ll little not.e. nor long
`
`FIG. 15A
`
`··- -----~· .
`--
`. ~
`Ul M1crD2Qft Wmd · fi e:t!IJ'S: text dm:
`
`. .
`
`.. - .. -
`
`~---~--- ~- -·-
`
`.
`
`l!lfiJ £I.
`
`!
`
`Fow: :!'core !!lnd 3ev>::n. year~S ago ow: :f'!llt.herz=: b:z::ougbt.
`nerr notion, conceived in liberty, and clcdicoted to
`
`::: ::e::tt e:::~: in a :~~03
`
`O!!lt:;l.on ~So con.co::ivedr
`'!lla.d 15
`~~~-!=;-lr;_,.._,..~t.l:;!!)};:! of that 'kl~S.r.
`-~!l:-~!:J1~9,.._PJ.~~ :!!or th0-:!51!: Yll
`roa~, 1n all ~ropriety do.
`
`c1v11 )]flC( :s~~~r;r r..rher:.ber
`
`o:ric-;tecl~~;;:;llong enduce.
`cpme to ded:.cft.e a port J.on c £
`tbd here, t:her;:. the
`I
`I
`I
`~~ tQt
`li.cll! l.I:'~JI •• B~otrf-- J
`:tletf text CIS.\l:l'e!Z!
`not dedicat.~ -- ~e c~n not con!~~
`l;q_-_t __ -Mte __ - - - - - - - - (cid:173)
`t.l:.i~ ground -- The breve rren,
`:!ltt:'UIJ'!J leel b.et:e r ha.vc: ha.llOl:l~d A [unl. ..
`aer:.rac~. The ~orld Eli f. olll'ao!JI'aph_
`i=: llull!.!ts and ~ertno
`......._~ ............................. """""""......,_._ __ _,_~:J Draw Table
`
`lrt(cid:173)
`
`FIG. 158
`
`Obscure - Drag Operation
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 20 of 21
`
`6,025,841
`
`30
`
`1601
`
`Tr~T•!!I•:::'r::tpt. a£ t.be tt}i~"?Pll!l.~ Copy 11 of the G~~U~bu~ A.ddt:"e::r!5
`U1t.:ti a pl~t.ure inse~c.ed
`
`and ~ev-en 'loreor .:~ ago our :tc.t:r.er::r brought
`in l ibet: t,;
`eu:od cled icl!>.t.e:d to
`
`FIG. 16A
`
`ifMjeunon Word - Gett.n tewtdoe
`M!!aEk
`
`'
`
`•
`
`'
`
`I
`
`1601'
`
`Tr:64tl3cnrn:; o:r ~.:.he "~.lxQ.l~JI: covv-'" o:r c.he &.~~§~~~~ Address
`~ith a picture io~erted
`
`0
`
`D
`
`I
`
`---1
`I
`
`32'
`
`: u
`~~J
`__ 1605
`r
`
`D
`
`crour:: ;"H.:or~ rtncl. ~~r::D yeo.r~ OIJ'O OUt:~Ot.h~r!'l l:!I'O!loJht torth, UJ)Otl
`m:'l:l n>J.t.icn, ccncei~d in l:iberty, NLd di::dicl!l.ted to cbe pt:opo::sit
`;_.._ ........... ~...~~~, . ...,-4 .. ~~(D~!~L1r=~-~'"'l""~.~"'-~~~~.,.,~-. .-_ "---.. -__ --~~~Y-~~-~~ti~?~~~f~i~~~~j;~;~~~~~£6:?~- ~--
`lJiS
`f((C TI'It:
`ln :l
`Co! j
`sec 1
`IJ l
`llC 1.3"
`!!.Kf t~ -~'i
`
`FIG. 168
`
`Disappear - Resize Operation
`
`Ex. GOOG 1105
`
`
`
`U.S. Patent
`
`Feb.15,2000
`
`Sheet 21 of 21
`
`6,025,841
`
` ~)
`
`.
`
`.
`
`U:
`
`:ron.!i, upon ;~:n
`the ~u:cpo~it~;:\:
`
`;•,-",""'
`
`Four score al:ld seven vears aQja our rat:.Jje t:s br o'~C"hr.
`n~u nation, conceiv~d in lihert~, and dedic~ted to
`ore created equol"
`
`No~ ooe are efigaged in a
`na.c.10J:l. SO COl:lCe ived r Eil:ld SO
`~,1;;!.17-vL~J~ of tl-.ot 'IL'Iat:. kJe
`,r;g~S;.J._~XI~R.l.~S.~, !or t-hose Yllo
`~~y, in oll propriety do.
`
`FIG. 17A
`
`!t.<;;!O our £at-herl!ll bcou.gbt;
`E"'our !!'COrt: ~w.i !!'~n ye:e\I::!!'
`nev n~tlon, conce1ve~ 1n 11bertv, dUd d~d1coted to
`32'
`(.rhet.her
`ew.iu.c-e. Ue are
`:portion o::t it,
`Dl!l.t. i OD might.
`
`~lo'!J' ve are encraaen 1 n a qr
`~tion ~o ~onct:~ved, and ~o
`~~.:tJL.;:J.~~~ oi tnat 'lilar. lJe
`~x~~.R~~. for t.h.o;::e lfho
`~v, 1n all proprler.y tto.
`
`•. But, l:n o lo.rqer ~etl=re, r:re co.n
`Nev t:r::::n:; C!l'U::!eo: 11ne l.1t:'OJI
`not dedic;at,e -- '11: c:an not. co=ecr;at.e -- lfe CI!UI. Dat. b.allov,
`t.hi:!!! grcu.nd -- Th~ bc-l!!We CTen, li,ring and del'!!d,
`~:tho
`s~.r-uqgled bet:e, have halloved 1~-.. !&r above our Imor
`:::''1,.':-.,......,.",1cM'"'i'.d~>-
`detract. Tb.e ~orld li'J.ll litclll!: not
`not: 1'-',·,.vcc.v/,·,
`p'* 1
`
`£e: l
`
`l (t
`
`N: l'
`
`lnl
`
`FIG. 178 Reduce
`
`Ex. GOOG 1105
`
`
`
`6,025,841
`
`1
`METHOD FOR MANAGING
`SIMULTANEOUS DISPLAY OF MULTIPLE
`WINDOWS IN A GRAPHICAL USER
`INTERFACE
`
`TECHNICAL FIELD
`
`2
`selected \vindow on top of all other windows at all times.
`Typically, these are displays associated with computer func(cid:173)
`tions for which the user may wish quick access to provide a
`command or to observe the progress of a task in progress.
`s Examples include the display of a help function, a file
`download status indicating window, a video window, an
`audio control panel window, or any other type of windows
`that the user wishes to maintain in a highly accessible state.
`To help users arrange information on the desktop in a
`more stable and persistent fashion without necessarily hid(cid:173)
`ing any valuable information, many modern computer sys(cid:173)
`tems provide a GUI wherein windows can be moved across
`the desktop, just like pieces of paper can be repositioned on
`a physical desktop. In addition, modern GUI windows
`15 typically carry several controls that allow the user to resize
`the display area of the window-if the window is too large
`to fit on the desktop "as is", the user can shrink it to fit the
`available space or to assume a more desirable size. By
`adjusting the sizes and positions of various windows, a user
`20 can often arrange his or her desktop to show several different
`types of contents at the same time.
`Even though this approach to resizing and repositioning
`windows allows some degree of control over ready access to
`desired windows, users in modern computer systems are
`25 finding that they have more information to work with than
`they are able to fit on a desktop at one time. Modern
`integrated application suites such as OFFICE 97-which
`provides a word processing, spreadsheet, electronic mail,
`Internet browsing, database, and other types of application
`30 programs-provide myriad possibilities for information dis(cid:173)
`play; users are beginning to create content in one application
`program that is linked or embedded into another application
`program, thereby necessitating management of multiple
`windows. Present day display technology does not provide
`enough display screen "real estate" to display all that can be
`displayed.
`The WINDOWS 95 task bar is an example of a known
`solution to this problem. The WINDOWS 95 task bar is a
`small strip-like window that is displayed at the bottom most
`position on the desktop and used to control the visibility of
`other windows on the screen. The task bar provides minia(cid:173)
`ture representations of the active windows, which them(cid:173)
`selves may be completely ''buried" by other information or
`windows on the desktop. In order to avoid covering up the
`windows itself, the task bar can be set to appear only when
`the user's cursor hovers near the lower edge of the screen.
`When the user moves the pointer away from the task bar, it
`disappears again to display more of the desktop.
`All of these known methods of managing window
`positions, sizes, and displays, require the user to explicitly
`decide where on the desktop a window should appear,
`however. Whenever a user encounters a situation in which
`one window obscures another, he or she must rectify the
`problem by moving a window or changing one of the two
`windows.
`Accordingly, there is a need for an improved method and
`system for managing the simultaneous display of multiple
`windows in a graphical user interface. An acceptable solu(cid:173)
`tion would preferably address the shortcomings in prior art
`systems wherein a user must employ multiple step opera-
`tions such as manually locate a selected window for display,
`navigate through a list of active windows, resizing and
`reposition windows so as to reveal a desired window, access
`65 a desired window through a task bar, etc. Preferably, the
`solution would allow the user to select a particular window
`to be maintained in the highest display position (highest
`
`The present invention relates generally to the field of
`computer systems, and more specifically relates to methods
`and systems for providing continuous, automatic adjustment
`to window size and position based on analysis of a user's 10
`interaction with a computer system.
`
`BACKGROUND OF THE INVENTION
`
`35
`
`Modem Graphical User Interfaces (GUis) for computer
`systems present information to users inside content frames
`or "\vindows". This presentation mechanism is employed in
`programs operative under the Microsoft WINDOWS 95
`operating system available from Microsoft Corporation,
`Redmond, Washington, as well as in content display mecha(cid:173)
`nisms such as the Macintosh operating system available
`from Apple Computer, Inc., the X-Windows computing
`environment, etc.
`In such GUis, each window presents information of a
`particular type. For example, one window may display a
`letter in progress, while another shows the status of an
`electronic mailbox, while a third \vindow lists the contents
`of a user's hard drive. Windows are often displayed on a
`user's computer display screen in an area metaphorically
`referred to as the "desktop". Just as pieces of paper on a real
`desk top can overlap one another, windows on a computer
`desktop are dra\vn in a "z-order" that specifies which
`windows are drawn on top of other windows. The window
`with the highest z-order is the topmost displayed window,
`and may obscure portions of underlying windows with lower
`z-order.
`A particular problem encountered in conventional GUis is
`the management of multiple windows so that the right
`content is available to the user when he or she wants to see
`it. For example, if a window containing a listing of files (e.g., 40
`the WINDOWS 95 Explorer) is overlapping the user's letter,
`the user will be unable to work on the letter without first
`adjusting the display or changing the z-order of the windows
`on the desktop so that the letter is no longer obscured by the
`file listing window. Similarly, if the user later decides to 45
`access electronic mail, he or she needs to first make sure that
`neither the letter nor the file listing window obscures the
`electronic mailbox.
`The conventional solution to the problem of z-order
`display is to allow the user to change the z-order of windows 50
`on the desktop so that a desired and selected window
`overlaps all other windows. In most GUis, clicking on any
`visible part of a window with a mouse pointer will bring it
`in front of all other windows on the desktop by assigning to
`it the highest z-order in the paint order of \Vindow display. 55
`Although this lets the user view the window he or she needs
`for a particular task, it generally obscures other information
`on the desktop. Furthermore, if no part of the desired
`·window is visible because the desired window is completely
`covered by a larger window, then the user must resort to 60
`other commands, e.g., via clicking on the desired window in
`the WINDOWS 95 task bar, navigating to the desired
`window via the WINDOWS 95 Explorer, or by clicking on
`an icon which causes display of the available windows for
`selection by pointing v,rith the mouse.
`Furthermore, there are situations in modem computer
`systems where a user may wish to maintain the display of a
`
`Ex. GOOG 1105
`
`
`
`6,025,841
`
`3
`z-order) so as to be consistently available, yet behave in such
`a fashion that the display of the topmost window does not
`interfere \Vith the user's interactions with a selected under(cid:173)
`lying window.
`
`SUMMARY OF THE INVENTION
`
`4
`More particularly described, the present invention pro(cid:173)
`vides improvements to a computer system graphical user
`interface including a display and a user interface input
`device, in the form of a method for displaying a target
`5 window relative to a primary window. In the preferred
`method, a primary window is displayed on the display, the
`primary window comprising a predetermined region for
`displaying information and/or receiving user commands. A
`target window is also displayed, the target window com(cid:173)
`prising a predetermined region for displaying information
`10 and/or receiving user commands, the target window being
`displayed in a higher z-order relative to the primary window.
`A container area is defined on the display, the container
`area comprising a predetermined area within which the
`target window is allowed to move. A plurality of predeter-
`15 mined anchor points are defined on the display, each anchor
`point defining a different predetermined fixed location on the
`display.
`In response to a user operation with the user interface
`input device relative to the display, an avoidance region is
`20 defined in the container area, the avoidance region compris(cid:173)
`ing a predetermined region defined by a user avoidance
`region defining operation within which the target region
`should not be displayed. In response to a predetermined
`trigger condition associated with the user avoidance region
`25 defining operation, a move count comprising the number of
`times that the target window has been moved within a
`predetermined time period is determined.
`In response to the move count exceeding a predetermined
`30 value, a determination is made whether a redraw of the target
`window at a location associated with a selected one of the
`plurality of anchor points would result in display of the
`target window without overlapping the avoidance region. In
`response to a determination that a redraw of the target
`35 window at a location associated with one of the plurality of
`anchor points would result in display of the target window
`without overlapping the avoidance region, the target win(cid:173)
`dow is redrawn at a location associated with the selected
`anchor point.
`However, in response to (1) a determination that a redraw
`of the target window at a location associated with one of the
`plurality of anchor points would result in display of the
`target window overlapping the avoidance region, or (2) a
`determination that the move count does not exceed the
`predetermined value, a determination is then made whether
`the target window can be redrawn displaced a predetermined
`minimal distance away from the avoidance region.
`In response to a determination that the target window can
`be redrawn displaced a predetermined minimal distance
`away from the avoidance region without overlapping the
`avoidance region, the target window is redrawn at a location
`displaced a predetermined minimal distance away from the
`avoidance region along a line toward a second selected
`anchor point. However, in response to a determination that
`the target window cannot be redrawn displaced a predeter(cid:173)
`mined minimal distance away from the avoidance region
`without overlapping the avoidance region, the amount of
`overlap of the target window with the avoidance region at
`each of the plurality of anchor points is determined.
`Finally, the method involves steps for selecting the par(cid:173)
`ticular anchor point that results in minimized overlap of the
`target window with the avoidance region, and redrawing the
`target window at a location as.<;ociated with the particular
`anchor point that results in minimized overlap of the target
`window with the avoidance region.
`Accordingly, it is an object of the present invention to
`provide a system and methods for managing the simulta-
`
`The present invention provides a solution to the problem
`of maintaining a selected window in the topmost display
`position without interfering with an active underlying win(cid:173)
`dow. Briefly described, the present invention provides
`continuous, automatic adjustments to window size and posi(cid:173)
`tion of a selected topmost window (or other selected
`window) based on analysis of a user's interactions with the
`computer. A selected "target" window that is obscuring
`useful content in another window is automatically moved to
`reveal the content in the underlying window in response to
`a triggering condition that indicates that the user desires to
`access information underlying the target window. The user
`need not interrupt his or her work to explicitly adjust
`window size or position, adjust the z-order of windows,
`reselect a particular window with a task bar, etc.
`More particularly described, a system constructed in
`accordance with the present invention monitors a user's
`interaction with a computer system to determine whether a
`target window-which is preferably selected to be the
`topmost display order and can be any type of window-may
`be obscuring the content of an underlying or "primary"
`window with which the user is working. The system deter(cid:173)
`mines that the target window is "in the way", i.e. obscuring
`content in an underlying window, by detecting a triggering
`condition provided to the primary window through the user
`interface controls such as a mouse, keyboard, etc. In
`response to the triggering condition, a new location for the
`target window is computed and the target window is redrawn
`in that position. Typically, the redrawn target window moves
`in a predetermined direction in a sufficient amount to move
`out of the way. In some cases, the target window is tempo(cid:173)
`rarilv hidden instead of moved. Furthermore, the system
`moditors the user's interactions with the target window and
`is operative to reduce the size of the target window when the 40
`user has not used the content or accessed the target window
`for a predetermined period of time.
`The present invention provides at least three different
`ways to keep a target window from obscuring the content of
`an underlying window:
`1. Move Away. The system is operative to move the target
`window to a different location on the display screen to "get
`out of the way" of the area that the user has indicated in the
`primary or underlying window. When moving the target 50
`window, the system defines a quadrilateral content area
`which is to be avoided, as well as a larger rectangular area
`outside of which the target window should not be moved
`(called the "container"). The target window is automatically
`moved in accordance with a decision process described in 55
`detail herein.
`2. Disappear. The target window "disappears" momen(cid:173)
`tarily while the user executes an action and reappears once
`the action is completed. Typical actions that cause the target
`window to disappear in the present invention rather than 60
`move away are those in which the user is dragging an object
`to a point in the content area of the primary window that is
`obscured by the target window.
`3.