Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

X11 in a Modern Web Browser - Why?!

A couple of good/fun reasons, but mostly for learning
by

Greg Miell

on 29 April 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of X11 in a Modern Web Browser - Why?!

X11 in a
Modern Web Browser Why?! - http://goo.gl/xEbpa
Greg Miell / @GothAck What is X11?
Why?
History
Protocol
Fonts!
Architecture
Extensions
OMGQuestionTime Stuff what I may talk about... Display server: Manages hardware
Common API: for drawing, keyboard, mouse, other events
Extendable: XKeyb, Xvideo, XRandR, GLX...
Remote protocol: Tunnel via TCP, SSH What is X11 X announced 19 June 1984
Version 11 @ 15 September 1987
We're still on version 11...
Still has a lot of support for (DEC) Terminals Micro History - Version Eleven Very good documentation
Binary protocol, cross platform, bit/byte order
Requests, Responses, Events & Errors
1 - CreateWindow (120 core opcodes)
Inter window/process communication
Wireshark is my friend (it also gets confused)
Easily maps to browser ArrayBuffer / BufferView Protocol Seriously though, WHY?! Curiosity / lack of sane reasoning
Wayland / <insert other ds here> coming
Hmm, browser remote desktop without plugins...
Modern browsers are awesome Bitmap fonts!
In the browser? Works, but slow...
Vectorising fonts!
Node.js / FontForge
SVG / TTF / WOFF / <anyotherformathere>
Metadata
YAYFONTS! Started protocol,
distracted by Fonts Vectorising... Vectorising... Vectorising... Node.js
OO JavaScript - prototypal inheritance
Async
Workers Extensions GLX - WebGL?
XRandR - Resizing the browser
Keyboard & Mouse
PulseAudio stream Architecture
Full transcript