

Eating Our Own Dog Food: Behind the Scenes at Cloud9 - lennartcl
https://c9.io/blog/always-eat-your-own-dogfood/

======
aceperry
I've noticed a huge improvement over time and am really impressed with how
well it works now. I forget when I first used c9, but it was more of a novelty
than a productive tool. I'm also really enjoying the way the terminal works,
feels integrated.

I've never tried the nested stuff, or would even think of it, but it sounds
pretty cool. Hope to see more improvements and features in the future.

------
roninb
I only ever used Cloud9 to try to help a few friends get into programming
(which worked wonders since we could all work on the same repos together [my
way of teaching them git before any programming was stupid and got dangerously
close to turning them off to programming] and I could correct them with commit
messages as well as inline comments) and didn't know that you could actually
get a preview after running your program[0]. I'm pretty sure this is going to
be all I use for the next few weeks until classes start back up.

[0] [http://i.imgur.com/vDvYAvo.png](http://i.imgur.com/vDvYAvo.png)

------
bigtunacan
I've used Cloud9 mostly as a way to collaborate with interactively with novice
developers. I think it is a solid tool; in many businesses however using an
externally cloud hosted environment for source code isn't an option. Have you
ever considered a licensing package for customer based installs, similar to
how Atlassian licenses Stash as an alternative to BitBucket?

------
sebpark
I've been watching too much dota. I just assumed this was about Cloud9.gg ,
the eSports team haha

~~~
moistgorilla
Who do you think sponsors them?

~~~
mavsman
Cloud9 IDE was founded a few years before Cloud9.gg and the two have no
affiliation (or sponsorships)

~~~
moistgorilla
Oh wow, I could have sworn they were related. (and I learned about cloud9 -the
ide- because of them)

------
mark_l_watson
I hope I am not being rude, but could someone compare Cloud9 with nitrous.io?
I am a light user of pro nitrous.io (a few hours per week) and like always
having Haskell, Clojure, my most recent project repos cloned, etc.

Is it worth checking out Cloud9? Perhaps not a fair question, but I am
interested in hearing from people who have used both. I enjoyed Google's
internal browser based IDE Cider, and think that web based development has a
strong future.

------
echohtp
ive moved my entire development environment to cloud9 on a chromebook and i
couldnt be happier with the performance and lack of overhead needed on my
part. thanks!

~~~
mavsman
Chromebook is actually what got me started as well :) Now it's also nice to be
able to jump from Chromebook to Macbook to work computer if needed. Glad
you're enjoying it!

Full disclosure: I am part of the C9 team

------
JorgeGT
Your IDE looks darker than the default flat white theme? I like the flat theme
a lot but can't stand the brightness, I hope you find some time to make a dark
version of the flat theme! That said, yours is by far the best "web IDE" I've
tried so far, congrats! =)

~~~
lennartcl
You have good eyes :) The screenshot uses the "legacy" white theme that didn't
have the flat look yet. It did have a few more dark colors at the edges, which
is why it was used for this screenshot. We plan to work with our designer on
darker versions of the flat light theme. Until we release those, I can
recommend using something like f.lux
([https://justgetflux.com/](https://justgetflux.com/)) to make it nicer to
work with bright web sites and applications in low-light conditions.

~~~
JorgeGT
Oh no, I have terrible eyes, that's the point! ;) I've been a happy user of
f.lux for a long time! =)

------
ohitsdom
Why is that background image 4000 x 3000?!

[https://c9.io/blog/content/images/2015/07/Chatuchak_Weekend_...](https://c9.io/blog/content/images/2015/07/Chatuchak_Weekend_Market_P1100759.JPG)

~~~
brianwawok
Hum 5MB background image of dogfood for an article about an IDE.

Thinking maybe the tech team did not design this post ;)

~~~
lennartcl
In this case the tech team recently switched to Ghost for blogging and didn't
realize that it doesn't automatically scale images when you upload them :)

~~~
brianwawok
As someone who is trying out Ghost, thanks for the heads up ;)

------
hasch
400,000 lines of original source code sound really impressive! are you sure
about that? Does sloccount say that or some wc -l ?

~~~
williamstein
[edit] I think it sounds somewhat unimpressive, as shorter code is often
better code. Anyway it is true and I'm curious why so much code is needed.
Here's the output using cloc on their core github repo (so this _does_
include, e.g., the ace editor):

Javascript: files: 1125, blank lines: 58790, comments: 114390, code: 330409.

~~~
lennartcl
We did a massive rewrite last year ([https://c9.io/blog/announcing-the-all-
new-cloud9-development...](https://c9.io/blog/announcing-the-all-new-
cloud9-development-environment/)). We adopted a new plugin system and started
with a completely new, clean code base. We ported the old plugins one by one,
optimizing them and fitting them into the new system, and actually throwing
out quite a few of them entirely. So the code is actually rather clean. But
note that this figure includes code for a lot of backend systems that are part
of the Cloud9 service infrastructure, such as backup workers and container
management code, as well as code for partners and plugins that are not exposed
to the normal user base.

~~~
williamstein
Many thanks for the clarification and discussion of the structure of your code
base.

------
callumjones
Great article, it's good to hear about IDE companies dogfooding and using that
to improve their product.

I don't want to call you out but in
[https://c9.io/blog/content/images/2015/07/recursion.png](https://c9.io/blog/content/images/2015/07/recursion.png)
you're really only running C9 in C9 - the rest have the same URL.

~~~
lennartcl
The URL is very similar but notice how the subdomain differs. The outer Cloud9
runs on (ide.)cloud9-lennartcl.c9.io. It responds on that URL and on
*.cloud9-lennartcl.c9.io. That's where the inner Cloud9 runs:
(ide.)cloud9-lennartcl.cloud9-lennartcl.c9.io. Visit that URL and you actually
go through 3 proxies: the production proxy of c9.io and those of two inner
instances. And note that the user names look the same in this case in this
case, but that's really just for symmetry;
ide.cloud9-2-lennartcl-2.cloud9-lennartcl.c9.io would have looked too awkward
:) Each instance can have its own database with user names and workspaces. And
each workspace runs in its own container.

