Will Orion get developers to code in the cloud?

The Eclipse Foundation's Orion Web-based developer platform has a long way to go if it hopes to replace traditional tools

With the rise of software as a service (SaaS), platform as a service (PaaS), and now infrastructure as a service (IaaS), ever more applications are finding new homes in the cloud. But are you ready to build software in the cloud?

Software development is an inherently collaborative process, especially for complex enterprise applications. Yet between open source development models, outsourcing, and offshoring, increasingly developers can't assume all of the collaborators on a project will be available for face-to-face meetings -- or even live on the same continent. Surprisingly, however, barring a few distributed code repositories and version control systems, cloud-based software development tools have been relatively few and far between.

[ Neil McAllister reveals the seven deadly sins of software development. | Stay up to date on the key programming news and issues with InfoWorld's Developer World newsletter, and follow Java techniques and issues with the JavaWorld Enterprise Java newsletter. Sign up today! ]

The Eclipse Foundation wants to change that. This week, the organization behind the popular Eclipse IDE announced a beta program for OrionHub, a hosted version of its Orion platform. Simply put, Orion aims to be a collaborative development platform for the Web, on the Web. Once it's complete, Web developers will be able to write, store, debug, and deploy Web-based applications using entirely Web-based tools. The question is: Just because they can do something, will they actually want to?

Code editing in the cloud

What OrionHub offers right now is pretty raw. When you log in, you're greeted by a Spartan home screen offering navigation among folders that are identified using a cryptic, Java-package-like naming structure. You can browse, edit, and create documents, but a "beta alert" at the bottom of the screen warns you that any files stored there will be deleted every 24 hours, adding, "Don't do real stuff."

It's important to recognize that Orion is not "Eclipse on the Web," nor does it aim to be. While it draws on core Eclipse code, it's an independent project built from a brand-new code base using only Web technologies.

The core of the platform is the Orion text editor, and at 4,220 lines of JavaScript, it's a fairly impressive achievement. First of all, it is fast. Improvements in modern Web browsers might have something to do with this (I used Firefox 4), but Orion project engineers -- mainly from IBM -- have taken great pains to optimize the code for real-world work. Scrolling and editing documents never feels sluggish, even when files grow to thousands of lines of code.

Orion is also very specifically a programmer's editor. It offers built-in automatic syntax coloring for Java and JavaScript (though not for HTML or XML). Even more interesting, it is fully integrated with JSLint, the JavaScript code analyzer. When you load a JavaScript file into the editor, any "problem areas" are automatically identified using a little stop-sign icon in the left margin. When you mouse over the icon, pop-up text explains the nature of the problem -- for example, "variable is not defined." The editor also matches opening and closing parentheses, braces, and brackets for you.

Beyond the editor itself, Orion offers basic integration with the Git source code version control system. Users can check out code, commit changes, and browse the version history, allowing for basic collaborative development, all from within the Orion desktop interface.

Orion -- like a dog riding a bicycle

As impressive as Orion may be, however, it's also distinctly underwhelming. A programmer's editor running inside a browser window might sound extraordinary, but so does a dog riding a bicycle. Neither is particularly useful.

An introductory video on the Orion website promises that Orion offers "numerous features to help make you a more productive developer," but frankly, this is marketing drivel. To list a few of these features, Orion allows you to comment a block of code with a single keypress; you can increase or reduce indentation on code blocks; you can navigate files by class or HTML element ID; and it has a fully functional undo/redo feature.

In other words, a developer who isn't already as "productive" as Orion allows should probably be looking for a new line of work. In fact, most traditional IDEs -- even Eclipse -- include many more productivity features than Orion offers now or could probably ever hope to offer. Code autocompletion is practically a must for verbose languages such as Java, for example, but I'd settle for the ability to expand and collapse blocks of code. And while Orion lets you search through files using either plain text or regular expressions, I couldn't find any way to replace text. (Frustratingly, half the control keys I pressed turned out to be valid Orion key commands, while the other half sent commands to my browser -- such as Ctrl+R.) When you pit Orion against an editor with very strong text manipulation capabilities, such as Emacs, there's really no comparison.

The cloud storage model isn't necessarily the best way to manage files for a programming project, either. Developers simply don't relate to their files the same way users of word processors or spreadsheet applications do. If you've ever performed a complex search-and-replace procedure on multiple source files using Unix command-line tools such as grep and sed, you'll see immediately how having your code locked away on OrionHub could be a huge time sink. Of course, you can always have Orion package your code into a Zip archive, download it, and perform your manipulations on your own workstation -- but if you have to do that, why wouldn't you use a desktop IDE to begin with?

Who needs Web-based developer tools?

The Eclipse Foundation isn't the first organization to attempt a Web-based development environment. The Mozilla Foundation long maintained a similar effort. Initially known as Bespin, the project underwent several iterations and was eventually released as Mozilla Skywriter, then merged with a Web-based IDE developed by Ajax.org, called Cloud9.

The Cloud9 effort continues, but the Bespin and Skywriter developers learned many lessons along the way. Among them is one especially interesting nugget: As it turns out, the primary way in which developers share code is through the version control system, not through real-time collaboration. If that's true, then is the Eclipse Foundation's drive to build a collaborative, Web-based development platform a wasted effort?

Not really. I've tried out Web-based office productivity suites such as Google Docs and Microsoft Office 365, and I've been generally dissatisfied with them, just as I am with Orion. Still, I feel they have their place -- as enhancements to traditional desktop software, not replacements for it. As Orion matures, I expect it will find a similar niche.

A capable, open source, Web standards-based development suite is a worthwhile goal, if only so its components can be embedded into other Web applications. For the foreseeable future, however, the Orion team will have to pry VI and SubVersion from my cold, dead hands.

This article, "Will Orion get developers to code in the cloud?," was originally published at InfoWorld.com. Track the latest developments in programming at InfoWorld.com, and for the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2011 IDG Communications, Inc.