Should You Show a Useless Page?
Zizhuang Yang, an engineering intern at Facebook this last summer, recently put up a very interesting and detailed post on the company’s engineering blog describing extensive user testing of various loading styles and times for Facebook he conducted as part of his internship. While the whole post is worth a read, one point really piqued my interest:
Another debate within Facebook pitted two loading schemes against each other. The debate was over whether or not we render the page as soon as possible … [running] the risk of showing users links and content that they won’t get a response from until the interaction scripts load.
His testing concluded that keeping the page blank until the Javascript has loaded resulted in lower usage statistics, and thus it was better to render the page even though nothing would actually work. This is a very interesting problem faced by many developers making Javascript-rich user interfaces, and while Yang’s conclusion might be right in this circumstance, it certainly isn’t valid everywhere, maybe even across Facebook itself.
While I can completely understand that it would be best to render out the Facebook logged-in homepage as quickly as possible, since presumably most people hitting it are there to read their status feed, I think it would not be so great for something like the photo album page. On the photo album page, people are expecting things to happen quickly – selecting a photo from the thumbnails, paging through photos – and all of this happens through Javascript on Facebook.
There is definitely no boiler-plate solution for load order, developers need to assess the situation on a case-by-case basis, but at the very least it provides a great argument for progressive enhancement (starting with a page that works, adding Javascript to make it nicer), since everything on a page would work regardless of whether Javascript has initialized or not.
Social Networks