throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0077941 A1
`Alagappan et al.
`(43) Pub. Date:
`Apr. 13, 2006
`
`US 20060077941A1
`
`(54) USER INTERFACE SYSTEM AND METHOD
`FOR IMPLEMENTATION ON MULTIPLE
`TYPES OF CLIENTS
`(76) Inventors: Meyyappan Alagappan, Sunnyvale,
`CA (US); Stephen Paul Paddon,
`Portland, OR (US); Thomas Sherwin
`Paddon, Brisbane, CA (US); Alexander
`Flavio Panelli, Palo Alto, CA (US)
`Correspondence Address:
`MORRISON & FOERSTER LLP
`12531 HIGH BLUFF DRIVE
`SUTE 100
`SAN DIEGO, CA 92130-2040 (US)
`(21) Appl. No.:
`11/151,798
`
`(22) Filed:
`
`Jun. 13, 2005
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 10/963,929,
`filed on Oct. 12, 2004.
`
`(60) Provisional application No. 60/611,353, filed on Sep.
`20, 2004.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`H04Q 7/24
`(52) U.S. Cl. .............................................................. 370/338
`
`(57)
`
`ABSTRACT
`
`A method and system for implementing a user interface for
`providing a data service in a mobile client using a server
`with knowledge of the clients hardware and software capa
`bilities to modify data content and display rules for an
`improved user interface on the client. Data may be cached
`on the client to improve application response time and
`provide a standalone application capability for the client.
`The automatic conversion of newly developed applications
`to a plurality of clients with differing hardware and software
`capabilities reduces application Software development and
`maintenance costs. Software updates and bug fixes can be
`deployed with the same method and system.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CONTENT
`SERVICE
`PROVIDER
`
`0.111
`
`NETWORK
`
`O105
`
`FIREWALL
`O110
`
`SERVER
`
`0.108
`
`CONTENT
`SERVICE
`PROVIDER
`0.111
`
`
`
`
`
`
`
`U
`ENGINE
`
`01.04
`
`O103
`
`O102
`
`PNC 1119
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 1 of 16
`
`US 2006/0077941 A1
`
`
`
`Z01.0? aun61-I
`
`| sol,?, ?, ?0>|EANES
`
`
`€0.1,080 || 0
`
`XMRIONALEN
`
`§04.0
`
`
`
`
`
`
`
`1NELNO3)
`
`EKOIARHEIS
`
`(IEC)]]AO(ld
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 2 of 16
`
`US 2006/0077941 A1
`
`pz aun61-I
`
`oz aun61-I
`
`qz aun61-I
`
`ez aun61-I
`
`|edI3Aell
`
`Az eun61-I
`
`az aun61-I
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 3 of 16
`
`US 2006/0077941 A1
`
`ILNENITO
`
`ETIROIN)
`
`(TWNIIN NEL
`
`9090
`
`>|E|ARTEISIINEITO
`
`
`
`NO||L\/OINT) INWOO
`
`17090090
`
`ETIROIN)
`
`„LNENIT! O
`
`
`
`(TVNI'N HEL
`
`
`
`·LNEJLNOC)
`
`EKOIARIES
`
`?IECHAORJd
`
`ETIROIN)
`
`(TWNIIN HEL
`
`£090
`
`
`
`5555>|E/ARHES/LNE IT,OEKOIARIES
`
`LNE.L.NOO
`
`JLNEVITO
`
`NOIJIVOINTINWOO}}=ICIIAO?!d
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 4 of 16
`
`US 2006/0077941 A1
`
`LINELLNO O1 NELLNO O
`
`EKOV-!>IELNI I NEITO
`Z070
`
`, ! !10170
`
`
`
`NOI LOETES
`
`0190T
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 5 of 16
`
`US 2006/0077941 A1
`
`
`
`
`
`0090 SDNISSE OORHd èJE/\>|ES
`
`
`
`
`
`2090
`
`‘S LES ET/TH CIENIEWOO LYHEANOO
`
`
`
`LNBITO OL NOISSIWSNVRH1.
`
`
`
`}}OH V LVQ TVGOTS) ONW ‘LNB LNOO
`
`ÇÕG?
`
`G ?un61-I
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 6 of 16
`
`US 2006/0077941 A1
`
`1090
`
`
`
`>IETICIN\/H LINEAE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 7 of 16
`
`US 2006/0077941 A1
`
`
`
`
`
`SONISSE OOXHCH HEA>JES
`
`0090
`
`
`
`
`
`00/0 €) NISSE OORHc] | NE||TO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Z ?un61-I
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 8 of 16
`
`US 2006/0077941 A1
`
`
`
`
`
`0090 €)NISSE OORHd 1 NEITO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`8 aun61-I
`
`

