Speaker
Mr
Jonathan DiCarlo
(Humanized, Inc.)
Description
Enso is a user-interface enhancement product created by Humanized
(http://www.humanized.com) and is somewhat unusual in that it's an application
written almost entirely in Python meant to be downloaded and installed locally by
non-technical users. This spring, driven by user feedback, Humanized began upgrading
Enso with a new auto-completion algorithm. This project presented several major
challenges in UI design, algorithm design, performance, and testing. In this talk, I
will present a case study of these challenges and how we overcame them. Specific
topics of interest to Python developers will include:
UI design: how to create an auto-completion algorithm (i.e, one that correctly
guesses the user's intended command from a minimum number of keystrokes) that is
efficient, learnable, and respects the user's habits.
Development and deployment methodology: How Python enabled an agile cycle of quick
prototyping and integration, limited beta release, and rapid user feedback, and how
user input drove our process.
Performance: algorithmic efficiency, how to achieve acceptable response times in
Python, the profiling tools we used to identify hot-spots, and the techniques we used
to defeat them.
Author
Mr
Jonathan DiCarlo
(Humanized, Inc.)