The Source for Java Technology Collaboration
User: Password:



Fernando Lozano

Fernando Lozano's Blog

Great Expectations and a few disappointments with NetBeans 5

Posted by flozano on November 22, 2005 at 05:55 PM | Comments (12)

Last Saturday (November 19th) I went to OneDayJava 2005, an event hosted by Rio de Janeiro SouJava affiliate and had the privilege of hearing a speech from Robert Brewin, NetBeans and Sun Java Studio Creator Chief Architect. It was a great opportunity to ask him about the relationship between NetBeans development and Java Studio Creator.

I was always suspicious that NetBeans were a second-class citizen inside Sun, as most of their marketing and development were focused in Sun Studio. Of course I know Sun Studio uses NetBeans as its base, but this fact was never made very clear by Sun marketing, almost as if it were a secret. Besides that, sometimes Sun Studio and NetBeans seems to be developing the feature in parallel, for example Matisse x Raven or the J2EE features.

Well, Robert admitted that in the past Sun Studio and NetBeans teams did not interacted as they should, and a lot of effort was duplicated, but assured us that his vision is that both teams will be working together to improve NetBeans and delivering Sun Studio as a set of value-added plug-in modules for NetBeans. He said the focus is now on NetBeans and not on Studio, that core features will be developed by both teams as part of newer NetBeans releases and Studio won't hide anymore the fact that it is NetBeans + plug-ins.

It takes courage for a person in Robert's position to admit mistakes from the past, kudos to him. Better yet, his vision should benefit both NetBeans and Sun Studio users, who will getter better software and more advances. But I would like to see NetBeans leave Sun's umbrella. I welcome Sun efforts into the product and I am very grateful for them, but NetBeans should have ideas from people outside Sun. The user community should decide how NetBeans would evolve, not only Sun by itself.

And NetBeans 5 can help this a lot. The new support for creating NetBeans plug-in modules enables many small developers to improve NetBeans. Sun should use that to foster a healthy ecosystem around NetBeans, a more open and participative one. But people won't join if they perceive NetBeans as being controlled by only Sun and being just a “demo” for Sun Studio.

If you think this has already been done by Eclipse, think again. Most Eclipse projects look like elephants, too slow to move and “owned” by big companies. Nothing against big companies, but it is not easy to participate and influence Eclipse as an individual, the way we can with other open source development organizations like the Apache Foundation.

The end result is that Eclipse projects are not quick to bring in results (but I have to admit when they do bring results they are great!). Check, for instance, Eclipse VE and WTP against current NetBeans 4.1 and 5.0 betas. Eclipse projects may look more powerful on the web site, but NetBeans is ready for use right now.

My main disappointment with NetBeans 5 is the Matisse GUI builder. It is really great, until you get the wrong layout constraints and find that very few layout properties are exposed. Of course a beta release for such a new software is expected to behave somewhat erratically and miss some functionality, and in fact beta 2 is much more reliable than beta 1, but I don't like to have the visual tools as my only choice. I also have nothing against generated, non-editable, code sections, if these sections are simply property initialization and registering event handlers. But I'd like to change anything I want from the properties and inspector windows, just like I can do if I use other layouts like GridBag and Border. I want to be in control, I do not want black boxes as part of the Software I develop.

By the way, Matisse relies on a non-standard layout, the “Natural Layout” or “Free Design” as it is called from NetBeans menus. Inside the generated code, we see lots of instances of org.jdesktop.layout.GroupLayout. If you know from where it came from, please tell me. Was it created by NetBeans folks, or is it part of other open source project? It looks a lot like JGoodies FormLayout. My complain is, no matter how easy this makes drawing Swing user interfaces, most newbie Java developer's won't understand why the project jar generated from NetBeans will fail to run on another machine having the JRE already installed. But there's still time to add a “distribution packaging wizard” to add a “lib” folder containing all libraries and external classes used by an application project.


