<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #190 - Feb 08, 2005</title>
<META NAME="description" CONTENT="Newsletter 2005-02-08">

<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# 08-Feb 17:10 CET                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #190 - Feb 08, 2005</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #190 - Feb 08, 2005<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2005-02-08.html'>https://netbeans.org/community/news/newsletter/2005-02-08.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>Vote for NetBeans!
NetBeans has been nominated yet again for more awards. Voting for the
2005 Java Developers Journal and LinuxWorld Magazine Readers' Choice Awards
has begun. For the actual nominations and links for voting visit:
&lt;<a href="https://netbeans.org/community/news/index.html#567">https://netbeans.org/community/news/index.html#567</a>&gt;

Download NetBeans IDE 4.0 Japanese and Chinese Language Releases
The Japanese and Simplified Chinese versions of NetBeans IDE 4.0 is now
available for download. Use the dropdown box next to Choose Localization
Language to select the appropriate version.
&lt;<a href="http://services.netbeans.org/downloads/download.php?a=b&p=1">http://services.netbeans.org/downloads/download.php?a=b&p=1</a>&gt;

Help make NetBeans IDE better - Performance Survey online
The NetBeans team have put together a list of questions that focus on your
level of satisfaction concerning the performance of NetBeans 4.0. By taking
part in this survey you will be helping the team decide where to concentrate
their efforts in the future. The survey is expected to run for one week.
&lt;<a href="http://performance.netbeans.org/survey/nb40-performance-survey.html">http://performance.netbeans.org/survey/nb40-performance-survey.html</a>&gt;

Developing Applications for TiVO in NetBeans
The TiVO folks have a Java SDK for writing applications that run on a TiVO
along with a simulator that lets you run and debug applications on your
computer. Tim Boudreau shows us how to set up NetBeans to run/debug TiVO
applications.
&lt;<a href="https://netbeans.org/kb/articles/tivo.html">https://netbeans.org/kb/articles/tivo.html</a>&gt;

Using UEI Emulators
Making use of emulation environments is crucial when writing code for a mobile
market but making use of the hundreds of different emulation environments out
there can be easier said than done. Now that the NetBeans Mobility Pack 4.0 is
available as a free download, it's easier than ever to incorporate different
emulators and switch back and forth between them while developing one seamless
set of code.
&lt;<a href="http://developers.sun.com/prodtech/javatools/mobility/reference/techart/nbmp40-emulators.html">http://developers.sun.com/prodtech/javatools/mobility/reference/techart/nbmp40-emulators.html</a>&gt;

NetBeans IDE 4.1
In an article by Qusay H. Mahmoud he takes a look at NetBeans IDE 4.1 Early
Access 2. Whether you are new to NetBeans or just anxiously awaiting NetBeans
4.1 it is definitely worth taking a look at. Cruise on over to:
&lt;<a href="http://java.sun.com/developer/technicalArticles/JavaLP/netbeans41EA2/">http://java.sun.com/developer/technicalArticles/JavaLP/netbeans41EA2/</a>&gt;

Web Chat Transcript: Solving the Device Fragmentation Problem
If you didn't attend the web chat that was held on January 26, 2005 here is
your chance to see what you missed. Get the link to this particular transcript
and past chats:
&lt;<a href="https://netbeans.org/community/lists/chats/">https://netbeans.org/community/lists/chats/</a>&gt;

Win Apple iPod Photo Competition Ends
The apple iPod competition has come to a close and there was an overwhelming
response. Stay tuned for the grand prize winner and links to all accepted
submissions at:
&lt;<a href="https://netbeans.org/competition/win-with-netbeans.html">https://netbeans.org/competition/win-with-netbeans.html</a>&gt;

In other news:
ICEsoft Releases ICEbrowser Bean and ICEreader BEAN
&lt;<a href="http://www.icesoft.com/newsletter/Bean_Release.html">http://www.icesoft.com/newsletter/Bean_Release.html</a>&gt;

Xoetrope issues final release of XUI 1.0.4
&lt;<a href="http://www.programmersheaven.com/app/news/DisplayNews.aspx?NewsID=3827&ZoneID=">http://www.programmersheaven.com/app/news/DisplayNews.aspx?NewsID=3827&ZoneID=</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>