WO2000072184A2 - Systeme independant de plate-forme indiquant une interface utilisateur enfouie - Google Patents
Systeme independant de plate-forme indiquant une interface utilisateur enfouie Download PDFInfo
- Publication number
- WO2000072184A2 WO2000072184A2 PCT/US2000/014364 US0014364W WO0072184A2 WO 2000072184 A2 WO2000072184 A2 WO 2000072184A2 US 0014364 W US0014364 W US 0014364W WO 0072184 A2 WO0072184 A2 WO 0072184A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- platform
- database
- user interface
- elements
- operative
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Definitions
- the user interface is a stereo, VCR, dishwasher, or cellular phone.
- user interfaces are so tied to the product that as the product changes the user
- a system is also needed that will allow the user interface to be platform
- the present invention is directed towards a platform independent system
- the source code includes elements for text fields, input
- the system has a compiler for tokemzmg the elements within
- the source file parsing the tokenized elements; and generating one or more
- function database having a listing of function calls; an icon database containing
- a user interface engine resides withm the target platform and serves to
- the user interface engine will interpret the code in the token
- a function module withm the user
- interface engine links the interpretation of the code to the target platform
- control returns to the user interface engine.
- the user interface engine
- the present invention provides a platform
- Fig. 1 is a block diagram that illustrates the major elements of an
- Fig. 2 is a block diagram that illustrates the major elements of the
- Fig. 3 is a diagram illustrating the card/deck layout of an exemplary
- Fig. 4 is a system diagram that illustrates an exemplary environment
- Fig. 5 is an exemplary user interface display created by the user interface
- Fig. 6 is a block diagram of the operation of the card compiler of the
- Fig. 7 is a block diagram illustrating the function of the User Interface
- the User Interface Engine (UIE) subsystem provides a platform
- the platform may be a
- the cards are grouped into decks, and there may be multiple decks
- Each card contains HTML-like instructions, known
- the cards allow a user interface
- the UIE is optimized for embedded applications by
- the UIE is loosely based on the WAP WML
- the present invention is directed to providing an embedded user
- the UIE 110 consists of three logical components as shown in Figure 1 :
- Definitions 120 are loosely based on the WAP WML tag specification with
- the Card Compiler 130 analyzes the elements for correctness
- the Card Compiler 130 also converts
- tokenized elements contain encoded attribute information rather than
- the UIE Interpreter 140 is the target
- the UIE Interpreter 140 utilizes the compiled
- the Tag Definitions 120 comprise a series
- the Tag Definitions 120 can be grouped into four major categories: General Declaration Elements 210; Active Card Elements 220: Display
- UIE data is
- a single collection of cards is referred to as
- Each card contains structured content and navigation specifications.
- Any given application can have multiple decks. Any deck-level navigation
- the UIE only supports a single
- Cards can contain a
- the UIE supports navigation to cards within a deck
- created to drive a user interface comprises one or more decks 310-a and 310-b
- each deck having one or more cards 320-a - 320-d and 330-a - 330-d.
- application 305 has two decks: Deckl 310-a and Deck2
- Deckl 310-a has a se ⁇ es of cards represented by Cardl 320-a, Card2
- Deck2 310-b has a se ⁇ es of cards
- Cardl 330-a Card2 330-b, Card3 330-c through Cardn 330-d.
- Elements may be placed at the application level, within a deck or within a card.
- General Declaration Elements 210 are used to delimit cards and decks
- ⁇ /DECK> Delimits the end of a deck definition
- Table 1 shows that the structure to begin delimiting a deck is the element
- Decks may include any of the elements shown in the table prior to the end of
- Table 1 further shows that the structure to begin delimiting a card is
- Cards may include any of the elements shown in the table prior to the
- Active Card Elements 220 are used to perform control features within the
- the Active Card Elements include the
- Branch elements may include
- test type (equal, not equal, greater than, less than)
- the DO element is used to specify unconditional action to be taken.
- DO element can consist of the following information: the task type which
- the UIE will support device functions which are functions that exist
- the UIE will convert a call to a device function to a
- the function ID will be a member of a
- function calls can return strings, numbers, or strings containing dynamic
- the HOME element allows the user to specify the card to be loaded
- the INCLUDE element allows the user to specify a card that is to be
- the current card included withm the current card as if it is a part of the current card.
- INCLUDE element can directly specify a card name or a device function call
- the keys may
- the VALUE att ⁇ bute allows the user to set the value
- the LANG att ⁇ bute allows the user to specify the language.
- the INPUT element is quite extensive and is used to receive input data
- the INPUT element supports the following
- the UIE editor supports a key map table which defines the mapping of
- the physical key '2' may
- a touchpad on a small keyboard may have the physical key AD
- This table is primarily used in text entry mode
- the data entry field can span one or more lines of the display.
- the target platform may have a button designated as a clear or delete
- the CLR button will be known as the CLR button. If the CLR button is pressed, the CLR button is pressed.
- CLR button may be defined to that
- the cursor can be moved left or ⁇ ght withm the specified data entry field
- the display may not have the physical capacity to display the
- the left and right cursor button can be defined to
- the UIE editor supports multiple data entry modes. All entry modes can be selected from
- the first keypress inserts the first
- the entry mode may
- the editor interprets format st ⁇ ngs associated with a data entry field
- Input data echoing mode echo, no-echo, substitute
- the INPUT element will also support display of any data associated with
- the INPUT element is interpreted.
- the INPUT element also dynamically records
- the INPUT element will execute the body of
- ONEVENT elements are used to specify action to be taken when a target
- the ONEVENT element includes two parameters:
- the event or event group identifies the event or event group.
- the event type supports, at
- event classes keypad keys; limit events (such as bottom of
- air protocol interface information (incoming call, new system ID,
- the target platform i.e., a device with an internal
- hard disk may prompt an alarm condition upon a disk error.
- the optional event ID further specifies the expected device event. For instance, in a timer event, the optional event ID would be the variable name associated with the timer.
- the body of the ONEVENT element contains elements that are executed if the
- the SELECT element lets users pick from a list of options.
- SELECT element identifies both the current (default) selection and the
- the unique identifier for the default option is
- TIMER elements are used to start or stop application timers. They are
- va ⁇ able is set to 0 and a timer
- the TIMER element consists of the following information:
- the UIE implementation allows va ⁇ ables to be used m the place of
- va ⁇ able contents of a va ⁇ able are preserved as long as the va ⁇ able remains m scope.
- Variables include the following types: text st ⁇ ng, number, and pointer to
- va ⁇ able name with a dollar-sign. Because of this, a literal dollar sign must be
- VAR element encoded with a pair of dollar signs.
- the VAR element specifies: va ⁇ able
- Display Elements 230 are used to format text on the device display. Any
- the DATTR element sets the display attributes.
- the displayable characters revert to the default display style with possible attributes associated with the new line break.
- bitmaps static and animated.
- the tag elements are used to build applications
- each screen being defined by a card.
- Fig. 4 is a system diagram that illustrates an
- program module will be used to control the execution of routine, library routine, or the like.
- routine routine, library routine, or the like.
- program module will be used to control the execution of routine, library routine, or the like.
- the exemplary system illustrated in Fig. 4 includes a target platform 410
- processing unit 412 non-volatile memory 414, volatile memory 416, and a
- system bus 418 that couples the non- volatile memory 414 and volatile memory
- the non-volatile memory 414 may include a
- ROM read only memory
- EEROM electronically erasable read only memory
- EEPROM erasable and programmable read only memory
- EPROM programmable read only memory
- EAROM electronically alterable read only memory
- RAM battery backed random access memory
- non-volatile memory 414 provides storage for power on and reset routines
- non-volatile memory 414 In some configurations the non-volatile memory 414
- BIOS basic input/output system
- the volatile memory 416 may include a va ⁇ ety of memory types and
- RAM random access memory
- dynamic random access memory dynamic random access memory
- DRAM dynamic random access memory
- FLASH memory FLASH memory
- EEROM EEROM
- bubble memory EEPROM
- the volatile memory 416 provides temporary storage for
- non-volatile memory 414 and volatile memory 416 is that when power
- non-volatile memory 414 is not lost, whereas the contents of the volatile
- memory 416 is lost, corrupted, or erased.
- the target platform 410 may access one or more internal or external
- display devices 430 such as a CRT monitor, LCD panel, LED panel, electro-
- luminescent panel or other display device, for the purpose of providing
- the processing unit 412 interfaces to each display device 430 through a video interface 420 coupled to the
- processing unit over system bus 418.
- the target platform 410 may have access to one or more external storage
- devices 432 such as a hard disk drive, a magnetic disk drive for the purpose of
- the processing unit 412 interfaces to
- each storage device 432 through a storage interface 422 coupled to the
- the storage devices 432 provide non ⁇
- the target platform 410 may receive input or commands from one or
- input devices 434 such as a keyboard, pointing device, mouse, modem,
- RF or infrared receiver microphone, joystick, track ball, light pen, game pad,
- the processing unit 412 interfaces to each input
- the input interface may include one or more of a variety
- interfaces including but not limited to, an RS-232 serial port interface or
- serial port interface a parallel port interface
- USB universal serial bus
- an optical interface such as infrared or IrDA, an RF or wireless interface such
- the target platform 410 may send output information, in addition to the
- output devices 436 such as a speaker, modem,
- printer printer, plotter, facsimile machine, RF or infrared transmitter, or any other of a
- the target platform 410 can be controlled by the target platform 410.
- processing unit 412 interfaces to each output device 436 through an output
- output interface may include one or more of a variety of interfaces, including
- a parallel port interface a universal serial bus (USB), an optical interface
- USB universal serial bus
- IrDA infrared or IrDA
- RF or wireless interface such as Bluetooth
- the target platform 410 may operate in a networked environment using
- the remote computer 438 may be a server, a router, a peer device or other
- common network node typically includes many or all of the components
- the target platform 410 is connected to the remote system 438
- Fig. 1 may include a local area
- LAN local area network
- WAN wide area network
- telephone connection or the
- embodiments of the present invention may be stored m the storage device 432.
- non-volatile memory 414 the non-volatile memory 414, the volatile memory 416, or m a networked
- m a remote memory storage device of the remote system 438.
- the program modules may include an operating system, application programs,
- the processing unit 412 may access
- the target platform is a cellular telephone.
- Softkey 1 is associated with the displayed command
- a user would enter his lock code using an associated keypad 560 and then
- the source code below is used to generate this display screen and
- the application comprises a single deck, "PowerUp,” and
- Line 3 declares the start of
- Lines 9 and 10 place the text "Enter Lock Code" in the center of the
- Line 1 A four character input field is designated in Line 1 1. Lines 12
- the target platform in this case a cellular telephone, and requests
- the BRANCH element of line 15 compares the result of the
- cards could be defined to fully program a complete user interface.
- Figure 6 illustrates the operation of the card compiler.
- the source code is contained in one or more
- a file labeled MakeFile 610 contains a listing of the
- card/deck files 605 that will be used by the card compiler for a particular
- the Event File defines the user events required for
- the Event File 615 also may contain the
- events groups definitions for an aggregation of events, called events groups, which allows a
- typical Event File 615 may be constructed as follows:
- ev_l would be a reference to the LOWBATT event; similarly, any reference to
- gr_l would be a reference to either the KEY_0 or KEY 1 event.
- the card compiler 130 begins the compilation process. Initially,
- EventGroupDB 635 contains
- IcondDB 640 is an image table containing
- 645 is the string table containing string data for use by the cards/decks.
- TokenDB 650 contains the tokenized decks/cards.
- FunctionDB 655 contains
- FIG. 7 is a block diagram illustrating the function of the User Interface
- UIE uses the card compiler's DB files 635-655 in conjunction with the
- the UIE calls the target
- Event Server 710 monitors itself for internal events that may occur from
- Events may include such things as keystrokes, timer expirations, or various
- the Event Server 710 will fetch events from the event queue
- an element on the card may be looking for a keystroke.
- the Event Server 710 will first check the currently active card to see if the
- Event Server will process the event by elements on that card; if not, the Event Server will
- events may trigger the need to render a display for the user in which case control will pass to the
- Token Server 715 is in charge of extracting the next token and delivering
- Server 715 fetches tokens from the token database 650 that reside in some form
- the actions usually involve the creation of associated user interface object such
- the user interface object as an input data field, a selection list, or a text field.
- the History block 725 keeps track of the Deck/Cards that have been
- the History block 725 is a first in / last out (FILO) module.
- Function Interface 730 is the gateway that allows the UIE 140 to make
- the FunctionDB file 655 is
- Interface 730 knows which function is being called and the parameter details.
- Window block 720 is a group of objects that
- the Card are responsible for rendering the Deck/Cards objects into visible objects to be displayed on the target platform's display.
- the Card may instruct
- the Window 720 knows how to interpret this
- the target platform's display the target platform's display.
- the present invention has been desc ⁇ bed m relation to particular
- present invention may be applied to, and embodied m, va ⁇ ous combinations of
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU52880/00A AU5288000A (en) | 1999-05-24 | 2000-05-24 | A platform independent system of specifying an embedded user interface |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31752299A | 1999-05-24 | 1999-05-24 | |
US09/317,522 | 1999-05-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000072184A2 true WO2000072184A2 (fr) | 2000-11-30 |
WO2000072184A3 WO2000072184A3 (fr) | 2001-08-09 |
Family
ID=23234058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/014364 WO2000072184A2 (fr) | 1999-05-24 | 2000-05-24 | Systeme independant de plate-forme indiquant une interface utilisateur enfouie |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU5288000A (fr) |
WO (1) | WO2000072184A2 (fr) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080031A2 (fr) * | 2001-03-28 | 2002-10-10 | Argo Interactive Ltd. | Procede et appareil d'amelioration automatique de l'interactivite du navigateur |
FR2890768A1 (fr) * | 2005-09-14 | 2007-03-16 | Streamezzo Sa | Procede de controle d'interface d'une pluralite de types de terminaux de radiocommunication par la definition d'evenements abstraits, programme d'ordinateur, signal, et terminal correspondants |
US7451403B1 (en) | 2002-12-20 | 2008-11-11 | Rage Frameworks, Inc. | System and method for developing user interfaces purely by modeling as meta data in software application |
EP2327018A2 (fr) * | 2008-07-18 | 2011-06-01 | Sybase, Inc. | Cadre à conception unique, déploiement multiple pour un développement d'application mobile hétérogène |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0564790A2 (fr) * | 1992-04-07 | 1993-10-13 | International Business Machines Corporation | Interface graphique avec éditeur et compilateur selon la méthode WYSIWYG |
EP0640913A2 (fr) * | 1993-08-24 | 1995-03-01 | Microsoft Corporation | Ressources standard multilingues |
US5696914A (en) * | 1992-07-22 | 1997-12-09 | Bull S.A. | Using an embedded interpreted language to develop an interactive user-interface description tool |
-
2000
- 2000-05-24 WO PCT/US2000/014364 patent/WO2000072184A2/fr active Application Filing
- 2000-05-24 AU AU52880/00A patent/AU5288000A/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0564790A2 (fr) * | 1992-04-07 | 1993-10-13 | International Business Machines Corporation | Interface graphique avec éditeur et compilateur selon la méthode WYSIWYG |
US5696914A (en) * | 1992-07-22 | 1997-12-09 | Bull S.A. | Using an embedded interpreted language to develop an interactive user-interface description tool |
EP0640913A2 (fr) * | 1993-08-24 | 1995-03-01 | Microsoft Corporation | Ressources standard multilingues |
Non-Patent Citations (2)
Title |
---|
CHAUVET J.-M., HARMAN D., JOUHIER B.: "OPEN INTERFACE. UN OUTIL DE CONSTRUCTION D'INTERFACES GRAPHIQUES PORTABLES" GENIE LOGICIEL AND SYSTEMES EXPERTS, FR, NANTERRE, no. 24, 1 September 1991 (1991-09-01), pages 90-102, XP000443999 * |
WIRELESS APPLICATION PROTOCOL FORUM, LTD.: "WAP WML. WIRELESS APPLICATION PROTOCOL WIRELESS MARKUP LANGUAGE SPECIFICATION. VERSION 30-APR-1998" , [Online] 30 April 1998 (1998-04-30), pages 1-59, XP002134263 Retrieved from the Internet: <URL:http://www1.wapforum.org/tech/documen ts/wml-30-apr-98.pdf> [retrieved on 2000-03-29] * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080031A2 (fr) * | 2001-03-28 | 2002-10-10 | Argo Interactive Ltd. | Procede et appareil d'amelioration automatique de l'interactivite du navigateur |
WO2002080031A3 (fr) * | 2001-03-28 | 2003-01-03 | Argo Interactive Ltd | Procede et appareil d'amelioration automatique de l'interactivite du navigateur |
US7451403B1 (en) | 2002-12-20 | 2008-11-11 | Rage Frameworks, Inc. | System and method for developing user interfaces purely by modeling as meta data in software application |
FR2890768A1 (fr) * | 2005-09-14 | 2007-03-16 | Streamezzo Sa | Procede de controle d'interface d'une pluralite de types de terminaux de radiocommunication par la definition d'evenements abstraits, programme d'ordinateur, signal, et terminal correspondants |
WO2007031530A1 (fr) * | 2005-09-14 | 2007-03-22 | Streamezzo | Procede de controle d'interface d'une pluralite de types de terminaux de radiocommunication par la definition d'evenements abstraits, programme d'ordinateur, signal, et terminal correspondants |
EP2327018A2 (fr) * | 2008-07-18 | 2011-06-01 | Sybase, Inc. | Cadre à conception unique, déploiement multiple pour un développement d'application mobile hétérogène |
EP2327018A4 (fr) * | 2008-07-18 | 2011-12-07 | Sybase Inc | Cadre à conception unique, déploiement multiple pour un développement d'application mobile hétérogène |
US8769553B2 (en) | 2008-07-18 | 2014-07-01 | Sybase, Inc. | Deploy anywhere framework for heterogeneous mobile application development |
Also Published As
Publication number | Publication date |
---|---|
AU5288000A (en) | 2000-12-12 |
WO2000072184A3 (fr) | 2001-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7380236B2 (en) | Method and computer program for rendering assemblies objects on user-interface to present data of application | |
Ousterhout | Tcl: An embeddable command language | |
US20030033329A1 (en) | Method and apparatus for entry and editing of spreadsheet formulas | |
US20050060719A1 (en) | Capturing and processing user events on a computer system for recording and playback | |
EP1333374B1 (fr) | Génération dynamique de classes Java localisée avec autovérification utilisant des descriptions XML et des initialisateurs statiques | |
US8438577B2 (en) | Method and system for extending scripting languages | |
CN1867886A (zh) | 用于用户界面定制的方法和数据结构 | |
US7533114B2 (en) | Mobile device having extensible software for presenting server-side applications, software and methods | |
US6964033B2 (en) | Object band customization of Java runtime environments | |
US7003778B2 (en) | Exception handling in java computing environments | |
US7543280B2 (en) | Converting and executing applications | |
US20050197157A1 (en) | System enabling easy application development on mobile devices | |
WO2000072184A2 (fr) | Systeme independant de plate-forme indiquant une interface utilisateur enfouie | |
WO2009020567A2 (fr) | Procédé et système de génération d'application | |
US7181724B2 (en) | Representation of Java® data types in virtual machines | |
CA2543910C (fr) | Methode et systeme permettant d'augmenter les possibilites des langages de script | |
US20040135806A1 (en) | Method for modifying groups of data fields in a web environment | |
EP1310866A2 (fr) | Représentation de types de données Java dans une machine virtuelle | |
US7197750B2 (en) | Java Bytecode instruction for determining hashcode values | |
US20020198698A1 (en) | Representation of objects in a Java programming environment | |
Landqvist | Porting and Evaluation of an Embedded Java Virtual Machine on Palm OS | |
US20030041319A1 (en) | Java bytecode instruction for retrieving string representations of java objects | |
US20110167327A1 (en) | Method for preparation of a digital document for the display of said document and the navigation within said | |
Uotila | A User Interface Toolkit for a Small Screen Device. | |
Rischpater | Interacting with the User |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |