Hacker News new | comments | ask | show | jobs | submit login
Google Open Sources Collaborative IDE (plus.google.com)
224 points by spoon16 on July 8, 2012 | hide | past | web | favorite | 52 comments

Bigger news?

After nearly 7 years, Google decided to shut down its Atlanta engineering efforts.

That's a relatively old shop to shut down. Anybody know how big it was?

I can't speak to the details of the decision. But what I can say is that aside from canning our site, Google treated us pretty darn well. We were all offered relocation options to other Google offices, which would come with cost of living pay bumps, paid moving expenses, etc...

And they let us open source pieces of the thing we were working on. Pretty sweet.

Some stayed with the company. But unfortunately, many of us could not make the move to another eng site.

Thanks for the reply. Externally, watching Google kill of products is hard, but it's easy to forget that they might be killing off engineers with these moves too. It's great to hear that they're trying to keep the talent and just shed the real estate.

It was around 30 engineers.

Any demo sites, videos, or screen shots?

I've just recorded a short 3 minute screencast showing an install and demo of Collide: http://www.youtube.com/watch?v=8Gq12bLbm54 - to just see what it looks like in action, jump to 1:45.

(Please note, I have no special connection to the project.. just saw it here this evening, installed it, and poked around slightly ;-))

Hey, screencast looks good.

what tool do you use for recording screencasts & for onscreen text?

The full screen text is done with Grandview: http://itunes.apple.com/us/app/grandview/id432436025?mt=12 .. lets me do full screen text "on the go" rather than have to create it all later.

The recording and (minor) editing is done with Screenflow. I do uploading to YouTube direct from that app too. Mic is a Rode Podcaster.

thanks for detailed reply :)

You sir need to install 'moom'. Acquire it now :)

Thanks, I might! I hate tools and mechanisms like this for my normal work, but for recording screencasts within 1280x720 it seems like it could speed things up a lot.

Great little screencast - thanks for that!

/me reads features...


/me reads Java 7 requirement...


You can always share emacs (or vim) under screen, tmux or that other thing Ubuntu uses on a throwaway EC2 instance.

I've been doing pair programming sessions on a Google Hangout sharing screens and I'm considering giving this setup another try.

Can you explain this in a little more detail, or have a blog post about it? I've been thinking about doing something similar (`screen` for shared coding environment, with some other thing -- skype, say-- for video chat). I'd be very interested to know details about such a set up someone else has used, and any caveats or issues (for instance, screen didn't seem to export the environment faithfully, in my limited experience).

I have done remote pair programming with screen for a long time. Tmux might be more modern, but I have never tried it.

Caveat with using screen: You must suid root the screen binary, which is not very cool.

Put the following in .screenrc:

  multiuser on
  acladd <other username>
Then, start a screen, and the other user can join it using:

  screen -x <your username>/
The slash at the end is important.

I like to add some stuff to the screenrc setting up a status bar at the bottom showing all the windows and which users are viewing which window, but I'd have to dig out my old screenrc to remember how.

Skype for audio chat, or some other audio chat (even just a phone call which is what we did a lot back in the day) is essential. Video is less important and hogs a lot of bandwidth.

Good luck, I really hope collaborative remote programming becomes more popular!

I have used GNU Screen + Skype in the past as well and it worked out quite well.

"I like to add some stuff to the screenrc setting up a status bar at the bottom showing all the windows and which users are viewing which window, but I'd have to dig out my old screenrc to remember how." Or you could use Byobu(https://launchpad.net/byobu) which is an enhancement of GNU Screen and comes with a lot of good features.

There's a demo video at http://pair.io that explains it pretty well (along with some GitHub setup magic)

We decided to have a little fun with the open sourcing and play with some cool new open source tech for a change :).

I settled on vert.x (the server container that requires Java 7) because it seemed to have a lot of affordances out of the box for client-server transport, and it's architecture made it easy to port/re-build pieces of our server stack.

But yeah, Java7 on Mac is a pita :(.

Isn't vert.x a little bit "young" for Google to use?

why sad?

... because this is what happens when I use Java-based tools that are associated with Google (i.e. Eclipse+ADT): http://i46.tinypic.com/300tyc9.png

If you're complaining about the memory usage, lower the max heap size with the arguments: -Xms512m -Xmx512m. If it's CPU usage: turn off some of those addons. You can't say Java 7 is the root cause of the CPU usage and not Eclipse.

It's meant to run on a server i think, reducing memory so it's laptop friendly probably was not a driving feature

Plus Java feels like it has a target painted on its back by malware authors these days.

I was really excited to look at the new collaborative IDE, unfortunately the requested link returned a 404 error. Bummer...

The link was pasted twice - the correct link is https://plus.google.com/109697072684132989725/posts/WwRaBNhJ...

Sorry about that, I can't edit it, hopefully an admin can fix it.

It uses Google Wave. Well I guess it's not totally dead.

Not really. "It doesn't really use any parts of Wave's collab stack...We only really use the Keyboard signal event stuff from Wave since it is a pretty great library" -Jamie Yap's comment on g+ post.

Apache Wave is alive and well. BTW, I think we can stop calling it Google Wave :-)

I run Apache Wave on my laptop just to kick the tires and I had it on a server for a while so I could ask a few people to try it with me. It is an instant install and run from either the svn or mirrored git repo, if you use the default file store. Configuring it with MongoDB as a data store takes some more effort.

How good is the UI? Is it the same it had when it was Google wave? Thanks

It is very similar, but slightly simplified. Written using GWT. The UI really looks great.

How does it compare to Cloud9 IDE or Beanstalk in terms of the collaboration functionality?



Oh, they use vert.x, cool!

Yup! Vert.x is pretty cool :).

