Download NetBeans!

20060505 Friday May 05, 2006

Day 3: NetBeans Day 2006, Johannesburg

NetBeans Day in Johannesburg is over! Wow, what a success: full room, plus/minus 150 participants, and one presentation on top of another by Sang, Chuk, and myself. The day started with James Gosling's keynote. He gave a very nice overview of the usefulness of tools and the choice made by NetBeans to provide sophisticated development support out of the box for all standard Java technologies. Then I followed with a presentation called: "What Makes NetBeans The Best?" It introduced NetBeans, asked the question "What is NetBeans? " (to which the answer was: a platform, an IDE, and a community), and then went over its distinguishing features. I did a demo of the Ant support in the IDE, showing how project commands invoke Ant targets and how you can import and integrate an Ant script from your own external application. Then I did a demo on the Java BluePrints, showing how they are more than just samples: they provide specification-compliant code as well as a lot of detailed description and code samples. Finally, I finished the presentation with an overview of the editor functionality. Somebody applauded (very loudly) when I demonstrated the hint that the IDE gives you for generating an implemented class's abstract methods. Also "hippie completion" was very impressive to the audience. The fact that the editor's buffer, rather than the classpath, is polled for matching words is a really powerful feature. I didn't do a demo of Collab, because I had done that yesterday with Chuk, but maybe we should've done it anyway. I saw some people looking really impressed when I said: "You can debug someone else's code and build and run it on their machine from your own IDE installation." So not absolutely everyone, albeit almost everyone, who was at NetBeans Day was also at the Extreme Programming session yesterday.

