US20170192798A1 - User interface method and apparatus - Google Patents
User interface method and apparatus Download PDFInfo
- Publication number
- US20170192798A1 US20170192798A1 US15/395,343 US201615395343A US2017192798A1 US 20170192798 A1 US20170192798 A1 US 20170192798A1 US 201615395343 A US201615395343 A US 201615395343A US 2017192798 A1 US2017192798 A1 US 2017192798A1
- Authority
- US
- United States
- Prior art keywords
- shortcut
- data
- machine
- users
- user
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0605—Supply or demand aggregation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G06F9/4443—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
Definitions
- the present invention relates to a user interface method and apparatus and in one aspect to a user interface method and machine to enable at least one user to enter an input to execute a command to transition a machine from one state to another.
- Electronic processing devices including computers, media devices, and mobile devices are used prevalently in almost all facets of people's lives. The ease with which users can interact with these devices is the subject of considerable research and commercial effort. Making the user interface of electronic machines easier for users is of major importance and can make a very powerful and useful apparatus difficult to use of even useless in the eyes of a user.
- One aspect provides a user interface method implemented in a machine, the method comprising storing shortcut data for at least one user comprising a plurality of sets of identifiers for shortcuts for a plurality of states of the machine for the at least one user, each stored identifier for a shortcut having a corresponding stored machine command; determining a current state of the machine for a said user; receiving an input from the user; determining whether the input matches a stored identifier for a shortcut in the shortcut data; executing a stored device command corresponding to the stored identifier dependent upon the matching; updating stored history data for the at least one user; and updating the shortcut data using the updated history data.
- Another aspect of the invention provides a machine for providing a user interface, the machine comprising a program memory storing program code; and a processor for implementing the program code stored in the program memory; wherein the program code comprises: code for controlling the processor to store shortcut data for at least one user comprising a plurality of sets of identifiers for shortcuts for a plurality of states of the machine for the at least one user, each stored identifier for a shortcut having a corresponding stored machine command; code for controlling the processor to determine a current state of the machine for a said user; code for controlling the processor to receive an input from the user; code for controlling the processor to determine whether the input matches a stored identifier for a shortcut in the shortcut data; code for controlling the processor to execute a stored device command corresponding to the stored identifier dependent upon the matching; code for controlling the processor to update stored history data for the at least one user; and code for controlling the processor to update the shortcut data using the updated history data.
- FIG. 1 is a schematic diagram illustrating a user device as a machine according to one embodiment
- FIG. 2 is a flow diagram illustrating the process according to one embodiment
- FIG. 3 is a schematic diagram illustrating a user device as a machine synchronizing history data and shortcut data with a remote server according to one embodiment
- FIG. 4 is a schematic diagram illustrating a server as a multiuser machine according to one embodiment
- FIGS. 5 a and 5 b are illustrations of user interface outputs according to one embodiment
- FIG. 6 is a schematic diagram illustrating a server as a multiuser machine synchronizing history data and shortcut data with a remote server according to one embodiment
- FIG. 7 is a schematic diagram of a basic computing device for use in one embodiment.
- database is intended to encompass any data structure (and/or combinations of multiple data structures) for storing and/or organizing data, including, but not limited to, relational databases (e.g., Oracle databases, mySQL databases, etc.), non-relational databases (e.g., NoSQL databases, etc.), in-memory databases, spreadsheets, as comma separated values (CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files, flat files, spreadsheet files, and/or any other widely used or proprietary format for data storage.
- CSV comma separated values
- XML eXtendible markup language
- TXT TeXT
- flat files eXT files
- each database referred to herein is to be understood as being stored in one or more data stores.
- a “file system” may control how data is stored and/or retrieved (for example, a disk file system like FAT, NTFS, optical discs, etc., a flash file system, a tape file system, a database file system, a transactional file system, a network file system, etc.).
- a disk file system like FAT, NTFS, optical discs, etc.
- flash file system for example, a disk file system like FAT, NTFS, optical discs, etc., a flash file system, a tape file system, a database file system, a transactional file system, a network file system, etc.
- the disclosure is described herein with respect to databases. However, the systems and techniques disclosed herein may be implemented with file systems or a combination of databases and file systems.
- the term data store is intended to encompass any computer readable storage medium and/or device (or collection of data storage mediums and/or devices).
- Examples of data stores include, but are not limited to, optical disks (e.g., CD-ROM, DVD-ROM, etc.), magnetic disks (e.g., hard disks, floppy disks, etc.), memory circuits (e.g., solid state drives, random-access memory (RAM), etc.), and/or the like.
- Another example of a data store is a hosted storage environment that includes a collection of physical data storage devices that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” storage).
- the functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment.
- the software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, described functions may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples.
- the software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.
- Some embodiments implement the functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit.
- the exemplary process flow is applicable to software, firmware, and hardware implementations.
- a generalized embodiment provides a machine and a method for providing a user interface using stored shortcut data for at least one user or in other words a set of one or more users.
- the shortcut data comprises a plurality of sets of identifiers for shortcuts for a corresponding plurality of states of the machine for the set of one or more users or a plurality of sets of states for the set of one or more users.
- Each stored identifier for a shortcut has a corresponding stored machine command.
- a current state of the machine used by a user is determined and when an input is received from the user, it is determined whether the input matches a stored identifier for a shortcut in the shortcut data. If it does, a stored device command corresponding to the stored identifier is executed, the stored history data for the set of one or more users is updated and the shortcut data is updated using the updated history data.
- the machine can hence store history data to learn about user inputs for specific machine states for use in the determination of updated shortcut data to store appropriate shortcuts for commands that a set of one or more users might want to enter in a current machine state to transition to a next machine state.
- the shortcuts are user and context specific.
- the user interface method can be used to learn inputs for a set of users using the same machine states e.g. using the same applications, programs or processes.
- the set of users can be any number including a single user.
- the user interface method can be used by a group of users, such as an office or business.
- the invention is applicable to any electronic machine having a need to receive user inputs to enter commands to the machine.
- the user interface can monitor any form of user input such as from a keyboard, pointer device, touch screen input, audio or speech input, or gesture input.
- the input can also comprise an image obtained by scanning or photographing an object or by downloading an image over a network from an image source.
- the matching of the input to identifiers can comprise matching an input image to a stored image associated with a command or command sequence. The match can be exact or based on a level of similarity.
- the user interface can be software agnostic in that it can monitor the input to any application operated by an operating system or even an input to the operating system itself.
- the machine can thus provide a multimodal interface to the user or users.
- that machine can determine shortcut data to store appropriate commands that a user might want to enter in a current machine state to transition to a next machine state.
- This stored shortcut data can be transferred to another machine having the same machine states used by the same user so that the shortcut data is available to make that machine easier to use.
- the stored history data for the user is updated, and the shortcut data using the updated history data is updated.
- the user's input cannot match any shortcut identifier and so the machine can update the history data to start the learning process.
- This learning process of updating the history data can continue, whenever the users enter inputs that are not a shortcut identifier.
- the history data is updated and the updated history data can be used to make better-suggested shortcuts for the set of users.
- the shortcut identifiers may or may not be output to the set of users for the current state of the machine.
- the shortcut identifiers can be output for example visually on a display, audibly by an audio output or as a vibrational output.
- the output of the shortcut identifiers assists the set of users in making the selection of a shortcut to enter a command. This avoids the need for a user to remember the shortcuts.
- the user may find that the output of the shortcut identifiers becomes a nuisance and a distraction from the output from the machine in the current state.
- the display of selectable shortcut identifiers as buttons or icons may be considered by a user to be visually distracting while they are viewing the display for the current state of the machine.
- the shortcut identifiers may be output in an order dependent on the history data. This can allow a user to more easily select a shortcut that they use more frequently. For example, in an embodiment, whether the shortcut identifiers are displayed, the history data enables the determination of commands and hence shortcuts that are input by the set of users more frequently or more recently than others, so that they can be displayed either more prominently or at the highest position in a list or ordered sequence. In an audio output embodiment, shortcut identifiers for the more frequently used or more recently used commands can be audibly output first to assist the set of users more quickly make an audio selection/input of a shortcut identifier.
- the stored machine command can comprise a single command or a plurality of sequential commands to be executed by the machine sequentially.
- the storage of a sequence of commands can be determined as a shortcut by learning a repeated pattern of user input by the user from the history data. This pattern can then be stored as a command sequence in a single shortcut.
- the stored shortcut data and the shored history data for the set of users can be synchronized with a remote database of shortcut data and history data for a plurality of users including the set of users.
- a remote database can store shortcut data and history data for a plurality of users so that it can be remotely processed.
- the history data received from the remote database in the synchronization includes user preference data indicating preferences of the set of users, and the shortcut data is updated using the user preference data.
- User preference data can be gathered from data collected from or about users from many sources, such as merchant loyalty programs and merchant transaction data. The data on user transaction behavior can be processed to determine user preferences.
- the machine can be a single user machine, a standalone machine, or a multiuser machine such as a server and the shortcut data can be stored for a single set of users or a plurality of sets of users of the machine.
- multiple sets of history data and shortcut data has to be stored: one set per set of users.
- the stored shortcut data and the shored history data for the users can be synchronized with a remote database of shortcut data and history data for a plurality of sets of users including the users of the machine.
- a multiuser machine can store data for multiple sets of users, such as customers of a vendor or merchant or multiple businesses, and a remote database can store history data and shortcut data for the plurality of sets of users (e.g.
- the history data received from the remote database in the synchronization includes user preference data indicating preferences of the users, and the shortcut data is updated using the user preference data.
- User preference data can be gathered from data collected from or about a set of users from many sources, such as merchant loyalty programs and merchant transaction data. The data on user transaction behaviour can be processed to determine user preferences.
- Embodiments also encompass the management of financial instruments, such as money or currency. Payment or spending preferences or habits of a user can be learnt to provide shortcuts for machine states to next machine states, such as allowing a user to make payments.
- the input from the user can include one or more text characters in a displayed text entry field
- the stored identifier for the shortcut can include a plurality of text characters
- the corresponding command can include the plurality of text characters.
- the input one or more text characters are matched with one or more of the plurality of text characters of the stored identifier.
- This embodiment of the invention enables the invention to be applied to a text field in a user interface.
- the characters are compared with shortcut identifiers in the form of text for commands in order to output suggested shortcuts to the commands based on the current state of the machine and the user's personal input history. For example, when a user interface displays a web page, the user's history will indicate that the user made certain inputs previously when on that web page, and hence the shortcut data reflects those inputs with shortcut identifiers for inputs that the user is more likely to make.
- the user interface can be used in an electronic transaction the method disclosed in co-pending application Ser. No. 15/395,487, filed the same day as this application, entitled “AN ELECTRONIC TRANSACTION METHOD AND APPARATUS”, by the same applicant and inventors (attorney reference 11043PUSA), the content of which is hereby incorporated in its entirety.
- FIG. 1 illustrates a device 100 for use by a set of one or more users not connected to any network (a standalone machine).
- the set of users can be any number including a single user.
- the user interface method can be used by a set of users, such as an office or business, using the same machine states e.g. using the same applications, programs or processes, such that one of the set of users is likely to want to enter a command in a machine state in the same manner as any other member of the set of users.
- the device 100 can comprise any type of computing or processing machine, such as a personal computer, a laptop, a tablet computer, a personal organizer, a mobile device, smart phone, a mobile telephone, a video player, a television, an audio player, a multimedia device, personal digital assistant, etc.
- a personal computer such as a personal computer, a laptop, a tablet computer, a personal organizer, a mobile device, smart phone, a mobile telephone, a video player, a television, an audio player, a multimedia device, personal digital assistant, etc.
- a processor 20 is provided to load program code 21 from a program code store 70 and execute the program code 21 using working volatile memory 30 .
- the program code 21 executes the functionality of one embodiment of the invention.
- Other program code can be loaded up in the form of an operating system, and applications to receive the commands that a user inputs directly or inputs by inputting a shortcut for a command in accordance with one embodiment.
- a user interface 5 comprises an input device 10 and an output device 40 .
- the input device can comprise any hardware, software or combination of hardware and software to receive a user input, such as a keyboard, touch screen, pointer device (such as a mouse, trackball, trackpad, or pen device), audio recognition hardware and/or software to recognize a sounds or speech from a user, gesture recognition input hardware and/or software, etc.
- the output device can comprise any hardware, software or combination of hardware and software to output information to a user including shortcut identifiers, such as a display screen, or an audio speaker.
- the user interface 5 provides for outputs to a user from the processor 20 and inputs from the user to the processor 20 .
- the device 100 is also provided with a data store 60 to store shortcut data in a shortcut database 61 and history data in a history database 62 .
- a data store 60 to store shortcut data in a shortcut database 61 and history data in a history database 62 .
- the shortcut data and the history data are described as being stored in databases in this embodiment, the data can be stored in any convenient form, or data structure.
- the history data for a set of one or more users comprises a set of data for the set of one or more users for each of a set of states of a machine used by the set of one or more user.
- For each state of the machine a set of one or more user input commands are stored to record the commands directly input or input as a result of a user selection (e.g. clicking a displayed selectable option such as a hyperlink in an interface).
- the history data can record for each set of one or more users, and for each machine state used by the set of one or more users, a set of input commands.
- the history data can also include user preference data indicating preferences of a user.
- the user preference data can be obtained from analyzing the user inputs and processing other user data entered by a user that can indicate a user's preferences.
- the preference data can be used along with the recorded user input history data to determine updates to the shortcut data.
- the shortcut data stores, for each machine state, a shortcut identifier and one or more commands to be executed by the machine. If there is more than one command, the commands are to be executed sequentially.
- the shortcut identifier can comprise a tag that a user can use to simply select the shortcut e.g. 1, 2, 3, 4 . . . or A, B, C, . . . . This tag can be automatically assigned to the shortcut or a user can select a tag. The tag enables the user to make an input simply by inputting the tag e.g. 2, or D, rather than typing some form of text string.
- the shortcut data can also comprise information for display to the user when the shortcut identifier is displayed for selections as for example, and icon, image, button etc. The information can assist the user in identifying the command available for selection as a shortcut.
- the shortcut identifier can comprise a text string corresponding to the text command string entered as the input by the user e.g. an http input command to load a web page into a browser, the name of a file to loaded in an application or to be searched for in a file system, or the name of an application to be executed in an operating system.
- the matching of a user's input can be achieved by matching the text characters as they are typed in by a user to suggest potential commands that the user might be trying to type in based on previously type commands.
- the user input text can be matched on a partial match basis with the stored shortcut identifier text so that initially a number of possible matches are identified that the user can select from and these are reduced as the user types more characters so that some initial shortcut identifier text matches no longer match and are removed as options for the user.
- This is a form of predictive text, but it is user and context specific in that it is specific to the user and the current state of the machine e.g. the web page displayed by a browser used by the user, a document opened by a user, a search window opened for a document in an operating system, search engine, etc.
- a machine state can comprise any operating state currently instantiated by the user of the machine.
- the state can comprise a state in the operation of a computer program, such as a web page in a web browser application, a document in a word processor application, a worksheet in a spreadsheet application, an email in an email application, operating system navigation and search features, or any search and retrieval application.
- step S 10 the current state of the machine is determined, e.g. the current web page open in a browser, the current document open in the word processor, the current email open in an email application, etc. Based on the current machine state, the process determined whether there are any stored shortcuts available in step S 11 .
- the available shortcuts can only include shortcuts that were recently created or used. Shortcuts that have not been used for a long period of time are likely not to be relevant to a user and can hence be deleted to avoid presenting the user with out of date old shortcuts. If there are available shortcuts determined to be available in step S 11 , in step S 16 , the process determines whether the shortcuts are to be output to the user for selection.
- step S 17 If the output of the shortcuts is not enabled or disabled by the user (for example because they have become familiar with the available shortcuts and do not need or want them to be output e.g. displayed), the process proceeds to step S 17 to await an input from the user. If the shortcuts are determined to be output in step S 16 , the process proceeds to step S 15 to output the shortcut options to the user, e.g. display shortcut icons, buttons, or images with shortcut identifiers and optionally some shortcut information to assist the user make the shortcut selection. The process then proceeds to step S 17 to await an input from the user.
- a shortcut determination process S 30 is carried out comprising looking up history data for the user in step S 12 , determining shortcuts for the user for the current machine state using the history data in step S 13 , and storing the shortcut data in step S 14 .
- the stored shortcuts are then output to the user in step S 15 , e.g. display shortcut icons, buttons, or images with shortcut identifiers and optionally some shortcut information to assist the user make the shortcut selection.
- the process then proceeds to step S 17 to await an input from the user.
- the input from the user is used in step S 18 to look up a shortcut for the current state to determine one or more commands to be executed by the machine.
- the input from the user can be an input of the shortcut identifier e.g. by a text input or a voice input, of a selection of a shortcut option, whereby the selection is converted to a user input for comparison with the shortcut identifiers for the current machine state.
- step S 19 it is determined whether the input from the user matches a shortcut. If the set of one or more users have not made the input at the current machine state before so that it is not in the history data for use in the formation of a shortcut, in step S 23 the process determines whether the input is a command input or merely some other form of input, such as an input of text into a document, of other input field that does not cause the machine to transition to another state. For example, in a web form, data can be entered without it being sent to a server and hence the entered text data is not a command. When it is sent to the server it is a command since the web page will be usually be updated. If it is determined in step S 23 that the user input is not a command, the process returns to step S 17 to await a user input.
- step S 23 If a command is determined to be input in step S 23 , the process moves to step S 24 to execute the command to transition the machine to the next state. Then in step S 21 , the history data for the previous machine state is updated with the command to transition to the next state. In step S 22 , the updated history data is then used to generate updated shortcuts and the process returns to step S 10 to determine the current machine state.
- step S 19 If in step S 19 it is determined that the input does match a shortcut, in step S 20 , the command for the shortcut is executed to take the machine to the next start. Then in step S 21 , the history data for the previous machine state is updated with the selection of the shortcut to transition to the next state. In step S 22 , the updated history data is then used to generate updated shortcuts and the process returns to step S 10 to determine the current machine state.
- a new shortcut can be created.
- the user's selection of the shortcut can be recorded in the data so that the relevance of shortcut can be increased and the shortcut is indicated as being recent and not old.
- Selections of previously created shortcuts can be used to rank or order the shortcuts for output to the set of one or more users so that the most relevant shortcuts are output and they are ordered according the relevance i.e. how often selected and how recently.
- the shortcut determination process S 30 is illustrated in FIG. 2 as being performed every time there are no available up to date shortcuts, in one embodiment, the steps of the shortcut determination process S 30 can be performed for each machine state for the set of one or more users in a separate or ‘offline’ process by the processing of the history data for each machine state.
- the history data include user preference data, even if any user of the set of users has not made an input to transition from a machine state, in one embodiment, one or more shortcuts can be determined based solely on the user preference data, obtained for example from user behavior using the machine or from user input parameters.
- FIG. 3 illustrates another embodiment of the present invention in which a remote database of shortcut and history data for a plurality of sets of one or more users is provided.
- the user's device 1 comprises the components illustrated and described with reference to FIG. 1 .
- the user's device 1 operates in the same manner as described with reference to the flow diagram of FIG. 2 .
- the user's device 1 includes a network interface 50 for connecting the user's device 1 over a network such as the internet 80 to a remote server system 90 .
- the server system 90 is connected to or provided with a data store 95 in which are stored a global shortcut database 96 and a global history database 97 .
- the global shortcut database 96 stores shortcuts for the set of one or more users of the user's device 1 and a plurality of other sets of users of other user's devices.
- the global history database 97 stores the history for the set of users of the user's device 1 and a plurality of other sets of users of other user's devices.
- the data stored in the data store 95 can be synchronized with the data stored in the data store 60 in the user's device. In this way, in the embodiment where user preference data is included in the history data, the shortcuts and history stored in the data store 95 can reflect user preferences and can be sent to the data store 60 on the user's device 1 .
- FIG. 4 illustrates another embodiment comprising a server as a multiuser machine according to one embodiment.
- a server system 90 includes a web server 92 providing access over a network such as the internet 80 to user's devices 1 operating respective web browsers 2 .
- the server system 90 also executes an application server 91 and accesses a data store 95 storing a global shortcut database 96 and a global history database 97 .
- the server system 90 operates according to the flow diagram of FIG. 2 for each user of a plurality of users accessing the web server 92 by accessing user specific sets of data for machine states comprising states of the server system 90 in the global shortcut database 96 .
- FIGS. 5 a and 5 b illustration user interface outputs for the server system of FIG. 4 according to one embodiment.
- the web server 92 serves web pages to be rendered in the browser 2 of each user's device 1 .
- the user interface thus comprises a displayed web page 400 comprising a universal resource locator (URL) text entry field 402 in a header region 401 .
- the web page displayed in FIG. 5 a comprises a search engine web page, called “Super web searcher” and a text search input field 404 is provided to allow a user to enter a text string as a search string to send as part of a command to undertake a web search.
- the user has input the text string “http://spee” in either the URL text entry field 402 or the text search input field 404 (both are shown in FIG. 5 a, but in practice the user will only input text to one of the fields 402 and 404 ).
- the user input is matched to shortcut identifiers for shortcuts and shortcut icons, windows, drop down lists, buttons or images 403 are displayed.
- the shortcuts 403 displayed comprise:
- Shortcut identifier Command 1 The URL for Speedy Shop web page 2
- the shortcuts 403 can display an image or information on the command that will be entered if the shortcut 403 is selected to assist the user identify the command entry options available using the shortcuts.
- the identifier in this embodiment comprises a short label or tag so that the selection of the shortcut can be made by any one of: using a pointer device, gesture, or touch screen to select a displayed location of a shortcut 403 , using a keyboard to input 1 , 2 or 3 , or using speech recognition to speak 1 , 2 or 3 as the input.
- FIG. 5 b illustrates the web page 400 a displayed as a result of the use selection of shortcut tag 1 in FIG. 5 a.
- the web page 400 a is displayed for “Speedy Shop”, a vendor or merchant of electrical goods.
- the web page displays conventional hyperlinks to open web pages for various product types, such as camera, laptops, televisions, and loud speakers.
- the URL text field 402 is provided in the header 401 as well as shortcuts 403 a.
- the shortcut 403 a are displayed in the header region 401 so as to leave the rest of the display area free and avoid the shortcuts overlapping web page information.
- the shortcuts 403 a displayed comprise:
- Shortcut identifier Command 1 The URL link to the Laptops web page 2
- the shortcuts are identified by a tag separately to any input text by a user.
- a user has previously made selections of the commands stored in the shortcuts and hence the shortcuts can simply be selected by selecting a tag
- FIG. 6 illustrates a server as a multiuser machine synchronizing history data and shortcut data with a remote server according to one embodiment.
- each vendor system 90 A and 90 B can comprise a server system 90 as described with reference to FIG. 4 .
- Each vendor server 90 A and 90 B operates substantially as described in the flow diagram of FIG. 2 for each user accessing a web server 92 A or 92 B of a respective vendor server 90 A or 90 B using a web browser 2 of a respective user's device 1 over a network such as the internet 80 .
- Each vendor server system 90 A and 90 B includes an application server 91 A and 91 B, a data store 95 A and 95 B storing a respective vendor shortcut database 96 A and 96 B and a respective vendor history database 97 A and 97 B.
- the databases 96 A, 96 B, 97 A and 97 B store data for a plurality of users of the vendor's web site.
- a third party provider server system 190 is connected over the internet 80 to the vendor server systems 90 A and 90 B.
- the third party provider server system 190 includes an application serve 191 accessing a global shortcut database 196 and a global history database 197 .
- the global databases 196 and 197 store data for a plurality of users for a plurality of vendor server systems 90 A and 90 B.
- the databases 196 and 197 hold data for sets of users of a plurality of vendor server systems 90 A and 90 B.
- the global shortcut database 196 stores shortcuts for the users of the user's devices 1 that use the vendors server system 90 A and 90 B and a plurality of other users of other user's devices that use other vendor server systems.
- the global history database 197 stores the history for the users of the user's devices 1 that use the vendors server system 90 A and 90 B and a plurality of other users of other user's devices that use other vendor server systems.
- the data stored in the databases 196 and 197 can be synchronized with the data stored in the data store 95 A and 95 B in the vendors server system 90 A and 90 B.
- the shortcuts and history stored in the data bases 196 and 197 can reflect the user preferences determined from multiple vendors and other sources and can be sent to the data store 95 A and 95 B on the vendor server system 90 A and 90 B. This allows vendors to share user preference data that can be determined from multiple vendor data that can include the history data recorded for machine state transitions by users using the vendors server systems.
- the machine state can comprise any process step implemented in a processing machine that a user can make an input into to cause a transition to a next machine state.
- a machine state can be represented by a stage of processing in any software application, such as a document, a spreadsheet, email, operating system navigation or input, and searching and retrieval software.
- Embodiments provide for context based options for input of user selection options as a graphic selection or an audio selection/input to provide for predictive user input.
- a current machine state can be a set of machine states such as web pages or other interface displays having common parameters.
- a web page can be scrolled or zoomed, and frames can hold data entered by the user such as name and contact details.
- data is handled by the web browser and is not transmitted to the web server and hence the machine state of the client device may operate in multiple states having common parameters that are only a single web page serving step for the web server.
- FIG. 7 is a block diagram that illustrates a basic computing device 600 in which the example embodiment(s) of the present invention may be embodied.
- Computing device 600 and its components, including their connections, relationships, and functions, is meant to be exemplary only, and not meant to limit implementations of the example embodiment(s).
- Other computing devices suitable for implementing the example embodiment(s) may have different components, including components with different connections, relationships, and functions.
- Computing device 600 may include a bus 602 or other communication mechanism for addressing main memory 606 and for transferring data between and among the various components of device 600 .
- Computing device 600 may also include one or more hardware processors 604 coupled with bus 602 for processing information.
- a hardware processor 604 may be a general purpose microprocessor, a system on a chip (SoC), or other processor.
- Main memory 606 such as a random access memory (RAM) or other dynamic storage device, also may be coupled to bus 602 for storing information and software instructions to be executed by processor(s) 604 .
- Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of software instructions to be executed by processor(s) 604 .
- Software instructions when stored in storage media accessible to processor(s) 604 , render computing device 600 into a special-purpose computing device that is customized to perform the operations specified in the software instructions.
- the terms “software”, “software instructions”, “computer program”, “computer-executable instructions”, and “processor-executable instructions” are to be broadly construed to cover any machine-readable information, whether or not human-readable, for instructing a computing device to perform specific operations, and including, but not limited to, application software, desktop applications, scripts, binaries, operating systems, device drivers, boot loaders, shells, utilities, system software, JAVASCRIPT, web pages, web applications, plugins, embedded software, microcode, compilers, debuggers, interpreters, virtual machines, linkers, and text editors.
- Computing device 600 also may include read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and software instructions for processor(s) 604 .
- ROM read only memory
- static storage device coupled to bus 602 for storing static information and software instructions for processor(s) 604 .
- One or more mass storage devices 610 may be coupled to bus 602 for persistently storing information and software instructions on fixed or removable media, such as magnetic, optical, solid-state, magnetic-optical, flash memory, or any other available mass storage technology.
- the mass storage may be shared on a network, or it may be dedicated mass storage.
- at least one of the mass storage devices 610 (e.g., the main hard disk for the device) stores a body of program and data for directing operation of the computing device, including an operating system, user application programs, driver and other support files, as well as other data files of all sorts.
- Computing device 600 may be coupled via bus 602 to display 612 , such as a liquid crystal display (LCD) or other electronic visual display, for displaying information to a computer user.
- display 612 such as a liquid crystal display (LCD) or other electronic visual display, for displaying information to a computer user.
- a touch sensitive surface incorporating touch detection technology e.g., resistive, capacitive, etc.
- touch detection technology may be overlaid on display 612 to form a touch sensitive display for communicating touch gesture (e.g., finger or stylus) input to processor(s) 604 .
- An input device 614 may be coupled to bus 602 for communicating information and command selections to processor 604 .
- input device 614 may include one or more physical buttons or switches such as, for example, a power (on/off) button, a “home” button, volume control buttons, or the like.
- cursor control 616 such as a mouse, a trackball, cursor or touch screen direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612 .
- This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
- Other input device embodiments include an audio or speech recognition input module to recognize audio input such as speech, a visual input device capable of recognizing gestures by a user, and a keyboard.
- one or more of display 612 , input device 614 , and cursor control 616 are external components (i.e., peripheral devices) of computing device 600 , some or all of display 612 , input device 614 , and cursor control 616 are integrated as part of the form factor of computing device 600 in other configurations.
- any other form of user output device can be used such as an audio output device or a tactile (vibrational) output device.
- main memory 606 Functions of the disclosed systems, methods, and modules may be performed by computing device 600 in response to processor(s) 604 executing one or more programs of software instructions contained in main memory 606 .
- Such software instructions may be read into main memory 606 from another storage medium, such as storage device(s) 610 or a transmission medium. Execution of the software instructions contained in main memory 606 cause processor(s) 604 to perform the functions of the example embodiment(s).
- computing device 600 e.g., an ASIC, a FPGA, or the like
- computing device 600 may be used in other embodiments in place of or in combination with software instructions to perform the functions, according to the requirements of the particular implementation at hand.
- Non-volatile media includes, for example, non-volatile random access memory (NVRAM), flash memory, optical disks, magnetic disks, or solid-state drives, such as storage device 610 .
- Volatile media includes dynamic memory, such as main memory 606 .
- storage media include, for example, a floppy disk, a flexible disk, hard disk, solid-state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, flash memory, any other memory chip or cartridge.
- Storage media is distinct from but may be used in conjunction with transmission media.
- Transmission media participates in transferring information between storage media.
- transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 602 .
- Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- a machine-readable medium carrying instructions in the form of code can comprise a non-transient storage medium and a transmission medium.
- the software instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer.
- the remote computer can load the software instructions into its dynamic memory and send the software instructions over a telephone line using a modem.
- a modem local to computing device 600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
- An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 602 .
- Bus 602 carries the data to main memory 606 , from which processor(s) 604 retrieves and executes the software instructions.
- the software instructions received by main memory 606 may optionally be stored on storage device(s) 610 either before or after execution by processor(s) 604 .
- Computing device 600 also may include one or more communication interface(s) 618 coupled to bus 602 .
- a communication interface 618 provides a two-way data communication coupling to a wired or wireless network link 620 that is connected to a local network 622 (e.g., Ethernet network, Wireless Local Area Network, cellular phone network, Bluetooth wireless network, or the like).
- Communication interface 618 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
- communication interface 618 may be a wired network interface card, a wireless network interface card with an integrated radio antenna, or a modem (e.g., ISDN, DSL, or cable modem).
- Network link(s) 620 typically provide data communication through one or more networks to other data devices.
- a network link 620 may provide a connection through a local network 622 to a host computer or to data equipment operated by an Internet Service Provider (ISP).
- ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet”.
- Internet Internet
- Local network(s) 622 and Internet use electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link(s) 620 and through communication interface(s) 618 , which carry the digital data to and from computing device 600 are example forms of transmission media.
- Computing device 600 can send messages and receive data, including program code, through the network(s), network link(s) 620 and communication interface(s) 618 .
- a server might transmit a requested code for an application program through Internet, ISP, local network(s) 622 and communication interface(s) 618 .
- the received code may be executed by processor 604 as it is received, and/or stored in storage device 610 , or other non-volatile storage for later execution.
- Non-transient storage medium storing code for execution by a processor of a machine to carry out the method.
- Embodiments can be implemented in programmable digital logic that implements computer code.
- the code can be supplied to the programmable logic, such as a processor or microprocessor, on a non-transitory storage medium that stores the code, such as a solid-state memory, magnetic media (hard disk drive), or optical media (Compact disc (CD) or digital versatile disc (DVD)).
Abstract
Description
- The present invention relates to a user interface method and apparatus and in one aspect to a user interface method and machine to enable at least one user to enter an input to execute a command to transition a machine from one state to another.
- Electronic processing devices including computers, media devices, and mobile devices are used prevalently in almost all facets of people's lives. The ease with which users can interact with these devices is the subject of considerable research and commercial effort. Making the user interface of electronic machines easier for users is of major importance and can make a very powerful and useful apparatus difficult to use of even useless in the eyes of a user.
- For example, in the field of web browsing it is sometime necessary for a user to type in the text characters comprising an HTTP request in order to access a web page. The syntax of HTTP is not intuitive to many users. The input of the text can be subject to error and hence users can experience frustration with the inability to access the correct web page accurately. This problem has been partly addressed by the use of predictive text suggestions, such as by enabling Bing (trade mark of Microsoft Corporation) to search for potential HTTP addresses corresponding to the characters as entered by the user. However, this function requires the characters to be transmitted to a server to carry out a search for likely results. The search in not performed with any context on what the user might want to find apart from using the entered characters.
- One aspect provides a user interface method implemented in a machine, the method comprising storing shortcut data for at least one user comprising a plurality of sets of identifiers for shortcuts for a plurality of states of the machine for the at least one user, each stored identifier for a shortcut having a corresponding stored machine command; determining a current state of the machine for a said user; receiving an input from the user; determining whether the input matches a stored identifier for a shortcut in the shortcut data; executing a stored device command corresponding to the stored identifier dependent upon the matching; updating stored history data for the at least one user; and updating the shortcut data using the updated history data.
- Another aspect of the invention provides a machine for providing a user interface, the machine comprising a program memory storing program code; and a processor for implementing the program code stored in the program memory; wherein the program code comprises: code for controlling the processor to store shortcut data for at least one user comprising a plurality of sets of identifiers for shortcuts for a plurality of states of the machine for the at least one user, each stored identifier for a shortcut having a corresponding stored machine command; code for controlling the processor to determine a current state of the machine for a said user; code for controlling the processor to receive an input from the user; code for controlling the processor to determine whether the input matches a stored identifier for a shortcut in the shortcut data; code for controlling the processor to execute a stored device command corresponding to the stored identifier dependent upon the matching; code for controlling the processor to update stored history data for the at least one user; and code for controlling the processor to update the shortcut data using the updated history data.
-
FIG. 1 is a schematic diagram illustrating a user device as a machine according to one embodiment; -
FIG. 2 is a flow diagram illustrating the process according to one embodiment; -
FIG. 3 is a schematic diagram illustrating a user device as a machine synchronizing history data and shortcut data with a remote server according to one embodiment; -
FIG. 4 is a schematic diagram illustrating a server as a multiuser machine according to one embodiment; -
FIGS. 5a and 5b are illustrations of user interface outputs according to one embodiment; -
FIG. 6 is a schematic diagram illustrating a server as a multiuser machine synchronizing history data and shortcut data with a remote server according to one embodiment; and -
FIG. 7 is a schematic diagram of a basic computing device for use in one embodiment. - In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the inventive subject matter may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice them, and it is to be understood that other embodiments may be utilized and that structural, logical, and electrical changes may be made without departing from the scope of the inventive subject matter. Such embodiments of the inventive subject matter may be referred to, individually and/or collectively, herein by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
- The following description is, therefore, not to be taken in a limited sense, and the scope of the inventive subject matter is defined by the appended claims.
- In the following embodiments, like components are labelled with like reference numerals.
- In the following embodiments, data is described as being stored in at least one database. The term database is intended to encompass any data structure (and/or combinations of multiple data structures) for storing and/or organizing data, including, but not limited to, relational databases (e.g., Oracle databases, mySQL databases, etc.), non-relational databases (e.g., NoSQL databases, etc.), in-memory databases, spreadsheets, as comma separated values (CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files, flat files, spreadsheet files, and/or any other widely used or proprietary format for data storage. Databases are typically stored in one or more data stores. Accordingly, each database referred to herein (e.g., in the description herein and/or the figures of the present application) is to be understood as being stored in one or more data stores. A “file system” may control how data is stored and/or retrieved (for example, a disk file system like FAT, NTFS, optical discs, etc., a flash file system, a tape file system, a database file system, a transactional file system, a network file system, etc.). For simplicity, the disclosure is described herein with respect to databases. However, the systems and techniques disclosed herein may be implemented with file systems or a combination of databases and file systems.
- In the following embodiments, the term data store is intended to encompass any computer readable storage medium and/or device (or collection of data storage mediums and/or devices). Examples of data stores include, but are not limited to, optical disks (e.g., CD-ROM, DVD-ROM, etc.), magnetic disks (e.g., hard disks, floppy disks, etc.), memory circuits (e.g., solid state drives, random-access memory (RAM), etc.), and/or the like. Another example of a data store is a hosted storage environment that includes a collection of physical data storage devices that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” storage).
- The functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, described functions may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.
- Some embodiments implement the functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the exemplary process flow is applicable to software, firmware, and hardware implementations.
- A generalized embodiment provides a machine and a method for providing a user interface using stored shortcut data for at least one user or in other words a set of one or more users. The shortcut data comprises a plurality of sets of identifiers for shortcuts for a corresponding plurality of states of the machine for the set of one or more users or a plurality of sets of states for the set of one or more users. Each stored identifier for a shortcut has a corresponding stored machine command. A current state of the machine used by a user is determined and when an input is received from the user, it is determined whether the input matches a stored identifier for a shortcut in the shortcut data. If it does, a stored device command corresponding to the stored identifier is executed, the stored history data for the set of one or more users is updated and the shortcut data is updated using the updated history data.
- The machine can hence store history data to learn about user inputs for specific machine states for use in the determination of updated shortcut data to store appropriate shortcuts for commands that a set of one or more users might want to enter in a current machine state to transition to a next machine state. Hence, the shortcuts are user and context specific.
- The user interface method can be used to learn inputs for a set of users using the same machine states e.g. using the same applications, programs or processes. The set of users can be any number including a single user. The user interface method can be used by a group of users, such as an office or business.
- The invention is applicable to any electronic machine having a need to receive user inputs to enter commands to the machine. In a programmable machine such as a computer, the user interface can monitor any form of user input such as from a keyboard, pointer device, touch screen input, audio or speech input, or gesture input. The input can also comprise an image obtained by scanning or photographing an object or by downloading an image over a network from an image source. Where the input is an image, the matching of the input to identifiers can comprise matching an input image to a stored image associated with a command or command sequence. The match can be exact or based on a level of similarity.
- The user interface can be software agnostic in that it can monitor the input to any application operated by an operating system or even an input to the operating system itself. The machine can thus provide a multimodal interface to the user or users.
- Where one machine learns about user behaviour from user inputs or from other user behaviour, that machine can determine shortcut data to store appropriate commands that a user might want to enter in a current machine state to transition to a next machine state. This stored shortcut data can be transferred to another machine having the same machine states used by the same user so that the shortcut data is available to make that machine easier to use.
- In one embodiment, if the input from the user does not match a stored identifier, it is determined whether the input is a command, and if so the command is executed, the stored history data for the user is updated, and the shortcut data using the updated history data is updated. In this way, in an initial condition, where there is no history data learnt from the set of user's previous inputs, the user's input cannot match any shortcut identifier and so the machine can update the history data to start the learning process. This learning process of updating the history data can continue, whenever the users enter inputs that are not a shortcut identifier. The history data is updated and the updated history data can be used to make better-suggested shortcuts for the set of users.
- The shortcut identifiers may or may not be output to the set of users for the current state of the machine. The shortcut identifiers can be output for example visually on a display, audibly by an audio output or as a vibrational output. The output of the shortcut identifiers assists the set of users in making the selection of a shortcut to enter a command. This avoids the need for a user to remember the shortcuts. However, the user may find that the output of the shortcut identifiers becomes a nuisance and a distraction from the output from the machine in the current state. For example, the display of selectable shortcut identifiers as buttons or icons may be considered by a user to be visually distracting while they are viewing the display for the current state of the machine.
- The shortcut identifiers may be output in an order dependent on the history data. This can allow a user to more easily select a shortcut that they use more frequently. For example, in an embodiment, whether the shortcut identifiers are displayed, the history data enables the determination of commands and hence shortcuts that are input by the set of users more frequently or more recently than others, so that they can be displayed either more prominently or at the highest position in a list or ordered sequence. In an audio output embodiment, shortcut identifiers for the more frequently used or more recently used commands can be audibly output first to assist the set of users more quickly make an audio selection/input of a shortcut identifier.
- The stored machine command can comprise a single command or a plurality of sequential commands to be executed by the machine sequentially. The storage of a sequence of commands can be determined as a shortcut by learning a repeated pattern of user input by the user from the history data. This pattern can then be stored as a command sequence in a single shortcut.
- In one embodiment, the stored shortcut data and the shored history data for the set of users can be synchronized with a remote database of shortcut data and history data for a plurality of users including the set of users. Thus in this embodiment, a remote database can store shortcut data and history data for a plurality of users so that it can be remotely processed. For example, in one embodiment, the history data received from the remote database in the synchronization includes user preference data indicating preferences of the set of users, and the shortcut data is updated using the user preference data. User preference data can be gathered from data collected from or about users from many sources, such as merchant loyalty programs and merchant transaction data. The data on user transaction behavior can be processed to determine user preferences.
- The machine can be a single user machine, a standalone machine, or a multiuser machine such as a server and the shortcut data can be stored for a single set of users or a plurality of sets of users of the machine. For multiple sets of users, multiple sets of history data and shortcut data has to be stored: one set per set of users. In one embodiment, the stored shortcut data and the shored history data for the users can be synchronized with a remote database of shortcut data and history data for a plurality of sets of users including the users of the machine. Thus in this embodiment, a multiuser machine can store data for multiple sets of users, such as customers of a vendor or merchant or multiple businesses, and a remote database can store history data and shortcut data for the plurality of sets of users (e.g. for a plurality of vendors or businesses) so that it can be remotely processed. For example, in one embodiment, the history data received from the remote database in the synchronization includes user preference data indicating preferences of the users, and the shortcut data is updated using the user preference data. User preference data can be gathered from data collected from or about a set of users from many sources, such as merchant loyalty programs and merchant transaction data. The data on user transaction behaviour can be processed to determine user preferences. Embodiments also encompass the management of financial instruments, such as money or currency. Payment or spending preferences or habits of a user can be learnt to provide shortcuts for machine states to next machine states, such as allowing a user to make payments.
- In one embodiment, the input from the user can include one or more text characters in a displayed text entry field, the stored identifier for the shortcut can include a plurality of text characters, and the corresponding command can include the plurality of text characters. In order to determine whether the input matches a stored identifier for a shortcut in the shortcut data, the input one or more text characters are matched with one or more of the plurality of text characters of the stored identifier.
- This embodiment of the invention enables the invention to be applied to a text field in a user interface. As a user enters characters in the text field, the characters are compared with shortcut identifiers in the form of text for commands in order to output suggested shortcuts to the commands based on the current state of the machine and the user's personal input history. For example, when a user interface displays a web page, the user's history will indicate that the user made certain inputs previously when on that web page, and hence the shortcut data reflects those inputs with shortcut identifiers for inputs that the user is more likely to make.
- In one embodiment, the user interface can be used in an electronic transaction the method disclosed in co-pending application Ser. No. 15/395,487, filed the same day as this application, entitled “AN ELECTRONIC TRANSACTION METHOD AND APPARATUS”, by the same applicant and inventors (attorney reference 11043PUSA), the content of which is hereby incorporated in its entirety.
- Specific embodiments will now be described with reference to the drawings.
- A first embodiment will be described with reference to
FIGS. 1 and 2 .FIG. 1 illustrates adevice 100 for use by a set of one or more users not connected to any network (a standalone machine). The set of users can be any number including a single user. The user interface method can be used by a set of users, such as an office or business, using the same machine states e.g. using the same applications, programs or processes, such that one of the set of users is likely to want to enter a command in a machine state in the same manner as any other member of the set of users. - The
device 100 can comprise any type of computing or processing machine, such as a personal computer, a laptop, a tablet computer, a personal organizer, a mobile device, smart phone, a mobile telephone, a video player, a television, an audio player, a multimedia device, personal digital assistant, etc. - A
processor 20 is provided to loadprogram code 21 from a program code store 70 and execute theprogram code 21 using workingvolatile memory 30. Theprogram code 21 executes the functionality of one embodiment of the invention. Other program code can be loaded up in the form of an operating system, and applications to receive the commands that a user inputs directly or inputs by inputting a shortcut for a command in accordance with one embodiment. - A
user interface 5 comprises aninput device 10 and anoutput device 40. The input device can comprise any hardware, software or combination of hardware and software to receive a user input, such as a keyboard, touch screen, pointer device (such as a mouse, trackball, trackpad, or pen device), audio recognition hardware and/or software to recognize a sounds or speech from a user, gesture recognition input hardware and/or software, etc. The output device can comprise any hardware, software or combination of hardware and software to output information to a user including shortcut identifiers, such as a display screen, or an audio speaker. Hence, theuser interface 5 provides for outputs to a user from theprocessor 20 and inputs from the user to theprocessor 20. - The
device 100 is also provided with adata store 60 to store shortcut data in ashortcut database 61 and history data in ahistory database 62. Although the shortcut data and the history data are described as being stored in databases in this embodiment, the data can be stored in any convenient form, or data structure. - The history data for a set of one or more users comprises a set of data for the set of one or more users for each of a set of states of a machine used by the set of one or more user. For each state of the machine a set of one or more user input commands are stored to record the commands directly input or input as a result of a user selection (e.g. clicking a displayed selectable option such as a hyperlink in an interface). In this way, the history data can record for each set of one or more users, and for each machine state used by the set of one or more users, a set of input commands.
- In one embodiment, the history data can also include user preference data indicating preferences of a user. The user preference data can be obtained from analyzing the user inputs and processing other user data entered by a user that can indicate a user's preferences. The preference data can be used along with the recorded user input history data to determine updates to the shortcut data.
- The shortcut data stores, for each machine state, a shortcut identifier and one or more commands to be executed by the machine. If there is more than one command, the commands are to be executed sequentially. The shortcut identifier can comprise a tag that a user can use to simply select the shortcut e.g. 1, 2, 3, 4 . . . or A, B, C, . . . . This tag can be automatically assigned to the shortcut or a user can select a tag. The tag enables the user to make an input simply by inputting the tag e.g. 2, or D, rather than typing some form of text string. The shortcut data can also comprise information for display to the user when the shortcut identifier is displayed for selections as for example, and icon, image, button etc. The information can assist the user in identifying the command available for selection as a shortcut.
- Alternatively, the shortcut identifier can comprise a text string corresponding to the text command string entered as the input by the user e.g. an http input command to load a web page into a browser, the name of a file to loaded in an application or to be searched for in a file system, or the name of an application to be executed in an operating system. In this example, the matching of a user's input can be achieved by matching the text characters as they are typed in by a user to suggest potential commands that the user might be trying to type in based on previously type commands. The user input text can be matched on a partial match basis with the stored shortcut identifier text so that initially a number of possible matches are identified that the user can select from and these are reduced as the user types more characters so that some initial shortcut identifier text matches no longer match and are removed as options for the user. This is a form of predictive text, but it is user and context specific in that it is specific to the user and the current state of the machine e.g. the web page displayed by a browser used by the user, a document opened by a user, a search window opened for a document in an operating system, search engine, etc.
- In embodiments of the present invention, a machine state can comprise any operating state currently instantiated by the user of the machine. In a programmed device, the state can comprise a state in the operation of a computer program, such as a web page in a web browser application, a document in a word processor application, a worksheet in a spreadsheet application, an email in an email application, operating system navigation and search features, or any search and retrieval application.
- The operation of one embodiment will now be described with reference to the flow diagram of
FIG. 2 . - In step S10 the current state of the machine is determined, e.g. the current web page open in a browser, the current document open in the word processor, the current email open in an email application, etc. Based on the current machine state, the process determined whether there are any stored shortcuts available in step S11. In one embodiment, the available shortcuts can only include shortcuts that were recently created or used. Shortcuts that have not been used for a long period of time are likely not to be relevant to a user and can hence be deleted to avoid presenting the user with out of date old shortcuts. If there are available shortcuts determined to be available in step S11, in step S16, the process determines whether the shortcuts are to be output to the user for selection. If the output of the shortcuts is not enabled or disabled by the user (for example because they have become familiar with the available shortcuts and do not need or want them to be output e.g. displayed), the process proceeds to step S17 to await an input from the user. If the shortcuts are determined to be output in step S16, the process proceeds to step S15 to output the shortcut options to the user, e.g. display shortcut icons, buttons, or images with shortcut identifiers and optionally some shortcut information to assist the user make the shortcut selection. The process then proceeds to step S17 to await an input from the user.
- If in step S11 it is determined that there are no available up to date shortcuts, a shortcut determination process S30 is carried out comprising looking up history data for the user in step S12, determining shortcuts for the user for the current machine state using the history data in step S13, and storing the shortcut data in step S14. The stored shortcuts are then output to the user in step S15, e.g. display shortcut icons, buttons, or images with shortcut identifiers and optionally some shortcut information to assist the user make the shortcut selection. The process then proceeds to step S17 to await an input from the user.
- When an input is received from the user in step S17, the input from the user is used in step S18 to look up a shortcut for the current state to determine one or more commands to be executed by the machine. The input from the user can be an input of the shortcut identifier e.g. by a text input or a voice input, of a selection of a shortcut option, whereby the selection is converted to a user input for comparison with the shortcut identifiers for the current machine state.
- In step S19 it is determined whether the input from the user matches a shortcut. If the set of one or more users have not made the input at the current machine state before so that it is not in the history data for use in the formation of a shortcut, in step S23 the process determines whether the input is a command input or merely some other form of input, such as an input of text into a document, of other input field that does not cause the machine to transition to another state. For example, in a web form, data can be entered without it being sent to a server and hence the entered text data is not a command. When it is sent to the server it is a command since the web page will be usually be updated. If it is determined in step S23 that the user input is not a command, the process returns to step S17 to await a user input.
- If a command is determined to be input in step S23, the process moves to step S24 to execute the command to transition the machine to the next state. Then in step S21, the history data for the previous machine state is updated with the command to transition to the next state. In step S22, the updated history data is then used to generate updated shortcuts and the process returns to step S10 to determine the current machine state.
- If in step S19 it is determined that the input does match a shortcut, in step S20, the command for the shortcut is executed to take the machine to the next start. Then in step S21, the history data for the previous machine state is updated with the selection of the shortcut to transition to the next state. In step S22, the updated history data is then used to generate updated shortcuts and the process returns to step S10 to determine the current machine state.
- In the updating of the history data, when a new command is entered by the user a new shortcut can be created. When a user selects a previously created shortcut, the user's selection of the shortcut can be recorded in the data so that the relevance of shortcut can be increased and the shortcut is indicated as being recent and not old. Selections of previously created shortcuts can be used to rank or order the shortcuts for output to the set of one or more users so that the most relevant shortcuts are output and they are ordered according the relevance i.e. how often selected and how recently.
- Although the shortcut determination process S30 is illustrated in
FIG. 2 as being performed every time there are no available up to date shortcuts, in one embodiment, the steps of the shortcut determination process S30 can be performed for each machine state for the set of one or more users in a separate or ‘offline’ process by the processing of the history data for each machine state. Where the history data include user preference data, even if any user of the set of users has not made an input to transition from a machine state, in one embodiment, one or more shortcuts can be determined based solely on the user preference data, obtained for example from user behavior using the machine or from user input parameters. -
FIG. 3 illustrates another embodiment of the present invention in which a remote database of shortcut and history data for a plurality of sets of one or more users is provided. - In this embodiment, the user's
device 1 comprises the components illustrated and described with reference toFIG. 1 . The user'sdevice 1 operates in the same manner as described with reference to the flow diagram ofFIG. 2 . In addition, the user'sdevice 1 includes anetwork interface 50 for connecting the user'sdevice 1 over a network such as theinternet 80 to aremote server system 90. Theserver system 90 is connected to or provided with adata store 95 in which are stored aglobal shortcut database 96 and aglobal history database 97. - The
global shortcut database 96 stores shortcuts for the set of one or more users of the user'sdevice 1 and a plurality of other sets of users of other user's devices. Similarly, theglobal history database 97 stores the history for the set of users of the user'sdevice 1 and a plurality of other sets of users of other user's devices. The data stored in thedata store 95 can be synchronized with the data stored in thedata store 60 in the user's device. In this way, in the embodiment where user preference data is included in the history data, the shortcuts and history stored in thedata store 95 can reflect user preferences and can be sent to thedata store 60 on the user'sdevice 1. -
FIG. 4 illustrates another embodiment comprising a server as a multiuser machine according to one embodiment. - In this embodiment, a
server system 90 includes aweb server 92 providing access over a network such as theinternet 80 to user'sdevices 1 operatingrespective web browsers 2. Theserver system 90 also executes anapplication server 91 and accesses adata store 95 storing aglobal shortcut database 96 and aglobal history database 97. - In this embodiment, the
server system 90 operates according to the flow diagram ofFIG. 2 for each user of a plurality of users accessing theweb server 92 by accessing user specific sets of data for machine states comprising states of theserver system 90 in theglobal shortcut database 96. -
FIGS. 5a and 5b illustration user interface outputs for the server system ofFIG. 4 according to one embodiment. In this embodiment, theweb server 92 serves web pages to be rendered in thebrowser 2 of each user'sdevice 1. The user interface thus comprises a displayedweb page 400 comprising a universal resource locator (URL)text entry field 402 in aheader region 401. The web page displayed inFIG. 5a comprises a search engine web page, called “Super web searcher” and a textsearch input field 404 is provided to allow a user to enter a text string as a search string to send as part of a command to undertake a web search. In this embodiment, the user has input the text string “http://spee” in either the URLtext entry field 402 or the text search input field 404 (both are shown inFIG. 5 a, but in practice the user will only input text to one of thefields 402 and 404). As a result of the user input text, the user input is matched to shortcut identifiers for shortcuts and shortcut icons, windows, drop down lists, buttons orimages 403 are displayed. Theshortcuts 403 displayed comprise: -
Shortcut identifier Command 1 The URL for Speedy Shop web page 2 The URL for Speedway track web page 3 The URL for Speed Savers web page - In this embodiment, on this web page (machine state), the user has only made user input comprising text inputs and hence the shortcuts can be selected by inputting initial characters of the text string previously entered and stored in the history.
- The
shortcuts 403 can display an image or information on the command that will be entered if theshortcut 403 is selected to assist the user identify the command entry options available using the shortcuts. The identifier in this embodiment, comprises a short label or tag so that the selection of the shortcut can be made by any one of: using a pointer device, gesture, or touch screen to select a displayed location of ashortcut 403, using a keyboard toinput -
FIG. 5b illustrates theweb page 400 a displayed as a result of the use selection ofshortcut tag 1 inFIG. 5 a. - In this embodiment, the
web page 400 a is displayed for “Speedy Shop”, a vendor or merchant of electrical goods. The web page displays conventional hyperlinks to open web pages for various product types, such as camera, laptops, televisions, and loud speakers. In theheader 401 is provided theURL text field 402 as well asshortcuts 403 a. In this embodiment, theshortcut 403 a are displayed in theheader region 401 so as to leave the rest of the display area free and avoid the shortcuts overlapping web page information. - The
shortcuts 403 a displayed comprise: -
Shortcut identifier Command 1 The URL link to the Laptops web page 2 The URL and sequential commands to take the user directly to the vendor's checkout with a specific camera that's in the user's basket 3 The URL link to the Speakers web page - It can thus be seen that in this embodiment, that the shortcuts are identified by a tag separately to any input text by a user. In this machine state a user has previously made selections of the commands stored in the shortcuts and hence the shortcuts can simply be selected by selecting a tag
-
FIG. 6 illustrates a server as a multiuser machine synchronizing history data and shortcut data with a remote server according to one embodiment. In this embodiment, eachvendor system server system 90 as described with reference toFIG. 4 . Eachvendor server FIG. 2 for each user accessing aweb server respective vendor server web browser 2 of a respective user'sdevice 1 over a network such as theinternet 80. Eachvendor server system application server vendor shortcut database vendor history database databases - A third party
provider server system 190 is connected over theinternet 80 to thevendor server systems provider server system 190 includes an application serve 191 accessing aglobal shortcut database 196 and aglobal history database 197. Theglobal databases vendor server systems data store 95 of the embodiment ofFIG. 3 holding data for a plurality of user'sdevices 1 ofFIG. 1 , in this embodiment thedatabases vendor server systems - The
global shortcut database 196 stores shortcuts for the users of the user'sdevices 1 that use thevendors server system global history database 197 stores the history for the users of the user'sdevices 1 that use thevendors server system databases vendors server system data bases vendor server system - Although embodiments have been described with reference to the machine state comprising a web page served by a web server, the machine state can comprise any process step implemented in a processing machine that a user can make an input into to cause a transition to a next machine state. For example, a machine state can be represented by a stage of processing in any software application, such as a document, a spreadsheet, email, operating system navigation or input, and searching and retrieval software.
- Embodiments provide for context based options for input of user selection options as a graphic selection or an audio selection/input to provide for predictive user input.
- In one embodiment, a current machine state can be a set of machine states such as web pages or other interface displays having common parameters. For example, a web page can be scrolled or zoomed, and frames can hold data entered by the user such as name and contact details. However, such data is handled by the web browser and is not transmitted to the web server and hence the machine state of the client device may operate in multiple states having common parameters that are only a single web page serving step for the web server.
-
FIG. 7 is a block diagram that illustrates abasic computing device 600 in which the example embodiment(s) of the present invention may be embodied.Computing device 600 and its components, including their connections, relationships, and functions, is meant to be exemplary only, and not meant to limit implementations of the example embodiment(s). Other computing devices suitable for implementing the example embodiment(s) may have different components, including components with different connections, relationships, and functions. -
Computing device 600 may include abus 602 or other communication mechanism for addressingmain memory 606 and for transferring data between and among the various components ofdevice 600. -
Computing device 600 may also include one ormore hardware processors 604 coupled withbus 602 for processing information. Ahardware processor 604 may be a general purpose microprocessor, a system on a chip (SoC), or other processor. -
Main memory 606, such as a random access memory (RAM) or other dynamic storage device, also may be coupled tobus 602 for storing information and software instructions to be executed by processor(s) 604.Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of software instructions to be executed by processor(s) 604. - Software instructions, when stored in storage media accessible to processor(s) 604, render
computing device 600 into a special-purpose computing device that is customized to perform the operations specified in the software instructions. The terms “software”, “software instructions”, “computer program”, “computer-executable instructions”, and “processor-executable instructions” are to be broadly construed to cover any machine-readable information, whether or not human-readable, for instructing a computing device to perform specific operations, and including, but not limited to, application software, desktop applications, scripts, binaries, operating systems, device drivers, boot loaders, shells, utilities, system software, JAVASCRIPT, web pages, web applications, plugins, embedded software, microcode, compilers, debuggers, interpreters, virtual machines, linkers, and text editors. -
Computing device 600 also may include read only memory (ROM) 608 or other static storage device coupled tobus 602 for storing static information and software instructions for processor(s) 604. - One or more
mass storage devices 610 may be coupled tobus 602 for persistently storing information and software instructions on fixed or removable media, such as magnetic, optical, solid-state, magnetic-optical, flash memory, or any other available mass storage technology. The mass storage may be shared on a network, or it may be dedicated mass storage. Typically, at least one of the mass storage devices 610 (e.g., the main hard disk for the device) stores a body of program and data for directing operation of the computing device, including an operating system, user application programs, driver and other support files, as well as other data files of all sorts. -
Computing device 600 may be coupled viabus 602 to display 612, such as a liquid crystal display (LCD) or other electronic visual display, for displaying information to a computer user. In some configurations, a touch sensitive surface incorporating touch detection technology (e.g., resistive, capacitive, etc.) may be overlaid ondisplay 612 to form a touch sensitive display for communicating touch gesture (e.g., finger or stylus) input to processor(s) 604. - An
input device 614, including alphanumeric and other keys, may be coupled tobus 602 for communicating information and command selections toprocessor 604. In addition to or instead of alphanumeric and other keys,input device 614 may include one or more physical buttons or switches such as, for example, a power (on/off) button, a “home” button, volume control buttons, or the like. - Another type of user input device may be a
cursor control 616, such as a mouse, a trackball, cursor or touch screen direction keys for communicating direction information and command selections toprocessor 604 and for controlling cursor movement ondisplay 612. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. Other input device embodiments include an audio or speech recognition input module to recognize audio input such as speech, a visual input device capable of recognizing gestures by a user, and a keyboard. - While in some configurations, such as the configuration depicted in
FIG. 7 , one or more ofdisplay 612,input device 614, andcursor control 616 are external components (i.e., peripheral devices) ofcomputing device 600, some or all ofdisplay 612,input device 614, andcursor control 616 are integrated as part of the form factor ofcomputing device 600 in other configurations. - In addition to or in place of the
display 612 any other form of user output device can be used such as an audio output device or a tactile (vibrational) output device. - Functions of the disclosed systems, methods, and modules may be performed by computing
device 600 in response to processor(s) 604 executing one or more programs of software instructions contained inmain memory 606. Such software instructions may be read intomain memory 606 from another storage medium, such as storage device(s) 610 or a transmission medium. Execution of the software instructions contained inmain memory 606 cause processor(s) 604 to perform the functions of the example embodiment(s). - While functions and operations of the example embodiment(s) may be implemented entirely with software instructions, hard-wired or programmable circuitry of computing device 600 (e.g., an ASIC, a FPGA, or the like) may be used in other embodiments in place of or in combination with software instructions to perform the functions, according to the requirements of the particular implementation at hand.
- The term “storage media” as used herein refers to any non-transitory media that store data and/or software instructions that cause a computing device to operate in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, non-volatile random access memory (NVRAM), flash memory, optical disks, magnetic disks, or solid-state drives, such as
storage device 610. Volatile media includes dynamic memory, such asmain memory 606. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid-state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, flash memory, any other memory chip or cartridge. - Storage media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise
bus 602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. A machine-readable medium carrying instructions in the form of code can comprise a non-transient storage medium and a transmission medium. - Various forms of media may be involved in carrying one or more sequences of one or more software instructions to processor(s) 604 for execution. For example, the software instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer. The remote computer can load the software instructions into its dynamic memory and send the software instructions over a telephone line using a modem. A modem local to
computing device 600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data onbus 602.Bus 602 carries the data tomain memory 606, from which processor(s) 604 retrieves and executes the software instructions. The software instructions received bymain memory 606 may optionally be stored on storage device(s) 610 either before or after execution by processor(s) 604. -
Computing device 600 also may include one or more communication interface(s) 618 coupled tobus 602. Acommunication interface 618 provides a two-way data communication coupling to a wired orwireless network link 620 that is connected to a local network 622 (e.g., Ethernet network, Wireless Local Area Network, cellular phone network, Bluetooth wireless network, or the like).Communication interface 618 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. For example,communication interface 618 may be a wired network interface card, a wireless network interface card with an integrated radio antenna, or a modem (e.g., ISDN, DSL, or cable modem). - Network link(s) 620 typically provide data communication through one or more networks to other data devices. For example, a
network link 620 may provide a connection through alocal network 622 to a host computer or to data equipment operated by an Internet Service Provider (ISP). ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet”. Local network(s) 622 and Internet use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link(s) 620 and through communication interface(s) 618, which carry the digital data to and fromcomputing device 600, are example forms of transmission media. -
Computing device 600 can send messages and receive data, including program code, through the network(s), network link(s) 620 and communication interface(s) 618. In the Internet example, a server might transmit a requested code for an application program through Internet, ISP, local network(s) 622 and communication interface(s) 618. - The received code may be executed by
processor 604 as it is received, and/or stored instorage device 610, or other non-volatile storage for later execution. - One aspect provides a non-transient storage medium storing code for execution by a processor of a machine to carry out the method. Embodiments can be implemented in programmable digital logic that implements computer code. The code can be supplied to the programmable logic, such as a processor or microprocessor, on a non-transitory storage medium that stores the code, such as a solid-state memory, magnetic media (hard disk drive), or optical media (Compact disc (CD) or digital versatile disc (DVD)).
- It will be readily understood to those skilled in the art that various other changes in the details, material, and arrangements of the parts and method stages which have been described and illustrated in order to explain the nature of the inventive subject matter may be made without departing from the principles and scope of the inventive subject matter as expressed in the subjoined claims.
Claims (23)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1523166.5 | 2015-12-31 | ||
GBGB1523166.5A GB201523166D0 (en) | 2015-12-31 | 2015-12-31 | Direct integration system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170192798A1 true US20170192798A1 (en) | 2017-07-06 |
Family
ID=55406529
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/395,343 Abandoned US20170192798A1 (en) | 2015-12-31 | 2016-12-30 | User interface method and apparatus |
US15/395,487 Active 2037-11-06 US10599450B2 (en) | 2015-12-31 | 2016-12-30 | Electronic transaction method and apparatus |
US15/395,321 Abandoned US20170193123A1 (en) | 2015-12-31 | 2016-12-30 | Direct integration system |
US16/400,462 Abandoned US20190258495A1 (en) | 2015-12-31 | 2019-05-01 | Direct integration system |
US16/746,437 Active US10922103B2 (en) | 2015-12-31 | 2020-01-17 | Electronic transaction method and apparatus |
US17/103,739 Abandoned US20210081223A1 (en) | 2015-12-31 | 2020-11-24 | Direct integration system |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/395,487 Active 2037-11-06 US10599450B2 (en) | 2015-12-31 | 2016-12-30 | Electronic transaction method and apparatus |
US15/395,321 Abandoned US20170193123A1 (en) | 2015-12-31 | 2016-12-30 | Direct integration system |
US16/400,462 Abandoned US20190258495A1 (en) | 2015-12-31 | 2019-05-01 | Direct integration system |
US16/746,437 Active US10922103B2 (en) | 2015-12-31 | 2020-01-17 | Electronic transaction method and apparatus |
US17/103,739 Abandoned US20210081223A1 (en) | 2015-12-31 | 2020-11-24 | Direct integration system |
Country Status (13)
Country | Link |
---|---|
US (6) | US20170192798A1 (en) |
EP (2) | EP3398124A1 (en) |
JP (2) | JP7171438B2 (en) |
KR (2) | KR20180099813A (en) |
CN (2) | CN108701042A (en) |
AU (3) | AU2016383124A1 (en) |
BR (2) | BR112018013420A2 (en) |
CA (2) | CA3009892A1 (en) |
DE (1) | DE202016008646U1 (en) |
GB (1) | GB201523166D0 (en) |
SG (3) | SG10202000292YA (en) |
WO (2) | WO2017115090A1 (en) |
ZA (2) | ZA201804421B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599450B2 (en) | 2015-12-31 | 2020-03-24 | Maria Francisca Jones | Electronic transaction method and apparatus |
JP2020201803A (en) * | 2019-06-12 | 2020-12-17 | カシオ計算機株式会社 | Display control unit and program |
WO2022245738A1 (en) * | 2021-05-19 | 2022-11-24 | Snap Inc. | Combining functions into shortcuts within messaging system |
US20240045782A1 (en) * | 2022-08-08 | 2024-02-08 | Qualcomm Incorporated | Suggesting a New and Easier System Function by Detecting User's Action Sequences |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838746B2 (en) | 2017-05-18 | 2020-11-17 | Aiqudo, Inc. | Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations |
US11340925B2 (en) | 2017-05-18 | 2022-05-24 | Peloton Interactive Inc. | Action recipes for a crowdsourced digital assistant system |
WO2018213788A1 (en) | 2017-05-18 | 2018-11-22 | Aiqudo, Inc. | Systems and methods for crowdsourced actions and commands |
US11056105B2 (en) * | 2017-05-18 | 2021-07-06 | Aiqudo, Inc | Talk back from actions in applications |
US11043206B2 (en) | 2017-05-18 | 2021-06-22 | Aiqudo, Inc. | Systems and methods for crowdsourced actions and commands |
AU2018101686A4 (en) * | 2017-11-14 | 2019-01-03 | Message 4U Pty Limited | A system and method for facilitating payments via mobile messaging |
US10768954B2 (en) | 2018-01-30 | 2020-09-08 | Aiqudo, Inc. | Personalized digital assistant device and related methods |
US20190318413A1 (en) * | 2018-04-13 | 2019-10-17 | Violet.io, Inc. | Commerce graph api system and method for multi-platform e-commerce distribution system |
US11049160B2 (en) | 2018-04-13 | 2021-06-29 | Violet.io, Inc. | Headless multi-platform e-commerce distribution system and method |
US11055757B2 (en) | 2018-04-13 | 2021-07-06 | Violet.io, Inc. | Multi-platform e-commerce system with asynchronous cart |
USD870139S1 (en) * | 2018-06-04 | 2019-12-17 | Apple Inc. | Display screen or portion thereof with graphical user interface |
CN110400181A (en) * | 2019-07-30 | 2019-11-01 | 广州吉信网络科技开发有限公司 | Automation, which jumps to return, hires link method, device, electronic equipment and storage medium |
US11010811B2 (en) * | 2019-10-01 | 2021-05-18 | Jane Technologies, Inc. | Online marketplace method |
US11307738B2 (en) * | 2019-10-08 | 2022-04-19 | Visa International Service Association | Method and system for navigating through an application in a user device |
JP7390886B2 (en) * | 2019-12-23 | 2023-12-04 | 東芝テック株式会社 | Accounting processing methods, registration processing methods, accounting devices and programs |
CN111290623A (en) * | 2020-03-12 | 2020-06-16 | 南京酷朗电子有限公司 | User data input method for public information platform data input |
US11693540B1 (en) * | 2021-03-26 | 2023-07-04 | Amazon Technologies, Inc. | Technique to emphasize store branding in the multi-store app |
US11689696B2 (en) * | 2021-03-30 | 2023-06-27 | Snap Inc. | Configuring participant video feeds within a virtual conferencing system |
US11853981B2 (en) * | 2021-09-02 | 2023-12-26 | Shopify Inc. | Systems and methods for e-commerce checkout with delay loading of checkout options |
KR102395740B1 (en) * | 2021-09-16 | 2022-05-10 | 쿠팡 주식회사 | Electronic apparatus for providing information of item and method thereof |
CN114968450A (en) * | 2022-04-12 | 2022-08-30 | 北京高德云信科技有限公司 | Information service method and device and electronic equipment |
CN117579382B (en) * | 2024-01-15 | 2024-03-15 | 贵州省林业科学研究院 | Intelligent real-time sharing method for ecological monitoring station data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174286A1 (en) * | 2005-05-17 | 2007-07-26 | Yahoo!, Inc. | Systems and methods for providing features and user interface in network browsing applications |
US20110264681A1 (en) * | 2010-04-26 | 2011-10-27 | Salesforce.Com, Inc. | Method and system for performing searches in a multi-tenant database environment |
US8055638B2 (en) * | 2008-12-11 | 2011-11-08 | Microsoft Corporation | Providing recent history with search results |
US20130074014A1 (en) * | 2011-09-20 | 2013-03-21 | Google Inc. | Collaborative gesture-based input language |
US20140123022A1 (en) * | 2012-10-26 | 2014-05-01 | Verizon Patent And Licensing, Inc. | Dynamic application arranger |
US20140279749A1 (en) * | 2013-03-15 | 2014-09-18 | Salesforce.Com, Inc. | Mechanism for facilitating improved searching |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2870911B2 (en) | 1988-05-27 | 1999-03-17 | コダック・リミテッド | Document folder icons for displays in data processing systems |
US5060135A (en) | 1988-09-16 | 1991-10-22 | Wang Laboratories, Inc. | Apparatus for manipulating documents in a data processing system utilizing reduced images of sheets of information which are movable |
JPH0520044A (en) | 1991-07-15 | 1993-01-29 | Personal Joho Kankyo Kyokai | User interface device |
US5838326A (en) | 1996-09-26 | 1998-11-17 | Xerox Corporation | System for moving document objects in a 3-D workspace |
US6924827B1 (en) | 1998-12-28 | 2005-08-02 | Alogic S.A. | Method and system for allowing a user to perform electronic data gathering using foldable windows |
US6321209B1 (en) | 1999-02-18 | 2001-11-20 | Wired Solutions, Llc | System and method for providing a dynamic advertising content window within a window based content manifestation environment provided in a browser |
FR2803929B1 (en) * | 1999-12-30 | 2004-09-17 | Ferid Allani | METHOD AND DEVICE FOR ACCESSING SOURCES OF INFORMATION AND SERVICES ON THE WEB |
JP2003521061A (en) | 2000-01-25 | 2003-07-08 | オートデスク,インコーポレイテッド | Method and apparatus for providing and processing access to architectural drawings on the internet |
US6678685B2 (en) | 2000-01-26 | 2004-01-13 | Familytime.Com, Inc. | Integrated household management system and method |
US7962414B1 (en) | 2000-05-11 | 2011-06-14 | Thomson Licensing | Method and system for controlling and auditing content/service systems |
US7036082B1 (en) | 2000-09-21 | 2006-04-25 | Nortel Networks Limited | Controlling communications through a virtual reality environment |
JPWO2002056217A1 (en) | 2000-12-27 | 2004-05-20 | 富士通株式会社 | Shopping system |
US20040027383A1 (en) | 2001-02-15 | 2004-02-12 | Denny Jaeger | Method for agglomerating onscreen objects |
US20020147660A1 (en) | 2001-04-10 | 2002-10-10 | Bernadette Indence | Scheduling, tracking, and synchronization of events with personal portable computers using bar code data input |
US20030023594A1 (en) | 2001-07-25 | 2003-01-30 | Ramamurthi Ram K. | System and method for organizing, preserving, sharing and updating voluminous personal memoirs and for dynamic accounting of assets |
US7356490B1 (en) | 2001-08-20 | 2008-04-08 | Amazon.Com, Inc. | Services for increasing the utility of electronic wish lists |
JP2003108846A (en) | 2001-09-28 | 2003-04-11 | Fujitsu Ltd | Sales promotion method, and sales promotion device |
US20030074278A1 (en) | 2001-10-11 | 2003-04-17 | International Business Machines Corporation | Apparatus and method of effectuating real-time price calculations based on user preferences |
US20030126461A1 (en) | 2001-12-28 | 2003-07-03 | John Barker | Audio/visual URL icon |
US7580863B2 (en) | 2002-07-25 | 2009-08-25 | International Business Machines Corporation | Method, system, and computer program product for operating a publicly accessible purchasing system |
US7570943B2 (en) | 2002-08-29 | 2009-08-04 | Nokia Corporation | System and method for providing context sensitive recommendations to digital services |
US8700504B2 (en) * | 2002-12-30 | 2014-04-15 | Exactor, Inc. | Integrated e-commerce sales and use tax exchange system and method |
US20040143650A1 (en) | 2003-01-10 | 2004-07-22 | Michael Wollowitz | Method and system for transmission of computer files |
JP4225085B2 (en) * | 2003-03-12 | 2009-02-18 | カシオ計算機株式会社 | Online sales management device and program |
US20040179430A1 (en) | 2003-03-13 | 2004-09-16 | Reuben Bahar | Pill dispensing reminder capable of communicating with a remotely situated computer |
US20040267593A1 (en) | 2003-06-11 | 2004-12-30 | Sammons Barbara N. | Systems and methods for managing litigation and other matters |
GB0322877D0 (en) | 2003-09-30 | 2003-10-29 | British Telecomm | Search system and method |
US7614004B2 (en) | 2003-12-15 | 2009-11-03 | Microsoft Corporation | Intelligent forward resource navigation |
GB2418504A (en) * | 2004-09-28 | 2006-03-29 | Robert Kaplan | Accessing data online utilising a code and associated graphic device |
US20060122916A1 (en) | 2004-10-19 | 2006-06-08 | Peter Kassan | System and method for dynamic e-commerce shopping icons |
US7640507B2 (en) | 2005-02-28 | 2009-12-29 | At&T Intellectual Property I, L.P. | Methods, systems, and products for calendaring applications |
US20060259867A1 (en) | 2005-05-13 | 2006-11-16 | Microsoft Corporation | System and method for automatic generation of browsing favorites |
US7996391B2 (en) | 2005-06-20 | 2011-08-09 | Google Inc. | Systems and methods for providing search results |
US8627222B2 (en) | 2005-09-12 | 2014-01-07 | Microsoft Corporation | Expanded search and find user interface |
WO2007033354A2 (en) | 2005-09-13 | 2007-03-22 | Spacetime3D, Inc. | System and method for providing three-dimensional graphical user interface |
US7877295B2 (en) | 2005-11-23 | 2011-01-25 | Ebay Inc. | System and method for transaction automation |
US20070174777A1 (en) | 2006-01-26 | 2007-07-26 | William Derek Finley | Three dimensional graphical user interface representative of a physical work space |
US20070260591A1 (en) | 2006-04-28 | 2007-11-08 | Ahi Michele E | System and method of providing integrated calendaring and concierge services |
US10503342B2 (en) | 2006-08-04 | 2019-12-10 | Apple Inc. | User interface spaces |
US8726195B2 (en) | 2006-09-05 | 2014-05-13 | Aol Inc. | Enabling an IM user to navigate a virtual world |
CN101231722B (en) * | 2007-01-22 | 2014-09-17 | 阿里巴巴集团控股有限公司 | System and method of network payment |
GB0703974D0 (en) | 2007-03-01 | 2007-04-11 | Sony Comp Entertainment Europe | Entertainment device |
CN101136094A (en) * | 2007-09-29 | 2008-03-05 | 腾讯科技(深圳)有限公司 | Electronic commerce trade method and system |
JP5042787B2 (en) | 2007-11-20 | 2012-10-03 | 富士フイルム株式会社 | Product search system, product search method and product search program |
US20090158173A1 (en) | 2007-12-17 | 2009-06-18 | Palahnuk Samuel Louis | Communications system with dynamic calendar |
US8612880B2 (en) | 2008-03-07 | 2013-12-17 | Inware, Llc | System and method for document management |
US7912852B1 (en) | 2008-05-02 | 2011-03-22 | Amazon Technologies, Inc. | Search-caching and threshold alerting for commerce sites |
US8438148B1 (en) | 2008-09-01 | 2013-05-07 | Google Inc. | Method and system for generating search shortcuts and inline auto-complete entries |
CN101770339B (en) * | 2009-01-05 | 2012-12-19 | 深圳富泰宏精密工业有限公司 | System and method for tracking and recording according to user behavior |
US8161398B2 (en) | 2009-05-08 | 2012-04-17 | International Business Machines Corporation | Assistive group setting management in a virtual world |
US8407613B2 (en) | 2009-07-13 | 2013-03-26 | Apple Inc. | Directory management on a portable multifunction device |
US8326859B2 (en) | 2009-11-02 | 2012-12-04 | Microsoft Corporation | Task prediction |
US20110239117A1 (en) | 2010-03-25 | 2011-09-29 | Microsoft Corporation | Natural User Interaction in Shared Resource Computing Environment |
US8423911B2 (en) | 2010-04-07 | 2013-04-16 | Apple Inc. | Device, method, and graphical user interface for managing folders |
US8416066B2 (en) | 2010-04-29 | 2013-04-09 | Microsoft Corporation | Active vibrations |
JP2011238129A (en) * | 2010-05-12 | 2011-11-24 | Sony Corp | Terminal device, electronic apparatus, method for allocating access key, and program |
WO2011146276A2 (en) | 2010-05-19 | 2011-11-24 | Google Inc. | Television related searching |
WO2012009100A1 (en) | 2010-07-16 | 2012-01-19 | Kalu Onuka Kalu | Mobile wireless communications device with search shortcut and related methods |
CN101901111B (en) * | 2010-07-30 | 2014-08-20 | 中兴通讯股份有限公司 | Method and device for realizing automatic operation on mobile terminal |
US20120078731A1 (en) * | 2010-09-24 | 2012-03-29 | Richard Linevsky | System and Method of Browsing Electronic Catalogs from Multiple Merchants |
JP5195881B2 (en) | 2010-11-30 | 2013-05-15 | コニカミノルタビジネステクノロジーズ株式会社 | Document browsing device, display method in document browsing device, and display program |
CN102109995A (en) * | 2010-12-28 | 2011-06-29 | 青岛海信宽带多媒体技术有限公司 | Method and device for generating shortcut key |
TWI546700B (en) | 2011-01-13 | 2016-08-21 | 宏達國際電子股份有限公司 | Portable electronic device, and control method and computer program product of the same |
CN102087583A (en) * | 2011-01-30 | 2011-06-08 | 深圳市乐通天下科技有限公司 | Webpage operation method |
JP5669102B2 (en) | 2011-03-30 | 2015-02-12 | 株式会社Nttドコモ | Shortcut providing apparatus, communication system, shortcut providing method, and program |
US20130249947A1 (en) | 2011-08-26 | 2013-09-26 | Reincloud Corporation | Communication using augmented reality |
KR101934998B1 (en) * | 2011-10-04 | 2019-01-04 | 삼성전자주식회사 | Method and system for providing user interface to a plurality of applications |
US20130204862A1 (en) | 2012-02-03 | 2013-08-08 | Volunia Italia S.R.L. | Internet searching and social interaction techniques |
US20130211938A1 (en) | 2012-02-14 | 2013-08-15 | Microsoft Corporation | Retail kiosks with multi-modal interactive surface |
EP2815551B1 (en) | 2012-02-14 | 2020-01-15 | Intel Corporation | Peer to peer networking and sharing systems and methods |
US9552597B2 (en) * | 2012-02-17 | 2017-01-24 | Ebay Inc. | Electronic commerce file system |
US9311417B2 (en) | 2012-03-09 | 2016-04-12 | Oracle International Corporation | Personalized navigation shortcuts |
US20150161717A1 (en) | 2012-12-18 | 2015-06-11 | Shoplogiq Sweden Ab | Object selection and presentation of object-related data in one consistent page view |
KR102141155B1 (en) | 2013-04-22 | 2020-08-04 | 삼성전자주식회사 | Mobile apparatus providing with changed-shortcut icon responding to status of mobile apparatus and control method thereof |
US9483565B2 (en) | 2013-06-27 | 2016-11-01 | Google Inc. | Associating a task with a user based on user selection of a query suggestion |
JP2015053642A (en) * | 2013-09-09 | 2015-03-19 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Information system, remote controller, and information providing device |
CN105874417A (en) | 2013-12-27 | 2016-08-17 | 宇龙计算机通信科技(深圳)有限公司 | Cross-interface data transfer method and terminal |
US9549028B2 (en) | 2014-02-18 | 2017-01-17 | Ebay Inc. | Systems and methods for automatically saving a state of a communication session |
US20150332230A1 (en) * | 2014-05-15 | 2015-11-19 | Ebay Inc. | Selection of merchant and device specific payment flow |
US9754284B2 (en) | 2014-05-22 | 2017-09-05 | Excalibur Ip, Llc | System and method for event triggered search results |
US20150356643A1 (en) * | 2014-06-04 | 2015-12-10 | VendOp, LLC | Dual-Identity Review System |
CN104077684A (en) * | 2014-06-09 | 2014-10-01 | 中国建设银行股份有限公司 | Online payment method and device |
US9612732B2 (en) | 2014-11-13 | 2017-04-04 | Microsoft Technology Licensing, Llc | Content transfer to non-running targets |
CN104503668A (en) * | 2014-12-02 | 2015-04-08 | 东莞宇龙通信科技有限公司 | Method, system and terminal for generating menu shortcuts |
US11170451B2 (en) | 2015-10-02 | 2021-11-09 | Not So Forgetful, LLC | Apparatus and method for providing gift recommendations and social engagement reminders, storing personal information, and facilitating gift and social engagement recommendations for calendar-based social engagements through an interconnected social network |
WO2017059129A1 (en) | 2015-10-02 | 2017-04-06 | United States Postal Service | System and method for generating and implementing a household customer database |
US20170098256A1 (en) | 2015-10-06 | 2017-04-06 | Robert A. Long | System and method for conveying entertainment or social events |
GB201523166D0 (en) | 2015-12-31 | 2016-02-17 | Jones Maria F | Direct integration system |
-
2015
- 2015-12-31 GB GBGB1523166.5A patent/GB201523166D0/en not_active Ceased
-
2016
- 2016-12-30 US US15/395,343 patent/US20170192798A1/en not_active Abandoned
- 2016-12-30 AU AU2016383124A patent/AU2016383124A1/en not_active Abandoned
- 2016-12-30 SG SG10202000292YA patent/SG10202000292YA/en unknown
- 2016-12-30 CN CN201680083058.4A patent/CN108701042A/en active Pending
- 2016-12-30 EP EP16826147.7A patent/EP3398124A1/en active Pending
- 2016-12-30 JP JP2018553326A patent/JP7171438B2/en active Active
- 2016-12-30 KR KR1020187021854A patent/KR20180099813A/en not_active Application Discontinuation
- 2016-12-30 AU AU2016383127A patent/AU2016383127A1/en not_active Abandoned
- 2016-12-30 US US15/395,487 patent/US10599450B2/en active Active
- 2016-12-30 JP JP2018553323A patent/JP6838077B2/en active Active
- 2016-12-30 DE DE202016008646.5U patent/DE202016008646U1/en active Active
- 2016-12-30 CA CA3009892A patent/CA3009892A1/en active Pending
- 2016-12-30 BR BR112018013420A patent/BR112018013420A2/en not_active Application Discontinuation
- 2016-12-30 KR KR1020187021119A patent/KR20180100343A/en not_active Application Discontinuation
- 2016-12-30 CA CA3009877A patent/CA3009877A1/en active Pending
- 2016-12-30 CN CN201680083030.0A patent/CN108713207A/en active Pending
- 2016-12-30 US US15/395,321 patent/US20170193123A1/en not_active Abandoned
- 2016-12-30 WO PCT/GB2016/054089 patent/WO2017115090A1/en active Application Filing
- 2016-12-30 WO PCT/GB2016/054092 patent/WO2017115093A1/en active Application Filing
- 2016-12-30 BR BR112018013425A patent/BR112018013425A2/en not_active Application Discontinuation
- 2016-12-30 SG SG11201805581WA patent/SG11201805581WA/en unknown
- 2016-12-30 SG SG11201805520UA patent/SG11201805520UA/en unknown
- 2016-12-30 EP EP16826148.5A patent/EP3398125A1/en active Pending
-
2018
- 2018-07-02 ZA ZA2018/04421A patent/ZA201804421B/en unknown
- 2018-07-02 ZA ZA2018/04422A patent/ZA201804422B/en unknown
-
2019
- 2019-05-01 US US16/400,462 patent/US20190258495A1/en not_active Abandoned
-
2020
- 2020-01-17 US US16/746,437 patent/US10922103B2/en active Active
- 2020-11-24 US US17/103,739 patent/US20210081223A1/en not_active Abandoned
-
2022
- 2022-10-26 AU AU2022259768A patent/AU2022259768A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174286A1 (en) * | 2005-05-17 | 2007-07-26 | Yahoo!, Inc. | Systems and methods for providing features and user interface in network browsing applications |
US8055638B2 (en) * | 2008-12-11 | 2011-11-08 | Microsoft Corporation | Providing recent history with search results |
US20110264681A1 (en) * | 2010-04-26 | 2011-10-27 | Salesforce.Com, Inc. | Method and system for performing searches in a multi-tenant database environment |
US20130074014A1 (en) * | 2011-09-20 | 2013-03-21 | Google Inc. | Collaborative gesture-based input language |
US20140123022A1 (en) * | 2012-10-26 | 2014-05-01 | Verizon Patent And Licensing, Inc. | Dynamic application arranger |
US20140279749A1 (en) * | 2013-03-15 | 2014-09-18 | Salesforce.Com, Inc. | Mechanism for facilitating improved searching |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599450B2 (en) | 2015-12-31 | 2020-03-24 | Maria Francisca Jones | Electronic transaction method and apparatus |
US10922103B2 (en) | 2015-12-31 | 2021-02-16 | Maria Francisca Jones | Electronic transaction method and apparatus |
JP2020201803A (en) * | 2019-06-12 | 2020-12-17 | カシオ計算機株式会社 | Display control unit and program |
JP7302314B2 (en) | 2019-06-12 | 2023-07-04 | カシオ計算機株式会社 | Display controller and program |
WO2022245738A1 (en) * | 2021-05-19 | 2022-11-24 | Snap Inc. | Combining functions into shortcuts within messaging system |
US11831592B2 (en) | 2021-05-19 | 2023-11-28 | Snap Inc. | Combining individual functions into shortcuts within a messaging system |
US20240045782A1 (en) * | 2022-08-08 | 2024-02-08 | Qualcomm Incorporated | Suggesting a New and Easier System Function by Detecting User's Action Sequences |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170192798A1 (en) | User interface method and apparatus | |
US11080350B2 (en) | Method for searching and device thereof | |
US11163935B2 (en) | Intelligent navigation via a transient user interface control | |
US9852227B2 (en) | Control for persistent search results and iterative searching | |
US10936568B2 (en) | Moving nodes in a tree structure | |
US11734370B2 (en) | Method for searching and device thereof | |
KR20160023412A (en) | Method for display screen in electronic device and the device thereof | |
US20150356105A1 (en) | Techniques for processing digital assets for editing in a digital asset editing computer program | |
US10572497B2 (en) | Parsing and executing commands on a user interface running two applications simultaneously for selecting an object in a first application and then executing an action in a second application to manipulate the selected object in the first application | |
US20200089687A1 (en) | Collaborative search of databases | |
US20180300029A1 (en) | Smart Bookmarks For Viewing Content | |
US10417288B2 (en) | Search of web page metadata using a find function | |
US20150058774A1 (en) | Gesture-based visualization of financial data | |
US20230214093A1 (en) | Paging content for user interface display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: JONES, MARIA FRANCISCA, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JONES, ALEXANDER;REEL/FRAME:040911/0232 Effective date: 20170105 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |