Connect public, paid and private patent data with Google Patents Public Datasets

Rendering a User Interface

Download PDF

Info

Publication number
US20080282142A1
US20080282142A1 US10598163 US59816305A US2008282142A1 US 20080282142 A1 US20080282142 A1 US 20080282142A1 US 10598163 US10598163 US 10598163 US 59816305 A US59816305 A US 59816305A US 2008282142 A1 US2008282142 A1 US 2008282142A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
lt
element
event
attributes
trig
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10598163
Inventor
Stefan Geoffrey Butlin
Nicholas Holder Clarey
Jacob Benjamin Blaukopf
Nicholas Carl Brook
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Cambridge Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30861Retrieval from the Internet, e.g. browsers
    • G06F17/30899Browsing optimisation
    • G06F17/30905Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Implementation of user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
    • H04M1/72Substation extension arrangements; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selecting
    • H04M1/725Cordless telephones
    • H04M1/72519Portable communication terminals with improved user interface to control a main telephone operation mode or to indicate the communication status
    • H04M1/72563Portable communication terminals with improved user interface to control a main telephone operation mode or to indicate the communication status with means for adapting by the user the functionality or the communication capability of the terminal under specific circumstances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
    • H04M1/72Substation extension arrangements; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selecting
    • H04M1/725Cordless telephones
    • H04M1/72519Portable communication terminals with improved user interface to control a main telephone operation mode or to indicate the communication status
    • H04M1/72522With means for supporting locally a plurality of applications to increase the functionality
    • H04M1/72525With means for supporting locally a plurality of applications to increase the functionality provided by software upgrading or downloading
    • Y02D10/45

Abstract

There is provided a user interface which is defined by a plurality of actors and the attributes) that are associated with the actors. A renderer is used to render the user interface in accordance with the attributes of the actors. Changes in actor attributes, for example in response to a keypress, cause the user interface to be updated.

Description

    FIELD OF THE INVENTION
  • [0001]
    The present invention relates to rendering user interfaces and in particular to rendering user interfaces for communications devices.
  • BACKGROUND OF THE INVENTION
  • [0002]
    Communications devices, such as, for example mobile telephones and PDAs incorporate display screens of increasing size and resolution. Given the limitations in processing power of these devices it is desirable to provide users with an attractive user interface that facilitates the use of the device and provides a fast response to user inputs. For some devices, such as mobile telephones, there is significant interest in providing user interfaces that can be readily and easily updated by the user and/or the network operator so that content for updating user interfaces can be deployed to users. Known approaches tend to either lack the required flexibility or require significant and undesirable levels of processing power.
  • SUMMARY OF THE INVENTION
  • [0003]
    According to a first aspect of the present invention there is provided a method of rendering a user interface for a device, the method comprising the steps of providing a plurality of actors, each of the plurality of actors being associated with a user interface element and comprising one or more attributes defining the respective actor; providing a renderer to receive one or more attributes from one or more of the plurality of actors and rendering the user interface in accordance with the received attributes.
  • [0004]
    According to a second aspect of the present invention there is provided a data carrier comprising computer executable code for performing the above-described method.
  • [0005]
    According to a third aspect of the present invention there is provided a device comprising: a user interface, the user interface comprising one or more user interface elements; a plurality of actors, each of the plurality of actors being associated with a user interface element and comprising one or more attributes; and a renderer, the renderer being configured, in use, to interpret the attributes associated with one or more of the plurality of actors and to render the user interface accordingly.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0006]
    FIG. 1 shows a schematic depiction of a system incorporating the present invention;
  • [0007]
    FIG. 2 depicts in greater detail the structure and operation of server 100;
  • [0008]
    FIG. 3 shows a schematic depiction of the software 400 for the mobile devices 300;
  • [0009]
    FIG. 4 shows a schematic depiction of the content toolset 200; and
  • [0010]
    FIG. 5 shows a schematic depiction of a device that comprises a user interface according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0011]
    The invention will now be described by way of illustration only and with respect to the accompanying drawings, in which FIG. 1 shows a schematic depiction of a system comprising server 100, content toolset 200, mobile devices 300, operational support systems (OSSs) 700, content feeds 500 and user interface (UI) sources 600. In use, the server 100 communicates content data and UI data to the mobile devices 300, 301, . . . , each of which comprise software package 400. The server 100 interfaces with OSSs 700, with the OSSs being those conventionally used to operate mobile networks, for example billing, account management, etc. The server 100 further interfaces with the content toolset 200: the content toolset receives data from UI sources 600, 601, . . . , and packages the UI data such that the server can transmit the packaged UI data to the software packages 400 comprised within the mobile devices 300. The server receives data. from a plurality of content feeds, and this data is processed and packaged such that it can be sent to the software packages 400 or so that the mobile devices 300 can access the data using the software package 400.
  • [0012]
    The system can be envisaged as being divided into three separate domains: operator domain 50 comprises the systems and equipment operated by the mobile network operator (MNO); user domain 60 comprises a plurality of mobile devices and third-party domain 70 comprises the content feeds and UI feeds that may be controlled or operated by a number of different entities.
  • [0013]
    FIG. 2 depicts in greater detail the structure and operation of server 100. Server 100 comprises publishing component 110 and content server component 150. Publishing component comprises database 111, import queue 112, content toolset interface 113, user interface 114 & catalogue 115. In operation, the publishing component receives content from the content toolset at the content toolset interface. The content is presented in the form of a parcel 210 a, 210 b, etc, (see below) comprising one or more Trigs and one or more Triglets. A trig is a user interface for a mobile device, such as a mobile telephone and a triglet is a data file that can be used to extend or alter a trig. If a parcel comprises more than one trig then one of the Trigs may be a master trig from which the other Trigs are derived.
  • [0014]
    FIG. 3 shows a schematic depiction of the software 400 for the mobile devices 300, which comprises a mark-up language renderer 410, update manager 420, network communication agent 425, resource manager 430, virtual file system 435, actor manager 440, a plurality of actors 445 a, 445, . . . , native UI renderer 450, support manager 460, trig manager 465 and mark-up language parser 470.
  • [0015]
    The software may operate using TrigML, which is an XML application and that mark-up language renderer 410 renders the TrigXML code for display on the mobile device 300. The mark-up language renderer also uses the TrigML Parser to parse TrigML resources, display content on the device screen and controlling the replacement and viewing of content on the handset. The native UI renderer is used to display UI components that can be displayed without the use of TrigML, and for displaying error messages.
  • [0016]
    The software 400 is provisioned and installed in a device specific manner. Similarly, software upgrades are handled in a device specific manner. The software may be provisioned in a more limited format, as a self-contained application that renders its built in content only: i.e. the software is provisioned with a built-in trig but additional trigs cannot be added later. The supplied trig may be upgraded over the air.
  • [0017]
    The trig manager 465 presents an interface to the resource manager 430 and the mark-up language renderer. It is responsible for trig management in general. This includes: persisting knowledge of the trig in use, changing the current trig, selection of a trig on start-up, selection of a further trig as a fall back for a corrupt trig, maintaining the set of installed trigs, identifying where a particular trig is installed to the resource manager and reading the update channel definitions of a trig and configuring the update manager appropriately.
  • [0018]
    The resource manager provides an abstraction of the persistent store on device, i.e. storing the files as real files, or as records in a database. The resource manager presents a file system interface to the mark-up language renderer and the update manager. It is responsible for handling file path logic, distinguishing between real resource files and actor attributes, mapping trig-relative paths onto absolute paths, interfacing with the trig manager and providing a modification interface to the update manager.
  • [0019]
    The Resource Manager is also responsible for ensuring the integrity of the resources stored in the persistent store, especially in the face of unpredictable interruptions such as loss of device power. The Resource Manager has no knowledge of the trig currently used. Its interface is thread safe (as it may be used by both the Update Manager and the Renderer from different threads.
  • [0020]
    The Update Manager handles the reception and application of Trigs and Triglets. The Update Manager presents an interface to the Renderer and the trig Manager and is responsible for: the initiation of manual updates when instructed to by the Renderer; controlling and implementing the automatic update channel when so configured by the trig manager; indicating the progress of a manual update and recovering an Update following unexpected loss of network connection and/or device power. The update packet format may be defined as a binary serialisation of an XML schema.
  • [0021]
    The Support Manager provides an interface for other components to report the occurrence of an event or error. Depending on the severity of the error, the Support Manager will log the event and/or put up an error message popup
  • [0022]
    XML is a convenient data formatting language that is used to define the update packet format as well as TrigML content. For bandwidth and storage efficiency reasons, text XML is serialised into a binary representation. Both update packets and TrigML fragments are parsed by the same component, the mark-up language parser. Any further use of XML in the software must use the binary XML encoding and therefore re-use the parser.
  • [0023]
    The Actor Manager 440 looks after the set of actors 445 present in the software. It is used by: the renderer when content is sending events to an actor; actors that want to notify that an attribute value has changed and actors that want to emit an event (see below).
  • [0024]
    The software may comprises a multi-threaded application running a minimum of two threads, with more possible depending on how many and what sort of actors are included. The software runs mostly in one thread, referred to as the main thread. The main thread is used to run the renderer which communicates synchronously with other components. Actors always have a synchronous interface to the Renderer. If an actor requires additional threads for its functionality, then it is the responsibility of the Actor to manage the inter-thread communication. A light messaging framework may be used to avoid unnecessary code duplication where many actors require inter-thread communication. It will be understood that it is also possible to implement the software using a single threaded operation.
  • [0025]
    In addition to the main thread, the update manager runs a network thread. The network thread is used to download update packets and is separate from the main thread to allow the renderer to continue unaffected until the packet has arrived. The Update Manager is responsible for handling inter-thread messaging such that the Update Manager communicates synchronously with the Renderer and Resource Manager when applying the changes defined in an Update Packet.
  • [0026]
    The memory allocation strategy of the software is platform specific. On MIDP platforms, the software simply uses the system heap and garbage collector for all its memory requirements. Garbage collection is forced whenever a content replacement event occurs in an attempt to keep the garbage collection predictable and not suffer unexpected pauses in operation. It is assumed that any memory allocation might fail, in which case the software will delete all its references to objects, garbage collect, and restart—assuming that the software has already successfully started up and rendered the first page.
  • [0027]
    On C++-based platforms, a mixture of pre-allocation and on-demand allocation will be made from the system heap. All memory required for start-up is allocated on-demand during start-up, with any failures here causing the exit (with message if possible) of the software. Following successful start-up, memory needed for rendering the content document model is pre-allocated. Provided content is authored to use less than a defined limit, it is guaranteed to render. Additional use is made of RAM for various caches needed for fast operation of the software. Where memory conditions are low, these caches will be released resulting in slow rendering performance from the software.
  • [0028]
    Errors that are severe enough to disrupt the normal operation of the software must result in a pop-up dialog box. The dialog box contains one of a small number of internationalised error messages (internationalised versions of these strings may be compiled into the software at build-time with the version of an error string to display being determined by the relevant language setting on the device). To keep the number of messages to a minimum, only a few generic problems are covered.
  • [0029]
    To allow for support situations, error dialogs also display an error code as a 4-digit (16-bit) hex string. Each error code is associated with a description text that can be used by support staff to determine the nature of a problem with the software. Errors that occur in the software and that are not severe enough to halt its operation may be logged by the Support Manager component. The Support Manager can be queried by the user typing special key sequences. The Support Manager can also supply its error log to a server via an HTTP GET or POST method.
  • [0030]
    The Renderer receives information regarding the key press. If there is no behaviour configured at build time for a key, it is sent as a TrigML content event to the current focus element. The content event is then handled as defined by TrigML's normal event processing logic.
  • [0031]
    For example, if a key is pressed down, a ‘keypress’ event is delivered to the Renderer with a parameter set to they relevant key. When the key is released, a ‘!keypress’ event is delivered to the Renderer. If a key is held down for a extended period of time, a ‘longkeypress’ event is delivered to the renderer. On release, both a ‘!longkeypress’ and a ‘!keypress’ event are delivered to the Renderer.
  • [0032]
    Whenever the software is started, it executes the following actions:
      • Check for, and continue with, interrupted Update processing;
      • Check for, and process, Updates residing in the file system (either pre-provisioned, or installed to the file system by some other means);
      • If known, start the current trig (which may be the last run trig);
      • If a current trig is not set, a trig that has been flagged as a ‘default’ trig can be started.
      • Failing the presence of a default trig, the first valid trig by alphabetical order of name will be selected.
  • [0038]
    A trig is started by loading the defined resource name, start-up/default. The TrigML defined in start-up/default is parsed as the new contents for the content root node.
  • [0039]
    The first time a trig is run by the software following its installation, the trig is started by loading the resource name startup/firsttime. The software may record whether a trig has been run or not in a file located in the top level folder for that trig. Dependent on the platform used by the mobile device, the automatic start-up of the software may be set as a build-time configuration option. Furthermore, placing the software in the background following an auto-start may also be a build-time configuration option.
  • [0040]
    A launcher may appear to the user as an application icon and selecting it starts the software with a trig specified by that launcher (this trig may be indicated by a launcher icon and/or name). When using a launcher to start a trig, it is possible to specify an ‘entry point’ parameter. The parameter is a resource name of a file found in the ‘start-up’ folder. This file is not used if the trig has never been run before, in which case the file called ‘firsttime’ is used instead.
  • [0041]
    The software uses content resource files stored in a virtual file system on the device. The file system is described as virtual as it may not be implemented as a classical file-system, however, all references to resources are file paths as if stored in a hierarchical system of folders and files.
  • [0042]
    Details regarding the arrangement of the file-system for an embodiment of the present invention are given below in Appendix A. Furthermore, the software stores some or all of the following information: usage statistics; active user counts; TrigManager state; TrigML fragments & update channel definition (serialised as binary XML); PNG images; plain text, encoded as UTF-8 OTA and then stored in a platform specific encoding; other platform specific resources, e.g. ring tone files, background images, etc.
  • [0043]
    Files in the file system can be changed, either when an actor attribute value changes, or when a file is replaced by a triglet. When files in the /attrs directory change, the Renderer is immediately notified and the relevant branches of the content tree are updated and refreshed. When images and text resources are changed, the Renderer behaves as if the affected resources are immediately reloaded (either the whole content tree or just the affected branches may be refreshed). When TrigML fragments are changed, the Renderer behaves as if it is not notified and continues to display its current, possibly out of date, content. This is to avoid the software needing to persist <include> elements and the <load> history of the current content.
  • [0044]
    The software 400 is provisioned to mobile devices in a device specific method. One or more Trigs can be provisioned as part of the installation, for example, stored as an uncompressed update packet. On start-up, the packet can be expanded and installed to the file-system.
  • [0045]
    The Actors 445 are components that publish attribute values and handle and emit events. Actors communicate with the Renderer synchronously. If an actor needs asynchronous behaviour, then it is the responsibility of the actor to manage and communicate with a thread external to the main thread of the Renderer.
  • [0046]
    Actor attributes may be read as file references. Attributes are one of four types: a single simple value; a vector of simple values; a single structure of fields, each field having a simple value; or a vector of structures. Attributes may be referenced by an expression using an object member notation similar to many object-orientated programming languages:
      • <image res=“signallevels/{protocol.signalstrength}”/>
  • [0048]
    When needed as a file, an attribute is accessed via the /attrs folder.
      • <text res=“/attr/network/name”>
  • [0050]
    An Actor can be messaged by sending it an event with the <throw> element. Events emitted by actors can be delivered to the content tree as content events: these can be targeted at an element Id or ‘top’. The interface to an actor is defined by an Actor Interface Definition file. This is an XML document that defines the attributes, types, fieldnames, events-in and parameters, and events out. The set of actors is configurable at build-time for the software. Appendix B gives an exemplary listing of some actors that may be used, along with the associated functions or variables.
  • [0051]
    Updates comprise a new trig (a new or replacement UI) or a triglet (a modification to an existing trig) and may be regarded as modifications to the software file-system. The Update Manager to determine what needs changing in the file-system by reading a packet. Update Packets may be downloaded over the air by the software 400 using HTTP, or other suitable transport mechanisms, wrapped in a device-specific package format or pre-provisioned with the installation of the software itself.
  • [0052]
    Updates may be triggered by a number of means, which include
      • the software checking for interrupted Update processing on start-up
      • the software checking for pre-installed Update Packets on start-up
      • automatically as configured by an Update Channel
      • user initiation
      • the device receiving a special SMS
  • [0058]
    In order to successfully render the user interface of a mobile device, the mark-up language must have the following qualities: concise page definitions, consistent layout rules, be implementable in a compact renderer, provide multiple layering and arbitrary overlapping content, event model, require the repaint of only the areas of the display that have to change between pages of the UI, include hooks to the platform for reading property values receiving events and sending events, extensible, and be graphically flexible.
  • [0059]
    TrigML provides these features and Appendix C gives an overview of the elements and attributes that provide the desired functionality.
  • [0060]
    It is desirable that the cost of re-branding UIs and producing a continual stream of updates is minimal. This is enabled by providing an efficient flow of information from the creative process through to the transmission of data to users.
  • [0061]
    A container, referred to as a parcel, is used for UIs, UI updates, and templates for 3rd party involvement. Parcels contain all the information necessary for a 3rd party to produce, test and deliver branded UIs and updates. FIG. 4 shows a schematic depiction of the content toolset 200, which comprises scripting environment 220, test and simulation environment 230 and maintenance environment 240
  • [0062]
    The parcel process comprise five processing stages:
  • [0000]
    1) The scripting environment 220 provides the means to design the template for one or more UIs and the update strategy for UIs based on that template.
    2) The maintenance environment 240 provides for rapid UI and update production in a well-controlled and guided environment that can be outsourced to content providers.
    3) The maintenance environment 240 ‘pre-flight’ functionality allows the deployment administrator to check and tune the Uls and updates that they receive from 3rd parties.
    4) The publishing component 110 provides management of UIs and updates at the deployment point, including the staging of new releases.
    5) The publishing component 110 enables the automatic generation of updates from live content feeds.
  • [0063]
    Many different UIs can be derived from a common base. Typically the common base would implement most of the interface itself, and Trigs derived from it would implement small variations on it, such as branding. A Triglet can be derived from a Trig, and it can override any of the resources from the parent Trig that it chooses to (optionally it may introduce its own resources). Note that “resources” here also refers to TrigML, so the behaviour and layout of a Trig can be modified by a Triglet just as easily as it replacing a single image or piece of text.
  • [0064]
    A Parcel may comprise one or more base Trigs (i.e. a Trig that is not derived from any other trig), one or more multiple Trigs derived from a base Trig, a plurality of triglets derived from any of the trigs and a plurality of triglets derived from other triglets.
  • [0065]
    FIG. 5 shows a schematic depiction of a device 800 that comprises a user interface according to an embodiment of the present invention. The device comprises a display 810 that displays the user interface 815 and user interface means 820, that enable the user to interact with the user interface 815. A processor 830 executes the software that is stored within one or more storage means 840 and there may be provided one or more wireless communication interfaces 850, to enable communication with other devices and/or communication networks. One or more batteries 860 may be received to power the device, which may also comprise interfaces to receive electrical power and/or communication cables.
  • [0066]
    The nature of these components and interfaces will depend upon the nature of the device. It will be understood that such a user interface can be implemented within a mobile or cellular telephone handset, but it is also applicable to other portable devices such as digital cameras, personal digital organisers, digital music players, GPS navigators, portable gaming consoles, etc. Furthermore, it is also applicable to other devices that comprise a user interface, such as laptop or desktop computers.
  • [0067]
    The user interface means may comprise a plurality of buttons, such as a numerical or alpha-numerical keyboard, or a touch screen or similar. One or more storage devices may comprise a form of non-volatile memory, such as a memory card, so that the stored data is not lost if power is lost. ROM storage means may be provided to store data which does not need updating or changing. Some RAM may be provided for temporary storage as the faster response times support the caching of frequently accessed data. The device may also accept user removable memory cards and optionally hard disk drives may be used as a storage means. The storage means used will be determined by balancing the different requirements of device size, power consumption, the volume of storage required, etc.
  • [0068]
    Such a device may be implemented in conjunction with virtually any wireless communications network, for example second generation digital mobile telephone networks (i.e. GSM, D-AMPS), so-called 2.5G networks (i.e. GPRS, HSCSD, EDGE), third generation WCDMA or CDMA-2000 networks and improvements to and derivatives of these and similar networks. Within buildings and campuses other technologies such as Bluetooth, IrDa or wireless LANs (whether based on radio or optical systems) may also be used. USB and/or FireWire connectivity may be supplied for data synchronisation with other devices and/or for battery charging.
  • [0069]
    Computer software for implementing the methods and/or for configuring a device as described above may be provided on data carriers such as floppy disks, CD-ROMS. DVDs, non-volatile memory cards, etc.
  • [0070]
    This application claims the benefit of UK Patent Application number 0403709.9, filed Feb. 19, 2004, the contents of which are incorporated herein by reference.
  • [0000]
    APPENDIX A
    For file paths beginning with a leading ‘/’:
    /attrs Like the unix /proc directory,
    stores actor attribute values
    for reference by content when
    the attribute is needed as a
    file reference.
      <actor> Each subdirectory of /attrs is
    the actor name.
        <attribute> Each attribute is accessed as a
    node in the actor subdirectory
          <field> If the attribute is a
    structure, then the field name
    specifies which structure
    member to access.
          <index> If the attribute is a vector
    attribute, then the index
    number specifies the index into
    the vector of the desired
    attribute.
            <field> If the vector attribute is a
    collection of structures, then
    the field name again specifies
    the structure member.
    config Common folder in every trig to
    store trig meta data.
      channels Common folder to store the update
    channel definitions.
        <channel defs> Set of files defining the
    collection of update channels for
    the trig. Each file can define
    one or more update channels.
    start-up Common folder to store entry
    points for the trig.
      default Common TrigML file to store the
    default entry point for the trig.
      firsttime Common TrigML file to store the
    TrigML for use the first time
    this trig is run
      <trigml files> Other named TrigML files can be
    used as entry points if found in
    the start-up folder.
    constants This folder is not passed OTA and
    is instead fully resolved at
    content compile time.
    <rest of content> trig content is organised in
    trig-defined format under the
    Trigs folder.
    File paths without a leading ‘/’ are treated as relative to the current trig, i.e. every trig is stored in its own folder hierarchy rooted in a single folder.
  • [0000]
    APPENDIX B
    Trigplayer Attributes UpdateState
    Actor Messages exit
    predial_mode on/off
    Events idle
    Launch Actor Attributes
    Messages browser url
    SMS Number
    message
    Camera
    Inbox
    Profiles
    missed_calls
    dialer number
    . . .
    native_app app_id
    url
    Events
    Install Actor Attributes
    Messages ringtone resource_path
    wallpaper resource_path
    Events
    Phone Actor Attributes Bluetooth
    IrDA
    Call
    GPRS
    UnreadSMS
    UnreadVoiceMail
    UnreadMsgs
    BatteryLevel
    SignalStrength
    Messages
    Events missed_call
    message_arrived
    voice_mail_arrived
  • [0000]
    APPENDIX C
    <trigml>
    <layer>
       id
    Visible Elements
    common attributes
       id  x  y  w  h  bdcolor
    bgcolor
       hasfocus  canfocus  clip
    raise
    <group>
    <grid>
       rows  cols  rowsplit
    colsplit
    <griddata>
       repeatover
       rows  cols  rowsplit
    colsplit
    <gridlist>
       initrow  initcol
       rows  cols  rowsplit
    colsplit
    <image>
       res  frames  index
    <tile>
       res  bdt  bdb  bdr  bdl
    <text>
       res  font  size  slant
    weight  align
       color  fxcolor  multiline
    <paintif>
       res  isvalid
    <ticker>
       repeatover
    <batterylevel>
       res  frames
    <signalstrength>
       res  frames
    <phonestatus>
       res  include
    <include>
       res
    <param>
       name  value  valuefrom
    Listener Elements
    common attributes
       when  consume
    <throw>
       event  target
    <att>
       name  value  valuefrom
    <anim>
       name  duration  repeat
    persist   startvalue
    endvalue  bounce
    <load>
       res  target
    <setvar>
       name  value  valuefrom
    System Events
       entry
       focus  !focus
       keypress[key]
       !keypress[key]
       longkeypress[key]
       !longkeypress[key]
       moreUpChanged[newValue]
       moreDownChanged[newValue]
    type: visible Class of element that can have
    contains contained by a visible representation on
    any listener any container the display. This section
    describes attributes and
    properties common to all
    visible elements.
    attributes type default
    id string none The name or ID of this
    element. This identifier is
    used in the target attribute
    of <throw> and <load>
    elements. If the same ID is
    used more than once, then the
    last ID loaded is used.
    x (modifiable) integer centre The x-coordinate of the frame
    left of the element, relative to
    centre the top-left corner of the
    center parent element. If one of
    right ‘left’, ‘centre’ or ‘right’,
    the frame is suitably aligned
    within parent element.
    y (modifiable) integer centre The y-coordinate of the frame
    top of the element, relative to
    centre the top-left corner of the
    center parent element. If one of
    bottom ‘top’, ‘centre’ or ‘bottom’,
    the frame is suitably aligned
    within parent element.
    w (modifiable) integer * * The width of the frame of the
    element. If ‘*’, the frame
    assumes the width of the
    parent frame, or cell, if it
    is in a grid.
    h (modifiable) integer * * The height of the frame of the
    element. If ‘*’, the frame
    assumes the height of the
    parent frame, or cell, if it
    is in a grid.
    bgcolour, bgcolor colour #00000000 The background fill colour of
    (modifiable) (transparent) the element. If translucent
    alpha values are not
    supported, then the alpha
    component will round down to
    fully transparent.
    bdcolour, bdcolor colour #00000000 The colour of the border for
    (modifiable) (transparent) this element. The border is
    drawn 1-pixel wide and just
    inside the frame. The border
    can be partially or fully
    obscured by the child
    contents. If translucent alpha
    is not supported, then the
    alpha component is rounded up
    to full opacity.
    clip boolean true If true, the painting of all
    child contents of this element
    will be clipped by the frame
    of this element, i.e. children
    cannot ‘spill’ outside the
    frame.
    If false, the painting of all
    child contents will be clipped
    by the clipping frame of the
    parent element. clip = false
    should be used with caution as
    it slows down the renderer.
    raise boolean false If true, the painting of this
    (modifiable) element is painted last within
    its <layer>. If more than one
    element specifies raise = true,
    then they are all painted
    last, but in their normal
    relative order.
    If false, the painting of this
    element is in the normal order -
    that of painting elements in
    the order parsed.
    hasfocus boolean false If true, this element will be
    given the initial focus for
    the layer that it is in. If
    more than one element
    specifies hasfocus = true, then
    the last within each layer to
    do so is given the initial
    focus. When loading new
    content that contains an
    element with hasfocus = true,
    the focus is only given to
    this element if the new
    content is removing the
    element that previously had
    the focus.
    canfocus boolean false If true, this element will be
    given the focus when
    navigating with the cursor
    keys.
    If false, this element will be
    ignored when navigating with
    the cursor keys.
    (Note: This replaces: <att
    when = focus/>)
    <trigml> The root element of all TrigML
    contains contained by documents. It does not have any
    any element none visual appearance.
    attributes type default
    none
    <layer> Full screen layer. Each layer
    contains contained by manages its own focus. The
    any visible _top highest layer with a non-null
    any listener focus element gets keypresses
    and events sent to _top.
    attributes type default
    id string none The name or ID of this element.
    This identifier is used in the
    target attribute of <throw> and
    <load> elements. If the same ID
    is used more than once, then the
    last ID loaded is used.
    <group> visible, container Generic container of other
    elements. Can be used as a plain
    contains contained by rectangle.
    any visible any container
    any listener
    attributes type default
    all attributes in
    type: visible
    <grid> visible, container Container element that arranges
    its children in a grid. <grid>
    contains contained by is purely for layout. Use
    any visible any container <gridlist> or <griddata> for
    any listener focus management. Each child is
    placed in its cell, with that
    cell forming its parent frame -
    i.e. children that leave w/h as
    ‘*’ will be the size of their
    cell.
    attributes type default
    rows integer none The number of rows in the grid.
    Cannot be zero. If rows is
    supplied and cols is not, then
    the grid is filled column by
    column.
    cols integer none The number of columns in the
    grid. Cannot be zero. If cols
    is supplied and rows is not,
    then the grid is filled row by
    row. If both rows and cols are
    supplied, then the grid is also
    filled row by row.
    rowsplit list of * The heights of each row. If
    semi- fewer values are supplied than
    colon there are rows, the last value
    separated is repeated for each extra row.
    integers All rows that have * for a
    or *s rowsplit share the available
    space.
    colsplit same as * The column width equivalent of
    rowsplit rowsplit.
    all attributes in Note that clip applies to the
    type: visible whole grid, not each cell in
    the grid.
    <gridlist> visible, container Container element that arranges
    its children in a grid. It is
    contains contained by also a Focus Manager in that it
    any visible any container moves an active cell around the
    any listener grid, scrolling the grid if the
    grid is bigger than the frame of
    this element. Note that both
    rows and rowsplit, and cols and
    colsplit, must be supplied to
    achieve a grid that is larger
    than the w/h of this element.
    attributes type default
    initrow integer O The initial row of the active
    cell. Count from zero. See
    initcol below.
    initcol integer O The initial column of the active
    cell. Count from zero. The first
    time the gridlist gets focus,
    this is the cell that is in turn
    given focus. The hasfocus
    attribute overrides initrow and
    initcol.
    all attributes in
    <grid>
    all attributes in Note that clip is always true
    type: visible for a gridlist.
    <griddata> visible, container Container element that treats
    its single child, or single
    contains contained by rows-worth of children, as a
    any visible any container template for the rest of the
    any listener cells in the grid. If the
    special variable $$ appears in
    the definition of the child
    template, then it is replaced
    with the current scroll
    position in the set of values
    defined by the repeatover
    attribute. Only the number of
    children that fit in the grid
    are used, with the value of $$
    being scrolled as focus is
    moved up and down the grid.
    attributes type default
    repeatover resource No Specifies the set of values to
    path default. use for the $$ variable in the
    Must be child elements. If the
    supplied. resource path is a folder,
    then the list of resources
    found in that folder are used
    (in numeric order) for the set
    of values for $$. If the
    resource path is a file, then
    the file is treated as an
    index file that specifies a
    list of values for $$.
    all attributes
    in
    <grid>
    all attributes
    in
    type: visible
    <image> visible Draws an image.
    contains contained by
    any listener any container
    attributes type default
    res (modifiable) resource none The resource path of the PNG
    path file. Image is a transparent
    blank if res is not suppplied.
    frames integer 1 The number of frames (side by
    side images) in the PNG file.
    The image width is therefore
    the real PNG width divided by
    the number of frames.
    index (modifiable) integer 1 The frame number (counting from
    1) to display.
    all attributes in The default for w/h is to
    type: visible shrink to fit the supplied
    image. If the image is not
    found, then w/h default as
    normal. If w/h are supplied,
    the image is aligned to the top
    left corner.
    <tile> visible Draws a tiled image. If borders
    are also supplied, the image is
    contains contained by tiled by preserving corners and
    any listener any container edges, tiling these lengthways
    as necessary.
    attributes type default
    res (modifiable) resource none The resource path of the PNG
    path file. The tile is transparent
    blank if the res is not
    supplied.
    bdt integer 0 The thickness of the top
    border. If zero, the tiling has
    no top edge tile.
    bdl integer 0 The thickness of the left
    border. If zero, the tiling has
    no left edge tile.
    bdr integer 0 The thickness of the right
    border. If zero, the tiling has
    no right edge tile.
    bdb integer 0 The thickness of the bottom
    border. If zero, the tiling has
    no bottom edge tile.
    all attributes in
    type: visible
    <text> visible Draws a text string. Text
    can be single or multiline,
    contains contained by scrollable or not, editable
    any listener any container or not. Text is drawn with
    device specific fonts.
    attributes type default
    res (modifiable) resource none The resource path of the
    path text string to display
    (initially if editable). A
    transparent blank is drawn
    if not supplied.
    font fixed serif Device specific font.
    serif
    sansserif
    system
    size small small Device specific size. Should
    medium map to 9pt, 12pt and 18pt
    large respectively.
    weight plain plain Device specific weight for
    bold the font.
    slant plain plain Device specific weight for
    italic the font.
    align left left The horizontal alignment of
    centre the text string inside the
    center frame of the text box. There
    right is no vertical alignment
    control, use the y attribute
    to control the text box
    position instead.
    color, colour colour #ff000O00 The colour of the text. If
    (modifiable) (black) translucent alpha is not
    supported, the alpha
    component is rounded up to
    full opacity.
    fxcolor, fxcolour colour #00000000 The colour of the text
    (modifiable) effect. The default text
    effect is a glow background.
    multiline boolean false If false, the string is
    drawn on a single line. The
    width of this element will
    default to the length
    required to exactly fit the
    string.
    If true, the string will be
    drawn on multiple lines. The
    width will default to be the
    same as the parent element.
    The height will default to
    the height required to
    exactly fit the number of
    lines for the string.
    scrollable boolean false If true, the view of the
    string can be scrolled
    (horizontally for single
    line, vertically for
    multiline) when this element
    has the focus. Focus is
    released when the end or
    beginning of the string is
    reached, or if a cursor key
    is pressed in the non-
    scrolling direction.
    editable resource None If supplied, this element is
    path to an editable text box. Text
    writable editing is drawn in a device
    resource specific way, and may
    involve pressing select to
    activate text editing. The
    edited value of the string
    is stored in the resource
    path supplied by this
    attribute.
    all attributes in
    type: visible
    <throw> listener Throws an event. Events can be
    sent to other parts of the
    contains contained by content tree or to an actor.
    <param> any visible
    attributes type default
    when event none The event to listen for. If a
    name and parameter value is supplied in
    optional square brackets [ ], then this
    parameter will only trigger when the
    value event with that parameter value
    is received. E.g.:
    when=”keypress[_select]”
    triggers on the keypress event
    when the parameter value is
    ‘_select’
    event event none The name of the event to throw.
    name If this is an Actor event, it
    will automatically be sent to
    the relevant Actor, regardless
    of the specified target. Use
    square brackets to specify an
    anonymous parameter value to
    accompany this event. Use
    <param> children to specify
    named parameters for this
    event.
    If the event is the ‘focus’
    event, then this will cause the
    focus to move to the target
    element (within the layer of
    the target element).
    target element _top The element ID of the element
    ID to send this event to. If not
    supplied then _top is used. If
    the event is an Actor event,
    this attribute is ignored.
    consume boolean false If true, the event propagation
    will stop at this element. No
    further listeners will trigger
    on the incoming event after
    this element.
    <att> listener Modifies an attribute of its
    parent visible when switched
    contains contained by on. <att> is switched on by the
    any visible event specified in the when
    attribute. It is switched off
    by the ‘!’ version of the
    event. If several <att>s modify
    the same parent attribute, the
    last <att> that is switched on
    wins.
    attributes type default
    when event none The event to listen for. If a
    name and parameter value is supplied in
    optional square brackets [ ], then this
    parameter will only switch on when the
    value event with that parameter value
    is received. E.g.:
    when=”keypress[_select]”
    triggers on the keypress event
    when the parameter value is
    ‘_select’
    name attribute none The name of the attribute in
    name the parent visible to modify.
    The attribute must be
    modifiable as indicated in the
    attribute boxes in this spec.
    value same as none The new value for the named
    attribute attribute of the parent
    being visible.
    modified Use the @-symbol to reference
    the value of a named parameter
    of the incoming event.
    consume boolean false If true, the event propagation
    will stop at this element. No
    further listeners will trigger
    on the incoming event after
    this element.
    <anim> listener Continuously modifies an
    attribute of its parent
    contains contained by visible while switched on.
    any visible The animation is started by
    the event, and restarted
    every time the event arrives
    subsequently. The
    modification (whereever the
    animation has got to) is
    switched off when the ‘!’
    version of the event arrives.
    attributes type default
    when event name none The event to listen for. If a
    and optional parameter value is supplied
    parameter in square brackets [ ], then
    value this will only switch on when
    the event with that parameter
    value is received. E.g.:
    when=”keypress[_select]”
    triggers on the keypress
    event when the parameter
    value is ‘_select’
    name attribute none The name of the attribute in
    name the parent visible to modify.
    The attribute must be
    modifiable as indicated in
    the attribute boxes in this
    spec.
    startvalue same as none The value to use at the start
    attribute of the animation. If not
    being supplied, the current value
    modified is used. The current value
    depends on all previous
    listener elements that modify
    the same attribute and the
    value specified by the parent
    visible itself.
    endvalue same as none The value to use at the end
    attribute of the animation. This value
    being is reached at the time
    modified specified by the duration
    attribute. If not supplied,
    the current value of the
    attribute is used in the same
    way as startvalue above.
    duration integer 300 The length of time taken to
    number of animate the named attribute
    milliseconds from startvalue to endvalue
    once. Note this is not the
    total duraction of the
    animation which can be
    calculated by multiplying the
    number of repeats by this
    duration.
    repeat integer- 0 The number of times to repeat
    1 = forever the animation after the first
    time through, i.e. setting it
    to 1 will result in the
    animation being played twice.
    bounce boolean false If true, the animation will
    play backwards on alternate
    repeats.
    persist boolean depends . . . If true, the animation will
    hold the endvalue as the
    modification until switched
    off by the ‘!’ event.
    If false, the animation will
    revert to the startvalue at
    the end of the animation and
    hold that value until the
    animation is switched off.
    The default depends whether
    the event is a normal event
    or a ‘!’ version of an event.
    If the event is normal, the
    default is true. If the event
    is a ‘!’ event, the default
    is false.
    consume boolean false If true, the event
    propagation will stop at this
    element. No further listeners
    will trigger on the incoming
    event after this element.
    <load> listener Loads some new content into the
    supplied target element.
    contains contained by
    <param> any visible
    attributes type default
    when event none The event to listen for. If a
    name and parameter value is supplied in
    optional square brackets [ ], then this
    parameter will only trigger when the
    value event with that parameter value
    is received. E.g.:
    when=”keypress[_select]”
    triggers on the keypress event
    when the parameter value is
    ‘_select’
    res resource none The resource path of the trigml
    path file to load.
    target element _top The element ID to replace the
    ID children of.
    consume boolean false If true, the event propagation
    will stop at this element. No
    further listeners will trigger
    on the incoming event after
    this element.
    <include> Inlines the specified trigml
    contains contained by file. The trigml in the file is
    <param> any element treated as if it had been
    originally declared in place of
    this <include> element.
    attributes type default
    res resource none The resource path of the trigml
    path file to include.
    <param> Supplies a parameter name and
    contains contained by value to a <load>, <include> or
    <load> <throw> element.
    <include>
    <throw>
    attributes type default
    name parameter none The name of the parameter.
    name The $-symbol is used to
    reference the parameter when
    used in a <load> or <include>.
    The @-symbol is used to
    reference the parameter when
    used with an event.
    value value none The value of the parameter.
    valuefrom resource none The resource path of a file to
    path read the contents of to obtain
    the value of this parameter.
    <setvar> listener Sets a variable. The variable can
    only used when loading new content.
    contains contained by If <setvar> triggers on the ‘entry’
    <param> any visible event, the variable cannot be used
    until the next <load> tag is used.
    attributes type default
    when event none The event to listen for. If a
    name and parameter value is supplied in
    optional square brackets [ ], then this will
    parameter only trigger when the event with
    value that parameter value is received.
    E.g.: when=”keypress[_select]”
    triggers on the keypress event when
    the parameter value is ‘_select’
    name variable none The name of the variable.
    name
    value value none The value to put in the variable.
    The variable can be referenced with
    the $-symbol in subsequent <load>
    actions.
    consume boolean false If true, the event propagation will
    stop at this element. No further
    listeners will trigger on the
    incoming event after this element.
    <paintif> container, visible Only paints its contents if the
    specified resource exists or the
    contains contained by path is valid. The contents are
    any visible any element still in the tree, and still respond
    any listener to events, however, none of the
    contents are painted if the
    condition is not met. <paintif> can
    be used in place of group.
    attributes type default
    res resource none The resource path to test for the
    path existence of.
    isvalid resource none The resource path to test the
    path validity (as a resource path) of.
    Note this will not actually check if
    the file exists, merely whether or
    not the path is a valid path. This
    is useful for testing whether $$ is
    in range or not.
    <ticker> visible Scrolls a series of items onto,
    then off, the frame of this
    contains contained by element. The visible child element
    any listener any container of <ticker> is used as a template
    any one for each item. Each item is
    visible scrolled on from below the element
    up into a centre-left-aligned
    position. The item is then paused
    before scrolling it off to the
    left. Use the $$ variable in the
    template to vary the item on each
    scroll past. The list is restarted
    at the top when the last item has
    been scrolled past.
    attributes type default
    repeatover resource No Specifies the set of values to use
    path default. for the $$ variable in the child
    Must be elements. If the resource path is
    supplied. a folder, then the list of
    resources found in that folder are
    used (in numeric order) for the
    set of values for $$. If the
    resource path is a file, then the
    file is treated as an index file
    that specifies a list of values
    for $$.
    all
    attributes in
    type: visible
    <batterylevel> visible Draws the battery level using the
    supplied image as a multi-framed
    contains contained by image. The current value of the
    any listener any container battery level is mapped onto the
    proportional frame number.
    attributes type default
    res (modifiabl resource none The resource path of the PNG file
    path that holds all the states of the
    battery level.
    frames integer 1 The number of frames (side by side
    images) in the PNG file. The image
    width is therefore the real PNG
    width divided by the number of
    frames. The frame that is
    displayed depends on the current
    battery level.
    all attributes The default for w/h is to shrink
    in to fit the supplied image. If the
    type: visible image is not found, then w/h
    default as normal. If w/h are
    supplied, the image is aligned to
    the top left corner.
    <signalstrength> visible Draws the signal strength level
    using the supplied image as a
    contains contained by multi-framed image. The current
    any listener any container value of the signal strength level
    is mapped onto the proportional
    frame number.
    attributes type default
    res (modifiabl resource none The resource path of the PNG file
    path that holds all the states of the
    signal strength level.
    frames integer 1 The number of frames (side by side
    images) in the PNG file. The image
    width is therefore the real PNG
    width divided by the number of
    frames. The frame that is
    displayed depends on the current
    signal strength level.
    all attributes The default for w/h is to shrink
    in to fit the supplied image. If the
    type: visible image is not found, then w/h
    default as normal. If w/h are
    supplied, the image is aligned to
    the top left corner.
    <phonestatus> visible Draws a row of phone status
    icons. The icons are packed
    contains contained by together, and are drawn, left to
    any listener any container right, in the order specified in
    the include attribute. Use a
    blank image in order to reserve
    a space for an icon that is
    currently not visible.
    attributes type default
    res (modifiabl resource none The root folder for the
    path collection of icon images. For
    each capability specified by the
    include attribute, this element
    will look for a folder of the
    same name. Within that folder,
    this element will look for an
    image with a name equal to the
    current value of that
    capability.
    include list of none The names the status icons to
    semi-colon display. Each name is a
    separated capability and should have a
    capability folder under the root folder
    names specified by the res attribute.
    all attributes
    in
    type: visible
    indicates data missing or illegible when filed

Claims (12)

1. A method of rendering a user interface for a device, the method comprising the steps of
providing a plurality of actors, each of the plurality of actors being associated with a user interface element and comprising one or more attributes defining the respective actor;
providing a renderer to receive one or more attributes from one or more of the plurality of actors; and
rendering the user interface in accordance with the received attributes.
2. A method according to claim 1, wherein if an actor attribute is updated, the update is received by the renderer and the user interface is updated accordingly.
3. A method according to claim 2, wherein the an actor attribute is updated in response to a user update.
4. A method according to claim 2, wherein the updating of an attribute causes the formatting of a user interface element to change.
5. A method according to claim 2, wherein the updating of an attribute causes a user interface element to move within the user interface.
6. A method according to any preceding claim wherein the actor attributes comprise mark-up language and the renderer is a mark-up language renderer.
7. A data carrier comprising computer executable code for performing the method of any of claims 1 to 6.
8. A device comprising
a user interface, the user interface comprising one or more user interface elements;
a plurality of actors, each of the plurality of actors being associated with a user interface element and comprising one or more attributes; and
a renderer, the renderer being configured, in use, to interpret the attributes associated with one or more of the plurality of actors and to render the user interface accordingly.
9. A device according to claim 8, wherein the device further comprises display means for displaying the user interface.
10. A device according to claim 8 or claim 9, wherein the device further comprises a communications interface for receiving further actors for use in the rendering of the user interface.
11. A device according to any of claims 8 to 10, wherein the device further comprises storage means configured to store the plurality of actors.
12. A device according to any of claims 8 to 11, wherein the device further comprises processing means configured to operate the renderer.
US10598163 2004-02-19 2005-02-21 Rendering a User Interface Abandoned US20080282142A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB0403709.9 2004-02-19
GB0403709A GB0403709D0 (en) 2004-02-19 2004-02-19 Mobile communications network
PCT/GB2005/000627 WO2005081131A1 (en) 2004-02-19 2005-02-21 Rendering a user interface

Publications (1)

Publication Number Publication Date
US20080282142A1 true true US20080282142A1 (en) 2008-11-13

Family

ID=32040027

Family Applications (7)

Application Number Title Priority Date Filing Date
US10598167 Abandoned US20070300217A1 (en) 2004-02-19 2005-02-18 Data Container for User Interface Content Data
US10598168 Active 2029-04-19 US8434016B2 (en) 2004-02-19 2005-02-21 Virtual file system
US10598169 Abandoned US20080037452A1 (en) 2004-02-19 2005-02-21 Method Supplying Content to a Device
US10598163 Abandoned US20080282142A1 (en) 2004-02-19 2005-02-21 Rendering a User Interface
US10598172 Active 2026-01-27 US8327289B2 (en) 2004-02-19 2005-02-21 Layered user interface
US10598171 Abandoned US20070266316A1 (en) 2004-02-19 2005-02-21 Display of Menu Items In a User Interface
US13618650 Active 2027-09-22 US9454619B2 (en) 2004-02-19 2012-09-14 Layered user interface

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US10598167 Abandoned US20070300217A1 (en) 2004-02-19 2005-02-18 Data Container for User Interface Content Data
US10598168 Active 2029-04-19 US8434016B2 (en) 2004-02-19 2005-02-21 Virtual file system
US10598169 Abandoned US20080037452A1 (en) 2004-02-19 2005-02-21 Method Supplying Content to a Device

Family Applications After (3)

Application Number Title Priority Date Filing Date
US10598172 Active 2026-01-27 US8327289B2 (en) 2004-02-19 2005-02-21 Layered user interface
US10598171 Abandoned US20070266316A1 (en) 2004-02-19 2005-02-21 Display of Menu Items In a User Interface
US13618650 Active 2027-09-22 US9454619B2 (en) 2004-02-19 2012-09-14 Layered user interface

Country Status (9)

Country Link
US (7) US20070300217A1 (en)
JP (8) JP5282324B2 (en)
KR (6) KR101105177B1 (en)
CN (6) CN100462917C (en)
CA (6) CA2555557A1 (en)
EP (7) EP1723520A2 (en)
GB (1) GB0403709D0 (en)
RU (6) RU2363039C2 (en)
WO (7) WO2005081130A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195105A1 (en) * 2006-02-17 2007-08-23 Anu Koberg Dynamic wallpaper on mobile communication device
US20070266316A1 (en) * 2004-02-19 2007-11-15 Butlin Stefan G Display of Menu Items In a User Interface
US20090241135A1 (en) * 2008-03-20 2009-09-24 Chi Hang Wong Method for creating a native application for mobile communications device in real-time
US20110107243A1 (en) * 2009-11-05 2011-05-05 International Business Machines Corporation Searching Existing User Interfaces to Enable Design, Development and Provisioning of User Interfaces
US20140035945A1 (en) * 2012-08-03 2014-02-06 Todd Anglin Computing device applications with an automatically adapting user interface
US20140136954A1 (en) * 2012-11-13 2014-05-15 International Business Machines Corporation Automatically Rendering Web or Hybrid Applications Natively
US20150067540A1 (en) * 2013-09-02 2015-03-05 Samsung Electronics Co., Ltd. Display apparatus, portable device and screen display methods thereof

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4240219A (en) * 1977-08-09 1980-12-23 Tornqvist Peter J System for displaying a number of pictures, notices or similar announcements
DE01900612T1 (en) 2000-01-13 2006-07-13 Celltick Technologies Ltd. A method of operating a cellular communications network and method for operating a personal cellular telecommunications device
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
WO2006130538B1 (en) * 2005-05-31 2007-04-05 Qualcomm Inc Fine-grained control of z-order elements in a xml presentation
US20070027971A1 (en) * 2005-07-26 2007-02-01 Sunil Marolia Device management network with notifications comprising multiple choice prompts
GB0516763D0 (en) * 2005-08-16 2005-09-21 Ibm A method,system and computer program product for rendering a graphical user interface
US20060223576A1 (en) * 2005-10-05 2006-10-05 Macaluso Anthony G Content selection and delivery of complementary information
WO2007083194A3 (en) 2005-10-20 2007-11-22 William James Davis Managing content to constrained devices
US8121651B2 (en) 2006-02-12 2012-02-21 Celltick Technologies Ltd. Content personalization of personal cellular telecommunications devices
US20070260674A1 (en) * 2006-05-02 2007-11-08 Research In Motion Limited Push framework for delivery of dynamic mobile content
US8204488B2 (en) 2006-06-13 2012-06-19 Celltick Technologies Ltd. Web content distribution to personal cellular telecommunications devices
US8095923B2 (en) * 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
JP4761553B2 (en) * 2006-08-03 2011-08-31 キヤノン株式会社 Presentation device and a control method
CN101123794B (en) * 2006-08-07 2012-01-04 华为技术有限公司 A method, system and client for locating operation node in communication system
US8433729B2 (en) 2006-09-29 2013-04-30 Sap Ag Method and system for automatically generating a communication interface
US8996487B1 (en) * 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US7853691B2 (en) * 2006-11-29 2010-12-14 Broadcom Corporation Method and system for securing a network utilizing IPsec and MACsec protocols
WO2008075331A3 (en) 2006-12-19 2009-04-09 Celltick Technologies Ltd Mobile advertising packages for displaying advertisement display messages on personal cellular telecommunications devices
US8219153B2 (en) 2007-01-04 2012-07-10 Celltick Technologies Ltd. Mobile advertising on personal cellular telecommunications devices
US8813100B1 (en) 2007-01-07 2014-08-19 Apple Inc. Memory management
US7844915B2 (en) * 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US8656311B1 (en) * 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US7872652B2 (en) * 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US7903115B2 (en) * 2007-01-07 2011-03-08 Apple Inc. Animations
US8225227B2 (en) 2007-01-19 2012-07-17 Microsoft Corporation Managing display of user interfaces
CN101291402B (en) 2007-04-18 2011-06-15 深圳Tcl新技术有限公司 Method and device for combined using functional interface images
US8762984B2 (en) * 2007-05-31 2014-06-24 Microsoft Corporation Content distribution infrastructure
US8200202B2 (en) 2007-07-31 2012-06-12 Celltick Technologies Ltd. User activity tracking on personal cellular telecommunications devices
US8139509B2 (en) * 2007-08-08 2012-03-20 Innopath Software, Inc. Installation and management of mobile device [{S]} configuration
US8884981B2 (en) * 2007-09-04 2014-11-11 Apple Inc. Dynamically reconfigurable graphics layer system and method
US20090119375A1 (en) * 2007-11-05 2009-05-07 Research In Motion Limited Method and system for optimizing delivery of mobile content using differential metadata updates
US20090150570A1 (en) * 2007-12-07 2009-06-11 Bo Tao Sharing Assets Between UPnP Networks
US20090150520A1 (en) * 2007-12-07 2009-06-11 David Garcia Transmitting Assets In UPnP Networks To Remote Servers
US20090150480A1 (en) * 2007-12-08 2009-06-11 Xiyuan Xia Publishing Assets Of Dynamic Nature In UPnP Networks
US20090150481A1 (en) * 2007-12-08 2009-06-11 David Garcia Organizing And Publishing Assets In UPnP Networks
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
DE112009000002T5 (en) 2008-03-04 2010-01-07 Apple Inc., Cupertino Processing touch events for websites
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
JP2009267526A (en) * 2008-04-22 2009-11-12 Sharp Corp Method and device for displaying a lot of content as list
US20100011135A1 (en) * 2008-07-10 2010-01-14 Apple Inc. Synchronization of real-time media playback status
KR101297519B1 (en) 2008-08-08 2013-08-16 삼성전자주식회사 Method and system for submiting user content in dynamic contents delivery service
US8893035B2 (en) * 2008-09-17 2014-11-18 Accenture Global Services Limited Method, system and graphical user interface for configuring a simulator to simulate a plurality of devices
US8825462B2 (en) 2008-09-17 2014-09-02 Accenture Global Services Limited Method and system for simulating a plurality of devices
US8250477B1 (en) * 2008-11-04 2012-08-21 Sensei, Inc. Mobile client application for managing user interface components
US20100229058A1 (en) 2009-03-04 2010-09-09 Suresh Goyal Method and apparatus for system testing using scan chain decomposition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566044B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9436482B2 (en) * 2009-03-25 2016-09-06 Microsoft Technology Licensing, Llc Input content to application via web browser
US20140033198A1 (en) * 2009-04-08 2014-01-30 Adobe Systems Incorporated Extensible distribution/update architecture
KR101053568B1 (en) * 2009-04-17 2011-08-03 가락전자 주식회사 Pa broadcasting button way operation
US8545310B2 (en) 2009-10-14 2013-10-01 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming including revealing what would have been won
EP2333628B1 (en) * 2009-12-04 2013-12-04 Umicore AG & Co. KG A system and method for system automation based on interpreting a tree sequence of operations
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US20110307833A1 (en) 2010-06-14 2011-12-15 Thomas Andrew Cooke Dale Control Selection Approximation
US20120036494A1 (en) * 2010-08-06 2012-02-09 Genwi, Inc. Web-based cross-platform wireless device application creation and management systems, and methods therefor
US8881056B2 (en) * 2010-08-30 2014-11-04 Sap Se Dynamic view computation and display
US9521174B2 (en) * 2010-10-19 2016-12-13 Paul Matthew Davidge Video script interpreter platform with cooperating client and server
US9026905B2 (en) * 2010-12-17 2015-05-05 Facebook, Inc. Customization of mobile applications using web-based technology
KR20130052748A (en) * 2011-03-21 2013-05-23 삼성전자주식회사 Supporting method for icon change function and portable device thereof
US8713056B1 (en) * 2011-03-30 2014-04-29 Open Text S.A. System, method and computer program product for efficient caching of hierarchical items
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US20130019237A1 (en) * 2011-07-12 2013-01-17 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US9706006B2 (en) * 2011-07-19 2017-07-11 Infosys Limited System and method of context aware adaption of content for a mobile device
US8711116B2 (en) 2011-10-17 2014-04-29 Facebook, Inc. Navigating applications using side-mounted touchpad
US20130132302A1 (en) * 2011-11-18 2013-05-23 Black Hills Ip Holdings, Llc Systems, methods and interfaces in a patent portfolio management system
CA2860374A1 (en) 2011-12-23 2013-06-27 Airstrip Ip Holdings, Llc Systems and methods for developing multi-platform applications for computing devices
US8924799B2 (en) * 2012-04-16 2014-12-30 Yahoo! Inc. Method and system for providing a predefined content to a user
US20130286042A1 (en) * 2012-04-26 2013-10-31 Akihiko Ikeda Tile icon display
CN103455475B (en) * 2012-06-01 2016-12-14 腾讯科技(深圳)有限公司 Typesetting method, apparatus and system for
US20150293938A1 (en) * 2012-09-27 2015-10-15 Hewlett-Packard Development Company, L.P. Replacing virtual file system data structures deleted by a forced unmount
US9229632B2 (en) 2012-10-29 2016-01-05 Facebook, Inc. Animation sequence associated with image
US9684935B2 (en) 2012-11-14 2017-06-20 Facebook, Inc. Content composer for third-party applications
US9081410B2 (en) 2012-11-14 2015-07-14 Facebook, Inc. Loading content on electronic device
US9507757B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Generating multiple versions of a content item for multiple platforms
US9696898B2 (en) 2012-11-14 2017-07-04 Facebook, Inc. Scrolling through a series of content items
US9607289B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content type filter
US9606717B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content composer
US9218188B2 (en) 2012-11-14 2015-12-22 Facebook, Inc. Animation sequence associated with feedback user-interface element
US9245312B2 (en) 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
US9606695B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Event notification
US9547416B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Image presentation
US9235321B2 (en) 2012-11-14 2016-01-12 Facebook, Inc. Animation sequence associated with content item
US9547627B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Comment presentation
US9507483B2 (en) * 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
CN102932483B (en) * 2012-11-19 2014-08-13 西北大学 Lightweight dynamic resource definition method
KR20140080216A (en) * 2012-12-20 2014-06-30 에스케이하이닉스 주식회사 Semiconductor memory system and operation method thereof
US20140282143A1 (en) * 2013-03-14 2014-09-18 Michael Matas Modifying Content of Components in a User Interface
WO2014157908A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157897A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for switching tasks
KR20140119608A (en) * 2013-03-27 2014-10-10 삼성전자주식회사 Method and device for providing a private page
WO2014157893A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing a private page
WO2014157894A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Display apparatus displaying user interface and method of providing the user interface
US9767190B2 (en) 2013-04-23 2017-09-19 Black Hills Ip Holdings, Llc Patent claim scope evaluator
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
WO2015061758A1 (en) * 2013-10-24 2015-04-30 Ryan Alexander Symbol matrix engine
CN103530338B (en) * 2013-10-01 2017-02-15 北界创想(北京)软件有限公司 A method for page rendering on the computing device to generate the page frame and
US9537903B2 (en) 2013-10-29 2017-01-03 At&T Mobility Ii Llc Method and apparatus for communicating between communication devices
CN103914223A (en) * 2014-03-21 2014-07-09 海尔集团公司 Terminal application interface generation method and device
CN105095216A (en) * 2014-04-22 2015-11-25 深圳市志友企业发展促进中心 Data assembling method and device and resource communication system
CN104090787A (en) * 2014-06-25 2014-10-08 可牛网络技术(北京)有限公司 Starting method and starting device for home page of application software
CN104123376A (en) * 2014-07-29 2014-10-29 广东能龙教育股份有限公司 Intelligent text data collection method and system based on column template
US9591120B2 (en) 2014-08-15 2017-03-07 Xiaomi Inc. Method and device for adding application badge
CN104238875A (en) * 2014-08-15 2014-12-24 小米科技有限责任公司 Application corner mark addition method and device
US9830307B1 (en) * 2014-12-11 2017-11-28 Amazon Technologies, Inc. Ahead of time compilation of content pages
US20160259491A1 (en) * 2015-03-03 2016-09-08 Olio Devices, Inc. System and method for automatic third party user interface adjustment
US20160321045A1 (en) * 2015-04-28 2016-11-03 Microsoft Technology Licensing, Llc Compiler optimization of coroutines

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694561A (en) * 1994-12-12 1997-12-02 Microsoft Corporation Method and system for grouping and manipulating windows
US6470381B2 (en) * 1998-04-08 2002-10-22 Access Co., Ltd. Wireless communication device with markup language based man-machine interface
US20030023953A1 (en) * 2000-12-04 2003-01-30 Lucassen John M. MVC (model-view-conroller) based multi-modal authoring tool and development environment
US20030200254A1 (en) * 2000-12-19 2003-10-23 Coach Wei Methods and techniques for delivering rich java applications over thin-wire connections with high performance and scalability
US20040046789A1 (en) * 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
US20040061713A1 (en) * 2000-09-12 2004-04-01 Jennings Terry D. Mark-up language implementation of graphical or non-graphical user interfaces
US20040117439A1 (en) * 2001-02-12 2004-06-17 Levett David Lawrence Client software enabling a client to run a network based application
US20040148586A1 (en) * 2002-11-14 2004-07-29 Sap Ag Modeling system for graphic user interface
US20040158638A1 (en) * 2003-02-06 2004-08-12 Peters Jay R. St. Providing static and dynamic event data
US6791587B1 (en) * 2000-03-16 2004-09-14 International Business Machines Corporation Method and component for navigating a hierarchical user interface representation
US20040216054A1 (en) * 2003-04-25 2004-10-28 Ajit Mathews Method and apparatus for modifying skin and theme screens on a communication product
US20050021935A1 (en) * 2003-06-18 2005-01-27 Openwave Systems Inc. Method and system for downloading configurable user interface elements over a data network
US20050057560A1 (en) * 2003-09-17 2005-03-17 Viera Bibr System and method for building wireless applications with intelligent mapping between user interface and data components
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US20050108648A1 (en) * 2003-02-28 2005-05-19 Olander Daryl B. Method for propagating look and feel in a graphical user interface
US6901441B2 (en) * 2000-07-12 2005-05-31 International Business Machines Corporation Knowledge sharing between heterogeneous devices
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US20130063479A1 (en) * 2004-02-19 2013-03-14 Qualcomm Incorporated Layered user interface

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685426B2 (en) 1996-05-07 2010-03-23 Digimarc Corporation Managing and indexing content on a network with image bookmarks and digital watermarks
CA2157623C (en) 1994-09-20 1999-12-21 Lars Stig Sorensen Method and apparatus for dynamic radio communication menu
US6392640B1 (en) 1995-04-18 2002-05-21 Cognitive Research & Design Corp. Entry of words with thumbwheel by disambiguation
US6829368B2 (en) * 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
JPH09223062A (en) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd Customization method for service offering form and server device applicable to execution of the customization method
EP0794647A1 (en) 1996-03-06 1997-09-10 Philips Electronics N.V. Telephone with a display and menu management method for the same
US6300947B1 (en) * 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
EP0984631A1 (en) * 1998-09-04 2000-03-08 THOMSON multimedia Apparatus and method for executing interactive TV applications on set top units
US6678891B1 (en) 1998-11-19 2004-01-13 Prasara Technologies, Inc. Navigational user interface for interactive television
WO2000055717A1 (en) * 1999-03-16 2000-09-21 Telefonaktiebolaget Lm Ericsson A portable communication apparatus having a hierarchical menu system and a dynamic menu
JP2000299718A (en) 1999-04-13 2000-10-24 Matsushita Electric Ind Co Ltd Portable telephone and audio apparatus
CN1282313C (en) * 1999-05-13 2006-10-25 松下电器产业株式会社 Information terminal device
EP1069500A1 (en) * 1999-07-12 2001-01-17 International Business Machines Corporation Downloadable user-interface
JP2001027944A (en) * 1999-07-14 2001-01-30 Fujitsu Ltd Device having menu interface and program recording medium
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US7206824B2 (en) * 1999-12-08 2007-04-17 Sun Microsystems, Inc. Technique for configuring network deliverable pluggable components for deployment
JP2001188702A (en) * 1999-12-28 2001-07-10 Hitachi Ltd Distributed file system and file operating method
US6757291B1 (en) 2000-02-10 2004-06-29 Simpletech, Inc. System for bypassing a server to achieve higher throughput between data network and data storage system
KR100878338B1 (en) 2000-02-19 2007-08-27 디지맥 코포레이션 Watermark encoder and decoder enabled software and devices
US6763382B1 (en) * 2000-03-17 2004-07-13 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
US6834312B2 (en) 2000-05-02 2004-12-21 Cadopener.Com 11C Method and apparatus for delivery of data over a network
WO2001095041A1 (en) * 2000-06-09 2001-12-13 Honeywell Limited Human machine interface
JP2002032331A (en) * 2000-07-13 2002-01-31 Cross Head Kk System and method for contents distribution, copying machine having compound functions for contents distribution and user interface for copying machine having compound functions and portable information terminal, etc., used for the system
US7190976B2 (en) * 2000-10-02 2007-03-13 Microsoft Corporation Customizing the display of a mobile computing device
US20020041292A1 (en) 2000-10-06 2002-04-11 Lg Electronics Inc. Method of displaying menus in mobile telephones
US6753892B2 (en) 2000-11-29 2004-06-22 International Business Machines Corporation Method and data processing system for presenting items in a menu
US20020151327A1 (en) * 2000-12-22 2002-10-17 David Levitt Program selector and guide system and method
GB0100753D0 (en) 2001-01-11 2001-02-21 Bate Matthew Data system
US7073130B2 (en) * 2001-01-31 2006-07-04 Microsoft Corporation Methods and systems for creating skins
JP3881179B2 (en) * 2001-02-14 2007-02-14 三菱電機株式会社 User interface design apparatus
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020165999A1 (en) 2001-03-07 2002-11-07 Ajile Systems, Inc. Apparatus and method for interfacing hardware events with software events
DE20104839U1 (en) 2001-03-20 2002-08-22 Agere Syst Guardian Corp Mobile phone with a device for storing downloaded data
JP2002342148A (en) 2001-05-11 2002-11-29 Sony Corp Server and method for providing virtual file system, file registering method, file registration program and program storage medium
US6714778B2 (en) * 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
JP3638884B2 (en) 2001-05-15 2005-04-13 株式会社スーパーインデックス Information individual management system, information individual management method and an information individual management program
US7010758B2 (en) * 2001-05-21 2006-03-07 Leap Wireless International, Inc. Dynamically defined context sensitive jump menu
EP1262939B1 (en) 2001-05-31 2012-02-01 Nokia Corporation Method and apparatus for updating a frame buffer with reduced power consumption
KR20010070863A (en) 2001-06-14 2001-07-27 유선진 A computr network system and method for supplying a fitness education contents using portable information terminal
US6690395B2 (en) * 2001-06-25 2004-02-10 Dbtel Incorporated Progressively rolling animation display method on cellular phones
JP3818091B2 (en) * 2001-06-29 2006-09-06 東陶機器株式会社 Start-up structure of the water supply pipe to the sit-down toilet
US20030013483A1 (en) * 2001-07-06 2003-01-16 Ausems Michiel R. User interface for handheld communication device
US8418065B2 (en) * 2001-07-16 2013-04-09 Nuance Communications, Inc. Method of and system for dynamically controlling during run time a multifunction peripheral (MFP) touch panel user interface (UI) from an external remote network-connected computer
JP2003032654A (en) 2001-07-16 2003-01-31 Jisedai Joho Hoso System Kenkyusho:Kk Method and device for generating and presenting program associated contents
US7234111B2 (en) * 2001-09-28 2007-06-19 Ntt Docomo, Inc. Dynamic adaptation of GUI presentations to heterogeneous device platforms
US7496645B2 (en) * 2001-10-18 2009-02-24 Hewlett-Packard Development Company, L.P. Deployment of business logic software and data content onto network servers
KR100431509B1 (en) 2001-12-20 2004-05-14 한국전자통신연구원 Apparatus for processing a method-embedded content and method thereof
US6957392B2 (en) * 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
JP4558255B2 (en) * 2002-01-28 2010-10-06 三菱電機インフォメーションテクノロジー株式会社 Display data download method to the emulator terminal
EP1333646A1 (en) * 2002-01-30 2003-08-06 Koninklijke PTT Nederland N.V. Access provider and server for offering an internet portal having a menu
GB0202340D0 (en) * 2002-01-31 2002-03-20 Hewlett Packard Co Authoring of media content and dissemination via an information technology network
KR100861161B1 (en) 2002-02-06 2008-09-30 디지털 프로세스 가부시끼가이샤 Computer-readable record medium for storing a three-dimensional displaying program, three-dimensional displaying device, and three-dimensional displaying method
EP1472622B1 (en) 2002-02-07 2005-09-28 Qualcomm Cambridge Limited Method and apparatus for providing content to a mobile terminal
WO2003067427A3 (en) * 2002-02-07 2004-08-26 British Telecomm Graphical user interface
JP2003303152A (en) * 2002-02-08 2003-10-24 Matsushita Electric Ind Co Ltd Content transmission system
US7822806B2 (en) 2002-02-15 2010-10-26 Honeywell International Inc. Real-time data interface and method for browsers and the like
KR100475432B1 (en) * 2002-02-26 2005-03-10 삼성전자주식회사 method for design modification of Graphic User Interface and recorded media thereof
US6850255B2 (en) * 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface
WO2003077140A8 (en) * 2002-03-04 2003-11-20 Peter Thacker A method and system for publishing and accessing rich content via a wireless device
US7275243B2 (en) * 2002-03-22 2007-09-25 Sun Microsystems, Inc. Mobile download system
US20030182626A1 (en) * 2002-03-22 2003-09-25 Eran Davidov On-demand creation of MIDlets
ES2425555T3 (en) 2002-04-30 2013-10-16 Telmap Ltd. Navigation system that uses maps brokers
EP1416461A3 (en) 2002-05-08 2005-11-23 Precisa Instruments AG Wireless multimedia display device
US6973457B1 (en) * 2002-05-10 2005-12-06 Oracle International Corporation Method and system for scrollable cursors
JP2004005143A (en) * 2002-05-31 2004-01-08 D M L:Kk User interface system
DE10225316A1 (en) * 2002-06-06 2003-12-18 Philips Intellectual Property User interface display optimization method in which display window sizes or objects are optimized according to the their content, available space and selected preference rules
US7441047B2 (en) * 2002-06-17 2008-10-21 Microsoft Corporation Device specific pagination of dynamically rendered data
US20040075693A1 (en) * 2002-10-21 2004-04-22 Moyer Timothy A. Compact method of navigating hierarchical menus on an electronic device having a small display screen
US8285727B2 (en) * 2003-03-06 2012-10-09 Thomson Licensing S.A. Simplified searching for media services using a control device
US20040261031A1 (en) 2003-06-23 2004-12-23 Nokia Corporation Context dependent auxiliary menu elements
CN1867886B (en) * 2003-09-02 2010-06-16 捷讯研究有限公司 Automatic method for providing user interface customization file
US7480869B2 (en) * 2003-10-31 2009-01-20 International Business Machines Corporation Method and apparatus for displaying status of hierarchical operations
KR100617827B1 (en) * 2003-11-14 2006-08-28 삼성전자주식회사 Apparatus and method for displaying menu of hierarchy structures in mobile terminal equipment
US20050277432A1 (en) 2003-11-26 2005-12-15 Viana Rodrigo B D Dynamic display generation for mobile communication devices
US7113981B2 (en) * 2003-12-29 2006-09-26 Mixxer, Inc. Cellular telephone download locker
US7480135B2 (en) * 2005-12-29 2009-01-20 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Computer enclosure with simple drive bracket
WO2007082190A3 (en) 2006-01-06 2009-01-15 Qualcomm Inc Apparatus and methods of selective collection and selective presentation of content

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694561A (en) * 1994-12-12 1997-12-02 Microsoft Corporation Method and system for grouping and manipulating windows
US6470381B2 (en) * 1998-04-08 2002-10-22 Access Co., Ltd. Wireless communication device with markup language based man-machine interface
US20030084121A1 (en) * 1998-04-08 2003-05-01 Adam De Boor Wireless communication device with markup language based man-machine interface
US6791587B1 (en) * 2000-03-16 2004-09-14 International Business Machines Corporation Method and component for navigating a hierarchical user interface representation
US6901441B2 (en) * 2000-07-12 2005-05-31 International Business Machines Corporation Knowledge sharing between heterogeneous devices
US20040061713A1 (en) * 2000-09-12 2004-04-01 Jennings Terry D. Mark-up language implementation of graphical or non-graphical user interfaces
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US7219305B2 (en) * 2000-09-12 2007-05-15 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US7900186B2 (en) * 2000-12-04 2011-03-01 International Business Machines Corporation MVC (Model-View-Controller) based multi-modal authoring tool and development environment
US20030023953A1 (en) * 2000-12-04 2003-01-30 Lucassen John M. MVC (model-view-conroller) based multi-modal authoring tool and development environment
US6996800B2 (en) * 2000-12-04 2006-02-07 International Business Machines Corporation MVC (model-view-controller) based multi-modal authoring tool and development environment
US20030200254A1 (en) * 2000-12-19 2003-10-23 Coach Wei Methods and techniques for delivering rich java applications over thin-wire connections with high performance and scalability
US20040117439A1 (en) * 2001-02-12 2004-06-17 Levett David Lawrence Client software enabling a client to run a network based application
US20040046789A1 (en) * 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7412658B2 (en) * 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US20040148586A1 (en) * 2002-11-14 2004-07-29 Sap Ag Modeling system for graphic user interface
US20040158638A1 (en) * 2003-02-06 2004-08-12 Peters Jay R. St. Providing static and dynamic event data
US20050108648A1 (en) * 2003-02-28 2005-05-19 Olander Daryl B. Method for propagating look and feel in a graphical user interface
US20040216054A1 (en) * 2003-04-25 2004-10-28 Ajit Mathews Method and apparatus for modifying skin and theme screens on a communication product
US7500198B2 (en) * 2003-04-25 2009-03-03 Motorola, Inc. Method and apparatus for modifying skin and theme screens on a communication product
US20050021935A1 (en) * 2003-06-18 2005-01-27 Openwave Systems Inc. Method and system for downloading configurable user interface elements over a data network
US20050057560A1 (en) * 2003-09-17 2005-03-17 Viera Bibr System and method for building wireless applications with intelligent mapping between user interface and data components
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US20130063479A1 (en) * 2004-02-19 2013-03-14 Qualcomm Incorporated Layered user interface

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3G Lab; Trigenix 2.0 Launch; "3G LAB Launches Trigenix 2.0 Mobile Interface"; http://web.archive.org/web/20030226014910/http://www.3g.co.uk/PR/Feb2003/4869.htm[4/20/2013 1:35:34 PM]; 4 pages *
3G Lab; Trigenix 2.0 Launch; "3G LAB Launches Trigenix 2.0 Mobile Interface"; http://www.3g.co.uk/PR/Feb2003/4869.htm; 4 pages *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8434016B2 (en) * 2004-02-19 2013-04-30 Qualcomm Incorporated Virtual file system
US20070266316A1 (en) * 2004-02-19 2007-11-15 Butlin Stefan G Display of Menu Items In a User Interface
US20070283280A1 (en) * 2004-02-19 2007-12-06 Butlin Stefan G Virtual File System
US20070288856A1 (en) * 2004-02-19 2007-12-13 Butlin Stefan G Layered User Interface
US9454619B2 (en) 2004-02-19 2016-09-27 Qualcomm Incorporated Layered user interface
US8327289B2 (en) 2004-02-19 2012-12-04 Qualcomm Incorporated Layered user interface
US20070195105A1 (en) * 2006-02-17 2007-08-23 Anu Koberg Dynamic wallpaper on mobile communication device
US20090241135A1 (en) * 2008-03-20 2009-09-24 Chi Hang Wong Method for creating a native application for mobile communications device in real-time
US8365203B2 (en) * 2008-03-20 2013-01-29 Willflow Limited Method for creating a native application for mobile communications device in real-time
US8595236B2 (en) 2009-11-05 2013-11-26 International Business Machines Corporation Searching existing user interfaces to enable design, development and provisioning of user interfaces
US20110107243A1 (en) * 2009-11-05 2011-05-05 International Business Machines Corporation Searching Existing User Interfaces to Enable Design, Development and Provisioning of User Interfaces
US20140035945A1 (en) * 2012-08-03 2014-02-06 Todd Anglin Computing device applications with an automatically adapting user interface
US20140136954A1 (en) * 2012-11-13 2014-05-15 International Business Machines Corporation Automatically Rendering Web or Hybrid Applications Natively
US9471553B2 (en) * 2012-11-13 2016-10-18 International Business Machines Corporation Automatically rendering web or hybrid applications natively
US20150067540A1 (en) * 2013-09-02 2015-03-05 Samsung Electronics Co., Ltd. Display apparatus, portable device and screen display methods thereof

Also Published As

Publication number Publication date Type
US20130063479A1 (en) 2013-03-14 application
WO2005081130A1 (en) 2005-09-01 application
KR20060134109A (en) 2006-12-27 application
US8434016B2 (en) 2013-04-30 grant
JP2007535025A (en) 2007-11-29 application
CN1922609A (en) 2007-02-28 application
JP2007523418A (en) 2007-08-16 application
KR101111943B1 (en) 2012-03-13 grant
RU2006133389A (en) 2008-03-27 application
RU2006133387A (en) 2008-03-27 application
CN100462917C (en) 2009-02-18 grant
KR101105176B1 (en) 2012-01-12 grant
RU2383919C2 (en) 2010-03-10 grant
WO2005081551A3 (en) 2005-11-03 application
CN1914596A (en) 2007-02-14 application
WO2005081551A2 (en) 2005-09-01 application
CA2556285A1 (en) 2005-09-01 application
JP5282324B2 (en) 2013-09-04 grant
US20070283280A1 (en) 2007-12-06 application
KR101105177B1 (en) 2012-01-12 grant
WO2005081132A1 (en) 2005-09-01 application
JP2012155728A (en) 2012-08-16 application
EP1723517A2 (en) 2006-11-22 application
WO2005081101A2 (en) 2005-09-01 application
EP1721241A2 (en) 2006-11-15 application
CA2556294A1 (en) 2005-09-01 application
CN1922852A (en) 2007-02-28 application
JP2007523421A (en) 2007-08-16 application
RU2363039C2 (en) 2009-07-27 grant
WO2005081101A3 (en) 2006-03-23 application
CA2555557A1 (en) 2005-09-01 application
KR20060127207A (en) 2006-12-11 application
CA2555102A1 (en) 2005-09-01 application
US8327289B2 (en) 2012-12-04 grant
KR20070008564A (en) 2007-01-17 application
CN1922609B (en) 2013-07-10 grant
GB2411331A (en) 2005-08-24 application
JP2007523419A (en) 2007-08-16 application
WO2005081094A2 (en) 2005-09-01 application
CA2555995A1 (en) 2005-09-01 application
CN1922608B (en) 2010-05-26 grant
RU2006133374A (en) 2008-03-27 application
CA2556284A1 (en) 2005-09-01 application
US20070288856A1 (en) 2007-12-13 application
WO2005081131A1 (en) 2005-09-01 application
CN1922608A (en) 2007-02-28 application
WO2005081505A8 (en) 2006-09-28 application
GB0403709D0 (en) 2004-03-24 grant
US9454619B2 (en) 2016-09-27 grant
WO2005081094A3 (en) 2007-05-10 application
WO2005081505A1 (en) 2005-09-01 application
EP2249250A3 (en) 2010-12-08 application
RU2006133383A (en) 2008-03-27 application
CN1922573A (en) 2007-02-28 application
JP4943865B2 (en) 2012-05-30 grant
KR20070018042A (en) 2007-02-13 application
JP2011248909A (en) 2011-12-08 application
CA2555102C (en) 2013-02-05 grant
EP1721443A1 (en) 2006-11-15 application
RU2006133371A (en) 2008-03-27 application
CN1989762B (en) 2011-03-02 grant
EP1723520A2 (en) 2006-11-22 application
US20070300217A1 (en) 2007-12-27 application
EP1723563A1 (en) 2006-11-22 application
CN100549948C (en) 2009-10-14 grant
EP2249250A2 (en) 2010-11-10 application
EP1721269A1 (en) 2006-11-15 application
KR101146159B1 (en) 2012-05-25 grant
KR101164833B1 (en) 2012-07-11 grant
JP2007523420A (en) 2007-08-16 application
KR20070007106A (en) 2007-01-12 application
US20080037452A1 (en) 2008-02-14 application
JP4891094B2 (en) 2012-03-07 grant
JP2007523417A (en) 2007-08-16 application
RU2006133385A (en) 2008-03-27 application
KR20070018043A (en) 2007-02-13 application
US20070266316A1 (en) 2007-11-15 application
CN1989762A (en) 2007-06-27 application

Similar Documents

Publication Publication Date Title
Mori et al. Tool support for designing nomadic applications
US5680563A (en) Object-oriented operating system enhancement for filtering items in a window
US7907966B1 (en) System and method for cross-platform applications on a wireless phone
US7363035B2 (en) Method and apparatus for providing content to a mobile terminal
US6675204B2 (en) Wireless communication device with markup language based man-machine interface
US7865868B2 (en) .NET ribbon model for a ribbon user interface
US6677933B1 (en) Method and apparatus for operating a virtual keyboard
US6285364B1 (en) Method and apparatus for organizing and displaying internet and telephone information
US7441200B2 (en) Method and apparatus for designing, rendering and programming a user interface
US20060173911A1 (en) Method and apparatus to implement themes for a handheld device
US7500198B2 (en) Method and apparatus for modifying skin and theme screens on a communication product
US8266550B1 (en) Parallax panning of mobile device desktop
US20090031243A1 (en) Method and apparatus for controlling display of windows
US7568165B2 (en) Sidebar engine, object model and schema
US20080222621A1 (en) Method of Automatically Building a Customised Software Application for a Specific Type of Wireless Computing Device
US20120174002A1 (en) System and method for extending a visualization platform
US20080059896A1 (en) Mobile Device User Interface
US20090241135A1 (en) Method for creating a native application for mobile communications device in real-time
US20060259870A1 (en) Providing a user interface
US6028602A (en) Method for managing contents of a hierarchical data model
US20070288853A1 (en) Software, methods and apparatus facilitating presentation of a wireless communication device user interface with multi-language support
US7234111B2 (en) Dynamic adaptation of GUI presentations to heterogeneous device platforms
US6115039A (en) Processes and apparatuses for creating non-native displays on a computer
US7644391B2 (en) Sidebar engine, object model and schema
US20090164653A1 (en) Adaptive streaming for on demand wireless services

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BUTLIN, STEFAN GEOFFREY;CLAREY, NICHOLAS HOLDER;BLAUKOPF, JACOB BENJAMIN;REEL/FRAME:019525/0790;SIGNING DATES FROM 20061024 TO 20061103

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BUTLIN, STEFAN GEOFFREY;CLAREY, NICHOLAS HOLDER;BLAUKOPF, JACOB BENJAMIN;AND OTHERS;REEL/FRAME:020053/0527;SIGNING DATES FROM 20071001 TO 20071008

AS Assignment

Owner name: QUALCOMM CAMBRIDGE LIMITED, UNITED KINGDOM

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 016625 FRAME 0886. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT RECEIVING PARTY DATA;ASSIGNORS:BUTLIN, STEFAN GEOFFREY;CLAREY, NICHOLAS HOLDER;BLAUKOPF, JACOB BENJAMIN;SIGNING DATES FROM 20061024 TO 20061103;REEL/FRAME:028744/0863

Owner name: QUALCOMM CAMBRIDGE LIMITED, UNITED KINGDOM

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 020053 FRAME 0527. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT RECEIVING PARTY;ASSIGNORS:BUTLIN, STEFAN GEOFFREY;CLAREY, NICHOLAS HOLDER;BLAUKOPF, JACOB BENJAMIN;AND OTHERS;SIGNING DATES FROM 20070810 TO 20071001;REEL/FRAME:028744/0874

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:QUALCOMM CAMBRIDGE LIMITED;REEL/FRAME:029062/0871

Effective date: 20120928