By Tyler Jewell, CEO of Codenvy. An unedited version of this post originally appeared on ReadWrite. Tyler will be presenting at Under the Radar 2013, May 22-23 in San Francisco: http://undertheradar.eventbrite.com.
Over the past decade, cloud computing has disrupted nearly every business unit: sales, marketing, finance and support are all being reengineered to take advantage of cloud’s instant access, no download, and pay-as-you-go attributes. And while the agility afforded by on-demand services is also penetrating the developer space, there has been little disruption to the integrated development environment (IDE) world. The world’s nearly 15 million developers, teams, and organizations continue to use desktop IDEs as their workbench of choice. Why hasn’t the development environment moved to the cloud along with just about every other application?
What’s Wrong With Desktop Development?
Desktop development environments are becoming outdated, failing more often, and causing productivity issues for developers. Here’s why:
:: Complicated configuration management: The substantial configuration management process for a developer’s workspace turns developers into part-time system administrators, responsible for their own mini-data center running entirely on the desktop. This is time consuming, error prone and challenging to automate.
:: Decreased productivity: Many IDEs are memory and disk hogs, with significant boot times. They are so resource-hungry they can starve other applications, such as the Web browser. The net effect is a less productive developer due to a slower machine.
:: Limited accessibility: Desktop developer workspaces are not accessible via mobile devices. Developers who need remote access have to resort to complex and slow solutions – if their firewall allows it.
:: Poor collaboration: These days, most developers work as part of a team, so communication and collaboration are critical. But desktop IDEs must outsource collaboration to communication systems outside the developer’s workflow, forcing developers to continuously switch between developing within the IDE and communicating with their team via other means.
The Solution: Cloud Development
Solving these problems requires moving the entire development workspace into the cloud. The developer’s environment is a combination of the IDE, the local build system, the local runtime (to test and debug the locally edited code), the connections between these components and the their dependencies with tools such as Continuous Integration or central services such as Web Services, specialized data stores, legacy applications or partner-provided services.
The cloud-based workspace is centralized, making it easy to share. Developers can invite others into their workspace to co-edit, co-build, or co-debug. Developers can communicate with one another in the workspace itself, changing the entire nature of pair programming, code reviews, and classroom teaching. The cloud can offer improvements in system efficiency & density, giving each individual workspace a configurable slice of the available memory and compute resources.
We are far from tapping into the endless possibilities the cloud computing offers developers—there is definitely more work to do—but the benefits are already clear.
Tyler Jewell is CEO of Codenvy, the cloud development environment, and a venture partner with Toba Capital where he focuses on investments on businesses related to middleware and application development. Tyler sits on the board of WSO2 and has made investments in ZeroTurnaround, InfoQ and AppHarbor. Follow him on Twitter at @TylerJewell.