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."

35 of 376 comments (clear)

  1. Been there, done that by Khazunga · · Score: 3, Informative
    Bah! Emacs and Xemacs have been able to do this for at least the last half-decade. It works over the X network protocol. It's not buzzword compliant, like Rendezvous, but it's very very effective.

    For the sake of completeness, in Xemacs, the command is:
    M-x make-frame-on-display

    --
    If at first you don't succeed, skydiving is not for you
    1. Re:Been there, done that by dunham · · Score: 2, Informative

      I've done this too with XEmacs. Two authors working on a paper at the same time. The only issue is that you have to avoid commands that cause a prompt in the minibuffer (it will show up on both displays).

    2. Re:Been there, done that by krisp · · Score: 5, Informative

      Rendezvous, however, is unicasted, therefor noone on the lan needs to know anything about ips or networking in order to get it to work. That's really the only thing thats neet about it, the fact that two people turn on the program, and have it automagicly find the other programs running on the lan.

    3. Re:Been there, done that by Tom7 · · Score: 5, Informative

      Yes, indeed. Unfortunately, emacs shares the minibuffer between each frame, so if one user tries to start a search-and-replace, for instance, everything goes to hell. Even in this crippled state, though, I found this pretty useful. (I'm willing to bet that Hydra doesn't have the fancy features that Emacs has, anyway, so maybe they're on equal ground after all!)

    4. Re:Been there, done that by oscast · · Score: 2, Informative

      >>>"Sounds exploitable" Nah... You need to brush up on your Rendezvous / Zeroconf... Check this out: http://www.oscast.com/stories/storyReader$160

    5. Re:Been there, done that by PatJensen · · Score: 2, Informative
      krisp,

      Rendezvous is a standards-based implementation of multicast DNS. It uses multicast transport of those packets to cover a campus network. Unicast would refer to a single IP address source and destination.

      Just wanted to correct you.

      Pat

    6. Re:Been there, done that by b0r1s · · Score: 5, Informative

      Rendezvous is a standards-based implementation of multicast DNS. It uses multicast transport of those packets to cover a campus network. Unicast would refer to a single IP address source and destination.

      You're right and you're wrong.

      The application uses multicast DNS to FIND the service, but then reverts to unicast for actual USE of the service. It'd be quite silly to send all of that information all over the network.

      --
      Mooniacs for iOS and Android
  2. Wiki by arvindn · · Score: 2, Informative

    Although it is not used for programming, the wiki is an excellent method of collaborative editing. Take a look at the wikipedia. There are lots of other wikis around on the web. The great thing is that you don't need any special software, just a browser.

  3. Unix tools by benja · · Score: 2, Informative
    I've done this-- with emacs and screen. You set up a shared account on a computer and run screen on it; two or more people attach to the same screen (that's 'screen -x' for the second and following people). We had two screens running, one for editing and one for compiling. In addition to that, we've communicated through an IRC window.

    It works. One of the surprising results was that you don't actually need to 'pass the keyboard' explicitly: you wait for the other person to stop typing, a bit like you wait for someone to stop talking. If the rare case that you both start to type at the same moment, it still works out usually. The funny part is that you can see each other's typos in real time. It's a bit eery but fun to show around. :-)

    We've speculated that using this with VoIP would make it even better, but it worked out pretty well. The shared account was in Finland, by the way; I logged in from Germany and it was still fast enough for interactive typing (ping between 50ms and 100ms).

    I daresay it's not the same as face-to-face pair programming, but it's still pretty cool. And the morale is: Don't wait for Hydra! Use Unix tools today!

    (We have not yet, I should note, found a way to make this work for collaboration between an emacs and a vi person-- that's a topic for future research... :-) )

  4. Re:Rendezvous vs. TCP/IP by gozar · · Score: 4, Informative

    You can also join via an IP address, for those times that you are not on the same subnet.

    --
    What, me worry?
  5. We just started using this at my school by gozar · · Score: 5, Informative

    Our php programming class has just started using this. It is going over pretty well, and easily works with the 20 students in the class all working on the same document. The teacher can pose questions to certain people in the group, who can then type the answer directly into the document.

    This is one of those applications that can really show off what OS X can do. It's not only what's possible technology wise, but how simple it is to set up and use. It took all of 10 seconds to use Apple Remote Desktop to copy the Application to 24 machines in the room.

    --
    What, me worry?
  6. Re:Remote pair programming? by sckienle · · Score: 2, Informative
    You need to be able to smell the other person's farts

    Now there's an argument which will have people lining up to try XP.... Sometimes people should just think about what they're about to say before saying it.

    --
    I don't see things in black and white; I see the gray. Heck, I actually see in color, which makes things more difficult
  7. Jabber was/is looking to do this by SuperBanana · · Score: 2, Informative
    The Jabber guys were looking to use the Jabber protocol to make a collaborative editor, too...among other things. They're looking to have Jabber, since it's XML based, get used for much more than just text messaging.

    This Rendezvous editor looks great for "a bunch of macheads sitting at a meeting"...but Until Rendezvous is extended to more platforms and actively used, this is useless for most people- I serve as 'editor' of a large manual, and nobody else in the group of about 12 has a Mac(I use Lyx/Latex for the manual...and that makes getting edits in from people is a total PITA.)

    something Jabber based would be much cooler, since there are clients for everything...and it'll work over a WAN, the internet, etc...not just a local LAN...which means we could have a collaborative worksession, despite Everyone in the club being spread out across New england and lower canada.

    That said, I can't find any info about any editors that actually use Jabber yet, though...

    1. Re:Jabber was/is looking to do this by Wilersh · · Score: 4, Informative

      Hydra works over the internet also. 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.

      Not sure what using LaTeX has to do with any of this. Hydra does support LaTeX color syntaxing 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. 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!

      I may not be understanding why Jabber "may" be so great for this type of work...someday in the future, but seems that Hydra is doing it today, and will only get better in future.

      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!

      Wilersh

  8. Re:Been there, done that QWZX by oscast · · Score: 3, Informative

    This guy is just trying to bait somebody so that he can scream... "nuh uhh... Apple the OS from Xerox" Meanwhile, he doesn't realize that Xerox was compensated for the code Apple used, and that Apple totally re-invented the technology that Xerox had in the labs. He makes it sound like Apple had an instant GUI once the transaction was made. (For those that don't know, the IP that was purchased from Xerox amounted to little more than a window with a few icons in it. The windows didn't scale (at least not on the fly, they didn't overlap, there was no desktop, there was no trash can, there wasn't even drop down menus! Apple invented all that! Regardless, this guy is implying that Apple hasn't invented anything, which simply isn't true.

  9. Re:I don't mean to be a cheerleader. But, by rifter · · Score: 3, Informative

    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.

    Actually, to be fair, gnu.org believes that the APSL is Open Source, just not Free Software. But then, so are a lot of other licenses for programs most of us would have no problems using and working on.

    As for your contention about Mac, Windows, and unix being difficult to make work together, it really depends. For pretty much ages these have all supported various protocols which would allow collaboration, mostly tcp ones we know and love (ftp, http, etc). The native formats are at issue, but there has always been software available for interoperability. Now I understand Mac OS X comes with SAMBA, as does Linux. So whereas I understand nfs and afs on Windows is not what one would like, the other two in teh mix have come to the plate with software that lets them work with Windows.

  10. Re:Version control? Rollback and undo? by Anonymous Coward · · Score: 1, Informative

    Here's an old paper on a way to handle rollback and undo: A Framework for Undoing Actions in Collaborative Systems
    It's been tried with a group-modified version of Emacs (DistEdit).

  11. Re:Nifty! by .@. · · Score: 2, Informative

    1) Reduce your font size

    2) I use a TiBook most of the time, and I don't need a page that big

    3) Even when I'm working on my desktop (2048x1536), I don't run huge browser windows

    4) Many browsers interpret stylesheets and tables slightly differently, and getting that layout to look correct in all of them is nigh impossible

    5) Fixed it, so you can stop complaining.

    --
    .@.
  12. Re:Been there, done that QWZX by Moofie · · Score: 2, Informative

    There is more to QuickTime than Sorensen. And Apple was the first company to include video playback that's as easy to use as editing a text doc.

    A /LOT/ of development effort went into QuickTime (and QuickTime VR etc.)

    --
    Why yes, I AM a rocket scientist!
  13. Re:I don't mean to be a cheerleader. But, by rufo · · Score: 4, Informative

    Well, the twist with Rendezvous and iChat is that you can sit down, open your laptop, have your Mac automatically connect to the nearest wireless network and automatically discover ever other iChat client on the network. No IP addresses, no entry of nicknames; it automatically discovers everybody else on the local network. Not only that, but it's rediculously easy to do the same thing yourself, or anything you like using it; Apple's libraries are supposed to be top notch from what I hear. I'm rather surprised nobody's written an iChat client for Windows/*NIX yet, as it should be trivial to use Apple's code and write a small program that would handle this.

    None of this is incredibly new or even groundbreaking in itself. The main feature is that it's so simple and easy to use that you can put it together in combinations that nobody would have even thought of putting them together, or that they wouldn't have put in the effort to get it to work. I have a Epson inkjet that I share from one computer to my main one. I was impressed to click the checkbox on the sharing computer in the other room, sit down in front of my main computer and begin printing without ever touching a configuration setting anywhere in the OS. Like I said, nothing groundbreaking, but it makes everything that much easier to use, and gives me one less thing to worry about. Which I appreciate. :) /rant

    --
    My English teacher once told me that two positives don't make a negative. Two words for her: Yeah, right.
  14. Re:Been there, done that QWZX by Ponty · · Score: 3, Informative

    Dude, you're wrong all over the place.

    FireWire: http://www.pcmag.com/article2/0,4149,848866,00.asp

    ColorSync: Implementation is half the battle, but they didn't invent color matching. They made it work transparently.

    QuickTime: QuickTime is more than just a codec. It's a time-based media framework that is unlike anything that came before it. Sorenson is just a piece of the puzzle, like M-JPEG and Cinepac.

    How about network autodiscovery and physical networks that anyone could use? (AppleTalk and LocalTalk).

    Or simple and obvious multiple monitors? Plug another video card in and get a bigger desktop. In 1987!

    Perhaps you're blinded by the hatred you have for something that is pretty trivial in the scheme of things.

  15. Re:Rendezvous vs. TCP/IP by .@. · · Score: 4, Informative
    Of course, this also means the two programmers have to be on the same LAN segment. Rendezvous doesn't route.
    However, it is possible to build a Rendezvous proxy. Given that, it should be fairly easy to set one up to listen for Rendezvous apps on one network, and proxy-advertise them to another. This would be easy to do with the mDNSClientPosix and mDNSProxyResponderPosix example code available from Apple.
    --
    .@.
  16. Innovation by nullard · · Score: 5, Informative
    IEEE-1394 -- In a consortium.
    ColorSync -- no. Color compensation has been done, many times. Apple just built it into a personal computer.
    QuickTime -- No. Apple licensed the codec from Sorenson.

    There's three off the top of my head. Inventions are rare in the computer industry, yes, but Apple is the exception.

    That's three out of your ass. Care to try again? Apple likes to portray themselves as "oh-so-innovative", but they haven't invented anything. They *might* be able to take credit for some GUI elements. Of course, that was over 20 years ago, and they haven't done jack since.


    Apple invented Firewire. They may have invited industry input, but it was their initiative.

    Apple invented ColorSync. Similar things may have been done before but that is irrelevant. Did Honda not invent the Insight? I mean the Model-T came first and they are both cars.

    Finally, repeat after me: "QuickTime is not a codec." QuickTime is a system for dealing with time-based data. It can store text, images, video, etc. It can even store objects with motion information. It can contain hyperlinks and even SWF content. Sorrenson is one of many codecs available for use in storing movie data in the QuickTime format.

    Besides these three there are things like HyperCard, QuickDraw, etc. Both of those were many years ahead of their time. Clipping wasn't done until QuickDraw. Look at HyperCard then look at Director and Flash. Look at Revolution. Look at the web itself.

    Lets have another. Looc at MacTV. Now look at all these "media PCs" being merketted as innovative. The MacTV is many years older than any of these. Give gredit where credit is due. There is nothing substantially different (given the technology of the time) between these media PCs and the MacTV.

    Also, don't forget the innovations in the Newton and the Pippen. Apple has innovated more than most modern hardware or software manufacturers with a fraction of the income.
    --


    t'nera semordnilap
  17. Re:complain all you want, it's cool anyway by lars-o-matic · · Score: 2, Informative

    woops -- re: MS NetMeeting being frozen at NT4: it's available in Win2000 after all.

    --
    je ne suis pas un fou
  18. Re:Rendezvous vs. TCP/IP by djcatnip · · Score: 3, Informative

    Of course, this also means the two programmers have to be on the same LAN segment. Rendezvous doesn't route.

    Actually there's a "connect via Internet" option where you can connect to anyone with an IP address and the right port open. I was very skeptical at first, but it works beautifully. We've been testing it out all morning. Unfortunately, I'm seeing what appears to be a filesize limit... I tried to open up a 1000+ line file, and I didn't get the entire file open... very strange, and sad... I hope they fix it soon.

    --
    I make these: http://beatseqr.com
  19. Re:rendezvous? by porkchop_d_clown · · Score: 2, Informative

    Rendezvous basically allows all "nearby" copies of Hydra to find each other without any intervention from the users. So, it saves a config step and, especially with wireless networking, becomes a very convenient way to set up networks in general.

    If you're really confused about what Rendezvous is, try substituting the words "Universal Plug and Play" or "Zero-conf networking" for Rendezvous and see if it helps...

  20. Re:Been there, done that QWZX by 0x0d0a · · Score: 2, Informative

    No, there were multiple wheel mouse vendors that predated them. MS was the first one to popularize the wheel mouse, and to get it working well with lots of apps.

  21. Re:Been there, done that QWZX by loosifer · · Score: 2, Informative
    Can you name any modern computer company that INVENTED, not just built off of, any technology?

    Yeah, tons.

    • Sun: NFS
    • Sun: NIS/NIS+
    • Sun: NSS/PAM
    • Intel and others: USB
    • AMD and others: Hypertransport
    • Sun: Java
    Yeah, there's a lot of Sun in there, because I know their stuff better, but come off it. Companies invent stuff all the time, it just doesn't always turn into a viable product, and it doesn't often show up as a unique, identifiable thing.

    Hell, everything in linux was invented by someone; the free software people sure as hell didn't think of it. ;)

  22. Re:Moderators on drugs? by raulmazda · · Score: 2, Informative

    Speaking as the Debian maintainer for screen, I can tell you that multiple displays showing the same window works fine in any recent version (3.9.x).

  23. Re:Done all the time with version control tools. by Tokerat · · Score: 2, Informative


    This is a one-up to such a system. This allows people to do the editing at the same time, and one person's edits affect the other's document and vice versa. I think this might be a nice addition to a CVS system where is someone has a file checked out, you can open it "with" them and do work, and this pretty much resolves any conflict issues CVS needs to deal with.

    --
    CAn'T CompreHend SARcaSm?
  24. Mac only? by Tokerat · · Score: 2, Informative


    I've seen alot of negative comments here about Hydra being Mac only. There is talk of making Hydra open source, perhaps you should contact the Hydra team and express intrest in porting Hydra to your favorite OS? If they do make it open source it's surely going to be because of intrest in the project and, as stated on their page, it surely will be a large undertaking due to the fact that it's written entirely in Objective C and Cocca. Unfortunately this means a complete re-write will be needed, but you didn't have anything to do this weekend, did you? ;-)

    Also, if you want to get active about making Rendezvous a reality on more that just the Mac (which is what Apple and Zeroconf are hoping for), Zeroconf.org is a good place to start, and there is a SourceForge project devoted to Zeroconf on Unix and Linux as well.

    --
    CAn'T CompreHend SARcaSm?
  25. Re:Rendezvous vs. TCP/IP by djcatnip · · Score: 2, Informative

    Unfortunately, I'm seeing what appears to be a filesize limit... I tried to open up a 1000+ line file, and I didn't get the entire file open

    Ah, maybe not.. I may have been experiencing some other phenomenon that caused that... possibly a VPN issue unreleated to this... oppologies to the authors of this software... it does not appear to be malfunctioning.

    --
    I make these: http://beatseqr.com
  26. Re:Hot Damn by jcr · · Score: 2, Informative

    Oh yeah another thing - who the hell programs in Objective C?

    Only the people who know the difference..

    why doesn't Cocoa offer Java and C++ direct integration

    There's a tremendous impedance mismatch between Cocoa and C++. It's quite feasible for Obj-C apps to use legacy C++ code, but writing cocoa apps in C++ would be rather horrific.

    Have a look at this link if you want to read about why Obj-C beats C++.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  27. Re:Hot Damn by bnenning · · Score: 2, Informative
    but geez why doesn't Cocoa offer Java and C++ direct integration


    Because C++ is not sufficiently dynamic. The Cocoa runtime needs to invoke dynamically determined methods on arbitrary objects. Objective C does this very easily, Java can do it with a bit of coaxing, C++ not at all.

    --
    How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  28. Not just rendezvous by geniusj · · Score: 3, Informative

    I haven't read *every* comment to see if this was already mentioned. But I saw some people disappointed that it 'only supported rendezvous' .. Please note that this application allows you to just join a session by specifying a host/ip as well, so it's not JUST rendezvous enabled.

    Cheers,
    -JD-