Join Sam, Ryan and guests to chat about development and design in the world of Ember.js.
New episodes every Wednesday at 6AM ET.
Read and Discuss: "Second-guessing the modern web"
Sam and Ryan read and discuss Tom MacWright's recent article "Second-guessing the modern web,"...
Everyone's sidestepping useEffect. Is everyone wrong, or is it React?
Sam and Ryan grapple with the way useEffect nudges you to build UIs. They...
When APIs get misused, who's to blame?
Sam and Ryan chat about how and why framework APIs get used and abused....
WTF is the JAMstack?
Sam and Ryan try to unpack the meaning of JAMstack. They discuss the constraints...
Introducing: Frontend First
Sam and Ryan kick off the first episode of Frontend First by doing what...
Coming soon: Frontend First
Sam and Ryan tell listeners about the upcoming rebrand of the EmberMap Podcast....
What's the fastest way to deliver an app?
Sam and Ryan discuss current approaches frameworks are taking for leveraging CDNs to quickly...
What's been the primary driver of JavaScript adoption?
Sam and Ryan discuss what has driven JavaScript adoption on the web over the...
Does route-based code splitting make UX worse?
Sam and Ryan talk about the tradeoffs between shipping a single bundle of code...
We can't stop talking about edge deploys
Sam and Ryan continue their discussion on deploying SPAs to the edge. They talk...
Yehuda Katz on Thinking Long Term about Experimentation vs. Fragmentation in OSS
Yehuda Katz joins Sam to talk about the strategies Ember's developed to keep the...
Mike Perham on Sustaining Open Source with Sidekiq and Faktory
Mike Perham joins Sam and Ryan to talk about Sidekiq, his popular background job...
What's the best SPA architecture for edge deploys?
Sam and Ryan talk about the architecture of Zeit's Next.js framework and the concept...
Declarative Code and DevOps
Sam and Ryan talk about whether it makes sense to code state transitions declaratively,...
Launching Mirage JS!
Sam and Ryan reflect on the launch of Mirage JS, talk about a planned...
When UI isn't a function of state
Sam and Ryan discuss how transitions in a JavaScript app are typically not exhaustively...
How should we style the stuff in between components?
Sam tells Ryan about his insights from refactoring EmberMap's frontend codebase to use Tailwind...
Which concepts should a framework teach?
Sam and Ryan talk about the actual vs. perceived boundaries between Ember and Ember...
An ORM by any other name
Sam and Ryan talk about how the URQL GraphQL library gives you an ORM-like...
When composability is not the answer
Sam and Ryan chat about composability, and situations where it gets in the way...
Yehuda Katz on Paradigms vs. Abstractions in UI Development
Yehuda Katz joins Sam and Ryan to talk about modern JavaScript UI development. He...
React is hard!
Sam and Ryan talk about the challenges they've encountered when working with asynchronous code...
Does technology get popular for the right reasons?
Sam and Ryan chat about how much popularity matters when it comes to choosing...
Imports are not code – they're declarations
Sam and Ryan talk about a confusing situation where moving code into an ES...
Server-side state means global resource identity
Sam and Ryan chat about building a Vue app with Mirage, and how quickly...
The Weekend Warrior Adoption Hypothesis
Sam tells Ryan about his recipes side project built with React, GraphQL and Hasura....
Side effects aren't declarative. What if they were?
Sam and Ryan talk more about their recent experience working with React Hooks. They...
What should be abstracted?
Sam and Ryan talk about properties and attributes in Ember's new component model, how...
APIs are about policy
Sam and Ryan read and discuss an article by Steven Wittens that explores the...
Object references considered helpful
Sam and Ryan talk about a stale state bug in a React app, and...
You gotta feel the pain
Sam and Ryan talk about APIs that empower developers, even if it means giving...
The burden of high-level APIs
Sam and Ryan talk about the tradeoffs between high-level and low-level APIs, and why...
Are staging environments an anti-pattern?
Sam and Ryan chat about whether staging environments encourage bad practices around test coverage,...
When libraries go unmaintained
Sam and Ryan talk about what to do when one of your application's dependencies...
Microscopic Frontends
Sam and Ryan chat about their experience using aspects of the Micro Frontend architecture...
Open source isn't free
Sam and Ryan talk about DHH's 2019 RailsConf keynote, and whether or not open...
Katie Gengler on the tech and processes that power the Ember community
Katie Gengler joins Sam and Ryan to talk about the important work she's done...
Stateless development environments
Sam and Ryan chat about the benefits of keeping your development environment stateless, using...
Nathan Selikoff on Omnimodal's real-time tech stack
Nathan joins Sam and Ryan to talk about how he's using Ember, Rails, Node,...
Frontend developers like us do things like this
Sam and Ryan talk about how to segment the audience of frontend developers. They...
Hark! The Halting problem sings
Sam and Ryan chat about the explicit and implicit data dependencies in our components,...
Edward Faulkner on Embroider, Ember CLI's modern build system
Edward Faulkner joins Sam and Ryan to chat about his work on Embroider, a...
Derrick Reimer on SPA architecture with Elm and GraphQL
Derrick Reimer joins Sam and Ryan to chat about building his new real-time chat...
Do you trust your test suite?
Sam and Ryan continue their discussion from the end of Episode 54 about how...
Chris Garrett on Ember Octane
Chris Garrett joins Sam and Ryan to chat about what's coming to Ember in...
SPAs should do more than server-rendered apps, not less
Sam and Ryan chat about why frontend frameworks should make it easy for SPAs...
You still have to build two apps
Sam and Ryan chat about the integration costs that make developing an SPA so...
From build-time to run-time
Sam and Ryan chat about using GitHub Issues to power Mirage's blog, and what...
Lenient libraries, strict applications
Sam and Ryan discuss the current state of frontend dependency management, and the areas...
Mirage, meet Addon Docs!
Sam and Ryan discuss the process of converting Mirage's docs from a Jekyll app...
There's a bug in my FastBoot
Sam and Ryan discuss two FastBoot bugs that recently caused problems on EmberMap. They...
The forgotten middle class
Sam and Ryan discuss theory vs. practice in modern SPA development. They talk about...
Grab bag: Web vs Native, stale data, and build environments
Sam and Ryan discuss a handful of different topics in this grab bag episode,...
Thoughts on tracked properties
Sam and Ryan discuss the wording behind the proposed "@tracked" syntax and how it...
Incremental Ember upgrades
Sam and Ryan discuss a new process for upgrading Ember apps and Sam's experience...
The elephant in the room
Sam and Ryan discuss the difficulty of working with a design system that doesn't...
Going all in on "outside in"
Sam and Ryan discuss getting Mirage and Ember to work in CodeSandbox, how FastBoot...
A less constrained environment
Sam and Ryan discuss new videos on async testing and declarative form validations. They...
Recursive partial application
Sam and Ryan discuss an elegant solution to the async nested dropdown problem, a...
Compose wisely
Sam and Ryan chat about the challenges of testing custom asynchronous code. They also...
A dropdown nest
Sam and Ryan talk about the challenges of building nested dropdowns, whether a component...
Your frontend is ready for production
Sam and Ryan talk about their upcoming email course on Ember component patterns, wrapping...
Scope down!
Sam and Ryan talk about lessons from Jason Fried's Q&A about scoping down product...
Can small libraries be conventional?
Sam and Ryan chat about two new EmberMap series, Forms and Async testing, as...
The Product Gap
Sam and Ryan continue their discussion about the role of product in an engineer's...
80% done, 80% to go
Sam and Ryan talk about the cost of using engineering as discovery, the consequences...
Ember Octane
Sam and Ryan talk about the Ember 2018 Roadmap RFC and its focus on...
Melanie Sumner on empowering JavaScript engineers
Mel chats with Sam about getting into Ember, lessons learned from collaborating at work...
I am a lighthouse
Sam and Ryan chat (on new mics!) about Ryan's recent video on declarative keyboard...
Jonathan Jackson on FastBoot Rehydration and Codemods
Jon joins Sam and Ryan to talk about his recent work on rehydration in...
Provide this!
Sam and Ryan chat about provider components in Ember, including the first renderless components...
Jen Weber on imaginary bars
Jen talks to Sam and Ryan about her journey learning from and giving back...
Mirage, meet Node
Sam and Ryan talk about their initial attempts to get Mirage running in Node,...
Let's be optimistic
Sam and Ryan talk about how to deal with building non-optimistic UIs using Ember...
A man can dream
Sam and Ryan talk about bringing the ideas of declarative rendering over to our...
Wrapping libraries responsibly
Sam and Ryan chat about what to do when a node module breaks in...
Bugs vs. features
Sam and Ryan chat about some ideas around caching in FastBoot, different ways of...
Toran Billups on Hot Reloading
Toran talks to Sam and Ryan about his project Ember CLI Hot Loader, which...
Test before commit
Sam and Ryan chat about Ember at Microconf, two-way bindings, and TDD vs. "Test...
Adam Wathan on Tailwind CSS
Adam joins Sam and Ryan to talk about coupling in HTML and CSS, different...
Robert Jackson and Tom Dale on Ember at LinkedIn
Robert and Tom join Sam and Ryan to chat about how LinkedIn uses Ember,...
Concretions and abstractions
Sam and Ryan chat about Tailwind and compilers (again), Ryan's EmberJS homepage teardown, and...
Sketch Prototyping and Amazon Workspaces
Sam and Ryan chat about Sketch’s new Prototyping feature, using Amazon Workspaces to develop...
Alex Matchneer on Routing Patterns
Alex Matchneer chats with Sam and Ryan about challenging routing patterns in Ember, his...
Steelman vs. strawman
Sam and Ryan talk about their new series, “Declarative rendering,” and why we should...
Making the impossible, impossible
Sam and Ryan talk about their Functional CSS training at EmberConf, some ideas for...
Oli Griffiths on the Benefits of Static Typing and How Broccoli Works
Oli Griffiths joins Sam and Ryan to talk about his experience using typed languages,...
JSONAPI Operations, Caching in FastBoot, and Ember's Strengths
Sam and Ryan talk about the upcoming Operations addition to the JSON:API spec, adding...
Tom Dale on Static Analysis, Upstreaming Glimmer, and Ember in 2018
Tom Dale chats with Sam and Ryan about static analysis and compilers, upstreaming learnings...
Babel Plugins, Compile-time Components, and Extending Integration Tests
Sam and Ryan talk about writing Babel plugins, components that can be transformed to...
Avoiding Imperative APIs and Expired Data
Sam and Ryan chat about Sebastian Markbage’s 2015 React Europe talk “DOM as a...
Breaking Production, Functional CSS and UI Components, and Testing Async Errors
Sam and Ryan chat about all the different ways you can make sure your...
Declarative Data Fetching, Disposable Code, Easier Upgrades, and the Upfront Cost of Ember
Sam and Ryan talk about a new Storefront API and why routes should declare...
Photo Uploads, Server Errors in Ember Data, NPM Dependencies and Ember CLI Addon Docs
Sam and Ryan talk about uploading images to S3, a new Storefront API for...
Async Relationships, Store Forking, and Batch Saving in Ember Data
Sam and Ryan discuss community feedback on Ember Data's pain points, including asynchronous relationships,...
Forms, Authentication, Ember 3.0, and Liquid Tether
Sam and Ryan discuss using contextual components to clean up forms, a unique authentication...
Luke Melia on Styleguides
Special guest Luke Melia chats with Sam and Ryan about styleguides, CSS patterns, Ember...
FastBoot, Structural Components and Ember Data transactions
Sam and Ryan chat about adding FastBoot to EmberMap's codebase, the difference between reusable...
Glimmer, Ember's reputation and Tachyons
Listen to Sam and Ryan chat about their experience using Glimmer, how Ember is...