WebNC: VNC for web applications

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    WebNC: VNC for web applications - Presentation Transcript

    1. VNC for web apps Laurent Denoue, Scott Carter, John Adcock, Gene Golovchinsky, Andreas Girgensohn FX Palo Alto Laboratory
    2. What is WebNC?
      • WebNC is Web Network Computing
      •  
        • A lightweight framework for realtime webpage sharing
    3. Why WebNC?
      • Need to share a web browser window
        • co-browsing: husband and wife reserve a car online
        • webcasting: demo-ing latest web ui to designer team
        • tutorial: here is how you can reserve a car on our site
        • link sharing: I found this great web site, look here, click there
      •  
      • Need to view anywhere: no download, plugin, any device
        • WebNC viewer is pure HTML/javascript
        • works on iPhone
        • low bandwidth, high quality
      •  
      • Need to search and retrieve
        • full-text search of recorded "WebNCasts"
    4. System overview
    5. Sender side: firefox extension
        • Grab screenshot of web page: canvas drawWindow
        • Split into tiles (256x256 pixels)
        • Compress each tile to JPEG and PNG and keep the smaller
        • Hash each tile to create a small signature
        • For each tile, if signature has changed: send to server
      • Firefox extension also:
        • gets viewport size, document size, scroll pos., mouse pos.
        • sends this along with changed tiles
      • Firefox extension also:
        • addListeners to FORMS e.g. SELECT, DROP DOWN
        • native C++ component (on Windows) grabs Flash, Applets, etc.
    6. Using the Canvas
      • HTML5 element “canvas” originally introduced by Apple
        • Firefox extension “drawWindow” https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas
        • Draws a snapshot of the contents of a DOM window
        • Only for code running with Chrome privileges
      • Second canvas for image tile
        • Use “drawImage” to copy a tile of the first canvas
        • Use “toDataURI” to get compressed image data data:image/png;base64, iVBO…gg==
        • Compare size of PNG and JPEG
        • MD4 of first 256 bytes to detect changes
        • Upload changed tiles
    7. What Tile Size is Best?
        • Compare different PNG tile sizes for Wikipedia page
        • Larger tiles are much better with respect to total size
        • Smaller tiles can deal more efficiently with local changes
        • 90% overhead for 128x128 vs. 256x256
        • 37% overhead for 256x256 vs. 512x512
          • Should be worth it if only a few tiles change
      2 KB 88 KB 4 512x512 0.5 KB 78 KB 1 1024x1024 8 KB 116 KB 16 256x256 28 KB 208 KB 56 128x128 112 KB 317 KB 224 64x64 HTTP Headers Size #Tiles Tile
    8. Server and Viewer
      • For a given sessionid, server maintains in RAM:
        • cursor position
        • document size and viewport size and position
        • each hash and corresponding byte[] of image tile
      • HTML/Javascript viewer :
        • Uses Ajax polling to get meta info and tile images as needed
        • Creates a <div> sized to viewport size
        • Creates <div> sized to document size (scrollable size)
        • Adds <img> tiles at fixed positions inside document <div>
        • Animates position of document <div> behind viewport <div> based on scroll position
        • Animates cursor <img> to cursor position
    9. Some Benchmarks
      • Used WinMacro to automate record a 2.5 min web session
      • Wireshark to measure network utilization
        • Microsoft Remote Desktop: 225 kbps
        • WebNC: 280 kbps
        • UltraVNC: 512 kbps
        • Microsoft SharedView: 729 kbps
      • WebNC bandwidth requirements low enough to be accommodated by typical broadband connections.
      • http://www.webnc.net
    10. Other features
        • Sharing is limited to a single browser tab
          • Simple privacy
      •  
        • Document layout structure can be overlayed in viewer
          • enables iPhone double-tap zoom feature
      •  
        •   Document text can be included in the stream
          • Enables sharing archives to be full-text searchable
    SlideShare Zeitgeist 2009

    + ldenoueldenoue Nominate

    custom

    780 views, 1 favs, 0 embeds more stats

    http://www.webnc.net
    WebNC (for "web and see")is a more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 780
      • 780 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 13
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories