Ka-Ping Yee

Berkeley, California, 94703


2020–2021 Tech For Campaigns: engineering lead at a non-profit helping hundreds of progressive campaigns
2018–2019 Nafundi: ODK, the open-source mobile data collection tool with 1M+ users worldwide
2018–2019 Symmetry Labs: firmware, control software, and generative content for massive LED installations
2017 Humanitarian OSM Team: Android and GIS tools for community mapping in Dar es Salaam
2017 West Africa Motorcycle Mapping: software for epidemiological mapping in rural Sierra Leone
2015–2017 Wave.com: mobile money transfer for East Africa, full-stack engineering
2008–2015 Google.org: philanthropic engineering for energy efficiency, disaster response, and the Ebola crisis
2001–2007 UC Berkeley: research in HCI, data visualization, computer security, and electronic voting
1998–2000 ILM: development and support of 3-D paint software in daily production use by expert artists

Internships and teaching:

2004 HP Labs: design and development of a virus-safe environment
2003 IBM Research: design and development for a next-generation e-mail client
2001 Opera Software: design and engineering of UI enhancements to the Opera Web browser
2000 UC Berkeley: teaching assistant for CS 61A
1997 Xerox PARC: development of a Web-based document services platform
1996 Alias|Wavefront Tokyo: development of 3-D design, animation, and rendering tools
1995 University of Waterloo: network and robotics lab hardware maintenance
1995 Canadian Space Agency: development of the Agency's first Web services and a haptic device protocol
1994 Alias Research: development of new polygonal modelling and 2-D animation tools


2007 UC Berkeley: Ph. D., Computer Science (HCI, security, minor in education)
1998 University of Waterloo: B. A. Sc. (Hons.), Computer Engineering; (top of graduating class)


Principal or lead engineer of the following:

2014–2015 Project Buendia: a medical record system for MSF designed for extreme conditions in Ebola clinics
2013 RECAP for Chrome: Chrome extension that helps users share and get free access to PACER court documents; now developed by Free Law Project
2011–2014 Google Crisis Map: Google's platform for building and publishing maps to help people in natural disasters
2010 Google Resource Finder: a mapping tool for tracking the status of hospitals and health clinics after the Haiti earthquake and Pakistan floods in 2010
2010–2014 Google Person Finder: a database for locating people affected by natural disasters, based on PFIF; heavily used after the Haiti earthquake in 2010 and Japan earthquake in 2011
2007 Pvote: small, high-assurance software for voting machines
2005 PFIF: a data model and format for locating people displaced by natural disasters; the prevailing interchange format for Hurricane Katrina survivor data
2005 scrape.py: a Python library for spidering and scraping web pages
2003 Peephole Displays: an interactive, spatially aware handheld display
2003 SeismoSpin: an interactive visualization of earthquake data in time and space
2001 Fly Enhancer: a public search engine for clusters of binding sites in cis-regulatory DNA in the fly genome
2001 National survivor registry for victims of September 11 terrorist attacks
2001 Flamenco: user interfaces for navigating large collections using faceted metadata
2000 pydoc: the documentation generator and interactive help system for Python
2000 inspect: the Python standard library module for introspection
1999 pyxi: the graphical browser for the Xanadu hypertext system
1998 Roundup: the issue-tracking system now in daily production use at ILM and other sites
1997 crit.org: a browser-independent fine-grained annotation system for the Web
1996 MINSE: an extensible notation and rendering system for mathematics in Web documents
1995 Shodouka: a transformation engine that displays Japanese Web pages in browsers without font support


