`
`ABSTRACT
`(57)
`Methods and systems are described for navigating between
`visual components. A first Visual component, of a first
`application in a plurality of applications, is detected in a first
`application region of a presentation space of a display
`device. A first navigation area is presented, in a first navi-
`gation region detennined based on the first application
`region, for navigating to a second visual component, of a
`second application in the plurality, in a second application
`region in the presentation space. A user input corresponding
`to the first navigation area is detected. In response to the
`detected user input, navigation information is sent to navi-
`gate to the second Visual component.
`
`US 9,423,923 B1
`(10) Patent No.:
`(12) United States Patent
`
`Morris *Aug. 23, 2016 (45) Date of Patent:
`
`
`U3009423923B1
`
`NAVIGATION METHODS, SYSTEMS, AND
`COlVlPU TER PROGRAM PRODUCTS
`
`(56)
`
`References Cited
`U.S. PATENT DOCUM:
`
`1/1996 Southgate
`11/1996 Mariani
`1/1998 Cohn
`12/1999 Brooks
`6/2000 Sheldon et al.
`7/2001 Matthews, In et all
`4/2004 Santoro et 31.
`7/2006 Lau
`9/2006 A ‘ da tal.
`8/2008 Szfiafls :t 31.
`6/2009 Holecek et a1.
`
`_
`3,487,143
`5,577,187
`5,712,995
`6,008,309
`6,072,486
`5,265,059 W
`6,724,403
`7,080,088
`B2
`7,114,129
`7 412 661 B2
`7,552,397
`
`AAAAA
`
`(Continued)
`OTHER PUBLIC ATIONS
`‘
`First Alliance “Security Camera Systems for Your Business or
`Home,” available at https://web.archive.org/web/20l00615200435/
`:///
`. ‘
`r
`/ )
`‘
`1
`.
`.
`.
`hgtpo)www taps com1(,,1_)\ R711 264, htrn (psoted on Jun 15,
`(Continued)
`
`Primary Exammer * T03“ V11
`(74) Attorney, Agent, or Firm 7 Patrick E. Caldwell, Esq;
`Th0 Caldwell Firm, LLC
`
`31 Claims, 13 Drawing Sheets
`
`Applicant: SITTING 1VIAN, LLC, Raleigh, NC
`US)
`(
`
`.
`_
`Inventor: Robert Paul Morris, Ralelgh, NC (US)
`
`Assignee: Cypress Lake Software, Inc.,
`Woodvfllea TX (US)
`.
`.
`.
`.
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`
`.
`Nollce:
`
`U.S.C. 154(b) by 0 days.
`This patent is subject to a terminal dis—
`claimer.
`
`APPL No" 14/924,680
`.
`_
`Flled:
`Oct- 27’ 2013
`Related US. Application Data
`
`Continuation of application No. 14/ 173,806, filed on
`Feb. 5, 2014, which is a continuation—in—part of
`application No, 12/868,767, filed on Aug, 26a 2010’
`now Pat. No. 8,661,361, and a continuation-in-part of
`application No. 12/956,008, filed on Nov. 30, 2010,
`now Pat. No. 8,780,130, and a continuation—in—part of
`application NO- 12/955993: filed on NOV- 30,- 2010s
`now abandoned
`Int. Cl.
`
`(200601)
`(201301)
`(201301)
`(200601)
`
`G06F 3/01
`G06F 3/0481
`G06F 3/0484
`G06F 3/00
`U-S- Cl-
`CPC ------- -- G06F 3/0481 (2013-01); G06F 3/04842
`(201301)
`
`Field of Classification SeaI‘Ch
`None
`See application file for complete search history.
`
`Dlsplay Presentation Spacem
`
`,S1Ar1b
`
`1
`
`Second App EDA-Zn
`FmApp inn-J2
`Tools Hap
`Bookmarks
`File an Vlew
`Locamn
`Hltp Hmysure OcGT com
`
`sows
`-
`
`“
`ADD Mann
`FnkApp
`Sienna App
`T'Ilrd App ..
`
`Mam
`Task 1
`Task 2
`
`-
`-
`7
`
`MICROSOFT CORP. EX. 1001
`Page 1 of 30
`
`
`
`2013/0326401 Al’:< 12/2013
`
`van Os
`
`2014/0136979 A1
`2014/0245142 A1
`2015/0020101 A1
`2015/0040057 Al
`2015/0128059 A1
`2015/0227283 A1
`20I5/033157I AI’:<
`
`5/2014
`8/2014
`1/2015
`2/2015
`5/2015
`8/2015
`Il/2OIS
`
`............... .. G06F 3/0483
`715/802
`
`Morotomi
`Dresti et 31.
`Brown
`Smuga
`Bakhash
`Luna
`Chaudhri
`
`.......... .. G06F 3/04883
`715/830
`
`OTHER PUBLICATIONS
`
`GllB 27/329
`
`. G06F 3/04 82
`715/769
`
`
`
`Richard Leadbetter. “Digital Foundry vs. Halo: Reach beta,” avail—
`able at http1//wvwv.eurogamer.net/anicles/digitalfoundry—vs-halo—
`reach—beta—anicle7page:3 (posted on Jan. 5, 2010).
`Jason Fitzpatrick, “Split Screen Slices Your Chrome Window into
`Two Panes,"
`available
`at http://lifehackercom’SS11986/split-
`screen-slices-your-chrome-window-into-two-panes (posted on Apr.
`8, 2010).
`DonationCoder, “GridVlove,” available at https://web.archive.org/
`web/20 100208 1 828 l4/http:/figpaiva.dc1neinbers.corn/gridinove.
`htrnl (posted on Feb. 8, 2010).
`“100 open source gemsipart 2,” available at http://wwwtuxradar.
`corrv’content/ 100-open-source-gems-paIt-2 (posted on May 21,
`2009).
`homepage from “Splitview” website, available at https://web.ar-
`chive.org/’Web/200903 14055048/http://www. splitviewcorrv’ (posted
`Mar. 14, 2009).
`homepage from “Soulid Studio” website, available at https://web.
`arehive.org/web/20100515190349/http://www.soulidstudioxom/
`(posted May 15, 2010).
`“Divvy for Mac OS X,” available at https://Web.archiveorg/web/
`20100514104937/http://mizage.eom/divvy (posted on May 14,
`2010).
`Nurgo Software, “AquaSnap,” available at https://Web.arehive.org/
`web/20100330083810/http://Www.nurgo-software.com/products/
`aquasnap (posted on Mar. 30, 2010).
`hompage to “Winsplit Revolution,” available at https://Web.archive.
`org/web/2009100 102413 5/http: //'www.winsplit-revolution. corrv’
`(posted on Oct. 1, 2009),
`Google, “What is bug.n?,” available at https://web.3rchive.org/web/
`20l00326203241/http://code.google.com/p/bugn (posted on Mar.
`26, 2010).
`ZaneA, “l-lash l'WM,” available at https://web.3rchive.orgweb/
`201003032330 18/http://github.eom/ZaneNHashTWM (published
`Oct. 25, 2009).
`homepage to “MaxTo,” available at https://Web.archiveorg/web/
`20090522042853/http://www.maxto.net/ (posted May 22, 2009).
`0 flce Action Summary from U.S. Appl. l\ o. 14/924,677, dated 1-'eb.
`3, 2016.
`Oflce Action Summary in U.S. Appl. No. 12/868,767 dated Dec.
`31, 2012.
`O flce Action Summary in U.S. Appl. No. 12/868,767 dated Jul. 19,
`2013.
`O flee Action Summary in U.S. Appl. No. 12/868,767 dated Jan. 16,
`2014.
`O flee Action Summary in U.S. Appl. No. l4/173,806 dated Dec. 2,
`2015.
`0 flce Action Summary in U .8. Appl. No. l2/956,008, dated Jul. 31,
`2013.
`Oflce Action Summary in U.S. Appl. No. 12/956,008, dated Mar.
`27, 2014.
`O flce Action Summary in US. Appl. No. 14/331,096, dated Jan. 15,
`2016.
`O flee Action Summary in US. Appl. No. 14/924,706, dated Jan. 20,
`2016.
`Neowin, “VVindowSpace \72.0 Betaisnapping like in Windows 7,”
`available at http://Www.neowin.net/news/windowspace-v20—beta———
`snapping-like-in-windows-7 (posted Apr. 29, 2009).
`“Xerox
`Star,”
`available
`at
`https://web.3rchive.org/web/
`20100101040301/http://toastytech.com/guis/star.htm1 (posted on
`Jan 1, 2010),
`
`US 9,423,923 B1
`
`Page 2
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`8/2010
`4/2011
`8/2011
`4/2012
`8/2012
`9/20 I 2
`10/20 12
`12/20 12
`1/2013
`2/2013
`2/2013
`6/2013
`7/2013
`10/20 13
`I 2/20 I 3
`3/2014
`4/2014
`7/2014
`9/2014
`10/20 14
`1 1/20 14
`12/20 14
`I /20 I 5
`2/2015
`3/2015
`3/2015
`5/2015
`5/2015
`8/2015
`l/2003
`12/2004
`I /2005
`9/2005
`1/2006
`10/2006
`11/2006
`12/2006
`10/2007
`5/2008
`2/2009
`3/2009
`5/2009
`6/2009
`7/2009
`
`8/2009
`9/2009
`10/2009
`I 2/2009
`12/2009
`2/2010
`7/2010
`7/2010
`I I /20 I 0
`1 1/20 10
`12/20 10
`3/2011
`9/2011
`/2011
`10/20 1 l
`12/20 1 1
`1/2012
`l/2012
`2/2012
`3/2012
`4/2012
`4/20 I 2
`6/2012
`6/2012
`1 1/20 12
`2/2013
`3/2013
`3/2013
`8/2013
`
`Amadio et 31.
`Flynt et a1.
`Hart et 31.
`Zhang
`Williams et al.
`lshibashi
`Wang et a1.
`Holecek et a1.
`Matthews et 31.
`Kraut
`Singh et a1.
`Fyke et a1.
`Jarrett et al.
`Zaman et 31.
`Chiang et al.
`Rudolph et a1.
`Markiewiez el al.
`Morris
`Zaman et a1.
`Louch et 31.
`Donahue et al.
`Garside et 31.
`Leonard et al.
`Louch et al.
`Deutsch et 31.
`Kelly et 31.
`Louch et 31.
`Santoro et a1.
`Forstall et 31.
`Phillips et al.
`Weise et 31.
`Robertson et al.
`Matthews et al.
`Hui
`Rossi et 31.
`Marcos et a1.
`Marcos et a1.
`Ishibashi
`Karstens
`Rudolph et al.
`C110
`Yu
`Kawaguchi
`Lee .................... ..
`
`Matthews et al.
`Forstall et al.
`Arthursson
`Bollman et al.
`Kraut
`Marcos et a1.
`Chang
`Zhang
`Lyons et al.
`Shin et al.
`Wilairat
`Lee
`Ando
`Hunter et a1.
`Pinto et a1.
`Starr
`James
`Wagner
`Ohmori et al.
`Schlegel
`Gimpl et 31.
`Duai’re
`Klolzer
`Zaman et a1.
`Wong et al.
`Deutseh et a1.
`Zaman et a1.
`Zaman et 31.
`Lin
`
`B2
`B2
`B2
`B2
`
`SB
`
`2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`Al
`A1
`A I
`A1
`A1
`A1
`A1
`A1
`Al
`A1
`A I
`A1
`A1
`A1
`A1
`
`Al
`Al
`Al
`Al
`A1
`A1
`A1
`Al
`Al
`A1
`Al
`Al
`A1
`Al
`Al
`A1
`Al
`Al
`A1
`A1
`Al
`Al
`A1
`Al
`Al
`A1
`Al
`Al
`A1
`
`7,783,990
`7,933,632
`8,010,900
`8,166,411
`D665,405
`8,266,54I
`8,302,026
`8,341,541
`8,356,258
`8,379,058
`8,381,127
`8,457,692
`8,490,019
`8,560,959
`8,600,446
`8,667,415
`8,687,023
`8,780,130
`8,830,270
`8,869,027
`8,893,033
`8,922,575
`8,935,63I
`8,954,871
`8,990,733
`8,992,323
`9,032,318
`9,043,712
`9,104,294
`2003/0018609
`2004/0243938
`2005/0010876
`2005/0198584
`2006/0015246
`2006/0224992
`2006/0271853
`2006/0294470
`2007/0234221
`2008/0109753
`2009/0044I38
`2009/0070339
`2009/0138819
`2009/0164936
`2009/0193351
`
`2009/0199128
`2009/0228824
`2009/0254610
`2009/0300552
`2009/0303242
`2010/0037154
`2010/0169813
`2010/0169814
`20I0/028I372
`2010/0299597
`2010/0302172
`2011/0078733
`2011/0219330
`2011/0231878
`2011/0246904
`2011/0302528
`2012/0011437
`2012/0023453
`2012./0036443
`2012./0072867
`2012/0081302
`201 2/00847 I I
`2012./0154424
`2012/0167011
`2012/0304114
`2013/0047117
`2013./0063442
`2013/0063490
`2013./0198692
`
`MICROSOFT CORP. EX. 1001
`Page 2 of 30
`
`
`
`Microsoft, “Microsoft Web Apps: Office Goes to the Web,” avail-
`able at http://news.mierosoft.corrv2009/09/17/mierosoft-web-apps—
`olIice-goes-lo-the-Web/ (posted on Sep. 17, 2009).
`Microsoft, “Microsoft Office 2010 Hits Major Milestone and Enters
`Technical Preview,” available at http://news.microsoft.com/2009/
`07/13/1nicrosoft-oflice-20lO-hits-ngor-milestone-and—enters-tech-
`nical-preview/ (posted on Jul. 13. 2009.
`Ina Fried, “Next version of Ofliee heads to the browser,” available
`at
`http://www.cnet.com/news/next-version-of-office-heads-to-the-
`browser/ (posted on Apr. 9, 2009).
`Sarah Perez, “Microsoft Office W'eb Applications: Your Burning
`Questions Answered," available at https://ehannel9.msdn.com/
`blogs/coolstulT/nuerosoft-olflce-web-applications-your-burning-
`questions-answered (posted on Nov. 10, 2008).
`Steven Sinofsky, “Designing Aero Snap,” Mar. 17. 2009. https://
`blogs.msdn.microsofi.corm’e7/2009/03/17/designing-aero-snap/
`#comments (last accesed Mar. 25. 2016).
`Gina Trapani, “Snap Any Window to Half the Screen Size in
`Windows 7,” Nov. 5, 2008, http://lifehacker.eom/5077728/snap—
`any-Window-lo-half-the-screen-size-in-Windows-7 (last accessed
`Mar. 25, 2016).
`Seth Rosenblatt, “First Look: Touch-screen features in Windows 7,”
`Jul. 17, 2009, http:wawcnetcom/videos/touch-screen-teatures-
`in-windows-7/ (last accessed Mar. 25. 2016.
`Use Aero Snap with Internet Explorer 9 Tabs in Windows 7,
`available
`at
`http://www.howtogeek.com/howto/29090/use-aero-
`snap-with-ie-9-tabs-in-windows-7/ (posted Sep. 16, 2010).
`Microsoft Developer Network, “Object Binding Sample,” Jul. 15,
`2010, http://msdn.microsoft.com/en-us/library/8e36eeyx%28v:vs.
`90%29.aspx, last accessed Mar 20, 2014.
`Microsoft Developer Network, “Object Binding in Visual Studio,”
`2010,
`http://msdanicrosoft.com[’en-us/library/ms2338l 5(‘v:vs.
`100).aspx, last accessed Mar. 20, 2014.
`
`* cited by examiner
`
`Warren Teitelman, “Ten Years of Window SystemsiA Retrospec-
`tive
`View,"
`available
`at
`https://web .archive. org/web/
`20100316102701/http:/'/www.Chilton-computing.org.uk/inf/litera-
`ture/b00ks/Wm/p004.htm (posted on Mar. 10, 2010).
`“Window tiling history,” available at https://web.archiveorg/web/
`20100330011025/http1//mnemonikk.org/talks/tiling-wmen.htrnl
`(posted on Mar. 30. 2010).
`“Comparison of tiling window managers,” available at https://wiki.
`archlinux .org/ind ex p11p7title:Comparisoniofitilingiwindowi
`managers&oldid:112641 (posted on Jul. 26, 2010).
`Jim Allehin, “The Sounds of Windows Vista," available at https://
`web.arehive.org/web/20061110152317/http://windowsvistablog.
`com/blogs/windowsvista/archive/2006/11/09/the-sounds-of-win-
`dows-vista.aspx (posted on Nov. 9, 2006).
`Long Zheng, “From Microsoft patent to Windows reality: “X-ray
`browsing". circa 2005; Aero Peek. circa 2008," available at http://
`wwwistartedsomething.corrv'20081 13 0/from-microsoft-patent-to-
`windows-reality-x-ray-browsing-aero-peek/ (posted on Nov. 30,
`2008).
`Steven Sinofsky, “Touching Windows 7," available at http://blogs.
`msdn.cony'b/e7/archive/2009/03/25/touching-windows-7.aspx
`(posted on Mar. 25, 2009).
`Kiriaty and Goldshtein, “Inside Windows 77Inlroducing the
`Taskbar APIs.” available at https://msdn.mierosoft.eorrven—us/
`magazine/dd942846aspx (posted Jul. 2009).
`Ina Fried, “Vista won’t show fancy side to pirates," available at
`http:/'/\va.cnet.eom/news/vista-wont-show-fancy-side-to-pirates/
`(posted Apr. 14, 2006).
`Klint Finley, “Microsoft Rolls 011 0 ice Web Apps.” available at
`http //readwrite.conv’2010/06/0 8/microsofi-roll s-out-office-web
`(posted on Jun. 8, 2010).
`Microsoft, “Microsoft to Extend 0 ice to the Browser,” available at
`hllp://news.microsoflcom/2008/10/28/microsoft-to-extend-oflice-
`to-the—browser/ (posted on Oct. 28, 2008).
`
`
`
`
`
`US 9,423,923 B1
`Page 3
`
`(56)
`
`References Cited
`OTHER PUBLICATIONS
`
`
`
`
`MICROSOFT CORP. EX. 1001
`Page 3 of 30
`
`
`
`a925059:0
`
`cozzomxm.
`
`Eek—BL.
`
`#6sz
`
`E9562
`
`momtBE
`
`353mv<
`
`EBwEwa
`
`Emvcoomw
`
`a9365
`
`bcm3:933350
`
`flmEEm>mg3w
`
`awcozmo=gg<
`
`9:980
`
`a5656
`
`J
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 1 of 13
`
`US 9,423,923 B1
`
`amo_>wn_SQE
`
`$250Sac.
`
`a55m?
`
`59:0
`
`83mm.
`
`a5:52
`
`-cosoEBE
`
`96809.;
`
`aE:
`
`3%.852:
`
`a39:22
`
`a29:223%_§:_>
`
`dmUoZBoSmD
`
`N FE
`
`mEcEScm
`
`MICROSOFT CORP. EX. 1001
`Page 4 of 30
`
`
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 2 of 13
`
`US 9,423,923 B1
`
`in a first application region of a presentation space of a
`Detect,
`display device, a first visual component, ofa first operating
`application in a plurality of operating applications
`
`Detect a user input corresponding to the first navigation control
`
`Send, in response to detecting the user input, navigation information
`
`Present a first navigation control, in a first navigation region
`determined based on the first application region, for navigating to a
`second visual component, of a second application in the plurality, in a
`second application region in the presentation space
`
`to navigate to the second visual component
`
`MICROSOFT CORP. EX. 1001
`Page 5 of 30
`
`
`
`Navigation
`Element Handler
`
`fl
`
`Application
`Navigator fl
`
`Navigation
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 3 of 13
`
`US 9,423,923 B1
`
`.
`PS Monitor &
`
`Director fl
`
`MICROSOFT CORP. EX. 1001
`Page 6 of 30
`
`
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 4 of 13
`
`US 9,423,923 B1
`
`Execution Environment 4013
`
`Graphics Subsystem
`439a
`
`GUI Subsystem
`437a
`
`Input
`Dnver
`441a
`
`Presentation Controller 435a
`
`Navigation
`Element
`
`Application 403a
`
`Ul Element
`
`Handler
`433a
`
`Network Stack 411a
`
`Handler406a .
`
`Navigation
`Director 408a
`
`Application
`Navigator 4048
`
`_
`PS Monitor 402a
`
`Application Protocol Component 413a
`
`MICROSOFT CORP. EX. 1001
`Page 7 of 30
`
`
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 5 of 13
`
`US 9,423,923 B1
`
`Graphics Subsystem
`439b
`
`GUI Subsystem
`437b
`
`Presentation Controller 435b
`
`Execution Environment m
`
`Browser 403p
`
`Ul element
`handler
`433b
`
`Network Stack 4 1b
`
`Navigation
`Element Handler
`406b
`
`: Network Application
`Agent 405b
`
`Navigation
`Director
`408b
`
`Content
`Handler
`431 b
`
`Application
`Navigator 404b
`
`PS Monitor 402b
`
`Content Manager
`415p
`
`Application Protocol Component 4’13b
`
`MICROSOFT CORP. EX. 1001
`Page 8 of 30
`
`
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 6 of 13
`
`US 9,423,923 B1
`
`Graphics Subsystem 439C
`
`GUI Subsystem 437C
`
`.
`PS Monitor 4020
`
`Application
`Navigator 4040
`
`Navigation
`Director
`4080
`
`Navigation
`Element Handler
`406C
`
`Execution Environment fl
`
`Input Driver
`441C
`
`Network Stack 411C
`
`Presentation Controller
`435c1
`
`First Application 403-10
`
`Presentation Controller
`435c2
`
`Second Application 403-20
`
`Ul Element
`Handler
`43301
`
`UI Element
`Handler
`
`43362
`
`Application Protocol Component 4130
`
`MICROSOFT CORP. EX. 1001
`Page 9 of 30
`
`
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 7 of 13
`
`US 9,423,923 B1
`
`Network Stack 411d
`
`Application Protocol Component 413d
`
`Network Application Platform 409d
`
`Controller 417d
`
`View Subsystem 429d
`
`Navigation
`Director
`408d
`
`PS Monitor 402d
`
`Execution Environment 401d
`
`Navigation
`Element
`Handler 406d
`
`Application
`Navigator 404d
`
`Model Subsystem 419d
`
`Network Application 4 3d
`
`Template Engine
`423d
`
`Template
`Database 425d
`
`Template
`fl
`
`Model Database
`421d
`
`MICROSOFT CORP. EX. 1001
`Page 10 of 30
`
`
`
`User Node
`
`&
`
`Network
`
`&
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 8 of 13
`
`US 9,423,923 B1
`
`fl
`
`Application
`Provider Node
`
`MICROSOFT CORP. EX. 1001
`Page 11 of 30
`
`
`
`US 9,423,923 B1
`
`//
`
`616_3a
`
`U.S. Patent
`
`Aug. 23, 2016
`
`Sheet 9 of 13
`
`Display Presentation Space 602a
`// 616-13,,” 616'2a/,/“ 514—2a
`
`Third App
`
`MICROSOFT CORP. EX. 1001
`Page 12 of 30
`
`
`
`U.S. Patent
`
`Aug. 23,2016
`
`Sheet 10 of 13
`
`US 9,423,923 B1
`
`Display Presentation Space 02b
`
`Second App 604-2b
`
`‘614-1b
`
`i
`
`i
`
`/
`
`Bookmarks
`
`Tools
`
`Help
`
`608-1b
`
`Location
`
`Http://mysite.OoOT.com
`
`609-1 b
`
`First App 604-1b
`File
`Edit View
`
`Application Presentation Space 610-1b
`
`MICROSOFT CORP. EX. 1001
`Page 13 of 30
`
`
`
`Edit View
`
`Bookmarks
`_
`Http://mySIte.OoOT.com
`
`Tools
`
`Application Presentation Space 610-1c
`
`U.S. Patent
`
`Aug. 23,2016
`
`Sheet 11 of 13
`
`US 9,423,923 B1
`
`Display Presentation Space 6020
`
`/// 614-1c
`
`First App 604-1C
`
`Help
`
`608-1c
`09-10
`
`6
`
`+ First App
`- Second App
`File
`|—Maln
`|
`l- Tab 1 _ _
`I
`‘_ Tab 2
`Location
`— Third App
`
`Application Presentation Space 610-20
`
`MICROSOFT CORP. EX. 1001
`Page 14 of 30
`
`
`
`U.S. Patent
`
`Aug. 23,2016
`
`Sheet 12 of 13
`
`US 9,423,923 B1
`
`Display Presentation Space 02d
`
`Second App 604-2d
`
`+ First App
`- Second App
`|
`- Main
`|
`|- "ab 1
`|
`|- "ab 2
`- Third App
`
`
`
`MICROSOFT CORP. EX. 1001
`Page 15 of 30
`
`
`
`U.S. Patent
`
`Aug. 23,2016
`
`Sheet 13 of 13
`
`US 9,423,923 B1
`
`Display Presentation Space 602a
`
`First App 604-1e
`
`File
`
`Edit View
`
`Bookmarks
`
`Tools
`
`Help
`
`ActiveApps
`
`Location
`
`Http://mysite.OoOTicom
`
`App
`
`616-2e
`
`616-3e /'
`
`second App -
`ThirdApp
`/
`
`MICROSOFT CORP. EX. 1001
`Page 16 of 30
`
`
`
`for purposes of
`
`invention will
`Objects and advantages of the present
`become apparent to those skilled in the art upon reading this
`description in conjunction with the accompanying drawings,
`in which like reference numerals have been used to desig-
`nate like or analogous elements, and in which:
`FIG. 1 is a block diagram illustrating an exemplary
`hardware device included in and/or otherwise providing an
`execution environment in which the subject matter may be
`implemented;
`FIG. 2 is a flow diagram illustrating a me hod for navi-
`’ gating between visual components according to an aspect of
`the suoject matter described herein;
`FIG. 3 is a block diagram illustrating an arrangement of
`cornponen s
`for navigating Jetween visua
`cornponen s
`aceorcing to another aswect of the su jject matter described
`herein;
`FIG. 4a is a block diagram illustrating an arrangement of
`cornponen s
`for navigating Jetween visua
`cornponen s
`aceorcing to another as sect of the suaject matter described
`herein;
`FIG. 4b is a block diagram illustrating an arrangement of
`cornponen s
`for navigating oetween visua
`cornponen s
`accorcing to another as sect of the su Jject matter described
`herein;
`FIG. 4c is a block diagram illustrating an arrangement of
`cornponen s
`for navigating oetween visua
`cornponen s
`accorcing to another as sect of the su Jject matter described
`herein;
`FIG. 40! is a block diagram illustrating an arrangement of
`cornponen s
`for navigating oetween visua
`cornponen s
`accorcing to another as sect of the su jject matter described
`herein;
`FIG. 5 is a network diagram illustrating an exemplary
`sys em for navigating between visual components according
`to another aspect of the subject matter described herein;
`FIG. 6a is a diagram illustra ing a user interface presented
`via a display according to another aspect of the subject
`mater described herein;
`FIG. 6b is a diagram illustra ing a user interface presented
`via a display according to another aspect of the subject
`mater described herein;
`FIG. 6C' is a diagram illustra ing a user interface presented
`via a display according to another aspect of the subject
`mater described herein;
`FIG. 6d is a diagram illustra ing a user interface presented
`via a display according to another aspect of the subject
`ma ter described herein; and
`FIG. 6e is a diagram illustra ing a user interface presented
`via a display according to another aspect of the subject
`mater described herein.
`
`US 9,423,923 B1
`
`2
`region, for navigating to a second visual component, of a
`second application in the plurality, in a second application
`region in the presentation space. A user input corresponding
`to the first navigation area is detected. In response to the
`detected user input, navigation information is sent to navi—
`gate to the second visual component.
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`1
`NAVIGATION METHODS, SYSTEMS, AND
`COMPUTER PROGRAM PRODL CTS
`
`RELATED APPLICATIONS
`
`
`
`
`
`The present application is continuation o , and claims
`priority to US. patent application Ser. No. 14/173,806, titled
`“METHODS, SYSTEMS, AND CONTPUTER PROGRAM
`PRODUCTS FOR NAVIGATING BETWHN VISUAL
`
`COMPONENTS," filed Feb. 5, 2014; which, in turn, is a
`continuation-in-part of, and claims priority to US. patent
`application Ser. No, 12/868,767, titled “METHODS, SYS-
`TEMS, AND COMPUTER PROGRAM PRODUCTS FOR
`NAVIGATING BETW4 4N VISUAL COMPONENTS,”
`filed on Aug. 26, 2010, now issued as US. Pat. No.
`8,661,361; US. patent application Ser. No. 12/956,008,
`titled “VETHODS, SYSTEMS, AND COMPUTER PRO-
`
`GRAM PRODUCTS FOR BINDING ATTRIBUTES
`BETWe 4N VISUAL COMPONENTS," filed on Nov. 30,
`2010, now issued as US. Pat. No. 8,780,130; and US.
`patent application Ser, No, 12/955,993, titled “METHODS,
`SYSTEMS, AND COMPUTER )ROGRAM PRODUCTS
`FOR AUTOMATICALLY SCROLDING ITEMS IN A
`SELECTION CONTROL,” filed on Nov. 30, 2010, all of
`which are incorporated herein by reference in their entirety '
`for all purposes.
`
`
`
`
`
`
`
`
`
`
`
`
`BACKG RO U ND
`
`Cluttered desktops on desktop, notebook, and handheld
`devices are common. Navigating among visual components
`of various applications requires locating a desired visual
`component in the clutter and/or interoperating with a stan-
`dard user interface element such as a task bar and/or
`application menu of a desktop that remains in a single
`location and requires the same types of inputs and user
`movements for each application and/or visual component to
`be located. This may require a user to repeat a similar and/or
`same set of movements over and over. Further, a task bar or
`other standard application navigation user interface may be
`located in a location that is convenient for some applications
`but inconvenient for others for a user. This creates a lot of
`input overhead in cases where switching between applica-
`tions is frequent. Input to bring an application into focus is
`essentially non-productive input, as it is not related to any of
`the tasks performed by the applications a user is interacting
`with.
`Accordingly, there exists a need for methods, systems,
`and computer program products for navigating between
`visual components.
`
`SUMMARY
`
`The following presents a simplified summary of the
`disclosure in order to provide a basic understanding to the '
`reader. This summary is not an extensive overview of the
`disclosure and it does not identify key/critical elements of
`the invention or delineate the scope of the invention. Its sole
`purpose is to present some concepts disclosed herein in a
`simplified form as a prelude to the more detailed description
`that is presented later.
`Methods and systems are described for navigating
`between visual components. A first visual component, of a
`first application in a plurality of applications, is detected in
`a first application region of a presentation space of a display
`device. A first navigation area is presented, in a first navi-
`gation region determined based on the first application
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DETAILED DESCRIPTION
`
`One or more aspects of the disclosure are described with
`reference to the drawings, wherein like reference numerals
`are generally utilized to refer to like elements throughout,
`and wherein the various structures are not necessarily drawn
`to scale.
`In the following description,
`
`MICROSOFT CORP. EX. 1001
`Page 17 of 30
`
`
`
`US 9,423,923 Bl
`
`
`
`4
`FIG. 1 illustrates virtual processor memory 118 spanning
`at least part of physical processor memory 106 and at least
`part of persistent secondary storage 108. Virtual memory
`addresses in a memory address space may be mapped to
`physical memory addresses identifying locations in physical
`processor memory 106. An address space for identifying
`locations in a virtual processor memory is referred to as a
`virtual memory address space; its addresses are referred to
`as Virtual memory addresses; and its processor memory is
`known as a virtual processor memory or virtual memory.
`The term “processor memory” may refer to physical pro—
`cessor memory 106 and/or virtual processor memory 118
`depending on the context in which the term is used.
`Physical processor memory 106 may include various
`types of memory technologies. Exemplary memory tech—
`nologies include static random access memory (SRAM)
`and/or dynamic RAM (DRAM) including variants such as
`dual data rate synchronous DRAM (DDR SDRAM), error
`correcting code synchronous DRAM (ECC SDRAM), and/
`‘ or RAMBUS DRAM (RDRAM). Physical processor
`memory 106 may include volatile memory as illustrated in
`the previous
`sentence and/or may include nonvolatile
`memory such as nonvolatile flash RAM (NVRAIVI) and/or
`ROM.
`Persistent secondary storage 108 may include one or more
`flash memory storage devices, one or more hard disk drives,
`one or more magnetic disk drives, and/or one or more optical
`disk drives. Persistent
`secondary storage may include
`removable media. The drives and their associated computer—
`readable storage media provide volatile and/or nonvolatile
`storage for computer-readable instructions, data structures,
`program components, and other data for execution environ-
`ment 102.
`Execution environment 102 may include software com-
`ponents stored in persistent secondary storage 108,
`in
`remote storage accessible via a network, and/or in a proces-
`sor memory. FIG. 1 illustrates execution environment 102
`including operating system 120. one or more applications
`122, and other program code and/or data components illus-
`trated by other libraries and subsystems 124. In an aspect,
`some or all software components may be stored in locations
`accessible to IPU 104 in a shared memory address space
`shared by the software components. The software compo-
`nents accessed via the shared memory address space are
`stored in a shared processor memory defined by the shared
`memory address space. In another aspect, a first software
`component may be stored in one or more locations accessed
`by IPU 104 in a first address space and a second software
`component may be stored in one or more locations accessed
`by IPU 104 in a second address space. The first software
`component is stored in a first processor memory defined by
`the first address space and the second software component is
`stored in a second processor memory defined by the second
`address space.
`instructions
`typically include
`Software
`components
`executed by IPU 104 in a computing context referred to as
`a “process”. A process may include one or more “threads”.
`A “thread” includes a sequence of instructions executed by
`IPU 104 in a computing sub-context of a process. The terms
`“thread” and “process” may be used interchangeably herein
`when a process includes only one thread.
`Execution environment 102 may receive user-provided
`information via one or more input devices illustrated by
`input device 128. Input device 128 provides input informa-
`tion to other components in execution environment 102 via
`input device adapter 110. Execution environment 102 may
`include an input device adapter for a keyboard, a touch
`
`3
`explanation, numerous specific details are set forth in order
`to provide a thorough understanding of one or more aspects
`of the disclosure. It may be evident, however, to one skilled
`in the art that one or more aspects of the disclosure may be
`practiced with a lesser degree of these specific details. In
`other instances, well—known structures and devices are
`shown in block diagram form in order to facilitate describing
`one or more aspects of the disclosure.
`An exemplary device included in an execution environ-
`ment that may be configured according to the subject matter
`is illustrated in FIG. 1. An execution enviromnent includes
`an arrangement of hardware and, optionally, software that
`may be further configured to include an arrangement of
`components for performing a method of the subject matter
`described herein. An execution environment includes and/or
`is otherwise provided by one or more devices. An execution
`environment may include a virtual execution environment
`including software components operating in a host execution
`environment. Exemplary devices included in or otherwise
`providing suitable execution environments for configuring
`according to the subject matter include personal computers,
`notebook computers,
`tablet computers, servers, handheld
`and other mobile devices, multiprocessor devices, distrib—
`uted devices, consumer electronic devices, routers. commu-
`nication servers, and/or other network-enabled devices.
`Those skilled in the art will understand that the components
`illustrated in FIG. 1 are exemplary and may vary by par—
`ticular execution environment.
`FIG. 1 illustrates hardware device 100 included in execu-
`tion environment 102. FIG. 1 illustrates that execution
`environment 102 includes instruction-processing unit (IPU)
`104, such as one or more microprocessors; physical proces—
`sor memory 106 including storage locations identified by
`addresses in a physical memory address space of IPU 104;
`persistent secondary storage 108, such as one or more hard
`drives and/or flash storage media; input device adapter 110,
`such as a key or keypad hardware, a keyboard adapter,
`and/or a mouse adapter; output device adapter 112, such as
`a display or audio adapter for presenting information to a
`user; a network interface component, illustrated by network
`interface adapter 114, for commtmicating Via a network such
`as a LAN and/or WAN; and a communication mechanism
`that couples elements 104-114, illustrated as bus 116. Ele-
`ments 104-114 may be operatively coupled by various
`means. Bus 116 may comprise any type of bus architecture,
`including a memory bus, a peripheral bus, a local bus, and/or
`a switching fabric.
`IPU 104 is an instruction execution machine, apparatus,
`or device. Exemplary IPUs include one or more micropro-
`cessors, digital signal processors (DSPs), graphics process—
`ing units, application-specific integrated circuits (ASICs),
`and/or field programmable gate arrays (FPGAs). In the
`description of the subject matter herein, the terms “IPU” and
`“processor” are used interchangeably. IPU 104 may access
`machine code instructions and data via one or more memory
`address spaces in addition to the physical memory address
`space. A memory address space includes addresses identi-
`fying locations in a processor memory. The addresses in a
`memory address space are included in defining a processor
`memory.
`IPU 104 may have more than one processor
`memory. Thus, IPU 104 may have more than one memory
`address space. IPU 104 may access a location in a processor
`memory by processing an address identifying the location.
`The processed address may be in an operand of a machine
`code instruction and/or may be identified in a register or
`other portion of IPU 104.
`
`,
`
`MICROSOFT CORP. EX. 1001
`Page 18 of 30
`
`
`
`US 9,423,923 B1
`
`~
`
`,
`
`may provide services to one or more network applications.
`
`6
`to the method illustrated in FIG. 2. FIG. 3 illustrates a
`system, adapted for operation in an execution enviromnent,
`such as execution environment 102 in FIG. 1, for performing
`the method illustrated in FIG. 2. The system illustrated
`includes a presentation space (PS) monitor component 302,
`an application navigator component 304, a navigation ele—
`ment handler component 306, and a navigation director
`component 308. The execution environment includes an
`instruction-processing unit, such as IPU 104, for processing
`an instruction in at
`least one of the presentation space
`monitor component 302, the application navigator compo-
`nent 304,
`the navigation element handler component 306,
`and the navigation director component 308. Some or all of
`the exemplary components illustrated in FIG. 3 may be
`adapted for performing the method illustrated in FIG. 2 in a
`number of execution environments. FIGS. 4a-d include
`block diagrams illustrating the components of FIG. 3 and/or
`analogs of the components of FIG. 3 adapted for operation
`in various execution environments 401 including and/or
`otherwise provided by one or more nodes.
`FIG. 1 illustrates components of an exemplary device that
`may at least partially provide and/or otherwise be included
`in an execution environment. The components illustrated in
`FIGS. 4a-d may be included in or otherwise combined with
`the components ofFIG. 1 to create a variety of arrangements
`of