`US 6,342,907 B1
`(10) Patent No.:
`Jan. 29, 2002
`(45) Date of Patent:
`Petty et al.
`
`US006342907B1
`
`(54)
`
`(75)
`
`SPECIFICATION LANGUAGE FOR
`DEFINING USER INTERFACE PANELS
`THAT ARE PLATFORM-INDEPENDENT
`
`Inventors: Douglas Robert Petty, Rochester, MN
`(US); Scott Anthony Sylvester,
`Endicott, NY (US)
`
`(73)
`
`Assignee:
`
`International Business Machines
`Corporation, Armonk, NY (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(21)
`
`Appl. No.: 09/174,709
`
`(22)
`
`Filed:
`
`Oct. 19, 1998
`
`61)
`
`(52)
`
`(58)
`
`(56)
`
`Unt, C07 oieeeeccceecscesseseeseeseeseereeseeseeseesees G06F 3/00
`
`US. Che cece 345/762; 345/708; 345/760;
`345/798
`
`Field of Search ............0..cc cece 345/326, 333,
`345/334, 335, 336, 338, 339, 340, 342,
`700, 705, 708, 744, 746-747, 760, 762,
`781, 788, 798-801, 764-765; 709/203,
`300, 302, 303, 310, 315, 328
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`Eo
`Eo
`Eo
`Eo
`Eo
`Eo
`
`5,179,657 A
`5,347,627 A
`5,347,629 A
`5,923,885 A
`6,005,568 A
`6,054,983 A
`
`1/1993
`9/1994
`9/1994
`7/1999
`12/1999
`4/2000
`
`
`
`OTHER PUBLICATIONS
`
`Nigam et al., “Platform Independent Tool for Designing
`Quality Graphical UserInterfaces,” BIWIT °97, Proceedings
`of the Third Basque International Workshop on Information
`Technology, pp. 54-61.*
`Khare et al., “XML: A Door to Automated Web Applica-
`tions”, IEEE Internet Computing, vol. 1, issue 4, pp. 78-87,
`Jul—Aug. 1997.*
`Baker, “Using Server Side XML to Create Individualized
`Web Pages”, Professional Communication Conference,
`1998, vol. 2, pp. 317-319.*
`Rein, “XML—Enabled Tools [New Products]”, IEEE Internet
`Computing, vol. 2, issue 3, pp. 16-19, May-Jun. 1998.*
`* cited by examiner
`Primary Examiner—Crescelle N. dela Torre
`(74) Attorney, Agent, or Firm—Martin & Associates, LLC;
`Derek P. Martin
`
`(57)
`
`ABSTRACT
`
`A specification language allows a user to define platform-
`independent user interface panels without detailed knowl-
`edge of complex computer programming languages. The
`specification language is referred to herein as a Panel
`Definition Markup Language (PDML), which defines tags
`that are used in similar fashion to those defined in Hypertext
`Markup Language (HTML), that allow a user to specify the
`exact
`location of components displayed in the panel. A
`graphical editor allows the creation and modification of
`platform-independent user interface panels without pro-
`gramming directly in the specification language. A conver-
`sion tool may be used to convert platform-specific user
`interface panels to corresponding platform-independent user
`interface panels. A help generator tool also facilitates the
`generation of context-sensitive help for a user interface
`panel.
`
`33 Claims, 22 Drawing Sheets
`
`Microfiche Appendix Included
`(1 Microfiche, 43 Pages)
`
`Dykstal et al. oo... 345/762
`Hoffmannet al.
`........... 345/762
`Barrett et al.
`........
`... 345/762
`Johnsonet al.
`.........
`cee TA7/11
`Simonoff et al.
`............ 345/744
`Simonoff et al.
`........... 345/738
`
`
`
`110
`
`Processor
`
`
`
`
`100
`
`120
`
`
`Main Memory
`
`
`
`
`
`
`
`
`
`
`
`
`PDMLPanel N
`
`Resource Bundle
`
`+ Panel Conversion Tool
`|’ Help Generator Tool
`
`
`
`
`
`DASD
`
`150
`140
`130
`
`Network I/F
`Mass StorageiF
`Display UF
`
`
`
`
`
`170
`
`
`J
`
`
`
` Display
`
`
`175
`
`
`
`
`175
`
`1
`
`SAMSUNG 1013
`
`IPR2024-00145
`Apple EX1013 Page 1
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Processor
`
`US 6,342,907 B1
`
`100
`
`Sheet 1 of 22
`
`Help Generator Tool
`
`IPR2024-00145
`Apple EX1013 Page 2
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 2 of 22
`
`US 6,342,907 B1
`
`126
`
`/ Java Class Library 200|210
`
`590
`
`330
`
`DAO
`
`EQ
`
`260
`
`270
`
`280
`
`PanelManager
`
`PropertySheetManager
`
`WizardManager
`
`SplitPaneManager
`
`DeckPaneManager
`
`TabbedPaneManager
`
`LookAndFeelManager
`
`Java Foundation Classes
`
`FIG. 2
`
`IPR2024-00145
`Apple EX1013 Page 3
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 3 of 22
`
`US 6,342,907 B1
`
`O0€801)“SL
`
`joued
`
`pepoddnsj,uaeBurmoyjo}ay
`
`
`pajqeusoqJaAeupjnoyspue
`
`@poNnpepuedxg[-]
`
`
`aponpasdeyjog[]—JEP
`
`Buss}Aouspusdeq
`
`@poNpepuedxy[=]
`9-€aiqesiqC)
`
`9-¢ajqeuyC)
`aigesiqyeiqeuz
`2evAowey[_|leagesiqC)
`weap
`iyJon
`€OldseetiiiileqsselBoldJ}
`
`Ja|pueyWojysnoymuOyN,‘1
`
`
`
`S]U9UOdLUODpayoddnsjose]-sebeuey
`
`BalyKelCLjaqe|AreulplO‘|
`
`
`xOa}S"]€jo¢uopng‘9gC)
`
`4S]PL€JO|uopNg‘pyC)
`
`Sud}€JoZuoyng“¢C)
`
`‘[2qe]SIY}Ul}XO}4}Jo[|eBas
`
`},UeBdNOAJ}“Jeqe;SUIRINYY°Z
`xogOqwod“6 l-[ [-PIOYXSL“LLia]sd:(a|qeypeun)
`
`
`
`
`
`‘(a|qeyipe)xogOqWOD‘OL
`
`BuoimBulyjyewossi3194}
`uoyngeuojepuRls“2C)
`
`xoqyoey9“g[|
`
`xoqdnoid“¢
`
`
`
`JSPIIS“OL
`
`IPR2024-00145
`Apple EX1013 Page 4
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 4 of 22
`
`US 6,342,907 B1
`
`Windows Resource. Script
`
`IDD_SUPPORTED_COMPONENTSDIALOG DISCARDABLE 0, 0, 400, 300
`STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
`CAPTION "Panel Manager - Test of Supported Components"
`FONT 8, "MS SansSerif"
`BEGIN
`DEFPUSHBUTTON "OK" IDOK,109,279,50,14
`PUSHBUTTON~"Cancel" IDCANCEL,175,279,50,14
`PUSHBUTTON~"Help", IDHELP,241,279,50,14
`LTEXT
`"1. Ordinary label", IDC_LABEL,7,7,124,8
`LTEXT
`"2. Multiline label.
`If you can't see all of the text in this label, there is
`something wrong.”, IDC_MULTILINE,7,25,124,17
`GROUPBOX "3. Group box. ",IDC_GROUPBOX,7,51,124,73
`CONTROL
`"4. Button 1 of 3",IDC_RADIO1,"Button",
`BS_AUTORADIOBUTTON | WS_TABSTOP, 17,66,58,10
`CONTROL
`"5. Button 2 of 3",IDC_RADIO2,"Button",
`BS_AUTORADIOBUTTON | WS_TABSTOP, 17,85,58,10
`CONTROL_"6. Button 3 of 3",IDC_RADIO3,"Button",
`BSAUTORADIOBUTTON | WS_TABSTOP,17,104,58, 10
`CONTROL
`"7. Standalone button",IDC_STANDALONE, "Button",
`BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,7,136,124,10
`CONTROL
`"8. Check box", IDC_CHECKBOX,"Button",BS_-AUTOCHECKBOxX|
`WS_TABSTOP,7,158,124,10
`LTEXT
`"9. Combo box (uneditable):",IDC_COMBOLABEL1,7,179,124,8
`COMBOBOX IDC_COMBONOEDIT,7,191,124,25,CBS_DROPDOWNLIST|
`CBS_SORT | WS_VSCROLL | WS_TABSTOP
`LTEXT
`"10. Combobox (editable):",|IDC_COMBOLABEL2,7,213,124,8
`COMBOBOX IDC_COMBOEDIT,7,224,124,16,CBS_DROPDOWN| CBS_SORT|
`WS_VSCROLL | WS_TABSTOP
`LTEXT
`"41. Text field:",IDC_TEXTFIELD1,7,242,124,8
`EDITTEXT
`IDC_TEXTFIELD,7,254,124,14,ESAUTOHSCROLL
`LTEXT
`"12. Text area:", IDC_TEXTAREALABEL, 145,7,107,8
`EDITTEXT
`IDC_TEXTAREA,145,19,114,26,ESMULTILINE |
`ESAUTOHSCROLL
`PUSHBUTTON
`"13. Button with custom handler",
`IDC_CUSTOMBUTTON, 145,54,114,14
`LTEXT
`"14. List:",IDC_LISTLABEL, 145,77,107,8
`LISTBOX
`IDC_LIST,145,88,114,30,LBS_SORT | LBS_NOINTEGRALHEIGHT
`| WS_VSCROLL | WS_TABSTOP
`
`FIG. 4A
`
`Prior Art
`
`IPR2024-00145
`Apple EX1013 Page 5
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 5 of 22
`
`US 6,342,907 B1
`
`Windows ResourceScript (continued)
`
`"45. Table:",IDC_TABLELABEL, 145,129, 107,8
`LTEXT
` "List2",IDC_TABLE,"SysListView32",LVS_REPORT | WS_BORDER
`CONTROL
`| WS_TABSTOP, 145, 142,114,51
`CONTROL
`"Slider1", IDC_SLIDER1,"msctls_trackbar32",TBS_BOTH|
`WS_TABSTOP, 145,219,114,19
`LTEXT
`"16. Slider:", IDC_STATIC, 145,206, 107,8
`LTEXT
`"17. Progress bar:",IDC_PROGRESSLABEL, 145,241,107,8
`CONTROL
`"Progress1",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,
`145,254,114,11
`LTEXT
`"18. Tree:" IDC_TREELABEL,270,7,101,8
`CONTROL
`"Tree1",IDC_TREE,"SysTreeView32",TVS_HASBUTTONS |
`TVS_HASLINES| TVS_LINESATROOT | WS_BORDER | WS_TABSTOP,
`270,19,113,51
`GROUPBOX "Dependencytesting: ",IDC_DEPENDENCYBOX,270,79,113,189
`CONTROL
`"Disable all", IDC_DISABLEALL,"Button",
`BS_AUTORADIOBUTTON | WS_TABSTOP,277,91,51,10
`CONTROL
`"Disable 3-6",IDC_DISABLE36,"Button”,
`BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,287,131,48,10
`CONTROL
`"Enable 3-6",IDC_ENABLE36,"Button”,BS_-AUTORADIOBUTTON
`| WS_GROUP | WS_TABSTOP,287,144,48,10
`GROUPBOX
`“Enable/Disable",IDC_DISABLEGROUP,276,120,73,38
`PUSHBUTTON "Selectlist item to enable”, IDC_LISTENABLE,276, 168,97, 14,
`WS_DISABLED
`PUSHBUTTON
`"Select table item to enable", IDC_TABLEENABLE,276,187,
`97, 14, WS_DISABLED
`COMBOBOX
`IDC_COMBODISABLE,276,211,97,15,CBS_DROPDOWNLIST|
`CBS_SORT | WS_VSCROLL| WS_TABSTOP
`CONTROL
`“Remove all",|DC_REMOVEALL1,"Button",BS_AUTOCHECKBOX
`| WS_TABSTOP,277,105,51,10
`LTEXT
`"The following aren't supported and should never be enabled:",
`IDC_UNSUPPORTEDLABEL,276,227,97,16
`LTEXT
`"Unsupported:",IDC_UNSUPPORTEDTEXT,279,250,42,8,
`WS_DISABLED
`EDITTEXT
`IDC_UNSUPPORTEDFIELD,328,247,47,14,ES_AUTOHSCROLL |
`WS_DISABLED
`
`END
`
`FIG. 4BiOPrior Art
`
`IPR2024-00145
`Apple EX1013 Page 6
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 6 of 22
`
`US 6,342,907 B1
`
`Output
`
`Print device:
`
`Output queue:
`
`Library:
`
`Use printer assigned to workstation iw
`
`Use queueassigned to workstation
`
`Library list
`
`Message severity level:
`
`Message queue:
`
`Use user name
`
`Library:
`
`Library list
`
`Message delivery:
`
`Use printer assigned to workstation
`
`
`
`FIG. 5 PriorArt
`
`700
`
`ad
`
`720
`
`730
`
`710
`
`
`
`
`
`
`Define PDML in XML
`
`Generate Panels as PDML Files
`
`Process PDML Files to Display Panels
`
`IPR2024-00145
`Apple EX1013 Page 7
`
`
`
`Jan. 29, 2002
`
`Sheet 7 of 22
`
`US 6,342,907 B1
`
`U.S. Patent wd9Old
`
`
`
`
`WA}S|}oUpIONBNZUOHesUa}eqsip‘UspUaMIEASHue|YDSSLe/|A“abuejyosouemogebsny
`
`
`}S1JoupIOaBNZUO}e}sUa}eEq‘WoyUlIayoMGg JEp‘UBPUSMUAJExNNIG
`
`
`UBUeUJEZ}NUA|g|:;ebuUe|YOSeLeMUa}YOUYORN USPUBMIDA
`9}S!I|SHSYJONIg-4SUzONIG
`
`a}si|syayjouqig‘yeujonqig
`
`uabayouyoeuegJezjnueg|:-BunpywueqnuajyouyoeN
`
`
`LOL.‘jayBeMUs]YOUYOeN
`
`aqeBsny
`
`IPR2024-00145
`Apple EX1013 Page 8
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 8 of 22
`
`US 6,342,907 B1
`
`<|=mSSSasssssressssSSSSeer ee = === === —>
`<!-- XML DocumentType Definition for the Panel Definition Markup Language -->
`<|.-SpSsencscstssss SaressSeS
`se======= >
`
`<!-- Declare the child elements that contain only data -->
`
`#IMPLIED
`#IMPLIED>
`
`#IMPLIED
`#IMPLIED>
`
`#IMPLIED
`#IMPLIED>
`
`#IMPLIED
`#IMPLIED>
`
`<!ELEMENT BASESCREENSIZE
`(#PCDATA)>
`<!ELEMENT LOCATION
`(#PCDATA)>
`<!ELEMENT SIZE
`(#PCDATA)>
`<IELEMENT DATACLASS(#PCDATA)>
`<IELEMENT ATTRIBUTE
`(#PCDATA)>
`<!ELEMENT ICON
`(#PCDATA)>
`(#PCDATA)>
`<IELEMENT ACTIVATE
`(#PCDATA)>
`</ELEMENT FORMAT
`<IELEMENT SHORT
`EMPTY>
`<!ATTLIST SHORT
`minvalue
`CDATA
`maxvalue
`CDATA
`<!ELEMENT INTEGER EMPTY>
`<IATTLIST
`INTEGER
`minvalue
`CDATA
`maxvalue
`CDATA
`<!ELEMENT LONG EMPTY>
`<IATTLIST
`LONG
`CDATA
`minvalue
`CDATA
`maxvalue
`<!ELEMENT FLOAT EMPTY>
`<IATTLIST
`FLOAT
`minvalue
`CDATA
`maxvalue
`CDATA
`<!ELEMENT STRING EMPTY>
`<IATTLIST STRING
`minlength
`CDATA
`maxlength
`CDATA
`<!ELEMENT ACTION
`<!ELEMENT DOUBLECLICK
`<IELEMENT TITLE
`<IELEMENT STYLE
`<IELEMENT DEFAULTWIDTH
`<!ELEMENT MINVALUE
`<!ELEMENT MAXVALUE
`<IELEMENT MAJORTICKS
`<!ELEMENT MINORTICKS
`<{ELEMENT ADJUST
`<!ELEMENT ENABLE
`<!ELEMENT DISABLE
`<!ELEMENT REFRESH
`<IELEMENT SHOW
`
`#IMPLIED
`#IMPLIED>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`
`FIG. 8A
`
`IPR2024-00145
`Apple EX1013 Page 9
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 9 of 22
`
`US 6,342,907 B1
`
`XML Document Type Definition (continued)
`
`<!ELEMENT HIDE
`<!ELEMENT DISPLAY
`<!ELEMENT STEP
`<!ELEMENT PAGE
`<IATTLIST
`PAGE
`resource
`name
`
`CDATA
`CDATA
`CDATA
`
`stepindex
`<!ELEMENT PANE
`<IATTLIST
`PANE
`CDATA
`resource
`CDATA
`name
`CDATA
`type
`<!ELEMENT MANAGERCLASS
`<!ELEMENT FLYOVER
`<!ELEMENT HELPALIAS
`
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`EMPTY>
`
`#REQUIRED
`#REQUIRED
`#IMPLIED>
`EMPTY>
`
`#REQUIRED
`#REQUIRED
`#REQUIRED>
`(#PCDATA)>
`(#PCDATA)>
`(#PCDATA)>
`
`Oda
`
`SSS > S SS SSS SSS SSS SSS SSS SS SSS SSS 225>2=== -->
`
`<!-- Declare the child elements that are contained by other child elements -->
`
`<!ELEMENT SELECTED
`
`<!ELEMENT DESELECTED
`
`<IELEMENTCHOICE
`
`<IATTLIST CHOICE
`name
`CDATA
`<IELEMENT ITEM
`
`ITEM
`
`<IATTLIST
`CDATA
`name
`<IELEMENT COLUMN
`
`(ENABLE|DISABLE|REFRESH|SHOW/]HIDE|
`DISPLAY)+>
`(ENABLE|DISABLE|REFRESH|SHOW]HIDE|
`DISPLAY)+>
`(TITLE, (ENABLE|DISABLE|REFRESH|SHOW|
`HIDE|DISPLAY)*)>
`
`#REQUIRED>
`(TITLE,(ENABLE|DISABLE|REFRESH|SHOW|
`HIDE|DISPLAY)*)>
`
`#REQUIRED>
`(TITLE, DEFAULTWIDTH? (DATACLASS,
`ATTRIBUTE)?,1TEM*)>
`
`<IATTLIST COLUMN
`primary
`CDATA
`"no"
`"no">
`editable
`CDATA
`(TITLE,ICON?, (ENABLE|DISABLE|REFRESH|SHOW|
`</ELEMENT NODE
`HIDE|DISPLAY)*,NODE*)>
`
`<IATTLIST NODE
`name
`
`<!ELEMENT ROOT
`
`<IATTLIST ROOT
`name
`
`#REQUIRED>
`CDATA
`(TITLE, ICON? ,(ENABLE|DISABLE|REFRESH|SHOW|
`HIDE|DISPLAY)*,NODE*)>
`
`CDATA
`
`#REQUIRED>
`
`FIG. 8B
`
`10
`
`IPR2024-00145
`Apple EX1013 Page 10
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 10 of 22
`
`US 6,342,907 B1
`
`XML Document Type Definition (continued)
`
`<!-- Declare the Ul components --> _.
`
`(TITLE, LOCATION, SIZE,FLYOVER?,HELPALIAS?)>
`
`<!ELEMENT LABEL
`<!ATTLIST
`LABEL
`#REQUIRED
`name
`CDATA
`"no">
`disabled
`CDATA
`<IELEMENT IMAGE
`(TITLE, LOCATION, SIZE?, FLYOVER?)>
`<IATTLIST
`IMAGE
`#REQUIRED=
`name CDATA
`<IELEMENT CUSTOM (LOCATION, SIZE,MANAGERCLASS)>
`<IATTLIST CUSTOM
`name CDATA
`<IELEMENT BUTTON
`
`#REQUIRED>
`(TITLE, LOCATION, SIZE,STYLE?,ACTION?, FLYOVER?,
`HELPALIAS?)>
`
`<!IATTLIST BUTTON
`#REQUIRED
`name
`CDATA
`"no">
`disabled
`CDATA
`<!ELEMENT GROUPBOX(TITLE,LOCATION,SIZE,HELPALIAS?)>
`<IATTLIST GROUPBOX
`#REQUIRED>
`name CDATA
`<!ELEMENT RADIOBUTTON~(TITLE,LOCATION,SIZE,(DATACLASS,
`ATTRIBUTE)?,SELECTED?,DESELECTED?,
`FLYOVER? HELPALIAS?)>
`
`<!ATTLIST RADIOBUTTON
`#REQUIRED
`name
`CDATA
`"no">
`disabled
`CDATA
`<IELEMENT CHECKBOX (TITLE,LOCATION,SIZE,(DATACLASS, ATTRIBUTE)?,
`SELECTED? DESELECTED?,FLYOVER?,HELPALIAS?)>
`
`<!ATTLIST CHECKBOX
`name
`CDATA
`disabled
`CDATA
`<IELEMENT BUTTONGROUP
`
`#REQUIRED
`"no">
`((DATACLASS,ATTRIBUTE)?,(RADIOBUTTON|
`CHECKBOX)+)>
`
`<!IATTLIST BUTTONGROUP
`#REQUIRED
`name
`CDATA
`"no">
`disabled
`CDATA
`<!ELEMENT COMBOBOX (TITLE?,LOCATION, SIZE,(DATACLASS,
`ATTRIBUTE)?,CHOICE* (SHORT?|INTEGER?|LONG?|
`FLOAT?|STRING?|FORMAT?), FLYOVER?,
`HELP ALIAS?)>
`
`<!ATTLIST COMBOBOX
`name
`CDATA
`editable
`CDATA
`disabled
`CDATA
`
`#REQUIRED
`"no"
`"no">
`
`FIG. 8C
`
`11
`
`IPR2024-00145
`Apple EX1013 Page 11
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 11 of 22
`
`US 6,342,907 B1
`
`XML Document Type Definition (continued)
`
`<!ELEMENT TEXTFIELD (TITLE?,LOCATION,SIZE,(DATACLASS,ATTRIBUTE)?,
`(SHORT?|INTEGER?/LONG?|FLOAT?|STRING?|
`FORMAT?),FLYOVER?,HELPALIAS?)>
`
`<IATTLIST TEXTFIELD
`#REQUIRED
`name
`CDATA
`masked
`CDATA
`“no"
`disabled
`CDATA
`"no'">
`<!ELEMENT TEXTAREA (TITLE?,LOCATION,SIZE,(DATACLASS,ATTRIBUTE)?,
`(SHORT? |INTEGER?|LONG?|FLOAT?|STRING?|
`FORMAT?),-FLYOVER?, HELPALIAS?)>
`
`<!ATTLIST TEXTAREA
`#REQUIRED
`name
`CDATA
`"no">
`disabled
`CDATA
`<IELEMENT SLIDER
`(LOCATION, SIZE,(DATACLASS,ATTRIBUTE)?,
`MINVALUE,MAXVALUE (MAJORTICKS,MINORTICKS)?
`ADJUST? , FLYOVER?,HELPALIAS?)>
`
`<IATTLIST SLIDER
`#REQUIRED
`name
`CDATA
`"horizontal"
`orientation
`CDATA
`"no">
`disabled
`CDATA
`<IELEMENT PROGRESSBAR (LOCATION,SIZE,MINVALUE,MAXVALUE,
`FLYOVER?,HELPALIAS?)>
`
`<IATTLIST PROGRESSBAR
`name CDATA
`#REQUIRED>
`<!ELEMENT LIST (LOCATION,SIZE,(DATACLASS,ATTRIBUTE)?, ITEM",
`SELECTED?,DESELECTED?,DOUBLECLICK?, FLYOVER?,
`HELPALIAS?)>
`
`<!ATTLIST LIST
`#REQUIRED
`CDATA
`name
`"single"
`CDATA
`selection
`"no">
`CDATA
`disabled
`<!ELEMENT TABLE
`(LOCATION, SIZE,COLUMN+,SELECTED?,
`DESELECTED?,DOUBLECLICK?,FLYOVER?,
`HELPALIAS?)>
`
`<IATTLIST TABLE
`#REQUIRED
`name
`CDATA
`"single"
`selection
`CDATA
`"no">
`disabled
`CDATA
`<!ELEMENT TREE (LOCATION,SIZE,(DATACLASS,ATTRIBUTE)?,ROOT?,
`DOUBLECL ICK?, FLYOVER?,HELPALIAS?)=>
`
`<IATTLIST TREE
`#REQUIRED
`CDATA
`name
`"no">
`CDATA
`disabled
`<a aaa -—>
`
`12
`
`IPR2024-00145
`Apple EX1013 Page 12
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 12 of 22
`
`US 6,342,907 B1
`
`XML DocumentType Definition (continued)
`
`<!-- Declare PANEL -->
`<!ELEMENT PANEL
`
`(TITLE,SIZE, ICON?,ACTIVATE?, (LABEL|IMAGE|
`CUSTOM|BUTTON|GROUPBOX|RADIOBUTTON|
`BUTTONGROUP|CHECKBOX|COMBOBOX|TEXTFIELD
`|TEXTAREA|SLIDER|PROGRESSBAR|LIST|TABLE|
`TREE|SPLITPANE|DECKPANE| TABBEDPANE)*)>
`
`<IATTLIST PANEL
`name CDATA~- #REQUIRED>
`
`<!-- Declare PROPERTYSHEET-->
`<IELEMENT PROPERTYSHEET(TITLE?,ICON?,PAGE+)>
`<IATTLIST
`PROPERTYSHEET
`name CDATA
`#REQUIRED>
`
`<!-- Declare WIZARD -->
`<JELEMENT WIZARD
`<IATTLIST WIZARD
`name CDATA
`
`(ICON?, STEP*,PAGE+)>
`
`#REQUIRED>
`
`<!-- Declare SPLITPANE -->
`<IELEMENT SPLITPANE (TITLE?, LOCATION?,SIZE?,PANE+)>
`<IATTLIST SPLITPANE
`name
`CDATA
`orientation
`CDATA
`
`#REQUIRED
`"horizontal">
`
`<!-- Declare DECKPANE -->
`<!ELEMENT DECKPANE (TITLE?,LOCATION?,SIZE?,PANE+)>
`<IATTLIST DECKPANE
`name CDATA
`
`#REQUIRED>
`
`<l-- Declare TABBEDPANE -->
`<IELEMENT TABBEDPANE
`(TITLE?, LOCATION?,SIZE?,PANE+)>
`<IATTLIST TABBEDPANE
`
`
`name CDATA—#REQUIRED FIG. 8E
`placement
`CDATA
`“top">
`
`<!-- Declare PDML -->
`<!ELEMENT PDML ((PANEL|PROPERTYSHEET|WIZARD|SPLITPANE|DECKPANE
`|TABBEDPANE)*)>
`
`PDML
`<SIATTLIST
`version
`source
`basescreensize
`
`CDATA
`CDATA
`CDATA
`
`#REQUIRED
`#REQUIRED
`#IMPLIED>
`
`ee -—>
`
`13
`
`IPR2024-00145
`Apple EX1013 Page 13
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 13 of 22
`
`US 6,342,907 B1
`
`PDML GRAPHICAL COMPONENTS
`
`
`
`PANEL
`LABEL
`IMAGE
`CUSTOM
`BUTTON
`GROUPBOX
`RADIOBUTTON
`CHECKBOX
`BUTTONGROUP
`COMBOBOX
`TEXTFIELD
`TEXTAREA
`SLIDER
`PROGRESSBAR
`LIST
`TABLE
`TREE
`SPLITPANE
`DECKPANE
`TABBEDPANE
`
`FIG. 9
`
`IPR2024-00145
`Apple EX1013 Page 14
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 14 of 22
`
`US 6,342,907 B1
`
`wojsn9
`
`sJajpuey
`
`OLOL
`
`uowwoy
`
`sJa|pueH
`
`
`
`(eneraind)
`
`OSOL
`
`ejequowwos
`
`sJoyewso4
`
`
`
`(eaeraind)
`
`peAeldsigq
`
`joued
`
`JeBueuoxy
`
`
`
`(eneraind)
`
`eeOvOL
`
`eyequowwoy
`qWdd OLOL
`eoJnosey
`
`a}pungg0/n0S
`
`Ozpsvebeuey)ewjuny
`vZ0l———9uedyids-
`
`GcOL———S8ued499q-
`
`€cOL———SPJPZINA-
`
`
`9cOl—Ssouedpeqqe|-
`
`2c20||e94PueYOO)?-—
`
`
`
`
`ZZO|—-Ss}eeysApedold-
`
`0zOL————}noAeq-
`
`LcOL————S|eued-
`
`0801
`
`
`
`Sodepa}u]Jasyf
`
`
`
`(s)ueagejeq
`
`(ddyener)
`
`ObSls|Swaa>
`
`
`
`eneraind
`
`
`
`JesiedTWX
`
`15
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2024-00145
`Apple EX1013 Page 15
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 15 of 22
`
`US 6,342,907 B1
`
`
`
`
`OOLLSpoONpepuedxy[=]
`jeaued
`“QL jeoues
`
`
`Ja|puUeYLUOJSNDYYMUOING‘¢}qou
`
`
`
`sjuauodwo’)peyoddnsjojsa_|-Jabeuey
`
`
`
`
`
`ealy1xel‘ZLjaqe|AreuIplQ"|
`
`
`
`
`
`}UedNOAH“}aqe]SUIIHINWY°Z
`
`payoddnsj},uaseBulmojjoyau
`
`
`paiqeusaqJaaeupinouspue
`
`
`
` SPONpasdeyjog[+]|\feo]
`
`@pONpepuedxy[-]
`
`Buse}Asuepusdeg
`9-€a1qesIqC)
`
`9-€aiqeugC)
`
`aqesiq/eiqeus
`reeaoway[|WeaIgesiq©)
`Lb-6aiqeuy
`
`83d]
`
`
` JegssalBold“/1‘PlayIXOL“|/I-(a1GeyIpe)
`
`xogOQUIOD‘O}
`
`‘
`
`
`
`J2qe|SIY}UlJXO}OU}JO|/eSas
`
`ISI“PL€JO}uoyng“yC)
`
`xoqdnolg°
`
`€JoZuoying‘gC)
`
`€Jo€uoying‘9C)
`
`
`
`BuowmBulyyeuossiaay}
`
`
`
`uoyng7aiqel“SLazO
`
`xoqyo5y9*g[|
`
`
`
`:(a|qQey|peauN)xogOQUIOD6
`
`16
`
`IPR2024-00145
`Apple EX1013 Page 16
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 16 of 22
`
`US 6,342,907 B1
`
`PDML PanelDefinition
`
`1210 <PDML version="1.0" source="WINDOWS"basescreensize="1 280x1024">
`
` 1220 <PANEL name="IDD_SUPPORTED_COMPONENTS">
`
`1230
`<TITLE>IDD_SUPPORTED_COMPONENTS</TITLE>
`
`1240
`<SIZE>400,300</SIZE>
`<BUTTON name="IDOK">
`<TITLE>IDOK</TITLE>
`<LOCATION>109,279</LOCATION>
`<SIZE>50,14</SIZE>
`<STYLE>DEFAULT</STYLE>
`</BUTTON>
`<BUTTON name="IDCANCEL'">
`<TITLE>IDCANCEL</TITLE>
`<LOCATION>175,279</LOCATION>
`<SIZE>50,14</SIZE>
`</BUTTON>
`<BUTTON name="IDHELP">
`<TITLE>IDHELP</TITLE>
`<LOCATION>241,279</LOCATION>
`<SIZE>50,14</SIZE>
`</BUTTON>
`<LABEL name="IDC_LABEL">
`<TITLE>IDC_LABEL</TITLE>
`<LOCATION>7,7</LOCATION>
`<SIZE>124 8</SIZE>
`</LABEL>
`<LABEL name="IDC_MULTILINE">
`<TITLE>IDC_MULTILINE</TITLE>
`<LOCATION?>7 ,25</LOCATION>
`<SIZE>124,17</SIZE>
`</LABEL>
`<GROUPBOX name="IDC_GROUPBOX">
`<TITLE>IDC_GROUPBOX</TITLE>
`<LOCATION>7 ,51</LOCATION>
`<SIZE>124,73</SIZE>
`</GROUPBOX>
`
`<RADIOBUTTON name="IDC_RADIO1"> F | G » 1 2A
`
`<TITLE>IDC_RADIO1</TITLE>
`<LOCATION>17,66</LOCATION>
`<SIZE>58,10</SIZE>
`</RADIOBUTTON>
`<RADIOBUTTON name="IDC_RADIO2">
`<TITLE>IDC_RADIO2</TITLE>
`<LOCATION>17,85</LOCATION>
`<SIZE>58,10</SIZE>
`</RADIOBUTTON>
`
`17
`
`IPR2024-00145
`Apple EX1013 Page 17
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 17 of 22
`
`US 6,342,907 B1
`
`PDML PanelDefinition (continued)
`
`<RADIOBUTTON name="IDC_RADIO3">
`<TITLE>IDC_RADIO3</TITLE>
`<LOCATION>17,104</LOCATION>
`<SIZE>58,10</SIZE>
`</RADIOBUTTON>
`<BUTTONGROUP name="IDC_STANDALONE_group">
`<RADIOBUTTON name="IDC_STANDALONE">
`<TITLE>IDC_STANDALONE</TITLE>
`<LOCATION>7,136</LOCATION>
`<SIZE>124,10</SIZE>
`</RADIOBUTTON>
`</BUTTONGROUP>
`<CHECKBOX name="IDC_CHECKBOX">
`<TITLE>IDC_CHECKBOX</TITLE>
`<LOCATION>7,158</LOCATION>
`<SIZE>124,10</SIZE>
`</CHECKBOX>
`<LABEL name="IDC_COMBOLABEL1">
`<TITLE>IDC_COMBOLABEL1</TITLE>
`<LOCATION>7,179</LOCATION>
`<SIZE>124,8</SIZE>
`</LABEL>
`<COMBOBOX name="IDC_COMBONOEDIT"editable="no">
`<LOCATION>7,191</LOCATION>
`<SIZE>124,12</SIZE>
`</COMBOBOX>
`<LABEL name="IDC_COMBOLABEL2">
`<TITLE>IDC_COMBOLABEL2</TITLE>
`<LOCATION>7,213</LOCATION>
`<SIZE>124,8</SIZE>
`</LABEL>
`<COMBOBOX name="IDC_COMBOEDIT"editable="yes">
`<LOCATION>7 ,224</LOCATION>
`<SIZE>124,12</SIZE>
`
`SLABELnamew"IDC_TEXTFIELD1">
`
`F | G . 1 2 B
`
`<TITLE>IDC_TEXTFIELD1</TITLE>
`<LOCATION?>7 ,242</LOCATION>
`<SIZE>124,8</SIZE>
`</LABEL>
`<TEXTFIELD name="IDC_TEXTFIELD" masked="no">
`<LOCATION>7,254</LOCATION>
`<SIZE>124,14</SIZE>
`</TEXTFIELD>
`<LABEL name="IDC_TEXTAREALABEL">
`<TITLE>IDC_TEXTAREALABEL</TITLE>
`<LOCATION>145,7</LOCATION>
`<SIZE>107,8</SIZE>
`</LABEL>
`
`18
`
`IPR2024-00145
`Apple EX1013 Page 18
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 18 of 22
`
`US 6,342,907 B1
`
`PDMLPanelDefinition (continued)
`
`<TEXTAREA name="IDC_TEXTAREA">
`<LOCATION>145, 19</LOCATION>
`<SIZE>114,26</SIZE>
`</TEXTAREA>
`<BUTTON name="IDC_CUSTOMBUTTON">
`<TITLE>IDC_CUSTOMBUTTON</TITLE>
`<LOCATION>145,54</LOCATION>
`<SIZE>114,14</SIZE>
`</BUTTON>
`<LABEL name="IDC_LISTLABEL">
`<TITLE>IDC_LISTLABEL</TITLE>
`<LOCATION>145,77</LOCATION>
`<SIZE>107,8</SIZE>
`</LABEL>
`<LIST name="IDC_LIST" selection="single">
`<LOCATION>145,88</LOCATION>
`<SIZE>114,30</SIZE>
`</LIST>
`<LABEL name="IDC_TABLELABEL">
`<TITLE>IDC_TABLELABEL</TITLE>
`<LOCATION>145,129</LOCATION>
`<SIZE>107,8</SIZE>
`</LABEL>
`<TABLE name="IDC_TABLE"selection="multiinterval">
`<LOCATION> 145, 142</LOCATION>
`<SIZE>114,51</SIZE>
`<COLUMN primary="yes" editable="no">
`<TITLE>IDC_TABLE@COLUMN_1</TITLE>
`</COLUMN>
`</TABLE>
`<SLIDER name="IDC_SLIDER1"orientation="horizontal">
`<LOCATION>145,219</LOCATION>
`<SIZE>114,19</SIZE>
`<MINVALUE>0</MINVALUE>
`
`FIG. 12C
`
`.
`
`<MAXVALUE>10</MAXVALUE>
`</SLIDER>
`<LABEL name="IDC_STATIC">
`<TITLE>IDC_STATIC</TITLE>
`<LOCATION>145,206</LOCATION>
`<SIZE>107,8</SIZE>
`</LABEL>
`<LABEL name="IDC_PROGRESSLABEL">
`<TITLE>IDC_PROGRESSLABEL</TITLE>
`<LOCATION>145,241</LOCATION>
`<SIZE>107,8</SIZE>
`</LABEL>
`
`19
`
`IPR2024-00145
`Apple EX1013 Page 19
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 19 of 22
`
`US 6,342,907 B1
`
`PDML PanelDefinition (continued)
`
`<PROGRESSBAR name="IDC_PROGRESS1">
`<LOCATION>145,254</LOCATION>
`<SIZE>114,11</SIZE>
`<MINVALUE>0</MINVALUE>
`<MAXVALUE>10</MAXVALUE>
`</PROGRESSBAR>
`<LABEL name="IDC_TREELABEL">
`<TITLE>IDC_TREELABEL</TITLE>
`<LOCATION>270,7</LOCATION>
`<SIZE>101,8</SIZE>
`</LABEL>
`<TREE name="IDC_TREE">
`<LOCATION>270, 19</LOCATION>
`<SIZE>113,51</SIZE>
`</TREE>
`<GROUPBOX name="IDC_DEPENDENCYBOX">
`<TITLE>IDC_DEPENDENCYBOX</TITLE>
`<LOCATION>270,79</LOCATION>
`<SIZE>113,189</SIZE>
`</GROUPBOX>
`<CHECKBOX name="IDC_DISABLEALL">
`<TITLE>IDC_DISABLEALL</TITLE>
`<LOCATION>277,91</LOCATION>
`<SIZE>51,10</SIZE>
`</CHECKBOX>
`<BUTTONGROUP name="IDC_DISABLE36_group">
`<RADIOBUTTON name="IDC_DISABLE36">
`<TITLE>IDC_DISABLE36</TITLE>
`<LOCATION>287,131</LOCATION>
`<SIZE>48,10</SIZE>
`</RADIOBUTTON>
`</BUTTONGROUP>
`<BUTTONGROUP name="IDC_ENABLE36_group">
`<RADIOBUTTON name="IDC_ENABLE36">
`<TITLE>IDC_ENABLE36</TITLE>
`<LOCATION>287,144</LOCATION>
`<SIZE>48,10</SIZE>
`</RADIOBUTTON>
`</BUTTONGROUP>
`<GROUPBOX name="IDC_DISABLEGROUP">
`<TITLE>IDC_DISABLEGROUP</TITLE>
`<LOCATION>276,120</LOCATION>
`
`FIG. 12D
`
`<IGROUPBOXS
`
`<BUTTON name="IDC_LISTENABLE">
`<TITLE>IDC_LISTENABLE</TITLE>
`<LOCATION>276, 168</LOCATION>
`<SIZE>97,14</SIZE>
`</BUTTON>
`
`20
`
`IPR2024-00145
`Apple EX1013 Page 20
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 20 of 22
`
`US 6,342,907 B1
`
`PDML Panel Definition (continued)
`
`<BUTTON name="IDC_TABLEENABLE">
`<TITLE>IDC_TABLEENABLE</TITLE>
`<LOCATION>276, 187</LOCATION>
`<SIZE>97,14</SIZE>
`</BUTTON>
`<COMBOBOX name="IDC_COMBODISABLE"editable="no">
`<LOCATION>276,211</LOCATION>
`<SIZE>97 ,12</SIZE>
`</COMBOBOX>
`<CHECKBOX name="IDC_REMOVEALL1">
`<TITLE>IDC_REMOVEALL1</TITLE>
`<LOCATION>277 ,105</LOCATION>
`<SIZE>51 ,10</SIZE>
`</CHECKBOX>
`<LABEL name="IDC_UNSUPPORTEDLABEL">
`<TITLE>IDC_UNSUPPORTEDLABEL</TITLE>
`<LOCATION>276 ,227</LOCATION>
`<SIZE>97 ,16</SIZE>
`</LABEL>
`<LABEL name="IDC_UNSUPPORTEDTEXT">
`<TITLE>IDC_UNSUPPORTEDTEXT</TITLE>
`<LOCATION>279,250</LOCATION>
`<SIZE>42 8</SIZE>
`</LABEL>
`<TEXTFIELD name="IDC_UNSUPPORTEDFIELD" masked="no">
`<LOCATION>328 247</LOCATION>
`<SIZE>47,14</SIZE>
`</TEXTFIELD>
`
`Panes
`</PDML>
`
`FIG. 12E
`
`1320
`
`
`1300
`
`
`1310
`PDML File
`
`
`
`
`Windows
`Panel
`
`1330
`Conversion
`
`
`Resource Script
`Tool
`
`Bundle
`
`FIG. 13
`
`
`
`
`Resource
`
`21
`
`IPR2024-00145
`Apple EX1013 Page 21
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 21 of 22
`
`US 6,342,907 B1
`
`Panel Manager- Test of Supported Components
`Insert the overview help here. Content within these <helpcontent> tags will be
`preserved
`Fields
`12. Text Area
`
`18. Tree
`
`3. Group Box
`
`6: Button 3 of 3
`
`13. Button with custom handler
`
`4. Button 1 of 3
`
`14. List
`
`Dependencytesting
`5. Button 2 of 3
`
`Disable all
`
`FIG. 14
`
`22
`
`IPR2024-00145
`Apple EX1013 Page 22
`
`
`
`U.S. Patent
`
`Jan. 29, 2002
`
`Sheet 22 of 22
`
`US 6,342,907 B1
`
`
`
`[wapTories] [Back] [} [cony_]
`
`12. Text Area
`
`Insert help for 12. Text area here. Content within these <helpcontent> tags
`will be preserved.
`
`18. Tree
`
`tags will be preserved.
`
`Insert help for 18. Tree here. Content within these <helpcontent> tags
`will be preserved.
`
`3. Group Box
`
`Insert help for 3. Group box here. Content within these <helpcontent> tags
`will be preserved.
`
`13. Button with custom handler
`
`Insert help for 13. Button with custom handler here. Content within these
`<helpcontent> tags will be preserved.
`
`4. Button 1 of 3
`
`Insert help for 4. Button 1 of 3 here. Content within these <helpcontent>
`
`FIG. 15
`
`23
`
`IPR2024-00145
`Apple EX1013 Page 23
`
`
`
`US 6,342,907 B1
`
`1
`SPECIFICATION LANGUAGE FOR
`DEFINING USER INTERFACE PANELS
`THAT ARE PLATFORM-INDEPENDENT
`
`REFERENCE TO MICROFICHE APPENDIX
`
`A single microfiche appendix that contains a total of 43
`frames is included with this patent application.
`
`BACKGROUND OF THE INVENTION
`
`1. Technical Field
`
`This invention generally relates to computer system dis-
`plays and more specifically relates to a mechanism and
`methodfor defining and displaying user interface panels that
`are platform-independent.
`2. Background Art
`The development of the EDVAC computer system of
`1948 is often cited as the beginning of the computer era.
`Since that
`time, computer systems have evolved into
`extremely sophisticated devices that may be found in many
`different settings. Computer systems typically include a
`combination of hardware (e.g., semiconductors, circuit
`boards, etc.) and software (e.g., computer programs). As
`advances in semiconductor processing and computer archi-
`tecture push the performance of the computer hardware
`higher, more sophisticated computer software has evolved to
`take advantage of the higher performance of the hardware,
`resulting in computer systems today that are much more
`powerful than just a few years ago.
`Early computer systems used command-based operating
`systems and software applications. These command-based
`systems provided a user interface that required the user to
`memorize a relatively large number of commandsinorder to
`perform meaningful work. The user interfaces for these
`command-driven computer programs required a relatively
`high level of skill to operate, and were not considered to be
`“user-friendly.” With the introduction of the IBM personal
`computer (PC), computers became more widely available,
`both in the workplace and in homes, and the computer
`industry soon recognized the need to provide more user-
`friendly interfaces to computer programs. As a result, many
`different operating systems were introduced that provided a
`graphical user interface (GUI),
`including IBM’s OS/2,
`Microsoft Windows, and the Apple McIntosh. Software
`applications with graphical user interfaces soon followed,
`and the vast majority of computer programs running on
`personal computers today provides a user-friendly graphical
`user interface.
`
`Most graphical user interfaces provide many common
`features. The basic display area in a graphical user interface
`is known as a window orpanel. For the discussion in this
`patent application, wereferto a basic display area as a panel,
`recognizing that other terms are knownintheart to describe
`display areas. A single panel mayfill the entire display, or
`the display can be split into a numberof different panels. A
`panel may include a number of different “components”,
`which are different areas that display text, drop-down lists,
`text entry fields, etc. A pointing device such as a trackball or
`a mouseis generally used to select various commands and
`options on a panel by clicking on the appropriate fields or
`buttons within the panel. In addition, a keyboard is com-
`monly used to enter text information into a panel.
`Various methods have been developed for generating
`panels. For example, an editor provided with Microsoft
`Visual C++ provides a graphical tool that allows a program-
`merto define a panel that may be displayed using Microsoft
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`Windows by selecting and dropping desired components
`onto the panel. When the programmeris finished, the panel
`is defined as a Windowsresource script (.rc file). Resource
`script 1s a special programming language that allows a user
`to define the appearance and function of a panel. Of course,
`when a programmer uses a graphical tool to generate a
`panel, the tool translates the components the programmer
`sees on the panel
`into a corresponding resource script
`without the programmer directly writing code in resource
`script format. An example of a panel defined in Windows
`resource script is shown in FIG. 3, with the corresponding
`resource script shown in FIGS. 4A and 4B.
`While generating panels using Visual C++ is relatively
`straightforward, the resulting panels in resource script for-
`mat can only be displayed on a Microsoft Windowsplat-
`form. Today,
`there is a great push to provide software
`applications that are “platform-independent”, which means
`that a software application may run on computer systems
`that have different operating systems, such as OS/2,
`Windows, AIX, AS/400, etc. The Java programming lan-
`guage developed by Sun Microsystems provides a program-
`ming language for platform-independent software applica-
`tions.
`
`The Java programming language currently has some
`graphical tools for generating panels in Java, such as Syman-
`tec Visual Cafe. These graphical tools generate Java code,
`and define sizes and positions of user interface components
`in absolute pixel coordinates. However,
`the preferred
`method of generating user interface panels in Java uses
`Java-defined classes known as layout managers. Java allows
`a programmerto select an appropriate layout manager class
`depending on the type of panel that the programmer wants
`to display and then add appropriate componentsto the panel.
`The layout managerwill then work out how the components
`are displayed in the panel.
`It
`is often necessary to use
`different layout managers for different sections of a panel,
`imposing upon the programmerthe burden and complexity
`of dealing with multiple layout managers.
`Typically,
`the functional components are distinguished
`from mere text or other display information that is simply
`displayed to a user. The text or other display information is
`typically stored in a resource bundle separate from the Java
`functional components. Thus, a panel with English text will
`have a corresponding English resource bundle, while the
`same panel could be displayed in German using a German
`resource bundle instead of the English resource bundle. An
`example of a user interface panel that was generated in Java
`and that uses an English resource bundle is shown in FIG.
`5.
`
`In Java, the programmerhas no direct control of location
`of components within the panel. The logic behind the layout
`managersis to allow an applicationto be ported to a different
`language quickly and easily. Thus,if the text on a button is
`twice as long in Germanthan it is in English, the layout
`managerhasthe intelligence to stretch the button to accom-
`modate the longer German label (stored in the German
`resource bundle) on the button. The panel of FIG. 6 is a
`German version of the panel of FIG. 5. However, defining
`user interface panels in Java has significant drawbacks. The
`programmerhas no precise control over the appearance of
`components on a panel, but must instead rely on a Java
`layout manager to determine the size and position of com-
`ponents on the panel. In addition, using the layout managers
`in Java to generate a user interface panel requires that the
`programmeris skilled in the Java programming language.
`Thus,
`the generation and modification of user interface
`panels must be performed by a skilled Java programmer.
`24
`
`IPR2024-00145
`Apple EX1013 Page 24
`
`
`
`US 6,342,907 B1
`
`3
`This is in stark contrast to the Windows environment, where
`a person can design a platform-specific user interface panel
`using a graphical editor, having no specialized programming
`knowledge. Even using the graphical editors for Java panels,
`such as Symantec Visual Cafe, the result is Java code that
`defines sizes and positions of user interface components in
`absolute pixel coordinates, and that b