(12) United States Patent (10) Patent No.: US 7,257,776 B2 Bailey Et Al
Total Page:16
File Type:pdf, Size:1020Kb
US007257776B2 (12) United States Patent (10) Patent No.: US 7,257,776 B2 Bailey et al. (45) Date of Patent: Aug. 14, 2007 (54) SYSTEMS AND METHODS FORSCALING A 5,838,969 A 11/1998 Jacklin et al. GRAPHICAL USER INTERFACE 5,842,165 A 11/1998 Raman et al. ACCORDING TO DISPLAY DIMIENSIONS 5,854,629 A 12/1998 Redpath AND USINGA TERED SIZING SCHEMATO 6,061,653 A 5, 2000 Fisher et al. DEFINE DISPLAY OBJECTS 6,081,816 A * 6/2000 Agrawal ..................... 715,521 6,125,347 A 9, 2000 Cote et al. 6, 192,339 B1 2, 2001 Cox (75) Inventors: Richard St. Clair Bailey, Bellevue, 6,233,559 B1 5/2001 Balakrishnan WA (US); Stephen Russell Falcon, 6,310,629 B1 10/2001 Muthusamy et al. Woodinville, WA (US); Dan Banay, 6,434,529 B1 8, 2002 Walker et al. Seattle, WA (US) 6,456.305 B1* 9/2002 Qureshi et al. ............. T15,800 6,456,974 B1 9, 2002 Baker et al. (73) Assignee: Microsoft Corporation, Redmond, WA (US) (Continued) OTHER PUBLICATIONS (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 “Winamp 3 Preview”.http://www.mp3 newswire.net/stories/2001/ U.S.C. 154(b) by 286 days. winamp3.htm. May 23, 2001. (Continued) (21) Appl. No.: 10/072,393 Primary Examiner Tadesse Hailu (22) Filed: Feb. 5, 2002 Assistant Examiner Michael Roswell (74) Attorney, Agent, or Firm—Lee & Hayes PLLC (65) Prior Publication Data US 2003/O146934 A1 Aug. 7, 2003 (57) ABSTRACT Systems and methods are described for Scaling a graphical (51) Int. C. user interface (GUI) to fit proportionally in displays of G06F 3/00 (2006.01) different sizes. Bounds of display objects to be displayed in (52) U.S. Cl. ...................... 715/788; 715/517; 715/521; the graphical user interface are defined in terms of position 715/800; 715/801; 715/815 relative to horizontal and vertical dimensions of a display on (58) Field of Classification Search ................ 715/521, which the GUI is rendered. An application defines the GUI 715/517, 788, 800, 801, 815 in relative terms, but an end user may alter the look and feel See application file for complete search history. of controls in the GUI. A tiered sizing schema is described References Cited that provides size constraints for display objects. The end (56) user is limited as to how much a size of a display object can U.S. PATENT DOCUMENTS be altered in order to preserve the integrity of the original 5,001,697 A * 3/1991 Torres ........................ 715,542 specifications of the GUI when the GUI is displayed on 5,748,974 A 5, 1998 Johnson displays of various dimensions. 5,796.401 A * 8/1998 Winer ........................ 345,619 5,797,123 A 8, 1998 Chou et al. 14 Claims, 6 Drawing Sheets COMPUTER SYSTEM 200 MEMORY PROCESSOR APPLICATION 206 202 218 DISPLAY DISPLAY RENDERING OEM GU CODE 204 MODULE SOFTWARE 220 216 224 GUI 222 I/O HARDWARE FIRMWARE 208 210 212 US 7,257,776 B2 Page 2 U.S. PATENT DOCUMENTS OTHER PUBLICATIONS 6,463,413 B1 10, 2002 Applebaum et al. http://en...; "Skin (computing)'. http://en.wikipedia.org/wiki/ 6,469,711 B2 10, 2002 Foreman et al. Skin %28computing%29. Wikipedia entry. 6,507,817 B1 1, 2003 Wolfe et al. “Winamp.com Skins'. http://www.winamp.com/skins. (Various 6,701,383 B1 3, 2004 Wason et al. Selections). 6,785,654 B2 8, 2004 Cyr et al. “Winamp2: Winamp's Subwindows'.http://www.winamp-faq.de/ 6,993,508 B1 1, 2006 Major et al. english wa2/documentation/sub.htm.2000 DigiTalk. 2002fOO24539 A1 2, 2002 Eleftheriadis et al. “Java Speech API Programmer's Guide”. Version 1.0, Oct. 1998. 2002fOO95290 A1 T/2002 Kahn et al. “Java Speech API Specifications”, Version 1.0, 1997-1998. 2OO3,OO5O777 A1 3, 2003 Walker, Jr. * cited by examiner U.S. Patent Aug. 14, 2007 Sheet 1 of 6 US 7,257,776 B2 TITLE BAR 102 150 CLIENT AREA 104 SYSTEM TRAY 106 320 X 240 DISPLAY 100 22 fa 2ndon aftt TITLE BAR 122 150 CLIENT AREA 124 SYSTEM TRAY 126 640 x 300 DISPLAY 7s120 to 2ndon aftt U.S. Patent Aug. 14, 2007 Sheet 2 of 6 US 7,257,776 B2 COMPUTER SYSTEM 200 PROCESSOR ------------------ APPLICATION 202 218 DISPLAY DISPLAY RENDERING OEM GU CODE 204 MODULE SOFTWARE 220 216 224 GUI 222 I/O HARDWARE FIRMWARE 208 210 212 U.S. Patent Aug. 14, 2007 Sheet 3 of 6 US 7,257,776 B2 WDTH 310 - 314 ( 306 ) HEIGHT ------3O2 - - 312 306 ) 300 A CLIENT AREA 304 (320x240 DISPLAY) 308 104 o 7a.5a so 2ée 54 "52" | 62 l OC O.---Smm Yam YMMWM : 304 CLIENT AREA 3O4 3O8 (640 x 300 DISPLAY) 316 124 318 22 5e 322 320 o 324 U.S. Patent Aug. 14, 2007 Sheet 4 of 6 US 7,257,776 B2 400 SCHEMA Tiered Sizing 402-N- Large Object F (15%, 30%) " is Medium Object = (10%, 20%) N Small Object = (5%, 10%) 22 4a 42O X / \ 422 424 — 426 N U.S. Patent Aug. 14, 2007 Sheet 5 of 6 US 7,257,776 B2 HELLO TEXT BOX AS PROGRAMMED 500 72, sa HEL... TEXT BOX - FONT ENLARGED TOO MUCH 72,502 56 HELLO TEXT BOX - SMALLER RESOLUTION; SMALL FONT 22,504 5e HELLO TEXT BOX - SMALLER RESOLUTION: PROPORTIONAL FONT 22,506 5a U.S. Patent Aug. 14, 2007 Sheet 6 of 6 US 7,257,776 B2 600 \ 618 622 Remote Computing 642 Monitor S-le P -1 Application M M Programs 644 On EE. O Operating Video Adapter Adapter System 626 626 - System Bus Application Data Media Programs 628 Interfaces Other Program Modules 630 Operating N Program System 628 - 616 N Data 632 Application 629 Processing Programs - Programe 630 Unit Modules Program 632 640 Data OOD E ITIII I/O interfaces - 638 - ignYYYY Printer \ Mouse Keyboard Other Device(s) 22 N - 646 636 N-634 US 7,257,776 B2 1. 2 SYSTEMS AND METHODS FOR SCALING A Some other fixed measurement unit. A rectangular display GRAPHICAL USER INTERFACE object 150 is shown, for example, that is defined to be 100 ACCORDING TO DISPLAY DIMIENSIONS pixels horizontally and 25 pixels vertically. The display AND USING ATERED SIZING SCHEMA TO object 150, therefore, measures 100x25 on both the first DEFINE DISPLAY OBJECTS 5 display 100 and the second display. While the rectangle 150 that results on the first display 100 has a length of about TECHNICAL FIELD one-third of the first display 100, the rectangle 150 has a length of less than one-sixth of the display when displayed The systems and methods described herein relate to on the second display 120. Furthermore, the height of the graphical user interfaces. More particularly, the described 10 rectangle 150 on the first display 100 would be about invention relates to systems and methods for scaling a one-tenth of the first display 100, while the height of the graphical user interface so that the graphical user interface rectangle 150 would be about one-twelfth of the display is not distorted when rendered on different displays. when rendered on the second display 120. Clearly, the same rectangle object 150 appears disproportionate to the client BACKGROUND 15 area 124 when rendered on the second display 120. If a developer were provided a way in which to write an The proliferation of personal computing devices, comput application that could scale its GUI to fit proportionally on ing appliances, automobile computers and the like has different sizes of displays, then the developer would be able increased the number of computer platforms that are avail to write one application that would operate on a number of able to consumers. The different computer platforms typi- 20 different platforms. cally have different hardware specifications, such as the size of a display included in the platforms. The increase in types SUMMARY of computer platforms has presented a problem to software application developers who develop applications for the different platforms. 25 Systems and methods are described for Scaling a graphical For example, the use of automobile computers that pro user interface so that the graphical user interface appears vide a graphical user interface (GUI) to a user are becoming proportionally correct regardless of the resolution of the common. But automobile manufacturers typically desire to display on which the graphical user interface is rendered. have a unique look to their automobiles, so a standard look The systems and methods utilize proportional Scaling to and feel to a GUI is not desirable in this instance. As a result, 30 provide rich graphic environments and high graphic fidelity. a software application written for one make of automobile A tiered sizing schema is also described that defines size will not provide acceptable results on another make of constraints for display objects, thus ensuring fidelity of a automobile. graphical user interface when displayed on a target display. Ideally, an application developer could develop one soft Proportional scaling is fundamental to the described ware application that could run on multiple different plat- 35 invention. For example, a control object provided on a forms. However, if the different platforms include different graphical user interface (GUI) is not described in terms of hardware, modifications may have to be made to an appli pixels or any other standard method of defining bounds of cation for each platform. For example, Suppose a developer graphic display objects. In the present invention, such a writes a software application to run on a platform having a display object is defined by defining bounds of the display display resolution of 640 pixelsx300 pixels.