<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
    <meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
    <title>NetBeans 6.8 Community Tester Michel Graciano</title>
    <meta name="AUTHOR" content="Tinuola Awopetu">
    <meta name="description" content="For Michel Graciano, a NetBeans 6.8 community tester, beta testing the NetBeans IDE is a way to stay connected to the tool as it grows.">
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
  </head>
  <body>
    <h1>Meet the Top Community Testers for NetBeans 6.8</h1>
    <span style="font-style: italic;">February 2010</span><br>
    <h4>Michel Graciano: Stay Connected to the NetBeans IDE through Beta Testing <br>
    </h4>
    <span style="font-style: italic;"><br>
    </span>
    <h2>Tell us about your background as a developer and NetBeans user.<br>
    </h2>
    <img src="../../../images_www/articles/michel-graciano.jpg" alt="Michel Graciano - NetCAT 6.8 Participant" style="width: 80px; height: 80px;" align="left" hspace="5" vspace="2">
    I have been developing software professionally since 2003.
    My main project these days is a desktop product based on the
    <a href="http://genesis.dev.java.net/">genesis framework</a> and my
    team uses the NetBeans IDE as its primary IDE. We make use of all tools
    in the IDE: CVS, Matisse, database access, editors for XML, Java and
    SQL, and so on. Many
    people ask me: "Why NetBeans?" The answer is simple: We work with a
    desktop product, with Swing as a main toolkit; using Matisse is
    necessary to reach the level of productivity we need. By using plugins
    we create for the IDE and that allow us to create special components
    pallets, update center, editor
    validation and hints and so on, we can increase
    productivity in our day-to-day work.
    <p>
    </p>
    <h2>As a <a href="http://qa.netbeans.org/processes/cat/68/index.html">NetCAT</a> participant you experienced
      <a href="https://netbeans.org/community/releases/68/">NetBeans 6.8</a> before the masses did. Your thoughts on the new features and the
      quality?<br>
    </h2>
    <div style="padding: 10pt 10pt 10px 10px; background-color: rgb(238, 238, 255); width: 190px; float: right; font-size: 100%;">
      <div style="font-weight: bold;"><a href="http://br.linkedin.com/in/michelgraciano">Michel Graciano</a><br>
      </div>
      <div style="font-size: 90%;">Location: Brazil<br>
        <br>
        <span style="font-weight: bold;">Projects</span><br>
        <a href="http://genesis.dev.java.net/">Genesis</a><br>
        <br>
        <span style="font-weight: bold;">NetCAT 6.8 Stats</span><br>
        Bugs Filed: 57<br>
        RFEs Filed: 1<br>
        Emails Sent: 48<br>
        Total NetCAT Points: 293<br>
        <a href="http://qa.netbeans.org/processes/cat/68/activity.html">NetCAT 6.8 Activity Log</a><br>
        <br>
        <span style="font-style: italic;">More NetCAT 6.8 Spotlights:</span><br>
        <a href="https://netbeans.org/community/articles/interviews/netcat68-eric-smith.html">Eric Smith</a>, <a href="https://netbeans.org/community/articles/interviews/netcat68-ulf-zibis.html">Ulf Zibis</a><br>
      </div>
    </div>
    Well, the best improvement in my opinion has been in memory
    consumption and performance. The latest release is awesome in this
    matter. Working on a huge free form project with
    several source roots and thousands of source files, my memory
    consumption decreased by 20-30%. I could see several memory leaks were fixed. When the Garbage Collector runs, almost every
    memory allocated is released for use again. NetBeans 6.8 is the first
    release in years that I experience no issue loading and waiting for a patch
    or update.<br>
    <p>
    </p>
    <h2>Have you participated in other software Beta testing programs? Can you compare them to NetCAT?<br>
    </h2>
    No, I have not participated in testing programs for other products. &nbsp;
    <p>
    </p>
    <h2>What
      motivates you to contribute to the NetBeans
      project?<br>
    </h2>
    This kind of program is necessary to make every release as good as
    possible; to have the community be invested in solving bugs and
    suggesting enhancements. As a software developer, I know that
    regressions happen, and the earlier they are identified and addressed
    in a program like NetCAT the better for everyone. This is a big
    motivation for me.<br>
    <br>
    NetBeans is the community's IDE, so we all need to help to keep the tool as stable as
    possible, including related plugins. This type of relationship is what keeps open-source projects alive and successful.
    <p>
    </p>
    <h2>How would you encourage other users to participate in future NetCAT cycles?<br>
    </h2>
    If the NetBeans IDE is
    important for your daily work, I can't see why you would not
    consider joining NetCAT. NetCAT helps make the tool better
    release after release. We test as many scenarios as possible; there's
    nothing better than to work with the daily builds and be connected to
    the tool as it grows.<br>
  </body>
</html>
