HTML and CSS Reference
A s web developers it is easy to find ourselves in situations where we spend un-
healthy amounts of time with the refresh button in our browsers. You know the drill:
type some code in your text editor, Alt+Tab to the browser, hit F5. Lather, rinse,
repeat. This sort of manual testing is time-consuming, error-prone, and irrepro-
ducible. Given that our web applications are expected to run on a vast combination
of browsers and platforms, testing them all manually will inevitably become an
impossible task. So we focus on a few combinations and perform the occasional
check-up on the broader selection. The end result is an unsatisfactory development
process and possibly brittle solutions.
Over the years lots of tools have emerged to improve our lives as web developers.
debuggers to choose from, and even IDEs to spot typos and other mistakes. Spend-
ing some time in Firefox's Firebug plugin interacting with an application sure beats
those pesky alert s, but we're still stuck with a manual, error-prone, and time-
consuming debugging process.
Humans are lazy, programmers even more so. When manual processes slow us
down, we seek to automate the manual behavior, allowing us to spend our time doing
something meaningful. In fact, as web developers, our job is more often than not
to automate some tedious task in order to improve business value. Online banking
is a great example—instead of going to the bank, standing in line and interacting