Video recording and production done by JSConf Iceland
Our frontend toolstack has become quite complex over the past few years. In order to overcome typical problems when building large websites, we've built a variety of tools with shiny names like Grunt, Gulp or Webpack. However, things are about to change. With new technologies like HTTP2, ES2015 and Web Components around the corner, we need to ask ourselves: are the best practices from today still valid in the future? What kind of tools will we be using in the next few years? Will we need them at all? In my talk, I am going to show you how these new technologies will change the way we work.
Co-curator for JSConf EU, the project lead of Apache CouchDB and co-inventor of Hoodie. He lives in Berlin and likes to change the world.
In 2013, Pinterest built an in-house modular component framework on top of Backbone / Django.
In 2016, we pivoted to using React. Here are some obstacles we overcame to make our app faster and easier to reason about.
Apple has Siri, Google has Google Now, Facebook has M. Why can't we have our own virtual assistant?
If there's anything that decades of psychology research have shown us, it's that human cognition is full of bias and fallacy. Even smart software engineers are not immune to being humans. In fact, there's so many things keeping us from being the best developers we could be, preventing us from planning our work effectively to assembling the best teams to being productive in that open office.
What is it?
Why use it?
What can it do?
What can't it do?
Lastly I will go over lessons learned and our experience with using flow.
Time To First Byte (TTFB) is a measurement used for the responsiveness of a web-server. TTFB measures the duration from the user or client making an HTTP request to the first byte of the page being received by the client's browser.
This value has a high impact on the perceived performance of your web application. This makes TTFB an important metric as it directly correlates with your customers happiness and willingness to stay and interact with your application, especially if your app needs much time to request data for building a page.
I'll talk about Node.js streams, the progressive rendering approach and how we can use them to make our web-app look blazing fast.
A talk about the architecture of the Spotify Desktop application, which is currently based on Web technologies. How we organize our teams, war stories and lessons learned during our development process.
Docker is great for wrapping up your application with its environment, but until recently it’s not been a great experience for development. The new release of docker for mac and windows changes all that.
I’ll show you how to take an existing application and get it running in a docker container, including live-reload. We’ll use docker-compose to link the rest of the application together, and set up a .dev domain for the full web experience.
RGB is a color space designed for CRTs. It's not designed for people brains. HSL is designed for people and loves you. I've got some highly interactive slides to teach people what HSL is and make it intuitive.
Have you ever wondered how computers "see" images? Do you want to work on an AR (Augmented Reality) project or build a NodeBot that can recognize your face? When you work with an image as your data input, sooner or later you'll encounter the magic term "Computer Vision.
Have you ever felt like a fraud and the whole world is going to find out that you're really not as competent as other people think? Do you feel like your success is because of luck or timing but not your own skills? Then you are not alone! This concept is well known and is called the Impostor Syndrome. It's not limited to software development but it's very common in our field.
Most people have experienced this at some point in their lives but don't talk about since they think they're alone. In this talk I'm gonna tell my story of suffering from the Impostor Syndrome and share my advice on how to overcome it.
We've all been impressed by the likes of Siri, Google Now, and Cortana, for understanding our spoken words, but is it possible to take advantage of the powerful speech recognition behind such services on the web? This talk will explore the Web Speech API and how it can empower web apps for improved accessibility and new ways of user interaction.
Did you know that there’s an experimental Web Bluetooth API under development in Chrome? Let’s explore this brave new world of hardware-accessing offline-accessible web apps together by building a fully functional mobile bike computer. We’ll talk about the BLE protocol and use Web Bluetooth to connect to Bluetooth Smart sensors providing real-time heart rate, speed, and pedaling cadence metrics. Then, we’ll dive into Functional Reactive Programming using the cycle.js library to represent and transform sensor data as observable streams. It’s going to be a wild ride, though be warned: there will be some wheely bad bike puns.
Functional state systems like Redux have made web development easier to reason about -- how can we apply these techniques to complex distributed systems? And what lessons from the distributed world can we bring back to web development? This talk explores concurrency models through the lens of a virtual guinea pig colony, and covers topics including actors, sagas, emergent behavior, and the unexpected virtue of object-oriented programming.
"Node.js is fast and scalable web-oriented non-blocking I/O built on top of Google Chrome V8 engine. Almost every web developer uses Node or Node-based tools to some extent. However, Node has some really powerful features worth knowing.
This talk dives deep into the core mechanisms of the Node.js platform and some of its most interesting features such as Event Loop, Streams and buffers, Process and global, Event emitters, Clusters, AsyncWrap, Domain and uncaughtException, and C++ addons.
Empathy can be a pivotal factor in the success of yourself and your projects. If you don't care about the people using your product, why are you making it? If you don't care about your co-workers who will have to use your code, why do you work with them? If you don't care about yourself, why are you doing this as a career?
Some people may ask "why empathy?”. Let’s examine this concept, find ways to be more empathetic in our actions, and discuss the pragmatism of empathy.
This talk will explore various ways in which developers can be more empathetic to the community, their co-workers, and themselves. The talk will also explore larger ways we as an industry can work together to improve empathy. We will then use these tools to examine the “left-pad” situation to find empathy for all those involved.
Everyone talks about how performant React is... but why? What makes people talk about how speedy React is? In this talk, you'll learn why people talk about React being fast, and what you can do to make it faster.
The momentum behind the virtual reality industry is growing rapidly as immersive technologies begin to shape endless new experiences in our world. Today's web ecosystem is gearing up for virtual reality, and browser-based VR shows a lot of promise over the coming years. In this talk, we'll cover why the movement to create a VR-enabled web will drive innovation across industries, the state of the VR Web in 2016, and how to get started building VR-enabled applications today in a browser near you.
So you've been hired as the first web engineer to work on a major product and have been given complete freedom as to the frameworks, libraries, and tools you wish to use. How do you begin to choose? With the bevy of options available to you, how to you choose a stack that will stand the test of time? I walk through this dilemma through the lens of my own experience building ReutersTV.
Compared to native apps, mobile websites have historically been at a disadvantage: no installation, no push notifications, and they only work when you're online. This year, that changed. Browser vendors have worked together to implement open standards that address each of these shortcomings. This session examines how the Service Worker, Push, and App Manifest specifications fill the gap between web and native.
Do you love the object tag, too? How do you feel about responsive image maps? Have you ever tried to work around complex tables, nasty carousels, endless country selectors and complex user interfaces? Well, let’s bring it on!
In this talk, Vitaly Friedman, editor-in-chief of Smashing Magazine, will present dirty practical techniques and clever ideas developed in actual real-life projects, and use many examples to illustrate how we can solve problems smarter and faster. Please take the techniques with a grain of salt. Beware: you will not be able to unlearn what you’ll learn in the session!
In this talk, we’ll look at how Electron works, explore some of its most useful APIs, and be entertained by a dancing BB8 Sphero robot, who will be helping to demonstrate some of the fun and interesting things you can do with Electron. You'll leave the session knowing how you can get started building your own cross-platform desktop apps with ease.
BB8 Demo App
The React inferno isn’t contained to just the DOM though; other communities have taken notice and are beginning to harness the power of the one-way data flow that React enforces. In this talk we’ll give you a brief overview of why React is so ®evolutionary for user interface development and some other communities that have taken hold of it as well. We’ll talk about seeing React everywhere from the DOM to the terminal, native mobile, game consoles, three dimensional environments, and even virtual reality.
At Netflix, we run Node servers at scale for our website, TV and mobile devices’ UI data API services. In this talk, I will share our journey of how we migrated from data API service monolith to well isolated micro services running in Node Docker containers. Using Docker containers and tooling infrastructure, we provide a Node.js platform as a service, making debugging, testing and deployment easy to perform. Every software releases can be consistently reproduced across the stack. UI engineers can focus on developing core business logic to be more productive.
CSS variables are here, and they're much more powerful than you think. In this presentation, we will explore the many possibilities with mixing RxJS with CSS variables, including how they can be used to bring your web projects to life with dynamic animations that react to user input. And yes, there will be plenty of demos.
UI animations can be an incredible asset to the user experience, especially if they are meaningful and responsive to user input. Native mobile app developers know this all too well, so how can we incorporate similar animations to the web to create an appealing user experience?
With the help of RxJS and CSS Variables, we can! In this talk, you will learn about:
What reactive animations are
How CSS Variables work
What Observables are and how they model reactive user input
How RxJS + CSS Variables can work together to create performant, reactive animations in your web apps
Recreating native mobile interactions for the web
Clever tricks and tips, and plenty of demos