1. Picture of Scott Jenson

    Building the Physical Web together

    How can we, as the web community, build the next generation of the web, the Physical Web, together?

  2. Picture of Caolan McMahon

    Moving seamlessly through offline and online

    Unlike the always-wired machines of the past, computers are now truly personal, and people move through online and offline seamlessly. We'll explore how and why our apps should do the same, using and offline-first principles to do it in record time.

  3. Picture of Andy Wingo

    Self-hosted JS

    The parts of V8 and SpiderMonkey that are actually written in JS. Let's implement an feature in JS, during the talk!

  4. Picture of Tobias Ahlin

    Lean Mean CSS Machine

    A day shouldn’t go by without you removing something. Design techniques and front-end optimization comes together in a behind-the-scenes look at what tools and techniques GitHub uses to make sure things render fast, with as little code as possible, and consistently.

  5. Picture of Henrik Joreteg

    A Single Page Story

    Single page apps have become a legitimate part of the web, but what role should they play? Where do they shine? Where do they fail? How should we think about them and how can we evaluate tools for building them? We will opine on the tradeoffs of abstractions and frameworks and share &yet's impetus for creating Ampersand.js.

  6. Picture of Soledad Penadés

    Tools for the 21st century musician

    In this talk we'll learn how Web Audio works and how we can use it to design and play sounds with incredible accuracy, which enables us to create our own real-time instruments and interactive experiences. We'll also identify the ferocious gotchas that are waiting to bite you when you least expect them, and gain valuable Web Audio debugging skills using Firefox's developer tools. At the end of the talk you'll be all set in your path to become 21st century music pioneers—or at least have a ton of creative fun!

  7. Picture of Ben Foxall

    Getting Close with the Web

    The web platform allows us to interact with people on the other side of the planet, but in what other ways can we use it when our devices are right next to each other?

Workshop 1

Debug, and Know Thy Tools

Remy Sharp
6th Nov 2014, 09:00 — 17:00

Sure, you've moved past alert debugging and discovered console.log, but did you know you can replay XHR requests instead of having to repeat your steps to make the request? Or that you can proxy your local server through a browser configuration so your mobile phone can see it? This workshop is dedicated to learning the native developer tools baked in to the browser to make our life a little more bearable.

We will look at features of Chrome DevTools, what's available in Firefox debugging suite. We'll also look at remote mobile debugging using native tools and also look at the alternative tools where native support isn't available.

The workshop will mostly be about the foundation of debugging techniques, which apply way beyond just a single browser's debugger tool, but will raise your expectation of all web debugging environments.

  • Console: Power features beyond console.log
  • Network: What's slow, why and the detail behind a request
  • Source: How to make DevTools your development IDE
  • Performance: How to read and investigate rendering issues
  • Mobile: Using the tools you know to debug tiny machines

Workshop 2

Testing for Front End Ops

Brian LeRoux
6th Nov 2014, 09:00 — 17:00

Testing does not guarantee high quality software, however, it improves the chances in creating it. Testing verifies your software continues to work after a quick hack and gives you an easy escape hatch when it does not. Testing tells the world your code does the things you intend it to do building confidence in those whom will ultimately use it. Most importantly, testing builds your own confidence as you progress into your problem domain.

Professionally developed and maintained codebases have tests and run them continuously. Organizations adopting software rightfully expect a test suite and often will want to run it themselves too. Organizations implementing code traditionally siloed quality assurance from development and often let the former slip in preference to a looming, oft artificial, deadline. And those projects usually failed.

Software earned a reputation for failure but this is no longer a necessary risk. With modern advancements in testing, continuous integration and practicing continuous delivery you can mitigate technical challenges in releasing, creating value for your organization, and ultimately turning that value into tangible revenue. These practice have evolved the simple web developer into a dangerously powerful new superhuman role known as Front End Ops.

Mitigating downtime due to a JavaScript error is the quiet achievement of Front End Ops but there is a more compelling story. You can measure the value you are creating and you can adjust the targets to improve it. A simple performance test that catches a regression in page load. Page load very often translates directly to revenue. Discovering an optimization that will translate to direct revenue earnings is a very convincing bullet point when asking for your next raise.

  • Concepts: Truthiness, performance, coverage & continuous integration
  • API First! Testing HTTP Endpoints: Local builds, TAP & Tape, Mocha & Chai
  • Testing Front End JavaScript: Browserify, ES6 modules, Browsers, Mobile devices and emulators
  • Testing CSS and HTML: Removing unused CSS, telemetry: load, paint, fps & automation
  • Comprehensive: Reporting, remote debugging, monitoring, security & integrity