`US 6,278,448 B1
`(10) Patent No.:
`Brownetal.
`(45) Date of Patent:
`*Aug. 21, 2001
`
`
`US006278448B1
`
`5,737,560 *
`(54) COMPOSITE WEB PAGE BUILT FROM ANY
`4/1998 Yohanan o....ccessesssecneeeeees 345/349
`5,877,765 *
`WEB CONTENT
`oe 345/349
`3/1999 Dickman et al.
`
`
`5,877,767 * 3/1999 Yohanan oo...eectceeeeee 345/357
`(75)
`Inventors: Christopher R. Brown, Seattle;
`oS :
`3)909 cumand nee
`” “O70.
`‘
`‘
`.
`3890,
`idana
`Michae}A.Schild,tssaquahs Sankar
`S914,714 *
`6/1999 BrOWN sennnnsenenense 345/339
`
`6,061,695 *
`?
`,
`5/2000 Slivka et al. wee 707/513
`7/2000 Dickman et al. eicscsenenene 345/329
`Flynn, North Bend; Edward Jason
`6,091,409 *
`Anderson, Duvall; Matthew C.
`Squires, Redmond, all of WA (US)
`
`
`
`* cited by examiner
`
`*)
`
`©
`
`Notice:
`
`This patent issued on a continued pros-
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`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).
`.
`4.
`.
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`Primary Examiner—Crescelle N. dela Torre
`(74) Attorney, Agent, or Firm—Christensen O’Connor
`Johnson & Kindness PLLC
`67)
`ABSTRACT
`A method of creating a composite desktop built from Web
`contentretrieved from one or more Websites is disclosed. A
`component on a Web pagecan be selected and positioned on
`the composite desktop. The componentcan be a static image
`or an active desktop componentproviding dynamic content.
`An entire Web page can also be selected and positioned as
`a component on the composite desktop. Components can be
`selected for the composite desktop using one of several
`mechanisms.Selection of a control on a Web page causes the
`(21) Appl. No.: 09/024,673
`selection of a corresponding component on the Web page. A
`.
`control panel utility allows the designation of a URL to
`(22) Filed
`Feb.17, 1998
`
`CSV) Tint C07eeeeccceccceeeeeescesnneesceesnneeeecnneeeeeee GO06F 3/00 select the corresponding Web page for inclusion as a com-
`
`(52) US. Ch. aecccsessssssee
`... 345/333; 345/348
`ponent on the composite desktop. Images from Web pages
`
`(58) Field of Search 0... 345/333, 334,
`and objects representing URLs can be dragged and dropped
`345/339, 342, 348; 707/501, 513, 530
`onto the composite desktop. Icons on a composite desktop
`are displayed in front of the composite desktop components.
`Auser can create multiple composite desktops and switch to
`a different desktop when desired.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,724,595 *
`
`3/1998 Gentner occ 707/501
`
`21 Claims, 8 Drawing Sheets
`
`
`
`
`
`
`
`|Microsoft Investor|
`My Computer
`
`Dow 8151.88 -37.61 S&P500 1008.78 -3.68 NASDAQ|
`[custom|update
`
`
`
`Build on home-buying]
`sa [<< [a >
`
`
`Network
`Neighborhood
`
`El
`File Manager
`
`
`oNMicrosoft
`
`sa)Internet
`
`304
`
`“NG
`
`Recycle Bin
`
`CD Player
`aa
`
`Outlook
`
`Explorer
`
`A
`
`306
`
`
`
`1
`
`SAMSUNG 1005
`
`IPR2024-00145
`Apple EX1005 Page 1
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 1 of 8
`
`US 6,278,448 B1
`
`AYOMIIN
`
`FATANSIC
`dAING
`
`JILINDVW
`NSICGUVH
`
`AIOVINALNI
`FJOVANTAINI
`
` AJOVANAINI
`
`9SSF
`
`
`
`ualLdvav|oranvOJdIAWaldVav
`
`
`
`
`
`
`ONISSTDOUd
`
`1LINN
`
`
`
`
`
`
`
`
`
`IPR2024-00145
`Apple EX1005 Page 2
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 2 of 8
`
`US 6,278,448 B1
`
`204
`
`HTML VIEWER
`
`212
`
`210
`
`ACTIVE
`DESKTOP
`
`DESKTOP.HTT
`FILE
`
`
`
`SHELL
`INTERFACE
`
`206
`
`714
`
`REGISTRY
`
`208
`
`o18
`
`CONTROL
`PANEL APPLET
`
`216
`
`
`
`APPLICATION
`PROGRAM
`
`202
`
`
`220
`
`
`SHELL UI CONTROL
`
`209
`
`Fig.2.
`
`IPR2024-00145
`Apple EX1005 Page 3
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 3 of 8
`
`US 6,278,448 B1
`
`VES1 dasojdxg
`
`BOE
`
`POE
`
`DOE
`
`BOE
`
`FOE
`
`POE
`
`POE
`
`COE
`
`YOsos|py
`
`Oonng
`
`yawaqy|
`
`IPR2024-00145
`Apple EX1005 Page 4
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 4 of 8
`
`US 6,278,448 B1
`
`d
`
`coe
`
`0ce
`
`POE
`
`POE
`
`POE
`
`bOE
`
`IPR2024-00145
`Apple EX1005 Page 5
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 5 of 8
`
`US 6,278,448 B1
`
`dovjseqfe]
`Yosoiipl|snaimm|dOus|Laoddns|HOYWIS|SLONdOUd|LIOSOUDIW
`SM3Udo}ot)JOsaulj|peaysnjd10}saAUTWo.saJonbyDoIsaILOAey
`
`
`
`
`
`ANOAYUMpajepdnNOAsdaayJaxONJOISSAUTYOSOIIJAY[OODSIYL
`
`
`
`
`
`
` AlOISIH=SaJOARY=YoteasawioHysayoydoispiemiojyorg/Asa|fe3/Opal/al/Wi0doso]MMM//:dI34[el|[:ssaippV|sjauuey>
`
`
`
`
`
`
`
`
`
`aesBY@&®«=>djaSaiwoAeyOFMIAUPJaid
`
`
`4peojumMogaOJU]NpolgwBWOPJaojdxyJeuleqU]Zoe
`
`
`AlayjeydovjsagsAnoy8Kaan
`
`
`JIIO|AXJJWUIIIUTIYOSO.DIPY-AlayjeD
`
`
`
`
`
`uwMMM///:dyySuluadOased
`
`POF
`
`
`
`|J0}S9AU|YOsos9iyy]|
`
`
`
`“ANSAWoysaiioys
`
`
`
`
`
`AIO]IOISIAU]YOSOADIP
`
`
`
`
`
`O'pJatojdxqJousauysonpoid
`
`80F
`
`IPR2024-00145
`Apple EX1005 Page 6
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 6 of 8
`
`US 6,278,448 B1
`
` G81]_auoz
`IYOylewapely]pueaedS|fe
`PpoyepdySIVSHRISJudeIvaTepus[eypojyoojago|Yeasais|(3649S)
`
`
`
`UNLTonoig})payepdy)SoNSHeSJUo}egIvaJUpusje,eWaLasoreiqn
`
`
`
`
`AOWAOMAVWAGVAL|=]
`
`
`owe!|[]LJLJLEd
`
`
`
`J9IO[AXJJOUIIIU]YOSOIIpP-88eqVWOPY
`CNVLN@LVdSa
`.[$994Old|“OHSOLd94}UOMON
`
`ado}48PiO
`
`
`L66]t0quladagYGono1y}819Aqojuy
`7AO3O}dsN"-MMM//:0NY[alll:ssaippY|jaysowoaeyODMIAUPZaly
`
`
`
`
`L661-___»epuraus
`
`
`
`SULIOJPeOojUMOG
`
`OldInNoqyv
`
`
`
`
`
`
`
`sjuajzegYoieas
`
`bedApeM
`
`IPR2024-00145
`Apple EX1005 Page 7
`
`
`
`Aug. 21, 2001
`
`Sheet 7 of 8
`
`US 6,278,448 B1
`
`U.S. Patent ‘9‘OLZ09
`
`
`
`JUEMNOAWaydoysSaqeBANIY942JO(TY)UOHeIO]ayadAL
`
`"YWAOJYDIeISO}BSMOIGYIIJD“AO*a3e9190}
`
`
`
`
`
`:U01Ne907
`
`
`
`Ws}]dovjsagsANDYMON
`
`IPR2024-00145
`Apple EX1005 Page 8
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 8 of 8
`
`US 6,278,448 B1
`
`START
`
`
`
`
`
`RECEIVE COMMAND
`
`Y/
`
`
`
`
`"MODIFY"
`
`
`
`"UPDATE
`COMMAND
` "ADD"
`
`WALLPAPER"
`
`
`COMMAND
`
`COMMAND
`
`
`"DELETE"
` 706
`qe
`COMMAND
`710
`
`
`
`
`
`
`
`STORE NEW
`DELETE
`MODIFY
`UPDATE
`COMPONENT
`COMPONENT
`COMPONENT
`WALLPAPER
`
`
`
`
`
`DATA IN
`DATA FROM
`DATA IN
`DATA IN
`
`
`
`
`
`REGISTRY
`REGISTRY
`REGISTRY
`
`
`
`
`
`
`REGISTRY
`
`
`GENERATE HTML
`INSTRUCTIONS
`
`
`
`REFRESH DESKTOP
`
`714
`
`716
`
`Fig. 7.
`
`IPR2024-00145
`Apple EX1005 Page 9
`
`
`
`US 6,278,448 B1
`
`1
`COMPOSITE WEB PAGE BUILT FROM ANY
`WEB CONTENT
`
`FIELD OF THE INVENTION
`
`The present invention relates to the field of user interface
`desktops and,
`in particular,
`to methods and systems for
`incorporating content into such a desktop.
`BACKGROUND OF THE INVENTION
`
`With the advent of the Internet, it is now the case that
`personal computers have access to a much larger number
`and variety of resources (e.g. Web pages) than they currently
`do today on Local Area Networks. Since GUI desktops are
`typically designed to give the computer user a set of ‘entry
`points’ to all of the resources they care about, it is compel-
`ling to enhance the GUI desktop so that it can serve entry
`points to a much wider variety of resources, particularly
`those found on the World Wide Web.
`
`Prior art GUI desktops have represented such ‘entry
`points’ with icons, each of which typicallyfits a strict form
`factor(e.g., 32x32 pixels and a line or twooftext). This type
`of representation does not scale well
`to the variety of
`resources on the World Wide Web,sinceit is limited in size,
`strict in form factor, and static (unchanging). The invention
`described here is designed to provide a way for a GUI
`desktop to more adequately provide ‘entry points’ to Internet
`resources (primarily, HTML-based Web pages); these ‘entry
`points’ scale better to Web pages because: a) they can be any
`size (customizable by user OR by the Web author); b) the
`representationis not strict, and so, for instance, instead of a
`static icon the entry point can be used to show a ‘preview’
`of the Web pages they point to; and c) the representationis
`not static but can instead change over time to reflect the
`changing nature of the resource (e.g. Web page).
`In short, it is the intent of the current invention to enhance
`the GUI desktop by introducing a ‘new breed’of entry points
`(or “shortcuts”) to Internet resources, as an addition to the
`icon entry points that exist in prior art desktops.
`It is now common for computer operating systems to
`employ a graphical user interface (GUI) to convey informa-
`tion to, and receive commands from, users. An example of
`an operating system that provides a graphical user interface
`is the Windows95 operating system, produced by Microsoft
`Corporation of Redmond, Wash.
`The graphical user interface of Windows 95, and other
`operating systems, is based on a desktop metaphor. More
`specifically, the GUI creates a graphical environment that
`simulates working at a desk. The graphical elements dis-
`played on the computer desktop are analogous to objects
`placed on the top of a user’s desk.
`The desktop of a GUI is a screen display containing icons
`representing programs,files, and resources available to the
`user. The desktop acts as a launching point for running
`application programs, opening documentsorfiles, and ini-
`tiating operating system services. In a typical GUI,
`the
`desktop always remains as a full screen backgrounddisplay,
`and all visible windows and icons overlay the desktop as
`would paper documents and other items on top of an actual
`desk.
`
`Icons placed on a desktop are static graphic images, and
`typically represent computer programs, files, or operating
`system services “Activation” of an icon may cause the
`operating system to invoke an associated program and
`optionally an associated file or data set.
`Windowsin a GUIcan typically be resized, moved around
`the display, and stacked so as to overlay each other. Win-
`
`2
`dowstypically have a top-to-bottom order in which they are
`displayed, with top windowsat a particular location on the
`screen overlaying any other window at the same location.
`In recent years there has been a proliferation of computers
`connected to a global network known asthe Internet. A
`“client” computer connected to the Internet can download
`digital information from “server” computers connected to
`the Internet. Client application software executing on client
`computers typically accept commands from a user and
`obtain data and services by sending requests to server
`applications running on server computers connected to the
`Internet.
`
`Client computers access data on the World Wide Web,
`often referred to as “the Web.” The World Wide Web is an
`information service on the Internet providing documents and
`links between documents. The World Wide Web is made up
`of numerous websites around the world that maintain and
`
`distribute Web documents. Web documents maybein one of
`a number of formats,
`including the Hyper Text Markup
`Language (HTML). An HTML document can contain text,
`graphics, audio clips, and videoclips, as well as metadata or
`commandsproviding formatting information. HTML docu-
`ments also include embedded “links,” referred to as
`“hyperlinks,” that reference other data or documents located
`on the local computer or network server computers. An
`intranet is a local area network containing at least one Web
`server and multiple client computers operating in a manner
`similar to the World Wide Web.
`
`A Webbrowseris a client application or operating system
`utility that communicates with server computers using one
`or more protocols, including the Hyper Text Transfer Pro-
`tocol (HTTP). Web browsers receive Web documents from
`the network and present them to a user. Internet Explorer,
`available from Microsoft Corporation, is an example of a
`popular Web browser.
`In addition to data and metadata, HTML documents can
`contain embedded software components containing program
`code that perform a wide variety of operations, such as
`manipulating data, updating the displayed data, and playing
`audio or videoclips. ActiveX is a specification developed by
`Microsoft Corporation for creating software components
`that can be embedded into an HTML document.
`It is desirable to have a mechanism that allows a user to
`
`specify Web “content” from one or more Web pages, to be
`positioned on the user’s desktop. Preferably, the Web con-
`tent includes both static images and active images, where the
`active images may include animation, or occasional updates
`of the displayed content. A preferred mechanism allows a
`user to set up more than one desktop, and to switch between
`desktops as desired.
`SUMMARYOF THE INVENTION
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`In accordance with this invention, a system and a
`computer-based method of creating a composite desktop
`built from Web contentretrieved from one or more Websites
`
`60
`
`65
`
`are provided. The method includes selecting one or more
`components of Web pagesto be positioned on the composite
`desktop. Preferably, the component is either a static image,
`an active desktop component, or an entire Web page.
`Preferably, desktop components are displayed behind icons.
`Each component has an associated section of hypertext
`markup languageinstructions, and is displayed on the com-
`posite desktop in the same mannerasit is displayed on a
`Web page.
`In accordance with other aspects of the invention, a user
`specifies each componentthat is to be placed on the com-
`10
`
`IPR2024-00145
`Apple EX1005 Page 10
`
`
`
`US 6,278,448 B1
`
`3
`posite desktop. The mechanism of the invention stores
`information pertaining to the selection in a system registry,
`and inserts associated hypertext markup language instruc-
`tions in a file corresponding to the composite desktop. The
`hypertext markup language instructions are used to display
`each component on the composite desktop.
`In accordance with still other aspects of the invention, an
`icon window includes icons displayed on the composite
`desktop, organized as a transparent window or a complex
`regional window made up of discontiguous regions. Each
`region includes a portion of an icon or an entire icon. The
`icon windowis displayed as a layer in front of the desktop
`components and the desktop background, so that the icons
`appear in front of the desktop components.
`In accordance with yet still other aspects of the invention,
`an application programming interface (API) is provided to
`allow computer programs, controls, or utilities modify the
`composite desktop. Specifically,
`the API allows desktop
`components to be added to or deleted from the composite
`desktop, and allows desktop components to be modified.
`The APIalso allows the background wallpaper to be modi-
`fied.
`
`In accordance with further aspects of the invention, a user
`is provided with alternative ways of modifying the compos-
`ite desktop. A componentinstallation control embeddedin a
`Web pageinstalls a corresponding component from the Web
`page to the composite desktop. Alternatively, a control panel
`utility allows a user to specify a URL corresponding to a
`desired composite desktop component for inclusion on the
`composite desktop. Auser may also drag and drop an image
`or a URL from a Web page onto the composite desktop to
`add a new component.
`As will be readily appreciated from the foregoing
`description, a system and method for creating a composite
`desktop from Web content provides a way of displaying
`composite desktop components on a desktop in a readily
`available manner. The invention allows a composite desktop
`to display images from any Web page in front of a back-
`ground wallpaper. The invention further allows the display
`of active components that regularly update their display
`according to preprogrammed mechanisms, such asretriev-
`ing new data from a Website. By providing several mecha-
`nismsfor selecting and positioning desktop components,the
`invention allows a user to easily configure a desired com-
`posite desktop. The invention further allowsa user to create
`multiple composite desktops, and switch between the com-
`posite desktops when desired.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing aspects and many ofthe attendant advan-
`tages of this invention will become morereadily appreciated
`as the same becomesbetter understood by reference to the
`following detailed description, when taken in conjunction
`with the accompanying drawings, wherein:
`FIG. 1 is a block diagram of a general purpose computer
`system for implementing the present invention;
`FIG. 2 is a block diagram illustrating an architecture of
`the present invention;
`FIG. 3A is a pictorial representation of a user interface
`desktop, created in accordance with the present invention;
`FIG. 3B illustrates the layers used to create the user
`interface desktop of FIG. 3A;
`FIG. 4 is a pictorial representation of a Web page for
`providing content
`to a desktop in accordance with the
`present invention;
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`FIG. 5 is pictorial representation of a Web page for
`providing content
`to a desktop in accordance with the
`present invention;
`FIG. 6 illustrates a dialog window for creating a desktop
`component, in accordance with the present invention; and
`FIG. 7 is a flow diagram illustrating a process of updating
`a composite desktop, in accordance with the present inven-
`tion.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The present invention provides a mechanism for creating
`or customizing a user interface composite desktop byselect-
`ing various components and adding them to a desktop. The
`composite desktop is implemented as a Web page, and the
`creation of the composite desktop includes building a com-
`posite Web page made up of one or more components
`selected and retrieved from one or more locations. The
`locations may include Web pages, local storage media, or
`remote computers. A component can be a static graphic
`object, or an active component that modifies its content or
`interacts with a user. Examples of active components
`include Web pages and ActiveX controls. The invention
`includes an application programming interface (API) for
`modifying the user interface desktop contents. The invention
`further includes a control object that is included in a Web
`page for allowing a user to select content from the Web page
`for insertion onto the desktop, and a control panel pro-
`grammed for installing an entire Web page as a desktop
`component.
`In accordance with the present invention, an operating
`system user interface shell program executes on a computer,
`preferably a general purpose personal computer. FIG. 1 and
`the following discussion are intended to provide a brief,
`general description of a suitable computing environmentin
`which the invention may be implemented. Although not
`required,
`the invention will be described in the general
`context of computer-executable instructions, such as pro-
`gram modules, being executed by a personal computer.
`Generally, program modules include routines, programs,
`objects, components, data structures, etc. that perform par-
`ticular tasks or implement particular abstract data types.
`Moreover, those skilled in the art will appreciate that the
`invention may be practiced with other computer system
`configurations, including hand-held devices, multiprocessor
`systems, microprocessor-based or programmable consumer
`electronics, network PCs, minicomputers, mainframe
`computers,and the like. The invention mayalso be practiced
`in distributed computing environments where tasks are
`performed by remote processing devices that are linked
`through a communications network. In a distributed com-
`puting environment, program modules may be located in
`both local and remote memory storage devices.
`With reference to FIG. 1, an exemplary system for imple-
`menting the invention includes a general purpose computing
`device in the form of a conventional personal computer 20,
`including a processing unit 21, a system memory 22, and a
`system bus 23 that couples various system components
`including the system memoryto the processing unit 21. The
`system bus 23 may be any of several types of bus structures
`including a memory bus or memory controller, a peripheral
`bus, and a local bus using any of a variety of bus architec-
`tures. The system memory includes read only memory
`(ROM) 24 and random access memory (RAM) 25. A basic
`input/output system 26 (BIOS), containing the basic routines
`that helps to transfer information between elements within
`11
`
`IPR2024-00145
`Apple EX1005 Page 11
`
`
`
`US 6,278,448 B1
`
`5
`the personal computer 20, such as during start-up, is stored
`in ROM 24. The personal computer 20 further includes a
`hard disk drive 27 for reading from and writing to a hard
`disk, not shown, a magnetic disk drive 28 for reading from
`or writing to a removable magnetic disk 29, and an optical
`disk drive 30 for reading from or writing to a removable
`optical disk 31 such as a CD ROM orother optical media.
`The hard disk drive 27, magnetic disk drive 28, and optical
`disk drive 30 are connected to the system bus 23 by a hard
`disk drive interface 32, a magnetic disk drive interface 33,
`and an optical drive interface 34, respectively. The drives
`and their associated computer-readable media provide non-
`volatile storage of computer readable instructions, data
`structures, program modules and other data for the personal
`computer 20. Although the exemplary environment
`described herein employs a hard disk, a removable magnetic
`disk 29 and a removable optical disk 31,
`it should be
`appreciated by those skilled in the art that other types of
`computer-readable media which canstore data that is acces-
`sible by a computer, such as magnetic cassettes,
`flash
`memory cards, digital versatile disks, Bernoulli cartridges,
`random access memories (RAMs), read only memories
`(ROM), and the like, may also be used in the exemplary
`operating environment.
`Anumberof program modules may be stored on the hard
`disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25,
`including an operating system 35, one or more application
`programs 36, other program modules 37, and program data
`38. A user may enter commands and information into the
`personal computer 20 through input devices such as a
`keyboard 40 and pointing device 42. Other input devices
`(not shown) may include a microphone, joystick, game pad,
`satellite dish, scanner, or the like. These and other input
`devices are often connected to the processing unit 21
`through a serial port interface 46 that is coupled to the
`system bus, but may be connected by other interfaces, such
`as a parallel port, game port or a universal serial bus (USB).
`A monitor 47 or other type of display device is also
`connected to the system bus 23 via an interface, such as a
`video adapter 48. One or more speakers 57 are also con-
`nected to the system bus 23 via an interface, such as an audio
`adapter 56. In addition to the monitor and speakers, personal
`computers typically include other peripheral output devices
`(not shown), such as printers.
`The personal computer 20 operates in a networked envi-
`ronment using logical connections to one or more remote
`computers, such as remote computers 49 and 60. Each
`remote computer 49 or 60 may be another personal
`computer, a server, a router, a network PC, a peer device or
`other common network node, and typically includes many or
`all of the elements described above relative to the personal
`computer 20, although only a memory storage device 50 or
`61 has been illustrated in FIG. 1. The logical connections
`depicted in FIG. 1 include a local area network (LAN) 51
`and a wide area network (WAN) 52, Such networking
`environments are commonplace in offices, enterprise-wide
`computer networks,intranets and the Internet. As depicted in
`FIG. 1,
`the remote computer 60 communicates with the
`personal computer 20 via the local area network 51. The
`remote computer 49 communicates with the personal com-
`puter 20 via the wide area network 52.
`When used in a LAN networking environment, the per-
`sonal computer 20 is connected to the local network 51
`through a network interface or adapter 53. When used in a
`WAN networking environment, the personal computer 20
`typically includes a modem 54 or other meansfor establish-
`ing communications over the wide area network 52, such as
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`the Internet. The modem 54, which may be internal or
`external, is connected to the system bus 23 viathe serial port
`interface 46. In a networked environment, program modules
`depicted relative to the personal computer 20, or portions
`thereof, may be stored in the remote memorystorage device.
`It will be appreciated that the network connections shown
`are exemplary and other meansof establishing a communi-
`cations link between the computers may be used.
`FIG. 2 illustrates the architecture of one actual embodi-
`ment of the invention. As depicted in FIG. 2, a system 202
`for manipulating and viewing a composite desktop 204
`includes a composite desktop shell 206 as the core object
`controlling the composite desktop.
`In the actual
`embodiment,
`the composite desktop shell 206 is imple-
`mented as a component object model (COM)object. COM
`is a standard protocol that software objects employ when
`communicating with other objects. An object that employs
`the COM protocol is referred to as a COM object. The
`composite desktop shell 206 manages the updating of com-
`posite desktop information in a registry 208. A registry is a
`mechanism for storing program data, and preferably
`includes one or more files on a persistent storage medium
`and associated code for accessing the data. The registry 208
`operates as a database of information pertaining to one or
`more application programs that execute on the personal
`computer 20 (FIG. 1). The Windows 95 operating system
`provides a system registry that is employed by multiple
`application programsto store configuration information for
`subsequentretrieval. In one actual embodiment,the registry
`208 is the system registry provided by Windows 95. The
`composite desktop shell 206 adds, deletes and modifies
`registry 208 data pertaining to the composite desktop 204.
`The composite desktop 204 uses the composite desktop
`information stored in the registry 208 to generate hypertext
`markup language (HTML)
`instructions, and stores the
`instructions in an HTMLfile, referred to as the desktop-htt
`file 210. The desktop.htt file 210 contains the HTMLinstruc-
`tions necessary to display the composite desktop 204. An
`HTMLviewer 212 reads the desktop.htt file 210, interprets
`the instructions, and generates a composite desktop display.
`The composite desktop shell 206 provides an interface,
`referred to as the shell interface 214 to allow manipulation
`of the composite desktop 204. In one actual embodiment, the
`shell interface is a COM application programminginterface
`(APD, which is described in further detail below. The API
`allows a program component to manipulate the composite
`desktop.
`The invention includes three mechanisms for manipulat-
`ing the composite desktop by using the shell interface 214:
`an application program, a control panel applet, and a pro-
`gram control. In one mechanism, an application program
`216 can add, delete, or modify components on the composite
`desktop 204. The application program 216 can be one of a
`variety of application programs or program components
`capable of communicating with the shell interface 214.
`The invention also provides a control panel applet 218,
`which is an auxiliary program to the system control panel.
`The system control panel is a part of an operating system,
`such as the Windows 95 operating system, and is used to
`configure a variety of system elements. The control panel
`applet 218 uses the shell interface 214 to manipulate the
`composite desktop. The functions and usage of the control
`panel applet are described in further detail below.
`The invention further provides a program control, referred
`to as a shell user interface control 220, which also uses the
`shell interface 214 to manipulate the composite desktop 204.
`12
`
`IPR2024-00145
`Apple EX1005 Page 12
`
`
`
`US 6,278,448 B1
`
`7
`The shell user interface control 220 is typically embedded
`within a Web page 222 and associated with a corresponding
`component on the Web page. Selection of the shell user
`interface control 220 causes the control
`to invoke the
`composite desktop shell 206 by using the shell interface 214,
`in order to add the corresponding component to the com-
`posite desktop. These operations are discussed in further
`detail below.
`
`FIG. 3A illustrates an exemplary desktop, referred to as a
`composite desktop 302, produced and displayed on a moni-
`tor 47 (FIG. 1) of a personal computer 20 in accordance with
`the present
`invention. In one actual embodiment of the
`invention,
`the HTML viewer 212 (FIG. 2) displays the
`composite desktop 302 according to the HTML commands
`within the DESKTOP.HTTfile. The contents of a DESK-
`TOP.HTT file is described in further detail below. As
`depicted in FIG. 3, a set of icons 304 is also displayed on the
`monitor 47. Each icon corresponds to a program file, a
`program, or a resource that is invoked when a user selects
`and activates the icon.
`
`10
`
`15
`
`20
`
`The composite desktop 302 includes one or more desktop
`components. A desktop componentis a distinct geometric
`region that displays a single piece of Web-based content.
`Desktop components can be positioned at any location on a
`composite desktop, and can be resized if desired. Desktop
`components can be layered on top of other desktop compo-
`nents. The exemplary desktop 302 depicted in FIG. 3A
`includesa static desktop component 306, an “active” desk-
`top component 308, and a “Web page” desktop component
`310. As depicted, the static desktop component 306 corre-
`sponds to a graphic image retrieved from the personal
`computer 20 or from a remote computer 49 or 60 (FIG. 1).
`The graphic image may be selected from a Web page. The
`invention allows a user to select any graphic image from a
`Web page for insertion onto the composite desktop 302.
`The active desktop component 308 corresponds to a
`componentretrieved locally or from a remote computer. The
`remote computer may be accessed via a local area network
`or a wide area network. The component may be selected
`from a Web page, within which the componentis embedded.
`The process of selecting components embedded within Web
`pages for inclusion in a composite desktop is explained in
`further detail below. The Web page desktop component 310
`corresponds to an entire Web page that was selected for
`inclusion within the composite desktop 302. The process of
`selecting Web pagesfor inclusion as desktop components on
`a composite desktop is described in further detail below.
`FIG. 3B illustrates the layers that comprise the composite
`desktop 302 of FIG. 3A. As depicted in FIG. 3B, an icon
`layer 320, comprising the icons 304,is the topmost layer of
`the composite desktop 302. Behind the icon layer, an HTML
`layer comprises two sublayers: a desktop components sub-
`layer 322 and a background layer 330. The background
`sublayer 330, also knownas the “wallpaper,” is behind the
`desktop components sublayer 322. The desktop components
`sublayer 322 includes the desktop components, a windowed
`component manipulation control 326 and a windowless
`component manipulation control 328. These controls are
`normally not visible, and are used to move and resize
`desktop components. The use of the windowed component
`manipulation control 326 and the windowless component
`manipulation control 328 is explained in further detail
`below. The HTMLviewer 212 (FIG. 2) displays the HTML
`layer on the composite desktop 302.
`In one actual embodiment, the icons 304 are displayed in
`front of the desktop components by creating two windows,
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`one corresponding to the icon layer 320, and one corre-
`sponding to the HTMLlayer. The window corresponding to
`the icon layeris referred to as the icon window.A transparent
`window or a complex regional window comprising all of the
`regions within each icon is created to make the icon window.
`The regions of the window may be discontiguous. By
`keeping the icon window “in front of” the HTML window,
`icons are always painted in front of desktop components and
`the composite desktop background.
`
`The invention includes an application programminginter-
`face (API) for modifying the composite desktop contents. In
`particular, the API is used to modify the desktop components
`and the background sublayer. This allows a computer pro-
`gram to modify the HTML layer during its execution.
`Followingis a listing of an API in one actual embodimentof
`the invention.
`
`DECLARE_INTERFACE_(IActiveDesktop, Unknown)
`
`
`
`// TUnknown methods
`STDMETHOD(QuerylInterface)(THIS_REFIID riid, void ** ppv) PURE;
`STDMETHOD_(ULONG, AddRef) (THIS) PURE;
`STDMETHOD_(ULONG,Release) (THIS) PURE;
`// TActiveDesktop methods
`STDMETHOD(ApplyChanges)(THIS_DWORD dwFlags) PURE;
`STDMETHOD(GetWallpaper)(THIS_LPWSTR pwszWallpaper, UINT
`cchWallpaper,
`DWORD dwReserved) PURE;
`STDMETHOD(SetWallpaper)(THIS_LPCWSTR
`pwszWallpaper, DWORD dwReserved) PURE;
`STDMETHOD(GetWallpaperOptions)(THIS_LPWALLPAPEROPT
`pwpo, DWORD dwReserved) PURE;
`STDMETHOD(SetWallpaperOptions)(THIS_LPCWALLPAPEROPT
`pwpo, DWORD dwReserved) PURE;
`STDMETHOD(GetPattern)(THIS_LPWSTR pwsZPattern,
`UINT cchPattern, DWORD dwReserved) PURE;
`STDMETHOD(SetPattern)(THIS_LPCWSTR pwsZPattern, DWORD
`dwReserved) PURE;
`STDMETHOD(GetDesktopItemOptions)(THIS__
`LPCOMPONENTSO