List of videos

Mark DiMarco: User Interface Algorithms [JSConf2014]
Even something as simple as a dropdown menu or a bar graph can introduce usability problems. From a slide out menu disappearing when a user's mouse moves a few pixels too far, to requiring NASA-like levels of precision to mouse over the right element, there are algorithms already implemented in Javascript to help us overcome these problems. If an algorithm is defined as "a step-by-step procedure for calculations", let's visually break down those steps for 2 different non-trivial algorithms and explore how these algorithms are applied to some standard & everyday user interface patterns. We'll first look at an algorithm for predicting a user's intentions by calculating mouse speed and direction, and then tackle determining hit state for hundreds of non-uniformed, variably sized and placed UI elements. Slides: http://markmarkoh.com/jsconf2014 http://2014.jsconf.us/
Watch
Jenn Schiffer: What's the Harm In Sorting: Sanitizing Inputs For More Optimized JS [JSConf2014]
NaN http://2014.jsconf.us
Watch
G C Marty: Play DVDs in JavaScript for the sake of interoperability [JSConf2014]
We have everything we need to read DVD-video discs in a browser, so why don't we start? For that purpose, I ported libdvdread and libdvdnav libraries to JavaScript so that we can parse the DVD-video info files and emulate a virtual machine. But this comes with technical challenges such as browsers being bad at manipulating huge files or not supporting the codecs used in DVD (MPEG-2, AC-3...). That's why this port comes with a server in Node.js to circumvent these limitations. The resulting project is a mix of websockets, video elements, media source extensions and a lot of open source love. Get ready for a mind blowing demo! http://2014.jsconf.us
Watch
David Calhoun: Realtime Satellite Tracking in the Browser [JSConf2014]
In 1980 the United States Department of Defense (DoD) released the equations and source code used to predict the positions of satellites around the Earth. These simplified perturbations models (SGP4) were originally written in FORTRAN IV and have since been ported to C++, Java, MATLAB, and Pascal. And now, with a JavaScript port, it's time to bring satellite tracking to the browser! In this talk we'll learn how to use existing tools to calculate and plot realtime satellite positions on a map using Leaflet.js and satellite.js. Along the way we'll sneak in some orbital mechanics concepts, minus a lot of the hardcore math. Perturbations, polar orbits, orbital eccentricity, Kepler's laws, orbital propagation, oh my! We will also learn about the pitfalls of 2D map projections, and why a 3D projection is more accurate and intuitive. If there's time, we'll go one step further and build a 3D satellite tracker using WebGL. http://2014.jsconf.us/
Watch
Marco Rogers: Finding Patterns Across Front-end Frameworks [JSConf2014]
Comparing Angular, Backbone, Ember, Polymer and React. We're all building a client-side framework. And they're all different implementations of the same stuff. I want to compare the approaches that popular frameworks take to solving these patterns. If they even try to solve them at all. I also want to include info about the custom framework that Yammer uses. It'll be illustrative to see how all of these have different approaches to the same set of patterns. http://2014.jsconf.us/
Watch
Nick Bray: Native Code on the Web? [JSConf2014]
What will it take for native code to become part of the web platform? The web platform has many wonderful qualities, but easy interoperability with other platforms is not one of them. Do you want to simultaneously develop for both native mobile and the web? Or use an awesome library in your web app, but it's written in C++? Well... you can. Almost. Maybe. Sometimes. Sort of. Many disclaimers and restrictions apply. But what will it take for the answer to just be "yes"? This talk will dive deep into the world of native code on the web, compiling C++ into JavaScript, and look at the gaps that need to be filled. A number of intertwined topics will be touched on, including: Emscripten, PNaCl, pepper.js, JS VM and browser internals, web workers, nitty-gritty details of JavaScript and C++, multi-threaded programming, and the horror of memory models. All will be explained, as long as you're willing to take the plunge. http://2014.jsconf.us/
Watch
Ryan Paul: Composing frontend Web applications with MontageJS [JSConf2014]
MontageJS is an open source framework for building large single-page Web applications. The framework's unique component model can simplify frontend Web development and increase opportunities for code reuse. In this session, you will learn how to take advantage of the MontageJS component system to build modular Web apps that are easy to maintain as they grow. The presentation will illustrate how component-based composability strengthens frontend Web development. http://2014.jsconf.us/
Watch
Jenn Turner: Lessons in Emotional Safety FTW [JSConf2014]
Emotional safety is the most important predictor of the health of an organization and a community. But more importantly, it has a enduring repercussions on our lives as individuals. Like, our real lives—the ones we live for our whole lives. I've worked in intensely unsafe professional environments prior to joining the team at &yet. I'd like to candidly share some of the lessons I've learned from my unique perspective as a female who isn't a software developer but who spends much of her life around them (including co-organizing events like RealtimeConf, RedisConf, and TriConf). Being "in the developer world but not of it" has given me perspective to identify blind spots within our culture as a company and a community. Traditionally copywriters on a software team are viewed as a supporting role: we help sell what gets made. But what if all contributors to a team were true equals capable of leading and shaping a continuously improving company culture? That's the foundation of emotional safety.
Watch
Nico Bevacqua: Front End Ops Tooling [JSConf2014]
This talk covers build tooling, processes, and your development workflow. You'll get a glimpse as to why you should be building, and why you should put together a build process from the get-go. Then we'll move on to tooling. Here I'll discuss some of the most popular JavaScript build tools, namely Grunt, Gulp, and npm. We'll investigate how each one performs for certain tasks, and I'll help you forge your own build sword. Lastly, I'll discuss the benefits of going for the module format Node.js uses, which is Common.js, and how you can leverage those modules in the browser, using a tool called Browserify. Slides: https://speakerdeck.com/bevacqua/front-end-ops-tooling http://2014.jsconf.us/
Watch