Slashdot Mirror


Hydra: Rendezvous-Enabled Text Editing

Tokerat writes "It's incredible what some people dream up. A recent post on MacSlash brought this little gem to my attention, and I have a feeling some of you fellow /.ers will be screaming to get your hands on this: Hydra is a Rendezvous-enabled text editor, which allows several people to edit a text document at the same time. Imagine doing some extreme programming with this, with one person writing code and another following the first and correcting their mistakes & making optimizations simultaneously? It already works with Apple's Project Builder, supports syntax coloring, and the ability to manage access on a per-document basis. Future improvements will include support for RTF and much tighter integration with Project Builder. It looks to me like these guys are really on to something here."

19 of 376 comments (clear)

  1. Nifty! by .@. · · Score: 4, Interesting

    That's very cool. Rendezvous is really coming into its own. I wrote up instructions on how to Rendezvous-enable pretty much anything you'd like, using any Unix box and a bit of C code and shell scripting.

    --
    .@.
  2. I don't mean to be a cheerleader. But, by veldmon · · Score: 5, Interesting
    this is what an operating system is supposed to enable. That is why I recently made the 'switch' to a PowerBook running OS X Jaguar.

    Rendevous is a 'framework' that enables an amazing array of functionality in many different applications. For instance, in iChat I can use rendevous to converse with others on my local network, devoid of going through a central authority (server) on the internet.

    Rendevous is also open source. I think it has to be said that Apple is making great strides with open source for a commercial company with roots in strictly proprietary technology.

    1. Re:I don't mean to be a cheerleader. But, by stratjakt · · Score: 1, Interesting

      Rendevous is a 'framework' that enables an amazing array of functionality in many different applications. For instance, in iChat I can use rendevous to converse with others on my local network, devoid of going through a central authority (server) on the internet.

      Like there arent 9 gajillion and one 'chatting' applications out there already. I mean, c'mon, every comp sci student writes one to pass his intro to net programming class.

      Others have pointed out that this exists on other systems. Emacs can do it, NetMeeting does it. Mainframes have been doing it for years (mostly by accident, of course - but I've used this 'quirk' many times when a tech is in the field, and I'm dialed in, and we can both work on the same bug at the same time)

      I mean, hip hip hooray - it's rendezvous enabled. I fail to see whats new and exciting here.

      So now I get modded down to oblivion for not becoming fully erect because someone did something with his mac that everyone else can do with their OS's of choice.

      I mean, excuse me for not paying tribute to Steve Jobs little fiefdom. OSX is pretty, but not groundbreaking. It really doesnt impress me. So they got rendezvous. A nice API for people who 'dont get' TCP/IP.

      And GNU doesn't consider the APL to be truly Open Source, but all that idealistic chatter is pretty much besides the point. Open or not, it's still a pain in the ass to have Macs and Windows and Linuxes all run side by side on the same network.

      I'm so tired of the pissing contests. Who cares. Computers are computers are computers.

      --
      I don't need no instructions to know how to rock!!!!
  3. Remote pair programming? by matiasp · · Score: 5, Interesting

    I am skeptical about doing pair programming remotely... From my (limited) experience you need to be physically next to the other person, and in fact the whole point is that there is one keyboard that you take turns on, not simultaneous typing.

    In fact Kent Beck (inventor of XP) was at my school recently, and I asked him what he thought about this kind of "remote pair programming" stuff. His answer (paraphrased): "Forget it. You need to be able to smell the other person's farts".

  4. Fast, clean, badass... by agent+oranje · · Score: 5, Interesting

    I just downloaded Hydra and fired it up... and I'm really, really, really impressed. The program itself is very fast and clean, with an intuitive interface. Yes, other programs are capable of multiple users editing a single file, but I don't know of any programs that allow for this with a single mouse click.

    We'll see how useful this actually is in time, but it is a neat little program.

    --
    -agent oranje.
  5. Re:oh great by sootman · · Score: 2, Interesting

    Actualy, no, because it's color-coded who typed what. :-)

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  6. of dubious value... by lobsterGun · · Score: 3, Interesting

    Colaborative programming requires much more than just a text connection. There is a great deal of information conveyed in pacing and tone of voice that just can't be easily communicated through typing.

    I'm thinking that without simultanious audio, such collaboration would be more of a hinderance than a benefit.

  7. SupraSphere by Anonymous Coward · · Score: 4, Interesting

    We have a project that has somewhat similar ambitions but with Java. Basically, we have integrated threaded messaging, revision control, group document editing, instant messaging, contact management, mailing lists, file management, and workflow into a single interface.

    Currently, it does not have "live" group document editing because of lack of perceived demand. Quite frankly, my programming style is too unstructured for it to make sense for me. However, this is a fairly simple thing to add if enough people want it. We do have asynchronous group document editing.

    The beta installer is available at http://www.suprasphere.com/sbeta. You will need java >1.4 to run it. It will download one update, and you will need to login again. We are working on using the OSGI component architecture so that modular updates can be achieved without needing to "reboot" the whole thing with every update.

    We will do an open source release as soon as we finish the revision control engine. We want to be able to use SupraSphere to accept changes and manage its collaborative development as soon as we hit 1.0. The revision control will work somewhat like CVS, but you can set update "thresholds" for certain files that will require the voting approval and/or rating of certain group members. For example, you can require that an update to a common library must receive the approval of at least 60% of the project members, with an average rating of > 4.0/5.0.

    You can also create builds with different versions of the source files, which will show up inside the interface immediately for others to test. Then, the specific files of those versions can be tagged as a cohesive update set for voting approval.

    One strength with this project is the security. Everything is encrypted and secured with triple DES sockets and zero knowledge authentication. This makes it easy to pull from many different sources into one view. This way, if you're involved with many projects at once, you can query different source databases for only the files and discussions that are pertinent to you.

    We would greatly appreciate your feedback on the beta before we go gold. There's a discussion engine with contextual highlighting (you'll see what I mean when you get in there). If there are some ideas of things you want, please let us know asap, as we're planning 1.0 source release at the end of April.

    Thank you for your consideration.

    David Thomson
    SupraSphere Founder

  8. Re:Been there, done that QWZX by Moofie · · Score: 3, Interesting

    Apple. IEEE-1394.
    Apple. ColorSync.
    Apple. QuickTime.

    There's three off the top of my head. Inventions are rare in the computer industry, yes, but Apple is the exception. And, they've gotten rid of their aversion to "not invented here", allowing them to use good technology (USB, IDE, PCI, etc.) from other sources.

    Do I like Apple? Yep. Sure do. Can't wait to be able to afford one of their machines. : )

    --
    Why yes, I AM a rocket scientist!
  9. Some things not yet mentioned by cjhuitt · · Score: 4, Interesting

    A couple of things not yet mentioned here...

    First of all, for pair-programming or whatnot, I would imagine that this would of course work best with the two programmers sitting next to each other. However, this would allow both programmers to select/enter/point out stuff to the other person without having to shuffle keyboards and mice around, which I think would be very convenient.

    Secondly, the changes that occur to the documents can be color-coded in order to show who has made what changes. I assume this is lost when the document is saved, closed, and reopened, but it does provide good feedback on who has done what to the document. I would imagine that, like pair-programming, this could be a decent learning tool, if you have mistakes that you made pointed out right away in this manner.

    Third, until the syntax coloring can be modified via preferences, this isn't as useful to me as it could be. I like to have the same syntax coloring at work, school, and home in order to make my life a lot easier - and each area has different editors for me to use. Once that can be done, I imagine this could become quite useful to me, at least.

  10. Re:Been there, done that (How Deep can we go) by peterjhill2002 · · Score: 3, Interesting

    Rendezvous uses link-local multicast, not broadcast.
    "Multicast DNS Responder (mDNSResponder), the component that listens for and responds to DNS-format query packets, sent via IP Multicast to UDP port 5353" From: http://developer.apple.com/darwin/projects/rendezv ous/

    I don't see why Rendezvous could not be enabled to use global multicast. Apple could use a GLOP address (http://www.faqs.org/rfcs/rfc2770.html) for each application that wants to have a global presence.

    Anyway, Rendezvous != Broadcast.
    Link-Local Multicast != Broadcast

  11. Re:Been there, done that QWZX by jweatherley · · Score: 3, Interesting

    It's just a media player with a codec

    Was that the most ill-informed comment on Slashdot evah? You certainly don't know much about QuickTime - come back once you've done some reading. I guess you think the Mercedes S-Class is a hunk of steel with an engine?

    --

    --
    Reverse outsourcing: it's the future
  12. complain all you want, it's cool anyway by lars-o-matic · · Score: 3, Interesting
    Many posters have made many negative comments. Fine, be like that. Off the top of my head, plus 10 minutes' research:

    Emacs does all the same stuff and much more
    Okay, granted. It's good to have choice, isn't it? Hydra looks easier to use for many people.

    MS NetMeeting
    ...looks more whiteboard/desktop-oriented than document-oriented. Good feature list; royalty-free is unexpectedly nice.

    At microsoft it appears NetMeeting is frozen back at Win98 / NT4, which is less good. I code for web in a Windows shop (Mac at home); I'll look into NetMeeting more.
    Other people will mess up my code
    ...so collaborate only with people you trust. No-one? I guess you don't need collaboration tools.
    Slashdot posts too much piddly Apple news
    I must be more in the editors' target audience than you are: I think Hydra looks very cool.

    It's already cool as a 1.0 product, it's FREE, and it may help inspire a more collaborative workflow. (For some kinds of work, for some people, some of the time.)

    Not into it? Scroll down instead of taking the time to complain. Jeez.
    --
    je ne suis pas un fou
  13. Re:Jabber was/is looking to do this by SuperBanana · · Score: 2, Interesting
    Hydra works over the internet also

    It's not the same- you don't need to know where people are, just their screen names. Same benefits as Redezvous, only it works over more than just a local LAN. It's not better for everything/everyone. Both have specific advantages, I just think a collaborative editor based off Jabber is more flexible in the end. That, again, does not make it better.

    You don't have to be "sitting at a meeting", but you do need a Mac. Of course nothing stops you from buying a Mac if you want to.

    How incredibly arrogant. Gee...except money, personal preferences, or the applications they use aren't available for the Macintosh(I'm talking specific software, not overall. Don't get even more arrogant by saying "all the good stuff is ported"). I'm a Macintosh user. Always will be; I use both Linux and MacOS X. But I'm not arrogant enough to say "well, nothing stops you from buying a mac" to the twelve people I have to work with...or anyone else for that matter.

    Not sure what using LaTeX has to do with any of this.

    Not much. I simply mentioned that collaborative writing on the project I was doing was a royal pain.

    Hydra does support LaTeX color syntaxing

    Color syntaxing is useless if your people don't know latex. I'd love to give them a copy of Lyx, but only one guy has a mac(and he's using OS 9) and the other 11 people are Windows users. LyX on windows requires Cygwin, which I spent hours trying to install myself, and got nowhere.

    and will eventually work with typesetting your documents too from what it says in the FAQ. Of course TeXShop already does that nicely on OS X.

    LyX runs on OS X. It's also free/open-source. Yawn.

    Getting edits from many users for a shared LaTeX file seems to work great with Hydra. I just had a friend share a paper I wrote on a machine across campus and I was able to find it instantly with Hydra (and Rendevous), add my LaTeX modifications and was done. A quick run of latex at the command line on his end and we were set!

    You were all set because you were only importing non-latex once. When you've got 50 pages, 12 authors, a need for constant revision, and you're the only one that knows LaTeX, there's simply no easy way to let them submit changes to you; I can't retypeset the whole damn thing every time regardless of the editor; even a chapter would take an hour or more. I can't expect them to preserve tags, either, when they go about moving/deleteing/changing big blocks of text.

    Cool tools like this that I can setup in seconds and teach ANYONE to use in a minute are why I'll never mess with Linux for desktop work again. My time is money!

    You can teach people LaTeX in a minute? Impressive. These people have enough trouble with email- you want me to explain to them how LaTeX files work? "Hmm, they must be useless", you say. I suppose their intensive knowledge about high performance driving is why they're working on the book...nahhh.

    ...and no, Word is not an acceptable alternative for publishing a 60 page book.

  14. Re:We just started using this at my school by gozar · · Score: 2, Interesting

    That's a good idea, but will this break apps that expect to be on an HFS+ drive or those Apps that require to be in /Applications?

    --
    What, me worry?
  15. Cocoa brings even more simplicity by Jimithing+DMB · · Score: 3, Interesting

    Having just studied the Cocoa text system I'd be willing to bet they simply hooked up another field editor class to project builder's text system.

    Cocoa's text system is, shall we say, different when compared with other toolkits. It exposes this amazing API that lays the fondation for text editors, word processors, desktop publishing, web browsers (Berners-Lee used cocoa's predecessors), and anything else which does any kind of text management or layout.

    The only drawback I can see to it is that a programmer who expects to do one-off writing of text to a drawing surface is really in for a surprise. However, I'm in the process of porting wxWindows to run atop of Cocoa and have found that even one-off text drawing hardly takes much effort once you realize how the classes (NSTextStorage, NSLayoutManager, and NSTextContainer) interact with each other.

  16. Re:We just started using this at my school by Anonymous Coward · · Score: 1, Interesting

    Yes and no.

    In my experience, if you NFS export a directory from an HFS+ volume, you may run into problems with files that use some of the HFS features (i.e. Carbon apps). This only happens if you copy the files locally or via AFP. Any files written to that directory via NFS will work correctly when read via NFS. This is because to work around the lack of support for HFS meta information in the NFS protocol, Apple creates additional "hidden" files and directories as necessary when copying to NFS mount points. This is a "hack" but I think it's better than them "embracing and extending" the NFS protocol, which is pretty much the only alternative.

    Any application that expects to be run from /Applications should be promptly deleted anyway. :)

  17. Re:Been there, done that by Bas_Wijnen · · Score: 2, Interesting

    In the case of programming together, you probably trust the person on the other side of the connection. And if you don't, then you do the programming as guest and you make sure guest doesn't have any sensitive files on the system. Personally I wouldn't want to code with someone I can't trust, anyway.

  18. Re:Would this work in the real world? by dalamcd · · Score: 2, Interesting
    I just used it for some 'real world' work with a friend of mine. We've been collaborating on a game for a while now, using Project Builder and CVS.

    He was making a struct that overloaded a lot of operators. He would write the declare in the struct and then move down to the actual function. I was basically just following along (I'm still learning; he's teaching) at first, but then I started writing the declarations as he did the functions. So he got to really stick to what was actually the 'important' bits without any break in workflow, trusting that I'd get the 'clean-up' done.
    This all happened in the same file--the wrong file, even ignoring the fact that it should have been done in a header and a .cpp file--because we were just testing everything out.

    After that we went on to doing some design changes in two other files, a header and a .cpp. He modified my structs in the header while I changed all the code to reflect what he was doing.

    So, yeah, it works in the real world. Obviously not for everyone, but it, for me, brought a new level of fun to coding, and also allowed me to watch someone better than me at work. And it was less work and less time for both of us. I can easily see this going places if you'd give it a nice thorough try.

    dalamcd

    --
    moer liek CELtroid prime!!@1!