Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Love/Hate: Upgrading to Web2.5 with Local-First

Love/Hate: Upgrading to Web2.5 with Local-First

Millions of developers have made their careers in the age of Web2, and most weren't even around for the days of Web1. Yet it's no shocking claim that Web2 still has a lot of problems that weigh it down, despite all the amazing advancements.

For years now, hopes of fixing those problems have largely hung on the promises of Web3 (blockchain and crypto). But just as other classic "version upgrades" (like Python 2 vs Python 3) lingered and stagnated, so too has Web3 largely failed yet to bridge the divide and pull along those of us stuck in Web2.

Big changes are usually the sum of many smaller changes. Web3 is too big a leap for many, so we need to look to more immediate and tangible evolutions.

Luckily, the web has a new way forward. Let's explore how local-first will upgrade the world to Web2.5.

Kyle Simpson

October 23, 2024
Tweet

More Decks by Kyle Simpson

Other Decks in Technology

Transcript

  1. Web

  2. vs

  3. And the average page size in 2024 is… ~2.7MB, growing

    ~7% YoY. https://httparchive.org/reports/page-weight
  4. While the 90th percentile page size is… ~10.5MB, growing ~8%

    YoY. https://httparchive.org/reports/page-weight
  5. Not only is the cost to users going up… but

    the cost to companies, too.
  6. Local-First 1. No spinners: your work at your fingertips 2.

    Your work is not trapped on one device 3. The network is optional Seamless collaboration with your colleagues The Long Now Security and privacy by default You retain ultimate ownership and control https://www.inkandswitch.com/local-first/ https://localfirstweb.dev/
  7. 1. Create data on the user’s device 2. Optionally, sync

    data with other devices (servers, peers) How-to: Local-First
  8. ▪ Not just data, though ▪ The app should act

    installed and remain persistently on the device, and should update atomically How-to: Local-First
  9. Local-First Any framework will do, as long as it’s not

    a server-bound framework… …which is most of them.
  10. Local-First However… If you put the server in the client…

    https://jakelazaroff.com/words/building-a-single-page-app-with-htmx/
  11. *Bluetooth, *NFC, Animated QR Codes, Quiet.js, LP2P, WebRTC, *Socket Relay

    P2P Protocol, etc. Zero-Server Sync * Requires native app wrapper
  12. *Bluetooth, *NFC, Animated QR Codes, Quiet.js, **LP2P, WebRTC, *Socket Relay

    P2P Protocol, etc. Zero-Server Sync * Requires native app wrapper ** Working Group Draft Spec
  13. *Bluetooth, *NFC, Animated QR Codes, Quiet.js, **LP2P, ***WebRTC, *Socket Relay

    P2P Protocol, etc. Zero-Server Sync * Requires native app wrapper ** Working Group Draft Spec *** Requires signaling/relay servers (or P2P)
  14. *Bluetooth, *NFC, Animated QR Codes, Quiet.js, **LP2P, ***WebRTC, *Socket Relay

    P2P Protocol, etc. Zero-Server Sync Web-only… yay!
  15. 1. Your public-key is your identity 2. Local data protection

    (encryption at rest, E2E transmission) 3. Keys protected by biometric passkeys Zero-Server Identity
  16. The cloud is not inherently “The Web”, it’s an implementation

    detail. Web2.5 “The Web” is interconnectedness and collaboration around our data.
  17. ▪ Autonomous, user-defined identity ▪ Data ownership ▪ Users mix/share

    their own data across apps ▪ App ownership ▪ Reduce distinctions between web, apps, and data Web2.5 Goals