<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #225 - Jan 18, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-01-18">

<link rel="stylesheet" type="text/css" href="/netbeans.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<!-- ====================================================== -->
<!-- Please do not edit this file by hand, it is rebuilt    -->
<!-- automatically and your changes will be lost.  Contact  -->
<!-- webmaster for details.  Rebuilt at                     -->
<!-- #TIMESTAMP# 18-Jan 11:10 CET                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #225 - Jan 18, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #225 - Jan 18, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-01-18.html'>https://netbeans.org/community/news/newsletter/2006-01-18.html</a>&gt;<br>
Interested in becoming a newsletter editor?  We're always looking<br>
for editors to help out. Contact <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
<hr><pre>NetBeans 5.0 Release Candidate 1 Now Available
RC1 includes comprehensive support for developing IDE modules and rich client
applications based on the NetBeans Platform, the new intuitive GUI builder
Matisse, new and redesigned CVS support, Sun Application server, Weblogic9
and JBoss 4 support, other editor enhancements, and bug fixes. Download
NetBeans IDE 5.0 RC1 or NetBeans Platform 5.0 RC1.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=224">http://services.netbeans.org/newsletter/story.php?id=224</a>&gt;

Full Flash Demo of Matisse Now Available
Talley Mulligan posted the full flash demos of the Matisse Tutorial. Check
them out (click the little View Demo links in the doc).
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=225">http://services.netbeans.org/newsletter/story.php?id=225</a>&gt;

NetBeans Mobility Pack 5.0 RC1
The NetBeans Mobility Pack 5.0 RC1 is now available. It can be used to write,
test, and debug applications for Java ME platform technology-enabled mobile
devices.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=226">http://services.netbeans.org/newsletter/story.php?id=226</a>&gt;

Share Your Ideas for NetBeans Mobility Pack Improvements
Learn how you contribute to making the NetBeans Mobility Pack better. Sign up
for a Mobility Pack Customer Interview; share you thoughts with other users
and more.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=227">http://services.netbeans.org/newsletter/story.php?id=227</a>&gt;

NetBeans Profiler RC1
The NetBeans Profiler is an add-on to NetBeans IDE adding a full-featured CPU,
memory and threads profiling capabilities, tightly integrated into the IDE
work flow. There are no new features in Release Candidate 1. Instead, many
serious bugs have been fixed in this release.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=228">http://services.netbeans.org/newsletter/story.php?id=228</a>&gt;

Sun and Oracle: The Next Era Begins
Part of this announcement includes Oracle's endorsement of the NetBeans IDE,
which will fuel innovation through open source software and community-based
development.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=229">http://services.netbeans.org/newsletter/story.php?id=229</a>&gt;

Publish Plug-ins Painlessly (Part 1)
In 5.0, creating the framework of a plug-in module is a piece of cake. But,
after you finish developing the plug-in module, how do you publish it? It's
really a lot easier than you might think. Let Geertjan show you how. In his
blog he explains the steps you should take when creating an Update Center.
Don't really know what an "Update Center" is? That's another reason to read
his blog:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=230">http://services.netbeans.org/newsletter/story.php?id=230</a>&gt;

Using Java Web Start to Launch NetBeans
Charles Ditzel writes, "If you missed Hans Muller's blog you missed a very
nice achievement.  Hans has used Java Web Start to launch NetBeans.  This
achievement allows you to select a link on a web page and boom - it loads
NetBeans over the wire.  As one developer said - "Wow, this is one of those
eye-opening experiences...". It is."
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=232">http://services.netbeans.org/newsletter/story.php?id=232</a>&gt;

Stuck with Gridbag? We Have a Better Solution!
Watch a funny cartoon about Gridbag layout manager and a Matisse flash demo
and compare the ease of GUI development:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=233">http://services.netbeans.org/newsletter/story.php?id=233</a>&gt;

NetBeans Frappr! Map
John Clingan has created a new NetBeans Frappr! Map. Sign yourself up if you
use NetBeans. It's a fun way of seeing who is in the community.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=234">http://services.netbeans.org/newsletter/story.php?id=234</a>&gt;

Developer.com Winners for 2006
Lukas Hasik writes, "Sun is listed 5 times in list of winners published on
Developers.com. I glad to see Sun listed there and winning the prices but...
Personally I'm little bit disappointed that NetBeans or Mobility Pack are not
listed there. How could Wireless ToolKit (WTK) beat Mobility Pack?"
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=235">http://services.netbeans.org/newsletter/story.php?id=235</a>&gt;

All Aboard! Next Stop NetBeans WorldTour Bangkok, Thailand
If you are in Thailand and want to see the latest and greatest that NetBeans
has to offer come to Bangkok January 26, 2006. You can now register and take
a look at the agenda. In February the WorldTour will continue in India and
Singapore. For full details visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=236">http://services.netbeans.org/newsletter/story.php?id=236</a>&gt; </pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be Robert Demmer. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>