`

`Patent Application Publication Apr.
`13, 2006 Sheet 9 of 16
`
`US 2006/0077941 A1
`
`
`
`9 NISSE OO}} d \}EAXHES
`
`0090
`
`6 aun61-J
`
`
`
`
`
`0060 €)NISSE OORHc|| || NEITO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 10 of 16
`
`US 2006/0077941 A1
`
`
`
`1001
`CHECK ASSOCIATED CONTENT DENTIFIERS
`FOR CONTEN ADDRESSES
`
`1002
`REOUEST CONTENT FROM CONTENT
`PROVIDERS
`
`1003
`RECEIVE AND PROCESSES CONTENT
`
`1004
`COMBINE RULE SET AND CONTENT
`
`Figure 10
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 11 of 16
`
`US 2006/0077941 A1
`
`
`
`CREATE
`RULESET FILE
`1101
`
`CREATE
`DISPLAY PAGES
`1102
`
`LINK
`DISPLAY PAGES
`1103
`
`INSERT DISPLAY
`COMPONENTS
`1104
`
`SELECT DISPLAY
`COMPONENT
`PROPERTIES
`1105
`
`SELECT DISPLAY
`PAGE PROPERTIES
`1106
`
`Figure 11
`
`

`

`Patent Application Publication Apr. 13,2006 Sheet 12 of 16
`
`US 2006/0077941 A1
`
`
`eozt<<]SUOIJE}SSCS)<up0Zl
`
`
`
`
`
`SOCL<<§efoyjen juayeayes"j4ayeD1jes}"*
`war<ee[Dd[@ADA]
`7}ainbiy 80-OL-0L38SWd€0-SL-S
`~~GANAIS499/98ZOzI
`
`
`
`Aouebiowz
`
`sjueinejysey
`
`S|9}0H
`
`90z1
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 13 of 16
`
`US 2006/0077941 A1
`
`
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 14 of 16
`
`US 2006/0077941 A1
`
`
`
`C)
`9
`2
`C)
`(V)
`w
`()
`
`O)
`(V)
`
`

`

`US 2006/0077941 A1
`
`G? aun61-I
`
`Patent Application Publication Apr. 13, 2006 Sheet 15 of 16
`
`INORI-I/O.L.DISQOTLNE.L.NOO
`ILNENITOEKOIARIES
`ZO?0Ž?G?>]=|Cl|AO\ld
`
`?709||
`
`ARHOINE IN
`
`
`
`
`
`TORJ1NOOINOJ-IJOL
`
`

`

`Patent Application Publication Apr. 13, 2006 Sheet 16 of 16
`
`US 2006/0077941 A1
`
`8090
`
`E?OIAEO
`IndN. In
`
`AWTldS | 0
`
`'OISOOT(IEARES
`
`5555
`
`9? aun61-I
`
`
`
`
`
`
`
`

`

`US 2006/0077941 A1
`
`Apr. 13, 2006
`
`USER INTERFACE SYSTEMAND METHOD FOR
`IMPLEMENTATION ON MULTIPLE TYPES OF
`CLIENTS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`0001. This application is a continuation in part of U.S.
`patent application Ser. No. 10/963,929, filed on Oct. 12,
`2004, entitled “SYSTEM AND METHOD FOR DEVEL
`OPING AND DEPLOYING DEVICE INDEPENDENT
`APPLICATIONS” which is hereby incorporated herein in its
`entirety by reference. This application takes priority from
`U.S. application No. 60/611,353, filed on Sep. 20, 2004
`entitled SYSTEM AND METHOD FOR DEVELOPING
`AND DEPLOYING DEVICE INDEPENDENT APPLICA
`TIONS” which is hereby incorporated herein by reference.
`
`TECHNICAL FIELD
`0002 This invention relates to user interfaces for appli
`cations for clients in client-server computer systems. More
`particularly, but not by way of limitation, this invention
`enables the implementation of user interfaces for a plurality
`of server-based applications on a plurality of client types
`with fast performance and reduced upfront development
`time.
`
`BACKGROUND ART
`0003 Client-server computing systems typically use
`servers to provide services to a client. The client is often
`Smaller, less capable, less expensive, and more mobile than
`an associated server. One server usually provides services to
`multiple clients, whereas a client can often obtain services
`from multiple servers. The communication link between a
`client and a server may be of any appropriate type, including
`wired or wireless. In particular, wireless clients offer the
`opportunity for tether-free mobility, and usually have self
`contained power sources such as batteries. Communication
`bandwidth is usually restricted more for a wireless connec
`tion than it is for a cabled connection. Moreover, providing
`batteries for Suitable client operating time constrains the
`power that can be consumed by the client. In the interest of
`providing more mobility and greater battery lifetimes for
`clients, it is important to reduce the computational burden
`required of clients to perform their functions. Such minimal
`clients are sometimes referred to as “thin clients.” A thin
`client for wireless use is often implemented to reduce
`memory and processor requirements for reduced power
`consumption, size, and cost—while at the same time, con
`serving wireless communication bandwidth for communi
`cation with a server or other devices over a communication
`channel (often wireless).
`0004 The term mobile data communication device can
`refer to a wireless communication device that provides
`access to wireless data services when in communication
`with a server. Examples of such devices include “smart” cell
`phones, wireless enabled notebook computers or PDAs,
`alphanumeric pagers, and many others that are limited only
`by the imagination. Over the past several years, wireless
`data services have proliferated more and more among
`mobile communication device users, especially, for example
`“smart” cell phone users. Popular wireless data services for
`cell phone users currently include, among others, e-mail
`
`exchange (including graphics), short message service, inter
`net browsing, and paid mobile access to databases. Emerg
`ing services further include, position location based services,
`wireless advertising, wireless 'e-community” services—to
`name a few—with the list being constantly expanded.
`Expanding the user popularity and commercial potential of
`wireless data services generally depends on their widespread
`deployment with minimal development, deployment, and
`operating costs.
`0005. An aspect of the rapidly evolving field of wireless
`data services that hinders widespread deployment and devel
`opment cost reduction, is the plurality of Software platform
`standards for clients (sometimes referred to as “real time
`operating systems,” or “RTOS’s), and the diversity of hard
`ware and user interface capabilities for wireless terminals
`serving as clients. Cell phone service providers, for
`example, often endeavor to support cell phones from manu
`facturers espousing different software platform standards
`such as WAP (the “Wireless Applications Protocol stan
`dard), J2ME (a mobile version of Java(R), BREW (from
`QUALCOMM, Inc.), and others. Wireless data enabled PDA
`manufacturers often alternatively use software platforms
`such as Palm OSR (from Palm Computing, Inc.), Windows
`CE(R) and Windows Handheld(R) (both from Microsoft, Inc.),
`and Symbian R (a European standard), among others. Addi
`tionally, devices for user data input, and visual displays can
`vary greatly in capabilities from product to product. Devices
`for user data input include keyboards ranging from aug
`mented phone dial pads to full QWERTY (also called ASCII
`herein) keyboards, as well as others such as touch screens.
`Displays can be monochrome or color, of various resolutions
`and aspect ratios, different character set capabilities, differ
`ent vector graphics capabilities, and different levels of
`grayscale or color depth as expressed in bits.
`0006 Although the standard software platforms
`described above were created to facilitate device indepen
`dent client applications, the incompatibility problem largely
`remains in that there are multiple standards and multiple
`devices. Hence, applications cannot be created for only one
`standard or hardware device given the diversity of software
`standards and user interface hardware options for the range
`of mobile communication devices to be provided with
`wireless data service. For example, client application soft
`ware to run on two different manufacturers’ phones might
`need to be written in both BREWR) (for a first manufactur
`er's phone) and J2ME (for a second manufacturer's phone).
`Further aggravating the software development problem is
`the fact that the first manufacturer, for example, may provide
`mobile communication devices with a number of different
`options for display sizes, further requiring additional ver
`sions of software.
`0007 Deploying one application to multiple platforms
`can require that software developers write multiple client
`applications where each application is specific to a particular
`platform. This is the case even though the functionality of
`the application and often the interface itself is intended to be
`the same regardless of the underlying software platform or
`user interface hardware. Thus wireless data application
`developers often invest significant time and resources in
`developing and maintaining applications that are platform,
`and often device, specific. When a program error is discov
`ered in one version of an application, the error must often be
`fixed in other platform and/or device dependent versions of
`
`

`

`US 2006/0077941 A1
`
`Apr. 13, 2006
`
`the same application, and then deployed separately to mul
`tiple server systems. Each time an application is ported to a
`new application environment, a team of developers is
`required to invest their time and energy in developing,
`maintaining, and upgrading the Software. It is not uncom
`mon for companies to employ completely separate teams of
`developers to develop and maintain these different versions
`of the same application. Consequently, a significant waste of
`resources can be incurred as a result of current application
`development methods for wireless data applications. And
`this problem is not limited to wireless data service environ
`ments, but can arise in other data service environments
`where it is desirable to deploy client-server applications that
`accommodate many types of clients.
`
`DISCLOSURE OF THE INVENTION
`0008. The current invention provides a method and sys
`tem for implementing a user interface for providing a data
`service in a mobile client using a server with knowledge of
`the client’s hardware and software capabilities (hereinafter
`referred to jointly as “device characteristics') to modify data
`content and display rules for an improved user interface on
`the client. Data may be cached on the client to improve
`application response time and to provide standalone appli
`cation capabilities for the client. The automatic conversion
`of newly developed applications for a plurality of clients
`with differing client device characteristics reduces applica
`tion Software development and maintenance costs. Software
`updates and bug fixes for previously deployed applications
`can be deployed to mobile communication devices using the
`same method and system, through data downloads when a
`client device accesses an application.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0009 FIG. 1 is a block diagram illustrating an overview
`of an exemplary wireless network in accordance with one
`embodiment of the present invention.
`0010 FIG. 2 illustrates display pages of a exemplary
`mobile application in another embodiment of the invention.
`0011
`FIG. 3 is a diagram illustrating a high level view of
`a wireless data service being deployed to a client in accor
`dance with one embodiment of the invention.
`0012 FIG. 4 illustrates an application server in accor
`dance with one embodiment of the invention.
`0013 FIG. 5 is a flowchart describing server processing
`in accordance with an embodiment of the invention.
`0014 FIG. 6 illustrates a client in accordance with
`another embodiment of the invention.
`0.015
`FIG. 7 is a flowchart illustrating client processing
`in accordance with one embodiment of the invention.
`0016 FIG. 8 is a flowchart showing client processing in
`accordance with another embodiment of the invention.
`0017 FIG. 9 is a flowchart showing client processing in
`accordance with a further embodiment of the invention.
`0018 FIG. 10 is a flowchart illustrating an operation of
`a content adapter in accordance with an embodiment of the
`invention.
`
`FIG. 11 is a flowchart showing the development of
`0.019
`an application in accordance with an embodiment of the
`invention.
`0020 FIG. 12 illustrates an exemplary client display
`screen for an exemplary application in a further embodiment
`of the invention.
`0021
`FIG. 13 illustrates a computer display screen of an
`application development tool in an embodiment of the
`invention.
`0022 FIG. 14 illustrates another computer display screen
`of an application development tool in an embodiment of the
`invention.
`0023 FIG. 15 illustrates an exemplary hardware archi
`tecture of a server in an embodiment of the invention.
`0024 FIG. 16 illustrates an exemplary hardware archi
`tecture of a client in another embodiment of the invention.
`
`MODES OF CARRYING OUT THE INVENTION
`0025. One embodiment of the present invention is
`directed toward a novel system and method to enable
`software developers for a client-server environment to effi
`ciently develop, deploy, and maintain an instance of an
`application that can be configured to operate on different
`types of client devices, including mobile communication
`devices such as mobile phones, Smart phones, personal
`digital assistants, and two-way paging systems. In accor
`dance with one embodiment of the present invention, devel
`opers are provided with the tools and features to develop and
`deploy applications that are, at least to some extent, device
`independent. In one or more implementations, these goals
`can be accomplished with little or no modification to exist
`ing infrastructure and without a need for a manufacturers
`modification of client devices.
`0026.
`Before describing the invention in detail, it is
`useful to describe an example environment in which the
`invention can be implemented. The example environment
`described is that of a wireless communication network.
`More particularly, the example environment described is a
`wireless communication network configured to provide
`wireless data services to one or more network users. FIG. 1
`is a block diagram illustrating an overview of this example
`wireless network in accordance with one embodiment of the
`present invention. The illustrated wireless network includes
`one or more mobile communication devices 0102, one or
`more mobile base stations 0101, and a communication
`network 0105. Also illustrated are a server 0108, a firewall
`0110, and content service providers 0111, which can be
`included to interface to the wireless communication network
`in accordance with one embodiment of the invention.
`0027. In one implementation of the example environment
`illustrated in FIG. 1, the clients, in this example mobile
`communication devices 0102, can be implemented as Smart
`phones, which can be implemented as a wireless phone (for
`example, a cellular telephone) with data features. For ease of
`description and to illustrate various features, the invention is
`from time to time described herein in terms of clients
`implemented as smartphones 0102. However, after reading
`this description it will become apparent to one of ordinary
`skill in the art how to implement the various features and
`
`

`

`US 2006/0077941 A1
`
`Apr. 13, 2006
`
`functions of the invention with other mobile communication
`devices and with other client devices in general.
`0028. In operation, mobile communication devices 0102
`are in wireless communication with one or more base
`stations 0101. A base station 01 01 may be implemented as
`a conventional cellular telephone base station, or another
`type of relay or base station Such as, for example, a wireless
`access point in a wireless local area network. In this and
`other environments other devices may be utilized to allow a
`client to access a server Such as, for example, a router or
`gateway or other like device.
`0029. In a conventional cellular network, base stations
`0101 can in certain implementations be described as having
`three components. The cell sites, which are often referred to
`as base transceiver stations or BTS's, communicate directly
`with the mobile communication devices 0102. Base station
`controllers or BSC's (not shown) control the base trans
`ceiver stations either overland links (typically) or over radio
`links. Mobile switching centers or MSCs (not shown), often
`called mobile telephone switching offices, control the base
`station controllers, usually over land links. There is no fixed
`ratio of BTS to BSC to MSC, required, and these base
`station functions may be combined into a single site. Often
`cellular phone systems, and other wireless mobile data
`systems, have multiple base stations 0101. This provides for
`data communication service handoff from one base station to
`another as a mobile data terminal roves among the base
`stations respective coverage areas.
`0030 Smart phones 0102 can be implemented utilizing
`one or more of several types of real time operating systems
`(RTOS) 0103 running on an internal processor such as, for
`example a baseband or other processor (also referred to as
`“microprocessor or “microcontroller'). operating system
`0.103 can interface applications running on the internal
`digital processor with hardware operably connected with the
`processor, such as, for example, a radio frequency (RF)
`modem, a keypad, a visual display, baseband, mixed-signal
`and analog circuitry, and others. Various Smartphones 0102
`can be implemented using various different configurations of
`hardware and Software, including, for example, different
`types or versions of operating systems 0103 and different
`configurations of user interfaces (for example, keypads and
`displays).
`0031. In FIG. 1, each of two base stations 0101 is
`illustrated as being in wireless connection with a respective
`one of two mobile communication devices 0102. Because
`base Stations 01 01 are connected via network 0105 in FIG.
`1, mobile communication devices 0102 can communicate
`with one another through the base stations 0101 and network
`0105, or sometimes directly. Of course additional base
`stations 0101 and additional mobile communication devices
`0102 (and various alternatives of either) can be eliminated,
`substituted, or added as well.
`0032 Network 0105 may be implemented as any type or
`combination of types of communication network, including
`local area and wide area networks of varying configurations
`and protocols. For example, base stations 0101 are some
`times connected using the asynchronous transfer mode
`(ATM) standard protocol. Often, at least a part of network
`0105 may be implanted with an Internet Protocol (IP V.4 or
`IP V.6) protocol. In some environments, such as the cellular
`environment, for example, the cellular network is designed
`
`to connect to the existing phone system, also called the
`Public Switched Telephone Network or PSTN (not illus
`trated), or to other data network voice or data networks. The
`connection to the PSTN is similar to the connection of other
`telephone Switching equipment such as a Public Branch
`Exchange (PBX).
`0033. In the example environment illustrated in FIG. 1,
`one or more mobile communication devices 0102 can
`include a UI engine 0104 that can be implemented as an
`application that is interfaced with, or running "on top of.”
`operating system 0103 in a mobile communication device
`0102. In can also be implemented in various other software
`embodiments, or as hardware, firmware, or other logical
`components. In an embodiment of the present invention, UI
`engine 0104 can be implemented so as to improve the user
`interface performance for wireless data applications.
`0034. Also illustrated in the example environment of
`FIG. 1 are content service providers 0111. One or more
`content service providers 0111 can interface with the wire
`less communication network to provide one or more items of
`content to network users. For example, with increasing
`capabilities of contemporary mobile communication termi
`nals 0102, various content items such as games, ring tones,
`screen savers, photographs, movies, and other applications
`and content items (generally referred to herein as “content)
`are often made available to users for download onto clients
`such as mobile communication devices 0102. As illustrated,
`content service providers 0111 can be connected to network
`0105 in various different ways to enable downloading of
`content to the clients 0102.
`0035) In addition to downloading content via the wireless
`link, content can be downloaded to the mobile communica
`tion device 0102 using other means Such as, for example a
`direct connection. One example of a direct connection can
`be a synchronization operation between the mobile commu
`nication device 0102 and a user's personal computer where
`the content was previously downloaded to or otherwise
`resides on the computer and is Subsequently downloaded to
`the mobile communication device 0102 during a synchro
`nization or other operation. After reading this description it
`will become apparent to one of ordinary skill how other
`content delivery mechanisms can be implemented.
`0036). In the present invention, server 0108 can be imple
`mented so as to Support applications for UI engine 0104 on
`clients 0102. In one embodiment, this can be accomplished
`by retrieving application content from service providers
`0111 and processing content. One or more content service
`providers 0111 can be in communicative contact with the
`example environment. They can access network 0105 and
`one or more servers 0108 in a number of different ways. For
`example, a content service provider 0111 may have a con
`nection to server 0108 other than through the network 0105.
`Additionally, a content service provider 0.111 may be in
`communicative contact with a server 0108 via network
`0105. Although content service provider 0111 is illustrated
`as being somewhat directly connected to network 0105,
`other communication channels, connections or interface
`techniques can be provided to allow communication
`between content service provider 0.111 and server 0108.
`0037 Content service provider 0111 provides data ser
`vices to clients 0102. Content services providers 0111 are
`often implemented as servers, and can use similar hardware
`
`

`

`US 2006/0077941 A1
`
`Apr. 13, 2006
`
`and operating system software to server 0108. Types of data
`services are too numerous to list, but can include, for
`example: news, weather, driving directions, horoscope,
`stock quotes, hotel and restaurant information, etc. In addi
`tion to these information services type of data services,
`content service providers 0111 can also provide other con
`tent to one or more clients 0102 such as, for example,
`applications and application programs, media content, soft
`ware plug-ins and modules, games and gaming applications
`suitable for running on a client device 0102, and other forms
`of content or other information that may be useful or of
`interest to the user with his or her client device 0102. Thus,
`as used in this document, the term “content” is used to refer
`to any of a number of different forms of information, data,
`application, media or other content that may be provided
`from a content service provider 0111 to a client device such
`as a mobile communication device 0102. This content can be
`in various forms and include one or more of a plurality of
`different data or information types including, for example,
`Software or other code, graphics, textual information, audio
`information, image information, and video information.
`0038 Having thus described an example environment in
`which the present invention can be applied, the present
`invention will now be described in greater detail in terms of
`this example environment. After reading this description, it
`will become apparent to one of ordinary skill in the art how
`to implement the invention in its various forms and embodi
`ments in this or alternative environments in which it may be
`desirable to utilize the features and aspects of the present
`invention.
`0.039 When a user determines that he or she desires to
`obtain content for his or her mobile communication device
`0102, one technique for carrying out these wishes is to
`identify the content (for example, a particular application)
`and to indicate a request for the content Such as, for example,
`by entering appropriate keystrokes or other inputs to request
`a download of the content. Upon receiving a user request, UI
`Engine 0104, in one embodiment transmits an event to a
`server 0108 communicatively connected to the network. The
`event, in one embodiment includes device characteristics
`about the requesting device and the content. These device
`characteristics can include, for example, information Such as
`an identification of the requested content along with other
`useful information Such as, for example, information to
`identify the mobile communication device 0102 for which
`the request is made. For example, the event may include an
`identification of the brand, model, type or class of mobile
`communication device 0102 for which the content is being
`requested. Additional examples of device characteristics are
`provided below. Upon receipt, a rule set is appropriately
`applied to the content based on device characteristics from
`the requesting client device 0102 (e.g., device type, class,
`brand, model, carrier, application, application state, and so
`on), thus formatting or otherwise preparing the content for
`execution on the mobile communication device 0102. This
`process of combining a rule set with content is described in
`greater detail below with reference to FIG. 4.
`0040. When a user downloads content to mobile com
`munication device 01 02, one embodiment of the invention
`provides the capability to download a UI Engine 0104
`configured for the specific mobile communication device
`0102 or class of mobile communication device 0102. In one
`embodiment, this can be downloaded transparently before a
`
`first component of the application (for example a splash
`screen) is downloaded. Thus, a UI Engine 0104 can be
`prepared and downloaded to the client device 0102 for the
`particular content item requested. As such, one or more UI
`Engines 0104 may be installed and running on a given client
`device 0102 in this particular embodiment. Thus, for
`example, it is not necessary that a given UI Engine 0104
`perform any or all of the functionality that may be tradi
`tionally or conventionally associated with UI Engines 0104
`in implementations of client devices 0102 such as, for
`example, mobile communication devices 0102. As such, the
`term “UI Engine' should not be construed as limited to a
`conventional or traditional UI Engine.
`0041 Mobile communication device 0102 can be con
`figured so as to execute UI Engine 0104 which, in one
`embodiment as mentioned above, is specific to that mobile
`communication device 01 02, or to that class of devices to
`which mobile communication device 0102 belongs. In one
`embodiment, UI Engine 0104 can be created once per device
`and configured so as to be able execute various application
`interfaces. As such, in this embodiment, mobile communi
`cation device 0102 can perform specified functions by
`downloading a UI component that can include a rule set for
`the desired content item along with any associated content
`data or information.
`0042. As stated above, in accordance with one embodi
`ment of the invention, features and functionality can be
`provided to facilitate the development, deployment, and
`performance of content bearing applications to mobile com
`munication device 0102 users. FIG. 2 illustrates exemplary
`application display pages as they could appear on a mobile
`communication device display in accordance with one
`embodiment of the invention. In this particular illustrated
`example, FIG. 2a shows an example initial display page for
`a hypothetical application (i.e., content) used to retrieve and
`provide information to a user of a mobile communication
`device 0102 in a number of different categories as listed on
`the exemplary Screen shot. The categories shown in this
`example are emergency services, gas stations, restaurants,
`and hotels.
`0.043 FIG. 2b shows an example of the screen in FIG.
`2a, but with one of the categories, in this case “restaurants.”
`being highlighted. This selection can be made, for example,
`through a user actuation of an input device such as a
`keyboard, keypad, joystick, touchscreen, touchpad, mouse,
`Voice command interpreter, or other user interface. This is
`generally referred to as a user input. Through an appropriate
`user input, the user selects the category for which he or she
`desires more information. For example, in the example
`illustrated in FIG. 2b, once the appropriate category is
`highlighted, a simple user action Such as, for example,
`pressing an Enter key or other action via a user interface, can
`facilitate selection of the highlighted category. An event
`need not be selected by first highlighting a category as
`illustrated in the above example. Indeed, an event can be
`generated via a number of different user inputs including, for
`example, a direct selection of the desired category via the
`available user interface. In other embodiments, an event can
`also be generated by server action or via another device.
`0044) This selection generates an event that can be used
`to facilitate retrieval of additional content as specified by the
`event. Thus, in the example illustrated in FIG.2b, when the
`
`

`

`US 2006/0077941 A

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket