Our talk selection in detail

Felix Palmer Felix Palmer

Safari in Safari

See the slides

Apple have recently given the green light to WebGL in iOS8 Safari, which will enable rich 3D in-browser content for half a billion devices later this year. What better way to celebrate, than to create the Safari logo in 3D?

My talk will cover the technical details on how something like can be built using nothing but JavaScript. Using the THREE.js library, I’ll show you how you can build up your own scenes from geometric primitives, apply materials, lighting and more to create compelling 3D experiences.

Johannes Weber Johannes Weber

Debugging War Stories & Strategies to Survive

See the slides

Imagine you’ve received a bug report from your favourite app. It happened on a complex system and you wouldn’t actually know what each part is doing. In this case, the first defense is trying to reproduce it with enabled DevTools. Either you know how to fix it immediately or you waste a lot of time with solving it without success. Have you ever experienced one of these bugs? Trying to fix them for hours without any result? It sucks and simply wastes too much precious time.

This talk is going to dive deep into advanced debugging JavaScript apps. We talk about the most powerful strategies and less known techniques in order to be more effective in fixing THE problem.

Romain Gauthier Romain Gauthier

WebRTC – A Tale of Beekeeping

WebRTC is one of the most exciting evolution of the Web lately. It’s a set of APIs to help you build real time, p2p applications, directly in the browser.

From Video and Audio conversations to p2p swarming, we’ll see the versatility of WebRTC illustrated by some applications:

Hibuddy, for simple 1:1 video calls, Bananaphone for group audio calls and Waggle.js. Waggle.js is an experiment for p2p streaming videos amongst visitors of a web page, that helps reducing the bandwidth cost for the server. We will see how these applications have been built to answer their unique constraints (real-time audio and latency, p2p data streaming and state synchronization).

The talk will focus on what can be done, the gotchas and, hopefully, will give you the motivation to dig deeper into the WebRTC technology.

Stefanie Taepke Stefanie Taepke

Location-based Pokémon with Node.js

Pokémon for the GameBoy was one of Nintendos most successful Role Play Games in the late 90s. Even though gaming today is on a different level and can make use of so many new features and possibilities, the Pokémon-fan base is still big and growing. But why not combining new technology with this game classic and play it on the next level?

As I still love the Pokémon world, I want to talk about how I developed a prototype for a location-based Pokémon Game for Mobile devices with Node.js.

Mouse Braun Mouse Braun

Punk DIY Ethics in Programming – Stop Following Blindly and Build Your Own God Damned Tools

See the slides

People are very quick to adopt tools that they have no idea how to fix or what what powers them. By using other tools as an example you can make things that are yours, can be tweaked and fixed specifically for whatever your needs are or will be. (and you might even learn something)

My talk will focus on the idea of crafting your own solutions. The company I work for has a very DIY approach to everything, despite having over 200 employees. As examples our custom live CSS editor with autocomplete and context highlighting and a custom framework. I will focus not only on the benefits of DIY, but also whether or not you should build your own tools.

Kamil Ogórek Kamil Ogórek

Ampersand.js – Minimalistic Approach to not so minimalistic Problems

See the slides

Most of the client-side frameworks those days, aim to solve all developer problems at once, even when you didn’t ask them to. What if we could let developers decide which parts of the ecosystem they want to use, instead of handing them a big monolithic black-box. Those parts could be maintained, updated and delivered separately, without any interruptions to the other parts, but they’re working together like a charm at the same time.

Not to say that very few of them let you almost never leave your terminal, fully leverage NPM, CommonJS modules and your whole build process, which is essential for rapid development. Add to that a pinch of CLI generators, code reuse on a server-side, curated list of already solved problems and you’ll get Ampersand.js – non-frameworky framework for building advanced JavaScript apps, where it’s up to you how you’ll use it. Ampersand gives you lots of tools, just enough conventions, but tons of flexibility.

Stephan Bönnemann Stephan Bönnemann

Stop Scratching Your Own Itch

Web developers like us who attend such beautiful conferences in beautiful cities tend to follow the “Scratch your own itch” mantra as a gospel. We’re good at building solutions to our own problems and those of our peer groups, but we’re too often bad at thinking beyond. And it’s time that we scratch that.

One of my main comprehensions throughout my work as a web developer and Open Source contributor was: when I want to become a better developer, I have to stop doing nothing but solving the same problems in just slightly different ways over and over again.

In this talk, I want to show you what I learned, how this is related to cultural topics and getting aware of my own privileges – and what there is to be done beyond scratching our own itches.

Tina Umlandt Tina Umlandt

Localize your frontend!

See the slides

Since years we format numbers, dates, and prices for all kind of locales in our backend. It is even part of most standard libraries.

But how about your frontend? Does it know how to format the numbers for every locale? And why is this such a pain in our frontends? It should be easy!

I will point out the problems that you have to deal with integrating l10n into your frontend and will tell you how to tackle them with the help of libraries that we already use.

Jonathan Martin Jonathan Martin

Teach JS About Aesthetics with Machine Learning

Move over Number 5: Artificial Intelligence is a relic of 1986. It’s 2014: the era of Machine Learning + Big Data.

Machine learning helps power everything from Google Now to the lowely OS X Preview app — but you don’t have to be a Prolog or eCommerce geek to harness its power!

We’ll take a whirlwind tour through the fundamental concepts and algorithms in machine learning, then explore a frontend application: selecting the “best” photos to feature on our photo sharing site.

Don’t expect mathematically laborious derivations of SVM kernels or the infinite VC dimension of Neural Nets, but we will gain enough intuition to make informed compromises (thanks to the No Free Lunch theorem, everything is a compromise) in our pursuit of aesthetically-intelligent machines!

Felix Niklas Felix Niklas

Image Processing in Javascript

See the slides

Basic Image Processing should be in every programmers toolbelt. Detecting faces? Image Processing. Measuring distances on screen? Image Processing. Following that red cloth with your NodeCopter? Image Processing. This talk will cover the rudiment techniques with demos and discuss powerful libraries to do the job.

Nick Rowe Nick Rowe

Hacking Sleep with JavaScript!

“Your body is a system, a machine; like all machines it can be tuned.”

This talk is the story of how I hacked my body, got my sleep cycle under control, and how I’m using JavaScript to do it. It’s an optimistic tale of crazy hacks and how we can use technology to complement our humanity instead of fighting it (and how we can all get a little more sleep).

We’ll start in the year 2009, in the cold snowy planes of upstate New York. A young college student is suffering from the winter blues and having trouble sleeping. And then, with some hardware and programming the first spark: his first artificial sunrise! We’ll talk about the science behind “dawn and dusk simulations” and why so many developers are using tools like f.lux to help them get a good night’s rest. Then we’ll follow the development of the system I’ve worked on, called Spirit, to the present day. I’ll talk through why I chose JavaScript, how the system works, and how others can get started on a similar journey (and for less money and effort than ever before).