Older blog entries for kuzman (starting at number 4)

Making Java-GNOME Successful

The Java-GNOME project is doing quite well. We will be delivering a new stable release on February 4, the second beta of 2.10 on February 7, and our official 2.10 release on March 7. The 2.10 release will be our most robust release yet and we are quite proud of the results.

Now is a good time to reflect on the Java-GNOME project and its future. The Java-GNOME project started out with a goal of making it easier to write GNOME applications and make it possible to write the code in Java. At this time I must ask myself "Have I accomplished this goal?". The answer is 'yes' and 'no'. I'll try to explain later but first let me set the context by looking at a couple of related efforts.

I must say that I am totally blown away by the progress made by the classpath, gcj, and kaffe teams (despite what you may have heard, kaffe is not dead). Free Java is moving forward at an amazing pace. Java is quickly becoming a viable Free development platform. This is an essential element for Java-GNOME's future success.

The Mono project and all of the related bindings they have provided is nothing short of amazing. In a short amount of time they have produced a robust development platform. They have great industry support and many developers contributing to their effort. I see a bright future here and wish them a lot of success.

So now it is time for a question. Would I use Java-GNOME to build a GNOME application? The answer is maybe. While Java-GNOME provides solid bindings for several of the core libraries there is still much that is missing. Unlike the Mono bindings, we do not currently have support for dbus, cairo, gstreamer, etc. GNOME is a vast environment and we have only begun to provide developers access to its capabilities. If you want to build a large GNOME application then Java-GNOME is probably not the right choice at this time.

What does Java-GNOME need in order to be a viable option for GNOME development? Java-GNOME needs nearly complete coverage of all critical APIs available in GNOME. We are not even close today and it will take a considerable amount of time to get there based on the size of the effort and the current pace of development.

What can be done to shorten the timeline for Java-GNOME to be a complete GNOME development platform? To be very direct I would say that our greatest need is for more hackers. This project has fluctuated between one to two major contributors during its entire lifetime. There are currently two major contributors that work on the project in our spare time. It is nearly impossible to move the project forward at a reasonable pace without more help.

The Mono project has Novell as a corporate sponsor. This has allowed the project to acquire some very talented developers that have been able to focus on delivering a quality product in a reasonable amount of time. A similar sponsorship would be a huge boost for the Java-GNOME project. Such a sponsorship would allow Java-GNOME to move forward at a much faster pace and deliver an alternative to using Mono for GNOME desktop development.

What will it take to make Java-GNOME successful? It will take you. If you are a Java developer that would like to see choices for GNOME development then you are needed on this project. If you are a large Linux distributor with lots of money in the bank and would like to see choices for GNOME development then my home phone number is .....

Java-GNOME 2.10 beta 1 is out. I have been working on a complete rewrite of the build system (with the help of Thomas Fitzsimons). The new build is fully automake/libtool enabled and is a major simplification over the old approach. 2.10 is really shaping up to be our best release ever.

We are already looking forward to our next development cycle. I am hoping to get our gnomevfs bindings included in the officail GNOME Bindings Release. I also want to start dbus and cairo bindings. It sounds like a lot but I am really motivated now!!

Andrew Overholt put together a great flash presentation demonstrating native eclipse, glade, and java-gnome. You can view it here.

Java-GNOME 2.9.4 was released last Monday. There were major enhancements for bindings including full support for gdk-pixbuf, support for GObject properties set/get/notify, and the addition of missing gdk, atk, and pango APIs. This release also marked our API freeze for the 2.9 development period. Our focus has now shifted to fixing any remaining bugs, updating documentation and examples, and I am currently working on getting libgtk-java to build on the Windows platform. Should be fun.

Will I have 64-bit support for libgtk-java, libgnome-java and libgconf-java. Nick complete 64-bit support for libglade-java. I guess I am making good progress.

I guess I have to start some time. I am currently working on adding support for 64-bit platforms to the java-gnome language bindings. This has turned out to be a larger effort than I estimated so I am spending many late hours hacking when I should be sleeping. Hopefully I will have the libgtk-java library completed by the weekend and will tackle the remaining libraries next week.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!