Imagine this: a Web without servers ??? Tara Vancil The Web, p2p - - PowerPoint PPT Presentation

imagine this a web without servers tara vancil
SMART_READER_LITE
LIVE PREVIEW

Imagine this: a Web without servers ??? Tara Vancil The Web, p2p - - PowerPoint PPT Presentation

Imagine this: a Web without servers ??? Tara Vancil The Web, p2p protocols, nail art - taravancil.com - beakerbrowser.com @taravancil taravancil.com/nails Tara Vancil The Web, p2p protocols, nail art - taravancil.com -


slide-1
SLIDE 1
slide-2
SLIDE 2

Imagine this: a Web without servers

slide-3
SLIDE 3

???

slide-4
SLIDE 4

Tara Vancil

The Web, p2p protocols, nail art

  • taravancil.com
  • beakerbrowser.com

@taravancil

slide-5
SLIDE 5

taravancil.com/nails

slide-6
SLIDE 6

Tara Vancil

The Web, p2p protocols, nail art

  • taravancil.com
  • beakerbrowser.com

@taravancil

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

$ npm install -D webpack

slide-11
SLIDE 11

$ npm install -D webpack $ vim package.json

slide-12
SLIDE 12

$ npm install -D webpack $ vim package.json $ npm run build

slide-13
SLIDE 13

$ npm install -D webpack $ vim package.json $ npm run build $ ssh -i ~/.ssh/mykey me@192.168.2.1

slide-14
SLIDE 14

$ npm install -D webpack $ vim package.json $ npm run build $ ssh -i ~/.ssh/mykey me@192.168.2.1 // ...?!

slide-15
SLIDE 15
slide-16
SLIDE 16

index.html

<h1> Hello, world! </h1>

index.js

var app = new Vue({ el: ‘#hello’, data: { message: ‘Hello, world!’ } })

index.html

<h1 id=”hello”> {{ message }} </h1>

slide-17
SLIDE 17

index.html

<h1> Hello, world! </h1>

index.js

var app = new Vue({ el: ‘#hello’, data: { message: ‘Hello, world!’ } })

index.html

<h1 id=”hello”> {{ message }} </h1>

mywebsite.com

Hello, world!

slide-18
SLIDE 18

Servers suck

slide-19
SLIDE 19

2006 2018 1994 2000 2012

@taravancil

slide-20
SLIDE 20
  • Sysadmins
  • Occasionally me

People who enjoy running servers

Everyone else

@taravancil

slide-21
SLIDE 21

3 billion

slide-22
SLIDE 22
slide-23
SLIDE 23

@taravancil index.html

slide-24
SLIDE 24

✓ ✓ ✓ ? ? ?

@taravancil

slide-25
SLIDE 25

2018 1990

The Web...it’s alive!

28 years

@taravancil

slide-26
SLIDE 26

Facebook Free Basics

https://www.aljazeera.com/indepth/opinion/2017/08/free-basics-facebook-failure-digital-equality-170828083453067.html

slide-27
SLIDE 27
slide-28
SLIDE 28

youtube.com/watch?v=vji_6ofE5Wg

slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31

Glitch

neocities.org glitch.com

slide-32
SLIDE 32

We’ve been here before

slide-33
SLIDE 33

Publishing is core to the Web’s ethos. How can we equalize access for the long term?

slide-34
SLIDE 34

+ New website

slide-35
SLIDE 35

mywebsite.com

Hello, world!

slide-36
SLIDE 36

Let’s turn our devices into servers!

slide-37
SLIDE 37

Let’s turn our devices into servers!

slide-38
SLIDE 38

Personal devices are not servers

  • Not always on (sleeping, dead battery, etc.)
  • No dedicated IP address
  • Can’t handle traffic

@taravancil

slide-39
SLIDE 39
slide-40
SLIDE 40

+ New website

slide-41
SLIDE 41

!==

slide-42
SLIDE 42
slide-43
SLIDE 43

Peer-to-peer

slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49

/ assets/

  • - images/
  • avatar.jpg
  • sunset.jpg

index.html index.js styles.css

}

A website!

slide-50
SLIDE 50

@pfrazee @mafintosh @ t a r a v a n c i l

slide-51
SLIDE 51

beakerbrowser.com

Beaker Browser

slide-52
SLIDE 52

p2p://mywebsite.com

Hello, world!

???

slide-53
SLIDE 53

The Web, but make it peer-to-peer

slide-54
SLIDE 54

Dat

datprotocol.com • datproject.org Peer-to-peer hypermedia protocol for syncing and browsing files on-demand

slide-55
SLIDE 55

dat://mywebsite.com

Hello, world!

The peer-to-peer Web

slide-56
SLIDE 56
  • 1. One-click publishing
slide-57
SLIDE 57
  • 1. One-click publishing
  • 2. Supercharged View Source
slide-58
SLIDE 58
  • 1. One-click publishing
  • 2. Supercharged View Source
  • 3. New Web APIs
slide-59
SLIDE 59
  • 1. One-click publishing
  • 2. Supercharged View Source
  • 3. New Web APIs

✓ ✓

slide-60
SLIDE 60

It’s files all the way down

slide-61
SLIDE 61

profile.json

{ "name":"Tara Vancil", "bio":"Peer-to-peer Web nerd.”, "avatar":"avatar.png" }

slide-62
SLIDE 62

Beaker Web APIs

var website = new DatArchive(‘dat://jsconfeu.taravancil.com’) website.readFile(‘index.html’) // <html>...</html> website.writeFile( api.html’, ‘<h1>Hello from the console</h1>’ )

slide-63
SLIDE 63
  • 1. One-click publishing
  • 2. Supercharged View Source
  • 3. Cool Web APIs

✓ ✓ ✓

slide-64
SLIDE 64

Talk to me! github.com/beakerbrowser beakerbrowser.com/install

  • pencollective.com/beaker
slide-65
SLIDE 65

Thank you!

@taravancil

  • jsconfeu.taravancil.com
  • beakerbrowser.com

^ Try these over dat://