Eclipse Oxygen, its successor and the future of the “classic IDE”
Eclipse Oxygen was released yesterday so that’s that. Is it too early to turn our attention to Eclipse Photon, the next Simultaneous Release? We talked to Mickael Istria, Eclipse developer at the Eclipse Foundation about the projects he spent his efforts on in Eclipse Oxygen, what’s coming to Photon, the projects that fascinate him and the future of the “classic IDE”.
JAXenter: Eclipse Oxygen has just been released – Which features of your project(s) did you look forward to the most?
Mickael Istria: I’ve spent most of my efforts on Oxygen working on the Generic Text Editor in Eclipse Platform and on the Language Server Protocol support in Eclipse IDE (LSP4E project). Both are targeting the same audience of people willing to add edition support for a new language —or to migrate existing editors— more easily in the Eclipse IDE.
Those two pieces of work don’t deliver value to end-users by themselves, they require adoption by the community of plugin contributors.
I’ve had the opportunity to demo both in various events such as EclipseCons and I could get feedback from the community: they’re pretty happy with those and the adoption gets bigger and some projects such as LinuxTools have started refactoring on top of these concepts to reduce their maintenance cost drastically while enhancing quality and consistency of the editors.
Management and ease-of-use of content-types are an underestimated, very powerful feature of the IDE, especially for polyglot development.
As a result of this work on Generic Editor and LSP4E, several great projects (on GitHub) have been made possible with very low effort in the last months, such as support for C# edition, support for Yaml with schema, support of richer HTML/CSS/JS support, support of TypeScript…
I already have the impression that opening this new path has added some new momentum to the Eclipse IDE as a target IDE for hype technologies and that it can become a key factor in its continued success.
JAXenter: Which other project(s) fascinate you this year and why?
Mickael Istria: I’ve been impressed by some of the user stories enabled by Docker Tools in Eclipse IDE, such as debugging in the IDE a C++ process running in a Docker container with very few clicks, and similar things for Java in Docker. Docker Tools manage to really reduce the complexity of Docker during the development phase.
Although I’m not using it, I also often read and listen to Sirius and related modeling projects. I was doing some graphical modeling a while ago, and the latest technologies in this area have really improved things tremendously and keep on making graphical edition simpler and simpler and more and more powerful.
JAXenter: The next Simultaneous Release will be named Eclipse Photon. Do you have any plans for your project in Photon yet?
Mickael Istria: For Eclipse Platform, I plan to keep contributing to the Generic Editor by adding to it some missing features such as folding or icons. I’ll also try to improve a few things like management and ease-of-use of content-types which are an underestimated very powerful feature of the IDE, especially for polyglot development, for which Eclipse IDE usually excels compared to its competitors. So it’s capitalizing on its strengths.
I’ll also generally try to make the Eclipse Platform factorize some of the common features replicated by multiple programming language support such as JDT, CDT, PDT… Despite being already very good, we identified some areas such as commands where the Platform can do better for all those projects.
For end-users, I’d like to continue the work that was done in the last years already of finding new workflows and improving UIs to make end-users more easily able to discover and unleash the power of the IDE. Eclipse Platform and IDE are full of hidden gems, we’d like to make this gems shine to the face of the user.
For language servers and related work, I’ll follow closely the progress about a Debug Protocol which would be both language-agnostic and tool-agnostic like the Language Server Protocol, but for the Debug story. That would open the path to way simpler support of many debuggers at once for new languages. As soon as there’s something that seems relevant to implement for Eclipse IDE, I’ll probably jump on this opportunity as I’m convinced this would bring a lot of added value and sanity to the development tools landscape; just like the Language Server Protocol has already done.
Eclipse Platform and IDE are full of hidden gems, we’d like to make this gems shine to the face of the user.
And, obviously, for both projects and more, regular maintenance. That includes bugfixes, performance fixes, user interface and user experience improvements.
JAXenter: How does the future of the “classic IDE” look? Will new technologies force the “classic IDEs” to a complete redesign?
Mickael Istria: I can’t predict the future, but I can share my opinions and hopes.
I believe the “classic IDE” world has been mature for many years now, probably since Eclipse 1.0 about 15 years ago. If you look at all IDEs, even the most modern ones such as VSCode, Eclipse Che or Theia, they all mimic the same workbench, editors, debug, code… features. There is no big innovation on the UX part, which is the tip of the iceberg. So I don’t see a complete UI/UX redesign necessary and likely to happen. Of course, there will be incremental continuous improvements on all IDEs, with smarter menus or richer and more accurate features and support of new technologies, but it’s just continuous evolution like it has always happened.
Some believe that web IDEs will take over everything. While I agree about their upcoming success, I have a more tempered opinion. I think as long as there will be trained developers and workstations, classic desktop IDEs will remain because they’ll still be more productive for many use-cases; just like Office suites are still there despite Google Docs.
I don’t believe the cloud offering can easily fit all the needs of all the real experts of the software development domain. They can for sure help newcomers or “amateur” developers, but there will always be people more productive with a workstation and a desktop IDE. Those developers are the target of Eclipse IDE, it’s important to keep in mind who’s the target and to focus on serving this target. I see Desktop and Web IDEs completing each other rather than competing one versus the other.
However, latest IDEs have brought innovation in term of internal architecture by improving separation of concerns: VSCode has clarified the idea Language Server, Eclipse Che has created the concept of full developer workspace (as a container). Those —initially internal— architecture choices are important milestones in the world of dev tools because they make a lot of sense for everyone.
Luckily, Eclipse IDE code is well designed and based on a very versatile Platform. So it’s relatively easy for it to adopt those new workflows and to provide the added value associated with them.
JAXenter: What could be made better in the Eclipse IDE or the Eclipse ecosystem in general?
Mickael Istria: For the Eclipse IDE, we can always improve some UX. Many people in among IDE contributors have made efforts regarding UX in the last year, and it’s really something one can perceive positively in users feedback. I don’t think we need to drastically change anything to improve UX: we need committers to keep thinking about it and working and it as they’ve been doing for the last few years and things will improve progressively.
Eclipse Community is a contributor-based community. Big contributors pool (may they be individual developers or corporate members funding the Eclipse Foundation) is both the mean and the goal for our common success. There are a lot of ideas, on all grains of the community -from small bugs to major strategic actions for the Foundation- that only miss a few more contributors to be tackled. For some of them, it’s really a chicken-egg problem, anyone ready to jump in with some motivation could make a huge difference. So making the Eclipse ecosystem better is all about getting more contributors of all kinds, and vice-versa. There seems to be no magic potion for that, it’s a continuous effort of existing community to remain relevant, open and accessible to allow itself to grow.
Some believe that web IDEs will take over everything. While I agree about their upcoming success, I have a more tempered opinion.
JAXenter: Besides Eclipse, which tools/technologies have the potential to “cause a stir” in the second half of 2017?
Mickael Istria: For tools, I believe the idea of developer workspace as a container from Eclipse Che may go mainstream and change the way many projects deliver their contribution “SDKs”.
The Language Server Protocol is already a success with 27 languages supported. I believe the stir will continue for the second half of 2017.
In the daily life, I believe IoT is now ready for mainstream and will quickly introduce itself in our houses. I’ve seen many examples of technologies that have regular people pilot their house with IoT technologies to optimize their comfort or the performance of their home in term of energy. Both hardware and software stacks for IoT (many of them being under the Eclipse IoT umbrella) are really industrial-grade and quite accessible in term of price. SmartHome and SmartCities are in my opinion going to be the rockstar technical domain of the next months, especially when applying to energy consumption, traffic regulation and everything related to ecology which has become one of the main concerns on this planet.
In the entertainment world —and in some industrial domains—, Augmented/Mixed-reality is what deserves to make the buzz. The hardware is getting usable (HoloLens, ODG, Moverio…) and the software layers —mostly made of sensors processing and 3D rendering— has been ready for many years. The benefit of AR is that they’re not aimed at being “immersive”, on the contrary, it aims at keeping it in touch with the reality in a funnier or more efficient way. This new area requires designing new concepts, new metaphors, new man-machine interactions without disconnecting from the real-life, and ideally hands-free. The results will prove themselves to be both very productive and very entertaining for end-users and to make AR a fruitful and juicy domain as soon as the AR device get more accessible in term of prices (maybe in the next 6 months?!).
Thank you very much!