Three days of learning and sharing.
Trainings, keynotes, talks and activities.
Trainings, keynotes, talks and activities.
8:30 am9:30 am
Training-Only Registration
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.
9:30 am4:30 pm
Training, Activities and Early Conference Registration
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.
9:00 am12:00 pm
Presentation Academy
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.
9:00 am12:00 pm
Modern Ember with Octane
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:
The workshop will assume some previous experience with Ember.
9:00 am12:00 pm
Build a Sketch-like WYSIWYG App with Ember
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.
9:00 am12:00 pm
Migrating to an Ember App in Stages
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:
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:
9:00 am12:00 pm
Robust Data Fetching
Have you ever
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:
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!
1:30 pm4:00 pm
How to Take Up Space so People Will Listen
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.
1:30 pm4:30 pm
Supercharging Ember Octane with TypeScript
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):
And to answer your most pressing questions:
1:30 pm4:30 pm
Eat Your Greens: A Broccoli.js Tutorial
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.
1:30 pm4:30 pm
Real-World Animations
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:
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.
1:30 pm4:40 pm
BonusConf Sessions
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.
1:30-2:00pm
Ember Data - It's Not Just for JSON API Anymore
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:10-2:40pm
ember new indie-software
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.
2:50-3:20pm
Learning Ember on the Job
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.
3:30-4:00pm
Maintaining an Ember Application at Scale
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.
4:10-4:40pm
Intro to Ember Editions & Octane
2:00 pm5:00 pm
Southeast Brewery Extravaganza!
Paid addonJoin 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.
9:00 am12:00 pm
Contributors Workshop
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.
12:00 pm1:30 pm
WHW, Program Luncheon
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.
5:30 pm7:30 pm
Mentorship Program Meet n' Greet
This invite-only wine-and-cheese mixer is for members of the EmberConf Mentorship Program. Program applications have not opened yet.
8:30 am
Registration
9:30 am10:30 am
Opening Keynote
Join Tom and Yehuda for a review of Ember in 2018/2019 and a look forward to the future.
10:45 am11:15 am
Building a UI Styleguide in Ember
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.
11:30 am12:00 pm
Your Desktop, the Studio
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.
12:00 pm1:30 pm
Lunch
1:30 pm2:00 pm
Comparing Patterns in React and Ember
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.
2:15 pm2:45 pm
Typed Ember: Strong Types for Better Apps
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.
3:00 pm3:30 pm
Crafting Web Comics with Ember
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.
3:30 pm4:00 pm
Snack Break
4:00 pm4:30 pm
Anatomy of an Addon Ecosystem
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.
4:45 pm5:15 pm
Developing an Ember Test Strategy
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.
5:30 pm6:00 pm
Don't Break The Web
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.
6:00 pm7:00 pm
Happy Hour!
Join us in the main sponsor hall and cap off the day with friends, drinks and snacks before you head off to dinner.
7:00 am8:00 am
5K Fun Run/Walk
Paid addonRun 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.
8:00 am9:15 am
POC Breakfast
Grab breakfast with the leaders of our 2019 POC initiative, share your ideas, and network with other people of color in the Ember community.
9:30 am10:00 am
Dealing with Data in 2019
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.
10:00 am10:30 am
The State of Community Documentation
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.
10:45 am11:15 am
Communication and Convention
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.
11:30 am12:00 pm
Ember is for Everyone
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.
12:00 pm1:30 pm
Lunch
1:30 pm2:00 pm
Building Better Components
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.
2:15 pm2:45 pm
Composable Concurrency Tasks
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.
3:00 pm3:30 pm
New to Ember: What ARE All These Things?
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
3:30 pm4:00 pm
Snack Break
4:00 pm4:30 pm
MiniTalks
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.
4:00-4:05pm
How to Grow or Save your Favorite Open Source Project
4:05-4:10pm
How I Learned to Stop Worrying and Love the Mono Repo
4:10-4:15pm
From Mainframe to Mainstream: A Case Study in Emberification
4:15-4:20pm
How to build a Blog Engine in 15m with Ember and NodeJS
4:20-4:25pm
What's Behind Ember Observer's Scores?
4:25-4:30pm
Broccoli Update
4:45 pm5:15 pm
No Bad Legos: A Toy Box For Everybody
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.
5:30 pm6:15 pm