WO2010011755A1 - User interface management - Google Patents

User interface management Download PDF

Info

Publication number
WO2010011755A1
WO2010011755A1 PCT/US2009/051412 US2009051412W WO2010011755A1 WO 2010011755 A1 WO2010011755 A1 WO 2010011755A1 US 2009051412 W US2009051412 W US 2009051412W WO 2010011755 A1 WO2010011755 A1 WO 2010011755A1
Authority
WO
WIPO (PCT)
Prior art keywords
user interface
services
options
modified
storage device
Prior art date
Application number
PCT/US2009/051412
Other languages
French (fr)
Inventor
Mike Murphy
Paul Yarin
Eric Metois
Will Crosby
Wilson Pearce
Mark Durbin
Original Assignee
Proiam Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Proiam Llc filed Critical Proiam Llc
Publication of WO2010011755A1 publication Critical patent/WO2010011755A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the present invention relates generally to computer-based methods and apparatuses, including computer program products, for user interface management.
  • objects e.g. letters or parcels
  • objects are enrolled into a system for tracking and delivery.
  • items presented at post offices and related locations for onward delivery currently require the counter staff and / or customers to manually enter data regarding address information, weight, dimensional information, and other shipment characteristics.
  • the manual collection of this information is costly, in terms of time, error rates on manual data entry, plus errors in correctly rating items.
  • Retail locations are also typically required to maintain space for both the scale and the metering devices.
  • a postal employee might receive a package, weigh it, measure its dimensions with a tape measure, enter this information into a computer, read a label on the package, enter delivery address information found on this label, query the customer about desired delivery type and date, enter this information into a computer, provide pricing information to the customer, accept payment, etc.
  • Improvement in user interfaces for enrollment efficiency and/or other applications could provide substantial savings in, for example, labor costs, error costs, and time.
  • One approach to user interface management is a method.
  • the method includes: storing a set of states in a state storage device, the set of states associated with an operation of a user interface; storing a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determining a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determining a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
  • Another approach to user interface management is a computer program product, tangibly embodied in an information carrier.
  • the computer program product including instructions being operable to cause a data processing apparatus to: store a set of states in a state storage device, the set of states associated with an operation of a user interface; store a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one
  • the system includes a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; a state machine module configured to determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and a user interface module configured to generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling
  • the system includes means for storing a set of states, the set of states associated with an operation of a user interface; means for storing a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; means for determining a first set of one or more services from the set of services based on a first input associated with the user interface; means for determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; means for determining a first display state selected from the set of states based on the first input associated with the user interface; and means for generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
  • Another approach to user interface management is a method.
  • the method includes determining a weight of a package based on a weight signal; determining dimension data indicative of the size of the package based on a video signal; determining one or more characters present on the package based on the video signal; determining a first set of one or more services from a set of services stored in a service storage device based on at least one of: the weight, the dimension data, or the one or more characters; determining a first set of one or more options associated with the first set of one or more services based on at least one of: the weight, the dimension data, or the one or more characters; determining a first display state selected from a set of states stored in a state storage device based on a previous state associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one
  • the system includes a weight module which produces, in response to a weight signal, weight data indicative of the weight of a package; a dimension capture module which produces, in response to a video signal, dimension data indicative of the size of the package; a recognition module which produces, in response to the video signal, character data indicative of one or more characters present on the package; a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with the package management system associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on the weight data, the dimension data, and the character data; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the weight data, the dimension data, and the character data;
  • any of the approaches above can include one or more of the following features.
  • the method includes: storing a modified set of one or more services in the service storage device; determining a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; generating a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the method includes generating the user interface selection request based on an error message associated with the modified user interface.
  • the method includes: storing a modified set of one or more options in the service storage device; determining a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; generating a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the method includes: storing a modified set of one or more states in the state storage device; determining a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; generating a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the method includes: wherein generating the first user interface further includes generating the first user interface for a first computing device; and generating a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
  • the method includes: receiving a second input associated with the user interface; determining a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; determining a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; determining a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and generating a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options.
  • the method includes: generating a user interface link enabling selection of the first user interface from the second user interface; and modifying the second user interface based on the user interface link.
  • the method includes: receiving a third input associated with the user interface; determining a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; determining a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; determining a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and generating a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options.
  • the method includes: generating a user interface link enabling selection of at least one of the third set of one or more services or
  • the method includes: storing the first user interface and the second user interface in a storage device; receiving a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and displaying the first user interface on a display device.
  • the method includes: receiving a fifth input associated with the user interface; determining a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; determining a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; determining a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and generating a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options.
  • the fourth set of one or more services includes a different set of services than the second set of one or more services and the fourth set of one or more options includes a different set of options than the second set of one or more options.
  • the method includes: receiving a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and modifying the first user interface for display on the first computing device based on the localization option.
  • the method includes displaying the user interface on a display device.
  • the state storage device and the service storage device are different storage devices.
  • the application includes at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
  • the system includes: the service storage device further configured to store a modified set of one or more services; the business rules engine further configured to determine a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the system includes the user interface module further configured to generate the user interface selection request based on an error message associated with the modified user interface.
  • the system includes: the service storage device further configured to store a modified set of one or more options; the service module further configured to determine a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the system includes: the state storage device further configured to store a modified set of one or more states; the state machine module further configured to determine a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the system includes: the user interface module further configured to generate the first user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a first computing device, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and a second user interface module configured to generate a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
  • the system includes: a transceiver configured to receive a second input associated with the user interface; the business rules engine module further configured to determine a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; the service module further configured to determine a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; the state machine module further configured to determine a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and the user interface module further configured to generate a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options. [0036] In some examples, the system includes the user interface module further configured to: generate a user interface link enabling selection of the first user interface
  • the system includes: the transceiver further configured to receive a third input associated with the user interface; the business rules engine module further configured to determine a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; the service module further configured to determine a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; the state machine module further configured to determine a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and the user interface module further configured to generate a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options.
  • the system includes the user interface module further configured to: generate a user interface link enabling selection of the first user interface or the second user interface from the third user interface; and modify the second user interface based on the user interface link.
  • the system includes: a storage device configured to store the first user interface and the second user interface; the transceiver further configured to receive a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and a display device configured to display the first user interface.
  • the system includes: the transceiver further configured to receive a fifth input associated with the user interface; the business rules engine module further configured to determine a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; the service module further configured to determine a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; the state machine module further configured to determine a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and the user interface module further configured to generate a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options.
  • the system includes: the fourth set of one or more services includes a different set of services than the second set of one or more services and the fourth set of one or more options includes a different set of options than the second set of one or more options.
  • the system includes: a localization module configured to receive a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and the user interface module further configured to modify the first user interface for display on the first computing device based on the localization option.
  • the system includes a display device for displaying the user interface.
  • the system includes the state storage device and the service storage device are different storage devices.
  • the system includes the application includes at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
  • the system includes the weight, the dimension data, and the one or more characters present on the package, respectively, are determined substantially in parallel.
  • the user interface management techniques described herein can provide one or more of the following advantages.
  • An advantage of the user interface management is that different types of end user devices can receive the same selection of services and options from the same configuration files, thereby increasing the efficiency of the delivery of user interfaces to multiple types of end user devices.
  • Another advantage of the user interface management is that the flow of the user interface is based on available services, available options, and the display state, thereby increasing the efficiency of the user interface by providing the user with all of the available selections instead of just the selections that fit within a linear sequence of a user interface design.
  • FIG. 1 is a block diagram of an exemplary user interface system
  • FIG. 2 depicts an exemplary system utilizing a computing device and an enrollment apparatus
  • FIG. 3 is a block diagram of another exemplary user interface system
  • FIG. 4 is a block diagram of another exemplary user interface system
  • FIGS. 5A-5C illustrate exemplary service descriptions
  • FIGS. 6A-6B illustrate an exemplary service flowchart
  • FIGS. 7A-7B depict exemplary state machines
  • FIGS. 8A-8M illustrate screenshots of an exemplary user interface
  • FIG. 9 illustrates an exemplary flowchart for user interface management
  • FIG. 10 illustrates an exemplary flowchart for user interface management
  • FIG. 11 depicts an exemplary architecture for user interface management.
  • FIG. 1 is a block diagram of an exemplary user interface system 100.
  • the system 100 includes end user devices 110, a network 120, and servers 130.
  • the end user devices 110 include a point of sale device 110a, a personal digital assistant 110b, a computer 110c through a phone HOz.
  • the servers 130 include a storage server 130a, a web server 130b, and a configuration server 130c.
  • One or more of the end user devices 110 and/or the servers 130 can be utilized for execution of any of the techniques described herein.
  • the end user devices 110 communicate with the servers 130 via the network 120.
  • FIG. 1 illustrates the network 120
  • the system 100 can includes a plurality of interconnected networks for the communication between the end user devices 110 and the servers 130.
  • the end user devices 110 manage the user interface and processing related thereto locally (i.e., the user interface is executed on the end user devices 110).
  • the user interface management and processing related thereto is operated remotely at the servers 130 for display on the end user devices 110 (i.e., the user interface is executed on the servers 130 and the generated display is sent to the end user devices 110 for display).
  • the end user devices 110 and the servers 130 split the management of the user interface and the processing related thereto (e.g., the services, options, and display class are determined at the configuration server 130c and the point of sale device 110a generates the user interface).
  • FIG. 2 depicts an exemplary system 200 utilizing a computing device 210 and an enrollment apparatus 220.
  • the computing device 210 and the enrollment device 220 can be utilized for execution of any of the techniques described herein.
  • the enrollment apparatus 220 receives the input for use by the computing device 210 (in this example, package weight, package dimensions, package origin, package destination) and the computing device 210 operates the user interface (e.g., generates the user interface and solicits selection of services and/or options).
  • FIG. 3 is a block diagram of another exemplary user interface system 300.
  • the system 300 includes an end user device 310.
  • the end user device 310 includes a transceiver 311 , a business rules engine 313, a service module 313, a state machine module 314, a localization module 315, a user interface module 316, a display device 321, an input device 322, an output device 323, a processor 324, and a storage device 325.
  • the modules and devices described herein can, for example, utilize the processor 324 to execute computer executable instructions and/or include a processor to execute computer executable instructions (e.g., a graphic processing unit, a field programmable gate array processing unit, etc.).
  • the end user device 310 can include, for example, other modules, devices, and/or processors known in the art.
  • the transceiver 311 communicates data to/from the end user device 310.
  • the transceiver 311 can, for example, receive actions associated with the user interface (e.g., user selection in the user interface, etc.).
  • the business rules engine 312 determines a first set of one or more services from the set of services stored in the service storage device based on an input associated with the user interface.
  • the set of services stored in the service storage device includes twenty different services (e.g., airmail, express mail, first class mail, etc.) and the first set of one or more services includes ten different services (e.g., airmail, first class mail, etc.).
  • the service module 313 determines a first set of one or more options associated with the first set of one or more services based on the input associated with the user interface.
  • the first set of one or more services includes ten different services and based on the first input (e.g., package weight, destination address, origin address, package dimensions, etc.), the service module 313 determines that eight different options are available (e.g., registered mail, receipt confirmation, etc.).
  • the state machine module 314 determines a first display state selected from the set of states stored in the state storage device based on the input associated with the user interface and/or previous display states, if any.
  • the set of states includes twenty five different states (e.g., order entry state, package delivery state, package option state, etc.) and state machine module 314 determines the first display state based on the search request input from the user (in this example, the search request input is from the order entry state and transitions the state to the package delivery state).
  • the localization module 315 receives a localization option associated with the first user interface.
  • the localization option can be associated with a location of a computing device (e.g., the computing device is located in Boston and the localization option localizes the user interface to Boston, the computing device is in England and the localization option localize the language of the user interface to United Kingdom English, etc.).
  • the user interface module 316 can modify the user interface for display on the computing device based on the localization option (e.g., modify the language to United Kingdom English, etc.).
  • the user interface module 316 generates a first user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options.
  • the first user interface enables the selection of at least one of the first set of one or more services or the first set of one or more options. For example, the first user interface enables the user to select airmail service and a delivery confirmation option.
  • the display device 321 displays the user interface and/or any other type of information (e.g., reports, text, graphics, video, etc.).
  • the input device 322 receives input for the end user device 310 (e.g., keyboard input, mouse input, touch screen input, etc.).
  • the output device 323 outputs information from the end user device 310 (e.g., printer output, audio output, etc.).
  • the processor 324 executes computer executable instructions for the end user device 310 (e.g., software to generate the user interface, software to determine the available services, etc.).
  • the storage device 325 stores data and/or information associated with the user interface management and can include a state storage device, a service storage device, and/or other storage device.
  • the state storage device stores a set of states (e.g., original set of states, modified set of states, etc.).
  • the set of states is associated with an operation of a user interface (e.g., package information input state, package information confirmation state, package order state, etc.).
  • the service storage device stores a set of services (e.g., original set of services, modified set of services, etc.).
  • the set of services is associated with an application associated with the user interface (e.g., mail delivery application, package tracking application, etc.).
  • Each service in the set of services is associated with one or more options (e.g., registered mail, signature confirmation, etc.).
  • the state storage device, the service storage device, and/or the other storage devices can be, for example, parts of the storage device (e.g., separate storage areas and/or separate storage devices (e.g., separate hard drives in a computing device).
  • FIG. 4 is a block diagram of another exemplary user interface system 400.
  • the system 400 includes a server 410.
  • the server 410 includes a transceiver 441, a business rules engine 442, a service module 443, a state machine module 444, a user interface module 445, a configuration module 446, a web module 447, a display device 451, an input device 452, an output device 453, a processor 454, and a storage device 455.
  • the modules and devices described herein can, for example, utilize the processor 454 to execute computer executable instructions and/or include a processor to execute computer executable instructions (e.g., a graphic processing unit, a field programmable gate array processing unit, etc.).
  • the server 410 can include, for example, other modules, devices, and/or processors known in the art.
  • the devices, modules, and/or engines of the server 410 can be substantially similar to the corresponding devices, modules, and/or engines of the end user device 310 of FIG. 3 (e.g., the business rules engine 442 and the business rules engine 312, the service module 443 and the service module 313, etc.) except the devices, modules, and/or engines of the server 410 function in the context of the server 410 (e.g., the server 410 generates user interfaces for a plurality of end user devices 110 of FIG. 1).
  • the transceiver 441 communicates data to/from the server 410.
  • the transceiver 441 can, for example, receive actions associated with the user interface (e.g., user selection in the user interface, etc.).
  • the devices, modules, and/or engines of the server 410 are substantially similar to the corresponding devices, modules, and/or engines of the end user device 110, the business rules engine 442, the service module 443, the state machine module 444, and/or the user interface module 445 can be executed for a plurality of end user devices 110 of FIG. 1.
  • the business rules engine 442 can determines a set of services for each end user device in a group of end user devices.
  • the configuration module 446 provides configuration and/or localization options for the end user devices 110. For example, the configuration module 446 transmits England localization options to every end user device located in England. As another example, the configuration module 446 transmits the set of services designated for the U.S. Postal Service to every end user device associated with the U.S. Postal Service.
  • the web module 447 provides web services for the server 410.
  • the web module 447 can operate computer executable instructions for a web server that communicates web pages to/from the server 410 from/to the end user devices.
  • FIG. 5A illustrates an exemplary service description 500a.
  • the service description 500a includes a lookup table 510a, a service flowchart 520a, and a service indicator 530a.
  • the service description 500a can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is speedpost).
  • the service module 313 receives input into the service flowchart 520a and performs a lookup utilizing the lookup table 510a to determine the available options, if any, and a cost, if any, for the service based on the input, hi this example, a speedpost fee is determined based on a destination input and a weight input, but no options exist for the speedpost service (in this example, the set of available options includes a single option, NULL).
  • FIG. 5B illustrates an exemplary service description 500b.
  • the service description 500b includes a lookup table 510b, a service flowchart 520b, and a service indicator 530b.
  • the service description 500b can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is airmail).
  • the service module 313 receives input into the service flowchart 520b and performs a lookup utilizing the lookup table 510b to determine the available options, if any, and a cost, if any, for the service based on the input, hi this example, an airmail fee is determined based on a destination input and a weight input and an option for registered mail is determined.
  • FIG. 5C illustrates an exemplary service description 500c.
  • the service description 500c includes a lookup table 510c, a service flowchart 520c, and a service indicator 530c.
  • the service description 500c can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is local mail).
  • the service module 443 receives input into the service flowchart 520c and performs a lookup utilizing the lookup table 51 Oc to determine the available options, if any, and a cost, if any, for the service based on the input. In this example, an local fee is determined based on a destination input and a weight input and an option for registered mail is determined.
  • FIGS. 6 A and 6B illustrate an exemplary service flowchart 600a and 600b utilizing, for example, the end user device 310 of FIG. 3.
  • the input device 322 receives input associated with the user interface.
  • the input includes weight input 612 (e.g., determined by a scale, input by a user, etc.), distance input 614 (e.g., calculated based on the destination and the origin addresses inputted by the user, calculated based on the destination and the origin addresses inputted via a camera and optical character recognition device, etc.), size input 616 (e.g., input by a user, determined from an enrollment device, etc.), and day input 618 (e.g., determined from the calendar on the end user device 310, input by the user, etc.).
  • weight input 612 e.g., determined by a scale, input by a user, etc.
  • distance input 614 e.g., calculated based on the destination and the origin addresses inputted by the user, calculated based on the destination and the origin addresses
  • the business rules engine 312 determines a standard fee output 632 based on a domestic lookup function 622 and the weight input 612.
  • the business rules engine 312 determines a long distance fee output 634 based on a distance lookup function 624 and the distance input 614.
  • the business rules engine 312 determines an oversize fee output 636 based on a letter size lookup function 626 and the size input 616.
  • the business rules engine 312 determines a Saturday fee output 638 based on a standard days lookup function 628 and the day input 618.
  • the output from the functions 622, 624, 626, and 628 is combined by a gate 640 (e.g., software process that concatenates the output into a message, etc.).
  • the processing of the flowchart 600a is continued 650 into the flowchart 600b.
  • the combined output from the functions 622, 624, 626, and 628 is input by the service module 313 into a domestic letter service 660 to determine options that are available for the application (in this example, mailing a package).
  • the available options include an advice of delivery option 665, an insurance option 666, and an express option 667.
  • the service module 313 determines the options that are selected and not selected based on the input and the flow of the services and/or options. As illustrated in FIG.
  • the services and the options have two inputs - select service 661 and enable service 662 - and two outputs - set when selected 663 and clear when selected 664.
  • the insurance option 666 is selected, the express option 667 is cleared and disabled and the advice of delivery option 665 is selected (in this example, a package cannot have both the insurance option 666 and the express option 667, but a package with the insurance option 666 must have the advice of delivery option 665).
  • the service module 313 Upon selection of the advice of delivery option 665, the service module 313 utilizes a sender address input 672 and determines an advice of delivery fee output 673. Upon selection of the insurance option 666, the service module 313 utilizes an insured value input 682 as input to an insurance lookup function 684 to determine an insurance fee output 686. Upon selection of the express option 667, the service module 313 determines an express fee output 692.
  • flowchart 600a and 600b is illustrated utilizing the end user device 310, the flowchart 600a and 600b can be, for example, executed on the server 410 of FIG. 4 or any other device, module, and/or server as described herein.
  • FIG. 7A depicts an exemplary state machine 700a utilizing, for example, the end user device 310 of FIG. 3.
  • the state machine module 314 enters the state machine 700a at a splash or advertising state 702 (e.g., displaying an advertisement on the display device 321 of the end user device 310). Based on user actions, the state machine module 314 enters the next state and subsequent states. If the user selects configuration on the user interface, the state machine module 314 enters a configuration state 704. If the user touches the screen, the state machine module 314 enters a process items state 710. Within the process items state 710, the state machine module 314 enters a confirmation state 711.
  • the state machine module 314 Based on the user actions (i.e., select a search link in the user interface, select a bill pay complete link in the user interface, etc.), the state machine module 314 enters a correction state 712, a calendar state 713 , a primary selected state 714, and/or a basket state 715. Upon the completion of the basket state 715, the state machine module 314 exits the process items state 710 and enters a shutdown state 720.
  • the user interface module 316 can utilize the current state of the state machine 700a for the generation of the user interface. For example, if the current state is the confirmation state 711, the user interface module 316 generates a user interface based on the confirmation state 711, the selected services, and the selected options (in this example, the user interface is configured to list the existing services and/or options for confirmation purposes). As another example, if the current state is the basket state 715, the user interface module 316 generates a user interface based on the basket state 715, the selected services, and the selected options (in this example, the user interface is configured to provide sub-total prices for the selected service and selected options, if any, and a total price for the selected service and selected options, if any).
  • FIG. 7B depicts an exemplary state machine 700b utilizing, for example, the end user device 310 of FIG. 3.
  • the state machine module 314 enters a confirmation state 740.
  • the confirmation state 740 can be a sub-state machine of the confirmation state 711 of FIG. 7 A.
  • the state machine module 314 starts the state machine at a mail item state 741. Based on user actions, the state machine module 314 enters the next state and subsequent states. Based on the user actions, the state machine module 314 enters a bill payment state 742, a correction state 743, or an exit state 750. For example, if the state machine is in the mail item state 741 and the user selects to search, the state machine module 314 transitions to the exit state 750.
  • FIGS. 8A-8M illustrate screenshots of an exemplary user interface 800a-800m.
  • FIG. 8 A illustrates the screenshot of the exemplary user interface 800a.
  • the user interface 800a illustrates input received by, for example, the end user device 310 of FIG. 3.
  • the input device 322 receives an image 810a of a package for delivery.
  • the input device 322 processes the image 810a to determine input for the user interface generation process (e.g., optical character recognition (OCR) of the characters on the package, dimension analysis of the package, etc.).
  • OCR optical character recognition
  • the input device 322 identifies address information for the package 812 and 814 in the image 810a and OCRs the address information 812 and 814 to determine the origin and destination address.
  • the input includes parcel information 821a, tariff information 822a, origin address 823 a, destination address 824a, contact information 825 a, postage 826a, and pre-applied services 827a.
  • the user interface 800a can be, for example, the beginning of a state machine associated with the user interfaces 800a-800m (e.g., package information entry state).
  • the user can interact with the user interface 800a to select a search input 830.
  • the search input 830 directs the state machine to the next state (in this example, order entry state).
  • FIG. 8B illustrates the screenshot of the exemplary user interface 800b.
  • the business rules engine 312 determines services 840 that are available based on the input.
  • the service module 313 determines options 860 that are available based on the services 840 (in this example, the options 860 are referenced as additional services in FIG. 8B).
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the package information entry state) and the input (in this example, search available services and options).
  • the user interface module 316 generates the user interface 800b based on the services 840, the options 860, the current state, and/or the previous states.
  • FIG. 8C illustrates the screenshot of the exemplary user interface 800c.
  • the business rules engine 312 determines a selected service 841 based on the input (in this example, the user's selection of the media rate service in the user interface 800b).
  • the service module 313 determines options 861 that are available based on the service 841.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the media rate service).
  • the user interface module 316 generates the user interface 800c based on the services 841, the options 861, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892 and 893 a and enables the user to return to any of the previous user interfaces.
  • FIG. 8D illustrates the screenshot of the exemplary user interface 800d.
  • the business rules engine 312 determines a selected service 842 based on the previous input (in this example, the user's selection of the media rate service in the user interface 800b).
  • the service module 313 determines other available options that are available based on the selected service 842 and indicates the selected option 862 (in this example, a certificate of mailing option).
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the certificate of mailing option).
  • the user interface module 316 generates the user interface 800d based on the services 842, the options 862, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892, 893a, and 894a and enables the user to return to any of the previous user interfaces.
  • FIG. 8E illustrates the screenshot of the exemplary user interface 800e.
  • the business rules engine 312 determines a selected service 843 based on the previous input (in this example, the user's selection of the media rate service in the user interface 800b).
  • the service module 313 determines other available options that are available based on the service 843 and indicates the selected options 863 (in this example, a certificate of mailing option and a restricted delivery option).
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted delivery option).
  • the user interface module 316 generates the user interface 80Oe based on the services 843, the options 863, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892, 893a, 894a, and 895a (e.g., a database of previous user interfaces, etc.) and enables the user to return to any of the previous user interfaces.
  • FIG. 8F illustrates the screenshot of the exemplary user interface 80Of.
  • the user interface 800f illustrates a return to the previous user interface 893a based on a user's input (in this example, selecting the previous user interface 893a in the user interface 80Oe). As illustrated, the user interface 800f returns to the user interface 800b based on the selection by the user.
  • the user interface 800b includes the available services 844 and available options 864 determined based on the available services 844.
  • the user interface module 316 tracks previous user interfaces 892 and enables the user to return to any of the previous user interfaces.
  • FIG. 8G illustrates the screenshot of the exemplary user interface 800g.
  • the business rules engine 312 determines available services 845 based on the input (in this example, the user's selection of the delivery option in the user interface 80Of).
  • the service module 313 determines options 865 that are available based on the service 845 and the selected option 865.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the delivery option).
  • the user interface module 316 generates the user interface 800g based on the services 845, the options 865, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892 and 893b and enables the user to return to any of the previous user interfaces.
  • FIG. 8H illustrates the screenshot of the exemplary user interface 800h.
  • the business rules engine 312 determines available services 846 based on the input (in this example, the input is the user's selection of the registered option in the user interface 80Og and the parcel rate service, the media rate service, and the library rate service are removed from the set of available services based on the user's selection of the registered option).
  • the service module 313 determines options that are available and unavailable based on the service 846 and the selected options 866a and 865.
  • the unavailable options 867 and 868a are unavailable based on the selection of the registered option 866a in the user interface 80Og by the user.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the delivery option).
  • the user interface module 316 generates the user interface 80Oh based on the services 846, the options 865, 866a, 867, and 868a, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892, 893b, and 894b and enables the user to return to any of the previous user interfaces.
  • FIG. 81 illustrates the screenshot of the exemplary user interface 800i.
  • the user interface 800i illustrates the user interface 800h with a selection of a restricted option 868b.
  • the user interface module 316 requests confirmation of the input since the selection of the restricted option 868b removes the selection of the registered option 866b.
  • the restricted option 868b and the registered option 866b cannot both be selected.
  • FIG. 8 J illustrates the screenshot of the exemplary user interface 800j.
  • the business rules engine 312 determines available services 847 based on the input (in this example, the input is the user's selection of the restricted option in the user interfaces 800h and 800i and the list of available services changes from premier service and premier flat rate service to parcel rate service, media rate service, and library rate service).
  • the service module 313 determines options that are available and unavailable based on the services 847 and the selected options 865 and 869.
  • the unavailable options 870 and 871 are unavailable based on the selection of the restricted option 869 in the user interfaces 800h and 800i by the user.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted option).
  • the user interface module 316 generates the user interface 80Oj based on the services 847, the options 865, 869, 870, and 871, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892, 893b, 894b, and 895b and enables the user to return to any of the previous user interfaces.
  • FIG. 8K illustrates the screenshot of the exemplary user interface 800k.
  • the business rules engine 312 determines available services 848 based on the input (in this example, the user's selection to remove the restricted option in the user interfaces 800j).
  • the service module 313 determines options that are available based on the services 848 and the selected option 865.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted option).
  • the user " interface module 316 generates the user interface 800k based on the services 848, the option 865, the current state, and/or the previous states.
  • the user interface module 316 tracks previous user interfaces 892, 893b, 894b, 895b, and 896b and enables the user to return to any of the previous user interfaces.
  • FIG. 8L illustrates the screenshot of the exemplary user interface 8001.
  • the business rules engine 312 determines a selected service 849 based on the input (in this example, the user's selection of the media rate service in the user interface 800m).
  • the service module 313 determines options 872 that are available based on the service 849.
  • the state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the media rate service).
  • the user interface module 316 generates the user interface 8001 based on the services 849, the options 872, the current state, and/or the previous states.
  • FIG. 8M illustrates the screenshot of the exemplary user interface 800m.
  • the user interface 800m includes input received by, for example, the end user device 310.
  • the input includes parcel information 821b, tariff information 822b, origin address 823b, destination address 824b, contact information 825b, postage 826b, and pre-applied services 827b.
  • the user interface 800m includes a listing of images 832 associated with the package.
  • the listing of image 832 can be utilized to view stored images, if any, of the package (e.g., quality assurance purposes, damage tracking purposes, etc.).
  • the user interface 800m includes a listing of the selected services and options 834 and a total cost of the selections 836.
  • the user interface 800m can be, for example, the end of a state machine associated with the user interfaces 800a- 800m (e.g., package information shipment state). The user can interact with the user interface 800m to ship the package.
  • FIG. 9 illustrates an exemplary flowchart 900 for user interface management utilizing, for example, the server 410 of FIG. 4.
  • the transceiver 441 receives (910) a user input.
  • the storage device 455 stores (920) a set of services and the set of services is associated with an application associated with the user interface. Each service is associated with one or more options.
  • the storage device 455 stores (940) a set of states and the set of states is associated with an operation of a user interface.
  • the business rules engine 442 determines (925) one or more available services from the set of services based on the user input.
  • the service module 443 determines (930) one or more available options associated with the one or more available services based on user input.
  • the state machine module 444 determines (945) a display state selected from the set of states based on the user input.
  • the user interface module 445 generates (950) a user interface based on the display state, the one or more available services, and the one or more available options. The user interface enables the user to select one or more of the available services and options.
  • the user interface module 445 determines (960) if there is additional user input. If there is no additional user input, the flowchart 900 ends (970). If there is additional user input, the transceiver 441 receives (910) the additional user input and the process as described herein is repeated.
  • FIG. 10 illustrates an exemplary flowchart 1000 for user interface management utilizing, for example, the server 410 of FIG. 4.
  • the transceiver 441 receives information (in this example, a weight signal and a video signal) from an enrollment device 220 of FIG. 2.
  • a weight module determines (1012) a weight of a package based on the weight signal.
  • a dimension capture module determines (1014) dimension data indicative of the size of the package based on the video signal.
  • the recognition module (not shown) determines (1016) one or more characters present on the package based on the video signal.
  • the business rules engine 442 determines (1020) one or more available services from the set of services based on the weight, the dimension data, and/or the one or more characters.
  • the service module 443 determines (1030) one or more available options associated with the one or more available services based on the weight, the dimension data, and/or the one or more characters.
  • the state machine module 444 retrieves (1040) a previous display state (e.g., a display state list, a display list storage device, etc.) and determines (1050) a display state selected from the set of states based on the previous display state.
  • the user interface module 445 generates (1060) a user interface based on the display state, the one or more available services, and the one or more available options. The user interface enables the user to select one or more of the available services and options.
  • FIG. 11 depicts an exemplary architecture 1100 for user interface management.
  • the architecture 1100 includes an extensible messaging and presence protocol (XMPP) messaging and configuration layer 1111, a domain specific resources layer 1112, a mails satisfiability engine 1113, business process modeling language (BPBL) business logic 1114, a user interface (UI) control state machine 1115, and a presentation layer for the user interface 1116.
  • the XMPP messaging and configuration layer 1111 receives operational messages 1121 and application small wave format (SWF) / hypertext markup language (HTML) information 1123.
  • SWF application small wave format
  • HTTP hypertext markup language
  • the domain specific resources layer 1112 receives tariffs, price look-ups (PLUs), icons, and/or any other product information 1124.
  • PLUs price look-ups
  • the mails satisfiability engine 1113 receives extensible markup language (XML) mails contraints 1122.
  • the BPML business logic 1114 receives transaction definitions 1125.
  • the UI control state machine 1115 receives an UI flow definition 1126.
  • the presentation layer 1116 receives an UI style and report definition 1127.
  • the layers, engine, logic, and/or machine communicate with each other as illustrated in the architecture 1100.
  • the architecture 1100 can be, for example, utilized on any of the devices, servers, and/or modules described herein. For example, the architecture 1100 is utilized on the end user device 310 of FIG. 3 for the user interface management.
  • the service storage device stores a modified set of one or more services (e.g., a new set of services sent from the configuration server 130c of FIG. 1, an updated set of services modified by the operation supervisor, etc.) and/or a modified set of one or more options.
  • the business rules engine 312 of FIG. 3 can determine, for example, a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface.
  • the service module 312 can determine a modified first set of one or more options associated with the first set of one or more services on the first input associated with the user interface.
  • the user interface module 316 can generate a modified user interface based on the first display state, the modified first set of one or more services, the first set of one or more services, the modified first set of one or more options, and/or the first set of one or more options.
  • the state storage device stores a modified set of one or more states.
  • the state machine module 314 of FIG. 3 can determine a modified display state selected from the modified set of states based on the first input associated with the user interface.
  • the user interface module 316 can generate a modified user interface based on the modified display state, the first set of one or more services, and/or the first set of one or more options.
  • the modified user interface enables selection at least one service and/or option from the first set of one or more services or the first set of one or more options.
  • the user interface module 316 can select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
  • the modified user interface can enable the selection of at least one of the modified first set of one or more services, the first set of one or more services, the modified first set of one or more options, and/or the first set of one or more options.
  • the modified set of one or more services can be an upgrade to the system and the ability to transition between the original user interface and the modified user interface is functionality of the upgrade in case of errors during the upgrade.
  • the user interface module generates the user interface selection request based on an error message associated with the modified user interface. For example, a user utilizing a point of sale device discovers an error with the modified user interface (e.g., missing link, incorrect options, etc.) and clicks on a report error link.
  • the report error link generates the user interface selection based on the error with the modified user interface (e.g., link opens a dialog box for the user to enter in the error, link automatically stores the user interface for analysis, etc.).
  • the user interface module 445 of FIG. 4 generates the first user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options for a first computing device (e.g., point of sale device).
  • the first user interface can enable the selection of at least one service or option from the first set of one or more services or the first set of one or more options.
  • the user interface module 445 can generate a second user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options for a second computing device (e.g., mobile computing device).
  • the first computing device and the second computing device can be different (e.g., different operating systems, different hardware types, different locations, different display devices, etc.).
  • the user interface and the second user interface can enable the selection of at least one service or option from the first set of one or more services or the first set of one or more options.
  • the enrollment apparatus 220 includes a receiving surface for receiving a package, a weight sensor in communication with the receiving surface which generates a weight signal indicative of the weight of the package, and/or a video camera which generates a video signal indicative of an image of the package on the receiving surface.
  • the enrollment apparatus 220 can include a processor in communication with the weight sensor and the video camera.
  • the processor can include a weight module which produces, in response to the weight signal, weight data indicative of the weight of the package, a dimension capture module which produces, in response to the video signal, dimension data indicative of the size of the package, and/or a recognition module which produces, in response to the video signal, character data indicative of one or more characters present on the package.
  • the enrollment apparatus 220 can be, for example, in communication with a package management system (e.g., the method and techniques described herein) to provide information indicative of the weight, size, and one or more characters present on the package.
  • the state machine defines the properties and flow of the user interface in such a way as to enable the use of the same software on different platforms and for different user types by simply changing the state machine.
  • the same software could be configured to provide services to, for example: (i) A member of the general public using a kiosk device; (ii) A member of staff using a business application on their workstation; (iii) A salesman using their personal digital assistant (PDA) or mobile email type device; (iv) A customer using their mobile phone; (v) A business customer using your web site to pre-process items for you; and/or (vi) Any other user utilizing a computing device.
  • the services and/or options are configured using a logic diagram and references to spreadsheet tables, hi other words, operational personal can configure the services and/or options available utilizing a graphical user interface with links to existing data.
  • the interface environment is used for a mail enrollment application, for example, one interfacing with the systems and devices described herein.
  • the user may interact with the interface using a touch screen or other interface device (e.g. a mouse or keyboard). It is to be understood that the following features and techniques may be applied generally to user interface environments.
  • several (two or more) sets of interdependent search criteria affect one another dynamically. As each criteria choice is selected, the displayed available range of choices across all sets is updated, and narrowed or otherwise altered. This provides a completely dynamic search process, as well "multi-dimensional” rather than linear, which allows many more choices to be considered, and much more quickly.
  • the user interface includes "Featured Services.” These (and other aspects of the interface as well as proposition offered to consumers) can be based specifically on address info associate with the user (e.g., the delivery address on a piece of mail presented at a kiosk).
  • touch-screen technology can be combined with a "hover" (prior-to-selection) state in the user interface. This can be performed in a Flex -based vector environment, hi other examples, when a hover state is encountered, buttons (or icons, etc.) expand to indicate hovering.
  • this technique can be applied to non-touch screen environments, e.g., to indicate hovering of a mouse indicator or other interface device.
  • a multi-tiered criteria approach makes it possible for users to occasionally select criteria that conflict with one another.
  • the traditional approach to this situation is to allow users to select criteria in linear fashion only, and eliminate potential conflicts by requiring users to plough through sequential pairs of choices.
  • Some embodiments provide a faster, more sophisticated approach, providing graphics and language to manage the multi-dimensional search process.
  • the user interface module 316 generates a user interface link.
  • the user interface link enables selection of the previous user interfaces from the current user interface.
  • the user interface module 316 can modify the current user interface based on the user interface link (e.g., return the user interface to previous user interfaces).
  • the user interface link can include mini-screenshots of previous user interfaces.
  • the user interface includes mini-screenshots of previous user interfaces.
  • the mini-screenshots of the previous user interfaces can be utilized to orient users as they move through an application.
  • the described interface shows users where the user has been with miniaturized screen shots of each step the user has taken in the application. The user can click on any of these small screens to return to that point in the process.
  • the "hover" state allows them to see the page in larger form, in they case the user needs more detail.
  • the devices and techniques described can have, for example, commercial applications in the following market segments:
  • Managed Content The evolution of the letter stream as a facility to carry packets suitable for delivery to unattended delivery points requires the addition of infrastructure allowing that activity. The enrolment of such items requires the ability to capture all of the information required for all items to be sent through the mail stream as well as new value added services. The ability to tag items with services such as cold stream, work flow notifications, risk management, call center notifications, and conditional deliveries will be required.
  • the enrollment device would be located in locations such as pharmacies or dedicated shipping centers where prescriptions were being prepared for shipment to patients.
  • the enrollment device For the highly automated postal operators and courier companies, the enrollment device provides automated "front end" data collection, leveraging their existing investment in systems and technology. For the low or non-automated strata of postal operators and courier companies, the enrollment device provides a low-cost automation solution for the capture and management of shipment related information at their counter locations, eliminating a range of paper-based processes and enabling integration with 3rd party carriers and systems.
  • the enrollment device provides the pharmaceutical industry with a means of automating the Provenance and Chain of Custody aspects of their business.
  • One or more or any part thereof of the techniques described above can be implemented in computer hardware or software, or a combination of both.
  • the methods can be implemented in computer programs using standard programming techniques following the examples described herein.
  • Program code is applied to input data to perform the functions described herein and generate output information.
  • the output information is applied to one or more output devices such as a display monitor.
  • Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system.
  • the programs can be implemented in assembly or machine language, if desired. In any case, the language can be a compiled or interpreted language.
  • the program can run on dedicated integrated circuits preprogrammed for that purpose.
  • Each such computer program is preferably stored on a storage medium or device (e.g., ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein.
  • the computer program can also reside in cache or main memory during program execution.
  • the analysis method can also be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
  • the inventors have realized that a business system and/or an interface environment may be provided to aid in the enrollment, processing, management etc. of mail pieces and other supply chain items.
  • the business system and/or interface environment interface with enrollment devices of the type are described herein.
  • Such devices can replace both the traditional weigh scale, as well as the postage meter, which are currently found at induction points for Postal, Courier and Supply Chain operations.
  • a combination of Optical Character Recognition (OCR) and dimension capture e.g. using optical dimension capture and/ or ultrasonic range-finding technologies is used to capture and convert addressing, payment, account and shipment related data, plus weight and dimensional information (when relevant) from packages, letters, and documentation which are placed on, in, or near the device.
  • OCR Optical Character Recognition
  • dimension capture e.g. using optical dimension capture and/ or ultrasonic range-finding technologies
  • Such a device provides a "front end" mechanism for entering shipment related data into a business environment (e.g. postal environment).
  • the application includes a package delivery application, a supply chain management application, an inventory management application, a chain of custody management application, and/or any other type of application.
  • the above-described systems and methods can be implemented in digital electronic circuitry, in computer hardware, firmware, and/or software.
  • the implementation can be as a computer program product (i.e., a computer program tangibly embodied in an information carrier).
  • the implementation can, for example, be in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus.
  • the implementation can, for example, be a programmable processor, a computer, and/or multiple computers.
  • a computer program can be written in any form of programming language, including compiled and/or interpreted languages, and the computer program can be deployed in any form, including as a stand-alone program or as a subroutine, element, and/or other unit suitable for use in a computing environment.
  • a computer program can be deployed to be executed on one computer or on multiple computers at one site.
  • Method steps can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by and an apparatus can be implemented as special purpose logic circuitry.
  • the circuitry can, for example, be a FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit). Modules, subroutines, and software agents can refer to portions of the computer program, the processor, the special circuitry, software, and/or hardware that implements that functionality.
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor receives instructions and data from a read-only memory or a random access memory or both.
  • the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
  • a computer can include, can be operatively coupled to receive data from and/or transfer data to one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks).
  • Data transmission and instructions can also occur over a communications network.
  • Information carriers suitable for embodying computer program instructions and data include all forms of non- volatile memory, including by way of example semiconductor memory devices.
  • the information carriers can, for example, be EPROM, EEPROM, flash memory devices, magnetic disks, internal hard disks, removable disks, magneto-optical disks, CD-ROM, and/or DVD-ROM disks.
  • the processor and the memory can be supplemented by, and/or incorporated in special purpose logic circuitry.
  • the above described techniques can be implemented on a computer having a display device.
  • the display device can, for example, be a cathode ray tube (CRT) and/or a liquid crystal display (LCD) monitor.
  • CTR cathode ray tube
  • LCD liquid crystal display
  • the interaction with a user can, for example, be a display of information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer (e.g., interact with a user interface element).
  • a keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user.
  • Other devices can, for example, be feedback provided to the user in any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback).
  • Input from the user can, for example, be received in any form, including acoustic, speech, and/or tactile input.
  • the above described techniques can be implemented in a distributed computing system that includes a back-end component.
  • the back-end component can, for example, be a data server, a middleware component, and/or an application server.
  • the above described techniques can be implemented in a distributing computing system that includes a front-end component.
  • the front-end component can, for example, be a client computer having a graphical user interface, a Web browser through which a user can interact with an example implementation, and/or other graphical user interfaces for a transmitting device.
  • the components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, wired networks, and/or wireless networks.
  • LAN local area network
  • WAN wide area network
  • the Internet wired networks, and/or wireless networks.
  • the system can include clients and servers.
  • a client and a server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
  • Packet-based networks can include, for example, the Internet, a carrier internet protocol (IP) network (e.g., local area network (LAN), wide area network (WAN), campus area network (CAN), metropolitan area network (MAN), home area network (HAN)), a private IP network, an IP private branch exchange (IPBX), a wireless network (e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN), and/or other packet-based networks.
  • IP internet protocol
  • LAN local area network
  • WAN wide area network
  • CAN campus area network
  • MAN metropolitan area network
  • HAN home area network
  • IP network IP private branch exchange
  • wireless network e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN
  • GPRS general packet radio service
  • HiperLAN HiperLAN
  • Circuit-based networks can include, for example, the public switched telephone network (PSTN), a private branch exchange (PBX), a wireless network (e.g., RAN, bluetooth, code-division multiple access (CDMA) network, time division multiple access (TDMA) network, global system for mobile communications (GSM) network), and/or other circuit-based networks.
  • PSTN public switched telephone network
  • PBX private branch exchange
  • CDMA code-division multiple access
  • TDMA time division multiple access
  • GSM global system for mobile communications
  • the end user device can include, for example, a computer, a computer with a browser device, a telephone, an IP phone, a mobile device (e.g., cellular phone, personal digital assistant (PDA) device, laptop computer, electronic mail device), and/or other communication devices.
  • PDA personal digital assistant
  • the browser device includes, for example, a computer (e.g., desktop computer, laptop computer) with a world wide web browser (e.g., Microsoft® Internet Explorer® available from Microsoft Corporation, Mozilla® Firefox available from Mozilla Corporation).
  • the mobile computing device includes, for example, a personal digital assistant (PDA).
  • PDA personal digital assistant
  • Comprise, include, and/or plural forms of each are open ended and include the listed parts and can include additional parts that are not listed. And/or is open ended and includes one or more of the listed parts and combinations of the listed parts.

