Tuesday, October 25, 2011

Progressive Enhancement
is often described as an alternate approach to “Graceful Degradation” –
it encourages focusing on the most basic functionality first and then
building out from there. It also forms the core of the Yahoo! Graded Browser Support
model, which we use as a guide for our own rules around browser
support. This is an important topic, but it has been covered fairly
extensively in other articles,
so I’m not going to dive into it too much here. Instead I am going to
talk about specific progressive enhancement techniques we use at Wayfair
to improve site performance.

As you may know, there are some amazing
new features in HTML5/CSS3 that make web development easier – rounded
corners, drop shadows, gradients, placeholders in text fields, in
browser form validation, etc., all of which reduce dependency on
background images and JavaScript. These are great features to have, but
what about your IE 6, 7, and 8 users? How about older versions of
Safari and Firefox? IE 6, 7, and 8 users comprise over 35% of the
customers on www.wayfair.com, and we need to make sure that we give them a decent experience.

Tuesday, October 11, 2011

One of the big changes at Wayfair recently was moving all of our
storefront code (well, almost all…we’re still working on our sessioned
code) from Classic ASP (VBScript)
to PHP. The company was started in 2002 and at that time ASP was a
common technology on the web, and one that our founders were familiar
with. After 8 years of working with it, we had pushed it to the limits
and decided we’d get more benefit out of moving to a new technology.

Motivation for Switching

While ASP is still in extended support, as a language it hasn’t been
actively developed for a number of years (I tried to find out exactly
how many years, but my Google searches were fruitless, which might tell
you something). It’s also a proprietary Microsoft language, so we were
unable to make modifications ourselves, so any bugs we found were not
getting fixed. ASP’s age also means that there are very few companies
using it, so the community is small and there are basically no open
source projects written in it that we can use. It was also getting
harder and harder to hire developers with Classic ASP experience. While
training people isn’t hard to do, we would rather hire experts who are
going to help us squeeze every ounce of performance and functionality
out of a language.