And Wave, even cooler :-)

Temporary example, showing OpenStack Nova tree. http://collide.daviey.com/

I'm pretty excited about the new wave of IDE's in the browser: Cloud9, Eclipse Orion, and Collide. Just having them available, with my last setup, from any computer with an internet connection and a browser makes my life easier. Collide looks like it's using one of the internet's big plusses: collaboration. Kudos and keep going. EDIT: grammar

Does this have the same mechanisms for dealing with multiple concurrent edits that Google Wave? (http://www.waveprotocol.org/whitepapers/operational-transfor...)

OT: SLOCCount reported 61k lines of Java and 1k XML. That's quite a lot of code IMO.

Jaime Yap (donjaime_hn) wrote a Google+ post explaining more about the project: https://plus.google.com/u/0/107037260910017774154/posts/f2Rv...

At least it should allow one person selecting a block of text and make it also highlighted in the other one's window?

Collaborative cursors and selection highlighting broke during the open sourcing. What we released contains a ton of brand new code since we essentially had to build from scratch a one-off local server to drive the parts of the client that it made sense to release.

Code churned a bit :).

I have it on my list to get that working again soon!

Seems cool, but isn't sharing a VNC with a real editor like emacs/vi better?

How is this IDE vs the other (few?) IDEs that can be used "in the cloud?"

As it stated by Jaime Yap, one of the Collide creator here https://plus.google.com/107037260910017774154/posts/f2RvyNbk...

"The Collide .. is a technology/library release, with a basic reference implementation provided out of the box. It is not a hosted service, or any kind of product competing with existing web IDEs like Exo or Cloud9. ... These existing web-IDE services could leverage technology in the Collide stack."

So we will definitely try to integrate Collide's collaborative coding abilities into eXo's http://cloud-ide.com ASAP Hopefully it should not be as complex as cloud-ide uses pretty the same stack of things (GWT, CodeMirror etc), so stay tuned :)

Doesn't Google only open source projects when they don't want to spend any more time working on them?

no, for example http://code.google.com/p/closure-compiler/ http://code.google.com/p/guava-libraries/ and http://code.google.com/p/protobuf/ are all active open source projects at Google, and there are many more.

No. A recent example is http://code.google.com/p/vitess

The largest example is Chromium.

I suspect the largest example is Android.

Applications are open for YC Summer 2019

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