When we heard about JavaServer Faces (JSF) at the 2002 JavaOne conference, we were very excited. Both of us had extensive experience with client-side Java programming—David in Graphic Java™, and Cay in Core Java™, both published by Sun Microsystems Press—and we found web programming with servlets and JavaServer Pages (JSP) to be rather unintuitive and tedious. JSF promised to put a friendly face in front of a web application, allowing programmers to think about text fields and menus instead of dealing with page flips and request parameters. Each of us proposed a book project to our publisher, who promptly suggested that we should jointly write the Sun Microsystems.