Demo video: https://www.youtube.com/watch?v=1gsWWY56H6o
Chrome extension so you can try it out (try not to crash the server!): https://chrome.google.com/webstore/detail/aegkjjkggchllfihdiigigpodjpjjdfk/
Project description:
Pixel-perfect, low bandwidth tab sharing for Chrome.
Screen sharing quality can suck, especially for people on weaker connections. This is because most screen sharing implementations are encoding the screen as video frames, compressing them, sending them over the wire, and then decompressing them. This takes up a lot of additional latency and bandwidth (which must be traded off with quality/frame rate), and lossy compression frequently makes things unreadable (this is particularly an issue with Tandem recently).
What if instead of streaming video frames from the screen, we only streamed partial DOM updates from websites? That way, we can reproduce pixel-perfect versions of your active Chrome tab with extremely low bandwidth consumption and scrolling that doesn't give you a headache.
Welcome to Manted.
Team members:
Yunyu Lin
Jason Wang
Rahul G Sengottuvelu
Git repo:
https://github.com/calderajs/manted
following.
Sick project guys!
this is so cool
This is incredibly clever! nice job
Reach out to https://there.so, they might be interested in using this!
update: we have a demo! https://www.youtube.com/watch?v=TXcXdxd7H74
Always good to see what you all are up to. Big moves
You've identified a really interesting and big problem! I'd use Manted during this WFH.
I watched your mini pitch and immediately saw the value. You guys definitely did a great job. This has been an issue that I have personally struggled with while trying to share my screen with clients that have slow connections and I never know what they are really seeing.
Awesome execution for a hackathon
Very good for support.
This is awesome, especially given how much support is given for web apps running in the browser anyway.
I need this ASAP. Following
This is amazing
Super cool!! Great job and concept. Look forward to more features like large highlighting text. increasing cursor size. other things to make it easier to share your screen on the web
The applications for this are awesome!
Amazing work.
awesome! can't wait to see this working on my chrome!
This is great. Real problem with screen sharing to get work done esp in the developing world.
Super cool! Would be awesome to see where it goes :)
this is very helpful when you want to stream other media, while tab sharing, and you have roommates that are also heavy internet users
Great demo! Curious what partial dom updates means
We use DOM mutation observers to encode the current share session as updates to HTML elements and page attributes instead of a video frames. So, a gradient, shadow, or complex nested layout can just be represented as a short string instead of a bitmapped image. Hope that helps!
Following!
This is incredible - you're solving a real problem here! Keep it up!
Very, very cool!
would love to see (and perhaps even pay for) an android webapp #offlinefirst for this... i could use it for my own collection of wayback backups of link sharing.
Update to everyone: we've published the Chrome extension on the store at the following link - feel free to download it and try it out!
The link is here: https://chrome.google.com/webstore/detail/aegkjjkggchllfihdiigigpodjpjjdfk/
So useful!!
wow this is awesome!
Very cool!
Great idea and neat execution, guys! Congrats
Check out crisp.chat's MagicBrowse feature; it's been super helpful for us debugging issues for users and understanding usability issues with our site: https://crisp.chat/en/livechat/
This tool would be great for that use-case. The pitch would be "Embed it on your site so you can see what's actually happening on your users' screens."
If anybody is curious as to what the server consists of, here is the repo (linked in GitHub readme): https://github.com/calderajs/manted-server
mind blown..!
Update 1: We've gotten Chrome to correctly keep track of the active tab through a background script, and have managed to successfully pass recording start/stop messages to the content script through a popup. We're now seeing DOM diffs show up, time to pass them to the server