Then Chuk followed with a really wide ranging, and understandable for newbies (such as myself), presentation on J2ME in NetBeans. (By the way, I talked to James Gosling in the morning, before his keynote, and he suggested: "Why don't we use the J2ME visual editor for designing event flows for Matisse GUI apps?" I think that would be a fantastic extension of the Matisse support that we provide. Many people, seeing the tutorial and the Matisse GUI Builder itself, ask: "Great. Now I have a very sophisticated user interface. What do I do next to hook up events and interaction with the database?" So, wouldn't it be cool if we could provide a drag and drop interface for a visual representation of event handling? And, remember, it was James Gosling who suggested it!)

After that was the coffee break. We raffled a PDA Palm set (the winning number was 080) at that point. After the coffee break there was initially some technical difficulty getting my laptop to be displayed on the overhead screen. It really frustrated me though I tried not to show it. 15 minutes into my allotted time, we decided to hook my laptop directly to the projector, rather than via some extension cord that seemed to be causing the problem. It was Chuk's idea (he's the guy you want to be with in a crisis). In the meantime, Sang had opened the floor to a Q/A session, which also worked really well. Then, the technical issue resolved, I began my rich-client application presentation. I showed them a lot of slides, showing all the GUI support that the IDE now provides for rich-client apps and modules. I had a slide that showed my Music NotePad with Alex's Napkin Look and Feel and then, when I explained its purpose ("You know when your manager looks at your application and thinks that because the u.i. looks good, the application is finished? Well, with the Napkin Look and Feel, your manager will not think that!"), people laughed and there was a lot of applause. I added that the module that provides that look and feel was created by a community member (i.e., Alex Lam), which is of course further justification for saying that NetBeans is a platform, an IDE, and a community. Then, after the slides, I showed my Music NotePad. I said this was the "first official appearance of this application". People were pretty impressed (someone came afterwards asking for the code, someone else came before the day started, saying he'd seen my app in my blog and that he wanted to get the sources, and at the booth on the first day, there were two guys who also showed a lot of interest in working with the app, so maybe I should open source it and create a project on java.net for it). After showing the finished app and inspecting the sources a bit, I showed how to wrap the JFugue API (by the way, I also showed them the JFugue hompage and raved a bit about how cool that API is) in a module and invoke the JFugue player from a menu item in the NetBeans Platform's toolbar. Unfortunately I forgot to install the Google Toolbar which I had created in yesterday's session into the Music NotePad (I had practised doing it, and it would've been a great example of the flexibility of modules: build once, deploy anywhere). By the way, I talked to David Botterill afterwards, and he said that as someone who has used module development in NetBeans in the past (i.e., before 5.0), he was just blown away by all the user interface support we now have. (He particularly mentioned the user interface for interacting with layer.xml files provided by other modules, such as choosing "Delete" on a node and then having the _hidden tag generated in the layer.xml file.)

Finally, Sang did a presentation on Java EE support in NetBeans IDE 5.0. He showed some pretty technical things, including some stuff I'd never heard of, like DOJO. He profiled a web app (which has buttons with the labels "Start Leaking" and "Stop Leaking"). He displayed his long list of NetBeans tutorials and hands on labs. He's done the NetBeans community an incredible service putting that long list together. (Click here and be amazed at how many NetBeans tutorials there really are.) He also referred to a new AJAX book that uses NetBeans-ready sample code, that you can just download and install and then get to work with cool stuff like web-based auto completion. (Go here for the download to which he referred, with samples per chapter in the book.)

One other thing: Apart from James Gosling's suggestion about event handler visualization in Matisse (mentioned above), the other great idea I heard during the last few days was Chuk's suggestion to use the Java BluePrints framework in the IDE for delivering module samples. How cool would that be? Like with the Java BluePrints, there'd be a problem statement and a design page, with a button that takes you to the New Project wizard where you can create the sample in the IDE. I guess I'd need to speak to Inder about this.

Finally finally, Julie Welch, our great NetBeans Day organizer (who is never flustered, even when you hand out all the CDs intended for NetBeans Day on the first day of Sun Tech Days), had also organized a professional photographer! She said the top quality pictures that this photographer made should be available on Monday.

May 05 2006, 05:45:40 AM PDT Permalink

Trackback URL: http://blogs.sun.com/geertjan/entry/day_3_netbeans_day_2006
Comments:

Thanks for the Netbeans talk it really was great.. I really cant wait for 6.0.. I'm just sorry I saw Matisse only um yesterday?!.. It would have saved me weeks of donkey work. My view of Netbeans changed a lot over these last couple of days (for the better).. Just one quick question.. you mentioned uml functionality.. where can I obtain more information about that?

Posted by Ulrich on May 05, 2006 at 06:42 AM PDT #

Hi Ulrich! Great to get this comment. The UML support was in the 5.5 Preview release (which might still be available on the netbeans.org download page), but I think it is going to be provided as a separate pack (i.e., a set of modules) soon. Watch this space -- and you're not the only one, several people have asked about UML support (and several people are very confused that we offered UML support in the 5.5 Preview, but will not be doing so in the 5.5 final release; I must admit that I am one of those confused people myself). Anyway, enjoy Matisse, Ulrich, and keep in touch.

Posted by Geertjan on May 05, 2006 at 06:48 AM PDT #

Being a fan of UML as I am, I have had a play with the NetBeans 5.5 Preview with the Enterprise Pack (which works/looks like the UML in Java Studio... which makes sense) and it is going to be really good when they release 5.5. :) P.s. Thanks Geertjan for the links to all those tutorials and that AJAX code, I have a couple of Jr Programmers who are going to be very interested in them.

Posted by Rory on May 05, 2006 at 11:07 AM PDT #

Rory, great to know you'll find those links useful for junior programmers. Like you, I also hope that there'll be smoothness ahead for UML in relation to 5.5. But, it won't be part of the standard distro, as it was in the preview release. My understanding is that a separate pack (similar to "Mobility pack" being a separate pack) or a set of modules available from the update center, will be provided for this support in the final release of 5.5.

Posted by Geertjan on May 06, 2006 at 02:45 AM PDT #

hi

Posted by oiu on August 29, 2006 at 12:47 AM PDT #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed