Thursday February 05, 2009 NetBeans in Wonderland (Part 2)
In part one, I talked about what project Wonderland is and where you can try out a live demo of version 0.4. Much like SecondLife, Wonderland is a 3D world with avatars and audio/text chat. But unlike SecondLife, Wonderland is open-source and more business-oriented, for instance there's live application sharing. You can use it to collaborate on projects with your team of developers in a private 3D world.
Part two is about how to set up your own Wonderland server and client. I will share an instance of NetBeans in this example, but of course you can share any Xwindows application, including the Terminal.
Prerequisites: Solaris/Linux
Windows and Mac versions of the Wonderland 0.4 server don't seem to be available yet, so presently Solaris or Linux are a prerequisite. Note that Wonderland clients (including a webstartable one) are available for all operating systems. In this example I use OpenSolaris, and the instructions should be identical for Linux.
Prerequisites: Java
Before running Wonderland, make sure you have JDK 6 installed. (Use the terminal commands javac -version to check). If you don't have javac, install the JDK 6. On Solaris, go to the main menu, choose System > Administration > Package Manager, and install the java-dev package from the Development category.
Prerequisites: Installing the Shared Application
Obviously the application that you want to share must be correctly installed and on your PATH. In this example I downloaded and installed NetBeans. Check whether NetBeans is in your PATH by typing which netbeans at a fresh Terminal prompt. If the command returns empty, you need to add NetBeans to your PATH before proceeding. Find out where the NetBeans binaries were installed -- in my system, it's in the /opt/netbeans-6.5/bin/ directory. Remember this path and add it to your config file (I use the bash shell, so for me the file is .bashrc).
ruth@sonnig:~$ gedit ~/.bashrc
Add your netbeans binary path in the following way and save the file.
export PATH=$PATH:/opt/netbeans-6.5/bin/
Reload the .bashrc configuration (in every open Terminal window).
ruth@sonnig:~$ source .bashrc
Test whether NetBeans was successfully included in your PATH.
ruth@sonnig:~$ which netbeans /opt/netbeans-6.5/bin/netbeans
Installing Wonderland
Now it's time to install Wonderland. Go to lg3d-wonderland.dev.java.net and download the binary build (for example wonderland-0-4-0-solaris-i86pc.zip), and extract the archive.
ruth@sonnig:~$ unzip wonderland-0-4-0-solaris-i86pc.zip
Change into the wonderland directory and edit the settings.
ruth@sonnig:~$ cd lg3d-wonderland/bin/ ruth@sonnig:~$ gedit ../my.run.properties
Modify the following lines to include your host name and IP address, and save the file. (You will have to redo that if you use DHCP and are assigned a new IP address.)
wonderland.local.hostAddress=123.454.32.1 sgs.server=sonnig sgs.port=1139
Starting the Wonderland Server
OK, you're all set! Now it's time to start the server. According to the instructions, you run the binaries as follows:
ruth@sonnig:~$ ./wonderland-bridge.sh ruth@sonnig:~$ ./wonderland-server.sh ruth@sonnig:~$ ./wonderland-smc.sh
Starting the Wonderland Client
Finally, start a Wonderland client and connect to your server. The client can run on any operating system, on the same host or on a different one, webstart or desktop app, it's up to you. The only requirement is that the host must support 3D graphics. (Since my OpenSolaris runs in a virtual machine and VirtualBox cannot handle 3D graphics, I use the Mac client.) When the login dialog appears, enter the IP address that you specified above, pick any username, and connect.
Welcome to your very own Wonderland. :-) You walk around using the arrow keys. Select Netbeans from the Shared Apps submenu and find the window floating in the room. Gain/release control of an application by Shift-Left_clicking the window title. Tip: I don't know what Solaris thinks ctrl-space is, but it didn't trigger code-completion; so I'm using ctrl-\ instead.

A shared application (here NetBeans) in 3rd-person view and in Best View (Shift-Right_click)
Now it's time to invite some friends over: Ask them to webstart the client, give them the Wonderland server's IP address, and have a little chat around the campfi-- um, around the IDE. Hmm. Around the IDE...? Well, it is a 3D world... What if I walk around the IDE and look at it from behind?

Behold. The far side of NetBeans! :D
The next step is to load custom 3D models (more documentation is here). But I'll wait until I migrated my stuff to a Linux machine -- VirtualBox is nice, but seeing that it takes up way over 50% of my RAM gives me fits of claustropobia. ;)
Posted by seapegasus ( Feb 05 2009, 04:33:39 PM CET ) Permalink Comments [4]NetBeans in Wonderland (Part 1)
Getting to Know Wonderland - Cybertech news reviewed Sun's Wonderland: A free open-source toolkit for building virtual 3D worlds in pure Java. Access a public Wonderland server or set up your own as a meeting point for your distributed team. Wonderland is based on Project Darkstar, a multi-user 3D world server.
Accessing the Wonderland Demo - To see for yourself, go to the education grid and click Enter the Grid, then click Sun Microsystems.
The browser opens a Java Web Start (JNLP) file. When the Java plugin asks about signatures, click Run (or Trust respectively) to continue. Your browser then downloads the Wonderland application to your desktop. (In my case the app detected an outdated Java3D installation, and gave me instructions how to remove them. I then double clicked the Wonderland app to continue.)
At the login dialog, type in any name (the demo does not require any registration), and create an avatar. The avatar is way less detailed than the ones in SecondLife, basically just hair and cloths colors.

Navigating in Wonderland - Note the View menu (1st/3rd/orbit view) and Placemarks (quick navigation). Walk and turn with the arrow keys, sidestep with Z/X, fly by pressing Q. Also try pressing numbers to trigger gestures like nodding and waving. Keep the right mouse button pressed to look up, down, left and right. The middle mouse button controls the right arm, and you use it to point at things. Walk around a bit and don't miss reading the crazy posters in the conference room!
Listening to Wonderland - The main means of communication in Wonderland is audio chat, but there is also a text chat interface. Invite a friend to webstart the client and log on simultaneously, and have a chat with him. A cool feature that you will immediately notice is 3D audio: Approach talking avatars, and their volume increases, and sounds from further away fade out. In case nobody is "home", the demo includes a couple of bots who talk about nothing but Darkstars and Blackboxes all day. :-)
The freely available Wonderland server supports interactive objects such as microphone stands (for room-wide announcements), telephones (think Skype), a cone of silence (for private conversations), and answering machines (to record and play audio). People who call into the world by phone are represented by floating spheres. Since a caller cannot navigate the 3D world (they wouldn't see where they are going), avatars in-world can help out by carrying the caller's sphere to another room, or by placing them in the Cone of Silence or in front of microphones. Pretty neat stuff. :-)

Sharing Applications - Wonderland allows you to share Xwindows applications from your desktop with other avatars. Log on to the public demo, walk around in the Demo Room, and try out the red-framed windows -- e.g. there's a whiteboard for drawing and a photo browser. Shift-left_click the frame to gain control over the application, then shift-right_click to move the camera to an optimal position. All keyboard input will now be sent to the shared application. Shift-left_click the frame again to release the application, and press escape or C to reset the camera position. Live application sharing, now that's something that Second Life doesn't have, eh? :)
Sharing NetBeans? - Why am I posting this in the NetBeans category? Can I stick my instance of the IDE to a wall in the 3D world, and my colleagues' avatars can use it as if they were standing right next to me?
Yes! Note however, although there is a NetBeans menu item in this demo, it is not active. Bummer. Those heartless people run the Wonderland server on a machine with no NetBeans installed! :-/ But setting up a local instance of the Wonderland server is easy, and if I run the server on Solaris or Linux, I can share apps such as NetBeans myself... Hm...
What will NetBeans be like in 3D? Will I be able to do code completion and window undocking? And will I be able to see NetBeans from behind? :-o Read part two of this blog entry to find out!

