Systems and methods for providing a user with increased flexibility and control over the appearance and behavior of objects on a user interface are described. Sets of objects can be grouped into themes to provide a user with a distinct overall impression of the interface. These themes can be invoked by calling a corresponding theme engine. Theme engines can be hard-coded or data-driven. |
Citations|
| US4712191 | Jul 22, 1983 | Dec 8, 1987 | U.S. Philips Corporation | Display system with nested information display | | US4769636 | Aug 12, 1986 | Sep 6, 1988 | Hitachi, Ltd. | Display control method for multi-window system | | US4819192 | Feb 24, 1986 | Apr 4, 1989 | Sony Corporation | Method of displaying image | | US4866638 | Mar 4, 1988 | Sep 12, 1989 | Eastman Kodak Company | Process for producing human-computer interface prototypes | | US5003499 | May 13, 1988 | Mar 26, 1991 | Hitachi, Ltd. | Document preparation apparatus having rearrangement apparatus for rearranging text according to region attribate information | | US5093907 | Sep 25, 1989 | Mar 3, 1992 | AXA Corporation | Graphic file directory and spreadsheet | | US5101364 | Feb 9, 1990 | Mar 31, 1992 | Massachusetts Institute of Technology | Method and facility for dynamic video composition and viewing | | US5121478 | Nov 15, 1990 | Jun 9, 1992 | Xerox Corporation | Window system with independently replaceable window functionality | | US5179700 | Jul 18, 1990 | Jan 12, 1993 | International Business Machines Corporation | User interface customization apparatus | | US5202961 | Jun 8, 1990 | Apr 13, 1993 | Apple Computer, Inc. | Sequential information controller | | US5220675 | Feb 20, 1992 | Jun 15, 1993 | Microsoft Corporation | Method and system for customizing a user interface in an integrated environment | | US5287514 | Jan 10, 1992 | Feb 15, 1994 | Microsoft Corporation | Method and system for customizing a user interface in a computer system | | US5327529 | Sep 9, 1992 | Jul 5, 1994 | Geoworks | Process of designing user's interfaces for application programs | | US5341466 | May 9, 1991 | Aug 23, 1994 | New York University | Fractal computer user centerface with zooming capability | | US5353391 | May 6, 1991 | Oct 4, 1994 | Apple Computer, Inc. | Method apparatus for transitioning between sequences of images | | US5359712 | Feb 21, 1992 | Oct 25, 1994 | Apple Computer, Inc. | Method and apparatus for transitioning between sequences of digital information | | US5363482 | Feb 17, 1994 | Nov 8, 1994 | Interactive Media Corporation | Graphical system and method in which a function is performed on a second portal upon activation of a first portal | | US5371844 | Mar 20, 1992 | Dec 6, 1994 | International Business Machines Corporation | Palette manager in a graphical user interface computer system | | US5388202 | Aug 9, 1993 | Feb 7, 1995 | Viacom International Inc. | Method and apparatus for generating window borders having pictorial frame elements | | US5394521 | May 6, 1993 | Feb 28, 1995 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects | | US5428730 | Dec 15, 1992 | Jun 27, 1995 | International Business Machines Corporation | Multimedia system having software mechanism providing standardized interfaces and controls for the operation of multimedia devices | | US5438659 | Oct 8, 1992 | Aug 1, 1995 | Hewlett-Packard Company | Object-action user interface management system | | US5452406 | May 14, 1993 | Sep 19, 1995 | Microsoft Corporation | Method and system for scalable borders that provide an appearance of depth | | US5485600 | Nov 9, 1992 | Jan 16, 1996 | Virtual Prototypes, Inc. | Computer modelling system and method for specifying the behavior of graphical operator interfaces | | US5600778 | Sep 8, 1995 | Feb 4, 1997 | International Business Machines Corporation | Graphical resource editor for software customization | | US5603034 | Jun 7, 1995 | Feb 11, 1997 | International Business Machines Corporation | Graphical resource editor for software customization | | US5675220 | Jul 17, 1995 | Oct 7, 1997 | ADAC Plastics, Inc. | Power supply for vehicular neon light | | US5880729 | May 5, 1995 | Mar 9, 1999 | Apple Computer, Inc. | Graphical user interfaces having animated control elements | | US5905492 | Dec 6, 1996 | May 18, 1999 | Microsoft Corporation | Dynamically updating themes for an operating system shell | | US5917487 | May 10, 1996 | Jun 29, 1999 | Apple Computer, Inc. | Data-driven method and system for drawing user interface objects | | US5959624 | Jan 13, 1997 | Sep 28, 1999 | Apple Computer, Inc. | System and method for customizing appearance and behavior of graphical user interfaces |
Referenced by|
| US6677962 | Jun 26, 2000 | Jan 13, 2004 | Microsoft Corporation | Methods and systems for manipulating user interface controls | | US6753885 | Apr 3, 2001 | Jun 22, 2004 | Microsoft Corporation | System and theme file format for creating visual styles | | US6762767 | Apr 5, 2001 | Jul 13, 2004 | Microsoft Corporation | Theme aware management using fusion | | US6873337 | Sep 27, 2000 | Mar 29, 2005 | Microsoft Corporation | Application programming interface for changing the visual style | | US6886135 | Apr 3, 2001 | Apr 26, 2005 | Microsoft Corp. | Extensible schema for defining the visual appearance of computer system components | | US6918091 | Nov 9, 2001 | Jul 12, 2005 | Change Tools, Inc. | User definable interface system, method and computer program product | | US6986107 | Jun 18, 2002 | Jan 10, 2006 | Microsoft Corporation | Dynamic generation of visual style variants for a graphical user interface | | US7055101 | Jul 16, 2001 | May 30, 2006 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7073129 | Apr 12, 2001 | Jul 4, 2006 | Tangis Corporation | Automated selection of appropriate information based on a computer user's context | | US7076737 | Apr 2, 2001 | Jul 11, 2006 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7080322 | Jul 16, 2001 | Jul 18, 2006 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7107539 | Jul 16, 2001 | Sep 12, 2006 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7137066 | Apr 5, 2001 | Nov 14, 2006 | Microsoft Corporation | Binary cache file format for themeing the visual appearance of a computer system | | US7137069 | Jul 16, 2001 | Nov 14, 2006 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7190369 | Mar 15, 2005 | Mar 13, 2007 | Microsoft Corporation | Application programming interface for changing the visual style | | US7240280 | Oct 24, 2002 | Jul 3, 2007 | Bea Systems, Inc. | System and method for application flow integration in a portal framework | | US7367014 | Oct 24, 2002 | Apr 29, 2008 | BEA Systems, Inc. | System and method for XML data representation of portlets | | US7376906 | Aug 12, 2004 | May 20, 2008 | Microsoft Corporation | Binary cache file format for themeing the visual appearance of a computer system | | US7395507 | May 16, 2006 | Jul 1, 2008 | Microsoft Corporation | Automated selection of appropriate information based on a computer user's context | | US7426691 | Dec 21, 2004 | Sep 16, 2008 | Microsoft Corporation | Methods and systems for creating and using skins | | US7426692 | Dec 21, 2004 | Sep 16, 2008 | Microsoft Corporation | Methods and systems for creating and using skins | | US7426695 | Jun 15, 2000 | Sep 16, 2008 | Hewlett-Packard Development Company, L.P. | Method and apparatus for coordinating display elements with the structure of a computer system | | US7437685 | Mar 10, 2003 | Oct 14, 2008 | Microsoft Corporation | Logical, safe, and more personal user interface for accessing data and launching programs or applications | | US7451163 | Oct 24, 2002 | Nov 11, 2008 | BEA Systems, Inc. | Data synchronization | | US7451399 | May 13, 2005 | Nov 11, 2008 | Microsoft | Methods and systems for creating skins | | US7451402 | May 13, 2005 | Nov 11, 2008 | Microsoft Corporation | Methods and systems for creating skins | | US7451477 | Oct 24, 2002 | Nov 11, 2008 | BEA Systems, Inc. | System and method for rule-based entitlements | | US7458020 | May 13, 2005 | Nov 25, 2008 | Microsoft Corporation | Methods and systems for creating skins | | US7472342 | Oct 24, 2002 | Dec 30, 2008 | BEA Systems, Inc. | System and method for portal page layout | | US7480868 | May 13, 2005 | Jan 20, 2009 | Microsoft Corporation | Methods and systems for creating skins | | US7483893 | Aug 4, 2006 | Jan 27, 2009 | BAE Systems, Inc. | System and method for lightweight loading for managing content | | US7516167 | Apr 22, 2005 | Apr 7, 2009 | BEA Systems, Inc. | Data synchronization | | US7519914 | Sep 30, 2004 | Apr 14, 2009 | Microsoft Corporation | Extensible scheme for defining the visual appearance of computer system components | | US7543235 | May 13, 2005 | Jun 2, 2009 | Microsoft Corporation | Methods and systems for creating skins | | US7565611 | Aug 12, 2004 | Jul 21, 2009 | Microsoft Corporation | Binary cache file format for themeing the visual appearance of a computer system | | US7614001 | Jun 8, 2006 | Nov 3, 2009 | Tangis Corporation Microsoft Corporation | Thematic response to a computer user's context, such as by a wearable personal computer | | US7644367 | May 16, 2003 | Jan 5, 2010 | Microsoft Corporation | User interface automation framework classes and interfaces | | US7646392 | May 3, 2006 | Jan 12, 2010 | Research in Motion Limited | Dynamic theme color palette generation | | US7647400 | Dec 7, 2006 | Jan 12, 2010 | Microsoft Corporation | Dynamically exchanging computer user's context | | US7689919 | Nov 5, 2004 | Mar 30, 2010 | Microsoft Corporation | Requesting computer user's context data | | US7694229 | May 6, 2004 | Apr 6, 2010 | Microsoft Corporation | System and theme file format for creating visual styles | | US7707514 | May 5, 2006 | Apr 27, 2010 | Apple Inc. | Management of user interface elements in a display environment | | US7721254 | Oct 24, 2003 | May 18, 2010 | Microsoft Corporation | Programming interface for a computer platform | | US7730073 | Oct 23, 2003 | Jun 1, 2010 | Microsoft Corporation | System and a method for presenting related items to a user | | US7734780 | Mar 17, 2008 | Jun 8, 2010 | Microsoft Corporation | Automated response to computer users context | | US7739607 | Nov 14, 2006 | Jun 15, 2010 | Microsoft Corporation | Supplying notifications related to supply and consumption of user context data | | US7743336 | May 10, 2006 | Jun 22, 2010 | Apple Inc. | Widget security | | US7752205 | Aug 4, 2006 | Jul 6, 2010 | BEA Systems, Inc. | Method and system for interacting with a virtual content repository | | US7752556 | May 10, 2006 | Jul 6, 2010 | Apple Inc. | Workflow widgets | | US7760269 | Aug 22, 2005 | Jul 20, 2010 | Hewlett-Packard Development Company, L.P. | Method and apparatus for sizing an image on a display | | US7779015 | Nov 8, 2004 | Aug 17, 2010 | Microsoft Corporation | Logging and analyzing context attributes | | US7818344 | May 22, 2006 | Oct 19, 2010 | BEA Systems, Inc. | System and method for providing nested types for content management | | US7827281 | Jun 11, 2007 | Nov 2, 2010 | Microsoft Corporation | Dynamically determining a computer user's context | | US7873916 | Jun 22, 2004 | Jan 18, 2011 | Apple Inc. | Color labeling in a graphical user interface | | US7877686 | Oct 11, 2006 | Jan 25, 2011 | Microsoft Corporation | Dynamically displaying current status of tasks | | US7882440 | Oct 28, 2005 | Feb 1, 2011 | SAP AG | System and method of switching appearance of a graphical user interface | | US7884833 | Nov 13, 2009 | Feb 8, 2011 | | Dynamic theme color palette generation | | US7895530 | Aug 30, 2004 | Feb 22, 2011 | Change Tools, Inc. | User definable interface system, method, support tools, and computer program product | | US7908562 | Oct 23, 2003 | Mar 15, 2011 | Microsoft Corporation | System and a method for presenting items to a user with a contextual presentation | | US7917537 | May 22, 2006 | Mar 29, 2011 | Oracle International Corporation | System and method for providing link property types for content management | | US7917860 | Mar 3, 2005 | Mar 29, 2011 | Microsoft Corporation | Simple styling | | US7945859 | Dec 17, 2008 | May 17, 2011 | Microsoft Corporation | Interface for exchanging context data | | US7953734 | May 16, 2006 | May 31, 2011 | Oracle International Corporation | System and method for providing SPI extensions for content management system | | US7954064 | Feb 1, 2006 | May 31, 2011 | Apple Inc. | Multiple dashboards | | US7984384 | Feb 9, 2009 | Jul 19, 2011 | Apple Inc. | Web view layer for accessing user interface elements | | US8020104 | Jan 11, 2005 | Sep 13, 2011 | Microsoft Corporation | Contextual responses based on automated learning techniques | | US8089491 | Jan 14, 2011 | Jan 3, 2012 | Research In Motion Limited | Dynamic theme color palette generation | | US8103665 | May 11, 2009 | Jan 24, 2012 | Microsoft Corporation | Soliciting information based on a computer user's context | | US8126979 | Apr 13, 2010 | Feb 28, 2012 | Microsoft Corporation | Automated response to computer users context | | US8127252 | Jun 15, 2004 | Feb 28, 2012 | Microsoft Corporation | Method and system for presenting user interface (UI) information | | US8166101 | Oct 24, 2003 | Apr 24, 2012 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system | | US8181113 | Oct 27, 2008 | May 15, 2012 | Microsoft Corporation | Mediating conflicts in computer users context data | | US8225214 | Feb 19, 2009 | Jul 17, 2012 | Microsoft Corporation | Supplying enhanced computer user's context data | | US8238696 | Oct 24, 2003 | Aug 7, 2012 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
Claims1. In a graphical user interface, a method for rendering objects and handling behavior of said objects comprising the steps of: - providing a plurality of themes, each theme controlling an appearance and behavior of objects rendered on said graphical user interface, wherein at least one of said appearance and said behavior is controlled differently for an object when said graphical user interface is operated in accordance with one theme than when said graphical user interface is operated in accordance with another theme;
- providing a plurality of theme engines, each theme engine associated with a different theme type, wherein at least one of said theme engines is hard-coded and at least one of said theme engines is a data-driven, parametric engine;
- selecting a theme from among said plurality of themes;
- identifying one of said plurality of theme engines associated with said selected theme; and
- loading, by said identified theme engine, theme data for operating said graphical user interface in accordance with said selected theme.
2. The method of claim 1, further comprising the steps of: - providing a plurality of theme data files, each associated with a different theme and each accessible by said data-driven theme engine.
3. The method of claim 1, wherein said hard-coded theme engine can manage only one theme. 4. A computer system comprising: - a processor for performing control functions and processing data;
- a display for outputting data received from said processor and for receiving input from a user of said computer system via a graphical user interface; and
- a plurality of theme engines each capable of rendering a theme by drawing an object on said graphical user interface, wherein a selected one of said theme engines is commanded to draw said object based upon a theme selection coordinated by said processor.
5. The computer system of claim 4, wherein one of said plurality of theme engines is hard-coded. 6. The computer system of claim 5, wherein said hard-coded theme engine has a data file associated therewith that includes only nominal data. 7. The computer system of claim 4, wherein one of said plurality of theme engines is a data-driven, parametric engine. 8. The computer system of claim 7, wherein a plurality of theme data files are stored on a computer-readable medium, each of said plurality of theme data files having a same format which is accessible by said data-driven parametric engine. 9. A method for selecting themes operable to control appearance and behavior of objects rendered on a graphical user interface comprising the steps of: - providing an appearance control panel;
- providing a plurality of theme engines, including a default theme engine and at least one other theme engine;
- selecting, by said appearance control panel, a theme;
- loading said selected theme using one of said plurality of theme engine, unless a valid theme data file cannot be retrieved for said selected theme; and
- otherwise, loading a default theme using said default theme engine.
10. The method of claim 9, wherein said default theme engine is hard-coded. 11. The method of claim 9, wherein said default theme engine is data-driven. 12. A computer-readable medium having stored thereon computer-readable information for performing the steps of: - providing a plurality of theme engines, each theme engine capable of rendering objects according to at least one theme;
- selecting, by one of a user and a program, a current theme; and
- using a theme engine associated with said current theme to render objects in a graphical user interface according to said current theme.
13. The computer-readable medium of claim 12, wherein said theme provides information relating to object geometries and fill patterns for said objects. 14. The computer-readable medium of claim 12, wherein said step of providing further comprises the step of: - providing a hard-coded theme engine and a data-driven theme engine.
15. The computer-readable medium of claim 12, wherein said step of selecting further comprises the step of: - creating a appearance control panel on said graphical user interface; and
- receiving input from said user in said appearance control panel as an indication of said selected current theme.
16. The computer-readable medium of claim 12, wherein said step of using a theme engine associated with said current theme further comprises the steps of: - loading, by said theme engine, a data table indicating said object geometries and fill patterns for said current theme; and
- drawing, by a graphics subsystem, objects on said graphical user interface using information in said data table.
|