JSConf Iceland 2018

If there was one word to describe the theme of JSConfIS it would be experience. Beyond the wonder and fantastical environment of the conference’s location and backdrop (hosted in Reykjavik, Iceland at their world-famous Harpa concert hall) – the majority of talks focused on topics relating to both the user and the developer experience too. The conference organisers also provided a range of tours and experiences for attendees and their significant others to soak up the natural beauty of the Icelandic landscape – and some even got to see the northern lights!

Happening over two days, the conference itself covered a great deal of content. Being a designer-developer, I was fascinated to see the broad range of visual topics like Augmented Reality, 3D rendering, covered too.

Beyond React 16

Facebook’s Dan Abramov introduced some exciting new possibilities for the future of React – particularly the “Suspense” feature / API. His introduction framed the benefits of Suspense in terms of user experience and how it allows an app to “feel responsive, even if the device or network speeds are slow”. His demo showed two main examples of asynchronous rendering in React – one where the CPU is slow, and the other on a sluggish network speed. It was exciting to see – although still very experimental (for now).

International Screen Reader Day

The “VoiceHTML – Speech Recognition as a Progressive Enhancement” talk by Mozilla’s Michael Henretty turned out to be quite different to what the title suggested. However, it was exciting to hear more talk of accessibility and screen readers – as it’s been a hot topic at Small Improvements this year too! Henretty took us through the history of trust within web systems – from Infoseek in 1994 and web directories / portals where we put trust that the right results would come back, to the modern App store where we place a great deal of trust in a system (even linking our bank accounts to it). He explored how placing trust in a system is fundamental to successful transactions – especially if you’re going to talk to it!

On the topic  of VoiceHTML – Henretty suggested it could be explored with a four-phase approach:

  • Phase 1 – international screen reader day
    • read emails, order food, discover new features etc
  • Phase 2 – Souped-up screen readers 
    • read emails, order food, discover new features etc
  • Phase 3 – “Robby the reader”
    • robotic copilot, conversational
    • trust, roaming profile
  • Phase 4 – Disappointment. 

The first phase is something we at Small Improvements have recently discovered to be a huge need. In preparation for our accessibility workshop, we all realised how much we didn’t know about screen readers – and learned so much by using them! We’d +1 an International Screen Reader day for sure. The other phases Henretty outlined seemed logical (and exciting to consider where things could go). The fourth phase (‘disappointment’) was to outline that we don’t really need VoiceHTML – we have a lot of technologies that already support enhanced voice interaction: WAI-ARIA, Web Speech (Synthesis) API, Real-time communication and JavaScript.

Although the title of the talk suggested much more exciting content to be discussed (ie. VoiceHTML), Henretty definitely got the room motivated to this more about screen readers and how we could contribute to pushing forward the current technology.

Augmented Reality

Google’s Raisa Cuevas shared some insights into how Augmented Reality has had spikes in interest over the years (The launch of 2016’s Pokemon Go game for instance showed a spike in Google searches for AR). She shared with us the current state of things and the different SDKs being actively worked on. It was also great to see some examples and experiments with AR and it definitely fed the imagination for some innovative ideas at Small Improvements. Remote 1:1 Meetings with your manager projected in the chair next to you? Physically firing a digital arrow into the bullseye of your quarterly objectives when you check that final Key Result? Or maybe even just seeing a 12ft version of your CEO standing in the carpark might be cool.

Icelandic Creative Vandalism

Local Icelandic artists Halldór Eldjárn & Þórður Hans Baldursson gave a really cool presentation on their interactive art project. Inspired by vandalism, the duo coded a program that allows users to control the colourful LED lights inside the glass shell of the Harpa concert hall using a web interface. Sharing their motivation with the room, they said “we were inspired by vandalism, and figured splashing paint on Iceland’s most expensive building would pay good tribute to that!” 

The web interface allows users to paint ‘dots’ of paint on the screen, and the paint then runs down the screen at an angle according to wind speed and direction! The effect at night is quite stunning.

As expected at a JavaScript conference, the tweets rushed in where developers would try and hack the app – and the artists shared with us a story how their Computer Science professor actually did hack it – but did so in an ethical way and shared his hack with the two.

Day 2

GitHub Pull Requests for Everyone

Catherine Meade shared some entertaining and enlightening ideas about best practices for GitHub Pull Requests. With a focus on communication, she showed examples of bad PRs (with no meaningful title, description or context provided) and put forward suggestions for how to ‘enhance’ them with screenshots, GIFs and even videos! Reflecting on how we do our PRs at Small Improvements, I think we’re doing a pretty great job.

Catherine also suggested a few key rules guidelines to follow:

  • No one merges their own code
  • No one pushes directly to master
  • If you’re working with UI, get a designer (or “Front end designer”) to review it
  • If you’re working on copy, get a copy review from someone in Marketing
  • Write good stories
  • GitHub Issue and Pull Request templates

One particularly interesting suggestion was to record a video walkthrough of the PR for reviewers to get a full understanding of what the PR is about.  This hit home the theme of communication and Catherine summed up her talk–referencing Bryan Braun’s article  Stop Giving Depressing Code Reviews.– by imploring the room of developers to “Be Positive!” in their Pull Requests.

CSS Houdini – What lies ahead

Arun Michael Dsouza presented some rather cool and experimental examples of the efforts of the CSS Houdini Group. Houdini introduces new APIs for CSS and the CSS Object Model (CSSOM) so that developers can use future CSS features today. Dsouza showed examples of APIs such as the CSS Paint API which taps into Paint step of the rendering pipeline to define custom display values, for example:

background-image: paint('circle'); // paints a circle
background-image: paint('circle'); // paints a circle

or the CSS Layout API, allowing custom display properties such as:

registerLayout('masonry', class {
  static get inputProperties() {
    return ['width', 'height']
  }
  static get childrenInputProperties() {
    return ['x', 'y', 'position']
  }
  layout(children, constraintSpace, styleMap, breakToken) {
    // Layout logic goes here.
  }
}

Which then you could use

body {
	display: layout('masonry');
}

Neat, huh? I found it quite interesting to hear about Houdini, however it was a little challenging to really wrap my head around its application.

Code, Play & Rock ‘n’ Roll: A WebAudio Experiment

Berlin-based muso/engineer Armagan Amcalar shared some very cool examples of the Web Audio API. Complete with a live guitar performance, he presented a web-based digital guiter effects pedal board – Pedals.io – quite impressive to show the possibilities and the power of the modern web browser!

webpack 4: The State of the Art

As day 2 drew to a close, webpack’s Sean Thomas Larkin shared a very optimistic update about the release of webpack 4, and some of the neat features and performance improvements. To round off the “developer experience” theme of the conference, he often referred the webpack team’s motivations as being directly related to the experience of devs and making their lives easier. Enhancements such as smaller and faster builds, a new plugin system, JSON tree shaking and a “zero config” baseline to get started were all put forward in the name of developer experience.

Larkin also shared some staggering statistics of build speeds being improved up to 98% (!!) in some cases – which definitely got the room excited (and naturally intrigued / skeptical). He also shared some new works-in-progress including CSS and HTML module types – aimed for v4.x or 5.0.

Conclusion

The conference was indeed an experience; the organisers of JSConf were supportive, passionate, fun and also very loving – as the #jfconfis twitter feed overflowed with heartfelt gratitude and support for those behind the conference. The weekend following allowed guests to take bus tours around Iceland and experience its natural beauty and mind-blowing landscapes – perhaps a symbol of the new “horizons” of JavaScript-related topics presented. The social side of the conference was a delight too; some pretty amazing balloon animal hat makers attended the after-party on Friday night!

Thanks to all involved, and for the truly enlightening experience!