NetBeans Day Hyderabad: Standing Room Only
By Geertjan on Feb 22, 2007
The day began with an introduction by Ashwin, where he outlined strategies and roadmaps and so on, after which I followed with a truncated 20 minute version of "On the Move with NetBeans". Normally, this session is 50 minutes, but because of involvement by partners, it was cut short, also on the agenda. So I knew I didn't have much time and had to do something useful. So I compared the NetBeans editor in 5.5 to the editor in 6.0 (and one or two things broadly related to the editor). I literally had both IDEs open simultaneously and continually switched from one to the other to prove a point. Based on Vincent's excellent Flash demo as my starting point, I covered the following improvements, in this order:
- project groups
- stop-and-replay on run
- generating parameterized constructor from code completion box
- instant rename
- smart code completion ("import" statement below package declaration)
- removing unused import statements
- highlighted method exit points
- simplified 'surround with'
- drag and drop of file and folder from desktop to editor and project
I explained at some point that the rewritten editor is equivalent to performing open heart surgeory. In other words, incisive and definitive, not tweaking, but transforming. I also mentioned that since the underlying APIs are being rewritten, anything created on top of the NetBeans Platform is automatically going to benefit as well. Both Ashwin and I thought that I went a bit over the top in slamming the pre-6.0 editor. Especially since many people might not have had much to complain about in the current editor and would have considered the forthcoming enhancements as simple improvements rather than something as dramatic as 'open heart surgeory'. Ah well. I could see quite a few people looking up admiringly at some of these cool enhancements, such as the 'stop-and-replay on run' feature, which I sold as "useful especially when you are a beginner and you tend to end up in loops you never wanted to be in in the first place".
Then followed some presentations by partners. Also Sun people were involved. There was an excellent and thorough session on Java EE 5 and Infosys, one of Sun's major partners in India, also had a great speech and very encouraging words about NetBeans. Everyone in the room applauded when we were told by Infosys that they had definitely decided to use NetBeans. Another partner did a very technical presentation on business rules management, with a demo of modules built on the NetBeans Platform for setting business rules and applying them to loan requests. Both these sessions received a lot of comments and questions at the end. There were different queues with microphones, there were two large screens to show the action on the slides. From way in the back of that long narrow room, the speakers must have seemed quite small. From up front on the stage, the crowd looked very friendly and colorful.
Then followed Ashwin, doing "Unpack Your Favorite Feature". He did some cool demos on areas that I knew very little about, like the Enterprise Pack stuff. All that is very XML-oriented and not in my immediate area of interest, since I'm more and more into Java, but it is cool to see how much the IDE can generate with wizards and so on. Ashwin also demoed the power of the Profiler. It seems like a pretty complicated piece of software to me, and important to know what exactly every little bar and graph actually means, in order to do anything with the information. Then followed some Visual Web Pack demos, which are always great crowd pleasers and was done very thoroughly, I thought, by Ashwin.
And then it was my turn! My long awaited presentation, officially entitled "Step Onto Our Platform". However, I've totally redone that presentation. It is now called "Porting a Java Application to the NetBeans Platform". Click here to download it in PDF format. For once in my life, my demo went without a hitch. And I felt completely comfortable. The demo involved moving a simple JMF client to a TopComponent, and then installing it in the IDE, and then in the bare NetBeans Platform. It went pretty well, I thought, and I had a bunch of interesting conversations afterwards. Some great questions and areas to look into in the NetBeans Platform area. I made very clear that if they are new to Java, they should first learn basic Java programming, such as threads and Swing, before even thinking about the NetBeans Platform. Here are the notes I gathered from the discussions afterwards (people wrote some notes in notepad on my laptop while I spoke to others, there was just so much interest in the NetBeans Platform story):
- "Quite interested in your mail client system... and looking forward to updates on it ASAP."
- "Can an installer integrate into a NetBeans Platform application?" Several people asked this question. I know Sven Reimers and Toni Epple are planning to do something with IzPack integration for NetBeans. Maybe what they have is already usable, would be good to find out.
- Yet again the failures of the library wrapper module came up! All the way in India people want the Library Manager to be somehow integrated with library wrapper modules, so that JARs, sources, and Javadoc can easily be selected and used in a NetBeans Platform application.
- There were at least two people asking questions about JasperReport integration in NetBeans IDE. Actually, the questions weren't about JasperReports specifically, but about any kind of reporting tool integration in NetBeans IDE. I told them about Toni's Jarvis project and they wanted to know when they could do something with it. I mentioned that it is already possible to drag and drop tables from a database onto a report and have the data be displayed automatically.
- A 'silent mode' for deploying Sun products was asked for. Someone, from Sun, asked about the possibility of a batch process for deploying multiple Sun products and add on packs in the background. Or something like that, maybe I didn't understand.
- There was a question about Maven builds and Cruise Control for NetBeans Platform applications.
- "How do I get a NetBeans Platform application's icon in the System Tray?" That's a cool question and it must somehow be possible with JDK 6. But the implementation would have to be different per operating system, which is kind of a bummer.
- "How to change the look of NetBeans?" Here we talked about skins and themes and the Substance look and feel.
- Someone wanted to install a NetBeans Platform application as a service, for data uploading, something related to databases. And someone else mentioned a Java to COM bridge as a solution.
And these were only the questions that were written down. There were many more. I also very heavily evangelized the Developer Collaboration module. I introduced the topic by, part way through my presentation, showing them this screenshot (as an example of a set of modules that you could, potentially, install in your own application, although I wonder if this would work so well since there are so many dependencies on IDE modules), and reading line for line what you see in it:
To me, the above exchange is fantastic. Someone called Sandy, who is here in Hyderabad, yesterday learned something brand new about the Java programming language from Bruno Souza (in Brazil), Vincent Brabant (in Belgium), Wade Chandler (in the States), and others. Sandy logged into the Collaboration module for the very first time last night. I hope he stays and many others join him. At some point, there were 7 of us chatting last night. Now that's pretty cool. We were also sharing code and discussing it. For this reason, at the end of my presentation, my final words were, again, encouraging people to get into the 'Developer Collaboration' modules and just hang out, chat, and learn about Java. Sure, it's not perfect and sure there are many small and large areas that can be improved. But isn't the chance greater that they will be improved if lots and lots of people are making use of it?
So, really, NetBeans Day was a great success, I think. The attendees were both from the school and college community as well as from working environments. The diversity of topics was pretty cool and the massive crowd, all the way to the back of the room, will stay with me a long time. Ashwin, can you prove it by publishing your photos somehow?
In other news. Have a look at Vadiraj's blog. He's one of the engineers I had a meeting with at the beginning of the week in Bangalore. We had a really cool discussion about their work on NetBeans modules they are creating to support their software. Let's hope even more bloggers get started!