And what if I want to lower my app size for Swing-enabled smartphones, PDAs or just plain Applets? I'd like to have improved tools for dealing with other layout managers too. But if not using “Free Design”, we are stuck with the same NetBeans 4.0 features. It's a shame NetBeans still cannot visually edit a GridBag layout (the customizer is far from WISIWIG, although it is an improvement over 3.x). Eons ago I could do that using Visual Age for Java (today I could to this using Eclipse VE, but I'd need a faster machine than my 2.0 Ghz Athlon).

Other statement from Robert let me a little bit worried: he said the future of development tools lies with visual tools. I can understand the strong desire to get all VB developers out there using Java, but I don't thing cloning VB style of visual development is the key. Eclipse got its strength from helping coding, and newer Software Engineering practices like Agile Modeling focus on coding. Many tools that became indispensable to Java developers today like Ant and JUnit also focus on coding. Even Microsoft seems to be realizing this.

The VB style of development is opposed to current Java culture, and I don't think you can become the new “number one” by just imitating the current number one. You have to to make something different that proves to be better. So I think NetBeans (and Studio by extension) development may be constrained by the current Sun vision of fighting Microsoft by imitation.

But, if you do believe this the way to go, why not pursuing it from an Open Source project or JCP Expert Group? Why dont't we have yet “data-bound controls” as a standard part of the Java platform, ready to be used by whoever wants them, no matter the IDE of choice? Sun Studio won't win VB developers by being just another RAD tool. Delphi and PowerBuilder already tried that but with only limited success. Sun Studio per se is not compelling enough, but the Java Platform may be.

We should also wonder why haven't any open source library taken this space like Struts did. Maybe the RAD style of development actually does not matter so much.

Bottom line, NetBeans is a great IDE and Sun is still putting great technology within it. It is best of breed in many respects, but still has rough edges where such an old and mature software shouldn't. It is probably being hurt by too much Sun control over it and would benefit immensely from ideas coming from outside. The question is, what will Sun do to attract outside developers to NetBeans, and will Sun be willing to let them take control?


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • The layout and Matisse are a joined effort between the Swing and NetBeans teams.

    The layout (LGPL) project is here. It'll eventually make its way into the JDK.

    Please provide the NetBeans team with feedback on Matisse.

    Posted by: alexismp on November 22, 2005 at 10:55 PM

  • I for one don't share the concern that NetBeans is driven only by Sun. For example, take a look at NetCAT 5.0 program allowing NetBeans community to significantly influence the release. Also note that schedule was adjusted basically to process Beta feeback and extend its stabilization period. I think that a lot is changing with 5.0 release as it seems to be really quality driven.

    Posted by: cesilko on November 23, 2005 at 12:19 AM

  • I cannot see for myself that NetBeans being part of Sun stops me from contributing to this much appreciated community effort.
    In constrast, I wondered if there are effective ways to express my opinions, concerns and ideas to the Eclipse teams - I've got stuck even from day one on the eclipse.org site.

    Posted by: alexlamsl on November 23, 2005 at 03:48 AM

  • Hi alexlamsl,
    I stated that it's not easy to participate and influence Eclipse, but Netbeans is also not perceived as beng easy from outsiders. This is a problem but also an oportunity for the Netbeans community.

    Hi cesilko,
    The NetCAT program is a testers program, it does not influence the design and strategy for Netbeans. I'm glad you and alexamsl participate in Netbeans, I'd live to see more people doing so, but a lot of people won't because of the perceived control from Sun. Maybe this is a question of simply perception and not reality, but this doesn't mean we should ignore it.

    And thanks for the info, alexismp!

    Posted by: flozano on November 23, 2005 at 04:36 AM

  • I've had quite a bit of input in the design and implementation of the new plugin module features, and I don't work for sun. In fact, it's partially based on work I contributed pre-5.0.

    Posted by: richunger on November 23, 2005 at 11:47 AM

  • Hi Rich, very nice your interview at http://www.indicthreads.com/content/view/322/0/1/0/. I think people need to know more about people outside Sun who is very involved with NetBeans, so they can perceive it is a real open source, community-driven project and not simply a Sun marketing device

    Posted by: flozano on November 23, 2005 at 12:04 PM

  • I agree with you that it's largely a perception issue. Anyone who takes the time to actually contribute will find their input valued. Ironically, it is Sun marketing that needs to change this perception in the marketplace.

    Posted by: richunger on November 23, 2005 at 01:06 PM

  • I've been using Netbeans for many years now. It is one of the very few open-source projects whose developers are user-driven. They have been nothing but polite, helpful and interested in my feedback for as long as I can remember. This is the kind of community we should support with everything we've got!

    Posted by: cowwoc on November 24, 2005 at 11:06 AM

  • First off, i love Netbeans 5.0 and i'm a recent Netbeans convert, and keep it up, Netbeans.org!

    As a Swing developer, it believe its a sin (and nowdays a penance too) to use a product that rejected Swing. Yes i'm talking about that other IDE and its SWT abomination ;) As i said, i'm a Swing developer...

    Regarding problems with Netbeans, the glaring ones are instability of GUI designer, and also i found new CVS project checkouts and imports to be quite broken, but then at 2am everything is broken, and mainly me.

    Areas where i would like to see improvement (compared to eclipse), is red underlining of the error (not the whole line). And faster compiling in the editor, for Suggestion, and also error underlining.

    And I know it'll happen, because Netbeans team rox!

    Posted by: evanx on November 24, 2005 at 03:32 PM

  • Netbeans seems only popular with backend guys. Any of the consulting projects are using eclipse or Websphere studio primarily. Decisions by oxygen and other vendors to support eclipse help drive this. Netbean's plugin model is difficult for most non uber developers to use.

    Posted by: smartinumcp on November 25, 2005 at 02:12 AM

  • Netbeans plug-in model was too difficult, and the lack of tools didn't help either. But this will chance with 5.0, and that's one of the reasons for this blog.

    Posted by: flozano on November 25, 2005 at 05:07 PM

  • I don't think on Swing x SWT a religous issue. In fact, as I develop primarly on Linux, SWT has today better looks, performance and usability (accents won't work on a notebook using Swing and Linux, but they will on SWT). But I like more the way Netbeans is evolving than Eclipse.

    Posted by: flozano on November 25, 2005 at 05:09 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds