I would like to thank Gary Cornell at Apress for making this book possible and Allen Holub for reviewing it. Without the encouragement of Noah Tratt, I never would have started writing down my experiences in the software trenches, and without the support of Dave Winer and his public EditThisPage.com system, I wouldn't have had a forum for writing the original online version of this book. Many thanks also to the hundreds of readers of Joel on Software (http://joel.editthispage.com) who responded to the original articles, proposed numerous corrections and enhancements, and whose frequent fan mail kept me going. I also want to thank Andrew Kwatinetz at Microsoft who taught me a lot of what I know about UI design; Ken Dye, who taught me most of what I know about usability testing; and Joseph Roberts, who taught me all the tricks of localization. I am also grateful to Jared Samet for proofreading the final document, encouraging me, and believing in me, and my parents, who made me grow up thinking that all adults write books.