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.
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 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.
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.