News, updates, tips, tricks NetBeans Core QA

Friday Jan 30, 2009



Try the latest development builds... Do the NetBeans look better on Mac?

Thursday Jan 15, 2009

The change was propagated into NetBeans' IDE builds before XMas however it seems that most of the people will notice it in next milestone of NetBeans IDE 7.0. The Full IDE build contains new cluster with the ergonomics functionality. What it means? The new term here is ergonomics IDE that provides you just what you need when you need it. The idea come up from Jirka Rechtacek's - Consumer IDE prototype and session at JavaOne last year.

"The NetBeans IDE grows with new functionality every release and soon it will be like a swiss knife. It will do everything everyone can ever need. On the other hand most of the time we are using knifes and even swiss knifes to cut - the same way most of us use the NetBeans IDE. We use it for Java, PHP or C/C++ most of the time and if we need some other functionality, it is good to have it around and available. It just shall not make the knife too big and heavy.

Since the introduction of NetBeans Big IDE - the only IDE you ever need - we are facing various problems resulting from the IDE size. "
- Jarda Tulach's description of the ergonomics IDE.

Problem statement: Most of the NetBeans IDE users download the full distribution of IDE. It contains everything from C++ to Ruby. Nobody needs all the functionality but it's loaded into the memory when the IDE is started.

Solution: enable the functionality only when it's needed

Our performance team decided to implement this approach in the ergonomics cluster. When you start the full IDE with fresh userdir then the IDE is empty. There is only the main functionality.


IDE without any functionality


They defined several entry points that enables a functionality to you. The entry points are New Project wizard ,Attach Debugger ,Open Project dialog ,VCS Checkout.


Open project


The IDE doesn't recognize the type of the project. It knows only that is a NB project. When you open a project it will activate the necessary functionality for you as you can see on next picture.


Activate Java Functionality




Hints:
  1. If you don't want the ergonomics functionality
    • comment out the ergonomics cluster in [nb_install_dir]/etc/netbeans.clusters file
    • use the same approach to verify that a bug is caused by the ergonomics feature
  2. Report issues - either to ide/ergonomics in Issuezilla or to any component with ERGONOMICS keyword.

Friday Jan 09, 2009

As you probably noticed if you ever run the NetBeans IDE on different operating systems there is default look and feel for every OS. It is even more complicated... There is a look&feel assigned to every OS+JDK +WM combination. Does it look complicated? Or don't like the default?
You should read Look and Feels in NetBeans IDE where it's explained by Petr Chytil. Thanks to Adam Bien for screenshots.

Thursday Jan 08, 2009

The goal when producing new version of NetBeans Platform is to be backward compatible, unless otherwise stated. This means that if you developed a module/plugin for version A of the platform then it should work even in platform version B that was developed a few years later. If there is a module for which the previous statement is not true, then the compatibility is compromised. Discovering such modules is generally bad sign. It can either mean that there is an unwanted incompatible change, and in such case we shall fix it prior to release, or this change is desirable and highly justified, and in such case it should be properly documented. In either case, backward compatibility is the strongest commitment of the NetBeans platform. Undesired incompatible changes have to be eliminated.

As the testing of the compatibility in an artificial testing environment might be helpful it wouldn't meet our goals. Therefore we(QE) started a community program that should give us more reliable results.

We received reports for 5 different products. You can look at full reports at http://wiki.netbeans.org/NB65BackwardCompatibilityTestingReport. I have to say that we expected more reports then "only" three. On the other hand, these reports are from people and companies that build real product on NetBeans Platform for years therefore we are happy that they haven't found any incompatibilities in NetBeans Platform - platform9 cluster of NetBeans IDE 6.5.

We will start similar compatibility testing for NetBeans IDE 7.0 when it will reach its Beta.