My colleague Glenn Dejaeger and I recently visited the Fronteers 2014 conference. It was the first time we attended, but it surely will not be the last. The organization was impeccable, the venue wonderful and the talks interesting. Although there wasn't an overall theme, there were some recurring topics, which I have listed in this post.
The expression best practices often boils down to enhancing development quality, while it should instead focus on quality for the user. We should put existing best practices such as readability, efficiency and maintainability into perspective.
For example, CSS animations may impact performance, but one should realize they could also cause users to experience motion sickness or even vertigo. On the other hand, animations help offloading a user's cognitive load to the visual cortex, allowing them to stay more focused on the task at hand.
Likewise, maintainability is the art of managing complexity, but is a complex application also one that's user friendly? Don't ask yourself how you should tackle a given problem, but rather if you should solve it at all.
A lot of new features have been introduced in HTML5 but aren't production ready yet due to lack of browser support. The browsers aren't always the only to blame however, i.e. WebSocket communication is only possible if both browser and server support it and could be blocked by misconfigured firewalls.
Evergreen browsers, meaning browsers that automatically update like Chrome and FireFox, help pushing the web forward. If support for older browsers is needed, don't limit the application's feature set to what is possible in all targeted browsers. Instead, use progressive enhancement to enable features for users on browsers that have more capabilities.
Mobile first is a popular strategy these days, but it's far from being the only one: we enjoyed talks covering the subjects of offline and accessibility first.
Offline first is an important strategy when designing for mobile as you cannot expect users to have a (good) connection at all times. On the other hand, accessibility first focuses on users that have a.o. decreased sight or motor skills.
In case you're designing mobile first, also consider a performance first approach. This makes sense if you take into account mobile phones have less computational power than ordinary computers. Users are impatient, so make sure your website loads in the blink of an eye.
These strategies do not imply you should do all of this at the start of the development process, but rather that they should be baked into the design. Adding the focal points of these strategies to your team's definition of done is a great idea to enforce them.
Not all talks are covered in this overview. If you'd like a more detailed review of the talks, head on over to my personal blog.