This is the essential guide to building user interfaces and rich internet applications for the Firefox web browser, the Thunderbird email client and independent projects using free development tools from the Mozilla Foundation. 'Programming Firefox' is both an in-depth tutorial and programmer's reference that offers a systematic approach for using Mozilla's Cross Platform Component (XPCOM) library for building applications with XUL, the XML User Interface Language. Author Kenneth Feldt uses his years of experience in XUL development to give programmers a comprehensive look at XUL's capabilities, from simple interface design to complex multi-tier applications with real-time operations. Developers from Java and .NET environments will be amazed at how quickly large-scale applications can be constructed with XPCOM and XUL.