Greetings from Prague. I've been at Netbeans for about two weeks now and it's been quite a busy time. I think I'm really going to like it here. Everyone is very friendly, the city is beautiful, and they have excellent and cheap beer (cheaper than soda!). I know you are all busy, so for the speed readers in the group I've bolded the important bits.
The following is a techtip I wrote which wasn't used. Since I turned out pretty well I thought I'd post it here. Let me know what you think. Would you like more of these small self-contained tips?
If there is any other Java people living in the Prague area who would like to go out for dinner, drinks, or do some general site seeing then just let me know. I'm going to be here for three more weeks and I don't know anyone yet. I'm reading through my Rough Guide book and it looks like there's lots of cool things to see here.
It's true. I'm leaving the Swing team. But don't worry, I'm not leaving Sun. I'm joining the Netbeans team, flying to Prague, moving to Oregon; oh, and I'm getting married!
Thanks to the hard work of several teams inside Sun (the development, testing, integration, and approval teams) combined with the persistence of the outside Java community, I am happy to say that the bug 6477341 will be fixed. More importantly it will be fixed in Java 6 final, not in an update release. The fix was just integrated into b103, which should be going up soon.
I just read this. The last patent on the GIF format will expire on Sunday (October 1st, 2006). At long last the GIF format will be free. Of course we should all be using PNGs for everything, but thanks to lackluster IE support that's not always possible.
Welcome back. Last week I introduced a cool new technology we've been working on in SwingLabs, Painters, and described how they work. If you missed the first blog you should go read it now. Don't worry. We'll wait.
One of the temptations of design is to not show your work until it's ready. Not until every edge is smoothed and every bolt is tightened should anyone be allowed to see it. While this might be okay for paintings or sculpture, in the world of software it often leads to bad APIs. An API is the user interface for other programmers. I'm a firm believer that user interfaces must be tested with real users, and as early as possible.
One of the great things about my job is that I get to go speak to customers and other groups of Java developers. Even more amazing than the fact that Sun pays me to do this is that people actually show up to listen to me. I'm sure you've all had those times where you feel like you are still the dumb kid who just graduated and somehow you have to make everyone around you think you actually know what you are talking about. While I know that I'm a Java expert and have interesting things to say, a little part of me is still scared. What if I say the wrong thing? What if someone asks me a question that I can't answer. What if I walk into a room full of SWT lovers?! The agony!
In response to my Meet the Engineer interview on Sun.com a reader asked for the source to my magnifying glass component (originally detailed in this blog). I haven't given it out because it was meant to be part of a larger framework for managing the glasspane and implementing other cool hacks. Alas I have simply not had the time. Java 6 and Java 5 updates combined with my SwingLabs and community work simply have taken up all of my available resources.
In this segment we'll dive right into some of the bugs directly. In this series I won't cover all of the bugs because some of them involve structural changes that didn't directly fix visible bugs. For example, the XPStyle class was significantly changed by adding enum support. Enums let us more closely model Microsoft's UXTheme API and it's list of part constants. Also, I'm only covering bugs that were fixed. There are quite a few bugs which were closed as not reproducible or no longer a bug because they were fixed by another fix or simply can't happen any more because of other code changes under the hood. With that in mind, let's take a look at a few.
So you have probably wondered where I've been. It has been quite some time since my last post and I have been very lax in talking about what's going on. Well, the big news is that we are almost done with Java 6. Not really, of course, since there still emergency fixes that could go in, but we've hit our final build of main development. This means that my work is mostly complete for Java 6 and I can start working on the update releases and Java 7. However, scheduling and builds is not what I'm here to talk to you about.
Chances are no one reading my blog will be able to answer this question but hopefully in the future someone will run across this post in Google and respond with the answer.
Recently Simon Morris posted a blog called In defence of the desktop where he asks :"If SE is truly the edition of Java aimed at the desktop, and most real desktop applications (browsers, players, word processors, video editors) are not database heavy, why is Java DB being included in the SE JDK?". I'd like to challenge the idea that real desktop applications don't need databases. They may not be database heavy (in that storing data is not their primary function) but I do think that there are a lot of desktop apps which use databases, or could be improved by doing so.
A few days ago we released the code to Aerith, our JavaOne demo that combines photos, mapdata, and 3d effects. We worked very hard to get the code out to you and let you see how everything works. However, if you've downloaded the code you may have noticed that the code for the map parts is missing. Only the binaries are provided in the JXMapViewer.jar file. That's because the map component has a brighter future than just a JavaOne demo. It is now the first component in our new SwingLabs project: The Swing Web Services components, or SwingX-WS.
It look more work than expected (doesn't everything?) but at long last we have released the source code to Aerith, our killer 2d/3d/webservices mashup demo that we showed at the JavaOne 2006 keynote, and later in the SwingLabs booth and at the Apple BoF. The response to the demo was very positive so we made a commitment to release the code ASAP. Finally that day has arrived and it's today. Go download the code at the new Aerith homepage.