Slashdot Mirror


Gate One Will Support X11: Fast Enough To Run VLC In Your Browser

Riskable writes "Ever seen a remote desktop tool that's fast/efficient enough to play back video? Gate One will soon have that capability via the forthcoming X11 support (as demonstrated in the video). I am posting this to Slashdot looking for suggestions and feedback as to how I should move forward with it before I solidify the architecture, API, and even the business end of it (making money). I'll be watching the thread and replying to comments (as I have time). Also, if you're interested you can sign up to be notified when it's available." We've posted a few stories about Gate One previously.

53 of 164 comments (clear)

  1. F/OSS by Anonymous Coward · · Score: 5, Funny

    ...and even the business end of it (making money).

    Well, you just release the source and documentation; then hire yourself out as a consultant and the money will just come in! You can also write O'Reilly books on your software. We all know that O'Reilly authors are all 1%'ers with their private jets and everything.

    1. Re:F/OSS by Anonymous Coward · · Score: 3, Funny

      Mod parent left, mod grandparent right and grand grand parent counter clockwise.

    2. Re:F/OSS by Anonymous Coward · · Score: 3, Funny

      Mod parent Up-Up-Down-Down-Left-Right-Left-Right B, A, Start

    3. Re:F/OSS by TWX · · Score: 2

      Mod parent left, mod grandparent right and grand grand parent counter clockwise.

      Put your hands on your hips, and pull your knees in tiiiIIIIiiiight!

      --
      Do not look into laser with remaining eye.
  2. Give a man a programming environment by Anonymous Coward · · Score: 3, Funny

    Give a man a programming environment of sufficient power and he will port everything.

  3. The network says no by girlintraining · · Score: 5, Insightful

    Look, the protocol could be the greatest thing since sliced bread. It could have free orgasms built into it. It might even have the cure for cancer.

    But it can't overcome latency, or shannon's law regarding just how much data you can shove over a given network link. You can cheat by using lossful compression, you can employ predictive algorithms, but at the end of the day it'll only be as good as the network lets it. That's why there haven't been any big advancements in this area: There's none to make. Remote desktop will be varying degrees of shitty for the forseeable future, because our network links are shit. ISPs purposefully sabotage remote desktop and VPN because it's a threat to their business model. You can't "protocol" that away. Believe me, people have tried.

    At best, we'll be able to trade one variety of crap for another, but remote desktop will never come close to the experience of actually using the computer at the same location. Human beings start to notice lag between their own actions and computer responses in as little as 50ms. The network links typically take longer than that to send the data. Especially over wifi.

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:The network says no by Bill_the_Engineer · · Score: 4, Informative

      I think the minor detail that was lost in the slashvertisement was that gate one eliminated the need for remote desktop software by being browser based and its performance is at least comparable to other remote desktop software.

      In addition, the author is offering to add X terminal emulation as a feature.

      I don't think he meant to pass it off as the fastest possible protocol out there.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    2. Re:The network says no by postbigbang · · Score: 2

      The link layer is always the foot on the garden hose. Teradici's PCoIP and Ericom's protocol set are fast enough to play reasonable video on. Citrix, a bit slower, and on a good day, 10GB network, no traffic, gusty wind, xRDP will do it.

      So fie on your "crap". Once you cure the link layer, several work just fine. Maybe this one, too, although there's always room for competition.

      --
      ---- Teach Peace. It's Cheaper Than War.
    3. Re:The network says no by i+kan+reed · · Score: 2

      Please. A screen only has so many pixels, and you only have so much input. The main UI paradigms primarily in use today were initially developed so far back that the original hardware was several orders of magnitude slower than the network bandwidth we have today. It's true that piping 4k images in real time eats a ton of bandwidth, but high display resolution is pretty much the only network hurdle. Every other UI behavior can operate in human-sense realtime.

    4. Re:The network says no by X0563511 · · Score: 2, Insightful

      Because it took 2 hours to encode that 1080p video, and that's an awful lot of latency.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    5. Re:The network says no by h4rr4r · · Score: 4, Insightful

      Because youtube is not interactive.
      This means it can cache to get to 1080p and that temporary slowdowns are of no concern. With RDP/X11/SPICE you have to have an interactive connection. That means anything you do to get a smoother desktop like caching ends up making the interaction slower.

    6. Re:The network says no by Octorian · · Score: 3, Insightful

      Latency... Latency.... Latency...

      When you're streaming 1080p video, its fine to have a buffer several seconds or minutes long to cover any hicups on the network. For remote desktop use, not so much.

    7. Re:The network says no by h4rr4r · · Score: 2

      Sadly the speed of light as not improved one bit since those days. That means once you get far enough away the delay will be clear as day to even the slowest human.

    8. Re:The network says no by Lothsahn · · Score: 4, Interesting

      We talking VNC or RDP? Whether RDP can be significantly improved--I don't know. However, I also find it happens to work very well, even across large distances. There is some lag, but very manageable with US-based ISP's. If you have a low latency, high bandwidth network, thin clients work just like a local desktop to any normal human being for word and web-browsing.

      VNC, on the other hand, does not work this way. Despite having very low latency and high bandwidth, my VNC connection from just inside my house is terrible. There's significant lag and other problems. Across wide network links? It's horribly painful to use.

      I'm not sure if you were describing the state of RDP or VNC, but given the article is about VNC, there's a tremendous amount of improvement that is possible in that protocol. RDP demonstrates this. We should realize this and make VNC closer (or better) than RDP.

      --
      -=Lothsahn=-
    9. Re:The network says no by Russ1642 · · Score: 2

      You can stream 1080 over YouTube? I've... buffering... never... buffering... been... buffering... successful... buffering... at it.

    10. Re:The network says no by SJHillman · · Score: 5, Funny

      I don't know... most of our RDP users where I work just do the same thing over and over... you could probably buffer their actions.

    11. Re:The network says no by Nerdfest · · Score: 2

      That however is not time that is network limited as the GP posted. There's still room for optimization is desktop transfer protocols.

    12. Re:The network says no by Riskable · · Score: 2

      You're right: It doesn't need any proprietary software or proprietary protocols. It "just works" (in your browser).

      I honestly have no idea if it's the fastest protocol. I do know that it's an order of magnitude less bandwidth than noVNC and similar web-based remote desktop products.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
    13. Re:The network says no by MozeeToby · · Score: 5, Informative

      If you have an otherwise decent connection you should be able to play 1080p just fine. If you can't, your ISP is probably sending the traffic to one of the massively overloaded mirrors they run. You can block them easily by following the directions here for Linix or here for Windows. Or you can apply the same rules at your router to take care of the issue for your whole network.

    14. Re:The network says no by drakaan · · Score: 2

      Ask anyone who plays multiplayer online games.

      You can buffer non-interactive streams to cover up the shitty, jittery, laggy network users are using to view video. Interactive content, however, requires that intermediate routing devices hand off traffic to the next hop as close to immediately as possible.

      AT&T (U-verse...my current connection) offers plenty of speed (roughly 20MB down/10 up), but most of the testing tools I've used show me with ping times of somewhere between 40 and 100 ms, depending on where I test. That makes youtube work fine, and CoD: Ghosts/Black Ops[2]/Halo/Happy Wars/etc become frustratingly unresponsive at times.

      --
      "Murphy was an optimist" - O'Toole's commentary on Murphy's Law
    15. Re:The network says no by tramp · · Score: 2

      VNC is terrible on both LAN and WAN but SPICE is a lot better and on par with RDP in my experience. And imo there are plenty opportunities to improve both but it is hard work and not many interested.

    16. Re:The network says no by Riskable · · Score: 3, Informative

      I hear what you're saying and I agree that network latency is one of the biggest problems. Having said that, I have performed testing with my home Comcast Internet connection with Gate One running on a Rackspace cloud instance (512MB). The latency is negligible. My ping time to that server was a pretty steady ~50ms and apps like Chrome (yes, Chrome inside Chrome), LibreOffice (Calc/Writer), Sublime Text 2, kate, etc worked very well.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
    17. Re:The network says no by hobarrera · · Score: 2

      Latency, not bandwidth. A round trip takes too long, and each click/keypress is (at least) one round trip.

    18. Re:The network says no by war4peace · · Score: 2

      If you look at bandwidth with descending sort, you're right. But if you look at it from the other end, you're not.
      I agree that when you want to access a server remotely and it's located on the other side of the world, with 16 Kb/s between you, it would suck. But consider I'm at home and I have a very powerful PC in my living room. I'm laying in my bad and feel like playing a nice game. I would love to fire up a remote connection from my crappy laptop/tablet, start the game remotely, play it as if I'm there. With 1ms latency and Gigabit bandwidth thanks to that awesome router, this is no longer a bandwidth/latency thing. It's 100% a remote desktop implementation thing. So shut up and take my money :)

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    19. Re:The network says no by gstoddart · · Score: 5, Informative

      I'll worry about that when my data-center is on Mars.

      Then, I'm afraid you might not have enough practical experience on the topic.

      I've encountered performance issues across an organization, and definitely been able to identify it as network latency.

      And when we spoke with the network architects, they essentially told us it could be made no faster because of the distances involved. I'm not talking trans-continental/trans-oceanic links, I'm talking two data centers separated by only about a thousand miles.

      And, with the latency issues, we can't make some things responsive enough to interactive users to not be exceedingly painful. A 60-100ms latency is enough to have users screaming at you as everything they do has a long delay in it -- for interactive applications, that's very noticeable.

      You don't need to have data centers on Mars to be able to experience latency which is exceedingly painful. Within the last few months I've personally ran up against it in an organization which has offices through North America.

      If you're just mirroring data, sure. But running an interactive application over a long-distance link for which latency becomes a factor -- that can be very painful. And even within North America, you can easily get to the point where the latency can't be fixed because the signal can still only travel so fast.

      It really doesn't take all that much distance before it becomes observable. And angry/frustrated users don't want to be told about the laws of physics. They want to be able to click a button and not wait several seconds.

      --
      Lost at C:>. Found at C.
    20. Re:The network says no by Riskable · · Score: 4, Informative

      Reading your comment makes me think you'll love Gate One's ability to resume your session--even after restarting the process. I'll give you a hypothetical example:

      1) I connect to https://gateone.mycompany.com/ and open up LibreOffice Calc.
      2) I connect to the server running Gate One via SSH and run "/etc/init.d/gateone stop"
      3) The web page reports it has been disconnected but it will retry connecting every five seconds.
      4) I run "/etc/init.d/gateone start"
      5) The web page reconnects to the Gate One server and my spreadsheet is back in front of me--right where i left it.

      That works with terminals too if you install the dtach command. Everything will resume right where you left off even after killing and restarting the gateone.py process. This makes upgrading Gate One about as easy as can be; users will experience ~5 seconds of down time while the upgrade takes place and the process is restarted.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
    21. Re:The network says no by X0563511 · · Score: 2

      h.264 1080p with a quality factor of 20 or 18? I'd be quite impressed if that were true.

      Perhaps at a lower framerate, but I don't know if the encoder needs a certain amount of video to process (eg it may need a few frames ahead)

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    22. Re:The network says no by Riskable · · Score: 3, Informative

      I'm going to do everything in my power to make sure your use case works because I want to be able to do that too! I also want to be able to pick up where I left off if I have to work on something while I'm out & about. Just whip out my Chromebook and I'm coding using the desktop (or just the app) I left behind.

      So yeah, I just gave away an interesting feature: If you're using a Linux desktop (like I do) and you fire up Gate One it can connect to the existing X11 display and forward just the app you want it to. It doesn't have to be the entire desktop.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
    23. Re: The network says no by gstoddart · · Score: 2

      Anything higher than that and it's the fault of a shitty overloaded server, not the pipes.

      I honestly have no idea, since I'm not really a 'network guy'.

      However, I am taking our network architects at face value when they tell me that the latency can't be addressed because of the distances involved. Since they are the network architects for a multi-billion dollar company, I am going to assume they know more about it than I do.

      --
      Lost at C:>. Found at C.
    24. Re:The network says no by Dahamma · · Score: 4, Informative

      Three reasons this isn't all that "insightful" (sorry):

      1) two hours to encode a two hour movie is real time.

      2) 1080p h.264 video encoders are available in $10 chips. Or if you don't want dedicated hardware for it, it can also be done on a PC at good quality using a half-decent GPU.

      3) there are already decent examples of this being done in the real world - OnLive, GaiKai, etc. So it's clearly not only plausible, but working.

    25. Re:The network says no by forkazoo · · Score: 3, Informative

      Well, it probably does real time encodes of 24 FPS content, but perhaps would struggle a bit more with 60 FPS+ Desktop content. Likewise, if the content is photographic, the compression artifacts tend to be less noticeable. Have some simple shapes and bright colors with crisp edges like a GUI in the mix, and you tend to need much higher quality than with photographic content. Even doing the encode in real time at adequate quality, you are probably encoding to a long GOP codec which has quite a lot of inherent latency. If the GOP size adds 1 second of latency, it doesn't matter how much CPU and bandwidth you throw at the problem, it would still be very bad for real time interactive uses.

      * (Used to be an Engineer responsible for dealing with remote sites and technology for real time remote color grading sessions transmitted over the internet and over private WAN links using H.264 and JP2K based codecs mostly for TV commercials.)

    26. Re: The network says no by rosseloh · · Score: 3, Interesting

      It's not necessarily distance that's the problem, but the number of hops in between. As a simplified example, if you were 1000 miles apart but had a direct fiber line with powerful equipment between locations, your latency would be less than if you were 10 miles apart but had 10 routers in the middle (I'm ignoring distance limits on the fiber and assuming it's one line). The routers have to process each packet, adding a bit to the round trip time for each hop. Not much time, to be sure (a few milliseconds), but it's there. And the more you're transmitting (1080p video, for example), the slower it will seem. The default ping packets in Windows aren't particularly big, and can be slightly misleading if you're looking for slowdowns regarding large transfers.

      Your architects are right, though, in that "distance" is a good way to put it. It also depends on how your company is laid out - VPN links between offices? point-to-point T1? Etc...

    27. Re:The network says no by Decker-Mage · · Score: 2

      Yes they do have them and I'm looking at them and other solutions. They all have one problem, you need money. Usually lots of it to get it done well. My need is for household use, the target devices being everything in sight, especially (eventually) tablets to be hosted on my monster server/workstation. Households aren't something the big guys are even targeting, which makes about zero sense as being able to 'consume' on your portable devices anywhere, especially at home, really should be a valid target. [DLNA doesn't fill the bill since we'd have to junk what we already have that networks but doesn't do DLNA.] Now then I can consider the SO/HO and perhaps the S in SMB as a niche as, again, the big guys are fobbing off exactly the wrong solution in many situations around here (Central Valley, California) where money is the main limitation to setting up a solution that "just works." Whatever. At least I have something shiny to play with :-).

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
    28. Re:The network says no by Riskable · · Score: 2

      Real-time encoding of desktop apps using h.264 is a bad idea. Text will look awful.

      Gate One defaults to PNG encoding of screen/window/region captures and switches automatically to JPEG if updates start happening fast enough (because JPEG is much less CPU overhead than PNG). Its a threshold thing.

      The quality can be adjusted on-the-fly as well. WebP support is there too but I'm torn as to whether to use it by default or not (if the browser supports it) because the CPU utilization is on par with PNG yet it is lossy (lossless works too but is too slow to encode to be realistic). The only benefit with WebP is reduced bandwidth... Admittedly it is a non-trivial amount (probably about half as much as JPEG at equivalent quality levels).

      Once the beta is out I'll probably have more data to make a better decision about WebP.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
  4. Ever seen...? by Beardydog · · Score: 4, Informative

    Yes. Splashtop Remote. I haven't used VNC in years, literally. Splashtop streams audio and video we'll enough to play games over, locally. Their account-based system nonsense is horrific, buy you can avoid it if you connect over a VPN.

    1. Re:Ever seen...? by Beardydog · · Score: 2

      They do have an Ubuntu package for the streamer, at least, or they used to. But not a client? I don't know. I've only ever needed to connect to Lonux, never from.

      http://www.splashtop.com/linux

      As for trust, yeah, no. My understanding is that the first version did, in fact, stream your screen completely unencrypted over the internet for remote sessions. And they charge a subscription for remote connections. Ridiculous. Which is why I use a VPN when I stream, and never log into their awful account system.

  5. RDP did this in 2009 by smash · · Score: 2

    ... so yes, i've seen it before...

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  6. Re:Thinclient gaming? by h4rr4r · · Score: 2

    The speed of light is not your friend.

    You can already do that if you are close enough to the end point. A few hundred miles is pretty much the limit before the delay between input and even occurring is too painful for gaming.

  7. RDP - Win8 client to a Win2012 backend - very fast by deviator · · Score: 3, Interesting

    Remote Desktop Connection (RDP) connected to a Windows 2012 server back-end is very capable of streaming video. It's kind of shocking how fast it is.

    I've used some hosted remote desktop services over the past few years that are nearly indistinguishable from launching and using local applications - over a garden variety 10Mb/sec cable internet connection.

    I used to also think that "they'll never overcome latency to the point where it's running at sufficient speed to feel like it's a local app" but at this point feel like that is a wrong assumption.

  8. Re:Remotely Initiated Sessions? by Riskable · · Score: 2

    Yes, that will work. By default I have the xorg.conf listening only on localhost but you could easily change it. X11 forwarding over SSH also works.

    --
    -Riskable
    "Those who choose proprietary software will pay for their decision!"
  9. what is Gate One? by Gravis+Zero · · Score: 4, Informative

    Gate One is an HTML5 web-based terminal emulator and SSH client.

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:what is Gate One? by Riskable · · Score: 4, Informative

      That's what it is right now. Soon it will be so much more.

      X11 is just the start. I also have File Transfer and other apps in the works. The File Transfer app will be interesting... It will be more than just an, "SFTP client." It will allow you to fetch a file from just about any URL (back-end is already written and supports ftp:// sftp://, ftps://, magnet://, and even dns://, dict:// and other obscure things which I think makes it all that more interesting/useful) and deliver it to any number of destinations you like. Even if the destination uses a different protocol.

      So for example, if you wanted to download a magnet/bittorrent URL and have it automatically delivered to your home theater PC, your phone, and your brother's computer when complete you could do that.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
  10. Re:WTF? by wiredlogic · · Score: 3, Insightful

    Vaporware doesn't generally have a repository on Github.

    --
    I am becoming gerund, destroyer of verbs.
  11. Re:RDP - Win8 client to a Win2012 backend - very f by Riskable · · Score: 4, Informative

    What is the CPU load while watching a video over RDP? I'm genuinely curious.

    For reference, the gateone.py process(es) hover around 5% utilization when playing back a video @30fps (~720p resolution). Here's what it's doing while a video is playing back:

    1) Capture the screenshot of the changed region on the X11 display. It can do this every 33ms (a capped equivalent to 30fps). It only needs to take screenshots when there's a change but in the case of a video it happens very fast, hence the 33ms cap.
    2) Convert the raw captured image to selected format (JPEG for this example). It also makes a hash of the image that's used by both the server and client JS for caching purposes.
    3) Transmit the image to the browser. If the image has recently been sent to the client it will be aware of this and will only send the hash. This transmission occurs in binary mode over the WebSocket (it's complicated).

    From that point it's up to the client-side JavaScript to handle displaying the raw JPEG data. It is quite CPU-intensive if your hardware doesn't accelerate 2d canvas elements but not too bad (Chrome will hog around 50-80% of a single core while the video plays). Everything will remain responsive regardless.

    For reference, I've done extensive benchmarking of the browser-side CPU utilization and Chrome's developer tools will report 81% idle even when the actual CPU consumption of the process is nearing 80%. That means that all the overhead is inside the code that renders canvas elements; which is good because it means my JavaScript is not a bottleneck.

    --
    -Riskable
    "Those who choose proprietary software will pay for their decision!"
  12. Yes? by SirMasterboy · · Score: 2

    "Ever seen a remote desktop tool that's fast/efficient enough to play back video?"

    Yes...

    Microsoft's own Remote Desktop (with RemoteFx) and also third party program called Splashtop can both play back video smoothly remotely for me.

  13. Re:Completely MORONIC by Riskable · · Score: 2

    You're completely missing the point: Video playback over a remote desktop connection is merely an acid test. If it can play back a video that means the rate at which it can capture screenshots and send them to you is reasonably high. It's also an indication of how efficient it is.

    Gate One's X11 feature isn't made for video it is merely efficient/fast enough to handle it. If I can open VLC and play back a video in my browser surely I can get reasonable responsiveness from something like a spreadsheet or IDE.

    --
    -Riskable
    "Those who choose proprietary software will pay for their decision!"
  14. Re:What remote desktop won't play video? by h4rr4r · · Score: 4, Interesting

    Try tigerVNC and get back to me.

    You can run 3d HD games over it.

  15. Re:Everything in the browser? by Riskable · · Score: 2

    Great: So now the computer manufacturers are going to point the finger to ME and say, "You're the reason why millenials aren't buying computers anymore!"

    I really like the idea of using a fresnel lens over a smartphone to turn it into a larger desktop! I'm going to try that (I happen to have a big collection of fresnel lenses--don't ask =).

    --
    -Riskable
    "Those who choose proprietary software will pay for their decision!"
  16. Re:X11? What? We need Wayland! by Riskable · · Score: 2

    You know, if Wayland has Python bindings and an API akin to XCB (or Xlib) I can make it work with that too. Wouldn't even take much effort!

    --
    -Riskable
    "Those who choose proprietary software will pay for their decision!"
  17. RDP by Barryke · · Score: 2

    Ever seen a remote desktop tool that's fast/efficient enough to play back video?

    Err, yes. RDP.
    Its so effecient i often wonder why my wooden medieval laptop running Linux is able to play the video, thats when i realize its streamed via RDP from my Windows PC. Sound and everything.

    --
    Hivemind harvest in progress..
  18. smart desktop says yes by dutchwhizzman · · Score: 3, Interesting

    If you recognize that you are in fact streaming video, you can buffer that video ahead and keep the rest of the display nice and interactive. There's no reason you can't divide the display you are remote serving into several sections and give them each their own update/caching/buffering strategies.

    --
    I was promised a flying car. Where is my flying car?
    1. Re:smart desktop says yes by Riskable · · Score: 2

      That's exactly how Gate One's X11 app works. Well, it can't buffer video in any significant way without adding non-trivial delays to interactivity but it does keep independent caches for each window on the screen and each gets their own encoding/quality strategy based on how often updates occur (bandwidth utilization isn't taken into account yet).

      So that terminal running in the background will have nice and crisp, PNG-rendered text while the video playing in the forground will utilize JPEG (or WebP) encoding to reduce bandwidth (and CPU consumption on the server). If you look closely you can see this in the video.

      --
      -Riskable
      "Those who choose proprietary software will pay for their decision!"
  19. Re:RDP - Win8 client to a Win2012 backend - very f by slimjim8094 · · Score: 2

    Yes, this is called multimedia redirection and it seems to work with any DirectShow-using application (so you'd expect VLC to blow up).

    AIUI the idea is that you just stream the compressed video, plus some metadata for "it goes here, it's this big, and it's at this point". It seems to work pretty well, because obviously the compressed video is much smaller than 30 images a second that need to be individually compressed.

    --
    I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.