In Print
2011 Ka-Ping Yee, Dieterich Lawson, Dominic König, Dale Zak. The Tablecast data publishing protocol. Proceedings of the Conference on Information Systems for Crisis Response and Management (ISCRAM 2011).
2007 Ka-Ping Yee. Building Reliable Voting Machine Software. Ph. D. dissertation. Technical Report 2007-167, EECS Department, UC Berkeley.
2007 Matt Blaze, Arel Cordero, Sophie Engle, Chris Karlof, Naveen Sastry, Micah Sherr, Till Stegers, Ka-Ping Yee. Source Code Review of the Sequoia Voting System. Commissioned by the California Secretary of State for its Top-to-Bottom Review of Electronic Voting Systems.
2007 Ka-Ping Yee. Extending prerendered-interface voting software to support accessibility and other ballot features. In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop, 2007.
2006 Marc Stiegler, Alan H. Karp, Ka-Ping Yee, Tyler Close, Mark S. Miller. Polaris: Virus-Safe Computing for Windows XP. In Communications of the ACM, September 2006.
2006 Ka-Ping Yee, David Wagner, Marti Hearst, Steven Bellovin. Prerendered User Interfaces for High-Assurance Electronic Voting. In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop, 2006.
2006 Ka-Ping Yee, Kragen Sitaker. Passpet: Convenient Password Management and Phishing Protection. In Proceedings of the Symposium on Usable Privacy and Security, 2006.
2006 Ka-Ping Yee. Firefighters and Engineers. In ACM Interactions, May–June 2006.
2005 Ka-Ping Yee. Guidelines and Strategies for Secure Interaction Design (Chapter 13). In Security and Usability: Designing Secure Systems that People Can Use, edited by Lorrie Faith Cranor, Simson Garfinkel. O'Reilly, 2005.
2004 Marc Stiegler, Alan H. Karp, Ka-Ping Yee, Mark S. Miller. Polaris: Virus Safe Computing for Windows XP. HP Labs Technical Report HPL-2004-221.
2004 Ka-Ping Yee. Aligning Usability and Security. In IEEE Security & Privacy, September 2004.
2004 M. Markstein, R. Zinzen, P. Markstein, Ka-Ping Yee, A. Erives, A. Stathopoulos, M. Levine. A regulatory code for neurogenic gene expression in the Drosophila embryo. In Development 131, 2387–2394, 2004.
2004 Ka-Ping Yee. Two-Handed Interaction on a Tablet Display. In Extended Abstracts of the ACM Conference on Computer-Human Interaction, 2004.
2003 L. Jean Camp, Ka-Ping Yee. Human implications of technology. In Practical Handbook of Internet Computing, edited by M. P. Singh, CRC Press, 2003.
2003 Ka-Ping Yee, Kirsten Swearingen, Kevin Li, Marti Hearst. Faceted Metadata for Image Search and Browsing. In Proceedings of the ACM Conference on Computer-Human Interaction, 2003.
2003 Ka-Ping Yee. Peephole Displays: Pen Interaction on Spatially Aware Handheld Computers. In Proceedings of the ACM Conference on Computer-Human Interaction, 2003.
2003 Mark McKelvin, Ragnhild Nestande, Leticia Valdez, Ka-Ping Yee, Maribeth Back, Steve Harrison. SeismoSpin: a Physical Instrument for Digital Data. In Extended Abstracts of the ACM Conference on Computer-Human Interaction, 2003.
2003 Mark Miller, Ka-Ping Yee, Jonathan Shapiro. Capability Myths Demolished. Technical Report SRL2003-02, Systems Research Laboratory, Johns Hopkins University.
2002 Ka-Ping Yee. CritLink: Advanced Hyperlinks Enable Public Annotation on the Web. Demonstration abstract. ACM Conference on Computer-Supported Co-operative Work, 2002.
2002 Ka-Ping Yee. Zest: Discussion Mapping for Mailing Lists. Demonstration abstract. ACM Conference on Computer-Supported Co-operative Work, 2002.
2002 Ka-Ping Yee. User Interaction Design for Secure Systems (ACM). In Proceedings of the 4th International Conference on Information and Communications Security (Lecture Notes in Computer Science 2513), 278–290, Springer-Verlag, 2002. An extended version of this paper is also available as UC Berkeley CS Technical Report CSD-02-1184.
2002 J. English, M. Hearst, R. Sinha, K. Swearingen, Ka-Ping Yee. Finding the Flow in Web Site Search. In Communications of the ACM, September 2002.
2002 J. English, M. Hearst, R. Sinha, K. Swearingen, Ka-Ping Yee. Hierarchical Faceted Metadata in Site Search Interfaces. In Proceedings of the ACM Conference on Computer-Human Interaction, 2002.
2001 Ka-Ping Yee. Operating an Emergency Information Service. In Communications of the ACM, Dec 2001.
2001 Ka-Ping Yee, D. Fisher, R. Dhamija, M. Hearst. Animated Exploration of Dynamic Graphs with Radial Layout. In Proceedings of the IEEE Symposium on Information Visualization, 2001.
2005 Ka-Ping Yee, Marti Hearst. A Visualization to Facilitate Productive Discussions. Position paper accepted to Beyond Threaded Conversation Workshop at the ACM Conference on Computer-Human Interaction, 2005.
2003 Ka-Ping Yee. Secure Interaction Design and the Principle of Least Authority. Position paper accepted to HCI and Security Workshop at the ACM Conference on Computer-Human Interaction, 2003.
2002 Jennifer English, Marti Hearst, Rashmi Sinha, Kirsten Swearingen, Ka-Ping Yee. Flexible Search and Navigation Using Faceted Metadata.
2000 Ka-Ping Yee. Roundup: An Issue-Tracking System for Knowledge Workers. Category Winner, Software Carpentry Open Source Design Competition.


2009 San Francisco Voting Systems Task Force: Committee Member
2008, 2009 USENIX/ACCURATE Electronic Voting Workshop: Program Committee Member
2007, 2008 Symposium on Usable Privacy and Security: Program Committee Member
2007 California Top-to-Bottom Review of Voting Systems: Source Code Reviewer
2007 Financial Cryptography, Usable Security Workshop: Program Committee Member
2001, 2002 Python Conference: Program Committee Member
2000 Alternative Computer Expo: Special Guest Speaker
2000 Shad Valley Summit: Keynote Speaker
1999 Shad Valley: Program Assistant (Acadia campus)
1992 Shad Valley: Participant (Waterloo campus)
Member, Association for Computing Machinery
2001–present Member, Python Software Foundation
Member, Electronic Frontier Foundation
Member, Free Software Foundation


2002–2004 Recipient, IBM Ph. D. Fellowship
1998 Gold Medal for Academic Achievement, Ontario Professional Engineers Foundation
1998 Governor General's Academic Medal, University of Waterloo
1994 World Champion Team Member, ACM International Programming Contest
1993 Gold Medal, International Mathematical Olympiad