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

26 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. 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. 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 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.
  4. Typo by Repugnant_Shit · · Score: 5, Funny

    Future improvements will include support for RTF

    Someone left off the "M" at the end.

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

    1. Re:Remote pair programming? by Zoop · · Score: 4, Funny

      You need to be able to smell the other person's farts

      That is the most convincing argument against XP I've yet heard.

    2. Re:Remote pair programming? by SuperBanana · · Score: 5, Insightful
      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.

      Think of it more like...'live' CVS. Think of it also not in terms of just programming, but other text editing- like, say, a book. According to the Jabber guys, this sort of stuff is incredibly handy for legal documents, which are heavily co-authored.

      If you've got six guys in a meeting room, six laptops, and one doc, you can quickly say "okay, bob, edit section 6. Jane, section 3" etc..nobody needs to worry about re-syncing copies of the doc, or CVS servers, or any of that...and people can even watch as the guy edits his particular section. Maybe they notice something amiss, and mention it- "okay, can you rewrite that phrase?" While Bob continues writing, Jane corrects the one phrase...etc. Each team member can work with any number of other people(including zero, ie, on their own.)

      While it's fun to joke about people trading insults and deleteing other's writing, that's moot- if you don't have good team dynamics and people are hostile/uncooperative/ego-tripping, that's a people problem, not a technology problem. You can't solve people problems with technology. Well, you can, but it's often far more time-consuming. What takes a sysadmin an hour or two(configure proxy to block porno sites) can often be solved by a 1 minute phone call to HR("Bob is swamping the line browsing porno" HR to Bob: "Surf porn sites again, and you're fired.")

  6. 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!)

  7. 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.
  8. 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?
  9. 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?
  10. what a nightmare by drxenos · · Score: 4, Insightful

    Imagine doing some extreme programming with this, with one person writing code and another following the first and correcting their mistakes & making optimizations simultaneously? Oh, great, not only would the moron be breathing down my neck while I was typing, he'd be changing my code to! What a recipe for disaster, even when ignoring my revulsion to the idiocy that is Extreme Programming. Someone should not be making changes to your code while you are writing it. That's what a peer-review is for: when you have time to study at it in its entirely and understand the whole scope and logic of it. Second-guessing what you "think" he meant in a code fragment is a piece-o-crap wait to be written. And premature optimization has been proven to be very, very bad time and again! *shudder*

    --


    Anonymous Cowards suck.
  11. This obviously isn't needed.... by neurostar · · Score: 4, Funny

    since vi doesn't have it!

    :-P

  12. Re:Been there, done that by rifter · · Score: 5, Funny

    More to the point, what other editor *needs* a psychiatrist feature? Ok, maybe Word, but not if you can disable the "damned paperclip."

  13. 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
  14. Rendezvous by rjamestaylor · · Score: 4, Funny
    If you start editing my code on the fly after I code it you'll earn a Rendezvous with my FIST!

    Sorry, that was my first thought...

    --
    -- @rjamestaylor on Ello
  15. Rendezvous brings some simplicity by MyNameIsFred · · Score: 4, Insightful
    Rendezvous is not essential to this process. What it does is make the process easier. For example, over standard TCP/IP processes you would need to know the other person's IP addres before making the connection. Rendezvous eliminates this step, slightly simplifiying the process.

    To use an analogy, just about everything done via USB can be done via legacy ports. However, USB makes it easier. That's what rendezvous brings to this process.

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

  17. Re:Been there, done that by eyeball · · Score: 4, Funny

    Ok, so you pop an Xemacs frame up on my x server. What prevents me from doing 'esc-! cat ~/.ssh/*', or something more nefarious?

    I wish I had a nickle every time someone said "emacs can do that."

    --

    _______
    2B1ASK1
  18. Re:Been there, done that by jmilne · · Score: 4, Insightful

    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.

    I think you're confusing multicast with broadcast (Which, admittedly, a number of dumb switches tends to do as well. And of course, a hubbed network treats them the same as well). Multicast traffic only goes to those hosts that have actually joined the multicast group. In this particular case, that'd be anyone who's collaborating on a given editing process. Multicast would be a rather good way to go for this sort of project. In fact, a couple of multicast tools (wb for "whiteboard", nt for text editing) were created for just that purpose. And the great thing about doing something that way is that you could be working on a file in California, I could be working on it in Virginia, and twenty other people could be working on it elsewhere, and I'm only sending out a single copy of my packets, and only to the twenty-one people who actually are working on it as well.

    If they're not using multicast for Hydra, it's a shame, because multicast would really be a great way to perform this type of operation.

  19. Heheh by fredrikj · · Score: 5, Funny

    Can you imagine the endless possibilities of fun in this? Just imagine two developers disagreeing about a piece of text, then fighting for minutes, one guy typing frenetically to outperform the other guy's continuous backspacing :)

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

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

  22. 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.
    --
    .@.
  23. 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