Monday, October 1, 2012

JavaOne 2012: NetBeans.Next - The Roadmap Ahead

I walked the few steps necessary from Continental Ballroom 4 and one NetBeans topic (Project Easel) to Continental Ballroom 5 to see another NetBeans-oriented presentation: "NetBeans.Next - The Roadmap Ahead."

Ashwin Rao started the Birds of a Feather (BoF) presentation and introduced John Ceccarelli and Tinuola Awopetu. Several audience members attended yesterday's NetBeans Community Day. Rao showed the typical Oracle disclaimer slide about outlining "general product direction," but in this case (roadmap) it did seem particularly relevant.

Rao talked about the "Motivation for Roadmap." This motivation includes "providing best end-to-end development experience for Java platform" and supporting various Java releases as well as "HTML5 and popular languages and frameworks that complement and co-exist with the Java platform." He added that two main forces drive the NetBeans Roadmap: "Industry and Technology Trends" and the "Java Platform Roadmap."

Rao introduced the topic of ways to determine industry and technology trends including market analysis and community engagement. Awopetu then talked about how the community can use bug reports and RFEs (requests for enhancements) to relay to the NetBeans team the level of priority to apply to bugs and enhancements. She added that NetCAT (NetBeans Community Acceptance Testing program) is a main driver of what they work on. NetCAT users have contributed as many as 7,000 bugs/enhancements. Awopetu also stated that user satisfaction surveys and monitoring forum posts over the past 18 months have helped give them an idea of what the community wants in NetBeans.

I was pleased to hear Ceccarelli state that they will be tackling NetBeans's known memory issues in the same way that they have tackled the scanning issues in NetBeans 7.2. It was pointed out that there is a command-line switch that can be used with NetBeans Rich Client Platform in production.

One of the main motivations I had in attending this session was a peek at the road ahead. This chart came toward the end and was titled "The Road Ahead." Rao talked about NetBeans 7.3 (advanced HTML5 tooling, Oracle Public Cloud, and Java ME 3.2 and Embedded). He also cited Java EE 7 support (Avatar) and NetBeans JDK 8 support (Lambdas, JavaFX 8, and Java ME 8 and Embedded), and NetBeans JDK 9 support (Jigsaw).

One audience member expressed interest in NetBeans supporting specific cloud vendors and warning when code is not compliant with a particular cloud provider. The lack of standardization in cloud is reminiscent of the lack of standards implementation in web development in the past and even to some degree today. Therefore, it's not surprising that this would be a desirable feature to have.

Another audience member wondered about a tool for code collaboration. I was interested in this question because I would love to see a NetBeans equivalent of the Code Collaborator plugin for Eclipse. It was explained that Kenai was a sponsored project that became Java.net, but Java.net support does not include code collaboration. It was stated that it is relatively easy to write GUI for code collaboration, but the repository is what is difficult. NetBeans will support Oracle Cloud ALM tools and there is some consideration of Github support.

There is no plan to add WYSIWYG support for HTML/CSS/JavaScript to NetBeans and the audience seemed to be fine (and even welcome) that. It was explained that it is easier to do this with GWT, Oracle ADF, or other known deployments. It is difficult enough to make the editor work with JavaScript.

Discussion of "Top Feature Requests" with no delivery plans focused on three features not anticipated for NetBeans at this time:

  • UML
  • Visual Web
  • Android/IOS

There was a large percentage of those in attendance who expressed interest (even if forced by employers and clients) in UML support. Based on this support, it was stated that "reports of UML death are overrated." It was also expressed that they would like to move JDeveloper's UML into NetBeans. The team has moved much NetBeans functionality into JDeveloper, so this would be other direction. JDeveloper UML has been heavily used, but the many complaints about it led the NetBeans team to think it wasn't wanted in NetBeans. For times I need to create UML, I too would like to see UML support available again in NetBeans. UPDATE - Apparently IntelliJ IDEA users also use UML frequently.

Although NetBeans will not provide native support for Android or iOS, it was pointed out that there is a community Android plugin for NetBeans. Also, the NetBeans team may add PhoneGap support (PhoneGap allows for HTML/CSS/JavaScript to be used to write applications to 7 native mobile device formats) for Project Easel at some point in the future.

Ceccarelli stated that his "job now is not to make NetBeans successful, but to make Java successful." He added that the "Java IDE wars are over." Each of the IDEs has pieces of other IDEs in it now. One of the compelling things for NetBeans in the short-term future will be the availability of HTML5 support in NetBeans with Project Easel.

1 comment:

Josh said...

Great write up!

I, too, attended this session. With respect to UML tooling, It is also worth noting that there was not an insignificant part of the audience that would prefer development efforts to not be focused on UML tooling. It was fairly amusing because the speaker was tickled that he could get such support for not implementing a feature and teased the audience by asking if there was anything else the development team shouldn't do.

However, the conversation seemed to settle on agreement that some light-weight UML features could be worthwhile.