Planview Blog

Your path to business agility

Engineering Teams, Products & Tools

Prediction #7: Web-based code editors become viable, cloud-based IDE platforms remain a pipe dream

Published By Mik Kersten
Prediction #7: Web-based code editors become viable, cloud-based IDE platforms remain a pipe dream

A couple of years ago, a web-based code editor called Bespin was the rage at EclipseCon, and has been reborn in the form of the Cloud9 IDE for JavaScript. Eclipse re-embraced the push towards web-based IDE technologies with the introduction of a new code editor named Orion. While activity is again heating up on this front, do not expect the enterprise developer’s IDE to be running in the browser this year.

What we will see is web-based advances in specific IDE use cases, ranging from code editors for DevOps to GUI builders for mobile, with most developers staying within the comfort and native UI of their desktop IDE. Apart from the OS, the IDE may now be the most complex piece of software running on your desktop computer. Eclipse pushes the limits of the UI element handling of the desktop OS as well as the classloader model of common JVMs. What makes an IDE platform even harder to port into the browser is the need for extensibility, ranging from interaction with the filesystem to shared data models of the large variety of code and ALM artefacts that constitute an application.

Just as mobile applications are constantly pushing the limits of the hardware behind our 3.5” handheld screens, the IDE tool suite continues to push the limits of the hardware driving dual 24” displays. Third party plug-in developers need to be very aware of the performance of their extensions to Eclipse so that they don’t bring an Intel Core i7 CPU with 8GB of RAM to a crawl.

The current generation of browser-based JavaScript runtimes is not up to the task of running the IDE platform as we know it. But we are starting to see the first crop of high-performance web-based code editors. Between the drive towards cloud hosting of applications and the push to lower the barrier to entry for mobile development, there will be plenty of incentive for vendors to provide SaaS offerings that incorporate key parts of the application development experience. The 15M or so professional developers (Evans Data, 2009) will spend their day in Eclipse and Visual Studio, but these IDEs will begin to feel more like a connected Rich Internet Application (RIA) than a desktop-bound dinosaur.

The data accessed by the open source developer, including source code, tasks and builds, is already cloud hosted. Eclipse extensions like Tasktop Dev Enterprise mash up the web browser experience with the rich IDE experience. The professional IDE will start feeling more like a connected and offline capable Mozilla Thunderbird or Microsoft Outlook, with collaboration and planning facilities taking a front seat alongside social coding tools. Just as iOS has found the sweet spot between native experience and web service-based data sources, so will the IDE. Outside of enterprise application development, domains where a simplified tool stack is applicable will start seeing web-based IDE features.

Xcode is one or two order of magnitude less complex than a full-blown enterprise Java IDE. Palm’s Ares project was the pioneering example of how effective combining Bespin functionality with a JavaScript GUI builder for webOS could be for providing a simple user experience to hobbyist mobile developers. Even our Smalltalk forefathers would be impressed with an environment that supports authoring JavaScript widgets in a JavaScript-based GUI builder. Given the lack of a clear winner for JavaScript development environment on the Eclipse front, JavaScript will continue to be a natural target driving progress on moving IDE functionality into the browser. But the amount of work here should not be underestimated, as a lot of what already exists in the desktop-based IDE will need to be re-created to get to the sort of fidelity and breadth of tool support that’s now taken for granted.

cloud alm
Cloud ALM hosting with the connected IDE and Browser-based clients

On the cloud hosting front, key parts of ALM data such as source code, builds and tasks, are already starting to be hosted in a unified manner, as exemplified by the upcoming Code2Cloud offering. Some stakeholders in the development process, such as DevOps and QA engineers, will start to benefit from Eclipse Orion-style code editors accessing and fixing entries in Spring config files without launching the IDE. This will lead to easier management of production since the need for console access for these sorts of tweaks will be removed.

Looking further out, the increasingly connected IDE will have all of its configuration data hosted, making the experience of the first launch of Eclipse similar to that of the first launch Skype, where entering credentials causes the rich client to instantly provision the user’s desktop. The division of labour between web and desktop based access of software artefacts will improve, with some content that was previously browser-bound, such as Scrum task boards, being supported within the IDE. The mobile hobbyist, casual web developer, and specific stakeholders such as the DevOps engineer, will see nearer term benefits from the growing convergence of the browser and the IDE.

Related Posts

Written by Mik Kersten

Dr. Mik Kersten started his career as a Research Scientist at Xerox PARC where he created the first aspect-oriented development environment. He then pioneered the integration of development tools with Agile and DevOps as part of his Computer Science PhD at the University of British Columbia. Founding Tasktop out of that research, Mik has written over one million lines of open source code that are still in use today, and he has brought seven successful open-source and commercial products to market. Mik’s experiences working with some of the largest digital transformations in the world has led him to identify the critical disconnect between business leaders and technologists. Since then, Mik has been working on creating new tools and a new framework - the Flow Framework™ - for connecting software value stream networks and enabling the shift from project to product. Mik lives with his family in Vancouver, Canada, and travels globally, sharing his vision for transforming how software is built, and is the author of Project To Product, a book that helps IT organizations survive and thrive in the Age of Software.