1. Monday, March 18

    Pre-Conf Activities

    • Registration Windows

      1. 8:30 am9:30 am

        This registration window is reserved for folks attending one of our training classes, to make sure they're processed and seated in time for class.

      2. 9:30 am4:30 pm

        All attendees are welcome to drop by to register for any EmberConf trainings, activities, and for early Conference registration.

        Grab your special, limited-edition swag item for folks registering for anything on Monday, to help keep the Tuesday morning registration rush to a minimum. While supplies last.

    • Trainings and Bonus Sessions

      1. 9:00 am12:00 pm

        • Jennifer Wong
        • Marcos Iglesias

        Sick of telling yourself that you are not made for public speaking? Do you feel that with a bit of help and some work you could be the one giving the talk at this conference?

        Don’t feel lonely, this happens to a lot of us. Even if we know that nobody can get to their full potential without public speaking skills.

        In this workshop, we will help you go over the process to become a conference speaker. From ideation to delivery we will teach you the essentials of every step, challenging you to come along and get out the session with a draft of the whole process.

        This training pairs well with our Public Speaking afternoon session, as part of our Evangelism mentorship track.

      2. 9:00 am12:00 pm

        • Erik Bryn
        • Ryan Tablada
        Modern Ember

        Come get reintroduced to building Ember apps with Octane! In this workshop, we’ll help you understand and use the latest features and patterns in Ember and JavaScript.

        Some highlights include:

        • Native JavaScript Classes
        • Decorators
        • Components
        • New Patterns In Ember Templating
        • Component Driven Design, Lifecycle & Hooks
        • Services
        • Routing
        • Using these new features in your existing Ember app

        The workshop will assume some previous experience with Ember.

      3. 9:00 am12:00 pm

        • Spencer Price

        Tools like Sketch and Framer are increasingly popular tools and Ember provides a great foundation for building one of these on your own.

        In this workshop, we will focus on implementing some of the more complex areas of user interactions in a manner that would be scalable enough to support all of the features we can imagine. We will discuss some of the tradeoffs and gotchas in this space, too.

        You will leave this session with a minimal, but working, accessible WYSIWYG application that is ready for all the features you will want to add.

      4. 9:00 am12:00 pm

        • David Baker
        • Martyn Ling

        You've weighed your options, you’ve done your research and Ember looks quite appealing for an app you work on. But there’s just one problem. Your app has been around for years and there’s no way you’ll be able to shift into Ember in one step. What do you do?

        Ember tutorials mostly assume "greenfield" development or that you’ll completely rebuild your app. That’s understandable, but it’s not the world all of us live in. How do you shift to Ember without rewriting everything at once?

        Join us as we:

        • Explore Ember’s architectural layers and how a migration works
        • Discuss various migration strategies and techniques
        • Migrate an existing backend using jQuery to Ember

        When we’re done, you’ll have a working, tested Ember app, a new set of tools and the ability to move your app to Ember while still regularly shipping new features and business value.

        To answer a few common questions:

        • Do I need to know Ember for this workshop?
          No, you don’t! Knowing Ember ahead of time will make things a bit easier, but we’ll discuss Ember foundations in-depth as we discuss how to bend them to our needs. As long as you’re comfortable with HTML, Javascript and Git, you’ll be fine.
        • Will this be too simple if I already know Ember?
          We don’t think so! Approaching Ember in this manner changes a number of default Ember assumptions, so it can be quite helpful to explore in a workshop environment.
      5. 9:00 am12:00 pm

        • Sam Selikoff
        • Ryan Toronto
        Advanced Ember

        Have you ever

        • Felt confused by the network requests Ember Data makes?
        • Seen flashing templates caused by relationships being fetched after a template’s initial render?
        • Told a user to refresh the app just to see the latest data?
        • Thrown up your hands and added reload: true just to get a page to work?

        If the answer to any of these questions is yes, this training is for you!

        In this interactive training, we’ll code our way through several exercises as we learn how to solve these problems and more by declaratively expressing the data needs of an application.

        After this training you’ll walk away with a better understanding of:

        • Declarative data fetching
        • How and when Ember Data’s data-fetching APIs trigger new network requests
        • Ember Data Storefront, an addon for declaratively loading data
        • Asynchronous, synchronous, and lazily loaded relationships
        • Data-fetching Components and Provider Components
        • How to fetch and persist graphs of data over the network

        This is a chance to not only improve your knowledge of Ember Data, but also the larger ideas behind declarative rendering and how they affect data fetching.

        We can’t wait to share with you all the lessons we’ve learned over the past few years running EmberMap and helping various teams solve their data-loading problems!

      6. 1:30 pm4:00 pm

        • Bear Douglas

        This fun workshop is a mix of lecture, exercises, and discussion, focused on practical techniques and principles that can help you level up your skills for speaking to any size of group. Learn how to adapt your body language and content to communicate effectively to dozens, hundreds, or thousands of people—and how to recover when things don’t go as planned.

        This training pairs well with our Presentation Academy morning session, as part of our Evangelism mentorship track.

      7. 1:30 pm4:30 pm

        • Chris Krycho
        Modern Ember

        You’ve heard about the benefits of TypeScript. But what is it? How hard is it to get started? How can you use it with Ember? What does it have to do with Ember Octane? This training will give you the tools you need to start using TypeScript effectively in your Ember app or addon—and show you how it can supercharge your developer experience with Ember Octane.

        In this training we’ll walk through adding TypeScript to a small existing Ember application—everything from How exactly does TypeScript work? to How do I get it tied into the build system? to Where do I start adding types? and finally, How do I convert my thousands and thousands of lines of JavaScript?

        The training is broken into two roughly 85-minute long sessions (with a short break in the middle):

        • What is TypeScript, and how does it work?
          A thorough introduction both to TypeScript as a language and to how it works with Ember (and Ember Octane) specifically. Lots of information and lots of slides, but also plenty of time for questions and clarification along the way!
        • Converting an existing Ember app.
          A guided walk-through of converting parts of a small existing application from JavaScript to TypeScript. Lots of time for questions, and some freeform discussion about tactics for being effective while working with existing apps.

        And to answer your most pressing questions:

        • Should I come?
          Yes, you should!
        • Do I need to know TypeScript?
          Not at all! This training assumes zero knowledge of TypeScript!
        • Will I be bored if I do already know TypeScript?
          Not likely! We start with the basics, but include plenty of advanced material along the way—and you’ll also get to see how it integrates with Ember Octane.
        • I don’t even know what Octane is.
          Don’t worry: while this isn’t a full-blown introduction to Ember Octane, we will cover everything you need to know along the way. (This will make a perfect complement to the Modern Ember with Octane session, though!)
        • It’s going to be a while before I can update to Octane.
          That’s totally fine! The emphasis is on Octane, but you will see both pre-Octane and post-Octane versions of TypeScript-ed Ember, especially during the second half of the training.
        • I have never written any Ember at all.
          We’d still love to have you! We won’t be covering Ember basics in this session—but if you have experience in other modern frameworks like React or Vue or Angular, you’ll keep up just fine!
      8. 1:30 pm4:30 pm

        • Oli Griffiths

        Broccoli.js is the build system that powers Ember CLI. Come and learn how Broccoli.js works, how to use it standalone to build any javascript project, and how to utilize the Ember CLI hooks to add functionality to the Ember CLI build chain.

        The tutorial is a fun but deep dive into Broccoli.js by iterating on building a standalone build chain, from a simple single html file, all the way to a typescript, auto reloading, dev and prod versions, source maps, etc. Once the standalone build chain is complete, we 'll work on how Broccoli.js can be integrated into Ember.js via the addon system.

        By the end of this talk, participants will be able to write their own broccoli plugins, and integrate those into Ember with Ember addons.

      9. 1:30 pm4:30 pm

        • Sam Selikoff
        • Ryan Toronto
        Advanced Ember

        Are you tired of seeing beautiful animations on the websites and apps you use, but then coming to work and feeling stuck working on a basic CRUD app?

        Do you wish you could get just enough experience to feel empowered to add rich, performant animations to your Ember app that would excite and impress your colleagues?

        In this interactive training, we’ll code our way through several exercises that will breathe life into a lifeless, static Ember app using the latest animation techniques from the ecosystem.

        You will learn:

        • How to progressively add animations to your own Ember app
        • Basic theory and common best practices around using animations effectively
        • How to reuse animations via Components
        • How to animate across route transitions
        • How to test your custom animations

        You will leave this session having coded several animations yourself, along with the knowledge needed to bring them back into the apps you work on every day.

      10. 1:30 pm4:40 pm

        • Lily Beauvilliers
        • Kacey Lewis

        Each year, we not-so-secretly run a small mini-conf on Monday, where we professionally record Bonus content for online release. With so many talented Ember people coming to town, how could we not take advantage and invite an audience?

        Ticket price of $69 gains you entry to the entire afternoon. Stay for some talks, or all. Small audience, space limited.

        This year's agenda includes:

        1. 1:30-2:00pm

          Have you ever been completely stumped by a nonstandard API and integrating it with Ember Data? Ember Data “just works” with JSON API out of the box, so often you do not need to know much about the magic behind the scenes. When you have a nonstandard API, however, things can get hairy quick.

          We’ll cover how to leverage the Ember Data hooks to bridge the gap, doing things like manually adding in links and relationships, for side loading data, combining multiple API calls together into one response, changing the entire structure of your data, adding and removing default records and much, much more!

        2. 2:10-2:40pm

          I love prototyping new ideas into Ember apps. When taking these prototypes and turning them into software that folks can use, I spend a lot of time solving the same few boilerplate problems:

          • Getting users to sign up/sign in (authentication and authorization)

          • Getting users to pay (subscriptions and payments)

          This talk to documents some standard and effective approaches I've used solve these problems in Ember, using common tools, to help minimize the time between a new idea and production.

        3. 2:50-3:20pm

          In this talk, Lily gives examples of friction she encountered learning Ember in a large legacy codebase, and how she leveraged that jank to learn more about Ember and front-end development in the general.

        4. 3:30-4:00pm

          Ember is already a super opinionated framework, so why do we still have so many ways to do one thing?

          While Ember is the ideal framework for large distributed teams, since it comes with everything built in, we still need keep code consistent and healthy for all the edge cases and special scenarios. That can be hard when its scaled to hundreds of engineers supporting millions of users, since every engineer is like "don't tell me how to do this!"

          We will look into how we handle catching issues, often earlier in the process, to maintain high quality craftsmanship for the overall application.

        5. 4:10-4:40pm

    • Walking Tours

      1. 2:00 pm5:00 pm

        Join an intimate group of your fellow Ember friends for a brew-focused adventure in the heart of Portland's trendy Southeast. We'll take a guided tour walking to and from three iconic Portland Breweries, complete with snacks and tastings.

        Ticket price of $99 covers all the tastings, snacks and samples along the way, your super-fun tour guide, a tasting journal, souvenir glass and gratuity for your tour guide.

        As with all EmberConf activities that involve alcohol, drink responsibly! Don't overdo it: we'll also provide lots of snacks along the way to help make sure you don't. Rain or shine.

    • Other Activities

      1. 9:00 am12:00 pm

        • Jen Weber
        • Ricardo Mendes

        At the heart of open source are developers like you: people of all backgrounds, interests, and experience levels. In this 3-hour workshop, you'll learn how to contribute to Ember, meet the other developers who shape our favorite framework, and if you're up for the challenge, make a pull request!

        The workshop will begin with some formal instruction. Where do you start? What goes into a good PR? Who will help? What knowledge or skills do you need before you jump in? (Spoiler alert—not a whole lot! Learning new things is part of the fun.)

        The rest will be guided coding time. You'll have the opportunity to pair program or fly solo as you tackle an issue in Ember's learning resources or core code. Available issues will cover a wide range, appropriate for beginners and experts alike. A group of experienced contributors will be there to help debug, advise, and answer questions.

        The workshop will include some formal instruction, guidance from a team of experienced contributors, and hands-on coding time. Attendees should bring a laptop, budget an hour of setup time in the week before the workshop, and watch for emailed instructions about setup.

      2. 12:00 pm1:30 pm

        • Leah Silber

        This luncheon is open to members of the EmberConf Women Helping Women Program and all Women in the Ember community.

        Please note that this is a women-only event that intends an inclusive definition of women. We are welcoming and respectful of trans women and any others who identify as women in a way that is significant to them.

      3. 5:30 pm7:30 pm

        • Leah Silber
        • Jen Weber

        This invite-only wine-and-cheese mixer is for members of the EmberConf Mentorship Program. Program applications have not opened yet.

  2. Tuesday, March 19

    EmberConf Day 1

      1. 8:30 am

      2. 9:30 am10:30 am

        • Yehuda Katz
        • Tom Dale

        Join Tom and Yehuda for a review of Ember in 2018/2019 and a look forward to the future.

      3. 10:45 am11:15 am

        • Frédéric Soumaré

        How big should we make our buttons? What’s the colour code of our logo? How do we display error states on our forms?

        Did you know that Ember-CLI’s powerful addon system can be used to build a kit of reusable UI components? In this talk, you will learn how to build your own styleguide addon and how to use it to keep your UI consistent across apps.

      4. 11:30 am12:00 pm

        • Kate Ruggeri

        Taking the time to make your computer your happy place, is a win for everybody. If you're not feeling a sense of calm and control after boot up, you might need some work. There are ways to encourage setup, share tools and successes, and question what we're accustomed to and already know.

        This tactical talk will help with practical tips, tricks and anecdotes to optimize your environment and keep you in your happy place, all work-day long.

      5. 12:00 pm1:30 pm

      6. 1:30 pm2:00 pm

        • Preston Sego

        React is a popular library for aiding in the building of single page apps – but how do apps built with React compare with apps built with Ember?

        In this talk we'll talk through real-world experiences using both, to give audience members a better understanding of the key differences and tradeoffs when choosing between React-based apps and ember apps.

      7. 2:15 pm2:45 pm

        • James C. Davis

        Have you been curious about TypeScript, but not sure if it’s for you? Are you unconvinced of its advantages? Did you even know you could use TypeScript with Ember? If you answered yes to any of those questions (and even/especially if you didn’t) then this talk is for you!

        Instead of a deep dive into using TypeScript with Ember, this talk will demonstrate everyday usage. We'll work to prove that switching to TypeScript to build your Ember apps and addons will make them more robust and maintainable, provide a better developer experience, and lead to improved productivity.

      8. 3:00 pm3:30 pm

        • Jessica Jordan

        Are you a fan of comics or have you ever dreamed of becoming a comic artist yourself? Then this talk is just for you! At EmberConf, you ask? But of course!

        We'll explore how both recent and matured Web APIs can be leveraged to tell our own, rich and interactive stories on the web. We’ll also dive into how you can use Ember.js to help create an online comic book that makes any comic art fan’s heart leap for joy.

      9. 3:30 pm4:00 pm

      10. 4:00 pm4:30 pm

        • Lisa Backer

        How do plugin-style addons actually work? Many of us have reaped the benefits of an Ember addon plugin approach, like with ember-service-worker and ember-cli-deploy.

        These ecosystems utilize the build process to enable a plugin architecture requiring only configuration to implement powerful capabilities. But how, you ask?

        We’ll do a technical deep dive into the mechanics of how the ember-service-worker ecosystem utilizes plugins. Along the way we’ll investigate the addon lifecycle and broccoli customizations. Finally we’ll touch on the unique problems of testing such addons.

      11. 4:45 pm5:15 pm

        • Todd Jordan

        Taking lessons from the classic writings on Software Testing, mostly pre-JavaScript, we'll walk through what are industry tried and true approaches for developing a robust and effective test suite.

        Many of the Testing philosophies and strategies today have their origins as far back as the 60's, and really got their legs during the advent of "Extreme Programming" and other early "Agile" methodologies from the 1990s.

        In this talk we'll take many of these tried and true test strategies and show how one would apply them in a real way to an Ember project.

      12. 5:30 pm6:00 pm

        • Melanie Sumner

        While JavaScript frameworks saved developers from tedium, they have also been notorious for completely disregarding accessibility. This talk will explore how this is different with Ember.js due to purposeful efforts, and how JS engineers can shift their mindset (just a little!) to make the apps we build more accessible for people with disabilities.

      13. 6:00 pm7:00 pm

        Join us in the main sponsor hall and cap off the day with friends, drinks and snacks before you head off to dinner.

  3. Wednesday, March 20

    EmberConf Day 2

      1. 7:00 am8:00 am

        Run or walk (up to you!) alongside fellow Ember developers for an energetic start to Day 2! We'll have fancy runner bibs and even some swag, and the group will be led by Ember Core Team Alum Peter Wagenet. It's the perfect way to start your second EmberConf morning.

      2. 8:00 am9:15 am

        • Ashlen Price
        • Elrick Ryan

        Grab breakfast with the leaders of our 2019 POC initiative, share your ideas, and network with other people of color in the Ember community.

      3. 9:30 am10:00 am

        • Igor Terzic

        For the last year Ember Data has been shedding weight, deprecating obsolete APIs and becoming more modular and flexible. We've removed layers of cruft and enabled much nicer testing infrastructure, easier integrations with more challenging backend systems and massively reduced dependency on the Ember Object model.

        This talk will walk through a modern cruftless data experience in Ember and demonstrate how you can use Ember Data's modular approach to create compelling experiences in even the most challenging data domains.

      4. 10:00 am10:30 am

        • Kenneth Larsen

        Ember takes pride in having great documentation. So much that we even have a Learning Team dedicated to keeping the official documentation in a good state.

        But what is the actual state of community documentation?

        After scraping and analysing just about 5000 readme files from Ember addons created by the community, I’ll present common pitfalls and ways to improve our community documentation.

      5. 10:45 am11:15 am

        • Julia Donaldson

        Ember is touted as the “framework for ambitious web developers,” but what does that really mean? How do we respond to critics who would argue that Ember’s “learning curve” negates the productivity it promises?

        This talk explores how Ember's conventions democratize the language we use to describe our applications, enabling developers of all levels and backgrounds to communicate in a meaningful and productive way. Ember is a tool that makes it easier to be a better, more ambitious developer, to communicate new ideas faster, and to facilitate a culture of cascading mentorship and growth within teams.

      6. 11:30 am12:00 pm

        • Kenigbolo Meya Stephen

        Teaching absolute beginners with no technical experience to understand Javascript can be quite a daunting task. It's more challenging if you have a thick British accent and your students are mostly African students. If you've ever designed a tech curriculum then you understand how complicated this can be.

        At code Afrique, where we help the community by offering a free weekend intensive bootcamp, we explored and have now achieved success with ember where we had earlier failed. The aim of this talk is to show, what we tried, where we failed and how ember brought us success like no other.

      7. 12:00 pm1:30 pm

      8. 1:30 pm2:00 pm

        • Dianne Eramo

        Components are such a large part of Ember apps, and they can do everything from displaying a post to loading data for a form. But the freedom that comes with this flexibility can also make it difficult to know if a particular approach will make your components a dream to work with, or leave you tearing your hair out.

        When creating a new component, you might ask yourself what data needs to be exposed, what kind of side effects it will have, or whether you need it to be generic and reusable or for one specific purpose. We'll explore these questions and more to help you build better components.

      9. 2:15 pm2:45 pm

        • Isaac Ezer

        Ember users have fallen in love with Ember Concurrency. It uses ES6 generators to elegantly solve a large class of async programming challenges that is common to all JavaScript apps. It makes code more concise, has an elegant API, requests can be canceled if they’re no longer needed, and no more "isDestroyed" checks.

        Let's do a deep dive into the inner workings of Ember Concurrency. We’ll learn how to build our own abstractions that encapsulate complex tasks for reuse in our apps. We’ll build composable, higher-order tasks that put more power into the hands of you and your fellow developers.

      10. 3:00 pm3:30 pm

        • Jennifer Wong

        New to Ember? So am I! What are all these things? A new code base often means unfamiliar words and paradigms. I definitely had my share in this Ember new world. When I saw mut, I thought of adorable dogs. When I saw can I thought of soup.

        Eventually, I realized the mystery words are part of Ember addons! But with so many to learn, I was quickly overwhelmed. Let me walk you through my exploration of addons. How do you balance code time with addon learning time? From ember-a11y-testing to zoey, we’ll dig into Ember & its addons, and strategies for persistent, sustained learning anyone can rely on

      11. 3:30 pm4:00 pm

      12. 4:00 pm4:30 pm

        • Vaidehi Joshi
        • Danielle Adams

        Lightning talks are pretty great, but less so when you can tell how little prep time the speaker had. So we wanted the good parts, without the bad. Enter: MiniTalks! They're like Lightning talks, short and sweet, but our speakers have more notice so they can put more work and polish into their talks.

        This year's agenda includes:

        1. 4:00-4:05pm

          How to Grow or Save your Favorite Open Source Project

          • Jen Weber
        2. 4:05-4:10pm

          How I Learned to Stop Worrying and Love the Mono Repo

          • Hassan Abdel-Rahman
        3. 4:10-4:15pm

          From Mainframe to Mainstream: A Case Study in Emberification

          • Ryan Mark
        4. 4:15-4:20pm

          How to build a Blog Engine in 15m with Ember and NodeJS

          • Chris Manson
        5. 4:20-4:25pm

          What's Behind Ember Observer's Scores?

          • Katie Gengler
        6. 4:25-4:30pm

          Broccoli Update

          • Oli Griffiths
      13. 4:45 pm5:15 pm

        • Howie Bollinger

        People often like to think of a piece of software as greater than the some of its parts. But what if the individual parts are garbage? Using component driven development, we can make sure the building blocks of our applications are robust, reusable, and tested. When we break development down in this manner, we can give each individual component the attention it needs in regards to accessibility.

      14. 5:30 pm6:15 pm

        • Sarah Allen