
Frontend First
A podcast about modern UI development on the web. Hosted by Sam Selikoff and Ryan Toronto.
Latest episodes

Aug 21, 2019 • 1h 37min
APIs are about Policy
Topics include:
1:37 – APIs are about Policy, by Steven Wittens
5:47 – Part 1: RESTless API
49:16 – Part 2: Regressive Web Apps
1:08:19 – Part 3: GraftQL
Links:
APIs are about Policy, by Steven Wittens

Aug 7, 2019 • 1h 19min
Object references considered helpful
Topics include:
0:00 – Unique keys for lists in React and Ember
8:40 – Why Handlebars feels safe
9:34 – Solving a stale state React hooks bug, and how Ember avoids this via object references
24:29 – ESPN's website and self-imposed technical constraints
28:10 – React in Codesandbox
36:53 – Tradeoffs between "magic" in a framework vs. learning how to wire things up yourself - especially in a fast-moving ecosystem like JavaScript
50:35 – Hooks vs. components, and clarity in boundaries
53:29 – Pairing with Tuple experience
Listener questions:
55:43 – How can you limit FastBoot from turning user-specific bugs into bugs that take down your entire production app? (@davewasmer)
1:10:47 – What's the future of web components? (selbyk)
Sponsors:
TrueCoach, check out their engineering culture and hiring pages
Links:
Sam's tweet on list keys in React
Codesandbox
StaticKit.com
Tuple, an app for remote pairing
Stencil.js
APIs are about policy

Jul 31, 2019 • 1h 34min
You gotta feel the pain
Topics include:
5:26 – Bringing Mirage to a wider JavaScript audience
17:14 – Setting up tests in Gatsby, and why wiring up boilerplate code is not always bad
28:56 – React's children API, MDX, and template imports in Ember
39:17 – How extracting things in React feels compared to extracting things in Ember
42:30 – React's children, and constraints vs. flexibility
1:05:52 – API design, and letting someone feel the pain rather than telling them they can't do something
1:23:16 - Dynamic vs. static children
Sponsors:
TrueCoach, check out their engineering culture and hiring pages
Links:
Mirage.js
Tom Dale's tweet on web components

Jul 18, 2019 • 1h 9min
The burden of high-level APIs
Topics include:
2:45 – Using Gatsby to build miragejs.com
12:05 – Tradeoffs between low-level and high-level APIs
30:21 – Writing Gatsby data providers, and using GraphQL to query Gatsby's content mesh
41:33 – GraphQL vs. REST is wrong
44:16 – API design
58:45 – What's the best architecture for building modern UIs on the web?
Sponsors:
TrueCoach, check out their engineering culture and hiring pages
Links:
Mirage.js
Gatsby
GraphQL

Jul 11, 2019 • 55min
Are staging environments an anti-pattern?
Topics include:
1:35 – The benefit of no staging environments
10:14 – Using FastBoot without a runtime dependency, and pre-rendered SPAs
17:30 – Sponsor: TrueCoach is hiring!
23:02 – UI feedback, and Designing Fluid Interfaces by Apple
39:24 – Working with custom fonts, and typography lessons learned
Sponsors:
TrueCoach, check out their engineering culture and hiring pages
Links:
Percy Visual Regression Testing
Launch Darkly
Designing Fluid Interfaces, from Apple, WWDC 2018
The Inter typeface
Refactoring UI

Jun 26, 2019 • 1h 1min
When libraries go unmaintained
Topics include:
2:44 – What to do if your app depends on an unmaintained addon
26:15 – The workflow of designers who are also coders
32:31 – Why the status quo of web tooling is insufficient for multi-app workflows
41:46 – Side effects in React and Ember, and how Hooks help authors avoid making API mistakes
Links:
Ember CLI Deprecation Workflow
Adopted Ember Addons
Matthew Beale's tweet on improving library APIs

Jun 19, 2019 • 52min
Microscopic Frontends
Topics include:
0:00 – Playing with React JS
Using React after working with Ember for 5 years
React's onboarding experience
Why early success matters for OSS adoption
15:44 – Micro Frontends
Comparison with service-oriented architecture
Our experience using micro frontends at TED
The tradeoffs that matter most to us
47:56 – Call for conversation: Ember-turned-React dev
Links:
Micro Frontends, by Cam Jackson

Jun 5, 2019 • 56min
Open source isn't free
Topics include:
3:50 – Opinions on DHH's 2019 RailsConf keynote about sustainable open source
23:28 – Keeping tests dumb, dynamic tests, and TDD workflow tradeoffs
36:31 – Octane is not ready, and our conservative approach to adopting new tech
47:50 – Tailwind 1.0
53:23 – New series: Ember Animated
Links:
DHH's 2019 RailsConf keynote
Crash Log podcast
Robert Jackson's #EmberJS2019 blog post
EmberMap's new series on Ember Animated series

May 29, 2019 • 1h 6min
Katie Gengler on the tech and processes that power the Ember community
Topics include:
2:26 - Ember's 2019 Call for Blog Posts, and a retro on last year's call
7:50 - Why Katie's looking forward to Embroider, Ember Data, and updates to the Router
10:52 - What the process is for "finishing" Octane
14:37 - Katie's experience on the Steering Committee
18:02 - The infrastructure behind Ember Try and Ember Observer
34:18 - Common anti-patterns in apps, like deeply nested components
39:18 - Katie's preference for acceptance tests over unit tests in UI development
42:50 - Katie's stack of choice for a brand new app
44:58 - A look into Ember Observer's Code Search feature
58:06 - How much test coverage there is across Ember's OSS Addons
Links:
Katie on Twitter
Code All Day, Katie's consultancy
Ember's 2019 Roadmap: Call for Blog Posts
Ember Observer
Ember Observer's Code Search by Michelle Santarsiero
google/codesearch

May 22, 2019 • 49min
Stateless development environments
Topics include:
4:25 – Causes of burnout other than overwork
9:02 – Finalizing Mirage 1.0
10:42 – Keeping your development environment stateless
21:00 - Unified APIs for backend and frontend data queries
42:28 – Tailwind 1.0
Links:
Copy Paste Repeat Ep. 18
Twitter conversation between Trek and Sam on shared UI models
Sam on Twitter
Ryan on Twitter