New Perspectives On Web Design

(C. Jardin) #1
By Christian Heilmann CHAPTER 3

Something must be wrong and Web development must just not be
evolved enough for proper programming tasks, right? Wrong.
There really is nothing in computing comparable to Web development,
as we do not compile what we write into bytecode optimized for one or an-
other environment. Our code goes out and is transformed on the comput-
ers and handheld devices and cars and fridges and watches and whatever
else users will have in the future that is Web-enabled (glasses perhaps?).
That is why a lot of best practices from the past become shoehorned into
the Web, and while they are good ideas they don’t necessarily yield the
desired results.
In the end, we need to always offer basic functionality to users or we’ll
create lots of small walled environments on the Web. No, you can’t expect a
user to have a certain browser. No, people cannot increase the resolution of
their mobile to fit your needs. No, the connection speed you have on your
development machine is not what every user experiences — not by a long
shot.
What does basic functionality entail? Put simply, it allows the user to
do what they came for regardless of any technology failure. A textbook
example of this happened recently to one of the largest Web companies
out there: Google. For a whole half-day, on February 4, 2013, the download
page for Chrome was unavailable. You could click the download button but
nothing would happen.
Opening the Chrome developer tools revealed two things: first, the
HTML of the button was the following:


<a class="button eula-download-button"
href="javascript:void(0)"
data-g-label="download chrome"
data-g-event="cta"> ...


Second, the error console greeted you with “TypeError: chrm.download is
undefined.”

Free download pdf