Let's All Switch to ASCII Video
Quick free-form poll: For learning, do you prefer...
I prefer text over video, unless it's a clearly visual topic (say, GUI builder) where only a screencast makes sense. I also know that non-native speakers of English prefer screencasts because they see what happens and don't have to follow the words.
I usually have more patience watching a short clip than an hour-long video, often they proceed at a faster or slower pace than I, which can become annoying. Similarly, I prefer videos with call-outs/captions/transcripts over audio-only, because it lets me read at my own pace. Not being dependend on the audio track also helps with speakers' accents, or in a busy environment (office).
Obviously, adding a transcript of the audio track increases production time (less time for other tutorials to be written), and recording audio takes longer than writing simple call-outs. So be careful what you wish for: Do you rather want content in an optimally accessible format, at the cost of it covering fewer topics? Or you don't care about the format, it can be txt or screenshots, just as long as it covers the whole spectrum of the technology you're learning about?
PS: Do you know the ASCII art library (AAlib)? It converts video to ASCII text. Just in an... unexpected way... :-D
Posted by seapegasus ( Jan 28 2009, 08:00:03 PM CET ) Permalink
100 NetBeans Tips and Tricks (ebook)
Since the ebook announcement rolled off the netbeans.org front page now (watch out for the contest coming soon), and since people have been asking, here another quick plug ;-) for our latest ebook, 100 NetBeans Tips and Tricks. Yup, it's the same book that was given away to attendees of the NetBeans Day at JavaOne last year; that makes the print version so rare, you can't even get it on Ebay. ;-P
Posted by seapegasus ( Jan 22 2009, 02:37:04 PM CET ) PermalinkKostenloses Java-EBook (Neue Auflage)
Die achte Auflage des Java-Kurses "Java ist auch eine Insel" ist draußen: Ein praxisorientiertes Buch nicht nur für diejenigen, die beim Brennball in der Schule immer als letztes gewählt wurden! (He... woher weiss der das?)
Das Buch erwähnt (empfiehlt) auch IDEs (z.B. auch den NetBeans GUI Builder), bleibt aber insgesamt Tool-neutral. Das hat den Vorteil, dass man das Gelernte überall einsetzen kann -- und welchem IDE-Menüpunkt das Beschriebene eventuell entspricht, findet man recht schnell raus. Anscheinend ist geplant, die achte Auflage nach und nach für JDK 7 zu aktualisieren.
Für 50 Euro bekommt man das komplette Buch auf toten Bäumen ausgedruckt -- plus eine DVD mit JDK 6, NetBeans, Eclipse, Beispielprogramme, Aufgaben und Lösungen, und sogar (hä?) ;) ein paar C/C++ Openbooks.
Das Javainsel-Ebook ist kostenlos online, und es gibt's es auch als 14MB Download zum Mitnehmen.
Thanks For Voting For Your Favorite IDE!
It is worth noting that in the past Sun has been able to dominate many categories, but it took multiple products to achieve that distinction. This year one product, NetBeans, dominated the categories by winning five out of twelve. -- Developer.com Product of the Year 2009
Yay! :-D
The five winning categories were:
Thanks for your votes! :)
Posted by seapegasus ( Jan 14 2009, 07:01:44 PM CET ) Permalink Comments [3]Thanks for your continuing efforts to translate netbeans.org pages into your native language! If you have checked the localization status page recently, don't be shocked if the column for your language is suddenly all "red". This is because we switched the table to the new 6.5 docs set. If you want to help us by updating a document, get in touch!
Posted by seapegasus ( Jan 14 2009, 05:30:02 PM CET ) PermalinkThe Cube! It's alive! (continued)
Happy new year everybody! Previously I mentioned that the NetBeans mascot, NekoBean has already been incarnated as plush toy, pendant, etc. Thiara went yet another step further: She posted instructions how to cut and paste (literally) a 3-dimensional NekoBean — as office decoration. :-D
If you don't read German, here's the translation:
Print the NekoBean template (PDF) on scrap paper, cut out the shape, and draw the outline on the backside of construction paper — unless your printer can handle fancier kinds of paper directly. The shape consists of the body, 4 legs, tail and 2 ears.
Draw the NekoBean's face on the frontside with a felttip pen. Here you find some faces for inspiration.End result: Meet my first makeshift Nekobean! (It was born solely of office materials... I colored the paper with a flipchart marker and glued it together with sticky tape...)
It hangs on nicely to a notebook screen, and it is equally well able to stand on flat surfaces. Thanks to Thiara for this hilarious tip!
PS: Now create your own and post photos!
Posted by seapegasus ( Jan 05 2009, 02:09:43 PM CET ) PermalinkGoogle recommends: "Eat cookies now"
Posted by seapegasus ( Dec 16 2008, 11:38:34 AM CET ) Permalink Comments [1]Two things that came as a complete surprise to me this weekend:
The island (and country) of Malta is smaller than Prague.
The NetBeans Cube is alive! OK, we already knew the Japanese community created NekoBean. And yes maybe a video, a wallpaper, and a logo or two. But... the plush toys and pendants were news to me! Way to go, Japanese community!
PS: Et tu, James Gosling!
We just spent haaalf of our afternoon refreshing netbeans.org and javafx.com in our browers -- and lo, here it is, JavaFX 1.0. :)
If you've already got NetBeans 6.5, go to the update center (Tools > Plugins > Available Plugins) to install the plugin(s). If you don't have 6.5 yet, you can download the IDE including JavaFX support here.
I say plugins above because there's also a special Mac SDK, a debugger, and a sample project on the update center. At minimum you need JDK 6_10, the JavaFX 1.0 plugin (and the SDK if you are on Mac OS).
You can use JavaFX for webstarting apps (JNLP), desktop apps, mobile apps, and Applets ("They are baa-aack!"), just like Java. You can keep your existing Java code and use JavaFX to spice up the user interface if you like. Look at these tutorials and sample applications online. Download the sample code to get started -- That's at least what I'm doing right now. :)
Posted by seapegasus ( Dec 04 2008, 05:03:07 PM CET ) Permalink Comments [1]NetBeans IDE 6.5 is out, and to celebrate the occasion I updated the NetBeans 6.x screencasts page.
Highlights: In October and November, Geertjan recorded a great 3-part series of Groovy & Grails introductions, and also a very thorough 4-part NetBeans Platform API series. The Platform screencasts average out at 30 min per video, so you're basically getting a whole expert training for free, very cool!
Other new 6.5 tutorials show off the new PHP support (there will be more coming!), JavaScript, Rails and web applications running on the GlassFish v3 Prelude app server, and RESTful web services. Have fun, and leave comments!
Posted by seapegasus ( Nov 20 2008, 05:18:08 PM CET ) PermalinkWie Ihr sicher schon gesehen habt, ist NetBeans IDE 6.5 (Download) draußen. :) Aber wo ist die deutsche Community-Lokalisierung? Im Sprachen-Menü sind nur die 100%-fertigen aufgelistet (Chinesisch etc). Um die Community-Lokalisierungen wie Deutsch, Franzöisch, Spanisch, Italienisch, Polnisch, u.a. runterzuladen, klickt Ihr "More Languages..."

