k j

CommunityCommands: Command Recommendations for Software Applications

Justin Matejka, Wei Li, Tovi Grossman, George Fitzmaurice
January 2009 · Proceedings of the 22nd Annual ACM Symposium on User Interface Software and Technology (UIST)

Abstract

We explore the use of modern recommender system technology to address the problem of learning software applications. Before describing our new command recommender system, we first define relevant design considerations. We then discuss a 3 month user study we conducted with professional users to evaluate our algorithms which generated customized recommendations for each user. Analysis shows that our item-based collaborative filtering algorithm generates 2.1 times as many good suggestions as existing techniques. In addition we present a prototype user interface to ambiently present command recommendations to users, which has received promising initial user feedback.

Figures

Figure 1. Histogram of the number of commands used by AutoCAD users. The largest group of users only use be- tween 31 and 40 commands.
Figure 2. Map of Good, Poor, and Unnecessary Recom-mendations.
Figure 3. CommunityCommands system overview.
Figure 4. The active user is in red, and his expected fre-quency table will be compiled from his most similar neighbors (in yellow).
Figure 5. Cumulative percentage of command counts for the 2000 AutoCAD commands.
Figure 6. Simplified example of user similarity. Alice and Bob are more similar than Bob and Cindy as the angle between their command vectors is smaller.
Figure 7. k-Tail evaluation of a command sequence.
Figure 8. Offline results showing the percentage of times the next new command was predicted in a list of 10 by each algorithm.
Figure 9. Percentage of “good” suggestions by technique.
OB Figure 10. Percentage of “poor” suggestions.
Figure 11. Subjective importance ratings for properties of a command recommender system.
Figure 12. Actual vs. Estimated commands used.
Figure 13. Actual vs. Estimated number of commands in the entire program.
Figure 14. CommunityCommands UI.
Figure 15. Overall system UI elements.
Figure 16. Individual suggestion UI elements.
Figure 17. CommunityCommands UI docked in the un-used space beside the command line interface.

BibTeX

@inproceedings{10.1145/1622176.1622214,
 abstract = {We explore the use of modern recommender system technology to address the problem of learning software applications. Before describing our new command recommender system, we first define relevant design considerations. We then discuss a 3 month user study we conducted with professional users to evaluate our algorithms which generated customized recommendations for each user. Analysis shows that our item-based collaborative filtering algorithm generates 2.1 times as many good suggestions as existing techniques. In addition we present a prototype user interface to ambiently present command recommendations to users, which has received promising initial user feedback.},
 address = {New York, NY, USA},
 author = {Matejka, Justin and Li, Wei and Grossman, Tovi and Fitzmaurice, George},
 booktitle = {Proceedings of the 22nd Annual ACM Symposium on User Interface Software and Technology},
 doi = {10.1145/1622176.1622214},
 isbn = {9781605587455},
 keywords = {recommender},
 location = {Victoria, BC, Canada},
 numpages = {10},
 pages = {193–202},
 publisher = {Association for Computing Machinery},
 series = {UIST '09},
 title = {CommunityCommands: Command Recommendations for Software Applications},
 url = {https://doi.org/10.1145/1622176.1622214},
 year = {2009}
}