<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" type="text/css" href="../../../netbeans.css"
 media="screen">
  <meta name="author" content="Tinuola Awopetu">
  <meta name="keywords"
 content="NetBeans IDE, NetBeans Platform, NetBeans Dream Team, Flying Guns, Joerg Plewe">
  <title>NetBeans Dream Team Interview: Joerg Plewe</title>
</head>
<body>
<h1>Series: Meet the Dream Team Members<br>
</h1>
<i>(In January 2007, we announced the 11 charter members of the <a
 href="http://wiki.netbeans.org/wiki/view/NetBeansDreamTeam">NetBeans
Dream Team</a>, a community-oriented group of highly skilled NetBeans
users devoted to promoting NetBeans and working on the NetBeans
Project. In these interviews discover who they are, why they are
passionate about NetBeans and what goals they have for the NetBeans
project.)</i>
<br>
<br>
<br>
<h1>Joerg Plewe</h1>
<a href="../../../images_www/articles/dreamteam/joerg-plewe.jpg"><img
 alt="Dream Team Member Joerg Plewe"
 src="../../../images_www/articles/dreamteam/joerg-plewe.jpg"
 style="border: 0px solid ; width: 298px; height: 240px;" align="left"
 hspace="10" vspace="5"></a>
<h4>As a Speaker and a Blogger, what topics
command your interest?
</h4>
Currently, I'm more of a blogger than a speaker. I blog on <a
 href="http://weblogs.java.net/blog/herkules/">Java.net</a> primarily
about desktop Java but also about general topics ranging from Ant
techniques, OO databases and benchmarks, to flight simulators. When I
get the opportunity to speak, I like to talk about my simulation
project, <a href="http://www.flyingguns.com/">FlyingGuns</a>, which is
a networked simulation framework with a World War One flight simulation
action game as a demo. I had the great opportunity to discuss
FlyingGuns at JavaOne 2003, and just recently at a local <a
 href="http://www.d-jug.de">Java users group</a> here in Germany.<br>
<br>
<h4>When was your introduction to NetBeans?</h4>
That was a long time ago. I think I started with version 3.1 or
so. Those days, I preferred it over JBuilder for reasons I cannot
explain. I just liked the way NetBeans felt. I liked the approach of a
filesystem that project files had to be 'mounted' on. This was known to
be infamous and was removed with NetBeans 4.0, but well ... I liked it.
Also in those days, free IDEs were not as common as today. The quality
of NetBeans as a free tool back then was very impressive. It was one
reason more to use and support it.<br>
<br>
<h4>How have you participated in the NetBeans Project?</h4>
Basically, I
haven't been a NetBeans "developer", I'm more of a user. I always try
to give feedback about my experiences with NetBeans to help to make it
better. I've filed issues since October 2001 for various (pre) releases
of NetBeans in different areas: project system, UML, UI. I always
enjoyed working with the daily builds and not missing out on the
slightest improvement. The good thing about the NetBeans project is
that these issues are really read by someone and acted on very quickly
in many cases. I encourage people to take part—you really can have
influence on the product! "Community driven" is not just a marketing
slogan in the case of NetBeans.<br>
<br>
And I enjoyed talking with <a href="http://blogs.sun.com/roumen/">Roman
Strobl</a> about my feelings on NetBeans. We talked a lot about IDE
usability, not so much about APIs or RCP concepts. <br>
<br>
<h4>What stands out for you in the evolution of NetBeans?</h4>
NetBeans 5.0, with the broadening of the features set: Matisse,
Profiler, Mobility, UML, etc. Each day, there's something new. For
about a year,
watching the incredible progress of NetBeans has been fun. So, there is
no single feature that
stands out for me but the speed of improvement.<br>
<br>
<h4>What are your goals as a member of the Dream Team?</h4>
I'd like to evangelize NetBeans by demonstrating NetBeans usage in an
unspectacular but believable way. <br>
<br>
<h4>But we like spectacular!<br>
</h4>
Here in Germany, where people are less enthusiastic than, for example,
Americans, if we say, “Hey, look how cool NetBeans is!”, we quickly
become suspected of being highly biased. That approach is the way Sun
evangelists usually work. But the Dream Team has the chance to appear
unbiased and hence more believable. We use NetBeans because we are
convinced and not because we get paid for it. We are experienced
professionals and not enthusiastic kids. Being too loud and spectacular
could ruin that impression.<br>
<br>
As an example: in a former company, I developed a data binding
framework and a GUI development process. This worked with any IDE, but
together with Matisse it was a strong bundle. So I used NetBeans in
presentations but didn't emphasize that fact by any means; I just
showed its power with a real world problem. Doing this kind of "silent
evangelism" very effectively avoids religious IDE discussions. That's a
thing only people not paid by Sun can do. <br>
<br>
<h4>Do you plan to write articles, tutorials, and the like?</h4>
I think writing articles and tutorials about NetBeans is a task for
the full-time evangelists. The Dream Team should write articles about
other
things like real world projects thereby mentioning that NetBeans is the
best and
natural choice. This will increase believability and trust. <br>
<br>
One of my proposals is to create a project done by the Dream Team. For
example, a mind-mapping tool connected to the IDE's features. The main
focus should not be NetBeans itself but the tool that everybody might
consider useful. The side benefit to NetBeans is that it will show how
this can be done in the IDE. It's neither an article nor an tutorial,
but a public development that appeals to a general interest. The first
steps of this are available on a <a
 href="http://wiki.netbeans.org/wiki/view/DTMindMap">wiki</a>
