Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Mozilla TowTruck – real-time collaboration on any site (mozillalabs.com)
216 points by aeontech on April 14, 2013 | hide | past | favorite | 44 comments


I feel like Mozilla is currently what Google was once upon a time (around 2005).


Well, sure like Google 2005 they don't have to make sure every idea is a multi-billion dollar enterprise.


Mozilla are on a roll, aren't they :)


To quote Scarface: I like you, Mozilla. There's no lying in you.

I'd be far more willing to trust Mozilla than Google or Apple. As Firefox OS has shown, they're committed to the web.


Ever since their CTO was outed as a necromancer they must have run with the army of undead programmers thing.

A lot of the recent stuff was in the wings, but the announcements have been coming incredibly fast lately.


WAT?


I am very curious to see what happens with this issue: https://github.com/mozilla/towtruck/issues/5

Given Mozilla's profile and resources, maybe they'll come up with a novel solution!


While OTs (there are several variants) are a promising approach for distributed authoring, I think the complexity of implementing them is still prohibitive. Surely there is a better way...

I have been reading papers on this looking for a "clean" way to solve this (in the context of packet loss, latency, etc).

One good approach I was able to understand is Neil Fraser's Differential Sync http://neil.fraser.name/writing/sync/eng047-fraser.pdf

There are other approaches out there. One example which uses character based changes and is worth checking out is here: PAPER wikisym.org/ws2010/tiki-download_wiki_attachment.php?attId=15 CODE https://github.com/gritzko/ctre

I feel like it is time someone solved this collab. editing thing once and for all and shared the code with everyone. (Firepad? https://github.com/firebase/firepad/)


I wrote a simulator to help me understand Differential Sync. The nice part about DS unlike OT is that you can still work offline and sync later. Here is the simulator:

http://dougmart.in/dssimulation/


Yup, I've actually read all those papers, and then some. I think OT is often misunderstood and poorly documented, and really needs a solid go-to library. (Along with clear, accessible documentation.)

ShareJS and "Operational-Transformation" (used by Firepad) are decent, but in my opinion aren't general enough and may even have some algorithmic flaws.

And yes, it's time this was solved, and it wasn't necessary to re-implement the basics for every collaborative project.


http://sharejs.org/ is in use for a number of production sites, and we've had users report that it is quite reliable. How would you like to see it further generalized?


Parts of Google's Operational Transformation algorithms have been open sourced, here's a good starting point: http://stackoverflow.com/questions/2043165/operational-trans...


Yes, and Wave is probably the most accurate open source picture of what Google is using for Docs: http://incubator.apache.org/wave/

OT works naturally with linear data structures, but is tougher to use correctly with more complex data, which Mozilla seems to have here with Towtruck.

I'm excited to see what approach they choose!



We provide a similar service here at Firefly: http://usefirefly.com/ Except our stuff is definitely production-grade software, works across all browsers, and supports dynamic DOM changes.

Good to see some big names taking their own spin on co-browsing.


Interesting. It seems this may be one of Mozilla's first(?) forays into a potentially paid service: hosted TowTruck accounts.

Since it runs on a central server, that server will either be Mozilla's or yours. I know I don't want to deal with that hassle -- I'd much rather pay someone else to run the service -- and I can't imagine Mozilla's going to do it for free at scale.

Mozilla hasn't yet pulled a Reader, as far as I know, but I would be worried about their dedication to a hosted service like this.


The server is super-simple, it just relays messages between the clients, it doesn't interpret or change messages at all. We're keeping the server simple so that we can do things like replace it with WebRTC data channels, or... just basically keep our options open. It's also great for development or freezing – since the changes are almost exclusively in the client there's no special coordination you have to do to switch versions, you just make a copy of the client code.

I'm guessing at some point we'll have to make the server a little more sophisticated, like maybe for authorization. But maybe not! We'll try our best to find other ways.

Also of course it's completely open source, so we can't actually pull a Reader ;)


haha fair points! Best of luck; exciting work!


Mozilla is already running Persona free at scale. If they let WebRTC do most the heavy lifting I don't see why they would have any issues running TowTruck free at scale.


Persona is cheating -- the more popular it becomes, at least with browsers and email providers, the cheaper Mozilla's bill. :)


I made a (much shittier, slightly different) version of this for a hackathon a while ago as a chrome extension! Basically, it lets people go through a webpage and talk about it together, or let one person "present" a webpage to others. The element the presenter is hovering over is highlighted to all others, they automatically follow his/her scrolling and navigation (to other pages), you can annotate with stickies on a page and it has a chatbox.


Dear Mozilla: Please save people from Gmail instead of building this kind of apps.


Save people from Gmail in what way? Didn't Mozilla already build Thunderbird?


I think she/he means a hosted email replacement. At least that's what I'm hoping for.


Fastmail.fm. Even updated their web app recently and it is, in my opinion better than Gmail's.


As a light email user, I wish I could use my own domain without jumping up to the $40/year plan. (Yeah, it's only $3.33/month, but still.)

Hmm, it looks like I could do a "family" plan with one user for $15/year with custom domain.


Yes, and you can actually have multiple domains - one primary one, and set up aliases with any others. They also host Jabber on your own domain with Family and Business accounts.


some domain registrars give you email forwarding.


Do you really think Thunderbird is a replacement for Gmail?

Come on.


Do you really think Gmail is a replacement for Thunderbird?

Come on.


Here's a bookmarklet:

  javascript:(function () { var script = document.createElement('script'); script.onload = function () { TowTruck(); }; script.src = 'https://towtruck.mozillalabs.com/towtruck.js'; document.getElementsByTagName('body')[0].appendChild(script); })();


There's also an Addon (https://github.com/mozilla/towtruck/wiki/Addon) which is basically equivalent to a bookmarklet like this where you activate the bookmarklet every time you load a new page. It's only intended to trying TowTruck out (like the bookmarklet).


I worked for a company that did this years ago as a commercial tool. Also the solution worked on IE8+ with plugins for chrome and FF. Nice that Mozilla is doing the same.


But without plugins.


Sorry. I should had explained better. That company solution didn't need plugins to work. Plugins were just an addition to the solution. And the solution also works on any mobile device with JavaScript. Funny that the company solutions is called "Cobrowse".


Well... include these snippets of code on your website means it's a plugin for your site, instead of a plugin for your browser.


Which makes a major difference if you plan to use it on mobile devices, or on desktops with no admin rights (read: office use). Also: one less thing to explain to clients.


Looks like it uses WebRTC, at least for audio and avatars. The state of the DOM as it changes is handled elsewhere. Is this FF / Chrome only at the moment?



Really like the mention of audio/video integration coming soon.

Likely not the market they really had in mind, but this could be an awesome extension to forums. Definitely an upgrade on the standard chatbox so many are still stuck with, and it's great that you don't need to give out personal details to start a call or private IM.


The killer feature here is "Real-time authoring" but this still doesn't exist for virtually any web application, like PHP, Rails, etc. without refreshing and gets even worse with compiled languages/frameworks such as Java/.NET/etc.

So, is this aimed solely as a mockup collaboration tool?


Didn't google release something similar a few weeks ago?


That would be the Google Drive Realtime API, https://developers.google.com/drive/realtime/, discussed at https://news.ycombinator.com/item?id=5403021. I don’t know enough about either of them to know how they compare.

Edit: Actually, they’re really different things.


You must be mistaken, the Mozilla thing is aimed at helping users.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: