`(12) Patent Application Publication (10) Pub. No.: US 2007/0150617 A1
`(43) Pub. Date:
`Jun. 28, 2007
`Hariki
`
`US 2007O150617A1
`
`(54) RESOURCE APPLICATION PROGRAM
`INTERFACE UTILITY FOR CHANGING
`USER INTERFACE ELEMENTS ON
`WIRELESS DEVICES
`
`Keiji Hariki, Sunnyvale, CA (US)
`(75) Inventor:
`Correspondence Address:
`COURTNEY STANFORD & GREGORY LLP
`P.O. BOX 9686
`SAN JOSE, CA 95157
`(73) Assignee:
`Innopath Software, Inc.
`
`(21) Appl. No.:
`
`11/493,709
`
`(22) Filed:
`
`Jul. 25, 2006
`Related U.S. Application Data
`(60) Provisional application No. 60/753,107, filed on Dec.
`22, 2005.
`
`Publication Classification
`
`(51) Int. Cl.
`G06F 5/16
`
`(2006.01)
`
`(52) U.S. Cl. ....................................................... 709/246
`
`ABSTRACT
`(57)
`Embodiments of a mobile device incorporating a resource
`application program interface for downloading user inter
`face components for a resident application are described.
`Resource profiles are defined by device manufacturers for
`each model of mobile device. The resource profiles specify
`the composition, format, and appearance of one or more user
`interface elements displayed or executed by the mobile
`device. A content provider maintains a common database of
`resources for each mobile device model. The resources
`comprise files, links to files, and/or data or program objects
`associated with the configurable aspect of the user interface
`for each mobile device and are provided in the form of a
`downloadable UI content package consisting of the descrip
`tion file and resource files. The mobile device handset
`includes a resource API to download UI content package
`data from a UI content server or UI content that is locally
`stored. The resource API contains a number of different
`plug-in content engines and an engine selector component to
`allow an application program executed on the mobile hand
`set to access the resources without requiring modification of
`the application.
`
`
`
`USER
`INTERFACE
`AUTHORNG
`TOOL
`O4
`
`APPLICATION
`122
`
`Netflix v. GoTV
`IPR2023-00758
`Netflix Ex. 1005
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 1 of 7
`Jun. 28, 2007 Sheet 1 of 7
`
`US 2007/O150617 A1
`US 2007/0150617 Al
`
`
`
`
`
`
`
`
`
`APPLICATION
`APPLICATION
`122
`122
`
`:
`
`FIGURE 1
`FIGURE 1
`
`
`
`
`
`
`USER
`USER
`INTERFACE
`
`INTERFACE
`AUTHORNG
`AUTHORING
`TOOL
`TOOL
`104
`104
`
`
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 2 of 7
`Jun. 28,2007 Sheet 2 of 7
`
`US 2007/0150617 A1
`US 2007/0150617 Al
`
`COMMON RESOURCE DEPOT
`COMMON RESOURCE DEPOT
`2O2
`202
`
`
`
`
`
`RESOURCE
`RESOURCE
`PROFILES
`PROFILES
`
`204
`204
`
`
`
`RESOURCEA
`RESOURCE A
`
`RESOURCE B
`RESOURCE B
`
`RESOURCEC
`RESOURCE C
`
`
`
`RESOURCE PROFILE
`RESOURCE PROFILE
`DEVICE A
`DEVICE A
`
`RESOURCE PROFILE
`RESOURCE PROFILE
`DEVICE B
`DEVICE B
`
`PROFILE
`PROFILE
`SELECTOR
`SELECTOR
`205
`
`
`
`205
`
`
`
`
`
`
`RESOURCE
`SCREEN
`RESOURCE
`SCREEN
`CONVERTER
`PREVIEWER
`CONVERTER
`
`
`PREVIEWER
`
`2O6
`208
`
`
`206
`208
`
`
`
`PACKAGE
`DESCRIPTION
`PACKAGE
`DESCRIPTION
`GENERATOR
`FILE
`GENERATOR
`
`FILE
`214
`212
`
` 212
`
`214
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DESCRIPTION
`DESCRIPTION
`EDITOR
`EDITOR
`21 O
`210
`
`
`
`
`
`USER INTERFACE CONTENT PACKAGE 216
`216
`
` USER INTERFACE CONTENT PACKAGE
`
`CONVERTED
`CONVERTED
`RESOURCE A
`RESOURCE A
`
`CONVERTED
`CONVERTED
`RESOURCE B
`RESOURCEB
`
`DESCRIPTION
`DESCRIPTION
`FILE
`FILE
`
`FIGURE 2
`FIGURE 2
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 3 of 7
`Jun. 28,2007 Sheet 3 of 7
`
`US 2007/O150617 A1
`US 2007/0150617 Al
`
`
`
`<item id="ID 1" type="Flash" size="240,240" position="0, 10" screenlD="2"/>
`<item id= “ID_1” type= “Flash” size="240,240”position="0, 10" screenID="2’/>
`<item id="iD 2" type="PNG" size="24,24" position="5,0" screenlD="1"/>
`<item id= “ID_2” type= “PNG” size="24,24” position="5, 0” screenID="1"/>
`<item id="ID 3" type="JPEG" size="240,320" position="0,0" screenlD="1"/>
`<item id= “ID_3” type= “JPEG” size="240,320" position="0,0" screenID="1"/>
`
`RESOURCE PROFILES
`RESOURCE PROFILES
`
`RESOURCE PROFILE DEVICE A
`RESOURCE PROFILE DEVICE A
`
`<item id= “1D_4” type= “JPEG” size="240,320"position="0,0" screenID="1"/>
`
`RESOURCE PROFILE DEVICE B
`RESOURCE PROFILE DEVICE B
`<item id="ID 1" type="Flash" size="240,240" position="0, 10" screenld="2"/>
`<item id= “ID_1” type= “Flash” size="240,240” position="0, 10" screenID="2”/>
`<item id="D2" type="GF" size="24,24" position="5,0" screenlD="1"/>
`<item id= “ID_2” type= “GIF” size="24,24” position="5, 0” screenID="1"/>
`<item id="D 4" type="JPEG" size="240,320" position="O,0" screenld="1"/>
`
`FIGURE 3
`FIGURE 3
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 4 of 7
`Jun. 28,2007 Sheet 4 of 7
`
`US 2007/O150617 A1
`US 2007/0150617 Al
`
`401
`401
`
`4O2
`402
`
`404
`404
`
`SELECT AND RETRIEVE PROFILE
`
`SELECT AND RETRIEVE PROFILE
`
`
`
`
`
`
`
`EXTRACT CUSTOMIZABLE ITEM
`EXTRACT CUSTOMIZABLE ITEM
`
`
`
`
`EDIT AND GENERATE DESCRIPTION
`EDIT AND GENERATE DESCRIPTION
`FLE
`FILE
`
`
`
`
`
`
`
`as CSNYERMAS5S2EEEFORMATOF
`gog|CONVERT IMAGESIZE, FILE FORMAT OF
`RESOURCE ACCORDING TO PROFILE
`
`RESOURCE ACCORDING TO PROFILE
`
`
`
`
`408
`408
`
`GENERATE UICONTENTPACKAGE
`GENERATE UI CONTENT PACKAGE
`
`410
`410
`
`
`
`
`
`DOWNLOAD U1 CONTENTPACKAGE WITH
`DOWNLOAD UI CONTENT PACKAGE WITH
`CONVERTED FILES TO MOBILE DEVICE
`CONVERTED FILES TO MOBILE DEVICE
`UPON RECQUEST
`
`UPON REQUEST
`
`
`
`
`FIGURE 4
`FIGURE 4
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 5 of 7
`Jun. 28,2007 Sheet 5 of 7
`
`US 2007/O150617 A1
`US 2007/0150617 Al
`
`
`
`MOBILE HANDSET
`MOBILE HANDSET
`
`502
`502
`
`SETTING
`SETTING
`APPLICATION
`APPLICATION
`504
`504
`
`APPLICATION
`APPLICATION
`506
`506
`
`RESOURCE AP
`RESOURCE API
`
`508
`508
`
`JPEG
`PNG
`FLASH
`PACKAGE SELECTOR
`JPEG
`PNG
`FLASH
`PACKAGE SELECTOR
`510
`ENGINE 514
`ENGINE 516
`ENGINE 518
`510 ENGINE 514|ENGINE 516|ENGINE 518
`
`
`DESCRIPTION FILE
`DESCRIPTIONFILE
`PARSER 512
`PARSER
`512
`
`ENGINE SELECTOR
`ENGINE SELECTOR
`52O
`520
`
`
`
`DATA STORAGE
`DATA STORAGE
`
`USER INTERFACE
`USER INTERFACE
`CONTENT PACKAGE A
`CONTENT PACKAGE A
`
`524
`
`USER INTERFACE
`USER INTERFACE
`CONTENT PACKAGE B
`CONTENT PACKAGE B
`
`532
`532
`
`RESOURCE
`RESOURCE
`A
`528
`A
`528
`
`RESOURCE
`RESOURCE
`B
`530
`B
`530
`
`NETWORK
`NETWORK
`538
`538
`
`FIGURE 5
`FIGURE 5
`
`U. RESOURCE SERVER
`Ul RESOURCE SERVER
`534
`534
`
`RESOURCEC
`RESOURCEC
`536
`536
`
`U CONTENT SERVER
`Ul CONTENT SERVER
`54O
`540
`
`UCONTENT
`Ul CONTENT
`PACKAGE
`PACKAGE
`542
`542
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 6 of 7
`Jun. 28,2007 Sheet 6 of 7
`
`US 2007/0150617 A1
`US 2007/0150617 Al
`
`
`
`USER INTERFACE CONTENT PACKAGE A
`USER INTERFACE CONTENT PACKAGE A
`
`DESCRIPTION FILE
`DESCRIPTION FILE
`
`526
`
`601
`
`RESOURCEA
`RESOURCE A
`528
`528
`
`RESOURCE B
`RESOURCEB
`530
`530
`
`<itemid= "ID 1" path="Resource A" type="Flash"/>
`<item id= “ID_1” path= “Resource A” type="Flash’/>
`<item id="D2" path="3
`e B" type="=PNG"/>
`<item id= "ID_2” path=“
`e B” type="=PNG"/>
`<item id="ID 3" path=
`<item id= “ID_3” path= “
`.
`type="JPEG"/>
`
`520
`
`U. RESOURCE
`Ul RESOURCE
`SERVER 534
`SERVER 534
`
`ENGINE SELECTOR
`ENGINE SELECTOR
`
`520
`
`RESOURCE C
`RESOURCEC
`536
`536
`
`FIGURE 6
`FIGURE 6
`
`
`
`Patent Application Publication
`Patent Application Publication
`
`Jun. 28, 2007 Sheet 7 of 7
`Jun. 28,2007 Sheet 7 of 7
`
`US 2007/0150617 A1
`US 2007/0150617 Al
`
`701
`701
`
`702
`702
`
`704
`704
`
`SET OR CHANGE THE SETTING OF
`SET OR CHANGE THE SETTING OF
`THE UPACKAGE FILE PATH
`
`THE UI PACKAGEFILE PATH
`
`APPLICATION REOUEST RESOURCE
`APPLICATION REQUEST RESOURCE
`BY RESOURCE ID NUMBER
`BY RESOURCE ID NUMBER
`
`
`
` RESOURCEAPI SELECTS AND READS
`RESOURCE API SELECTS AND READS
`DESCRIPTION FILE OF UCONTENT
`PACKAGE
` DESCRIPTION FILE OF Ul CONTENT
`PACKAGE
`
`
`706
`
`706
`
`
`
` REFERENCE THE RESOURCE FILE INDICATED BY
`
`REFERENCE THE RESOURCE FILE INDICATED BY
`THE FILE PATHIN THE UI conTENTPACKAGE IN
`THE FILE PATH IN THE UI CONTENT PACKAGE IN
`
`
`OR A RESOURCE SERVER
`OR A RESOURCE SERVER
`
`
`
`708
`708
`
`RESOURCE API RETRIEVES REFERENCED
`RESOURCE API RETRIEVES REFERENCED
`RESOURCE FILES
`RESOURCE FILES
`
`
`
`
`710|RETRIEVE ANY RESOURCE FILES REFERENCED
`710 RETRIEVE ANY RESOURCE FILES REFERENCED
`BY OTHER U CONTENT PACKAGES SPECIFIED
`BY OTHER UI CONTENT PACKAGESSPECIFIED
`
`
`BY PACKAGE SELECTOR
`
`BY PACKAGE SELECTOR
`
`712
`712
`
`PROVIDE RESOURCES TO APPLICATION
`PROVIDE RESOURCESTO APPLICATION
`
`FIGURE 7
`FIGURE 7
`
`
`
`US 2007/O 1506 17 A1
`US 2007/0150617 Al
`
`Jun. 28, 2007
`Jun. 28, 2007
`
`RESOURCE APPLICATION PROGRAM
`RESOURCE APPLICATION PROGRAM
`INTERFACE UTILITY FOR CHANGING
`INTERFACE UTILITY FOR CHANGING
`USER INTERFACE ELEMENTS ON
`USER INTERFACE ELEMENTS ON
`WIRELESS DEVICES
`WIRELESS DEVICES
`
`CROSS REFERENCE TO RELATED
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`APPLICATIONS
`0001. The present application claims priority to U.S.
`[0001] The present application claims priority to U.S.
`Provisional Application No. 60/753,107, and filed on Dec.
`Provisional Application No. 60/753,107, and filed on Dec.
`22, 2005.
`22, 2005.
`0002 The present application is related to U.S. patent
`[0002] The present application is related to U.S. patent
`application entitled “User Interface Authoring Utility for
`application entitled “User Interface Authoring Utility for
`Changing User Interface Elements on Wireless Devices.”
`Changing User Interface Elements on Wireless Devices,”
`filed on Jul. 25, 2006, and assigned to the assignee of the
`filed on Jul. 25, 2006, and assigned to the assignee of the
`present application.
`present application.
`
`FIELD
`FIELD
`0003 Embodiments of the invention relate generally to
`[0003] Embodiments of the invention relate generally to
`communication networks and more specifically, to a user
`communication networks and more specifically, to a user
`interface generation system for mobile communication
`interface generation system for mobile communication
`devices.
`devices.
`
`BACKGROUND
`BACKGROUND
`0004. The development of wireless mobile technology
`[0004] The development of wireless mobile technology
`beyond simple point-to-point cell phones has led to the
`beyond simple point-to-point cell phones has led to the
`proliferation of mobile devices that are increasingly able to
`proliferation of mobile devices that are increasingly able to
`access data from various different sources and process many
`access data from various different sources and process many
`different types of content data. Mobile services have been
`different types of content data. Mobile services have been
`developed that allow users to download various types of data
`developed that allow users to download various types of data
`and programs, such as games, music, Video clips, and so on,
`and programs, such as games, music, video clips, and so on,
`for use on their mobile devices. This has led to the expansion
`for use on their mobile devices. This has led to the expansion
`of mobile phones beyond mere communication devices, but
`of mobile phones beyond mere communication devices, but
`as processing platforms for a variety of different tasks, and
`as processing platforms for a variety of different tasks, and
`has resulted in the development of various different types of
`has resulted in the developmentof various different types of
`mobile devices to take advantage of these different applica
`mobile devices to take advantage of these different applica-
`tions and services. For example, a user may access commu
`tions and services. For example, a user may access commu-
`nication and/or Internet services using a cellular phone,
`nication and/or Internet services using a cellular phone,
`web-enabled mobile phone, home PC, notebook computer,
`web-enabled mobile phone, home PC, notebook computer,
`Personal Digital Assistant (PDA), portable game console,
`Personal Digital Assistant (PDA), portable game console,
`electronic mail (e-mail) device, media playback device, and
`electronic mail (e-mail) device, media playback device, and
`any other type of network enabled computing device. Not
`any other type of network enabled computing device. Not
`only are new types of device being developed, but present
`only are new types of device being developed, but present
`known devices, such as the mobile phone, are increasingly
`known devices, such as the mobile phone, are increasingly
`becoming integrated devices that are packed with greater
`becoming integrated devices that are packed with greater
`capabilities to integrate functions beyond their simple core
`capabilities to integrate functions beyond their simple core
`functions, such as combination phone/camera/MP3 player
`functions, such as combination phone/camera/MP3 player
`devices.
`devices.
`0005. The proliferation of different services and devices
`[0005] The proliferation of different services and devices
`on wireless networks has led to a great expansion in the
`on wireless networks has led to a great expansion in the
`different access protocols and user interfaces available on
`different access protocols and user interfaces available on
`phone and similar devices. In order to help users manage
`phone and similar devices. In order to help users manage
`their mobile and network devices, various types of customi
`their mobile and network devices, various types of customi-
`zation capabilities have been provided with wireless devices
`zation capabilities have been provided with wireless devices
`and communication services. For example, certain mobile
`and communication services. For example, certain mobile
`phone service and equipment providers provide user inter
`phoneservice and equipment providers provide user inter-
`face (UI) customization capabilities that allow users to
`face (UI) customization capabilities that allow users to
`personalize their phones or mobile devices with custom
`personalize their phones or mobile devices with custom
`ringtones, background displays (wallpaper), menu configu
`ringtones, background displays (wallpaper), menu configu-
`rations, and the like. The ability to change or customize the
`rations, and the like. The ability to change or customize the
`colors, fonts, Sounds, and functions of the device UI, gen
`colors, fonts, sounds, and functions of the device UI, gen-
`erally referred to as the “UI skin' can greatly enhance the
`erally referred to as the “UI skin” can greatly enhance the
`marketability of a device.
`marketability of a device.
`
`0006 Present UI customization schemes have certain
`[0006]
`Present UI customization schemes have certain
`disadvantages, however. For example, many customization
`disadvantages, however. For example, many customization
`features may be buried deep in the native UI or mobile
`features may be buried deep in the native UI or mobile
`device browser, thus presenting difficult or time consuming
`device browser, thus presenting difficult or time consuming
`operations for the user, and preventing many users from
`operations for the user, and preventing many users from
`taking full advantage of the possible customization features.
`taking full advantage of the possible customization features.
`Furthermore, present UI customization Solutions are typi
`Furthermore, present UI customization solutions are typi-
`cally limited to the basic user interface of a particular device,
`cally limited to the basic user interface of a particular device,
`and are restricted to allowing customization of only a few
`and are restricted to allowing customization of only a few
`parameters of the device. Many mobile devices, however,
`parameters of the device. Many mobile devices, however,
`are now capable of performing many different tasks, and
`are now capable of performing many different tasks, and
`even downloading and executing application programs. The
`even downloading and executing application programs. The
`customization features of present devices typically do not
`customization features of present devices typically do not
`allow the user to customize features related to the execution
`allow the user to customize features related to the execution
`of downloadable application programs or utilities, or pro
`of downloadable application programs or utilities, or pro-
`vide comprehensive customization over all of the functions
`vide comprehensive customization overall of the functions
`that may be integrated in the device.
`that may be integrated in the device.
`0007 Most device manufacturers provide a single default
`[0007] Most device manufacturers provide a single default
`user interface for each model of device. Customization
`user interface for each model of device. Customization
`features, referred to as “UI skin packages.” are often devel
`features, referred to as “UI skin packages,” are often devel-
`oped and provided by third party vendors. With regard to
`oped and provided by third party vendors. With regard to
`these third party content providers, providing customization
`these third party content providers, providing customization
`features can involve many labor intensive or high overhead
`features can involve manylabor intensive or high overhead
`tasks. Each device model on the market may have a unique
`tasks. Each device model on the market may have a unique
`UI format and specification. With the constant and rapid
`UI format and specification. With the constant and rapid
`development and release of new hardware, new resource
`development and release of new hardware, new resource
`files must be written and maintained for each new specifi
`files must be written and maintained for each new specifi-
`cation of mobile device. At present, the UI skin content
`cation of mobile device. At present, the UI skin content
`providers must typically obtain descriptors or profile param
`providers must typically obtain descriptors or profile param-
`eters for each UI of device from the device manufacturers
`eters for each UI of device from the device manufacturers
`individually, and compile these into resource files. This can
`individually, and compile these into resource files. This can
`be an often time-consuming process that can also be quite
`be an often time-consuming process that can also be quite
`error-prone since it deals with a lot of detailed information.
`error-prone since it deals with a lot of detailed information.
`0008 What is needed, therefore, is a mobile device UI
`[0008] What is needed, therefore, is a mobile device UI
`configuration system that allows a UI skin package content
`configuration system that allows a UI skin package content
`provider to easily generate a new UI resource file for new or
`providerto easily generate a new UI resourcefile for new or
`different mobile devices, and make these UI skin packages
`different mobile devices, and make these UI skin packages
`available for download and installation on user mobile
`available for download and installation on user mobile
`devices.
`devices.
`0009 What is further needed is a mobile device configu
`[0009] Whatis further needed is a mobile device configu-
`ration system that allows modification of mobile device user
`ration system that allows modification of mobile device user
`interfaces or application programs without modification of
`interfaces or application programs without modification of
`the application programs themselves.
`the application programs themselves.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`BRIEF DESCRIPTION OF THE DRAWINGS
`00.10 Embodiments of a user interface modification sys
`[0010] Embodiments of a user interface modification sys-
`tem in a wireless network are illustrated by way of example
`tem in a wireless networkare illustrated by way of example
`and not limitation in the figures of the accompanying
`and not
`limitation in the figures of the accompanying
`drawings, in which like references indicate similar elements
`drawings, in which like references indicate similar elements
`and in which:
`and in which:
`0011
`FIG. 1 is a block diagram of a communications
`[0011]
`FIG. 1 is a block diagram of a communications
`network system that implements embodiments of a user
`network system that implements embodiments of a user
`interface authoring tool, under an embodiment.
`interface authoring tool, under an embodiment.
`0012 FIG. 2 is a functional diagram of a user interface
`[0012]
`FIG. 2 is a functional diagram of a user interface
`authoring tool, under an embodiment.
`authoring tool, under an embodiment.
`0013 FIG. 3 is an example of a resource profiles for
`[0013]
`FIG. 3 is an example of a resource profiles for
`mobile devices, according to an embodiment.
`mobile devices, according to an embodiment.
`0014 FIG. 4 is a flowchart that illustrates a method
`[0014]
`FIG. 4 is a flowchart that
`illustrates a method
`providing a user interface authoring tool, according to an
`providing a user interface authoring tool, according to an
`embodiment.
`embodiment.
`(0015 FIG. 5 is a block diagram of a mobile device
`[0015]
`FIG. 5 is a block diagram of a mobile device
`including a resource application program interface for
`including a resource application program interface for
`downloading resources for a UI content package, under an
`downloading resources for a UI content package, under an
`embodiment.
`embodiment.
`
`
`
`US 2007/O 1506 17 A1
`US 2007/0150617 Al
`
`Jun. 28, 2007
`Jun. 28, 2007
`
`0016 FIG. 6 is a more detailed illustration of the resource
`[0016]
`FIG. 6is amore detailedillustration of the resource
`references for the mobile device of FIG. 5.
`references for the mobile device of FIG. 5.
`0017 FIG. 7 is a flowchart that illustrates a method
`[0017]
`FIG. 7 is a flowchart that
`illustrates a method
`downloading resources to a mobile device through a
`downloading resources to a mobile device through a
`resource application program interface on the mobile device,
`resource application program interface on the mobile device,
`according to an embodiment.
`according to an embodiment.
`
`DETAILED DESCRIPTION
`DETAILED DESCRIPTION
`00.18 Embodiments of a mobile device incorporating a
`[0018] Embodiments of a mobile device incorporating a
`user interface modification resource application program
`user interface modification resource application program-
`ming interface (API) are described. Aspects of the one or
`ming interface (API) are described. Aspects of the one or
`more embodiments described herein may be implemented
`more embodiments described herein may be implemented
`on one or more computers or computing devices executing
`on one or more computers or computing devices executing
`Software instructions. The computers may be networked in
`software instructions. The computers may be networked in
`a client-server arrangement or similar distributed computer
`a client-server arrangement or similar distributed computer
`network. Embodiments are directed to network systems that
`network. Embodiments are directed to network systems that
`incorporate a telecommunications or similar wireless net
`incorporate a telecommunications or similar wireless net-
`work system.
`work system.
`0019 Resource profiles are defined by device manufac
`[0019] Resource profiles are defined by device manufac-
`turers for each model of mobile device. The resource profiles
`turers for each model of mobile device. The resourceprofiles
`specify the composition, format, and appearance of one or
`specify the composition, format, and appearance of one or
`more user interface elements displayed or executed by the
`more user interface elements displayed or executed by the
`mobile device. A user interface authoring process executed
`mobile device. A user interface authoring process executed
`by a content provider maintains a common database of
`by a content provider maintains a common database of
`resources for each mobile device model. The resources
`resources for each mobile device model. The resources
`comprise files, links to files, and/or data or program objects
`comprise files, links to files, and/or data or program objects
`associated with the configurable aspect of the user interface
`associated with the configurable aspect of the user interface
`for each mobile device. The customizable aspects or items of
`for each mobile device. The customizable aspects or items of
`a user interface are extracted from selected resource profiles
`a user interface are extracted from selected resource profiles
`and description files for these aspects are generated using the
`and descriptionfiles for these aspects are generated using the
`appropriate common resources. The resources provided by
`appropriate commonresources. The resources provided by
`the commonresource database are converted to the formats
`the common resource database are converted to the formats
`dictated by the resource profiles and a UI package generator
`dictated by the resource profiles and a UI package generator
`produces a downloadable UI content package consisting of
`produces a downloadable UI content package consisting of
`the description file and the converted resource files. The
`the description file and the converted resource files. The
`mobile device handset includes a resource API to download
`mobile device handset includes a resource API to download
`UI content package data from a UI content server or UI
`UI content package data from a UI content server or UI
`content that is locally stored. The resource API contains a
`content that is locally stored. The resource API contains a
`number of different plug-in content engines and an engine
`numberof different plug-in content engines and an engine
`selector component to allow an application program
`selector component
`to allow an application program
`executed on the mobile handset to access the resources
`executed on the mobile handset to access the resources
`without requiring modification of the application.
`without requiring modification of the application.
`0020 FIG. 1 illustrates a communications network sys
`[0020]
`FIG. 1 illustrates a communications network sys-
`tem 100 that implements one or more embodiments of a
`tem 100 that implements one or more embodiments of a
`mobile device UI authoring tool. In system 100, a service
`mobile device UI authoring tool. In system 100, a service
`provider server computer provides network access to one or
`provider server computer provides network access to one or
`more mobile devices, such as mobile phones 108 and 109.
`more mobile devices, such as mobile phones 108 and 109.
`In one embodiment, the mobile devices 108 and 109 are
`In one embodiment, the mobile devices 108 and 109 are
`cellular phones and network 110 is a comprehensive tele
`cellular phones and network 110 is a comprehensive tele-
`communications network that includes both a cellular phone
`communications networkthat includes both a cellular phone
`network and the Internet. Network 110 may also include one
`network and the Internet. Network 110 mayalso include one
`or more Wide Area Networks (WAN). Local Area Networks
`or more Wide Area Networks (WAN), Local Area Networks
`(LAN), or any combination thereof. The server computer
`(LAN), or any combination thereof. The server computer
`can be a wireless service provider or Internet Service Pro
`can be a wireless service provider or Internet Service Pro-
`vider or combination of both. The mobile devices 108 and
`vider or combination of both. The mobile devices 108 and
`109 communicate with each other and other mobile devices
`109 communicate with each other and other mobile devices
`over the wireless portion of network 110, over the cellular
`over the wireless portion of network 110, over the cellular
`network. The mobile devices can also be configured to
`network. The mobile devices can also be configured to
`communicate with one or more client and/or server com-
`communicate with one or more client and/or server com
`puters that are directly or indirectly coupled to network 110.
`puters that are directly or indirectly coupled to network 110.
`The mobile devices 108 and 109 can represent devices made
`The mobile devices 108 and 109 can represent devices made
`by different manufacturers, different models of devices
`by different manufacturers, different models of devices
`made by the same manufacturer or any type of devices that
`made by the same manufacturer or any type of devices that
`have different user interface elements from one another.
`have different user interface elements from one another.
`
`0021. As shown in system 100, a server computer 102
`[0021] As shown in system 100, a server computer 102
`operated by the service provider or a third party vendor is a
`operated by the service provider or a third party vendoris a
`content provider server computer that provides content data,
`content provider server computerthat provides content data,
`application programs, diagnostic tools, program compo
`application programs, diagnostic tools, program compo-
`nents, or any other content or executable objects to the
`nents, or any other content or executable objects to the
`mobile device 108. The content provider computer can be a
`mobile device 108. The content provider computer can be a
`World-WideWeb (WWW) server that stores data in the form
`World-Wide Web (WWW)serverthat stores data in the form
`of web pages and transmits these pages as Hypertext
`of web pages and transmits these pages as Hypertext
`Markup Language (HTML) files over the Internet 110 to the
`Markup Language (HTML)files over the Internet 110 to the
`mobile devices 108 and 109, or other client computer on the
`mobile devices 108 and 109, or other client computer on the
`network. For example, server 102 can executes a web server
`network. For example, server 102 can executes a web server
`process to serve web pages over network 110. For this
`process to serve web pages over network 110. For this
`embodiment, one or more of the mobile devices runs a web
`embodiment, one or more of the mobile devices runs a web
`browser program to access the web pages served by server
`browser program to access the web pages served by server
`computer 102 and any other available content provider or
`computer 102 and any other available content provider or
`Supplemental server, Such as computer 106.
`supplemental server, such as computer 106.
`0022. Any or all of the client computers in system 100
`[0022]
`Anyorall of the client computers in system 100
`may be a workstation computer or they may be a computing
`maybe a workstation computer or they may be a computing
`device Such as a notebook computer, personal digital assis
`device such as a notebook computer, personal digital assis-
`tant, or the like. The client computers may also be embodied
`tant, or the like. The client computers may also be embodied
`within a mobile communication device, game console, or
`within a mobile communication device, game console, or
`similar computing device that provides access to the Internet
`similar computing device that provides access to the Internet
`network 110 and a sufficient degree of user input and
`network 110 and a sufficient degree of user input and
`processing capability to execute or access the application
`processing capability to execute or access the application
`programs. The mobile devices 108 and 109 may be coupled
`programs. The mobile devices 108 and 109 may be coupled
`to the network 110 over a wired connection, a wireless
`to the network 110 over a wired connection, a wireless
`connection or any combination thereof.
`connection or any combination thereof.
`0023. In a typical implementation, a great number of
`[0023]
`In a typical
`implementation, a great number of
`mobile devices of various types and makes can be intercon
`mobile devices of various types and makes can be intercon-
`nected through network 110. Because no strict industry
`nected through network 110. Because no strict
`industry
`standards have been written to dictate a uniform userinter-
`standards have been written to dictate a uniform user inter
`face among the possible different mobile devices, each
`face among the possible different mobile devices, each
`mobile device can feature a different user interface. In
`mobile device can feature a different user interface. In
`general, each manufacturer of a mobile device may have a
`general, each manufacturer of a mobile device may have a
`certain style of user interface, but even devices provided by
`certain style of user interface, but even devices provided by
`the same manufacturer can feature very different user inter
`the same manufacturer can feature very different user inter-
`faces to one another. The ability of users to customize their
`faces to one another. The ability of users to customize their
`user interfaces increases the variation of user interface styles
`user interfaces increases the variation of user interface styles
`even more.
`CW. O.
`0024. In one embodiment, server computer 102 is oper