14 Mar 2012

We have a new website & our blog is moving...

We are pleased to announce the relaunch of our website & blog, with a brand new design and fresh content. We will be talking about our new features, the plans for the future, related tech news and much more. The blog itself has moved so this will be our last post here.

Check out the new blog
we hope you like what you see! If you want to stay in touch you can find us on twitter, facebook and of course our new website, www.c9.io.

Related URLs:

New Website: www.c9.io
New Blog: blog.c9.io
New RSS feed: http://c9.io/site/feed/

22 Feb 2012

The Cloud9 Status Bar

Ah the beloved status bar. What would you do without it? You would never know which column your cursor is on, your tools would be all over the place.

Well we had the exact same thoughts (didn't see that coming did you?). Today we are happy to announce the new Cloud9 status bar!

We've taken a slightly untraditional - but sexier - approach by tucking it at the bottom right corner of the editor. The background is transparent initially but quickly fades in on hover. Expand the bar to show buttons for quick access to editor tools and preferences.

The-cloud9-status-bar
The-cloud9-status-bar-1

In Vim mode it will display when you're in INS mode. It will also show how many characters you've selected.

The-cloud9-status-bar-2

This is another step in a series of IDE upgrades with the aim of simplifying the experience and giving you relevant information.

As always let us know what you think! Cheers and happy coding!

16 Feb 2012

Edit in Style with Colorpicker

While working on Cloud9 IDE, we want to help your coding experience reach higher levels. We're always challenging the way we develop by finding more interactive and productive ways to generate code for you.

That's why today we're introducing the first in a series of tools to improve the way you interact with Cloud9 IDE: the Color Picker.

To see it in action, hover your mouse pointer over a CSS-compatible color definition in your CSS, SVG, HTML, or APF Skin files. These declarations can be words (red, white), RGBA values (rgba(175, 3, 124, .6), or hex values (#f00f00).

Check out this video we made to see how it works:

 

If you have more awesome ideas for interactive tools that we could add to Cloud9 IDE, tell us about it in a comment to this blog post!

Happy coding!

 

24 Jan 2012

Windows Azure on Cloud9

At Cloud9 we’ve been working hard to give your Node.js applications more opportunity to thrive. Cloud9 already offers the best environment for importing, developing and testing your Node.js applications. Now you can take those applications and give them a place to scale to any user demand:

Today we are very happy to announce the availability of Windows Azure on Cloud9!

Windows Azure is the industry leader in both performance and availability, giving your apps a proper foundation for the future. And Cloud9 offers a ton of essential Windows Azure options for your application: number of compute instances, operating system, data center location, whether to deploy to staging or production, and VM configuration with CPU and RAM options. Whew!

To get started, open up a project on http://c9.io and expand the "Deploy" panel.

As your application is deployed, Azure is working hard to build your VM from scratch. Typical from-scratch deployments take 8-10 minutes. From there, future deployment updates work their magic in about 5 minutes. When Azure is done with the heavy lifting, you’ll get a fancy “Deploy succeeded” message. Click the link to open your deployed application, or click on the target in the deploy panel to get more information.

Happy coding, and happy deploying!

 

 

 

23 Jan 2012

Our Commitment to the Node.js Community

It was 3 p.m. on November 8th, 2009. In a room filled with people at JSConf Europe, Ryan Dahl showed off his pet project for the first time to a sizable audience. Node.js, he called it. He had been hacking on it a little while. It was a pretty bold project. “Hey,” he told his audience, “remember what they taught you at school? Yeah, forget all you learned about how to structure programs. We’re going to rethink everything.” Indeed, Node.js required a significantly different way of programming. Different, but with big pay-offs. Node.js attacked one of the core problems in computer science -- concurrency -- in a way that took people by surprise.

There was an undeniable buzz at JSConf that year. A sense that people had witnessed something that could be huge. Sure, it wasn't there yet, but it had potential. Big potential.

At the time, Ajax.org -- the company behind Cloud9 IDE -- still made its money with consultancy. At the end of 2009, we were developing a highly-concurrent server system in Erlang. After three months of painful writing, we got the basics working. It was so hard to read the code that we never managed to stabilize it. We never felt we were in control. In a moment of anger in early 2010, we threw the Erlang server away and wrote a replacement using Node.js in two weeks.

Two weeks.

Finally, we could write in a language we loved, create readable code and build a highly concurrent server in a surprisingly short period of time. As it turned out, Ryan really was on to something.

When we decided to build Cloud9 IDE, it was only natural to use Node.js. By using Node.js for Cloud9, we could use a single language front to back. We absolutely love Node.js. However, we also recognize it’s still a young platform. A platform that, if nurtured properly, would easily become the official runtime of the cloud. But who will nurture it?

Nodejs

Plenty of folks have recognized Node’s potential and invested heavily in it. Joyent hired Ryan Dahl to work on node.js full-time and helped grow the community by organizing seminars and rebuilding the nodejs.org website. Mozilla has always been the driving force in the development of JavaScript, the core of Node.js -- it’s where JavaScript originates. In addition, Mozilla hosts MDN, the best resource for front-end development technologies including extensive JavaScript documentation.

As a company that lives and breathes Node, we also feel it’s our duty to contribute to the Node community in any way we can. A few months ago, we asked Tim Caswell, a prominent Node.js community member, well known for his howtonode.org blog, to join us full-time in our efforts to further build the Node community and make it more accessible to new members.

Today, we’re happy to announce a number of new initiatives that we believe will help shape Node.js into the mainstream platform of the future.

  1. The introduction of Nodebits.org, the new community blog edited by Tim, featuring high-quality Node.js tutorials;
  2. The introduction of Nodemanual.org, the official Node manual site;
  3. The introduction of Node.js & Cloud9 IDE training for everyone from individual developers to large enterprises.

Node.js News and Tutorials

Beside howtonode, there is no frequently updated community website. No reliable source for news and in-depth articles about Node.js. So, today we officially launch Nodebits.org. Nodebits is a community blog, edited by Tim, which includes high-quality articles and tutorials about Node.js applications and libraries. The code examples presented can be tested and played with by loading them into Cloud9 with just a single click. Nothing to download and no compilation required.

Node.js Manuals and Documentation

There is no single source of comprehensive Node.js documentation, and most of the documentation that is available is incomplete or of insufficient quality.

We have completely reworked many different sources of documentation into a concise and consistent website that offers a Node.js and Javascript reference guide and manual, based on work from Joyent and Mozilla. From now on, NodeManual.org is your destination to learn about Node.js. And, like any good community docs, Nodemanual.org is fully open. We encourage everyone in the Node community help us continue to improve the site, through your own contributions. Fork nodemanual on GitHub and get started on helping us build a better Node.js.

Training

There is no place where you can get Node.js training and support. As part of our training and support program we are now offering Node.js training. You will get high quality training from Node.js specialists in a three-day course. This course will teach you not only how to use Node.js, but how to become a better programmer. Sign up now at training.c9.io.

Ruben Daniels
Cloud9 IDE, Inc. CEO

23 Jan 2012

Run your projects on Node 0.6

Many of you have been asking for this, and now it's here! Cloud9 can now run and debug NodeJS v0.6 code!

When we landed our stability and black panel release, we revamped the process of running and debugging. The new "Run" panel includes a runtime dropdown to select which version of Node you want to run your project with. Now that the 0.6 branch of NodeJS is more than stable (including a very important recent performance fix), that option is now available to you!

You can change the version for the project you are currently running in the "Run" panel:

Node_chat_-_cloud9-3

You can explicitly select the version, or set it to "Auto" if you want Cloud9 IDE to select the version based on your package.json file. If you select "Default" it will pick up the version you have selected in your preferences:

Node_chat_-_cloud9-2

These additions lay the framework for a more personalized Cloud9 experience, allowing you to run a wider range of projects and replicate your production environment on Cloud9. We hope you get a lot of use out of this new feature, and as always, let us know what you think!

Happy coding!

12 Jan 2012

Come over to the Dark Side

Software should be designed to help you, not to get in your way. As a developer, an IDE is one of the most important pieces of software you use -- sometimes for several hours every day. As an integral part of your working day, you deserve an interface that is as clean and uncluttered as possible. 

We've made it our mission to hold Cloud9 IDE to these standards, and so far, we feel we've done a pretty good job avoiding visual clutter. Yet, we think we can do even better.

Screenshot-1

 

Therefore, today we launch what we, internally, have been referring to as "the black panel UI". It is a technical, visual as well as a user experience refresh focusing on:

  • Configurability: Many panels now have configuration options so you can tweak them to your liking.
  • Context: The UI now responds better to what you are doing, dramatically reducing the amount of buttons and panels you see at any given time.
  • Consistency: It's the black panel UI; this dark theme can be found throughout the UI.
  • Stability: Architecturally we have made many changes that make the IDE more stable.
  • State preservation: We now do a better job in preserving the state of the UI between editing sessions.

Here's an overview of some of the specific changes we have made:

Run panel

Screenshot-4

We have added an additional panel to make it easier to manage run and debug configurations. By default, a push of the run button will now run the current file, unless explicitly told otherwise. This should make it easier for beginning users to run and debug their node.js programs.

Panel preferences

Screenshot-3

The console now has a preference menu, enabling you to choose whether you would like the console to pop up automatically when running your program or not. Similarly, the file manager and run panel have preference menus to adjust them to your needs.

Debugging UI

(download)

Debug panels now only appear when actually debugging your program. The debug buttons and panels are now more configurable and can be reordered by dragging. In addition, the step into, step over, etc. debug buttons now only become active when at a break point so they will not distract you unnecessarily.

State management

Cloud9 IDE is a web application. One of the cool things about a web app is that you can close it at any time, reopen it on any other computer and continue working where you left off. Today's new update improves this state management between sessions. Positions in files, open tabs, state of the file tree, breakpoints etc. are all preserved between application loads, putting you right back where you were when you last opened your project.

Enough talk already, clear out your browser cache and give it a whirl!

6 Jan 2012

Stability First

2011 was the year of the Cloud IDE --- the year we showed building an IDE in the browser was not just a silly dream, but could actually be realized. 2012 will be the year Cloud9 IDE outgrows its "impressive technical achievement" status and will become the mature, reliable and feature-rich application you can trust with your code; always available, anywhere, anytime; the IDE you want to use, and feel comfortable to use full time, all the time. Not because its "pretty good, you know, for a web app", but because it will be the best IDE bar none.

So, how are we going to do that?

During 2011 we focussed on building great features to show what an IDE in the browser could be. We think we did a good job developing opinionated software and we will continue to do so in 2012. To Cloud9 IDE, we don't add features just because another IDE offers them. We develop our features carefully and iteratively and being a web app makes that very easy. We don't clutter the UI with dozens of little panels and buttons. We don't have three-level deep context menus. And we certainly don't build the bland user interfaces you typically see. We respect our users enough to invest in design and user experience -- to build something that is designed for programmers, but doesn't necessarily look like it's been designed by programmers.

Now that we have a solid set of features, it is time to extend our engineering efforts to the operation of Cloud9 IDE as a cloud platform. We have been planning this for the past few months, but the future caught up with us. During the past days we had some down time. You expect your IDE to be available always, without exception. You expect it to be available even when you are not online yourself. Therefore, we're doubling down on our stability, availability and operation efforts and are aiming for 99.99% uptime by the end of Q1 of 2012 and 99.999% by the end of the year.

Stability is now our first priority

An IDE is not the type of application where a "Fail Whale" is considered amusing, and we're fully aware of that. Our downtime was a result of some software and hardware failures, but in the end that doesn't matter. Failures are part of life and, as we speak, we are reworking our back-end systems to withstand them. We should be able to unleash the Chaos Monkey without breaking a sweat. If one of our servers crashes -- you shouldn't notice. If the power supply breaks down for our server rack -- you shouldn't notice. When somebody drops a bomb on our datacenter -- you shouldn't notice. We dare even say, when your ISP kills your Internet connection -- you shouldn't notice -- an IDE should also work without an Internet connection available.

Chaosmonkey

We take this very seriously, and we ask you to bear with us while we work out our improved system. You should start noticing the difference very soon.

In addition to operations, we are also working on improving the stability of other parts our system. Here's what we're working on to turn Cloud9 IDE into the most reliable application you have ever used.

Operations

We are iteratively re-architecting our system so that if any part of the service goes down, another takes over -- immediately. Of course, we already make off-site back-ups of all data. However, in case of a harddrive failure, another copy of the data should be available to the user within seconds and no longer. After all, this is the promise of cloud computing: the availability of not a single machine, but a whole cloud of machines that, to the user, appears as a single super reliable system.

So, when one of our application servers goes down, another takes over. When a database server goes down, another takes over. We will monitor the operation of the system closely, to be able to predict likely problems and prevent them.

Implementing such an architecture is our top priority.

Gradual roll-outs

Rather than rolling out a new feature to everybody, we now have a system to roll out a feature to only a small group of users for testing. We can verify if it works correctly before rolling it out to all users. You will be able to choose if you want to be in this testing group or not, and switch to the stable build at any time in case things break.

Support

For a few months now we have a dedicated support person: Daniela. She constantly monitors various support channels. More recently Detmar has joined her to help out with support matters. We have centralized our support to Zendesk. If you have any kind of problem with our product, you can report it there and we will respond quickly.

Our support team quickly aggregates, verifies and communicates user problems to our developers, who can then create fixes much more quickly. This has had an amazing effect on both stability and user satisfaction already.

Testing

Testing of software is very important and we've always written unit tests. However, now we're investing in continuous integration, automatically running all those test and notifying developers that break tests. We are also working to integrate these best practices into the IDE itself, so that you don't only profit from the result (a more stable product), but can apply the same practices during your own software development.

In addition, we are looking for a full-time tester. As you can tell, we are serious about stability and a great tester would help us to improve the stability of the product even more. Therefore, if you are a tester, or know somebody who's good at software testing, contact us. It would be great if you could help us out realizing our stability goals.

Error reports

Now, whenever an error occurs in Cloud9 IDE with one of our users, e.g. a JavaScript error, a bunch of our developers are receiving an e-mail with details about the error. Because Cloud9 IDE is a web app, we can do this easily. Thanks to this mailing of errors, dozens of little issues have been resolved that occured only in certain cases, using certain browsers, using certain operating systems, or certain language settings. This type of automated feedback has been extremely helpful for us to fix bugs.

Offline

An often heard concern about an IDE in the cloud is: "What if I'm in a train, or a plane, or my I'm on flaky conference wifi?" For most web applications today, that's a very valid concern. Most web apps require an Internet connection to be functional. We're working to make Cloud9 IDE usable even when your Internet connection breaks or if you do not have an Internet connection at all.

So, 2012 will be the year that Cloud9 IDE becomes the most reliable application you have ever used. The one you trust your most precious source code to.

Your code. Anywhere. Anytime.

 

30 Dec 2011

2011: Year of the Cloud IDE

Today it seems hard to imagine that people called us crazy when we told them that we wanted to build the "Google Docs of IDEs" --- "That's just impossible!" they said. "Nobody will ever develop software in a web browser!"

Still, we kept the idea in the back of our minds. We had been dreaming about this for years, but it was never technically feasible. While, over the years, more and more of our daily workflow moved to the browser -- email, documents, social networking -- we still used basic text editors and heavy-weight IDEs on our desktops to develop such web applications. That's just silly.

Imagine the possibilities of moving your IDE to the cloud as well. You could access your code from anywhere, from any device. You no longer have to go through those lengthy software installs of not only the IDE itself, but also the -- often emulated -- runtime environment. You could share your code with anybody, simply by sending them a link, and would be able to collaborate instantly. It could revolutionize software development, by enabling pair programming with people on the other side of the world or by doing collaborative debugging -- the possibilities are endless.

Yet, it remained a dream for a long time.

Then, a new browser war happened. Google launched Chrome, a new, super-fast browser. Google observed that pushing the web forward required taking JavaScript more seriously. Therefore, they built v8, an amazingly fast JavaScript engine. This development resulted in an arms race building the fastest JavaScript engine. As a result, JavaScript engines in all browsers today are an order of magnitude faster -- if not more -- than before.

The browser had come of age now, and rapidly became more and more capable. Capable enough to host the IDE we wanted to build. So, we decided to give building a cloud IDE a serious shot.

Cloud9dec

Today, little over a year later -- during which we built Cloud9 IDE from the ground up and went from 0 to 80,000 users -- we think we can truthfully say: we were right -- building an IDE in the browser turns out to be a pretty good idea.

Here's how we pulled it off.

ACEd it!

The first thing we developed is the core of any IDE: an amazing code editor. We built ACE, a high quality code editor with amazing performance. At the time, Mozilla was also working on a code editor called Bespin (later renamed to SkyWriter), taking a slightly different approach. After coexisting for a while, we decided to merge our efforts.

Ace

Today, ACE has a vibrant community of users and over 70 contributors. It has become one of the most watched and forked projects on Github. In addition, ACE has become the de-facto standard in code editing on the web and is used by companies like Github, Facebook, Adobe and VMWare.

However, ACE was just our first step in showing that code editing in the browser is not just a crazy dream. An IDE ought to be more than just a code editor.

Get Ready for the Launch

At the end of January after months of hard work, we launched the beta of Cloud9 IDE. An actual IDE in the browser, featuring multiple project, using ACE as code editor, git and github integration, debugging and many other features you would expect from an IDE.

Although the news broke early, we officially launched the product on DEMO in March of 2011.

Demo

Indeed. As it turned out, building "the Google Docs of IDEs" was possible, very possible. And yes, people did want it. By the spring of 2011 we already had 15,000 users. Even though we had only shown a glimpse of Cloud9 IDE's potential, people paid attention. Not only users, but VCs as well.

Building a Company

However, we were not going to take just anybody's money. We wanted investors that had more to offer than just a bag of cash, and we got them. In June we closed a total of $5.5 million in funding from Accel and Atlassian. Accel is one of the top VCs, world-wide, and invested in many top companies over the years, including Facebook. Atlassian is a leading provider of development tools, such as Jira and Confluence, that are used by thousands of enterprises. Both these companies provide us with not only financial support, but also decades of experience in building and running successful companies and in-depth knowledge of the industry.

More knowledge and experience comes from our board of advisors. Brendan Eich (Mozilla CTO and JavaScript inventor) brings a lot of technical knowledge to the table as well as a clear vision of the future of JavaScript, the main language we use to build our product. JJ Allaire, creator of the ColdFusion language and currently developing RStudio, brings us a lot of knowledge about how to build and position IDEs and build businesses.

Over the months that followed we focused on stabilizing of the product, hiring, and setting up an office in San Fransisco. Stability is very important, especially for a cloud product. We solved many stability issues already and we will roll out more stability measures early next year.

Node.js

We are still a small company, and an IDE is a large product to build. Therefore, we have to focus our efforts. Cloud9 IDE is almost entirely built using JavaScript, both on the client and the server. On the server we used node.js, a young, but rapidily maturing and growing technology that enables developers to easily build high-performance real-time web applications using the same language they already use in the browser: JavaScript. While there are a lot of modules available for node.js, and the community is growing quickly, it was still missing good tooling. And these days, a platform is not a platform without appropriate tools.

Nodejs-light

Therefore, for our fourth quarter of 2011, we decided to focus on making Cloud9 the best IDE for node.js development, and help node.js become a more mature product. Bert Belder, one of the node.js core committers, joined us to work full time on Windows support for node.js. In addition, Tim Caswell joined as a node.js community manager. Within the node.js community, Tim does not require introduction, he is the author of many great node.js modules and the howtonode blog.

Over the past months we turned Cloud9 IDE into a great IDE for node.js development, featuring a great debugger with live inspect and the ability to test your node applications on our servers and deploy them straight to Joyent or Heroku. Over the past months we have been working on many other node.js related features for Cloud9 IDE, which we are eager to release early next year -- be prepared to be blown away! In 2012 we will keep working on great node.js support, but expand to other platforms as well.

Features

Over the past year we've been adding a lot of features to Cloud9 IDE. We won't enumerate them all, but here is a selection:


Bitbucket support

FTP support

Premium accounts

Deploy to Heroku and Joyent

Code completion

Variable renaming, code analysis

Code folding

Live inspector for node.js debugging

Vim mode

Year of the Cloud IDE

So, 2011 was the year of the Cloud IDE. It was the year that we showed the world that building an IDE in the browser is possible. Therefore, we would like to thank all the early adopters of Cloud9 IDE and everybody who gave us feedback, inspiring ideas, and stuck with us even when the road was bumpy. Thanks for being part of this movement. Thanks to you we made Cloud9 IDE a success and will continue to do so in 2012. We cannot wait to show what we have planned for next year.

Happyholidays

19 Dec 2011

Tab Sessions: I'll get back to you later

Do you work on multiple tasks at the same time but never want to close files because you might get back to them later? Does it take ages to remember what the hell were you doing when you open a new editor window?

If the answer is yes to any of the questions above, you might want to try out our new Tab Sessions feature. With Tab sessions you can save the state of your open files and open them later, or whenever you want.

An example of a great scenario for using Tab Sessions that we have here at Cloud9 is the following: Our daily work involves having dozens of branches in the repository at any given moment, because we use feature-based branches. In order to review pull requests, make a hotfix or help a colleague, we need to switch our current branch. Before switching, we use Tab Sessions to save the open files for each branch. As we keep switching branches, we keep switching sessions. Kaboom! Productivity boost at its best.

Let us show you in a screencast:

Still reading? Go and try it out!

Cloud9 IDE's Posterous

Cloud9 inc. is a fast growing company with offices in Amsterdam and San Francisco with it's team distributed over 5 countries.

The product Cloud9 IDE is an online environment for development of JavaScript and HTML5 applications. Cloud9 IDE focuses on usability, speed and collaboration it improves the way developers create applications.

We are a company with strong values, great openness and where you are given the freedom to work with minimal supervision. We are living proof that being successful goes hand in hand with having a fun and dynamic working environment. We chose only to hire the best people for our teams and we stimulate our employees to be even more extraordinary by giving them challenging projects and an office with a great ambiance.

Cloud9 inc. closely works together with partners in the Silicon Valley, making our work-floor a dynamic, fast moving and interesting environment.

Contributors

David Ajax.org Jos Uijterwaal Sergi Mansilla Cloud9 IDE