As another year of ‘FOWA’ has drawn to a close, here are my thoughts from the event on the host of interesting topics covered by the excellent speakers.
Web vs Native
Bruce Lawson evangelises Open Web Standards for Opera and was the opening keynote speaker for FOWA this year. The topic was particularly interesting as the on-going debate regarding Web and Native is often one which divides opinions.
Web developers would always hold the belief that with the Web, YOU CAN DO ANYTHING (sort of…)!
You can make your application look and feel ‘just as good’ (if not, better) as a native application. Of course, it is achievable but there is evidence to argue that the Web, as a ‘platform’, still isn’t quite ‘there’, yet.
Modern browsers on smartphones are certainly improving at a really fast rate but is it enough to make a mobile user tap for their browser instead of the corresponding content’s native app? Lawson hit us with some stats based on Opera users on Mobile devices:
- 90% of users never even touched the bookmarking feature on the browser
- Native applications were favoured for use at a ratio of 5:1, far more than their mobile website counterpart
Native Provides More Convenience
Lawson spoke of the modern-day mobile user, how their expectations have increased significantly over the past few years, the core of which comes convenience.
For a Native app, the user simply taps an icon on the homescreen to get to the content they want. To the modern smartphone user, this seems to be viewed as a better experience than launching a web browser and entering a URL.
There are ways to do this for the smartphone browsers too, via menu options to add an icon of your favourite websites to your homescreen but it still requires multiple actions on the user’s part, it’s not as convenient.
Native is still a lot easier for users and one of the biggest things that swings it in their favour is how it deals better with ‘offline mode’ compared to the Web browser.
A Native app for a news company may be perfectly capable of syncing up content for the user, ready for whenever they decide to consume it regardless of connectivity, at any given time. Hurrah! I can now read up on world stories on my morning tube journey to work!
Unfortunately… my Android Chrome browser will only show me a blank page with a dinosaur 🙁
Closing the Gap
Bruce then spoke about where he sees the Web reaching closer to it’s Native counterpart, predicting the trend that browsers will start exposing more lower-level control to web developers which previously, only the browser had control over.
An example of this is with the introduction of things like Service Workers which exposes the layer between the browser and the network, such that when a network request is made whilst there is no connectivity – Service Workers can intercept this and provide a better user experience to the user (from the user’s cache).
On Chrome, Gmail already allows you to navigate to your inbox and compose an email whilst offline if you have it cached.
UX Expectations
Ian Moerson did a talk titled ‘When Clean UX Requires Dirty Work’, to quote him:
“User experience expectations from the modern web user is changing so fast, the web just can’t keep up”.
Well what does that mean exactly? Imagine an old TV set, your website is the channel changer dial on the TV. The standards haven’t changed for changing the channel, you can still use the dial but the modern day UX has changed drastically, we now have 100s of channels, people use remote controllers, they have a button to cycle through their favourite channels – the dial on the TV set just doesn’t cut it.
He went into talking about where he’s currently working, Media Temple and the transition they had to make to move from what they had which was perfectly OK but required so much maintenance effort – we’re talking taking a day to hand-craft 16px x 16px icons in WinXP-style because the previous icon supplier was now out of business and customers want consistency.
It’s difficult to quantify your use case up front
Media Temple completely re-worked their website and it took them twice as long to do it (estimated 4-6 months -> was 10+ months).
However, the results of this were hugely beneficial, all the things they were afraid about (loyal customers who had been with them for 5+ years), revenue etc were all up after the transition was made. The change came with a wealth of added benefits, not least the ability to far more easily on board new developers and have them jump straight into the way of how the company did things.
“If you’re not working on an old system, you’re building one – think about that”.
The key message was that they (Media Temple) didn’t have the ‘bottom line’ up front. They didn’t have the hindsight of knowing of what the benefits of such a huge change would be but they knew that continuing to do what they were even though they were still making money, would eventually suffocated them slowly with technical debt.
Remember kids, always refactor.
Specifications and Standards are Hard
Getting modern cross-browser support for ‘cool’ experimental features in the bleeding-edge version of a browser and seeing that taken though to becoming a standard is a very long, hard and difficult process. That was the message that was coming across as an undertone in several of the talks at FOWA.
You don’t really know when the ‘next big thing’ is about to drop and change what people currently see as ‘the best way to do things’.
It takes time for an experimental feature put into the wild, to see what the community comes up with and how it challenges the initial design. The fact is that we’re never going to get a new API right the first time round, these things take several iterations to shape something which would be seen as stable.
You need people to constantly challenge the design, it’s use cases and then there’s also things which are out of your control where influences things (i.e. how relevant is it to the problems people are looking to solve at the moment?).
The web developer community of course, has very large influence on this and any talks covering tooling/APIs chimed on this and presented a host of ‘cool demos’ to encourage the audience to engage more with the bleeding edge of HTML5 and the open source community who are constantly pushing the browser.
Tools/Libraries mentioned at FOWA
There were several talks which were targeted at raising awareness of some of the more popular tooling and libraries (APIs) in the web space, please see the list below.
- AngularJS – A ‘Superheroic JavaScript MVW Framework’
- Broccoli – Fast client-side asset builder
- BladeRunnerJS – Development Toolkit and Framework for building complex web apps
- Grunt – A JavaScript Task Runner for build task automation
- Gulp.js – A Streaming-based build library which runs on Node
- Three.js – JavaScript 3D Library using WebGL
The organisers of FOWA did mention that they’ll make the talks available online at some point, I’ll update this blog post with a link once they do.