Skip to content

Instantly share code, notes, and snippets.

@ryanflorence
Created February 3, 2022 17:06
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanflorence/a4d971fcb15066ee67ac7a46eb7e22c2 to your computer and use it in GitHub Desktop.
Save ryanflorence/a4d971fcb15066ee67ac7a46eb7e22c2 to your computer and use it in GitHub Desktop.
  • 💿 Open up the app and show all the features
  • 💿 Build a little todo list from scratch
    • normal forms
      • ship it, it works and the UX is fine
    • iterate to useFetcher to show why you'd bring it in
      • useFetcher is the thing that turns your remix app from a "website" to a "web app", if you're into that terminology.
      • still just forms!
        • progressive enhancement is about two things
          • how the app goes from basic functionality to fancy
          • how the developer is able to iterate their code from basic to fancy
            • talk about the bev bootcamp grand canyon
  • 💿 Go into day.tsx and backlog.tsx and get rid of the optimistic UI
    • observe UX/network
      • fast connection it's fine
      • slow connection it's terrible!
  • 💿 Add pending UI to the "move" UI
    • Better, but the network affects the UX
    • What about the checkbox? Put a spinner in it? Disable it?
  • 💿 Add back optimistic UI to the checkbox
    • awesome!
  • 💿 Add back optimistic "move"
    • just the "hide part" first
    • now add immigrants
    • Feels amazing, hides the slow network
  • Resilience
    • 💿 Click real fast before JS loads
      • most functionality still works before JavaScript without even trying! 🤯
        • Really makes the TTI metric difficult to talk about in Remix.
    • 💿 Disable JS w/ fast connection ... makes you wonder why we have JS at all sometimes?
    • This code is hard, but Remix revalidations fix it up your UI bugs!
      • 💿 Go to the buckets
        • Watch the sort bounce around
      • 💿 Go move item back and forth fast
        • disappears, but shows up
    • Remix even fixes it's own bugs eventually
      • move task to backlog
      • interrupt with navigation
      • oh no, the task is lost forever!
      • well, only until the next mutation
        • click a checkbox
      • we'll fix this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment