Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Many “Great Divide”s

Slide 3

Slide 3 text

Web

Slide 4

Slide 4 text

Native vs

Slide 5

Slide 5 text

https://css-tricks.com/the-great-divide/ vs

Slide 6

Slide 6 text

vs

Slide 7

Slide 7 text

Front- End Back- End vs

Slide 8

Slide 8 text

Love! Hate! vs

Slide 9

Slide 9 text

Dichotomy Pick Sides!

Slide 10

Slide 10 text

Privacy Convenience or?

Slide 11

Slide 11 text

Security Performance or?

Slide 12

Slide 12 text

Paid Free or?

Slide 13

Slide 13 text

Owned Subscribed or?

Slide 14

Slide 14 text

Enough More or?

Slide 15

Slide 15 text

Can the web exist… without giving up our data?

Slide 16

Slide 16 text

Can the web exist… without subscriptions?

Slide 17

Slide 17 text

Can the web exist… without the cloud?

Slide 18

Slide 18 text

Web2 (too far off) is crumbling…

Slide 19

Slide 19 text

No matter how crumbling one side is… most won’t (can’t) jump over that huge gap.

Slide 20

Slide 20 text

Web2 needs a bridge… ???

Slide 21

Slide 21 text

…but we’ll come back to that.

Slide 22

Slide 22 text

privacy Web2

Slide 23

Slide 23 text

In the digital space… you are what you do.

Slide 24

Slide 24 text

Either you own that data… or others own the data that defines you.

Slide 25

Slide 25 text

If you don’t have custody of that data… you don’t own that data.

Slide 26

Slide 26 text

If they can block you from that data… you don’t own that data.

Slide 27

Slide 27 text

If they keep charging you for that data… you don’t own that data.

Slide 28

Slide 28 text

If you can’t protect that data… you don’t own that data.

Slide 29

Slide 29 text

privacy performance Web2

Slide 30

Slide 30 text

The web is supposedly “zero install”… but also promises “instant start” UX.

Slide 31

Slide 31 text

But far from actually “zero install”… the web is, in practice, install every visit.

Slide 32

Slide 32 text

And the average page size in 2024 is… ~2.7MB, growing ~7% YoY. https://httparchive.org/reports/page-weight

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

It’s harder than ever for web devs to… fake zero-install and instant-start.

Slide 35

Slide 35 text

Hosting providers increasingly control… architecture and optimizations.

Slide 36

Slide 36 text

privacy performance access Web2

Slide 37

Slide 37 text

The web increasingly assumes… unlimited internet and power*. *especially with AI.

Slide 38

Slide 38 text

2/3 of the world’s population can’t… enjoy such privileges.

Slide 39

Slide 39 text

privacy performance access cost Web2

Slide 40

Slide 40 text

Users not only spend more on access… but more on devices, just to keep up.

Slide 41

Slide 41 text

Not only is the cost to users going up… but the cost to companies, too.

Slide 42

Slide 42 text

“During a gold rush, sell shovels.” During a shovel rush, sell metal.

Slide 43

Slide 43 text

privacy performance access cost complexity Web2

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

Programmer job security used to be… ensured by writing hard to maintain code.

Slide 46

Slide 46 text

But the complexity arms race… now ensures they’ll be replaced by AI.

Slide 47

Slide 47 text

Web2 is crumbling…

Slide 48

Slide 48 text

but… there is a bridge! Local-First

Slide 49

Slide 49 text

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/

Slide 50

Slide 50 text

Local-First Data must default to primary storage on the user’s device.

Slide 51

Slide 51 text

Local-First Servers must be optional (or based on ubiquitous, agnostic protocols). IOW, Server-Last

Slide 52

Slide 52 text

https://blog.jim-nielsen.com/2024/allure-of-sync-engines/ @martinkl

Slide 53

Slide 53 text

▪ Not just data, though ▪ The app should act installed and remain persistently on the device, and should update atomically Local-First

Slide 54

Slide 54 text

Local-First Data Compute “Edge” Edge-First

Slide 55

Slide 55 text

Users: Privacy, Performance, Resilience Why Local-First?

Slide 56

Slide 56 text

Business: Cost, Complexity, Competition Why Local-First?

Slide 57

Slide 57 text

Local-First Any framework will do, as long as it’s not a server-bound framework… …which is most of them.

Slide 58

Slide 58 text

Local-First However… If you put the server in the client… https://jakelazaroff.com/words/building-a-single-page-app-with-htmx/

Slide 59

Slide 59 text

Local-First DXOS ElectricSQL PowerSync TinyBase AutoMerge Source Yjs Replicache

Slide 60

Slide 60 text

Local-First Obsidian Ledger Linear Trello (some or all of the local-first principles) Spotify

Slide 61

Slide 61 text

Local-First What about identity without any servers?

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

• mylofi/WebAuthn-Local-Client • mylofi/Local-Data-Lock • byojs/Storage • mylofi/Local-Vault Zero-Server Identity

Slide 64

Slide 64 text

Demo

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

Web2.5 Local-First Web2

Slide 67

Slide 67 text

The cloud is not inherently “The Web”, it’s an implementation detail. Web2.5 “The Web” is interconnectedness and collaboration around our data.

Slide 68

Slide 68 text

1. Local Identity 2. Surf To Install 3. Peer-First (Server-Last) Web2.5 Principles

Slide 69

Slide 69 text

▪ 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

Slide 70

Slide 70 text

Web2.5 Local-First Web2 Kyle Simpson Thank You!