Patent ID: 8924942

Claim:
A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that obtains a use case description from a developer of an application, the use case description comprising a goal and a task associated with the goal; code that collects a plurality of usability metrics based at least in part upon an interaction of each of a plurality of users with a user interface of the application; code that identifies which of the plurality of usability metrics are metrics associated with the goal; code that determines a discrepancy between the metrics associated with the goal and the task associated with the goal based at least in part upon an average of the metrics associated with the goal for the plurality of users; code that identifies at least one actionable element associated with the task; code that designates the at least one actionable element as an aspect of the user interface for improvement based at least in part upon the discrepancy between the metrics associated with the goal and the goal; code that provides information about the aspect of the user interface for improvement to the developer; code that determines, for one of the plurality of users, a usage pattern of the application; code that classifies one of the plurality of users into a user classification based at least in part upon the usage pattern; code that selects one of the application and another version of the application as a best fit application for the user based at least in part on the user classification; and code that provides the best fit application to the one of the plurality of users.