BIO: Patrick is responsible for driving and shaping R/GA’s technological vision, while also working closely with clients to help develop their strategic technical requirements. Prior to this, Patrick was director of engineering at the Walt Disney Company
In our enthusiasm to build a new Internet on open standards, we must be careful not to make the same mistakes with HTML5.
Flash was the standard for rich content on the Internet, mainly because there was no other option. Browsers did not support animations or web video natively, forcing developers to use plug-ins. Flash defeated competing plug-ins like Real Player and Microsoft Silverlight. According to Adobe, it’s available on 98 per cent of desktop browsers.
Although Flash achieved dominance, few regarded it as a good technology. Flash content was rich, but it was hidden from search engines, slow to download and confusing to users who tried to use browser controls like the back button. There just had to be a better way.
The success of other non-compiled languages like Ruby and Python has shown that a compiler is not essential for building large-scale applications – unit tests and code analysis can replace or even extend the protection they offer.
Test frameworks like JsTestDriver and PhantomJS enable browserless testing from command line or build script. For actually writing unit tests, Jasmine and QUnit are leading the pack. For those ready to take testing to the next level, Sinon provides mocks, spies and matchers that enable you to write fine-grained tests where collaborating components are faked to isolate individual code units for testing.
JSLint is a widely used code analysis tool, which promises to hurt your feelings and make you a better programmer. And for those who find JSLint’s flinty critiques too harsh there is the gentler JSHint tool.
A colleague of mine at R/GA London often uses a quote in a talk on this very subject, where he references Jeff Goldblum’s character in Jurassic Park, saying “…your scientists where so preoccupied with whether they could, they didn’t stop to think if they should”.