Abstract

Described are computer-based methods and apparatuses, including computer program products, for user interface management. In some examples of the technology, available services are determined based on a user input. Available options can be determined based on the available services and/or the user input. A display state can be selected from a set of states and/or the user input. A user interface can be generated based on the available services, the available options, and/or the display state.

Description

USER INTERFACE MANAGEMENT
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application claim priority to the provisional patent application identified by Attorney Docket No. 091094-0107, entitled "Mail Management System and Method," U.S. Provisional Patent Application No. 61/082,780, filed on July 22, 2008, the disclosure of which is hereby incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention relates generally to computer-based methods and apparatuses, including computer program products, for user interface management.
BACKGROUND
[0003] In industries such as the Postal, Courier, and Supply Chain industries, objects (e.g. letters or parcels) are enrolled into a system for tracking and delivery. For example, items presented at post offices and related locations for onward delivery currently require the counter staff and / or customers to manually enter data regarding address information, weight, dimensional information, and other shipment characteristics. The manual collection of this information is costly, in terms of time, error rates on manual data entry, plus errors in correctly rating items. Retail locations are also typically required to maintain space for both the scale and the metering devices.
[0004] Postal authorities are mandating the capture of additional information for items being accepted across post office counters. It is now a common requirement that dimensions, destination, and sender information be captured. Complexity is increasing while the ability to maintain a well trained counter staff is declining. Increasing use of franchise points of presence is causing compliance, training, accounting, and security problems. [0005] For example, a customer may bring a package to a post office point of sale. A postal employee will receive the package, gather information related to the package (e.g. intended destination, package dimensions, package weight, type of delivery, desired delivery date, customer information, payment information etc.). In typical situations, the information is gathered manually, and in a highly linear and labor intensive fashion. For example, in a typical transaction, a postal employee might receive a package, weigh it, measure its dimensions with a tape measure, enter this information into a computer, read a label on the package, enter delivery address information found on this label, query the customer about desired delivery type and date, enter this information into a computer, provide pricing information to the customer, accept payment, etc.
[0006] Improvement in user interfaces for enrollment efficiency and/or other applications could provide substantial savings in, for example, labor costs, error costs, and time.
SUMMARY OF THE INVENTION
[0007] One approach to user interface management is a method. The method includes: storing a set of states in a state storage device, the set of states associated with an operation of a user interface; storing a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determining a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determining a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0008] Another approach to user interface management is a computer program product, tangibly embodied in an information carrier. The computer program product including instructions being operable to cause a data processing apparatus to: store a set of states in a state storage device, the set of states associated with an operation of a user interface; store a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0009] Another approach to user interface management is a system for user interface management. The system includes a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; a state machine module configured to determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and a user interface module configured to generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0010] Another approach to user interface management is a system. The system includes means for storing a set of states, the set of states associated with an operation of a user interface; means for storing a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; means for determining a first set of one or more services from the set of services based on a first input associated with the user interface; means for determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; means for determining a first display state selected from the set of states based on the first input associated with the user interface; and means for generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0011] Another approach to user interface management is a method. The method includes determining a weight of a package based on a weight signal; determining dimension data indicative of the size of the package based on a video signal; determining one or more characters present on the package based on the video signal; determining a first set of one or more services from a set of services stored in a service storage device based on at least one of: the weight, the dimension data, or the one or more characters; determining a first set of one or more options associated with the first set of one or more services based on at least one of: the weight, the dimension data, or the one or more characters; determining a first display state selected from a set of states stored in a state storage device based on a previous state associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0012] Another approach to user interface management is a system. The system includes a weight module which produces, in response to a weight signal, weight data indicative of the weight of a package; a dimension capture module which produces, in response to a video signal, dimension data indicative of the size of the package; a recognition module which produces, in response to the video signal, character data indicative of one or more characters present on the package; a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with the package management system associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on the weight data, the dimension data, and the character data; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the weight data, the dimension data, and the character data; a state machine module configured to determine a first display state selected from the set of states stored in the state storage device based on a previous display state; and a user interface module configured to generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0013] In other examples, any of the approaches above can include one or more of the following features.
[0014] In some examples, the method includes: storing a modified set of one or more services in the service storage device; determining a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; generating a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request. [0015] In other examples, the method includes generating the user interface selection request based on an error message associated with the modified user interface.
[0016] hi some examples, the method includes: storing a modified set of one or more options in the service storage device; determining a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; generating a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
[0017] In other examples, the method includes: storing a modified set of one or more states in the state storage device; determining a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; generating a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
[0018] In some examples, the method includes: wherein generating the first user interface further includes generating the first user interface for a first computing device; and generating a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options. [0019] In other examples, the method includes: receiving a second input associated with the user interface; determining a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; determining a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; determining a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and generating a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options. [0020] In some examples, the method includes: generating a user interface link enabling selection of the first user interface from the second user interface; and modifying the second user interface based on the user interface link. [0021] In other examples, the method includes: receiving a third input associated with the user interface; determining a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; determining a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; determining a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and generating a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options. [0022] In some examples, the method includes: generating a user interface link enabling selection of the first user interface or the second user interface from the third user interface; and modifying the second user interface based on the user interface link.
[0023] In other examples, the method includes: storing the first user interface and the second user interface in a storage device; receiving a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and displaying the first user interface on a display device.
[0024] In some examples, the method includes: receiving a fifth input associated with the user interface; determining a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; determining a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; determining a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and generating a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options. [0025] In other examples, the fourth set of one or more services includes a different set of services than the second set of one or more services and the fourth set of one or more options includes a different set of options than the second set of one or more options.
[0026] In some examples, the method includes: receiving a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and modifying the first user interface for display on the first computing device based on the localization option. [0027] In other examples, the method includes displaying the user interface on a display device. [0028] In some examples, the state storage device and the service storage device are different storage devices.
[0029] In other examples, the application includes at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
[0030] In some examples, the system includes: the service storage device further configured to store a modified set of one or more services; the business rules engine further configured to determine a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
[0031] In other examples, the system includes the user interface module further configured to generate the user interface selection request based on an error message associated with the modified user interface. [0032] In some examples, the system includes: the service storage device further configured to store a modified set of one or more options; the service module further configured to determine a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request. [0033] In other examples, the system includes: the state storage device further configured to store a modified set of one or more states; the state machine module further configured to determine a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request. [0034] In some examples, the system includes: the user interface module further configured to generate the first user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a first computing device, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and a second user interface module configured to generate a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
[0035] In other examples, the system includes: a transceiver configured to receive a second input associated with the user interface; the business rules engine module further configured to determine a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; the service module further configured to determine a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; the state machine module further configured to determine a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and the user interface module further configured to generate a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options. [0036] In some examples, the system includes the user interface module further configured to: generate a user interface link enabling selection of the first user interface from the second user interface; and modify the second user interface based on the user interface link.
[0037] In other examples, the system includes: the transceiver further configured to receive a third input associated with the user interface; the business rules engine module further configured to determine a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; the service module further configured to determine a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; the state machine module further configured to determine a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and the user interface module further configured to generate a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options.
[0038] In some examples, the system includes the user interface module further configured to: generate a user interface link enabling selection of the first user interface or the second user interface from the third user interface; and modify the second user interface based on the user interface link. [0039] In other examples, the system includes: a storage device configured to store the first user interface and the second user interface; the transceiver further configured to receive a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and a display device configured to display the first user interface. [0040] In some examples, the system includes: the transceiver further configured to receive a fifth input associated with the user interface; the business rules engine module further configured to determine a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; the service module further configured to determine a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; the state machine module further configured to determine a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and the user interface module further configured to generate a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options.
[0041] In other examples, the system includes: the fourth set of one or more services includes a different set of services than the second set of one or more services and the fourth set of one or more options includes a different set of options than the second set of one or more options. [0042] In some examples, the system includes: a localization module configured to receive a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and the user interface module further configured to modify the first user interface for display on the first computing device based on the localization option.
[0043] In other examples, the system includes a display device for displaying the user interface.
[0044] In some examples, the system includes the state storage device and the service storage device are different storage devices. [0045] In other examples, the system includes the application includes at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
[0046] In some examples, the system includes the weight, the dimension data, and the one or more characters present on the package, respectively, are determined substantially in parallel.
[0047] The user interface management techniques described herein can provide one or more of the following advantages. An advantage of the user interface management is that different types of end user devices can receive the same selection of services and options from the same configuration files, thereby increasing the efficiency of the delivery of user interfaces to multiple types of end user devices. Another advantage of the user interface management is that the flow of the user interface is based on available services, available options, and the display state, thereby increasing the efficiency of the user interface by providing the user with all of the available selections instead of just the selections that fit within a linear sequence of a user interface design.
[0048] Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating the principles of the invention by way of example only.
BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The foregoing and other objects, features, and advantages of the present invention, as well as the invention itself, will be more fully understood from the following description of various embodiments, when read together with the accompanying drawings.
[0050] FIG. 1 is a block diagram of an exemplary user interface system; [0051] FIG. 2 depicts an exemplary system utilizing a computing device and an enrollment apparatus; [0052] FIG. 3 is a block diagram of another exemplary user interface system;
[0053] FIG. 4 is a block diagram of another exemplary user interface system;
[0054] FIGS. 5A-5C illustrate exemplary service descriptions;
[0055] FIGS. 6A-6B illustrate an exemplary service flowchart;
[0056] FIGS. 7A-7B depict exemplary state machines;
[0057] FIGS. 8A-8M illustrate screenshots of an exemplary user interface;
[0058] FIG. 9 illustrates an exemplary flowchart for user interface management;
[0059] FIG. 10 illustrates an exemplary flowchart for user interface management; and
[0060] FIG. 11 depicts an exemplary architecture for user interface management.
DETAILED DESCRIPTION
[0061] FIG. 1 is a block diagram of an exemplary user interface system 100. The system 100 includes end user devices 110, a network 120, and servers 130. The end user devices 110 include a point of sale device 110a, a personal digital assistant 110b, a computer 110c through a phone HOz. The servers 130 include a storage server 130a, a web server 130b, and a configuration server 130c. One or more of the end user devices 110 and/or the servers 130 can be utilized for execution of any of the techniques described herein.
[0062] The end user devices 110 communicate with the servers 130 via the network 120. Although FIG. 1 illustrates the network 120, the system 100 can includes a plurality of interconnected networks for the communication between the end user devices 110 and the servers 130.
[0063] In some examples, the end user devices 110 manage the user interface and processing related thereto locally (i.e., the user interface is executed on the end user devices 110). In other examples, the user interface management and processing related thereto is operated remotely at the servers 130 for display on the end user devices 110 (i.e., the user interface is executed on the servers 130 and the generated display is sent to the end user devices 110 for display). In some examples, the end user devices 110 and the servers 130 split the management of the user interface and the processing related thereto (e.g., the services, options, and display class are determined at the configuration server 130c and the point of sale device 110a generates the user interface).
[0064] FIG. 2 depicts an exemplary system 200 utilizing a computing device 210 and an enrollment apparatus 220. The computing device 210 and the enrollment device 220 can be utilized for execution of any of the techniques described herein. For example, the enrollment apparatus 220 receives the input for use by the computing device 210 (in this example, package weight, package dimensions, package origin, package destination) and the computing device 210 operates the user interface (e.g., generates the user interface and solicits selection of services and/or options).
[0065] FIG. 3 is a block diagram of another exemplary user interface system 300. The system 300 includes an end user device 310. The end user device 310 includes a transceiver 311 , a business rules engine 313, a service module 313, a state machine module 314, a localization module 315, a user interface module 316, a display device 321, an input device 322, an output device 323, a processor 324, and a storage device 325. The modules and devices described herein can, for example, utilize the processor 324 to execute computer executable instructions and/or include a processor to execute computer executable instructions (e.g., a graphic processing unit, a field programmable gate array processing unit, etc.). It should be understood that the end user device 310 can include, for example, other modules, devices, and/or processors known in the art.
[0066] The transceiver 311 communicates data to/from the end user device 310. The transceiver 311 can, for example, receive actions associated with the user interface (e.g., user selection in the user interface, etc.).
[0067] The business rules engine 312 determines a first set of one or more services from the set of services stored in the service storage device based on an input associated with the user interface. For example, the set of services stored in the service storage device includes twenty different services (e.g., airmail, express mail, first class mail, etc.) and the first set of one or more services includes ten different services (e.g., airmail, first class mail, etc.).
[0068] The service module 313 determines a first set of one or more options associated with the first set of one or more services based on the input associated with the user interface. For example, the first set of one or more services includes ten different services and based on the first input (e.g., package weight, destination address, origin address, package dimensions, etc.), the service module 313 determines that eight different options are available (e.g., registered mail, receipt confirmation, etc.).
[0069] The state machine module 314 determines a first display state selected from the set of states stored in the state storage device based on the input associated with the user interface and/or previous display states, if any. For example, the set of states includes twenty five different states (e.g., order entry state, package delivery state, package option state, etc.) and state machine module 314 determines the first display state based on the search request input from the user (in this example, the search request input is from the order entry state and transitions the state to the package delivery state).
[0070] The localization module 315 receives a localization option associated with the first user interface. The localization option can be associated with a location of a computing device (e.g., the computing device is located in Boston and the localization option localizes the user interface to Boston, the computing device is in England and the localization option localize the language of the user interface to United Kingdom English, etc.). The user interface module 316 can modify the user interface for display on the computing device based on the localization option (e.g., modify the language to United Kingdom English, etc.).
[0071] The user interface module 316 generates a first user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options. The first user interface enables the selection of at least one of the first set of one or more services or the first set of one or more options. For example, the first user interface enables the user to select airmail service and a delivery confirmation option.
[0072] The display device 321 displays the user interface and/or any other type of information (e.g., reports, text, graphics, video, etc.). The input device 322 receives input for the end user device 310 (e.g., keyboard input, mouse input, touch screen input, etc.). The output device 323 outputs information from the end user device 310 (e.g., printer output, audio output, etc.). The processor 324 executes computer executable instructions for the end user device 310 (e.g., software to generate the user interface, software to determine the available services, etc.).
[0073] The storage device 325 stores data and/or information associated with the user interface management and can include a state storage device, a service storage device, and/or other storage device. The state storage device stores a set of states (e.g., original set of states, modified set of states, etc.). The set of states is associated with an operation of a user interface (e.g., package information input state, package information confirmation state, package order state, etc.). The service storage device stores a set of services (e.g., original set of services, modified set of services, etc.). The set of services is associated with an application associated with the user interface (e.g., mail delivery application, package tracking application, etc.). Each service in the set of services is associated with one or more options (e.g., registered mail, signature confirmation, etc.). The state storage device, the service storage device, and/or the other storage devices can be, for example, parts of the storage device (e.g., separate storage areas and/or separate storage devices (e.g., separate hard drives in a computing device).
[0074] FIG. 4 is a block diagram of another exemplary user interface system 400. The system 400 includes a server 410. The server 410 includes a transceiver 441, a business rules engine 442, a service module 443, a state machine module 444, a user interface module 445, a configuration module 446, a web module 447, a display device 451, an input device 452, an output device 453, a processor 454, and a storage device 455. The modules and devices described herein can, for example, utilize the processor 454 to execute computer executable instructions and/or include a processor to execute computer executable instructions (e.g., a graphic processing unit, a field programmable gate array processing unit, etc.). It should be understood that the server 410 can include, for example, other modules, devices, and/or processors known in the art.
[0075] The devices, modules, and/or engines of the server 410 can be substantially similar to the corresponding devices, modules, and/or engines of the end user device 310 of FIG. 3 (e.g., the business rules engine 442 and the business rules engine 312, the service module 443 and the service module 313, etc.) except the devices, modules, and/or engines of the server 410 function in the context of the server 410 (e.g., the server 410 generates user interfaces for a plurality of end user devices 110 of FIG. 1). For example, the transceiver 441 communicates data to/from the server 410. The transceiver 441 can, for example, receive actions associated with the user interface (e.g., user selection in the user interface, etc.).
[0076] Although the devices, modules, and/or engines of the server 410 are substantially similar to the corresponding devices, modules, and/or engines of the end user device 110, the business rules engine 442, the service module 443, the state machine module 444, and/or the user interface module 445 can be executed for a plurality of end user devices 110 of FIG. 1. For example, the business rules engine 442 can determines a set of services for each end user device in a group of end user devices.
[0077] The configuration module 446 provides configuration and/or localization options for the end user devices 110. For example, the configuration module 446 transmits England localization options to every end user device located in England. As another example, the configuration module 446 transmits the set of services designated for the U.S. Postal Service to every end user device associated with the U.S. Postal Service.
[0078] The web module 447 provides web services for the server 410. The web module 447 can operate computer executable instructions for a web server that communicates web pages to/from the server 410 from/to the end user devices.
[0079] FIG. 5A illustrates an exemplary service description 500a. The service description 500a includes a lookup table 510a, a service flowchart 520a, and a service indicator 530a. The service description 500a can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is speedpost). The service module 313 receives input into the service flowchart 520a and performs a lookup utilizing the lookup table 510a to determine the available options, if any, and a cost, if any, for the service based on the input, hi this example, a speedpost fee is determined based on a destination input and a weight input, but no options exist for the speedpost service (in this example, the set of available options includes a single option, NULL).
[0080] FIG. 5B illustrates an exemplary service description 500b. The service description 500b includes a lookup table 510b, a service flowchart 520b, and a service indicator 530b. The service description 500b can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is airmail). The service module 313 receives input into the service flowchart 520b and performs a lookup utilizing the lookup table 510b to determine the available options, if any, and a cost, if any, for the service based on the input, hi this example, an airmail fee is determined based on a destination input and a weight input and an option for registered mail is determined.
[0081] FIG. 5C illustrates an exemplary service description 500c. The service description 500c includes a lookup table 510c, a service flowchart 520c, and a service indicator 530c. The service description 500c can be utilized, for example, by the service module 313 of FIG. 3 and/or the service module 443 of FIG. 4 to determine available options for the service (in this example, the service is local mail). The service module 443 receives input into the service flowchart 520c and performs a lookup utilizing the lookup table 51 Oc to determine the available options, if any, and a cost, if any, for the service based on the input. In this example, an local fee is determined based on a destination input and a weight input and an option for registered mail is determined.
[0082] FIGS. 6 A and 6B illustrate an exemplary service flowchart 600a and 600b utilizing, for example, the end user device 310 of FIG. 3. The input device 322 receives input associated with the user interface. The input includes weight input 612 (e.g., determined by a scale, input by a user, etc.), distance input 614 (e.g., calculated based on the destination and the origin addresses inputted by the user, calculated based on the destination and the origin addresses inputted via a camera and optical character recognition device, etc.), size input 616 (e.g., input by a user, determined from an enrollment device, etc.), and day input 618 (e.g., determined from the calendar on the end user device 310, input by the user, etc.).
[0083] The business rules engine 312 determines a standard fee output 632 based on a domestic lookup function 622 and the weight input 612. The business rules engine 312 determines a long distance fee output 634 based on a distance lookup function 624 and the distance input 614. The business rules engine 312 determines an oversize fee output 636 based on a letter size lookup function 626 and the size input 616. The business rules engine 312 determines a Saturday fee output 638 based on a standard days lookup function 628 and the day input 618.
[0084] The output from the functions 622, 624, 626, and 628 is combined by a gate 640 (e.g., software process that concatenates the output into a message, etc.). The processing of the flowchart 600a is continued 650 into the flowchart 600b. The combined output from the functions 622, 624, 626, and 628 is input by the service module 313 into a domestic letter service 660 to determine options that are available for the application (in this example, mailing a package). The available options include an advice of delivery option 665, an insurance option 666, and an express option 667. [0085] The service module 313 determines the options that are selected and not selected based on the input and the flow of the services and/or options. As illustrated in FIG. 6B, the services and the options have two inputs - select service 661 and enable service 662 - and two outputs - set when selected 663 and clear when selected 664. As illustrated in FIG. 6B, if the insurance option 666 is selected, the express option 667 is cleared and disabled and the advice of delivery option 665 is selected (in this example, a package cannot have both the insurance option 666 and the express option 667, but a package with the insurance option 666 must have the advice of delivery option 665).
[0086] Upon selection of the advice of delivery option 665, the service module 313 utilizes a sender address input 672 and determines an advice of delivery fee output 673. Upon selection of the insurance option 666, the service module 313 utilizes an insured value input 682 as input to an insurance lookup function 684 to determine an insurance fee output 686. Upon selection of the express option 667, the service module 313 determines an express fee output 692.
[0087] Other exemplary input devices (e.g., enrollment devices, scales, etc.) are further discussed in U.S. Patent Application No. 12/324,204, filed on 11/26/2008, entitled "Enrollment Apparatus, System, and Method," which is incorporated by reference herein.
[0088] Although the flowchart 600a and 600b is illustrated utilizing the end user device 310, the flowchart 600a and 600b can be, for example, executed on the server 410 of FIG. 4 or any other device, module, and/or server as described herein.
[0089] FIG. 7A depicts an exemplary state machine 700a utilizing, for example, the end user device 310 of FIG. 3. The state machine module 314 enters the state machine 700a at a splash or advertising state 702 (e.g., displaying an advertisement on the display device 321 of the end user device 310). Based on user actions, the state machine module 314 enters the next state and subsequent states. If the user selects configuration on the user interface, the state machine module 314 enters a configuration state 704. If the user touches the screen, the state machine module 314 enters a process items state 710. Within the process items state 710, the state machine module 314 enters a confirmation state 711. Based on the user actions (i.e., select a search link in the user interface, select a bill pay complete link in the user interface, etc.), the state machine module 314 enters a correction state 712, a calendar state 713 , a primary selected state 714, and/or a basket state 715. Upon the completion of the basket state 715, the state machine module 314 exits the process items state 710 and enters a shutdown state 720.
[0090] The user interface module 316 can utilize the current state of the state machine 700a for the generation of the user interface. For example, if the current state is the confirmation state 711, the user interface module 316 generates a user interface based on the confirmation state 711, the selected services, and the selected options (in this example, the user interface is configured to list the existing services and/or options for confirmation purposes). As another example, if the current state is the basket state 715, the user interface module 316 generates a user interface based on the basket state 715, the selected services, and the selected options (in this example, the user interface is configured to provide sub-total prices for the selected service and selected options, if any, and a total price for the selected service and selected options, if any).
[0091] FIG. 7B depicts an exemplary state machine 700b utilizing, for example, the end user device 310 of FIG. 3. The state machine module 314 enters a confirmation state 740. The confirmation state 740 can be a sub-state machine of the confirmation state 711 of FIG. 7 A. The state machine module 314 starts the state machine at a mail item state 741. Based on user actions, the state machine module 314 enters the next state and subsequent states. Based on the user actions, the state machine module 314 enters a bill payment state 742, a correction state 743, or an exit state 750. For example, if the state machine is in the mail item state 741 and the user selects to search, the state machine module 314 transitions to the exit state 750. [0092] FIGS. 8A-8M illustrate screenshots of an exemplary user interface 800a-800m. FIG. 8 A illustrates the screenshot of the exemplary user interface 800a. The user interface 800a illustrates input received by, for example, the end user device 310 of FIG. 3. The input device 322 receives an image 810a of a package for delivery. The input device 322 processes the image 810a to determine input for the user interface generation process (e.g., optical character recognition (OCR) of the characters on the package, dimension analysis of the package, etc.). For example, the input device 322 identifies address information for the package 812 and 814 in the image 810a and OCRs the address information 812 and 814 to determine the origin and destination address. The input includes parcel information 821a, tariff information 822a, origin address 823 a, destination address 824a, contact information 825 a, postage 826a, and pre-applied services 827a. The user interface 800a can be, for example, the beginning of a state machine associated with the user interfaces 800a-800m (e.g., package information entry state). The user can interact with the user interface 800a to select a search input 830. The search input 830 directs the state machine to the next state (in this example, order entry state).
[0093] FIG. 8B illustrates the screenshot of the exemplary user interface 800b. The business rules engine 312 determines services 840 that are available based on the input. The service module 313 determines options 860 that are available based on the services 840 (in this example, the options 860 are referenced as additional services in FIG. 8B). The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the package information entry state) and the input (in this example, search available services and options). The user interface module 316 generates the user interface 800b based on the services 840, the options 860, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892 and enables the user to return to any of the previous user interfaces. [0094] FIG. 8C illustrates the screenshot of the exemplary user interface 800c. The business rules engine 312 determines a selected service 841 based on the input (in this example, the user's selection of the media rate service in the user interface 800b). The service module 313 determines options 861 that are available based on the service 841. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the media rate service). The user interface module 316 generates the user interface 800c based on the services 841, the options 861, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892 and 893 a and enables the user to return to any of the previous user interfaces.
[0095] FIG. 8D illustrates the screenshot of the exemplary user interface 800d. The business rules engine 312 determines a selected service 842 based on the previous input (in this example, the user's selection of the media rate service in the user interface 800b). The service module 313 determines other available options that are available based on the selected service 842 and indicates the selected option 862 (in this example, a certificate of mailing option). The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the certificate of mailing option). The user interface module 316 generates the user interface 800d based on the services 842, the options 862, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893a, and 894a and enables the user to return to any of the previous user interfaces.
[0096] FIG. 8E illustrates the screenshot of the exemplary user interface 800e. The business rules engine 312 determines a selected service 843 based on the previous input (in this example, the user's selection of the media rate service in the user interface 800b). The service module 313 determines other available options that are available based on the service 843 and indicates the selected options 863 (in this example, a certificate of mailing option and a restricted delivery option). The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted delivery option). The user interface module 316 generates the user interface 80Oe based on the services 843, the options 863, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893a, 894a, and 895a (e.g., a database of previous user interfaces, etc.) and enables the user to return to any of the previous user interfaces.
[0097] FIG. 8F illustrates the screenshot of the exemplary user interface 80Of. The user interface 800f illustrates a return to the previous user interface 893a based on a user's input (in this example, selecting the previous user interface 893a in the user interface 80Oe). As illustrated, the user interface 800f returns to the user interface 800b based on the selection by the user. The user interface 800b includes the available services 844 and available options 864 determined based on the available services 844. The user interface module 316 tracks previous user interfaces 892 and enables the user to return to any of the previous user interfaces.
[0098] FIG. 8G illustrates the screenshot of the exemplary user interface 800g. The business rules engine 312 determines available services 845 based on the input (in this example, the user's selection of the delivery option in the user interface 80Of). The service module 313 determines options 865 that are available based on the service 845 and the selected option 865. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the delivery option). The user interface module 316 generates the user interface 800g based on the services 845, the options 865, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892 and 893b and enables the user to return to any of the previous user interfaces.
[0099] FIG. 8H illustrates the screenshot of the exemplary user interface 800h. The business rules engine 312 determines available services 846 based on the input (in this example, the input is the user's selection of the registered option in the user interface 80Og and the parcel rate service, the media rate service, and the library rate service are removed from the set of available services based on the user's selection of the registered option). The service module 313 determines options that are available and unavailable based on the service 846 and the selected options 866a and 865. The unavailable options 867 and 868a are unavailable based on the selection of the registered option 866a in the user interface 80Og by the user. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the delivery option). The user interface module 316 generates the user interface 80Oh based on the services 846, the options 865, 866a, 867, and 868a, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893b, and 894b and enables the user to return to any of the previous user interfaces.
[00100] FIG. 81 illustrates the screenshot of the exemplary user interface 800i. The user interface 800i illustrates the user interface 800h with a selection of a restricted option 868b. Upon the selection of the restricted option 868b, the user interface module 316 requests confirmation of the input since the selection of the restricted option 868b removes the selection of the registered option 866b. In other words, based on the available services 846, the restricted option 868b and the registered option 866b cannot both be selected.
[00101] FIG. 8 J illustrates the screenshot of the exemplary user interface 800j. The business rules engine 312 determines available services 847 based on the input (in this example, the input is the user's selection of the restricted option in the user interfaces 800h and 800i and the list of available services changes from premier service and premier flat rate service to parcel rate service, media rate service, and library rate service). The service module 313 determines options that are available and unavailable based on the services 847 and the selected options 865 and 869. The unavailable options 870 and 871 are unavailable based on the selection of the restricted option 869 in the user interfaces 800h and 800i by the user. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted option). The user interface module 316 generates the user interface 80Oj based on the services 847, the options 865, 869, 870, and 871, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893b, 894b, and 895b and enables the user to return to any of the previous user interfaces.
[00102] FIG. 8K illustrates the screenshot of the exemplary user interface 800k. The business rules engine 312 determines available services 848 based on the input (in this example, the user's selection to remove the restricted option in the user interfaces 800j). The service module 313 determines options that are available based on the services 848 and the selected option 865. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the restricted option). The user" interface module 316 generates the user interface 800k based on the services 848, the option 865, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893b, 894b, 895b, and 896b and enables the user to return to any of the previous user interfaces.
[00103] FIG. 8L illustrates the screenshot of the exemplary user interface 8001. The business rules engine 312 determines a selected service 849 based on the input (in this example, the user's selection of the media rate service in the user interface 800m). The service module 313 determines options 872 that are available based on the service 849. The state machine module 314 determines the state (in this example, order entry state) based on the previous state (in this example, the order entry state) and the input (in this example, selection of the media rate service). The user interface module 316 generates the user interface 8001 based on the services 849, the options 872, the current state, and/or the previous states. The user interface module 316 tracks previous user interfaces 892, 893b, 894b, 895b, 896b, and 897b and enables the user to return to any of the previous user interfaces. [00104] FIG. 8M illustrates the screenshot of the exemplary user interface 800m. The user interface 800m includes input received by, for example, the end user device 310. The input includes parcel information 821b, tariff information 822b, origin address 823b, destination address 824b, contact information 825b, postage 826b, and pre-applied services 827b. The user interface 800m includes a listing of images 832 associated with the package. The listing of image 832 can be utilized to view stored images, if any, of the package (e.g., quality assurance purposes, damage tracking purposes, etc.). The user interface 800m includes a listing of the selected services and options 834 and a total cost of the selections 836. The user interface 800m can be, for example, the end of a state machine associated with the user interfaces 800a- 800m (e.g., package information shipment state). The user can interact with the user interface 800m to ship the package.
[00105] FIG. 9 illustrates an exemplary flowchart 900 for user interface management utilizing, for example, the server 410 of FIG. 4. The transceiver 441 receives (910) a user input. The storage device 455 stores (920) a set of services and the set of services is associated with an application associated with the user interface. Each service is associated with one or more options. The storage device 455 stores (940) a set of states and the set of states is associated with an operation of a user interface.
[00106] The business rules engine 442 determines (925) one or more available services from the set of services based on the user input. The service module 443 determines (930) one or more available options associated with the one or more available services based on user input. The state machine module 444 determines (945) a display state selected from the set of states based on the user input. The user interface module 445 generates (950) a user interface based on the display state, the one or more available services, and the one or more available options. The user interface enables the user to select one or more of the available services and options. [00107] The user interface module 445 determines (960) if there is additional user input. If there is no additional user input, the flowchart 900 ends (970). If there is additional user input, the transceiver 441 receives (910) the additional user input and the process as described herein is repeated.
[00108] FIG. 10 illustrates an exemplary flowchart 1000 for user interface management utilizing, for example, the server 410 of FIG. 4. The transceiver 441 receives information (in this example, a weight signal and a video signal) from an enrollment device 220 of FIG. 2. A weight module (not shown) determines (1012) a weight of a package based on the weight signal. A dimension capture module (not shown) determines (1014) dimension data indicative of the size of the package based on the video signal. The recognition module (not shown) determines (1016) one or more characters present on the package based on the video signal.
[00109] The business rules engine 442 determines (1020) one or more available services from the set of services based on the weight, the dimension data, and/or the one or more characters. The service module 443 determines (1030) one or more available options associated with the one or more available services based on the weight, the dimension data, and/or the one or more characters. The state machine module 444 retrieves (1040) a previous display state (e.g., a display state list, a display list storage device, etc.) and determines (1050) a display state selected from the set of states based on the previous display state. The user interface module 445 generates (1060) a user interface based on the display state, the one or more available services, and the one or more available options. The user interface enables the user to select one or more of the available services and options.
[00110] FIG. 11 depicts an exemplary architecture 1100 for user interface management. The architecture 1100 includes an extensible messaging and presence protocol (XMPP) messaging and configuration layer 1111, a domain specific resources layer 1112, a mails satisfiability engine 1113, business process modeling language (BPBL) business logic 1114, a user interface (UI) control state machine 1115, and a presentation layer for the user interface 1116. The XMPP messaging and configuration layer 1111 receives operational messages 1121 and application small wave format (SWF) / hypertext markup language (HTML) information 1123. The domain specific resources layer 1112 receives tariffs, price look-ups (PLUs), icons, and/or any other product information 1124. The mails satisfiability engine 1113 receives extensible markup language (XML) mails contraints 1122. The BPML business logic 1114 receives transaction definitions 1125. The UI control state machine 1115 receives an UI flow definition 1126. The presentation layer 1116 receives an UI style and report definition 1127. The layers, engine, logic, and/or machine communicate with each other as illustrated in the architecture 1100. The architecture 1100 can be, for example, utilized on any of the devices, servers, and/or modules described herein. For example, the architecture 1100 is utilized on the end user device 310 of FIG. 3 for the user interface management.
[00111] In some examples, the service storage device stores a modified set of one or more services (e.g., a new set of services sent from the configuration server 130c of FIG. 1, an updated set of services modified by the operation supervisor, etc.) and/or a modified set of one or more options. The business rules engine 312 of FIG. 3 can determine, for example, a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface. The service module 312 can determine a modified first set of one or more options associated with the first set of one or more services on the first input associated with the user interface. The user interface module 316 can generate a modified user interface based on the first display state, the modified first set of one or more services, the first set of one or more services, the modified first set of one or more options, and/or the first set of one or more options.
[00112] In other examples, the state storage device stores a modified set of one or more states. The state machine module 314 of FIG. 3 can determine a modified display state selected from the modified set of states based on the first input associated with the user interface. The user interface module 316 can generate a modified user interface based on the modified display state, the first set of one or more services, and/or the first set of one or more options. The modified user interface enables selection at least one service and/or option from the first set of one or more services or the first set of one or more options.
[00113] In some examples, the user interface module 316 can select the first user interface or the modified user interface for display on a display device based on a user interface selection request. The modified user interface can enable the selection of at least one of the modified first set of one or more services, the first set of one or more services, the modified first set of one or more options, and/or the first set of one or more options. For example, the modified set of one or more services can be an upgrade to the system and the ability to transition between the original user interface and the modified user interface is functionality of the upgrade in case of errors during the upgrade.
[00114] In some examples, the user interface module generates the user interface selection request based on an error message associated with the modified user interface. For example, a user utilizing a point of sale device discovers an error with the modified user interface (e.g., missing link, incorrect options, etc.) and clicks on a report error link. The report error link generates the user interface selection based on the error with the modified user interface (e.g., link opens a dialog box for the user to enter in the error, link automatically stores the user interface for analysis, etc.).
[00115] In other examples, the user interface module 445 of FIG. 4 generates the first user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options for a first computing device (e.g., point of sale device). The first user interface can enable the selection of at least one service or option from the first set of one or more services or the first set of one or more options. The user interface module 445 can generate a second user interface based on the first display state, the first set of one or more services, and/or the first set of one or more options for a second computing device (e.g., mobile computing device). The first computing device and the second computing device can be different (e.g., different operating systems, different hardware types, different locations, different display devices, etc.). The user interface and the second user interface can enable the selection of at least one service or option from the first set of one or more services or the first set of one or more options.
[00116] In some examples, the enrollment apparatus 220 includes a receiving surface for receiving a package, a weight sensor in communication with the receiving surface which generates a weight signal indicative of the weight of the package, and/or a video camera which generates a video signal indicative of an image of the package on the receiving surface. The enrollment apparatus 220 can include a processor in communication with the weight sensor and the video camera. The processor can include a weight module which produces, in response to the weight signal, weight data indicative of the weight of the package, a dimension capture module which produces, in response to the video signal, dimension data indicative of the size of the package, and/or a recognition module which produces, in response to the video signal, character data indicative of one or more characters present on the package. The enrollment apparatus 220 can be, for example, in communication with a package management system (e.g., the method and techniques described herein) to provide information indicative of the weight, size, and one or more characters present on the package.
[00117] hi some examples, the state machine defines the properties and flow of the user interface in such a way as to enable the use of the same software on different platforms and for different user types by simply changing the state machine. For example, using this technique the same software could be configured to provide services to, for example: (i) A member of the general public using a kiosk device; (ii) A member of staff using a business application on their workstation; (iii) A salesman using their personal digital assistant (PDA) or mobile email type device; (iv) A customer using their mobile phone; (v) A business customer using your web site to pre-process items for you; and/or (vi) Any other user utilizing a computing device. [00118] In other examples, the services and/or options are configured using a logic diagram and references to spreadsheet tables, hi other words, operational personal can configure the services and/or options available utilizing a graphical user interface with links to existing data.
[00119] Examples of various features available a graphical user interface environment are illustrated herein. In the example shown, the interface environment is used for a mail enrollment application, for example, one interfacing with the systems and devices described herein. The user may interact with the interface using a touch screen or other interface device (e.g. a mouse or keyboard). It is to be understood that the following features and techniques may be applied generally to user interface environments.
[00120] In some embodiments, several (two or more) sets of interdependent search criteria, available simultaneously, affect one another dynamically. As each criteria choice is selected, the displayed available range of choices across all sets is updated, and narrowed or otherwise altered. This provides a completely dynamic search process, as well "multi-dimensional" rather than linear, which allows many more choices to be considered, and much more quickly.
[00121] In other examples, the user interface includes "Featured Services." These (and other aspects of the interface as well as proposition offered to consumers) can be based specifically on address info associate with the user (e.g., the delivery address on a piece of mail presented at a kiosk).
[00122] In some examples, touch-screen technology can be combined with a "hover" (prior-to-selection) state in the user interface. This can be performed in a Flex -based vector environment, hi other examples, when a hover state is encountered, buttons (or icons, etc.) expand to indicate hovering. Of course, this technique can be applied to non-touch screen environments, e.g., to indicate hovering of a mouse indicator or other interface device.
[00123] hi some application environments, such as those described herein, a multi-tiered criteria approach makes it possible for users to occasionally select criteria that conflict with one another. The traditional approach to this situation is to allow users to select criteria in linear fashion only, and eliminate potential conflicts by requiring users to plough through sequential pairs of choices. Some embodiments provide a faster, more sophisticated approach, providing graphics and language to manage the multi-dimensional search process.
[00124] In other examples, the user interface module 316 generates a user interface link. The user interface link enables selection of the previous user interfaces from the current user interface. Upon selection of the user interface link, the user interface module 316 can modify the current user interface based on the user interface link (e.g., return the user interface to previous user interfaces). The user interface link can include mini-screenshots of previous user interfaces.
[00125] In other examples, the user interface includes mini-screenshots of previous user interfaces. The mini-screenshots of the previous user interfaces can be utilized to orient users as they move through an application. The described interface shows users where the user has been with miniaturized screen shots of each step the user has taken in the application. The user can click on any of these small screens to return to that point in the process. Furthermore, the "hover" state allows them to see the page in larger form, in they case the user needs more detail.
[00126] Based on the ability to provide the general business benefits described herein, the devices and techniques described can have, for example, commercial applications in the following market segments:
[00127] Managed Content: The evolution of the letter stream as a facility to carry packets suitable for delivery to unattended delivery points requires the addition of infrastructure allowing that activity. The enrolment of such items requires the ability to capture all of the information required for all items to be sent through the mail stream as well as new value added services. The ability to tag items with services such as cold stream, work flow notifications, risk management, call center notifications, and conditional deliveries will be required. In some embodiments, the enrollment device would be located in locations such as pharmacies or dedicated shipping centers where prescriptions were being prepared for shipment to patients.
[00128] Postal Operators & Courier Companies: For the highly automated postal operators and courier companies, the enrollment device provides automated "front end" data collection, leveraging their existing investment in systems and technology. For the low or non-automated strata of postal operators and courier companies, the enrollment device provides a low-cost automation solution for the capture and management of shipment related information at their counter locations, eliminating a range of paper-based processes and enabling integration with 3rd party carriers and systems.
[00129] The Pharmaceutical Industry: The enrollment device provides the pharmaceutical industry with a means of automating the Provenance and Chain of Custody aspects of their business.
[00130] Civil Defense: The enrollment device provides a mechanism for the mass distribution of products and services with a clear Chain of Custody from point of Induction.
[00131] Goods Distribution Companies: It is anticipated that Goods Distribution companies will benefit from the ability to use the enrollment device to manage and prepare their "one-to many" shipments.
[00132] One or more or any part thereof of the techniques described above can be implemented in computer hardware or software, or a combination of both. The methods can be implemented in computer programs using standard programming techniques following the examples described herein. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices such as a display monitor. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language can be a compiled or interpreted language. Moreover, the program can run on dedicated integrated circuits preprogrammed for that purpose. [00133] Each such computer program is preferably stored on a storage medium or device (e.g., ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. The computer program can also reside in cache or main memory during program execution. The analysis method can also be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
[00134] A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.
[00135] Some examples described herein refer to a package received by an enrollment device, processed, managed, etc. It is to be understood that any suitable item may be used, including: mail pieces, pharmaceutical items, evidentiary items, documents, containers of any type, etc.
[00136] The inventors have realized that a business system and/or an interface environment may be provided to aid in the enrollment, processing, management etc. of mail pieces and other supply chain items.
[00137] In some examples, the business system and/or interface environment interface with enrollment devices of the type are described herein. Such devices can replace both the traditional weigh scale, as well as the postage meter, which are currently found at induction points for Postal, Courier and Supply Chain operations. A combination of Optical Character Recognition (OCR) and dimension capture (e.g. using optical dimension capture and/ or ultrasonic range-finding technologies) is used to capture and convert addressing, payment, account and shipment related data, plus weight and dimensional information (when relevant) from packages, letters, and documentation which are placed on, in, or near the device. Such a device provides a "front end" mechanism for entering shipment related data into a business environment (e.g. postal environment).
[00138] In some examples, the application includes a package delivery application, a supply chain management application, an inventory management application, a chain of custody management application, and/or any other type of application.
[00139] The above-described systems and methods can be implemented in digital electronic circuitry, in computer hardware, firmware, and/or software. The implementation can be as a computer program product (i.e., a computer program tangibly embodied in an information carrier). The implementation can, for example, be in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus. The implementation can, for example, be a programmable processor, a computer, and/or multiple computers.
[00140] A computer program can be written in any form of programming language, including compiled and/or interpreted languages, and the computer program can be deployed in any form, including as a stand-alone program or as a subroutine, element, and/or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site.
[00141] Method steps can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by and an apparatus can be implemented as special purpose logic circuitry. The circuitry can, for example, be a FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit). Modules, subroutines, and software agents can refer to portions of the computer program, the processor, the special circuitry, software, and/or hardware that implements that functionality.
[00142] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer can include, can be operatively coupled to receive data from and/or transfer data to one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). [00143] Data transmission and instructions can also occur over a communications network. Information carriers suitable for embodying computer program instructions and data include all forms of non- volatile memory, including by way of example semiconductor memory devices. The information carriers can, for example, be EPROM, EEPROM, flash memory devices, magnetic disks, internal hard disks, removable disks, magneto-optical disks, CD-ROM, and/or DVD-ROM disks. The processor and the memory can be supplemented by, and/or incorporated in special purpose logic circuitry. [00144] To provide for interaction with a user, the above described techniques can be implemented on a computer having a display device. The display device can, for example, be a cathode ray tube (CRT) and/or a liquid crystal display (LCD) monitor. The interaction with a user can, for example, be a display of information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer (e.g., interact with a user interface element). Other kinds of devices can be used to provide for interaction with a user. Other devices can, for example, be feedback provided to the user in any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Input from the user can, for example, be received in any form, including acoustic, speech, and/or tactile input.
[00145] The above described techniques can be implemented in a distributed computing system that includes a back-end component. The back-end component can, for example, be a data server, a middleware component, and/or an application server. The above described techniques can be implemented in a distributing computing system that includes a front-end component. The front-end component can, for example, be a client computer having a graphical user interface, a Web browser through which a user can interact with an example implementation, and/or other graphical user interfaces for a transmitting device. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, wired networks, and/or wireless networks.
[00146] The system can include clients and servers. A client and a server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[00147] Packet-based networks can include, for example, the Internet, a carrier internet protocol (IP) network (e.g., local area network (LAN), wide area network (WAN), campus area network (CAN), metropolitan area network (MAN), home area network (HAN)), a private IP network, an IP private branch exchange (IPBX), a wireless network (e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN), and/or other packet-based networks. Circuit-based networks can include, for example, the public switched telephone network (PSTN), a private branch exchange (PBX), a wireless network (e.g., RAN, bluetooth, code-division multiple access (CDMA) network, time division multiple access (TDMA) network, global system for mobile communications (GSM) network), and/or other circuit-based networks. [00148] The end user device can include, for example, a computer, a computer with a browser device, a telephone, an IP phone, a mobile device (e.g., cellular phone, personal digital assistant (PDA) device, laptop computer, electronic mail device), and/or other communication devices. The browser device includes, for example, a computer (e.g., desktop computer, laptop computer) with a world wide web browser (e.g., Microsoft® Internet Explorer® available from Microsoft Corporation, Mozilla® Firefox available from Mozilla Corporation). The mobile computing device includes, for example, a personal digital assistant (PDA).
[00149] Comprise, include, and/or plural forms of each are open ended and include the listed parts and can include additional parts that are not listed. And/or is open ended and includes one or more of the listed parts and combinations of the listed parts.
[00150] One skilled in the art will realize the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative rather than limiting of the invention described herein. Scope of the invention is thus indicated by the appended claims, rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. [00151] What is claimed is:

Claims

CLAIMS 1. A method for user interface management, the method comprising: storing a set of states in a state storage device, the set of states associated with an operation of a user interface; storing a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determining a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determining a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
2. The method of claim 1 , further comprising: storing a modified set of one or more services in the service storage device; determining a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; generating a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
3. The method of claim 2, further comprising generating the user interface selection request based on an error message associated with the modified user interface.
4. The method of claim 1 , further comprising: storing a modified set of one or more options in the service storage device; determining a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; generating a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
5. The method of claim 1 , further comprising: storing a modified set of one or more states in the state storage device; determining a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; generating a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and selecting the first user interface or the modified user interface for display on a display device based on a user interface selection request.
6. The method of claim 1 , further comprising: wherein generating the first user interface further comprises generating the first user interface for a first computing device; and generating a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
7. The method of claim 1, further comprising: receiving a second input associated with the user interface; determining a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; determining a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; determining a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and generating a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options.
8. The method of claim 7, further comprising: generating a user interface link enabling selection of the first user interface from the second user interface; and modifying the second user interface based on the user interface link.
9. The method of claim 7, further comprising: receiving a third input associated with the user interface; determining a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; determining a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; determining a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and generating a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options.
10. The method of claim 9, further comprising: generating a user interface link enabling selection of the first user interface or the second user interface from the third user interface; and modifying the second user interface based on the user interface link.
11. The method of claim 9, further comprising: storing the first user interface and the second user interface in a storage device; receiving a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and displaying the first user interface on a display device.
12. The method of claim 11 , further comprising: receiving a fifth input associated with the user interface; determining a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; determining a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; determining a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and generating a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options.
13. The method of claim 12, wherein the fourth set of one or more services comprises a different set of services than the second set of one or more services and the fourth set of one or more options comprises a different set of options than the second set of one or more options.
14. The method of claim 1 , further comprising: receiving a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and modifying the first user interface for display on the first computing device based on the localization option.
15. The method of claim 1 , further comprising displaying the user interface on a display device.
16. The method of claim 1, wherein the state storage device and the service storage device are different storage devices.
17. The method of claim 1 , wherein the application comprises at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
18. A computer program product, tangibly embodied in an information carrier, the computer program product including instructions being operable to cause a data processing apparatus to: store a set of states in a state storage device, the set of states associated with an operation of a user interface; store a set of services in a service storage device, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
19. A system for user interface management, the system comprising: a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on a first input associated with the user interface; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; a state machine module configured to determine a first display state selected from the set of states stored in the state storage device based on the first input associated with the user interface; and a user interface module configured to generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
20. The system of claim 19, further comprising: the service storage device further configured to store a modified set of one or more services; the business rules engine further configured to determine a modified first set of one or more services from the modified set of services stored in the service storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the modified first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the modified first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
21. The system of claim 20, further comprising the user interface module further configured to generate the user interface selection request based on an error message associated with the modified user interface.
22. The system of claim 19, further comprising: the service storage device further configured to store a modified set of one or more options; the service module further configured to determine a modified first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the first display state, the first set of one or more services, and the modified first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the modified first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
23. The system of claim 19, further comprising: the state storage device further configured to store a modified set of one or more states; the state machine module further configured to determine a modified display state selected from the modified set of states stored in the state storage device based on the first input associated with the user interface; the user interface module further configured to: generate a modified user interface based on the modified display state, the first set of one or more services, and the first set of one or more options, the modified user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and select the first user interface or the modified user interface for display on a display device based on a user interface selection request.
24. The system of claim 19, further comprising: the user interface module further configured to generate the first user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a first computing device, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options; and a second user interface module configured to generate a second user interface based on the first display state, the first set of one or more services, and the first set of one or more options for a second computing device, the first computing device and the second computing device are different, and the user interface and the second user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
25. The system of claim 19, further comprising: a transceiver configured to receive a second input associated with the user interface; the business rules engine module further configured to determine a second set of one or more services from the set of services stored in the service storage device based on the second input associated with the user interface; the service module further configured to determine a second set of one or more options associated with the second set of one or more services based on the second input associated with the user interface; the state machine module further configured to determine a second display state selected from the set of states stored in the state storage device based on the second input associated with the user interface and the first display state; and the user interface module further configured to generate a second user interface based on the second display state, the second set of one or more services, and the second set of one or more options, the user interface enabling selection of at least one of the second set of one or more services or the second set of one or more options.
26. The system of claim 25, further comprising: the user interface module further configured to: generate a user interface link enabling selection of the first user interface from the second user interface; and modify the second user interface based on the user interface link.
27. The system of claim 25, further comprising: the transceiver further configured to receive a third input associated with the user interface; the business rules engine module further configured to determine a third set of one or more services from the set of services stored in the service storage device based on the third input associated with the user interface; the service module further configured to determine a third set of one or more options associated with the third set of one or more services based on the third input associated with the user interface; the state machine module further configured to determine a third display state selected from the set of states stored in the state storage device based on the third input associated with the user interface and the second display state; and the user interface module further configured to generate a third user interface based on the third display state, the third set of one or more services, and the third set of one or more options, the user interface enabling selection of at least one of the third set of one or more services or the third set of one or more options.
28. The system of claim 27, further comprising: the user interface module further configured to: generate a user interface link enabling selection of the first user interface or the second user interface from the third user interface; and modify the second user interface based on the user interface link.
29. The system of claim 27, further comprising: a storage device configured to store the first user interface and the second user interface; the transceiver further configured to receive a fourth input associated with the user interface, the fourth input directing the user interface to return to the first user interface; and a display device configured to display the first user interface.
30. The system of claim 29, further comprising: the transceiver further configured to receive a fifth input associated with the user interface; the business rules engine module further configured to determine a fourth set of one or more services from the set of services stored in the service storage device based on the fifth input associated with the user interface; the service module further configured to determine a fourth set of one or more options associated with the fourth set of one or more services based on the fifth input associated with the user interface; the state machine module further configured to determine a fourth display state selected from the set of states stored in the state storage device based on the fifth input associated with the user interface and the third display state; and the user interface module further configured to generate a fourth user interface based on the fourth display state, the fourth set of one or more services, and the fourth set of one or more options, the user interface enabling selection of at least one of the fourth set of one or more services or the fourth set of one or more options.
31. The system of claim 30, wherein the fourth set of one or more services comprises a different set of services than the second set of one or more services and the fourth set of one or more options comprises a different set of options than the second set of one or more options.
32. The system of claim 19, further comprising: a localization module configured to receive a localization option associated with the first user interface, the localization option associated with a location of a first computing device; and the user interface module further configured to modify the first user interface for display on the first computing device based on the localization option.
33. The system of claim 19, further comprising a display device for displaying the user interface.
34. The system of claim 19, wherein the state storage device and the service storage device are different storage devices.
35. The system of claim 19, wherein the application comprises at least one chosen from the list consisting of: a package delivery application, a supply chain management application, an inventory management application, and a chain of custody management application.
36. A system for user interface management, the system comprising: means for storing a set of states, the set of states associated with an operation of a user interface; means for storing a set of services, the set of services associated with an application associated with the user interface, each service in the set of services associated with one or more options; means for determining a first set of one or more services from the set of services based on a first input associated with the user interface; means for determining a first set of one or more options associated with the first set of one or more services based on the first input associated with the user interface; means for determining a first display state selected from the set of states based on the first input associated with the user interface; and means for generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
37. A method for user interface management, the method comprising: determining a weight of a package based on a weight signal; determining dimension data indicative of the size of the package based on a video signal; determining one or more characters present on the package based on the video signal; determining a first set of one or more services from a set of services stored in a service storage device based on at least one of: the weight, the dimension data, or the one or more characters; determining a first set of one or more options associated with the first set of one or more services based on at least one of: the weight, the dimension data, or the one or more characters; determining a first display state selected from a set of states stored in a state storage device based on a previous state associated with the user interface; and generating a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
38. The method of claim 37, wherein the weight, the dimension data, and the one or more characters present on the package, respectively, are determined substantially in parallel.
39. A system for user interface management, the system comprising: a weight module which produces, in response to a weight signal, weight data indicative of the weight of a package; a dimension capture module which produces, in response to a video signal, dimension data indicative of the size of the package; a recognition module which produces, in response to the video signal, character data indicative of one or more characters present on the package; a state storage device configured to store a set of states, the set of states associated with an operation of a user interface; a service storage device configured to store a set of services, the set of services associated with the package management system associated with the user interface, each service in the set of services associated with one or more options; a business rules engine configured to determine a first set of one or more services from the set of services stored in the service storage device based on the weight data, the dimension data, and the character data; a service module configured to determine a first set of one or more options associated with the first set of one or more services based on the weight data, the dimension data, and the character data; a state machine module configured to determine a first display state selected from the set of states stored in the state storage device based on a previous display state; and a user interface module configured to generate a first user interface based on the first display state, the first set of one or more services, and the first set of one or more options, the first user interface enabling selection of at least one of the first set of one or more services or the first set of one or more options.
PCT/US2009/051412 2008-07-22 2009-07-22 User interface management WO2010011755A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8278008P 2008-07-22 2008-07-22
US61/082,780 2008-07-22

Publications (1)

Publication Number Publication Date
WO2010011755A1 true WO2010011755A1 (en) 2010-01-28

Family

ID=41570579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/051412 WO2010011755A1 (en) 2008-07-22 2009-07-22 User interface management

Country Status (1)

Country Link
WO (1) WO2010011755A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266055B1 (en) * 1999-07-30 2001-07-24 Pitney Bowes Inc. Customizable user interface for a mailing apparatus
US20020065937A1 (en) * 1999-05-05 2002-05-30 International Business Machines Corporation Apparatus and method for physically and logically packaging and distributing items in a distributed environment
US20030201319A1 (en) * 1998-10-19 2003-10-30 Mehul Patel Optical code reader for measuring physical parameters of objects
US20040210541A1 (en) * 2001-05-04 2004-10-21 Jeremy Epstien User interface for a rules engine and methods therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030201319A1 (en) * 1998-10-19 2003-10-30 Mehul Patel Optical code reader for measuring physical parameters of objects
US20020065937A1 (en) * 1999-05-05 2002-05-30 International Business Machines Corporation Apparatus and method for physically and logically packaging and distributing items in a distributed environment
US6266055B1 (en) * 1999-07-30 2001-07-24 Pitney Bowes Inc. Customizable user interface for a mailing apparatus
US20040210541A1 (en) * 2001-05-04 2004-10-21 Jeremy Epstien User interface for a rules engine and methods therefor

Similar Documents

Publication Publication Date Title
US7853480B2 (en) System and method for providing export services to merchants
US7711607B2 (en) Method and system for deploying a business application
US8645228B2 (en) Managing consistent interfaces for business objects across heterogeneous systems
US8346630B1 (en) Method and apparatus to efficiently verify inventory
US8364606B1 (en) Apparatus, systems and methods for online, multi-carrier, multi-service parcel shipping management featuring shipping location comparison across multiple carriers
US7117170B1 (en) Apparatus, systems and methods for applying billing options for multiple carriers for online, multi-carrier, multi-service parcel shipping management
US8589263B2 (en) Managing consistent interfaces for retail business objects across heterogeneous systems
Thiesse et al. Understanding the value of integrated RFID systems: a case study from apparel retail
EP1804211A1 (en) Method and system for providing sponsored content based on previous provided content
US20070192215A1 (en) Computer-implemented registration for providing inventory fulfillment services to merchants
US20110307295A1 (en) Managing Consistent Interfaces for Campaign and Price Specification Template Business Objects Across Heterogeneous Systems
EP1804212A1 (en) Method and system for providing sponsored content based on user information
EP1811441A1 (en) Method and system for providing context based content for computer applications
US20060149577A1 (en) System and method for the customized processing of returned merchandise
US20210012281A1 (en) System and method for managing inventory through return labels
US10032174B2 (en) Management of sales opportunities
CN114077981A (en) Smart API polling for predicting delivery events
CN108416951B (en) POS terminal and control method
KR101998051B1 (en) Interface providing system for courier service
US20140278644A1 (en) System and method for controlling the elements of parts and labor costs in a facilities management computing environment
Fleisch Business impact of pervasive technologies: opportunities and risks
WO2010011755A1 (en) User interface management
JP2016095587A (en) Mobile terminal device, commodity sales data processing device, and program
Herrel A visual interactive simulation application for minimizing risk and improving outbound logistical efficiency in time-sensitive attended home deliveries and services
KR20140085614A (en) Server for managing item saling information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09800946

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09800946

Country of ref document: EP

Kind code of ref document: A1