<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Netbeans Platform Interview: ThinkingRock and Getting Things Done</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="author" content="lloyd.dunn@sun.com">
<meta name="description" content="
	Interview with Jeremy Moore, lead developer of ThinkingRock on the NetBeans Platform
	">
<meta name="keywords" content="
	NetBeans, IDE, Platform, integrated development environment, interview, ThinkingRock, Getting Things Done
	">
<link href="../../../netbeans.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
.photobox {
	float: left;
	padding: 0 1em 1em 0;
	}
	.photobox p.caption {
		margin: 3px 0;
		font-size: smaller;
		}

.lead {
	margin: 1em 0;
	font-size: 1.2em;
	}

.callout {
	font: 1.5em/1.5em serif;
	color: #ee6b00;
	border-left: 1px solid #d1d1d1;
	width: 180px;
	float: right;
	padding: .25em 1em .75em 1em;
	margin: .5em 0 .5em 1em;
	}

.infobox {
	width: 180px;
	border-left: 1px solid #d1d1d1;
	float: right;
	padding: 0 1em .75em 1em;
	margin: .5em 0 .5em 1em;
	}
	.infobox p {
		color: #ee6b00;
		margin: .7em 0 .3em 0;
		padding: 0 0 3px 0;
		border-bottom: 1px solid #d1d1d1; }
	.infobox li { margin: 0 0 0 -2em; }

hr {
	clear: both;
	border: 0 none;
	height: 1px;
	border-bottom: 1px solid #d1d1d1;
	margin: .25em 0 1em 0;
	padding: .25em 0 1em 0;
	width: 100%;
	}

h1, p { line-height: 1.5em; }

q:before { content:"“";}
q:after { content:"”";}


</style>
</head>

<body>

<h1>NetBeans Platform Provides the Pre-invented Wheel <br>So You Can Get Things Done
</h1>
<h3>An Interview with Jeremy Moore, Software Developer of ThinkingRock</h3>
<p class="lead">
The time management book "Getting Things Done", by
David Allen, promises to help readers handle work-life tasks more
productively through a simple five-step plan: collect, process,
organize, review, and do. The book's approach has become a popular
model in the personal management and productivity industry, and has
earned an eponymous&nbsp; acronym: GTD<sup>®</sup>. Now, a two-person
development
team in Australia has repurposed the GTD concept for the digital set,
creating a software application to help the tech savvy but disorganised
get things done. The application, <a href="http://www.trgtd.com.au/">ThinkingRock</a>,
was built on the <a href="http://platform.netbeans.org/">NetBeans
Platform</a> and has been getting rave reviews. We spoke to the lead
developer of ThinkingRock, Jeremy Moore, to learn about his team's
experience using the NetBeans Platform.
</p>

<div class="photobox">
<img id="thinkingrock" src="../../../images_www/articles/interviews/thinkingrock.jpg"
    alt="ThinkingRock development team" title="ThinkingRock development team" />
<p class="caption">The ThinkingRock development team out on a rock, er, thinking</p>
</div>

<p><b>What drew you to NetBeans?</b></p>
<p> I first started using NetBeans back around 2000 when I was learning
Java. I think it was NetBeans 3.0 or something. The
non-commercial and open-source nature of it was a big draw for me
and there were no problems getting at any of the code. The
documentation back then was lacking a bit, but there was always a good
vibe with the NetBeans community. There was always help via the email
lists.
</p>
<p> <b>As a long time NetBeans user, what changes have been the most
striking or useful for you
over the years?</b>
</p>
<p> NetBeans has come a long way and now has good documentation. I
can't remember exactly what functionality was or was not there when I
first started using it, but I do remember having all sorts of problems
building an application on the Netbeans Platform, just trying to get
the things that were supposed to work to actually work.
</p>
<p> Now it is very easy to build a Rich Client Platform application
(although the platform is not quite as separate from the IDE as I would
like). There was not a lot of documentation back in those days and you
really had to get your hands dirty. Now it's much better and there are
blogs and lots of info on the Web as well as the NetBeans web site.
</p>

<div class="callout">
<q> We first just built ThinkingRock without using any platform at all,
but soon realized that we were re-inventing the wheel in many aspects.
</q></div>

<p><b>Did you evaluate other platforms?</b></p>
<p> Yes. We first just built ThinkingRock without using any platform at
all, but soon realized that we were re-inventing the wheel in many
aspects. For example, there was no need for us to implement our own
drag-and-drop when that problem had been solved already. We then looked
at various platforms, with the main contenders at the time (just over
two years ago) being Eclipse and NetBeans.
</p>

<p> We first looked at using Eclipse, but found it lacking. Our main
reason for discarding it was their poor implementation of the Standard
Widget Toolkit. Basically, it worked great on Windows, but not so great
on the Mac. And, support for SWT was either buggy or non-existent on
some platforms. (In fairness, the situation is probably a bit better
today).
</p>
<p> We wanted our application to work on as many platforms as possible,
therefore we felt we needed a 100% Java solution. We also evaluated
other platforms, but most were just getting started. They either lacked
some functionality we really wanted, such as a plug-in architecture.
Either that, or they were not mature enough.
</p>
<p><b>What did you like about the NetBeans Platform?</b></p>
<p> It's 100% Java, and has the plug-in architecture that we needed,
for starters. Also, it's now a mature IDE. I like the fact that it's
open source and it's continually improving. Also, the NetBeans
community spirit is a real plus.
</p>

<div class="callout">
<q> NetBeans is now a mature IDE. I like the fact that it's open source
and it's continually improving.
</q></div>

<p><b>Earlier you said you found the NetBeans documentation particularly valuable to you?</b></p>

<p> The documentation has gotten much better and the tutorials help a
lot. For example, the
Selection Management tutorial was a great help when we were working on
that functionality.<br>
</p>
<p>Also, the e-mail lists, especially openide-dev, proved very
useful. I would have to also say that the <a
 href="http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/0132354802/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1227622445&amp;sr=1-2">Rich
Client Programming book</a>
has been really helpful in understanding the NetBeans architecture. </p>
<p><b>What about NetBeans' plug-in architecture? How was it valuable to
you?</b></p>
<p>Our rich client application consists of many modules which we can
easily update and deliver via our update center—without making the
user download the whole application. We are also adding new
functionality which, because of the platform, we can deliver as plug-in
modules. It's also nice that users have the flexibility to choose to
add or remove functionality and modules. </p>
<p>Because NetBeans is open source, a main benefit is the fact that
anyone can get the source, see what it actually does, and change it if
they need to. So the developer is not totally reliant on some company
to provide a solution that might be missing—usually for a fee and on
their time schedule.</p>

<div class="infobox">
<p><b>What is ThinkingRock?</b></p>
<ul>
<li>ThinkingRock, a time-management&nbsp; application based on the principles laid out in David Allen's book "Getting Things Done"</li>
</ul>
<p><b>How do I get it?</b></p>
<ul>
<li>Download ThinkingRock <a href="http://sourceforge.net/project/showfiles.php?group_id=194713">here</a>.</li>
</ul>
<p><b>Operating systems?</b></p>
<ul>
<li>Windows, MacOS X, Linux</li>
</ul>
</div>

<p><b>What APIs did you like?</b></p>
<p>The Lookup mechanism is probably one of the most useful. One of the
things we use it for is with the service provider scenario. We can
define a service API and then we, or anyone else for that matter, can
provide service implementations and deliver them as plugin modules.
</p>

<p>For example, we have a text component which allows the user to enter
notes. They can also enter URL-type links to web pages and other
things.
We want this to be extensible so that we can easily handle new types of
links or protocols so that, when the link is selected, the appropriate
application will be fired up and take the user to the linked resource.
We accomplished this by having a Service Provider API. Then we can look
up all the provider instances to see if any can handle the selected
URL,
and if so, we call the provider application to handle it.</p>
<p>But there are other APIs I like, too, such as the windowing system,
the explorer, the module system. ...</p>
<p style="font-weight: bold;">How many people are developing
ThinkingRock? Does NetBeans offer you
any advantages in working collaboratively with other programmers?</p>
<p>There are mainly two of us developing ThinkingRock, although we have
had various contributions from our users. We haven't really needed
collaboration tools apart from having our source in a subversion
repository on SourceForge. For that, we use the NetBeans plugin for
subversion, which works very well. </p>
<p><b>Any closing words about the NetBeans community?</b></p>
<p>You are always treated with respect when you ask questions on
the email lists. I've seen that people go to a lot of trouble to help
you. People have put a lot of effort into Netbeans over the years and
not for financial reward (even though some are Sun employees). I think
that the members of the NetBeans community really believe in what they
are doing—and it shows.</p>
<h2>Additional Resources<br>
</h2>
<ul>
  <li>Learn more about <a href="http://www.trgtd.com.au/">ThinkingRock<br>
    </a></li>
  <li><a
 href="http://sourceforge.net/project/showfiles.php?group_id=194713">Download
ThinkingRock</a> at SourceForge</li>
  <li>Learn more about <a href="http://platform.netbeans.org/">NetBeans
Platform</a><br>
  </li>
</ul>
</body>
</html>
