Hacker News new | ask | show | jobs
by graderjs 1859 days ago
I just tested out https://www.kasmweb.com/demo.html

They use a custom web VNC client with WebP. Definitely they have higher perceptual framerate and slightly higher responsiveness (actual lag) but the responsiveness is about the same. The real difference is the higher perceptual framerate. I think this is because of how VNC works by sending rectangles of only the changed region instead of the entire screenshot in WebP as I do.

When you compare the framerate on scrolling, or on full screen video, there's not much difference between the Kasm Web demo above, and my demo. With that said, there's definitely room for improvement in my framerate. And I could improve responsiveness with geodistributed endpoints (right now, I'm just using a server in Ohio).

So in future I could add support for checking the changed region, and sending only that region (possibly using the chrome LayerTree to only get and send the changed layers). So I could do that to increase framerate, while still getting all the benefits of my approach, such as full control of browser UI, seamless text pasting, file upload, co-browsing and seamless working on mobile. None of these things are supported by Kasm (at least in the demo above).

However, my focus is not on improving framerate right now. It's on building other features on top of this platform (such as the co-browsing support I added recently), and marketing.

Also I noticed both brows.sh and the Kasm web VNC demo take a long time to load. My app loads basically instantly, and has essentially the same responsiveness, making it highly useful for all kinds of work, as long as you are OK with the lower framerate.

I could also easily "increase" framerate by decreasing the image quality, and I'm considering adding a slider for that.

One thing that really impressed me about the Kasm demo was the audio was instant. I haven't been able to work out how to get rid of the 3 - 13 second lag I get with my pulseaudio / parec / lame setup. I wonder how Kasm is capturing and sending audio !! :P ;) xx