Der Direktlink ist: NetBeans Multilingual Download
Welche Module sind übersetzt? Auf der Statusseite seht Ihr, dass die gesamte Basis-IDE (Platform, Profiler, Versionsverwaltung), und auch Java SE, C/C++, PHP, Profiler, und Ruby, fertig sind. Das sind stolze 52%! Wir arbeiten noch an Java EE/Web App, Java ME, Groovy, SOA/XML.
Dank dafür an das ganze Team vor allem an Christian P. und Peter H.! Sobald die Lieferung bei mir ankommt, schick ich Euch das neue TranslatedFiles-T-Shirt. :)
Wie kann ich Übersetzungsfehler melden?
Being a Java Programmer is Unfair in Finnland?
"Life is just not fair", sings the complaint choir, and "the employments agency only needs Java programmers!" (5:35) Where's the complaint here? Finnland, here we come. :-D
Listen to the whole song (in Finnish, with subtitles) here: On se niin väärin!! Everything sounds better in Finnish. :)
Posted by seapegasus ( Nov 14 2008, 05:26:28 PM CET ) PermalinkHandelsreisende mit NetBeans im Gepäck
Geertjan hat ein interessantes Interview mit "unserem" Aljoscha Rittner über dessen neue Kundendatenverwaltung gemacht. Die Anwendung stellt die Kundenstandorte auf einer annotierten Landkarte dar (inklusive z.B. Radarfallen), und ein Handelsvertreter oder Geschäftsmensch lässt sich damit die optimale Route anzeigen, um auf seiner Fahrt so viele Kunden wie möglich abzuklappern. Sehr schön mit den NetBeans-Platform-APIs implementiert, inklusive Hilfesystem und Assistenten, davon kann man viel lernen.
Auf Englisch ist das Interview als Porting a Sales System to the NetBeans Platform auf der NetBeans Zone erhältlich. Alle Antworten auf Deutsch gibt es zusätzlich als PDF. Lest auch Joschs neuste Platform-Erkenntnisse in seinem Blog.
PS: Herzlichen Glückwunsch zum 10. Geburtstag, NetBeans!
Posted by seapegasus ( Oct 20 2008, 04:19:21 PM CEST ) Permalink