WO2022135684A1 - Method and apparatus for personalizing task flow in a system having multiple interfaces - Google Patents

Method and apparatus for personalizing task flow in a system having multiple interfaces Download PDF

Info

Publication number
WO2022135684A1
WO2022135684A1 PCT/EP2020/087558 EP2020087558W WO2022135684A1 WO 2022135684 A1 WO2022135684 A1 WO 2022135684A1 EP 2020087558 W EP2020087558 W EP 2020087558W WO 2022135684 A1 WO2022135684 A1 WO 2022135684A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
user
sub
flow
tasks
Prior art date
Application number
PCT/EP2020/087558
Other languages
French (fr)
Inventor
Oleg Pogorelik
Alexander Kravtsov
Michael Shurman
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2020/087558 priority Critical patent/WO2022135684A1/en
Publication of WO2022135684A1 publication Critical patent/WO2022135684A1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Definitions

  • the present disclosure relates generally to the field of user experience (UX) analysis and personalisation; and more specifically, to a method and an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users.
  • UX user experience
  • UX user experience
  • UX means an individual's perceptions and responses that result from use or anticipated use of a product, system, or service.
  • UX may encompass all users and stakeholders in the design, development, deployment, and subsequent management and maintenance of the product, system, or service.
  • UX may further encompass the emotions users might feel as they interact with the product, service, or system, as well as their perceptions, responses (both physical and psychological), behaviours, and the accomplishments users have engaged in both during and after use.
  • UX design and evaluation are based on technical usage metrics (also known as key performance indicators or KPIs) and tests of the user’s opinions collected during pre-production evaluation period, i.e., Beta tests, as well as during consumer’s surveys running in post-production phases.
  • KPIs key performance indicators
  • UX is considered as good if it is associated with flows that have minimal user interaction.
  • a "UX flow” or simply a "flow” refers to a complete path that a user follows when using a product. The flow includes the user's movement through the product, mapping out each and every step the user takes, for example, from entry point right through to the final interaction of exit.
  • UX is determined per task and a given task may consist of several independent sub-tasks running concurrently or in a sequence one after the other and each sub-task can be measured using same UX KPIs as the major task.
  • the known UX evaluation (or metering) technologies are usually based on quantitative KPIs or qualitative KPIs.
  • Example of quantitative KPIs include, but are not limited to a Task Success Rate (TSR), i.e., a user’s ability to complete task, a Time-On-Task (TOT), and a User Error Rate (UER).
  • TSR Task Success Rate
  • TOT Time-On-Task
  • UTR User Error Rate
  • qualitative KPIs include but are not limited to a System Usability Scale (SUS), Net Promoter Score (NPS), and Customer Satisfaction (CSAT).
  • SUS System Usability Scale
  • NPS Net Promoter Score
  • CSAT Customer Satisfaction
  • the qualitative KPIs are based on user’s survey and typically inapplicable in real-time applications. It is observed that current tools and methods do not cope well with user diversity and the changes of the UX with time.
  • UX is adopted to “average” user, thereby leaving minorities (e.g., uses who are left-handed, non-techie, elders, children, left-brained, right-brained, etc.) out-of-scope.
  • minorities e.g., uses who are left-handed, non-techie, elders, children, left-brained, right-brained, etc.
  • conventional system components and operational flows are semi-static and not prepared for run time dynamic UX adjustments.
  • UX is developed for a pre-defined product, system, or environment configuration, and thus UX degradation is caused by changes in usage habits, person’s physical, or environmental limitations.
  • conventional methods and systems that are involved in UX tuning methodologies, techniques and KPIs are static and target generalized people, resulting in user experience degradation over time. This in turn reduces the ease of use, increases system complexity, and degrades the overall user experience of a given product, system, and service.
  • the present disclosure provides a method and an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task.
  • the present disclosure provides a solution to the existing problem of user experience (UX) degradation over time, due to UX adaptation to generalized people (i.e., “average” users) and due to static UX tuning methodologies, techniques, or KPIs.
  • An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in prior art, and provide an improved method and apparatus that provides enhanced and personalized user experience without any UX degradation caused by various reasons, such as changes in usage habits, person’s physical, or environmental limitations, where the UX is dynamically tuned in accordance with a specific user using the system.
  • One or more objectives of the present disclosure is achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.
  • the present disclosure provides a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task.
  • the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces.
  • the method comprises identifying a user of the system and a task to be executed by the system for the user to retrieve pre-defined user preferences of the user for the task.
  • the method further comprises selecting a task flow among the plurality of task flows assigned to the task based on the user preferences.
  • the method further comprises executing sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators, KPIs, of each sub-task are determined during the execution of the sub-tasks, including: a Time on Sub-Task (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and a number of overrides of each sub-task by the user.
  • KPIs Key Performance Indicators
  • the method further comprises updating a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the determined KPIs of the sub-tasks of the task flow, and updating the user preferences based on the updated UXSs of the plurality of task flows.
  • UXS User Experience Score
  • the method of the present disclosure improves user experience by providing a personalized task flow most suited to a specific user using the system.
  • the method enables fine tuning of the UX in run time per user and operational flow based on run time measurements.
  • the User Experience Scores (UXSs) of one or more task flows can be updated, which improves user experience without any UX degradation over time, which may otherwise be caused by changes in usage habits, person’s physical, or environmental limitations etc.
  • Automatic, run time (during the use) UX adjustments provided by the method of present disclosure eliminate the need to re-master software of the system by a manufacturer and to re-deploy it periodically.
  • the determining of whether the user is familiar with the task flow comprises determining that the user is not familiar with the task flow if the user preferences have been changed and a new task flow has been selected.
  • the method provides a dynamic addition and removal of the new task flow and accordingly sub-tasks of the new task flow based on the user requirements. Additionally, the user is informed and educated about the new task flow.
  • the present disclosure provides an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task.
  • the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces.
  • the apparatus comprises a flow manager communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify a user and receive an input of the user to execute tasks.
  • the flow manager is configured to identify a task to be executed by the system for the user and to retrieve pre-defined user preferences of the user for the task.
  • the flow manager is further configured to select a task flow among the plurality of task flows assigned to the task based on the user preferences.
  • the flow manager is further configured to control the system to execute sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each subtask, aborting each sub-task and overriding each sub-task with another sub-task.
  • the system and the involved interfaces are configured to do the following, during the execution of the subtasks: to measure a time of execution of each sub-task, and to count successful executions of each sub-task, to count aborts of each sub-task execution by the user, and to count overriders of each sub-task by the user.
  • the apparatus further comprises a User Experience (UX) monitor configured to determine Key Performance Indicators, KPIs, of each sub-task, including a Time on Sub-Task, ToST, a Sub-Task Success Rate, STSR, a Sub-Task Abort Rate, STAR, and a Weight of each sub-task, based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow.
  • UX User Experience
  • the apparatus further comprises a flow optimizer that is configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows.
  • a flow optimizer that is configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows.
  • the UX is adaptive according to the user currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide improved UX.
  • the apparatus supports a dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows.
  • the apparatus of the present disclosure achieves all other advantages and effects of the method. It is to be appreciated that all the aforementioned implementation forms can be combined. It has to be noted that all devices, elements, circuitry, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof.
  • FIG. 1 is a flowchart of a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure
  • FIG. 2 is a block diagram that illustrates various exemplary components of an apparatus, in accordance with an embodiment of the present disclosure
  • FIG. 3 is an exemplary implementation scenario that depicts a door unlock system supporting a personalized and run-time adjustable user experience (UX), in accordance with an embodiment of the present disclosure
  • FIG. 4 is an illustration of an exemplary architecture of a system for run-time key performance indicators (KPIs) measurements and task flow re-adjustments, in accordance with an embodiment of the present disclosure
  • FIG. 5 is a flowchart of exemplary operations of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure.
  • FIG. 6 is a sequence diagram that depicts exemplary operations of user interaction, education and guidance, in accordance with an embodiment of the present disclosure.
  • an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent.
  • a non-underlined number relates to an item identified by a line linking the nonunderlined number to the item.
  • the non-underlined number is used to identify a general item at which the arrow is pointing.
  • FIG. 1 is a flowchart of a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure.
  • a method 100 The method 100 is executed by an apparatus described in detail, for example, in FIG. 2.
  • the method 100 includes steps 102 to 110.
  • the present disclosure provides the method 100 of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces, the method 100 comprising:
  • KPIs Key Performance Indicators
  • the method 100 involves personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task.
  • the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces.
  • the method 100 provides the personalized task flow in the system, for example, a computing environment having a software system or an application along with an operating system.
  • the system includes multiple interfaces, such as a user interface (UI) or a graphical user interface (GUI) for interacting with users to execute the task.
  • UI user interface
  • GUI graphical user interface
  • the task may also be termed as a use case or an operational flow.
  • the task is associated with the plurality of predefined task flows.
  • the plurality of pre-defined task flows corresponds to different paths, i.e., navigation paths, followed by users while using a product or a service or an application.
  • the plurality of pre-defined task flows includes users’ movement while using the product (e.g., a door-unlock system) or the service (e.g., a web service) or the application (e.g., a mobile application or a web application) from an entry point right through to an exit point.
  • the plurality of pre-defined task flows includes ordered sub-tasks running concurrently or in a sequence one after the other. The ordered sub-tasks may run in a combination of sequential and concurrent execution.
  • the ordered sub-tasks can be selectively combined in order to personalize the plurality of pre-defined task flows which further personalize the task flow for the system or the product or the service or the application.
  • the ordered sub-tasks include sub-tasks that involves the user’s interaction with one of the interfaces, such as the UIs.
  • the method 100 comprises identifying a user of the system and a task to be executed by the system for the user to retrieve pre-defined user preference of the user for the task.
  • the user of the system i.e., the operating system
  • the user of the system may be identified (or captured) by use of one or more sensors, for example, a fingerprint sensor, a thermal infra-red (IR) sensor, a face detection sensor, etc.
  • the user of the system may be a generalized user (e.g., "average” users) as well as a minority user, such as a young, an adult, a left-handed, a non-techie, an elder, a child, a left- brained, a right-brained, and the like.
  • the task to be executed by the system for the user is identified, where the task may include one or more tasks.
  • the task is executed by the system in order to retrieve the pre-defined user preferences of the user for the task.
  • the user preferences are dynamic in nature and varies with time, usability, person’s physical or environmental variations.
  • the user preferences may be different for each user.
  • the method 100 further comprises selecting a task flow among the plurality of task flows assigned to the task based on the user preference. Depending on the user and the predefined user preference, the task flow among the plurality of task flows assigned to the task is selected.
  • the selected task flow provides an optimal and a personalized user experience (UX) to the user.
  • the method 100 further comprises executing sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators (KPIs), of each sub-task are determined during the execution of the sub-tasks, including: a Time on Sub-Task (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and/or a number of overrides of each sub-task by the user.
  • KPIs Key Performance Indicators
  • the selected task flow includes the sub-tasks running concurrently or sequentially or in a combination of sequential and concurrent execution.
  • the execution of the sub-tasks of the task flow includes one of completion of each sub-task, abortion of each sub-task and override of each sub-task with another sub-task.
  • the Key Performance Indicators (KPIs) associated with each sub-task are determined during the execution (or real time execution) of the sub-tasks such as, the Time on Sub-Task (ToST), the Sub-Task Success Rate (STSR), the Sub-Task Abort Rate (STAR), and/or the number of overrides of each sub-task by the user.
  • the Time on Sub-Task (ToST) may refer the time (or sub-task average latency) from activation till termination of each sub-task.
  • the ToST also includes the user interaction time with the involved interface.
  • the ToST may be measured in seconds.
  • the Sub-Task Success Rate (STSR) may refer to a ratio of a number of sub-tasks which are successfully completed with respect to a total number of subtasks.
  • the STSR lies in a range of 0.0 to 1.0.
  • the Sub-Task Abort Rate (STAR) may refer to a ratio of a number of sub-tasks which are aborted with respect to a total number of sub-tasks.
  • the STAR also lies in a range of 0.0 to 1.0.
  • the method 100 comprises repeated measurement of the KPIs during the execution of the sub-tasks.
  • the method 100 further comprises updating a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the determined KPIs of the subtasks of the task flow. Based on the determined KPIs of the sub-tasks of the task flow, the User Experience Score (UXS) of each of the plurality of task flows assigned to the task is updated. A task flow among the plurality of task flows assigned to the task with the highest UXS (assuming there are alternative task flows serving the same functionality) is promoted to the user and suggested for use. As a result, the user manifests an optimal and personalized user experience (UX).
  • UXS User Experience Score
  • the method 100 further comprises updating the user preferences based on the updated UXSs of the plurality of task flows. Based on the updated UXSs of the plurality of task flows, the user preferences are also updated in order to tune the UX per specific user currently using the system (i.e., operating system) and to cope with UX degradation caused by changes in usage habits, person’s physical or environmental limitations.
  • the system i.e., operating system
  • the updating of the user preferences comprises assigning a preferred task flow to the task based on the updated UXSs of the plurality of task flows. Based on the updated user preferences according to the updated UXSs of the plurality of task flows, the preferred task flow is assigned to the task in order to support run time optimization.
  • a task flow with the highest UXS is assigned to the task as the preferred task flow for the user.
  • the preferred task flow assigned to the task manifests the highest UXS and hence, promoted to the user and suggested for use.
  • UX enhanced personalized user experience
  • the method 100 further comprises determining whether the user is familiar with the task flow before the execution of the sub-tasks of the task flow. If the user is not familiar with the task flow, the method 100 further comprises preparing a guide on the task flow, and teaching the user about the task flow with the guide before or during the execution of the sub-tasks of the task flow for the user using the involved interfaces. For example, in a case, if the user is familiar (e.g., the user is educated) with the task flow then, the sub-tasks of the task flow are executed accordingly. In another case, if the user is not familiar (e.g., the user is uneducated) then, the guide on the task flow is prepared in order to teach the user about the task flow.
  • the guide on the task flow with suggested order of operations based on sub-tasks prompts is provided to the user using the involved interfaces before or during the execution of the sub-tasks of the task flow.
  • the sub-tasks prompts include beep, text prompt, voice command, vibration, etc. In this way, the method 100 provides fine tuning of the UX in run time per specific user.
  • the determining of whether the user is familiar with the task flow comprises determining that the user is not familiar with the task flow if the user preferences have been changed and a new task flow has been selected. For example, in a case, the user preferences have been changed due to change in usage habits of the user and the new task flow has been selected and the user is not familiar with the new task flow. Therefore, in such a case, the user is informed and educated about the new task flow.
  • the method 100 provides a dynamic addition or removal of the new task flow and accordingly sub-tasks of the new task flow based on the user requirements.
  • the determining of whether the user is familiar with the task flow comprises proposing a guide on the task flow to the user and receiving a reply of the user using one of the interfaces.
  • the guide on the task flow i.e., the new task flow
  • the new task flow is prepared and provided to the user in order to teach the user about the new task flow. Additionally, this is also verified that the user needs no more guide on the task flow (i.e., the new task flow) by receiving the reply of the user as “learnt” or “got it” using one of the interfaces.
  • the method 100 provides not only the learning but also the confirmation of learning of the task flow (i.e., the new task flow) by the user.
  • the determining of whether the user is familiar with the task flow comprises determining that the user is familiar with the task flow if the user rejects the guide in the reply. In the case of selection of the new task flow, if the user rejects the guide in the reply which indicates that the user is familiar with the new task flow and a given task can be executed directly without the guide on the new task flow.
  • the updating of the user preferences is done periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times.
  • the user preferences are updated either periodically (e.g., after 5-10 sessions) or when the UXSs of the plurality of task flows assigned to the task are updated on the pre-defined number of times.
  • the UXSs of the plurality of task flows assigned to the task are updated on the basis of the KPIs of the sub-tasks of the task flow.
  • the updating of the UXS for each of the plurality of task flows assigned to the task comprises calculating the UXS by the following formula:
  • ToT 1 11 -1 15 z is a sub-task number
  • TV is a total number of sub-tasks in the task flow
  • W is a sub-task weight set for the user based on the number of overrides of the sub-task by the user, ranging from 0.0 to 1.0,
  • TSR is a Task Success Rate, defined as Tlz i STSR where STSR ranges from 0.0 to 1.0 and is defined as (1-STAR), and
  • ToT is a Time on Task, being a sum of ToST of all sub-tasks of the task flow, wherein if any sub-tasks of the task flow are executed in parallel, only a maximum ToST of said parallel sub-tasks is included into ToT
  • the calculation of the UXS for each of the plurality of task flows assigned to the task includes the task success rate (TSR) and the time on task (ToT).
  • TSR task success rate
  • ToT time on task
  • the UXS is better with high values of the TSR and worse with high values of the ToT.
  • the TSR depends on the user’s error only for calculation of the UXS for each of the plurality of task flows. In most of cases, the user aborts a given task (or a sub-task) without any technical reason. Therefore, the method 100 is configured to ignore technical parameters such as sensors accuracy, etc.
  • the TSR further depends on the STSR.
  • ToT task abort rate
  • ToT depends on the ToST of all sub-tasks of the task flow.
  • the example describes a task including two sequentially composed sub-tasks as C+A&B, where A&B running concurrently.
  • the ToT also known as root node of the ToST
  • the ToST and STSR are measurable run time (RT) parameters which enables the method 100 to support the run time optimization and to provide the improved (e.g., optimal) and personalized UX.
  • RT run time
  • the weight of each sub-task for the user is further set by the system and/or by the user preferences.
  • the weight of each sub-task is configured to explicitly reflect technically unmeasurable UX parameters, such as convenience perception related to unidirectional or bi-directional user interaction, color schema, voice accent, etc.
  • the weight of each sub-task corresponds to a constant value or function parameters, used for sub-task corrective compensation in the calculation of the UXS.
  • the constant value or the corrective function parameters are set by the system and/or by the user preferences to reflect unmeasurable known UX impact in the range of 0.0 to 1.0.
  • the method 100 further comprises when the user overriding an executed sub-task with another sub-task by selecting another task flow among the plurality of task flows assigned to the task comprising the overriding sub-task with which the user overrode the executed sub-task, and executing the sub-tasks of the selected task flow for the user starting with the overriding sub-task.
  • the user overrides the executed sub-task with the other sub-task by selecting the other task flow among the plurality of task flows assigned to the task.
  • the given (or the current) task flow is aborted and weight of the other sub-task associated with the other task flow selected by the user is increased in order to give a boost in the UXS calculation.
  • the other sub-task i.e., the overriding sub-task
  • the method 100 provides a fine tuning of the UX in run time per specific user, usage habits, person’s physical, or environmental limitations etc.
  • the method 100 is based on run time measurable parameters such as the ToST, STSR, TSR, TAR, to provide the optimal and personalized UX.
  • the User Experience Scores (UXSs) of one or more task flows are updated, which improves UX without any UX degradation over time, which may otherwise be caused by changes in usage habits, person’s physical, or environmental limitations etc.
  • steps 102 to 110 are only illustrative and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
  • FIG. 2 is a block diagram that illustrates various exemplary components of an apparatus, in accordance with an embodiment of the present disclosure.
  • FIG. 2 is described in conjunction with elements from FIG. 1.
  • a block diagram 200 that includes an apparatus 202.
  • the apparatus 202 includes a flow manager 204, a user experience (UX) monitor 206, a flow optimizer 208, a memory 210 and a processor 212.
  • UX user experience
  • the user 214 may be communicatively coupled with the apparatus 202.
  • the apparatus 202 may comprise suitable logic, circuitry, interfaces, and/or code that is configured to personalize a task flow in a system having multiple interfaces for interacting with users to execute a task.
  • Examples of the apparatus 202 may include, but are not limited to, a user device, a laptop, a computing device, a communication apparatus including a portable or non-portable electronic device, or a supercomputer.
  • the apparatus 202 may also be referred as a run time (RT) user experience (UX) optimizer.
  • RT run time
  • UX user experience
  • the flow manager 204 is communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify the user 214 and receive an input of the user 214 to execute tasks.
  • the user experience (UX) monitor 206 is configured to determine Key Performance Indicators, KPIs, of each sub-task based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow.
  • KPIs Key Performance Indicators
  • the flow optimizer 208 is configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow.
  • the flow optimizer 208 may also be referred as a RT flow optimizer.
  • the flow manager 204, the UX monitor 206, and the flow optimizer 208 refers to software modules that may be stored in the memory 210 or any other memory not shown in FIG. 2, and can be executed by processor 212 or any other processor not shown in FIG. 2. However, it is to be understood that the functionalities of the flow manager 204, the UX monitor 206, and the flow optimizer 208 may also be implemented as one or more specialized circuitry.
  • the memory 210 includes suitable logic, circuitry, or interfaces that is configured to store the instructions executable by the processor 212. Examples of implementation of the memory 210 may include, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, Solid-State Drive (SSD), or CPU cache memory.
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • RAM Random Access Memory
  • ROM Read Only Memory
  • HDD Hard Disk Drive
  • Flash memory Solid-State Drive
  • SSD Solid-State Drive
  • CPU cache memory any suitable logic, circuitry, or interfaces that is configured to store the instructions executable by the processor 212. Examples of implementation of the memory 210 may include, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, Solid-State Drive (SSD), or CPU
  • the processor 212 includes suitable logic, circuitry, or interfaces that is configured to execute the instructions stored in the memory 210.
  • the processor 212 may be a general- purpose processor.
  • Other examples of the processor 212 may include, but is not limited to a microprocessor, a microcontroller, a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a central processing unit (CPU), a state machine, a data processing unit, and other processors or control circuitry.
  • the processor 212 may refer to one or more individual processors, processing devices, a processing unit that is part of a machine, such as the apparatus 202.
  • the apparatus 202 is configured for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve the user 214 interaction with one of the interfaces.
  • the flow manager 204 is communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify the user 214 and receive an input of the user 214 to execute tasks.
  • the flow manager 204 is configured to identify a task to be executed by the system for the user 214.
  • the flow manager 204 is further configured to retrieve pre-defined user preferences of the user 214 for the task and select a task flow among the plurality of task flows assigned to the task based on the user preferences.
  • the flow manager 204 is further configured to control the system to execute sub-tasks of the task flow for the user 214 using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task.
  • the system and the involved interfaces are configured to do the following, during the execution of the sub-tasks: to measure a time of execution of each sub-task, and to count successful executions of each sub-task, to count aborts of each sub-task execution by the user 214, and to count overriders of each sub-task by the user 214.
  • the UX monitor 206 is configured to determine Key Performance Indicators (KPIs) of each sub-task, including a Time on SubTask (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and a Weight of each sub-task (W), based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow.
  • KPIs Key Performance Indicators
  • ToST Time on SubTask
  • STSR Sub-Task Success Rate
  • STAR Sub-Task Abort Rate
  • W Weight of each sub-task
  • the flow optimizer 208 is configured to update a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows.
  • UXS User Experience Score
  • the UX is adaptive according to the user 214 currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide improved UX.
  • the apparatus 202 supports the dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows.
  • the flow optimizer 208 is further configured to update the user preferences periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times.
  • the user preferences are updated either periodically (e.g., after 5-10 sessions) or when the UXSs of the plurality of task flows assigned to the task are updated after the pre-defined number of times.
  • the UXSs of the plurality of task flows assigned to the task are updated on the basis of the KPIs of the sub-tasks of the task flow.
  • the flow manager 204 is further configured to identify the task to be executed by the system for the user 214 based on one or more of the system settings, the identity of the user 214 and the input of the user 214. For example, in case, if there is a change in the system’s settings then, the flow manager 204 is configured to identify the task to be executed by the system for the user 214 according to the changed system settings. Additionally, the flow manager 204 is configured to identify the user 214 that whether the user 214 is a child, or a young person or an old lady and the like. The flow manager 204 is also configured to identify a type of the input, such as either a voice command, or a face authentication command, or a finger swipe command, etc. used by the user 214. In this way, the apparatus 202 enables fine tuning of the UX in run time per specific user and the user’s inputs.
  • the apparatus 202 provides an improved (e.g., optimal) and a personalized user experience (UX).
  • the UX is adaptive according to the user 214 currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide the optimal UX.
  • the apparatus 202 supports a dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows.
  • the apparatus 202 provides a generic solution of providing the personalized UX which is beneficial for any kind of interactive system.
  • FIG. 3 is an exemplary implementation scenario that depicts a door unlock system supporting a personalized and run-time adjustable user experience (UX), in accordance with an embodiment of the present disclosure.
  • FIG. 3 is described in conjunction with elements from FIGs. 1 and 2.
  • an exemplary implementation scenario 300 that includes a door unlock multi factor authentication (MFA) system 302, an application 304 and a plurality of users 306.
  • the application 304 may be installed in the apparatus 202.
  • the plurality of users 306 includes a first user 306 A, a second user 306B and a third user 306C.
  • the flow manager 204 and the flow optimizer 208 (of FIG. 2).
  • the exemplary implementation scenario 300 describes an exemplary sequence of operations 308A, 308B, 308C, and 308D executed by the flow manager 204, and the flow optimizer 208.
  • the door unlock MFA system 302 and the plurality of users 306 are represented by dashed rectangular box which is used for illustration purpose only.
  • the door unlock MFA system 302 includes a plurality of sub-tasks (or multiple factors) used to unlock the door, such as voice unlock command (VC), face authentication (FA), finger scanner (FS), and a PIN code (PC).
  • the VC sub-task is related to, for example, pronunciation pace
  • the FA sub-task is related to cosmetics or glasses
  • the FS sub-task is related to print quality
  • the PC sub-task is related to memory skills.
  • each task includes two sub-tasks (or factors) working in sequence. Any combination of two sub-tasks can be used. The order of the two sub-tasks is not important.
  • the door unlock MFA system 302 supports 6 valid tasks provided in Table 1.
  • Table 1 where, each of the VC, the FA, the FS, the PC represents a sub-task and [1] to [6] represents an identity of a task.
  • the plurality of users 306 includes a child girl as the first user 306A, a young person as the second user 306B and an old lady as the third user 306C.
  • the flow optimizer 208 (also termed as run time (RT) flow optimizer) is configured to measure key performance indicators (KPIs) of each sub-task of the door unlock MFA system 302 during the execution of each sub-task.
  • KPIs key performance indicators
  • the KPIs of each sub-task of the door unlock MFA system 302 indicates that how effectively the door unlock MFA system 302 is operated by the plurality of users 306.
  • the KPIs of each sub-task may have different values with respect to the first user 306A, the second user 306B and the third user 306C.
  • Table 2 The KPIs of each sub-task measured by the flow optimizer 208 for each of the plurality of users 306 is provided in Table 2. Table 2:
  • the KPIs measured by the flow optimizer 208 are ToST and STAR.
  • the ToST also termed as latency
  • the STAR of each sub-task is different for each of the plurality of users 306.
  • the ToST of the sub-task VC e.g., pronunciation pace
  • the ToST of the sub-task VC e.g., pronunciation pace
  • the STAR of the sub-task VC i.e., pronunciation pace
  • the ToST and the STAR of the FA sub-task e.g., cosmetics or glasses
  • the FS sub-task e.g., print quality
  • the PC sub-task e.g., memory skills
  • the flow optimizer 208 i.e., RT flow optimizer
  • UXS user experience score
  • UXS ((1 - STAR L ⁇ STAR 2 ))/(ToST 1 + ToST 2 )
  • the UXS is measured for each task flow and with respect to each of the plurality of users 306.
  • the UXS measured for each task flow and with respect to the first user 306A is provided in Table 3.
  • the UXS measured for each task flow and with respect to the second user 306B and the third user 306C is provided in Tables 4 and 5, respectively.
  • the flow optimizer 208 is further configured to select a task flow with the highest UXS and promote the selected task flow to the user (one of the plurality of users 306) currently using the door unlock MFA system 302.
  • the task flow with the ID [4] i.e., FS+FA
  • the ID [6] i.e., PC+FS
  • the task flow with the ID [6] manifests the highest UXS of 0.169 and therefore, suggested to the second user 306B to enjoy the best possible user experience of the door unlock MFA system 302.
  • the flow optimizer 208 i.e., the RT flow optimizer
  • the flow optimizer 208 is configured to update user preferences (or run time user preferences) based on the updated UXS of each task flow of the door unlock MFA system 302.
  • the application 304 configuration such as pre-configured task flows, selection rules, and user preferences are given and these are updated according to the updated UXS of each task flow of the door unlock MFA system 302.
  • the flow manager 204 is configured to receive the updated user preferences to identify a new task to be executed by the door unlock MFA system 302 for the user (i.e., one of the plurality of users 306).
  • the operations 308A-308D are executed in sequence to provide an improved (i.e., optimal) and personalized user experience to each of the plurality of users 306.
  • the UX is tuned per specific user currently using the system and cope up with UX degradation caused by changes in usage habits, person’s physical or environmental limitations.
  • FIG. 4 is an illustration of an exemplary architecture of a system for run time key performance indicators (KPIs) measurements and task flow re-adjustments, in accordance with an embodiment of the present disclosure.
  • KPIs key performance indicators
  • FIG. 4 is described in conjunction with elements from FIGs. 1, 2, and 3.
  • a system 400 that includes the apparatus 202 (i.e., the RT UX optimizer), the flow manager 204, the UX KPIs monitor 206, and the flow optimizer 208.
  • the system 400 has pre-configured flows (or task flows) including user’s preferences, task details (such as identity of task), system preferences or sub-task preferences with expected UXS optimized per average user that is represented by a rectangular box 402.
  • the system 400 describes an exemplary sequence of operations 404A, 404B, 404C, 404D, 404E, 404F, 404G, and 404H executed by the flow manager 204, the UX KPIs monitor 206 and the flow optimizer 208 of the apparatus 202 (i.e., the RT UX optimizer).
  • the flow manager 204 is configured to identify a task to be executed by the system 400 for a user, such as the user 214 based on the pre-configured user’s preferences, system preferences or sub-task preferences.
  • the flow manager 204 is further configured to select a task flow among a plurality of task flows assigned to the task based on the user preferences.
  • the task flow includes a plurality of sub-tasks such as sub-task 1 (STI), sub-task 2 (ST2) up to sub-task n (STn).
  • the flow manager 204 provides a flexible task flow by use of a micro flow (i.e., the plurality of sub-tasks) as building blocks.
  • the task flow along with the plurality of sub-tasks is provided to the UX KPIs monitor 206.
  • the UX KPIs monitor 206 is configured to determine run time KPIs (i.e., ToT, ToST, TSR, STAR) of each sub-task of the task flow.
  • the UX KPIs monitor 206 is configured to manage history, track trends and trigger refreshes.
  • the UX KPIs monitor 206 is configured to create user data space and maintain KPIs.
  • the KPIs are updated after each sub-task activation.
  • the measured KPIs of each sub-task are provided to the flow optimizer 208.
  • the flow optimizer 208 is configured to evaluate UXS of each of the plurality of task flows assigned to the task based on the measured KPIs of the sub-tasks of the task flow.
  • the task flow with the highest UXS is promoted and suggested for use to the user 214 to provide an optimal and personalized UX.
  • the optimal UX is associated with the task flow with the highest UXS and saved into the user preferences. In a case, if the user preferences are already present, then the task’s UXS is updated.
  • the flow optimizer 208 is configured to consider a weight (W) associated with each sub-task of the task flow.
  • W weight
  • given user preferences are updated based on the updated UXS associated each task. After updating the user preferences, a task with the highest UXS score is selected. For example, among given tasks, a task includes two sub-tasks, stl and st2. A task flow of a plurality of task flows assigned to the task includes stl followed by st2, has the highest UXS of 0.34.
  • the flow manager 204 is configured to activate the task with the highest UXS (that is the task with the UXS of 0.34).
  • An appropriate guide with suggested order of operations is generated using sub-tasks prompts and provided to the user 214 so that next time the user 214 activates the task with the highest UXS.
  • the sub-tasks prompts include a number of augmenting parameters to allow proper functioning of a high-level sub-system (such as the door unlock MFA system 302).
  • the augmenting parameters include task identity, supported functionality (e.g., authentication factor, text input, command recognition, etc.), expected user preferences (w) or related guide and prompt and the like.
  • the flow manager 204 is configured to trigger the events (or tasks) at the flow optimizer 208.
  • FIG. 5 is a flowchart of exemplary operations of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure.
  • FIG. 5 is described in conjunction with elements from FIGs. 1, 2, 3, and 4.
  • FIG. 5 there is shown a flowchart 500 that includes operations 502 to 528.
  • the operations 502 to 528 in the flowchart 500 are executed by the apparatus 202 (of FIG. 2).
  • a user is sensed.
  • a user (such as the user 214) of a system having multiple interfaces, is identified.
  • the user of the system may be one of a young, an adult, a left-handed, a non-techie, an elder, a child, a left-brained, a right-brained, and the like.
  • a preferred task is picked.
  • a preferred task is selected that is to be executed by the system for the user based on pre-defined user preferences.
  • the preferred task includes a plurality of task flows which are either pre-determined by the system configuration or dynamically generated.
  • the plurality of task flows is dynamically generated.
  • a task flow among the plurality of task flows associated with the preferred task is selected.
  • the task flow includes a plurality of sub-tasks.
  • a guide is prepared on the new task flow to instruct (or virtually teach) the user about the new task flow.
  • operation 510 it is determined whether the user is familiar (or educated) with the task flow before the execution of the plurality of sub-tasks of the task flow. In a case, if the user is not familiar with the task flow then, the operation 512 is executed at first before the execution of the operation 514. In another case, if the user is familiar with the task flow then, the operation 514 is executed.
  • a guide of sub-tasks prompts such as voice command, vibration, text input, etc., is prepared in order to teach the user about the task flow before or during the execution of the sub-tasks of the task flow.
  • the task flow (or the task) is executed.
  • the sub-tasks of the task flow are executed.
  • Task is a logical structure consisting sub-tasks. So, executing task mean execute one or more subtask. Therefore in FIG. 5, diamond shaped block 514 stands for iterative execution of the blocks 516 and 518.
  • KPIs of each of the plurality of sub-tasks of the task flow are updated.
  • the updated KPIs are further used to select another task flow.
  • all the possible task flows are updated either periodically (e.g., after 5-10 sessions) or after the KPIs update on the pre-defined number of times.
  • UXS for all the possible task flows are evaluated.
  • the KPIs of each sub-task of the task flow are updated.
  • the sub-task abort rate (STAR) is higher which indicates that with time, given subtask will be less preferred (or its UXS will become lower).
  • the user overrides a specific sub-task to continue the task flow with a selected sub-task the current task flow is aborted.
  • the weight of the selected sub-task increases accordingly in order to give a boost in UXS calculations of the selected sub-task. Due to increase in UXS of the selected subtask, the selected sub-task has higher chances to appear in the optimal UX.
  • a task flow with the highest UXS is picked or selected.
  • a task flow next to the task flow with the highest UXS +1 e.g., next+1
  • a task flow next to next to the task flow with the highest UXS +1 e.g., next+2
  • the user preferences are updated based on the updated UXSs of all the possible task flows.
  • the control of the flowchart 500 moves to end.
  • the operations 502-518 of the flowchart 500 are executed in order to provide the user the task flow with the highest UXS, due to which the user enjoys an optimal and personalized user experience of the system.
  • the operations 520-526 of the flowchart 500 are executed to update the user preferences.
  • FIG. 6 is a sequence diagram that depicts exemplary operations of user interaction, education and guidance, in accordance with an embodiment of the present disclosure.
  • FIG. 6 is described in conjunction with elements from FIGs. 1, 2, 3, 4, and 5.
  • a flowchart 600 that includes operations 602 to 630.
  • the operations 602 to 630 of the flowchart 600 are executed by one or more of the flow manager 204, the UX KPIs monitor 206 and the flow optimizer 208 of the apparatus 202 (of FIG. 2).
  • the flowchart 600 is used to instruct (i.e., teach) the user 214 about a task flow in case the user 214 is not familiar with the task flow. After receiving a reply (e.g., “got it” or “learnt”) of the user 214 and no more guide is needed, then the flowchart 600 will be suppressed.
  • the flowchart 600 is initiated with an assumption that a given system has pre-configured task flows assigned to a task which are optimized per generic user.
  • a specific task is activated at the flow manager 204 which is to be executed by given system for the user 214.
  • a reply of “learnt” from the user 214 at the flow manager 204 is received.
  • the reply of “learnt” from the user 214 indicates that the user 214 has learned the task flows assigned to the task.
  • a guide is prepared by using sub-tasks prompts and explained to the user 214 using an autogenerated guide prompt.
  • the operation 610 is executed.
  • the task is executed.
  • KPIs associated with the task is reported to the UX KPIs monitor 206.
  • the UX KPIs monitor 206 is configured to check whether the KPIs of the task have been changed. If the KPIs of the task are changed, then, the operation 616 is executed.
  • existing task flows are re-evaluated.
  • an evaluation data is collected at operation 616A.
  • the operations 618, 620 and 622 are executed.
  • the collection of the evaluation data includes obtaining a list of possible task flows at the operation 618, the weight (W) associated with each sub-task of the possible task flows at the operation 620 and a meta data and prompt (e.g., subtasks prompts) at the operation 622.
  • task flows are updated. After collecting representative number of KPIs (e.g., 100 task activations), all task flows of the task are updated and a task flow with the highest UXS is offered to the user 214 which provides an improved or optimized user experience to the user 214
  • the optimal flow has been changed means that the task flow with the highest UXS has been changed.
  • a new guide prompt is created at operation 628. Accordingly, the guide of task flow is updated at operation 630.
  • the user 214 may use the guide many times till the user 214 communicates the reply of “learnt” to the flow manager 204.

Abstract

A method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task is provided, where the task is assigned with a plurality of pre- defined task flows consisting of ordered sub-tasks. The method comprises identifying a user of the system and a task to be executed. The method comprises selecting a task flow among the plurality of task flows assigned to the task. The method comprises executing sub-tasks of the task flow for the user and determining Key Performance Indicators, of each sub-task during the execution of the sub-tasks. The method further comprises updating a User Experience Score (UXS) for each of the plurality of task flows assigned to the task and updating the user preferences based on the updated UXSs of the plurality of task flows. The method enables fine tuning of user experience per specific user using the system.

Description

METHOD AND APPARATUS FOR PERSONALIZING TASK FLOW IN A SYSTEM
HAVING MULTIPLE INTERFACES
TECHNICAL FIELD
The present disclosure relates generally to the field of user experience (UX) analysis and personalisation; and more specifically, to a method and an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users.
BACKGROUND
In general, "user experience" (UX) means an individual's perceptions and responses that result from use or anticipated use of a product, system, or service. UX may encompass all users and stakeholders in the design, development, deployment, and subsequent management and maintenance of the product, system, or service. UX may further encompass the emotions users might feel as they interact with the product, service, or system, as well as their perceptions, responses (both physical and psychological), behaviours, and the accomplishments users have engaged in both during and after use. Usually, UX design and evaluation are based on technical usage metrics (also known as key performance indicators or KPIs) and tests of the user’s opinions collected during pre-production evaluation period, i.e., Beta tests, as well as during consumer’s surveys running in post-production phases.
Currently, there are several tools and guidelines available for designing usable, simple, and effective UX. For example, a UX is considered as good if it is associated with flows that have minimal user interaction. A "UX flow" or simply a "flow" refers to a complete path that a user follows when using a product. The flow includes the user's movement through the product, mapping out each and every step the user takes, for example, from entry point right through to the final interaction of exit. Typically, UX is determined per task and a given task may consist of several independent sub-tasks running concurrently or in a sequence one after the other and each sub-task can be measured using same UX KPIs as the major task. The known UX evaluation (or metering) technologies are usually based on quantitative KPIs or qualitative KPIs. Example of quantitative KPIs include, but are not limited to a Task Success Rate (TSR), i.e., a user’s ability to complete task, a Time-On-Task (TOT), and a User Error Rate (UER). Examples of qualitative KPIs include but are not limited to a System Usability Scale (SUS), Net Promoter Score (NPS), and Customer Satisfaction (CSAT). The qualitative KPIs are based on user’s survey and typically inapplicable in real-time applications. It is observed that current tools and methods do not cope well with user diversity and the changes of the UX with time. For example, in conventional methods and systems, UX is adopted to “average” user, thereby leaving minorities (e.g., uses who are left-handed, non-techie, elders, children, left-brained, right-brained, etc.) out-of-scope. Further, conventional system components and operational flows are semi-static and not prepared for run time dynamic UX adjustments. For example, UX is developed for a pre-defined product, system, or environment configuration, and thus UX degradation is caused by changes in usage habits, person’s physical, or environmental limitations. Thus, conventional methods and systems that are involved in UX tuning methodologies, techniques and KPIs are static and target generalized people, resulting in user experience degradation over time. This in turn reduces the ease of use, increases system complexity, and degrades the overall user experience of a given product, system, and service.
Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with conventional methods and systems associated with UX tuning and personalisation.
SUMMARY
The present disclosure provides a method and an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task. The present disclosure provides a solution to the existing problem of user experience (UX) degradation over time, due to UX adaptation to generalized people (i.e., “average” users) and due to static UX tuning methodologies, techniques, or KPIs. An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in prior art, and provide an improved method and apparatus that provides enhanced and personalized user experience without any UX degradation caused by various reasons, such as changes in usage habits, person’s physical, or environmental limitations, where the UX is dynamically tuned in accordance with a specific user using the system. One or more objectives of the present disclosure is achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.
In one aspect, the present disclosure provides a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task. The task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces. The method comprises identifying a user of the system and a task to be executed by the system for the user to retrieve pre-defined user preferences of the user for the task. The method further comprises selecting a task flow among the plurality of task flows assigned to the task based on the user preferences. The method further comprises executing sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators, KPIs, of each sub-task are determined during the execution of the sub-tasks, including: a Time on Sub-Task (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and a number of overrides of each sub-task by the user. The method further comprises updating a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the determined KPIs of the sub-tasks of the task flow, and updating the user preferences based on the updated UXSs of the plurality of task flows.
The method of the present disclosure improves user experience by providing a personalized task flow most suited to a specific user using the system. The method enables fine tuning of the UX in run time per user and operational flow based on run time measurements. After running one task flow and obtaining KPIs for sub-tasks of this flow, the User Experience Scores (UXSs) of one or more task flows can be updated, which improves user experience without any UX degradation over time, which may otherwise be caused by changes in usage habits, person’s physical, or environmental limitations etc. Automatic, run time (during the use) UX adjustments provided by the method of present disclosure eliminate the need to re-master software of the system by a manufacturer and to re-deploy it periodically.
In a further implementation form, the determining of whether the user is familiar with the task flow comprises determining that the user is not familiar with the task flow if the user preferences have been changed and a new task flow has been selected. The method provides a dynamic addition and removal of the new task flow and accordingly sub-tasks of the new task flow based on the user requirements. Additionally, the user is informed and educated about the new task flow.
In another aspect, the present disclosure provides an apparatus for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task. The task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces. The apparatus comprises a flow manager communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify a user and receive an input of the user to execute tasks. The flow manager is configured to identify a task to be executed by the system for the user and to retrieve pre-defined user preferences of the user for the task. The flow manager is further configured to select a task flow among the plurality of task flows assigned to the task based on the user preferences. The flow manager is further configured to control the system to execute sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each subtask, aborting each sub-task and overriding each sub-task with another sub-task. The system and the involved interfaces are configured to do the following, during the execution of the subtasks: to measure a time of execution of each sub-task, and to count successful executions of each sub-task, to count aborts of each sub-task execution by the user, and to count overriders of each sub-task by the user. The apparatus further comprises a User Experience (UX) monitor configured to determine Key Performance Indicators, KPIs, of each sub-task, including a Time on Sub-Task, ToST, a Sub-Task Success Rate, STSR, a Sub-Task Abort Rate, STAR, and a Weight of each sub-task, based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow. The apparatus further comprises a flow optimizer that is configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows.
The UX is adaptive according to the user currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide improved UX. The apparatus supports a dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows. The apparatus of the present disclosure achieves all other advantages and effects of the method. It is to be appreciated that all the aforementioned implementation forms can be combined. It has to be noted that all devices, elements, circuitry, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof. It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.
Additional aspects, advantages, features and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative implementations construed in conjunction with the appended claims that follow.
BRIEF DESCRIPTION OF THE DRAWINGS
The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.
Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
FIG. 1 is a flowchart of a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure; FIG. 2 is a block diagram that illustrates various exemplary components of an apparatus, in accordance with an embodiment of the present disclosure;
FIG. 3 is an exemplary implementation scenario that depicts a door unlock system supporting a personalized and run-time adjustable user experience (UX), in accordance with an embodiment of the present disclosure;
FIG. 4 is an illustration of an exemplary architecture of a system for run-time key performance indicators (KPIs) measurements and task flow re-adjustments, in accordance with an embodiment of the present disclosure;
FIG. 5 is a flowchart of exemplary operations of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure; and
FIG. 6 is a sequence diagram that depicts exemplary operations of user interaction, education and guidance, in accordance with an embodiment of the present disclosure.
In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the nonunderlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
DETAILED DESCRIPTION OF EMBODIMENTS
The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible.
FIG. 1 is a flowchart of a method of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure. With reference to FIG. 1, there is shown a method 100. The method 100 is executed by an apparatus described in detail, for example, in FIG. 2. The method 100 includes steps 102 to 110. The present disclosure provides the method 100 of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces, the method 100 comprising:
- identifying a user of the system and a task to be executed by the system for the user to retrieve pre-defined user preferences of the user for the task,
- selecting a task flow among the plurality of task flows assigned to the task based on the user preferences,
- executing sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators, KPIs, of each sub-task are determined during the execution of the sub-tasks, including:
- a Time on Sub-Task, ToST
- a Sub-Task Success Rate, STSR
- a Sub-Task Abort Rate, STAR, and
- a number of overrides of each sub-task by the user
- updating a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the determined KPIs of the sub-tasks of the task flow, and
- updating the user preferences based on the updated UXSs of the plurality of task flows. The method 100 involves personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task. The task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces. The method 100 provides the personalized task flow in the system, for example, a computing environment having a software system or an application along with an operating system. The system includes multiple interfaces, such as a user interface (UI) or a graphical user interface (GUI) for interacting with users to execute the task. The task may also be termed as a use case or an operational flow. The task is associated with the plurality of predefined task flows. The plurality of pre-defined task flows corresponds to different paths, i.e., navigation paths, followed by users while using a product or a service or an application. Alternatively stated, the plurality of pre-defined task flows includes users’ movement while using the product (e.g., a door-unlock system) or the service (e.g., a web service) or the application (e.g., a mobile application or a web application) from an entry point right through to an exit point. The plurality of pre-defined task flows includes ordered sub-tasks running concurrently or in a sequence one after the other. The ordered sub-tasks may run in a combination of sequential and concurrent execution. The ordered sub-tasks can be selectively combined in order to personalize the plurality of pre-defined task flows which further personalize the task flow for the system or the product or the service or the application. The ordered sub-tasks include sub-tasks that involves the user’s interaction with one of the interfaces, such as the UIs.
At step 102, the method 100 comprises identifying a user of the system and a task to be executed by the system for the user to retrieve pre-defined user preference of the user for the task. The user of the system (i.e., the operating system) may be identified (or captured) by use of one or more sensors, for example, a fingerprint sensor, a thermal infra-red (IR) sensor, a face detection sensor, etc. The user of the system may be a generalized user (e.g., "average" users) as well as a minority user, such as a young, an adult, a left-handed, a non-techie, an elder, a child, a left- brained, a right-brained, and the like. Thereafter, the task to be executed by the system for the user is identified, where the task may include one or more tasks. The task is executed by the system in order to retrieve the pre-defined user preferences of the user for the task. The user preferences are dynamic in nature and varies with time, usability, person’s physical or environmental variations. Moreover, the user preferences may be different for each user. Optionally, there may be only one preference for one user and different users have different preferences.
At step 104, the method 100 further comprises selecting a task flow among the plurality of task flows assigned to the task based on the user preference. Depending on the user and the predefined user preference, the task flow among the plurality of task flows assigned to the task is selected. The selected task flow provides an optimal and a personalized user experience (UX) to the user.
At step 106, the method 100 further comprises executing sub-tasks of the task flow for the user using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators (KPIs), of each sub-task are determined during the execution of the sub-tasks, including: a Time on Sub-Task (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and/or a number of overrides of each sub-task by the user. The selected task flow includes the sub-tasks running concurrently or sequentially or in a combination of sequential and concurrent execution. The execution of the sub-tasks of the task flow includes one of completion of each sub-task, abortion of each sub-task and override of each sub-task with another sub-task. The Key Performance Indicators (KPIs) associated with each sub-task are determined during the execution (or real time execution) of the sub-tasks such as, the Time on Sub-Task (ToST), the Sub-Task Success Rate (STSR), the Sub-Task Abort Rate (STAR), and/or the number of overrides of each sub-task by the user. The Time on Sub-Task (ToST) may refer the time (or sub-task average latency) from activation till termination of each sub-task. The ToST also includes the user interaction time with the involved interface. The ToST may be measured in seconds. The Sub-Task Success Rate (STSR) may refer to a ratio of a number of sub-tasks which are successfully completed with respect to a total number of subtasks. The STSR lies in a range of 0.0 to 1.0. The Sub-Task Abort Rate (STAR) may refer to a ratio of a number of sub-tasks which are aborted with respect to a total number of sub-tasks. The STAR also lies in a range of 0.0 to 1.0. The method 100 comprises repeated measurement of the KPIs during the execution of the sub-tasks.
At step 108, the method 100 further comprises updating a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the determined KPIs of the subtasks of the task flow. Based on the determined KPIs of the sub-tasks of the task flow, the User Experience Score (UXS) of each of the plurality of task flows assigned to the task is updated. A task flow among the plurality of task flows assigned to the task with the highest UXS (assuming there are alternative task flows serving the same functionality) is promoted to the user and suggested for use. As a result, the user manifests an optimal and personalized user experience (UX).
At step 110, the method 100 further comprises updating the user preferences based on the updated UXSs of the plurality of task flows. Based on the updated UXSs of the plurality of task flows, the user preferences are also updated in order to tune the UX per specific user currently using the system (i.e., operating system) and to cope with UX degradation caused by changes in usage habits, person’s physical or environmental limitations.
In accordance with an embodiment, the updating of the user preferences comprises assigning a preferred task flow to the task based on the updated UXSs of the plurality of task flows. Based on the updated user preferences according to the updated UXSs of the plurality of task flows, the preferred task flow is assigned to the task in order to support run time optimization.
In accordance with an embodiment, a task flow with the highest UXS is assigned to the task as the preferred task flow for the user. Alternatively stated, the preferred task flow assigned to the task manifests the highest UXS and hence, promoted to the user and suggested for use. As a result, the certainty that the user will have an enhanced personalized user experience (UX) is significantly increased.
In accordance with an embodiment, the method 100 further comprises determining whether the user is familiar with the task flow before the execution of the sub-tasks of the task flow. If the user is not familiar with the task flow, the method 100 further comprises preparing a guide on the task flow, and teaching the user about the task flow with the guide before or during the execution of the sub-tasks of the task flow for the user using the involved interfaces. For example, in a case, if the user is familiar (e.g., the user is educated) with the task flow then, the sub-tasks of the task flow are executed accordingly. In another case, if the user is not familiar (e.g., the user is uneducated) then, the guide on the task flow is prepared in order to teach the user about the task flow. The guide on the task flow with suggested order of operations based on sub-tasks prompts is provided to the user using the involved interfaces before or during the execution of the sub-tasks of the task flow. The sub-tasks prompts include beep, text prompt, voice command, vibration, etc. In this way, the method 100 provides fine tuning of the UX in run time per specific user.
In accordance with an embodiment, the determining of whether the user is familiar with the task flow comprises determining that the user is not familiar with the task flow if the user preferences have been changed and a new task flow has been selected. For example, in a case, the user preferences have been changed due to change in usage habits of the user and the new task flow has been selected and the user is not familiar with the new task flow. Therefore, in such a case, the user is informed and educated about the new task flow. Thus, the method 100 provides a dynamic addition or removal of the new task flow and accordingly sub-tasks of the new task flow based on the user requirements.
In accordance with an embodiment, the determining of whether the user is familiar with the task flow comprises proposing a guide on the task flow to the user and receiving a reply of the user using one of the interfaces. In the case, where the user preferences have been changed due to change in usage habits of the user and the new task flow has been selected and the user is not familiar with the new task flow. In such a case, the guide on the task flow (i.e., the new task flow) is prepared and provided to the user in order to teach the user about the new task flow. Additionally, this is also verified that the user needs no more guide on the task flow (i.e., the new task flow) by receiving the reply of the user as “learnt” or “got it” using one of the interfaces. Thus, the method 100 provides not only the learning but also the confirmation of learning of the task flow (i.e., the new task flow) by the user. In accordance with an embodiment, the determining of whether the user is familiar with the task flow comprises determining that the user is familiar with the task flow if the user rejects the guide in the reply. In the case of selection of the new task flow, if the user rejects the guide in the reply which indicates that the user is familiar with the new task flow and a given task can be executed directly without the guide on the new task flow.
In accordance with an embodiment, the updating of the user preferences is done periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times. The user preferences are updated either periodically (e.g., after 5-10 sessions) or when the UXSs of the plurality of task flows assigned to the task are updated on the pre-defined number of times. The UXSs of the plurality of task flows assigned to the task are updated on the basis of the KPIs of the sub-tasks of the task flow.
In accordance with an embodiment, the updating of the UXS for each of the plurality of task flows assigned to the task comprises calculating the UXS by the following formula:
UXS = — nf-i Wj, where
ToT 1 11 -1 15 z is a sub-task number, TV is a total number of sub-tasks in the task flow,
W is a sub-task weight set for the user based on the number of overrides of the sub-task by the user, ranging from 0.0 to 1.0,
TSR is a Task Success Rate, defined as Tlz i STSR where STSR ranges from 0.0 to 1.0 and is defined as (1-STAR), and
ToT is a Time on Task, being a sum of ToST of all sub-tasks of the task flow, wherein if any sub-tasks of the task flow are executed in parallel, only a maximum ToST of said parallel sub-tasks is included into ToT
The calculation of the UXS for each of the plurality of task flows assigned to the task includes the task success rate (TSR) and the time on task (ToT). The UXS is better with high values of the TSR and worse with high values of the ToT. The TSR depends on the user’s error only for calculation of the UXS for each of the plurality of task flows. In most of cases, the user aborts a given task (or a sub-task) without any technical reason. Therefore, the method 100 is configured to ignore technical parameters such as sensors accuracy, etc. The TSR further depends on the STSR. The STSR and the STAR are dependent variables. For example, the STAR can be used for calculation of the STSR as STSR=1-STAR or 100%-STAR. However, task abort rate (TAR) does not depend on sequential or concurrent execution of the sub-tasks of the task flow and increases with increase in the number of sub-tasks. Similar to the TSR, ToT depends on the ToST of all sub-tasks of the task flow. The ToT is calculated by applying a root node to ToST, according to the following mathematical expression, ToT = ToSTRoot. Further, the ToST is calculated, according to the following mathematical expression, ToSTx = Tx + max Tacc(ki), where, Tx is a subordinate of a sub- task, Tacc is an accumulative time of the subordinate of the sub-task leading to execution of the sub-task. If the sub-tasks of the task flow are executed in parallel, only the maximum ToST of the parallel sub-tasks is included into the ToT. The ToT can be explained in more detail by considering an example given as
Figure imgf000013_0001
The example describes a task including two sequentially composed sub-tasks as C+A&B, where A&B running concurrently. The ToT (also known as root node of the ToST) is calculated according to R=C+A&B time, where A&B time is a maximum of the two (e.g., B). Therefore, considering the ToT as R=C+B. Further, B is also composed of two concurrent tasks, such as F3 and F2, where ToST of F3 is greater than the ToST of F2, hence, the ToT is finally calculated as R=C+B=C+F3. In this way, the ToST and STSR are measurable run time (RT) parameters which enables the method 100 to support the run time optimization and to provide the improved (e.g., optimal) and personalized UX.
In accordance with an embodiment, the weight of each sub-task for the user is further set by the system and/or by the user preferences. The weight of each sub-task is configured to explicitly reflect technically unmeasurable UX parameters, such as convenience perception related to unidirectional or bi-directional user interaction, color schema, voice accent, etc. The weight of each sub-task corresponds to a constant value or function parameters, used for sub-task corrective compensation in the calculation of the UXS. The constant value or the corrective function parameters are set by the system and/or by the user preferences to reflect unmeasurable known UX impact in the range of 0.0 to 1.0. In accordance with an embodiment, the method 100 further comprises when the user overriding an executed sub-task with another sub-task by selecting another task flow among the plurality of task flows assigned to the task comprising the overriding sub-task with which the user overrode the executed sub-task, and executing the sub-tasks of the selected task flow for the user starting with the overriding sub-task. For example, in a case, the user overrides the executed sub-task with the other sub-task by selecting the other task flow among the plurality of task flows assigned to the task. In such a case, the given (or the current) task flow is aborted and weight of the other sub-task associated with the other task flow selected by the user is increased in order to give a boost in the UXS calculation. Therefore, the other sub-task (i.e., the overriding sub-task) manifests higher chances to appear in the optimal UXS. This means that the sub-tasks of the selected task flow are executed for the user starting with the overriding subtask to obtain the optimal UXS.
Thus, the method 100 provides a fine tuning of the UX in run time per specific user, usage habits, person’s physical, or environmental limitations etc. The method 100 is based on run time measurable parameters such as the ToST, STSR, TSR, TAR, to provide the optimal and personalized UX. After running a task flow and obtaining KPIs for each sub-task of the task flow, the User Experience Scores (UXSs) of one or more task flows are updated, which improves UX without any UX degradation over time, which may otherwise be caused by changes in usage habits, person’s physical, or environmental limitations etc.
The steps 102 to 110 are only illustrative and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
FIG. 2 is a block diagram that illustrates various exemplary components of an apparatus, in accordance with an embodiment of the present disclosure. FIG. 2 is described in conjunction with elements from FIG. 1. With reference to FIG. 2 there is shown a block diagram 200 that includes an apparatus 202. The apparatus 202 includes a flow manager 204, a user experience (UX) monitor 206, a flow optimizer 208, a memory 210 and a processor 212. There is further shown a user 214. The user 214 may be communicatively coupled with the apparatus 202.
The apparatus 202 may comprise suitable logic, circuitry, interfaces, and/or code that is configured to personalize a task flow in a system having multiple interfaces for interacting with users to execute a task. Examples of the apparatus 202 may include, but are not limited to, a user device, a laptop, a computing device, a communication apparatus including a portable or non-portable electronic device, or a supercomputer. The apparatus 202 may also be referred as a run time (RT) user experience (UX) optimizer.
The flow manager 204 is communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify the user 214 and receive an input of the user 214 to execute tasks.
The user experience (UX) monitor 206 is configured to determine Key Performance Indicators, KPIs, of each sub-task based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow.
The flow optimizer 208 is configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow. The flow optimizer 208 may also be referred as a RT flow optimizer.
In an implementation, the flow manager 204, the UX monitor 206, and the flow optimizer 208 refers to software modules that may be stored in the memory 210 or any other memory not shown in FIG. 2, and can be executed by processor 212 or any other processor not shown in FIG. 2. However, it is to be understood that the functionalities of the flow manager 204, the UX monitor 206, and the flow optimizer 208 may also be implemented as one or more specialized circuitry.
The memory 210 includes suitable logic, circuitry, or interfaces that is configured to store the instructions executable by the processor 212. Examples of implementation of the memory 210 may include, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, Solid-State Drive (SSD), or CPU cache memory. The memory 210 may store an operating system or other program products (including one or more operation algorithms) to operate the apparatus 202.
The processor 212 includes suitable logic, circuitry, or interfaces that is configured to execute the instructions stored in the memory 210. In an example, the processor 212 may be a general- purpose processor. Other examples of the processor 212 may include, but is not limited to a microprocessor, a microcontroller, a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a central processing unit (CPU), a state machine, a data processing unit, and other processors or control circuitry. Moreover, the processor 212 may refer to one or more individual processors, processing devices, a processing unit that is part of a machine, such as the apparatus 202.
In operation, the apparatus 202 is configured for personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve the user 214 interaction with one of the interfaces. The flow manager 204 is communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify the user 214 and receive an input of the user 214 to execute tasks. The flow manager 204 is configured to identify a task to be executed by the system for the user 214. The flow manager 204 is further configured to retrieve pre-defined user preferences of the user 214 for the task and select a task flow among the plurality of task flows assigned to the task based on the user preferences. The flow manager 204 is further configured to control the system to execute sub-tasks of the task flow for the user 214 using the involved interfaces for the user interaction with the system to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task. The system and the involved interfaces are configured to do the following, during the execution of the sub-tasks: to measure a time of execution of each sub-task, and to count successful executions of each sub-task, to count aborts of each sub-task execution by the user 214, and to count overriders of each sub-task by the user 214. The UX monitor 206 is configured to determine Key Performance Indicators (KPIs) of each sub-task, including a Time on SubTask (ToST), a Sub-Task Success Rate (STSR), a Sub-Task Abort Rate (STAR), and a Weight of each sub-task (W), based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow. The flow optimizer 208 is configured to update a User Experience Score (UXS), for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows. Moreover, the UX is adaptive according to the user 214 currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide improved UX. The apparatus 202 supports the dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows.
In accordance with an embodiment, the flow optimizer 208 is further configured to update the user preferences periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times. The user preferences are updated either periodically (e.g., after 5-10 sessions) or when the UXSs of the plurality of task flows assigned to the task are updated after the pre-defined number of times. The UXSs of the plurality of task flows assigned to the task are updated on the basis of the KPIs of the sub-tasks of the task flow.
In accordance with an embodiment, the flow manager 204 is further configured to identify the task to be executed by the system for the user 214 based on one or more of the system settings, the identity of the user 214 and the input of the user 214. For example, in case, if there is a change in the system’s settings then, the flow manager 204 is configured to identify the task to be executed by the system for the user 214 according to the changed system settings. Additionally, the flow manager 204 is configured to identify the user 214 that whether the user 214 is a child, or a young person or an old lady and the like. The flow manager 204 is also configured to identify a type of the input, such as either a voice command, or a face authentication command, or a finger swipe command, etc. used by the user 214. In this way, the apparatus 202 enables fine tuning of the UX in run time per specific user and the user’s inputs.
Thus, the apparatus 202 provides an improved (e.g., optimal) and a personalized user experience (UX). The UX is adaptive according to the user 214 currently using the system. In case if the user’s habits change then, the task flows (or operational flows) are modified accordingly, in order to provide the optimal UX. The apparatus 202 supports a dynamic addition and removal of one or more new task flows and accordingly new sub-tasks of the one or more task flows. Moreover, the apparatus 202 provides a generic solution of providing the personalized UX which is beneficial for any kind of interactive system.
FIG. 3 is an exemplary implementation scenario that depicts a door unlock system supporting a personalized and run-time adjustable user experience (UX), in accordance with an embodiment of the present disclosure. FIG. 3 is described in conjunction with elements from FIGs. 1 and 2. With reference to FIG. 3 there is shown an exemplary implementation scenario 300 that includes a door unlock multi factor authentication (MFA) system 302, an application 304 and a plurality of users 306. The application 304 may be installed in the apparatus 202. The plurality of users 306 includes a first user 306 A, a second user 306B and a third user 306C. Optionally, there may be one or two users. There is further shown the flow manager 204 and the flow optimizer 208 (of FIG. 2). The exemplary implementation scenario 300 describes an exemplary sequence of operations 308A, 308B, 308C, and 308D executed by the flow manager 204, and the flow optimizer 208. The door unlock MFA system 302 and the plurality of users 306 are represented by dashed rectangular box which is used for illustration purpose only.
The door unlock MFA system 302 includes a plurality of sub-tasks (or multiple factors) used to unlock the door, such as voice unlock command (VC), face authentication (FA), finger scanner (FS), and a PIN code (PC). In real time, the VC sub-task is related to, for example, pronunciation pace, the FA sub-task is related to cosmetics or glasses, the FS sub-task is related to print quality and the PC sub-task is related to memory skills. In the door unlock MFA system 302, each task includes two sub-tasks (or factors) working in sequence. Any combination of two sub-tasks can be used. The order of the two sub-tasks is not important. Moreover, it is assumed that all the sub-tasks (or factors) are equally preferred which means a weight (W) associated with each sub-task is 1 (i.e., W=l). The door unlock MFA system 302 supports 6 valid tasks provided in Table 1.
Table 1 :
Figure imgf000018_0001
where, each of the VC, the FA, the FS, the PC represents a sub-task and [1] to [6] represents an identity of a task.
The plurality of users 306 includes a child girl as the first user 306A, a young person as the second user 306B and an old lady as the third user 306C.
At operation 308A, the flow optimizer 208 (also termed as run time (RT) flow optimizer) is configured to measure key performance indicators (KPIs) of each sub-task of the door unlock MFA system 302 during the execution of each sub-task. The KPIs of each sub-task of the door unlock MFA system 302 indicates that how effectively the door unlock MFA system 302 is operated by the plurality of users 306. The KPIs of each sub-task may have different values with respect to the first user 306A, the second user 306B and the third user 306C. The KPIs of each sub-task measured by the flow optimizer 208 for each of the plurality of users 306 is provided in Table 2. Table 2:
Figure imgf000019_0001
The KPIs measured by the flow optimizer 208 are ToST and STAR. The ToST (also termed as latency) and the STAR of each sub-task is different for each of the plurality of users 306. For example, the ToST of the sub-task VC (e.g., pronunciation pace) measured for the first user 306A is 13.2, for the second user 306B is 7.1 and for the third user 306C is 10.6. Similarly, the
STAR of the sub-task VC (i.e., pronunciation pace) measured for first user 306A is 0.25, for the second user 306B is 0.08 and for the third user 306C is 0.17. Similarly, the ToST and the STAR of the FA sub-task (e.g., cosmetics or glasses), the FS sub-task (e.g., print quality) and the PC sub-task (e.g., memory skills) associated with the first user 306A, the second user 306B and the third user 306C, respectively, is provided in the Table 2.
At operation 308B, the flow optimizer 208 (i.e., RT flow optimizer) is configured to measure a user experience score (UXS) of each task flow based on the measured KPIs of each sub-task of the door unlock MFA system 302. The UXS is measured by use of the following equation
UXS = ((1 - STAR L ~ STAR2))/(ToST1 + ToST2) The UXS is measured for each task flow and with respect to each of the plurality of users 306. The UXS measured for each task flow and with respect to the first user 306A is provided in Table 3. Similarly, the UXS measured for each task flow and with respect to the second user 306B and the third user 306C is provided in Tables 4 and 5, respectively.
Table 3 Table 4 Table 5
Figure imgf000019_0004
Figure imgf000019_0003
Figure imgf000019_0002
Figure imgf000020_0002
Figure imgf000020_0001
Figure imgf000020_0003
The flow optimizer 208 is further configured to select a task flow with the highest UXS and promote the selected task flow to the user (one of the plurality of users 306) currently using the door unlock MFA system 302. For example, in the Table 3, the task flow with the ID [4] (i.e., FS+FA) manifests the highest UXS of 0.090 and therefore, suggested to the first user 306A to enjoy the best possible user experience of the door unlock MFA system 302. In the Table 4, the task flow with the ID [6] (i.e., PC+FS) manifests the highest UXS of 0.169 and therefore, suggested to the second user 306B to enjoy the best possible user experience of the door unlock MFA system 302. Similarly, in the Table 5, the task flow with the ID [5] (i.e., PC+FA) manifests the highest UXS of 0.076 and therefore, suggested to the third user 306C to enjoy the best possible user experience of the door unlock MFA system 302.
At operation 308C, the flow optimizer 208 (i.e., the RT flow optimizer) is configured to update user preferences (or run time user preferences) based on the updated UXS of each task flow of the door unlock MFA system 302. The application 304 configuration such as pre-configured task flows, selection rules, and user preferences are given and these are updated according to the updated UXS of each task flow of the door unlock MFA system 302.
At operation 308D, the flow manager 204 is configured to receive the updated user preferences to identify a new task to be executed by the door unlock MFA system 302 for the user (i.e., one of the plurality of users 306).
In a case, the user’s reaction or the parameters of the door unlock MFA system 302 may vary, therefore, the operations 308A-308D are executed in sequence to provide an improved (i.e., optimal) and personalized user experience to each of the plurality of users 306. In this way, the UX is tuned per specific user currently using the system and cope up with UX degradation caused by changes in usage habits, person’s physical or environmental limitations.
FIG. 4 is an illustration of an exemplary architecture of a system for run time key performance indicators (KPIs) measurements and task flow re-adjustments, in accordance with an embodiment of the present disclosure. FIG. 4 is described in conjunction with elements from FIGs. 1, 2, and 3. With reference to FIG. 4, there is shown a system 400 that includes the apparatus 202 (i.e., the RT UX optimizer), the flow manager 204, the UX KPIs monitor 206, and the flow optimizer 208. The system 400 has pre-configured flows (or task flows) including user’s preferences, task details (such as identity of task), system preferences or sub-task preferences with expected UXS optimized per average user that is represented by a rectangular box 402. The system 400 describes an exemplary sequence of operations 404A, 404B, 404C, 404D, 404E, 404F, 404G, and 404H executed by the flow manager 204, the UX KPIs monitor 206 and the flow optimizer 208 of the apparatus 202 (i.e., the RT UX optimizer).
At operation 404A, the flow manager 204 is configured to identify a task to be executed by the system 400 for a user, such as the user 214 based on the pre-configured user’s preferences, system preferences or sub-task preferences. The flow manager 204 is further configured to select a task flow among a plurality of task flows assigned to the task based on the user preferences. The task flow includes a plurality of sub-tasks such as sub-task 1 (STI), sub-task 2 (ST2) up to sub-task n (STn). The flow manager 204 provides a flexible task flow by use of a micro flow (i.e., the plurality of sub-tasks) as building blocks.
At operation 404B, the task flow along with the plurality of sub-tasks is provided to the UX KPIs monitor 206. The UX KPIs monitor 206 is configured to determine run time KPIs (i.e., ToT, ToST, TSR, STAR) of each sub-task of the task flow.
At operation 404C, the UX KPIs monitor 206 is configured to manage history, track trends and trigger refreshes. The UX KPIs monitor 206 is configured to create user data space and maintain KPIs. The KPIs are updated after each sub-task activation. The measured KPIs of each sub-task are provided to the flow optimizer 208.
At operation 404D, the flow optimizer 208 is configured to evaluate UXS of each of the plurality of task flows assigned to the task based on the measured KPIs of the sub-tasks of the task flow. The task flow with the highest UXS is promoted and suggested for use to the user 214 to provide an optimal and personalized UX. Alternatively stated, the optimal UX is associated with the task flow with the highest UXS and saved into the user preferences. In a case, if the user preferences are already present, then the task’s UXS is updated.
At operation 404E, the flow optimizer 208 is configured to consider a weight (W) associated with each sub-task of the task flow. At operation 404F, given user preferences are updated based on the updated UXS associated each task. After updating the user preferences, a task with the highest UXS score is selected. For example, among given tasks, a task includes two sub-tasks, stl and st2. A task flow of a plurality of task flows assigned to the task includes stl followed by st2, has the highest UXS of 0.34.
At operation 404G, the flow manager 204 is configured to activate the task with the highest UXS (that is the task with the UXS of 0.34). An appropriate guide with suggested order of operations is generated using sub-tasks prompts and provided to the user 214 so that next time the user 214 activates the task with the highest UXS. The sub-tasks prompts include a number of augmenting parameters to allow proper functioning of a high-level sub-system (such as the door unlock MFA system 302). The augmenting parameters include task identity, supported functionality (e.g., authentication factor, text input, command recognition, etc.), expected user preferences (w) or related guide and prompt and the like.
At operation 404H, the flow manager 204 is configured to trigger the events (or tasks) at the flow optimizer 208.
FIG. 5 is a flowchart of exemplary operations of personalizing a task flow in a system having multiple interfaces for interacting with users to execute a task, in accordance with an embodiment of the present disclosure. FIG. 5 is described in conjunction with elements from FIGs. 1, 2, 3, and 4. With reference to FIG. 5, there is shown a flowchart 500 that includes operations 502 to 528. The operations 502 to 528 in the flowchart 500 are executed by the apparatus 202 (of FIG. 2).
At operation 502, a user is sensed. In other words, a user (such as the user 214) of a system having multiple interfaces, is identified. The user of the system may be one of a young, an adult, a left-handed, a non-techie, an elder, a child, a left-brained, a right-brained, and the like.
At operation 504, a preferred task is picked. In other words, a preferred task is selected that is to be executed by the system for the user based on pre-defined user preferences. The preferred task includes a plurality of task flows which are either pre-determined by the system configuration or dynamically generated. In the flowchart 500, the plurality of task flows is dynamically generated. Further, a task flow among the plurality of task flows associated with the preferred task is selected. The task flow includes a plurality of sub-tasks. At operation 506, it is checked whether the user preferences have been changed. In a case, if the user preferences have been changed and a new task flow has been selected then, the operation 508 is executed at first before the execution of the operation 510. In another case, if the user preferences have not been changed then, directly the operation 510 is executed.
At operation 508, a guide is prepared on the new task flow to instruct (or virtually teach) the user about the new task flow.
At operation 510, it is determined whether the user is familiar (or educated) with the task flow before the execution of the plurality of sub-tasks of the task flow. In a case, if the user is not familiar with the task flow then, the operation 512 is executed at first before the execution of the operation 514. In another case, if the user is familiar with the task flow then, the operation 514 is executed.
At operation 512, a guide of sub-tasks prompts, such as voice command, vibration, text input, etc., is prepared in order to teach the user about the task flow before or during the execution of the sub-tasks of the task flow.
At operation 514, the task flow (or the task) is executed. At operation 516, the sub-tasks of the task flow are executed. Task is a logical structure consisting sub-tasks. So, executing task mean execute one or more subtask. Therefore in FIG. 5, diamond shaped block 514 stands for iterative execution of the blocks 516 and 518.
At operation 518, KPIs of each of the plurality of sub-tasks of the task flow, are updated. The updated KPIs are further used to select another task flow.
At operation 520, all the possible task flows are updated either periodically (e.g., after 5-10 sessions) or after the KPIs update on the pre-defined number of times.
At operation 522, UXS for all the possible task flows, are evaluated. In an example, if the user declines an ongoing task flow (citing the reason of “don’t like it”) then, sub-tasks of the task flow are aborted. Accordingly, the KPIs of each sub-task of the task flow are updated. In this example, the sub-task abort rate (STAR) is higher which indicates that with time, given subtask will be less preferred (or its UXS will become lower). In another example, if the user overrides a specific sub-task to continue the task flow with a selected sub-task, the current task flow is aborted. The weight of the selected sub-task increases accordingly in order to give a boost in UXS calculations of the selected sub-task. Due to increase in UXS of the selected subtask, the selected sub-task has higher chances to appear in the optimal UX.
At operation 524, a task flow with the highest UXS, is picked or selected. In a case, if the task flow with the highest UXS cannot be initiated due to technical issues then, in such a case, either a task flow next to the task flow with the highest UXS +1 (e.g., next+1) or a task flow next to next to the task flow with the highest UXS +1 (e.g., next+2) is selected.
At operation 526, the user preferences are updated based on the updated UXSs of all the possible task flows. At 528, the control of the flowchart 500 moves to end.
The operations 502-518 of the flowchart 500 are executed in order to provide the user the task flow with the highest UXS, due to which the user enjoys an optimal and personalized user experience of the system. The operations 520-526 of the flowchart 500 are executed to update the user preferences.
FIG. 6 is a sequence diagram that depicts exemplary operations of user interaction, education and guidance, in accordance with an embodiment of the present disclosure. FIG. 6 is described in conjunction with elements from FIGs. 1, 2, 3, 4, and 5. With reference to FIG. 6, there is shown a flowchart 600 that includes operations 602 to 630. The operations 602 to 630 of the flowchart 600 are executed by one or more of the flow manager 204, the UX KPIs monitor 206 and the flow optimizer 208 of the apparatus 202 (of FIG. 2).
The flowchart 600 is used to instruct (i.e., teach) the user 214 about a task flow in case the user 214 is not familiar with the task flow. After receiving a reply (e.g., “got it” or “learnt”) of the user 214 and no more guide is needed, then the flowchart 600 will be suppressed. The flowchart 600 is initiated with an assumption that a given system has pre-configured task flows assigned to a task which are optimized per generic user.
At operation 602, a specific task is activated at the flow manager 204 which is to be executed by given system for the user 214.
At operation 604, a task flow with the highest UXS, is activated.
At operation 606, a reply of “learnt” from the user 214 at the flow manager 204 is received. The reply of “learnt” from the user 214 indicates that the user 214 has learned the task flows assigned to the task. In a case, if no reply is received from the user 214 then, at operation 608, a guide is prepared by using sub-tasks prompts and explained to the user 214 using an autogenerated guide prompt. In another case, if the reply is received from the user 214, then, the operation 610 is executed.
At operation 610, the task is executed. At operation 612, KPIs associated with the task is reported to the UX KPIs monitor 206.
At operation 614, the UX KPIs monitor 206 is configured to check whether the KPIs of the task have been changed. If the KPIs of the task are changed, then, the operation 616 is executed.
At operation 616, existing task flows are re-evaluated. For re-evaluation of existing task flows, an evaluation data is collected at operation 616A. For executing the operation 616A, the operations 618, 620 and 622 are executed. The collection of the evaluation data includes obtaining a list of possible task flows at the operation 618, the weight (W) associated with each sub-task of the possible task flows at the operation 620 and a meta data and prompt (e.g., subtasks prompts) at the operation 622.
At operation 624, task flows are updated. After collecting representative number of KPIs (e.g., 100 task activations), all task flows of the task are updated and a task flow with the highest UXS is offered to the user 214 which provides an improved or optimized user experience to the user 214
At operation 626, it is determined whether the optimal flow has been changed means that the task flow with the highest UXS has been changed. In a case, if the optimal flow has been changed or the task flow with the highest UXS has been changed then, a new guide prompt is created at operation 628. Accordingly, the guide of task flow is updated at operation 630. The user 214 may use the guide many times till the user 214 communicates the reply of “learnt” to the flow manager 204.
Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as "including", "comprising", "incorporating", "have", "is" used to describe and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural. The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments and/or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". It is appreciated that certain features of the present disclosure, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the present disclosure, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable combination or as suitable in any other described embodiment of the disclosure.

Claims

1. A method (100) of personalizing a task flow in a system (302, 400) having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of predefined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces, the method (100) comprising:
- identifying a user (214) of the system (302, 400) and a task to be executed by the system (302, 400) for the user (214) to retrieve pre-defined user preferences of the user (214) for the task,
- selecting a task flow among the plurality of task flows assigned to the task based on the user preferences,
- executing sub-tasks of the task flow for the user (214) using the involved interfaces for the user interaction with the system (302, 400) to do one of completing each sub-task, aborting each sub-task and overriding each sub-task with another sub-task, wherein Key Performance Indicators, KPIs, of each sub-task are determined during the execution of the subtasks, including:
- a Time on Sub-Task, ToST
- a Sub-Task Success Rate, STSR,
- a Sub-Task Abort Rate, STAR, and
- a number of overrides of each sub-task by the user
- updating a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the determined KPIs of the sub-tasks of the task flow, and
- updating the user preferences based on the updated UXSs of the plurality of task flows.
2. The method (100) of claim 1, wherein the updating of the user preferences comprises assigning a preferred task flow to the task based on the updated UXSs of the plurality of task flows.
3. The method (100) of claim 2, wherein a task flow with the highest UXS is assigned to the task as the preferred task flow for the user (214).
4. The method (100) of any of claims 1 to 3, further comprising:
- determining whether the user (214) is familiar with the task flow before the execution of the sub-tasks of the task flow, and
26 if the user (214) is not familiar with the task flow:
- preparing a guide on the task flow, and
- teaching the user (214) about the task flow with the guide before or during the execution of the sub-tasks of the task flow for the user (214) using the involved interfaces.
5. The method (100) of claim 4, wherein the determining of whether the user (214) is familiar with the task flow comprises determining that the user (214) is not familiar with the task flow if the user preferences have been changed and a new task flow has been selected.
6. The method (100) of claim 4 or 5, wherein the determining of whether the user (214) is familiar with the task flow comprises proposing a guide on the task flow to the user (214) and receiving a reply of the user (214) using one of the interfaces.
7. The method (100) of claim 6, wherein the determining of whether the user (214) is familiar with the task flow comprises determining that the user (214) is familiar with the task flow if the user (214) rejects the guide in the reply.
8. The method (100) of any of claims 1 to 7, wherein the updating of the user preferences is done periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times.
9. The method (100) of any of claims 1 to 8, wherein the updating of the UXS for each of the plurality of task flows assigned to the task comprises calculating the UXS by the following formula:
UXS = — nf-i Wj, where
ToT 1 11-1 15 z is a sub-task number, TV is a total number of sub-tasks in the task flow,
W is a sub-task weight set for the user (214) based on the number of overrides of the sub-task by the user (214), ranging from 0.0 to 1.0,
TSR is a Task Success Rate, defined as Tlz i STSR where STSR ranges from 0.0 to 1.0 and is defined as (1-STAR), and ToT is a Time on Task, being a sum of ToST of all sub-tasks of the task flow, wherein if any sub-tasks of the task flow are executed in parallel, only a maximum ToST of said parallel sub-tasks is included into ToT.
10. The method (100) of claim 9, wherein the weight of each sub-task for the user (214) is further set by the system (302, 400) and/or by the user preferences.
11. The method (100) of any of claim 1 to 10, further comprising, when the user (214) overriding an executed sub-task with another sub-task: selecting another task flow among the plurality of task flows assigned to the task comprising the overriding sub-task with which the user (214) overrode the executed sub-task, and executing the sub-tasks of the selected task flow for the user (214) starting with the overriding sub-task.
12. An apparatus (202) for personalizing a task flow in a system (302, 400) having multiple interfaces for interacting with users to execute a task, wherein the task is assigned with a plurality of pre-defined task flows consisting of ordered sub-tasks including sub-tasks that involve a user interaction with one of the interfaces, the apparatus (202) comprising: a flow manager (204) communicatively coupled with the interfaces to receive data from and transmit controls to the interfaces, wherein each of the interfaces is configured to identify a user (214) and receive an input of the user (214) to execute tasks, the flow manager (204) is configured to identify a task to be executed by the system (302, 400) for the user (214), retrieve pre-defined user preferences of the user (214) for the task, select a task flow among the plurality of task flows assigned to the task based on the user preferences, control the system (302, 400) to execute sub-tasks of the task flow for the user (214) using the involved interfaces for the user interaction with the system (302, 400) to do one of completing each sub-task, aborting each sub-task and overriding each subtask with another sub-task, wherein the system (302, 400) and the involved interfaces are configured to do the following, during the execution of the sub-tasks: to measure a time of execution of each sub-task, and to count successful executions of each sub-task, to count aborts of each sub-task execution by the user (214), and to count overriders of each sub-task by the user (214), a User Experience, UX, monitor (206) configured to determine Key Performance Indicators, KPIs, of each sub-task, including a Time on Sub-Task, ToST, a Sub-Task Success Rate, STSR, a Sub-Task Abort Rate, STAR, and a Weight of each sub-task, based on the time of execution and the counts of successful executions, aborts and overrides of each sub-task of the task flow, a flow optimizer (208) configured to update a User Experience Score, UXS, for each of the plurality of task flows assigned to the task based on the KPIs of the sub-tasks of the task flow, and update the user preferences based on the updated UXSs of the plurality of task flows.
13. The apparatus (202) of claim 12, wherein the flow optimizer (208) is configured to update the user preferences periodically and/or when the UXSs of the plurality of task flows are updated a pre-defined number of times.
14. The apparatus of claim 12 or 13, wherein the flow manager (204) is configured to identify the task to be executed by the system (302, 400) for the user (214) based on one or more of the system settings, the identity of the user (214) and the input of the user (214).
29
PCT/EP2020/087558 2020-12-22 2020-12-22 Method and apparatus for personalizing task flow in a system having multiple interfaces WO2022135684A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/087558 WO2022135684A1 (en) 2020-12-22 2020-12-22 Method and apparatus for personalizing task flow in a system having multiple interfaces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/087558 WO2022135684A1 (en) 2020-12-22 2020-12-22 Method and apparatus for personalizing task flow in a system having multiple interfaces

Publications (1)

Publication Number Publication Date
WO2022135684A1 true WO2022135684A1 (en) 2022-06-30

Family

ID=74125224

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/087558 WO2022135684A1 (en) 2020-12-22 2020-12-22 Method and apparatus for personalizing task flow in a system having multiple interfaces

Country Status (1)

Country Link
WO (1) WO2022135684A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180365025A1 (en) * 2017-06-16 2018-12-20 General Electric Company Systems and methods for adaptive user interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180365025A1 (en) * 2017-06-16 2018-12-20 General Electric Company Systems and methods for adaptive user interfaces

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUSSAIN JAMIL ET AL: "Model-based adaptive user interface based on context and user experience evaluation", JOURNAL ON MULTIMODAL USER INTERFACES, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 12, no. 1, 1 February 2018 (2018-02-01), pages 1 - 16, XP036424121, ISSN: 1783-7677, [retrieved on 20180201], DOI: 10.1007/S12193-018-0258-2 *
NIVETHIKA MAHASIVAM ET AL: "Personalized and adaptive user interface framework for mobile application", 2013 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), IEEE, 22 August 2013 (2013-08-22), pages 1913 - 1918, XP032509989, ISBN: 978-1-4799-2432-5, [retrieved on 20131018], DOI: 10.1109/ICACCI.2013.6637474 *

Similar Documents

Publication Publication Date Title
CN109074166B (en) Changing application states using neural data
US20180040044A1 (en) Vector-based characterizations of products and individuals with respect to personal partialities
Paulheim et al. Towards evaluating interactive ontology matching tools
US11625314B1 (en) AI for evaluation and development of new products and features
US20220237460A1 (en) Electronic device and operation method thereof
US11501215B2 (en) Hierarchical clustered reinforcement machine learning
JP7135255B2 (en) Item recommendation method, system, program, electronic device and storage medium
US20160321034A1 (en) User experience as a service
CN105989450A (en) Automated, accelerated prototype generation system
WO2017180932A1 (en) Systems and methods that provide customers with access to rendered retail environments
US20200122039A1 (en) Method and system for a behavior generator using deep learning and an auto planner
CN112559721B (en) Method, device, equipment, medium and program product for adjusting man-machine dialogue system
Smolnik et al. Structuring and managing the new product development process-review on the evolution of the Stage-Gate® process.
WO2017155795A1 (en) License recommendation service
CN112000330A (en) Configuration method, device and equipment of modeling parameters and computer storage medium
Smith et al. Assessing worker performance using dynamic cost functions in human robot collaborative tasks
WO2022135684A1 (en) Method and apparatus for personalizing task flow in a system having multiple interfaces
US20210326155A1 (en) Systems and methods for assistive user interfaces
GB2600669A (en) Determination of friction score of a service
US11244385B1 (en) System and method for providing virtual coaching
Palanque et al. Supporting Usability Evaluation of Multimodal Man-Machine Interfaces for Space Ground Segment Applications Using Petri nets Based Formal Specification
JP7396478B2 (en) Model training program, model training method, and information processing device
Augstein et al. 3 Automated personalization of input methods and processes
Vairamuthu et al. User interface design recommendations through multi-criteria decision analysis
CN109224440A (en) Mission Objective queue processing method and storage medium, computer equipment

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: 20835829

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: 20835829

Country of ref document: EP

Kind code of ref document: A1