Engineering Firefox Robert O'Callahan September 28, 2005 Web browsers are hard. Browsers are users' primary interface to the Internet and must satisfy stringent performance, compatibility and security requirements in an extremely complex, evolving and malicious environment. As a researcher but also a project insider, I will discuss how the Mozilla Firefox project tries to meet these challenges in the development of the significantly successful Firefox browser. I will give an overview of how we got here, the tools and processes we use, the software we build on and that we create, our current and future development activities and the strategic landscape that drives them, and some technical challenges that we face now and in the future. I will talk as much about failure as success, and as much about open problems as solved ones. BIO: Robert O'Callahan obtained a PhD in the area of software engineering and programming languages from Carnegie Mellon University in 2001, and worked at IBM Research's Programming Technologies Department from 2001 to the end of 2004. Since 1999 he worked as a volunteer contributor to the Mozilla project, focusing on the Gecko core engine, and in 2005 he returned home to New Zealand to work fulltime on Firefox/Gecko as an employee of Novell.