page. <br>
<br>
<h4>The Dream Team was selected over three months ago, what is the
group up to?</h4>
We are trying to constitute ourselves, to find our
inner structure. The group consists of very different people with very
different skills. So any topic can be discussed and an expert is
available. This enables us to do projects like the one I mentioned
above. For me, doing this project alone would be hard because my
knowledge of module development or project integration might be
missing. No problem with the team around me. Additionally, members of
the NetBeans teams are on our mailing list and tracking our progress
and are willing to support us.<br>
<br>
<h4>You're a flight pilot in your spare time. How long have you been
doing that?</h4>
Flying is a dream that I've had since my
childhood but I didn't realize it until early 2000. I also tried
finding an IT job in the aviation industry, but that's barely possible
in the area I live. <br>
<br>
<h4>How did you use NetBeans to develop your flight simulation
game,&nbsp; <a href="http://www.flyingguns.com">Flying
Guns</a>?</h4>
FlyingGuns (or DRTS – Distributed RealTime System) is not just a game,
but also a fun demo for the simulation technology used to develop it:<br>
<br>
<li>HeadQuarter – Networking backbone, distribution framework<br>
</li>
<li>JXInput – Non-standard input devices like joysticks<br>
</li>
<li>JTrackIR – Headtracker for Java<br>
</li>
<li>Scene3D – High-level 3D engine abstraction<br>
</li>
<br>
I started the project with a friend in 2002 being that I was both an
aviation enthusiast and a technology geek. And of course I wanted to
prove it could be done in Java, which was heavily doubted those days.
First, we had in mind to sell either the technology or the game.
Unfortunately, we couldn't find an appropriate customer, so we decided
to open-source it in early 2004. Nevertheless, some subprojects have
been
used outside the actual game and the JXInput module even found its way
in orbit on board of the International Space Station.<br>
<br>
<a
 href="../../../images_www/articles/dreamteam/flyingguns-screenshot-swing-ui.jpg">
<div style="text-align: center;"> <img alt=""
 src="../../../images_www/articles/dreamteam/flyingguns-screenshot-swing-ui.jpg"
 style="width: 578px; height: 432px;"><br>
<span style="font-style: italic;">(Click on image for larger view.)</span>
</div>
</a><br>
<br>
Today, FlyingGuns is my personal pet project. The components are still
free (BSD license) and everybody is invited either to use it or join me
as a developer. <br>
<br>
I used some NetBeans 3.x in the beginning and felt very comfortable
with
it. The introduction of NetBeans 4.0 with the new Ant based project
structure brought me short of switching to another IDE. FlyingGuns was
just too hard to build because it consists of many subprojects in a
deeply nested structure. With 3.x, I could just mount all the folders
and the project was set up. For 4.0, I had to edit and maintain a lot
of dependencies in so many places. The most severe constraint was that
NetBeans 4.0 only allowed a single source directory per project, which
tripled the number of projects I had to maintain. But the situation
relaxed with NetBeans 4.1 opening for multiple source directories. With
NetBeans 5.0 and its increased number of features, for example,
Matisse, Profiler, ant debugger and so on, using NetBeans was pure fun
again. Today, I'm considering dropping my own ant build structure in
favor of the common NetBean ant project files. They are just better. I
wish some of the features, like JNLP generation, appeared earlier to
save me a lot of work. <br>
<br>
One of the coming subprojects of FlyingGuns will be the scenario
editor. For the project to always try to stay close to Java standards
(Java3D, Swing, javac, ant, etc.), NetBean RCP will be the choice.<br>
<br>
<h4>Compared to French, Chinese, Brazilian users of
NetBeans, German users seem quiet. Why is this?<br>
</h4>
I totally agree. NetBeans is not that visible in Germany, but I don't
know
the reason exactly. Other IDEs are very strong here. This confuses me a
bit,
because German developers don't even require a localized version—they
prefer the original English versions (in contrast to France I think).<br>
<br>
One reason might be that NetBeans had the reputation of being slow, and
reputations, especially bad ones, last very long here. Whenever I point
other developers I know towards a new release of NetBeans they admit
that NetBeans has improved a lot. But they just don't care for J2EE
integration or web support that much. The main thing they work with is
the editor where NetBeans is still a little bit behind. Matisse has
been the only feature where they really thought using NetBeans is
great!&nbsp; <br>
<br>
<h4>Will you lobby to get a NetBeans Day event in Germany?</h4>
Absolutely. NetBeans is not that strong here which means the room for
improvement is very big. :) I'd connect it to a
popular conference like <a href="http://jax.de/">JAX</a>.<br>
<div style="text-align: right;"><span style="font-style: italic;">(April
2007)</span><br>
</div>
<h2>More Dream Team Profiles</h2>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-bien.html">Adam
Bien</a><br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-bold.html">Emilian
Bold</a><br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-brabant.html">Vincent
Brabant</a>
<br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-chandler.html">Wade
Chandler</a>
<br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-giudici.html">Fabrizio
Giudic</a><br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-senger.html">Vinicius
Senger</a><a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-giudici.html">i</a>
<br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-silva.html">Edgar
Silva</a><br>
<a
 href="https://netbeans.org/community/articles/interviews/dreamprofile-urrutia.html">Ibon
Urrutia</a><br>
<br>
</body>
</html>
