1. Making the Web 1000x Bigger

    Bjarni Rúnar Einarsson • pageKite.net

  2. Motives
    Why make the web bigger?

  3. Is the web too small? Seriously?

    When I imply that the web is too small, what I'm really getting at is that the vast majority of the devices connected to the Internet, participate in the WWW merely as consumers of data - publishing is centralized and generally takes place on 3rd party hardware.

    This has certain fundamental implications for how we can use the web, both technical (we have to upload everything before sharing), and social, in the form of Terms and Conditions and of course Privacy Policies - which are barely ever read by anyone.

    If anything, this trend is accelerating with the rise of SaaS, PaaS, "the cloud" and behomoths like Google and Facebook.

  4. Who do we trust?



  5. Who did we trust?



  6. Means
    Can we all host our own sites?

  7. Why don't most people host their sites today?

    Once upon a time...

    1. Web-servers were "high tech"
    2. Servers were expensive and "high tech"
    3. Desktops were insecure.
    4. We ran out of IPs!

  8. Diagram: traditional web-hosting

  9. Enabling web-servers everywhere

    With web-servers everywhere, how do we make them reachable without more IP addresses?

  10. Diagram: reverse proxied

  11. pagekite.py

  12. Introducing pagekite.py

    pagekite.py implements a tunneled reverse web proxy.

  13. A trivial example

    This is one way to make a web-server on localhost (ports 8000 and 8443) visible as http://bar.foo.net/ ...

    foo.net $ sudo pagekite.py --runas=nobody \
     --isfrontend --ports=80,443 \
     --backend=http,https:*.foo.net:::s3cr37
    
    
    laptop $ pagekite.py \
     --frontend=foo.net:443 \
     --backend=http:bar.foo.net:localhost:8000:s3cr37 \
     --backend=https:bar.foo.net:localhost:8443:s3cr37
    
    
  14. pageKite.net

  15. Using pageKite.net

    Another example, this time using the pageKite.net managed front-end service and enabling the HTTP user interface ...

    laptop $ pagekite.py \
     --defaults \
     --httpd=localhost:9999 \
     --backend=http:bar.foo.net:localhost:8000:s3cr37 \
     --backend=https:bar.foo.net:localhost:8443:s3cr37
    
    
  16. Magic!

  17. New markets for web developers

    unlimited server CPU
    unlimited storage
    user proximity
    desktop integration
    peripherals!

  18. Share files, without uploading

    >1TB online storage, cheap

  19. Gaming

    stream video: friends watch you play, live
    decentralized multiplayer games

  20. tel: 00 354 012 3456

    tel: myphone.bre.klaki.net

    OpenID server in your pocket?

  21. Decentralization, independence, privacy

    Freedom for the web

  22. Thank you!


    Questions?

    Links: