Download NetBeans!

20070220 Tuesday February 20, 2007

Interview: Sketsa's Lead Developer, Tonny Kohar

I blogged about Tonny Kohar and his team of developers before. They're based in Indonesia and created the cool Sketsa SVG Editor. This editor has also been mentioned in a few other blogs, such as here in Roumen's blog. I had the pleasure of interviewing him in some detail. Among many other things, he talks about the problems they had with their in-house application framework and why they chose the NetBeans Platform to replace it. To read the interview, go here:

Meet a NetBeans Module Writer: Tonny Kohar

And, if you are a module writer, or know of module writers who would like to be "subjected" to a similar interview (all via non-threatening e-mail), please let me know. It's great to hear about people's real life experiences with the NetBeans Platform. Note that these interviews always have the possibility of including a critical tone somewhere along the line, because there are many things which could be improved in the NetBeans Platform. But, at the end of the day, they tend to have an underlying sense of "Wow, this NetBeans Platform is pretty cool and saves me so much work!" In other words, these are honest technical interviews, rather than sugary "I love NetBeans" exclamations. If you go to http://platform.netbeans.org, or any of its sub pages, you'll find all of them grouped in the right sidebar, under "Learning from Others".

One especially cool thing I learned from interviewing Tonny is his creative approach to popup menus, which I blogged about recently. He builds them from entries in a layer.xml file, which opens his application up to contributions from third-party vendors. Yesterday I applied this approach to the Timezone Converter that I created in Prague airport while waiting to catch my plane to India. Here's the result:

So you right-click on a timezone, provided by a web service, and then you see menu items displaying the current date and time, thanks to the same web service. The performAction() events are empty, so nothing happens when you click the menu item. So, the menu item only exists to display the information, which is dynamic and depends on the returned data from the web service. (Having the info in a menu item's text is nicer, in some ways, than displaying it in a JLabel or something similar, because a JLabel would take up real estate in your user interface, while a popup doesn't.) And, thanks to Tonny's approach, I registered the menu items in a new folder in my layer.xml file, which means anyone else can do the same and contribute menu items to my popup from their own third-party module. Here are my menu items in the layer.xml file:

<folder name="Time">
    <folder name="Zone">
        <folder name="Popup">
            <file name="DayTCAction.shadow">
                <attr name="originalFile" stringvalue="Actions/Window/org-netbeans-modules-timezonecalculatormodule-DayTCAction.instance"/>
            </file>
            <file name="TimeZoneTCAction.shadow">
                <attr name="originalFile" stringvalue="Actions/Window/org-netbeans-modules-timezonecalculatormodule-TimeZoneTCAction.instance"/>
            </file>
        </folder>
    </folder>
</folder>

Full code, from A to Z, is provided in Tonny's interview. So, if you're a NetBeans module developer, you have even more reason to read that interview, because you get a very useful code snippet as well.

In other news. This morning I met Rohan Ranade, one of several NetBeans module developers working in Sun's India Engineering Center (IEC), here in Bangalore. He gave me a lot of info about a project he's working on, but along the way I learned from him that schema-based code completion in XML files is possible already! There's a catch... you need to be using NetBeans IDE 5.5.1 and you need to have the Enterprise Pack installed. That's where the functionality is currently found. However, it's good to hear that this is now possible. I'm going to be looking at this in some future blog entry. By the way, actually, schema-based code completion for XML files was possible since 5.5 Enterprise Pack, but there was an important issue that was fixed in 5.5.1, see issue 91333 for details.

Feb 20 2007, 01:10:03 AM PST Permalink

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

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed