[{
    "year": 2009,
    "url": "https://2009.ffconf.org",
    "sessions": [{
        "title": "Frontloaded and zipped up - do loose types sink ships?",
        "description": "JavaScript had a bumpy ride up to now, from its origins as a CGI-replacement, initiator of countless popups and annoying effects over the renaissance as Ajax enabler up to becoming wrapped up in libraries to work around the hell that is browser differences.\n\n\n\nWith the ubiquity of JavaScript comes a new challenge. How do we keep JavaScript safe when browsers don't really distinguish between different sources and give them all the same rights? Why do we still judge the usefulness of JavaScript by how badly browsers speak it?\n\n\n\nLearn about some environments you can use JavaScript in securely and marvel at the magic and annoyances that are technologies that try to put a lock on the issue of JavaScript security."
      },{
        "title": "JavaScript: from birth to closure",
        "description": "This presentation will give you a brief background to JavaScript, what it is and where it comes from. Then it will walk you through general pitfalls, best practices and more advanced topics such as object-orientation, scope and closures."
      },{
        "title": "W3C Widgets",
        "description": "In this session we'll discuss W3C Widgets and why they are the future of the mobile Web. We'll also take a look at various practical problems that surround the creation of W3C Widgets and mobile websites. Although web developers are well prepared for many of the browser incompatibilities they're sure to encounter, there are some special problems that occur only on mobile devices. We will discuss these problems.\n\n\n\nIf the mobile web is new to you you'll be shocked by the sheer size of the problems mobile devices create, and the sheer depth of our ignorance. Nonetheless, there is a thin ray of light at the end of the tunnel, and we'll end on a more positive note by looking to the future."
      },{
        "title": "New things that HTML5 provides to JavaScript hackers",
        "description": "HTML5 brings new and exciting JavaScript things within our reach. Browser manufacturers are constantly changing and improving their JavaScript engines to give us, the web hackers, abilities that we never had before.\n\n\n\nHere you'll find information on the parts that are coming up that maybe you knew about, the parts coming up that you may be excited to discover, and some thoughts on what's standing between us and greatness."
      },{
        "title": "More accessible user interfaces with ARIA",
        "description": "ARIA is a W3C specification that can be used to dramatically improve the accessibility of DHTML widgets and rich interaction patterns (like drag and drop). This talk provides practical tips and design patterns for using ARIA to create accessible user interfaces that work across all of the various combinations of browsers and assistive technology that support ARIA.\n\n\n\nAdditionally, this talk will focus on the tools and methodologies developers need to test ARIA in order to ensure the best possible user experience."
      },{
        "title": "Optimising where it hurts",
        "description": "As the amount of JavaScript we use on our pages increases, as does its effect on page performance. Even when browsers manage to produce the same output, how they reach that output can be very different. Some optimisations aren't obvious, others can be easily broken by seemingly unrelated statements. So, how do we get the most out of our code?\n\n\n\nIn this session we'll challenge assumptions about performance, using practical code to demonstrate the optimisations that really make a difference, and why they make a difference."
      },{
        "title": "Node",
        "description": "JSON-P and other cross-domain skullduggery have enabled mashup possibilities far beyond JavaScript's original remit. Discover tricks for blasting apart the same origin policy and exploiting online services to build all manner of intriguing applications using nothing more than a sprinkling of JavaScript and static HTML.\n\n\n\nLearn how HTML5 will embrace such trickery and make JavaScript the natural choice for combining data in interesting new ways."
      }]
  },{
    "year": 2010,
    "url": "https://2010.ffconf.org",
    "sessions": [{
        "title": "Less and More: How HTML5 Will Change The Framework Landscape",
        "description": "HTML5, CSS3, and whatever come with and after them are going to once again change the way we build web sites and apps, and in ways that are just a profound as the transition to Ajax for dynamic interactions.\n\n\n\nThis talk discusses what we'll be using JavaScript less (and more) for in the years to come and how mobile, the Chrome Web Store, and Google Chrome Frame will accelerate the transition"
      },{
        "title": "About the Peer to Peer Web and Why You Should Care",
        "description": "This talk is a gentle introduction into the nebulous topic of the peer to peer web. We'll have a look at mobile devices, laptops, desktops and the cloud and how they all fit together today and how it it is already shaping up to look in the future.\n\n\n\nI'll highlight some technical and social hurdles that need solving (this is where I hope to get you, the listener engaged in helping to shape the future).\n\n\n\nFinally, I'll propose how Apache CouchDB is one of the foundational building blocks of our peer to peer future."
      },{
        "title": "Batshit crazy stuff you'll be able to do in browsers",
        "description": "SVG, CSS3, HTML5, Workers, Video, WebGL, super fast Javascript engines, hardware accelerated graphics - let's see how far we can go if we mix all these crazy things.\n\n\n\nThis talk is an experiment. You'll cry, you'll scream, you'll laugh...and hopefully, will get inspired!"
      },{
        "title": "Bringing the Same-Origin policy to its knees",
        "description": "More and more web applications are seeing the opportunities that can arise from exposing their features on third party websites. We've already seen a lot of read-only 'badges' that allow third parties sites to display information from your application but now companies like Facebook, Twitter and Linkedin are allowing users of 3rd party sites to actually use their applications without leaving the site. We'll dig in to what it takes to responsibly and effectively embed your application's functionality in other sites, looking at the arcane technology that powers the Like, Share and Tweet buttons going all the way through to implementing full JavaScript APIs to your application in the style of @anywhere, Facebook Connect and Linkedin's JSAPI."
      },{
        "title": "High performance browser games",
        "description": "Graphically intensive and fast paced browser games written in pluginless JavaScript largely do not exist yet, for a very specific reason – performance issues.\n\n\n\nOnly recently, browser engines started to give us enough quirks and hacks to power full motion graphics, animation and real time interaction. With unprecedented depth, you'll learn why Canvas isn't the obvious choice, why you should write JavaScript in front- and backend, why HTML5 really is just a buzzword and how to leverage CSS hardware accelerated to create true platform independent games. Dive in to the world of JavaScript gaming!"
      },{
        "title": "PhoneGap: the Future of Mobile Now",
        "description": "We know the future of the web is mobile, but what's the future of mobile? In this session, you'll learn how to step-up mobile app development with widgets and device APIs. Add these two technologies to your toolbox to begin building next-gen mobile apps today.\n\n\n\nWith more than 4.6 billion handsets on the planet, we know the future of the web is mobile, but what's the future of mobile? The latest builds of mobile browsers include HTML5 APIs, which enable speedy hardware-accelerated CSS, offline capability, client-side storage, geolocation and other goodies. But, what's next?\n\n\n\nTwo web technologies are ushering in the next generation of mobile apps: widgets and device APIs. As self-contained web apps, widgets significantly improve user experience. Device APIs do more than extend web apps to mobile devices. They allow access to native device sensors, like the accelerometer and camera, and to data such as photos and contacts. By adding widgets and device APIs to your toolbox, you can start building sophisticated mobile apps now.\n\n\n\nIn this session, PhoneGap hacker Brian LeRoux will guide you through the step-by-step creation of a W3C widget. He'll show you how to combine it with device APIs and deploy it using the PhoneGap open source framework. Learn how to develop for the mobile web of the future, today."
      },{
        "title": "Pixel Pushing",
        "description": "Seb Lee-Delisle brings his experience programming visual effects from the World of Flash to the Universe of JavaScript to show how to create dynamic canvas effects. He'll also show how you can now use JavaScript within unity3d to produce console quality games that run in the browser, on your iPhone and even on your Xbox!"
      }]
  },{
    "year": 2011,
    "url": "https://2011.ffconf.org",
    "sessions": [{
        "title": "CoffeeScript Design Decisions",
        "description": "Although limited by what's possible to express in simple JavaScript, CoffeeScript tries to provide pieces of clear syntax that fit together in harmony. We'll dive into the rationale behind some of CoffeeScript's language choices to look at the trade offs involved, and both the why's and why not's."
      },{
        "title": "Excessive Enhancement - Are we taking proper care of the Web?",
        "description": "We all love to see exciting and innovative \"interface shizzle\" driven by JavaScript and the ever increasing rendering capabilities of modern browsers, but are we getting these at the expense of the Web? This talk will explore the good, the bad, and the fugly of rich interfaces, while examining how and why we should take care not to damage the Web."
      },{
        "title": "Respectable code-editing in the browser",
        "description": "The past few years have seen the rise and maturation of several full-blown in-browser code editors: CodeMirror, ACE (Cloud9), and Orion. No longer must we mortify users with huge, clunky text areas when they need to edit some CSS or script. This talk will go over the current state of JavaScript-based editors, and describe the implementation of CodeMirror in some depth."
      },{
        "title": "How we Architected Cloud9 IDE for scale on NodeJS",
        "description": "Building and scaling a web based IDE is a big challenge, and doing this on Node.JS gave us a lot of unique challenges. Cloud9 is built using a full Ajax client, and besides Node.JS utilizes a full set of new HTML5 features and offline support. In this talk Rik will go through a quick demo of Cloud9 IDE, and then into the unique architecture and design decisions that we made to build Cloud9 IDE. This will be of interest to medium to advanced level programmers, who want to know more about Cloud9 IDE, Node.JS and scalable app development."
      },{
        "title": "Scalable JavaScript Application Architecture",
        "description": "Building large web applications with dozens of developers is a difficult task. Organising the engineers around a common goal is one thing, but organising your code so that people can work efficiently is another. Many large applications suffer from growing pains after just a few months in production due to poorly designed JavaScript with unclear upgrade and extension paths. Learn the tips, tricks, and techniques that allowed large sites such as My Yahoo! and the Yahoo! homepage to continue to grow, scale, and change over time without throwing away previous work. This talk isn't specific to any JavaScript library, rather, it gives you new ways to apply the libraries you're already using. The principles of good, loosely-coupled design apply to any system, and you'll learn how this can help your application today."
      },{
        "title": "Beyond the page",
        "description": "The latest browser APIs now make it possible to redesign how your web pages interact with other applications. Web pages are too often little islands that fail to play well with the wider user interfaces of our devices. This talk will explore the possibilities from Drag and Drop to Web Intents, demonstrating how to make web pages more equal in the world of applications."
      },{
        "title": "Beyond The Planet Of The Geeks",
        "description": "Brendan Dawes is a big-a-geek as anyone; he loves nothing more than making and experimenting with all the wondrous technologies, tools, toys and other magical things that constantly surround us. But the thing is, geeks never changed anything, well not in a real-world sense. Making cutting edge Javascript demos with the likes of Canvas or SVG are all well and good but for things to really change and have an impact stuff needs to move beyond the confines of the world of the geek and become common place, the norm and paradoxically, invisible!"
      },{
        "title": "You gotta do what you gotta do",
        "description": "HTML is incredible and powerful. HTML is a mess. Marcin, a user experience designer at Google, will talk about the experience working on interactive doodles like Pac-Man, Jules Verne and Les Paul. How do we put together things that will be seen by hundreds millions of people? What did we get right? What did we learn the hard way? What rules were broken and what contraptions put together? (Oh, and make sure to bring your phones!)"
      }]
  },{
    "year": 2012,
    "url": "https://2012.ffconf.org",
    "sessions": [{
        "title": "Building Web Apps of the future. Tomorrow, today and yesterday.",
        "description": "\"I skate to where the puck is going to be, not where it has been.\" - Wayne Gretzky. Building apps using AppCache and IndexedDb.  Pfft! That is so 2011.  The browser is an amazing runtime that can already deliver amazing apps.  Let's dive into the technologies that will help you deliver amazing web apps that blow your users socks off now and in the future.\n\n\n\n"
      },{
        "title": "Writing Testable JavaScript",
        "description": "It's one thing to write the code you need to write to get something working; it's another thing to write the code you need to write if you want to be able to prove that it works -- and that it keeps working as you refactor and add new features. In this talk, we'll look at what it means to write testable JavaScript code, and even write and run a few tests using [Grunt](http://gruntjs.com/) and the [Mocha](http://visionmedia.github.com/mocha/) testing framework.\n\n\n\n"
      },{
        "title": "Tales of Suckage and Awesomeness",
        "description": "This talk is an exploration of how the web has evolved since its humble beginnings in the early 1990s, from high and low points in the trenches of the Browser Wars to the enviable opportunities and sizable challenges we face today, and draws the connections between the choices made then and the landscape we find ourselves in today.\n\n\n\n"
      },{
        "title": "Making things with Maths",
        "description": "For years the web has been happy playing in the sandbox that was the browser, locked away from all the things that native apps could do. But now we've grown up, and we have WebGL, Canvas, Web Audio, Media Capture and more. To really exploit this power, we have to step outside the comfort zone of text-oriented publishing and engage with the full field of computer engineering.\n\n\n\nMaths are an essential part of this. While for most people, maths inspires dread, it's the most powerful tool we have, and the most flexible lego set you can get your hands on. In this talk I want to show you some clever mathematical machines, and what the pieces inside are doing. In a browser, naturally. And while true mathematicians will frown at the clear disregard for rigorous derivation, I think my way is more fun.\n\n\n\n"
      },{
        "title": "Is HTML relevent in the era of web apps?",
        "description": "With the rise of web apps, the place of HTML, long the bedrock technology for web developers has become a little shakier. Widely used application frameworks like SenchaTouch and SproutCore effectively bypass HTML altogether, going straight from JavaScript to the DOM.\n\n\n\nSo is the era of HTML over? Or does it still have a place building web applications, as well as web pages?\n\n\n\nJohn Allsopp believes so, and in this presentation will consider in very practical terms why eschewing HTML in web application development may not be a great leap forward at all.\n\n\n\n"
      },{
        "title": "Offline Rules: using new browser technologies to make sites work offline and be more awesome online",
        "description": "In the last couple of years a deluge of new offline storage technologies have appeared.  I'll explain why they are all excellent and rubbish at the same time, why you need to use all of them, and walk through the techniques to consider when building a web application that can load and function with no network connectivity. But making use of client side storage is not just necessary to make an app that works offline - it can also hugely improve the user experience of your site when the user does have connectivity as well. The examples will feature real-life code from our FT and the Economist applications, so you know that the techniques here are applicable to large, complex problems and not just contrived examples.\n\n\n\n"
      },{
        "title": "How I stopped worrying and learned to love the <body/>",
        "description": "The Web's place in history as a flexible & fluid way to store documents is well assured. But in a post-PC world, it's got work to do, and it's looking a little out of its depth. The Web's best hope for the future is if we think about it a little differently and admit what we must do to address its shortcomings.\n\n\n\n"
      },{
        "title": "Exploring the game console browser landscape",
        "description": "With IE coming to the Xbox, console browsers are growing up fast. We've advanced to a new level of exciting challenges in the form of voice recognition, gestural interfaces and second screens and it's time we start thinking about how our sites will work with these.\n\n\n\nWe'll race through the console landscape, unlock the treasure chest of features, and prepare ourselves for battle with the browser.\n\n\n\n"
      }]
  },{
    "year": 2013,
    "url": "https://2013.ffconf.org",
    "sessions": [{
        "title": "ES6 Uncensored",
        "description": "The latest JavaScript standard is just around the corner and language enthusiasts are already salivating over all the new toys coming their way. But, be warned, there are best practice zealots waiting in the wings, ready to re-label the fun parts as The Bad Parts and ruin the party. This time let's get a head start on them.\n\n\n\nWith copious examples drawing on various novel, weird and wacky combinations of upcoming features, I'll show you how to go wild with ES6 and, in the process, demonstrate that play is healthy and censorship is regressive."
      },{
        "title": "JavaScript in the Real World",
        "description": "Anything that can be written in JavaScript, will eventually be written in JavaScript. First client side web apps, then server side programs and now you can control hardware, embedded devices and even flying robots with JavaScript.\n\n\n\nWe'll look at how you can get started writing JavaScript for Arduino and Raspberry Pi to read sensors and control servos and build your own JavaScript powered robots."
      },{
        "title": "Mobile Is Not A Thing; It Is Everything.",
        "description": "The stratospheric rise in mobile subscribers, devices, services and apps has led to an even bigger explosion in the lack of understanding of how to design, develop and most importantly, recognize new opportunities with not only these new devices, but new use cases altogether.\n\n\n\nLet's step through the processes to help identify content strategies, design workflows and forecasting methods to unlock the true potential of mobile, not only for apps, but for the web and new channels of communication altogether."
      },{
        "title": "Pushing the Limits of Mobile Performance",
        "description": "A focus on performance can make the difference between the success or failure of a web app. This talk will go through concrete examples of how the Mobile Gmail and Docs teams focused on performance when building their apps. Some of these techniques are well known, but others have not been shared before..."
      },{
        "title": "Our web development workflow is completely broken",
        "description": "With the introduction of HTML5 the way we look at the browser has completely changed, but what has happen to our development workflow?\n\n\n\nIn this talk I take you through the history of web tooling and challenge the assumptions our current generation of tooling is build upon. You will realize that your web development workflow is completely broken, and that you over the years, have been making it gradually worse and more complex by adding more tools to the chain.\n\n\n\nIt's time to rethink our tooling."
      },{
        "title": "Stunning visuals with Maths and...no JavaScript?",
        "description": "Everybody has probably seen mathematical visualizations that were created using JavaScript. However, one thing that not everybody may know is that some of them can be perfectly replicated using nothing but HTML and CSS.\n\n\n\nThis talk is going to deconstruct some examples, explain the mathematical reasoning behind, reveal a few lesser known things about certain CSS properties and show how using a preprocessor can help with keeping these demos extremely customizable while actually writing very little code."
      },{
        "title": "Building with Web Components using X-Tags",
        "description": "In this tutorial we'll take a deep dive into how Web Components (A collection of technologies that includes Shadow DOM, HTML Templates, Custom Elements, and HTML Imports) can be used as building blocks to construct a functioning web application.\n\n\n\nWe'll review how each of the technologies under the web components umbrella work, how they work together, and how x-tags makes use of them to make modular, lightweight components. Special attention will be given to building applications for mobile devices with environments such as Firefox OS, Chrome OS, and PhoneGap."
      },{
        "title": "Time",
        "description": "This thing all things devours:  \n\nBirds, beasts, trees, flowers;  \n\nGnaws iron, bites steel;  \n\nGrinds hard stones to meal;  \n\nSlays king, ruins town,  \n\nAnd beats high mountain down"
      }]
  },{
    "year": 2014,
    "url": "https://2014.ffconf.org",
    "sessions": [{
        "title": "Building the Physical Web together",
        "description": "How can we, as the web community, build the next generation of the web, the Physical Web, together?"
      },{
        "title": "Moving seamlessly through offline and online",
        "description": "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 Hood.ie and offline-first principles to do it in record time."
      },{
        "title": "Navigating Open Source",
        "description": "Distributed, Non-Profit, Sustainable and Open Source: Ghost does nothing the easy way. Discover why the project made these choices and how they're creating a community and shipping code in the open."
      },{
        "title": "Self-hosted JS",
        "description": "The parts of V8 and SpiderMonkey that are actually written in JS.  Let's implement an ES.next feature in JS, during the talk!"
      },{
        "title": "Lean Mean CSS Machine",
        "description": "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."
      },{
        "title": "A Single Page Story",
        "description": "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."
      },{
        "title": "Tools for the 21st century musician",
        "description": "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!"
      },{
        "title": "Getting Close with the Web",
        "description": "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?"
      }]
  },{
    "year": 2015,
    "url": "https://2015.ffconf.org",
    "sessions": [{
        "title": "JavaScript that doesn't hurt your feelings",
        "description": "JavaScript just had its 20th birthday this year and it has come a long way. But many fail to recognise this and still code like it's 1999. This talk will take you through my favourite features of recent JavaScript editions, shows you how to use them in your project today and will give you an outlook of even better things to come."
      },{
        "title": "SVG in motion",
        "description": "Scalable Vector Graphics (SVG) are taking over a lot of our design tools by offering us more flexibility over those tools. In this talk, we will cover everything we need to know before attempting to animate SVGs, including animation gotchas, how-tos and pre-animation requisites such as optimization and embedding, among others, and how each of those affects the animation process."
      },{
        "title": "Operations: a developer's guide",
        "description": "An introduction to the web ops skills that will help you be a better developer. What you need to know about virtualisation, containerisation and wrangling servers, and some tools we use that might make development easier. I spent two years on the infrastructure team so you don't have to!"
      },{
        "title": "The Web Audio Phenomenon that Shall Not Be Named",
        "description": "Natural languages have many nooks and crannies, but there's a particular rabbit hole that will obsess you from the start. In this talk, you'll learn about the oddest psychological phenomenon ever to be thrown at getUserMedia and the odd parallels between learning human, natural languages and learning programming languages."
      },{
        "title": "How to win at mobile accessibility",
        "description": "The mobile web-vs-native debate rages on–who's winning? How can we create mobile experiences that are accessible and reliable to people with disabilities? In this talk, we'll dive head-first into the mobile debate and reemerge informed on how we can use our skills as web developers to create brilliant mobile apps."
      },{
        "title": "You should use <insert library/framework>, it's the bestestest!",
        "description": "\"You should use [insert library or framework here], it's the bestestest!\" is pretty standard modern web development chatter. But how do you separate the hype from the reality? Let's have a look at how we can gather data to assess the fit of code to your projects."
      },{
        "title": "Code Calligrams",
        "description": "Programming is art: It is like painting, but instead of drawing on a canvas we populate computer screens with colours. And rather than using brushes, we combine bits and bytes to trace an ever-changing flow of images.\n\n\n\nIn this talk, you'll be introduced to the art of \"Creative Coding\" and how to generate beautiful new worlds, using nothing else than the languages of the Web."
      },{
        "title": "A Talk about Everything",
        "description": "Software influences the lives of billions of humans every day. As people working on it, we face a broad variety of challenges – and we have a responsibility towards each of these humans. Let's take a look at the status of software development today, and see what each of us can do to act according to this responsibility."
      }]
  },{
    "year": 2016,
    "url": "https://2016.ffconf.org",
    "sessions": [{
        "title": "Next Level CSS",
        "description": "While we were all looking the other way browsers have been implementing CSS features that do things you might think you need JavaScript or at least a pre-processor to achieve. We'll take a tour through what is landing in the CSS specifications and your browsers right now and in the very near future."
      },{
        "title": "Progressive Web",
        "description": "With new web technologies enabling a new generation of install-able app-like websites it is important to ensure the web carries on working for everyone. This talk will discuss the P in PWA, progressive web apps should work for everyone and should not let their app-like approach divorce them from the web."
      },{
        "title": "Technologic (Human After All): Accessibility remix",
        "description": "With a little help from Daft Punk, we will explain accessibility mechanics in the browser, why CSS isn't just about looking good, and what tools you can use to get ahead of the game."
      },{
        "title": "All Things Continuous",
        "description": "Continuous Deployment for everybody: from a one-person army to distributed teams. Ecosystem appraisal, time-saving tips, max velocity!"
      },{
        "title": "Power of Emoji",
        "description": "From improving performance 📈 of mobile web in 1999 to reacting with 👍 and 🎉 on our Pull Request in 2016, Emoji has become part of our daily communication. Emoji is fun and ambiguous, let's look at how it became part of our daily communication & how we can invent new use as creators of the web! ❤️ 💯 💁"
      },{
        "title": "Optimise your Web Development Workflow",
        "description": "Learn about new DevTools features which can greatly enhance your workflow. Also, native Node.js debugging straight from DevTools!"
      },{
        "title": "A brief history and mishistory of modularity",
        "description": "\"MAKE IT MODULAR,\" they said. \"IT WILL BE BETTER,\" they said. Modularity is a term so common in today, that it's easy to uncritically accept it as a fundamental development principle. What does \"modularity\" *actually* mean? We will talk through the technical etymology of \"modularity\" and examine history on both its current use today, and where it's heading in the future."
      },{
        "title": "Art.js",
        "description": "What is creative coding, especially with realtime animations and data visualisation. Looking at the animation loop, some gotchas & tricks (e.g. cheap motion blur or glow), sound synthesis, and more. Then we'll do a live coding session to put in this practice, have fun and create something cool together!"
      }]
  },{
    "year": 2017,
    "url": "https://2017.ffconf.org",
    "sessions": [{
        "title": "Rethinking the Web Platform",
        "description": "Evolving the web to improve education, accessibility, performance, productivity, and design."
      },{
        "title": "If you're going out of San Francisco, be sure to wear Web Standards in your hair",
        "description": "We do like our Holy Wars, don't we?: tables vs CSS? Responsive vs mdot? React vs Angular? CSS or CSS-in-JS? Let's look at the real issue: getting the free and open web to the other 4 billion people."
      },{
        "title": "How the web sausage gets made",
        "description": "They say there's two things you never want to see made: sausages and web standards. Sooooo I'm going to tell you about both! How do browsers work? What are web components even? Everyone's using them and maybe you should too! 🆒🐱🎉"
      },{
        "title": "Lessons learned sciencing the web",
        "description": "Discover what slows down modern apps on mobile and how to fix this."
      },{
        "title": "My Password Doesn't Work!",
        "description": "Security is important, but it doesn't have to be complex. Let's dispel myths and assuage fear associated with those linchpin of our online lives – passwords – and build toward a more secure and more usable web."
      },{
        "title": "Memory: Don't Forget to Take Out the Garbage",
        "description": "JavaScript does a remarkable job of hiding memory management from us. What's going on behind the scenes?"
      },{
        "title": "Abstract art in a time of minification",
        "description": "aesthetic is a major component of any medium for art, including the web, but one thing that has been bothering me lately is: what happened to \"view source\"? are we destroying aesthetic for the sake of tooling and in spite of access to our industry????¿¿¿¿"
      },{
        "title": "Alpha, Beta, Gamer: Dev Mode",
        "description": "A live performance of video games and stand up comedy from comedian and coder, including pre prepared web games to play and even creating a video game with the audience on stage in only 10 minutes."
      }]
  },{
    "year": 2018,
    "url": "https://2018.ffconf.org",
    "sessions": [{
        "title": "Mentoring: Being the help you wish you'd had",
        "description": "The tech industry is suffering; from bad role models and unrealistic expectations, from anxiety and impostor syndrome and from a lack of diversity, empathy and ethical consideration.   Everyone, no matter how junior, can mentor and be a hero for someone else, for the industry and for yourself."
      },{
        "title": "The Future of JavaScript & Machine Learning",
        "description": "Deep learning, computer vision, natural-language processing, robotics - there are many exciting things happening with ai and machine learning, but where does JavaScript fit in with all of this? "
      },{
        "title": "Practical Web Animation",
        "description": "Web Animation is an essential part of great user experience leveraging cognitive load and allowing us to provide user feedback. This talk examines Web Animation from a practical standpoint, answering when to use it, how to keep your animations performant from a browser standpoint and exploring the animation options we have on the web today. "
      },{
        "title": "Is it possible to build a truly diverse community?",
        "description": "Often in our industry, aiming to increase diversity has been about finding people and trying to make them fit the mould of your event, project or team.  How about changing the goal to making environments that could accommodate people from all headspaces, including people we haven't met yet?"
      },{
        "title": "Back to the future of JS: the next features and amazing proposals",
        "description": "Do you want to discover the next exciting JavaScript features that you didn't even know you needed? Let me present you three proposals that may change the way you write code the same way the spread operator did."
      },{
        "title": "Dear Developer, the Web Isn't About You",
        "description": "What is the Web really about? Who do we develop our products for? Is it designed for Silicon Valley rock star 10x ninja frontend engineers to have fun coding on? Or is the Web a place for users from all walks of life, using all kinds of technologies, who might be using your product in the most stressful situations?"
      },{
        "title": "Using a Modern Web to Recreate 1980s Horribly Slow & Loud Loading Screens",
        "description": "These days people chase the dream of high performance, fast loading slick web sites. But in the 1980s computers were ugly, slow and loud: let's make that instead 👴👵💪"
      },{
        "title": "Weird Web & Curious Creation",
        "description": "Code is for work, but also for play. We have so much power at our fingertips, it would be silly not to relax every now and then and make something weird. Hang with Tim, and get inspired to create!"
      }]
  },{
    "year": 2019,
    "url": "https://2019.ffconf.org",
    "sessions": [{
        "title": "Engaging Empathy",
        "description": "Empathy and vulnerability aren't necessarily two words associated with professional success, but they're invaluable to achieving long-term goals leaders set for their companies. Lets both define what those look like at work and how to engage them for optimized collaboration."
      },{
        "title": "What does it take to become a developer in 2020?",
        "description": "Amina shares her story about what it takes to become a developer after teaching herself how to code, juggling a full-time job and baby."
      },{
        "title": "Getting more from Git",
        "description": "Git is like a Swiss Army Knife for telling the story of your project. Yet most of us are only using the big knife and maybe the scissors to fudge our code into version control. In this talk we're going to learn about some more advanced Git commands and some history too."
      },{
        "title": "8 Unbelievable Things You Never Knew About Tracking",
        "description": "The web, and big tech at large, is tracking our every move, habit, and facial expression. As developers who are also users, we both contribute to the surveillance system and are exploited by it. But it doesn’t have to be this way."
      },{
        "title": "From Milliseconds to Millions: A Look at the Numbers Powering Web Performance",
        "description": "We all know performance is big business, but how big? Let's take a look at some of the numbers powering the web performance industry, from both sides of the table. What do performance improvements mean for my clients, and how do we translate that into a working relationship"
      },{
        "title": "Effortless Performance Debugging",
        "description": "During the session we will talk about the causes of painful performance and look into simple and actionable steps how to make a website more performant with a little effort."
      },{
        "title": "Taking The Web Off The Screen",
        "description": "The rise of generative art has brought a whole new wave of creativity to the web; this talk is about the myriad of ways we can use all that coding knowledge to make cool art in the physical realm."
      },{
        "title": "Adventures in reinventing interfaces",
        "description": "Computers and other electronic devices existed for a long time before the web made its debut. Can modern web interfaces help invigorate the small computing space, while driving a new set of creative developers to invent better and more playful experiences?"
      }]
  },{
    "year": 2022,
    "url": "https://2022.ffconf.org",
    "sessions": [{
        "title": "Designing as we want, to create the experiences that we need",
        "description": "Delight. Inclusion. Awareness. Justice. Reparation. That's a lot to embed into every workflow. Are there ways that we can combine data and research to empower the people who use our products? Is there anything from critical design that can help us work differently? Let's do some design discourse and design better for the web and beyond."
      },{
        "title": "Capitalism, The Web, And You",
        "description": "In 2020, the UK government ordered schools in England not to use material from anti-capitalist writers, likening it to promoting crime or terrorism. This talk is about capitalism, the web, and what people who can create things for the web might do to help separate the two."
      },{
        "title": "Design for Developers",
        "description": "If you've ever wanted to learn more about the magical secrets of UI design (trust me, they're no secret at all!), get ready for a tour of fundamental design principles, the building blocks of a successful design and how we put that all together to create something beautiful!"
      },{
        "title": "This Talk is Under Construction: a love letter to the personal website",
        "description": "This is a nostalgic look back at the evolution of personal websites, and a look forward to how we can recreate this magic today. It's a manifesto for building something just for the fun of it, and a call to tell your story on your own platform."
      },{
        "title": "Programming with Yarn",
        "description": "Crochet and other yarn crafts can be viewed as a form of programming. Without realising it, crocheters interpret their own patterns, thus becoming \"computers\". This talk explores the analogies between a craft and what we know of programming."
      },{
        "title": "Working towards a greener world from behind the keyboard",
        "description": "In what ways tech is affecting the environment & climate change? We'll discuss processes which devs can use in their work to create a greener web and implementable systematic changes within an organisation that'd make a positive impact on the world."
      },{
        "title": "Digital exclusion in healthcare & how to change it",
        "description": "So you don't need to take a whole morning off for a doctor's appointment - great! Using tech for healthcare can speed up so many interactions & some changes are here to stay. But who is excluded when options are digital-first? What can we do to ensure the health of the most vulnerable in society is improved and not hindered by our rush to web-first tech?"
      },{
        "title": "Day Disco",
        "description": "Welcome to your obligatory ffconf browser disco! This talk will cover the current state of media APIs and what's coming next."
      }]
  },{
    "year": 2023,
    "url": "https://2023.ffconf.org",
    "sessions": [{
        "title": "Imposter syndrome, overworking, and working environments",
        "description": "Dealing with imposter syndrome, perfectionism and building a growth mindset - this talk is essentially a survival guide on how to cope when we feel inferior in the tech space where we're surrounded by people doing incredible things both in and outside of work time."
      },{
        "title": "The Expanding Dark Forest and Generative AI",
        "description": "The web is already an eerily lifeless place filled with automated predators like bots, advertisers, clickbait attention-grabbers, SEO-optimisers, and angry twitter mobs - and they now have a generative AI hammer to swing. When language models can churn out millions of human-like words, images, and videos in seconds, what happens to human creation and connection on the web?"
      },{
        "title": "We need to talk about the front web / Angela Ricci",
        "description": "Why the front web became this monster, and how to fix it..."
      },{
        "title": "Web accessibility - it's not just about HTML",
        "description": "Plain Old Semantic HTML allows accessible web pages, but CSS and JavaScript can hinder accessibility by altering element meaning, behavior, or blocking content. Learn how to use them appropriately to enhance accessibility and adapt experiences for all users"
      },{
        "title": "Ada Lovelace and The Very First Computer Program",
        "description": "We all know that Ada Lovelace is credited as the first computer programmer. But what did she write? What did it do? And how does it work?"
      },{
        "title": "Embracing Neurodiversity in Tech: Building Empathy, Unveiling Strengths",
        "description": "Unveil the power of neurodiversity. Through personal experiences and practical strategies, foster empathy, challenge stereotypes, and create an inclusive environment for hidden disabilities. Celebrate unique strengths together."
      },{
        "title": "Exploring the Potential of the Web Speech API in Karaoke / Ana Rodrigues",
        "description": "Isn't it frustrating when the song you want isn't available at karaoke? Let's see if we can solve this. We will look at the current state of the Web Speech API and what's coming next, and have some fun!"
      },{
        "title": "Entertainment as Code",
        "description": "This talk is about live streaming and learning in public, and about how writing silly code and building silly websites in front of a live audience is a powerful (and hilarious) way to build a community."
      }]
  },{
    "year": 2024,
    "url": "https://2024.ffconf.org",
    "sessions": [{
        "title": "Build Better Webs",
        "description": "We shouldn't be building \"the web\" - a monolith, a monoculture - but better webs. Indie webs. Small webs. Solar-powered webs. Poetic webs. All undergirded by healthy roots/infrastructure and interlinked, interconnected and interoperable."
      },{
        "title": "AI and Accessibility: the Good, the Bad, and the Bollocks",
        "description": "Depending on what you read, and who you believe, AI is either the ultimate solution or armageddon in motion, so in this talk, Léonie is going to cut through the clickbait, dodge the doomscrollers, and focus on the facts to bring you the good, the bad, and the bollocks of AI and accessibility."
      },{
        "title": "Get the core right and the resilient code will follow",
        "description": "More often than not, front-end developers will focus purely on improving their technical skills. I'm going to show you a better way by demonstrating how you can produce simpler, more resilient codebases by improving your planning & core skills — specifically improving how you provide and receive feedback from designer colleagues."
      },{
        "title": "0 - 25,000 people! Growing a global community over 10 years",
        "description": "We started running workshops in London and before we knew it (10 years later) we'd grown a global community of 25,000 people. I'll talk through everything I've learnt!"
      },{
        "title": "It all means nothing in the end",
        "description": "What do you do when you've attached your sense of self to work, and work suddenly feels meaningless? In this talk, Amy explores burnout, purpose and making meaning in an increasingly confusing and calamitous world."
      },{
        "title": "Debugging the Mind: A Programmer's Guide to Critical Thinking",
        "description": "Critical thinking offers a framework for questioning and evaluating claims. By challenging assumptions, using evidence-based reasoning, and recognising our bias, we're able to come to better solutions. Mike will outline how a sceptical approach can help avoid common pitfalls and foster more reliable decisions."
      },{
        "title": "Death, and how tech forgot about mortality",
        "description": "How death is not only a concern for individuals and their digital remains, but rather it exposes how the technology companies that safeguard our data are more likely to \"die\" before we do. So, what happens then?"
      },{
        "title": "The art of reflection",
        "description": "Art and design require imagination, yet in our busy lives, we often neglect reflection, which is essential for self-growth and long-term success; Imran's talk will explore how taking time to reflect can help us learn from our experiences and shape a better future."
      }]
  },{
    "year": 2025,
    "url": "https://2025.ffconf.org",
    "sessions": [{
        "title": "Bias in our products: The case for diversity in tech",
        "description": "Hellen unpacks how lack of diversity produces biased products—from racially biased soap dispensers to dangerous gaps in AI healthcare—tracing tech’s history, showing modern failures, and urging teams to build more inclusive, representative systems."
      },{
        "title": "Powerless by Design",
        "description": "Chetan explores how opt-ins, cookies, and mandatory accounts cost users control, and asks how we can design products that truly prioritize user benefit over data extraction."
      },{
        "title": "An Uncomfortable Place",
        "description": "Hannah shares how her team builds framework-agnostic design system component packages with web components and Stencil, balancing developer expectations—especially the React faithful—while keeping everyone happy."
      },{
        "title": "You're in a Code Cult (And That's OK)",
        "description": "Sergès dives into why programming languages become badges of belonging, the rivalries they spark, and what that culture says about the communities we build around code."
      },{
        "title": "Don't be an Idiot",
        "description": "Asim connects ancient democratic practices to modern open source and standards, arguing that our most vital work is governance in an AI age—guarding collective decision-making over mere invention."
      },{
        "title": "Forgetting Machines: AI Coding Tools and Skill",
        "description": "Jessica and Eda probe how AI coding tools erode the learning processes that build developer skill, what that means for individuals and the industry, and what we can do to counter the brain drain."
      },{
        "title": "Six to Sixteen: A Child's Programming Journey",
        "description": "Surya shares a decade-long path from learning to code at age six to speaking about navigating countless technologies, highlighting what helps young developers start and persist."
      },{
        "title": "The Good Internet: How Fandom Can Reclaim the Web",
        "description": "Sacha traces the web's fandom roots and shows how small, personal, DIY spaces can help us escape algorithmic doom loops, reclaim creativity, and rebuild a more human internet."
      }]
  }]
