AB5k Widgets in Depth
Well it's been two weeks since AB5k was released and the response has been, well, interesting. Some people really love it. Others have complained it's slow and buggy (which it is), and still others ask "why make another widget system, but this time in Java?". We got somewhat panned at JavaLobby in particular. So, two questions to answer: too early and why Java?
So did we do the right thing by releasing it so early? Maybe. Our real target for a quality release is JavaOne, but there's only so much two people can do. To make this a success we need the support of a community, even just for bug finding. I think it's better to release open source projects early and often. Perhaps this was a bit early, as the code is certainly rough, but I really wanted to get feedback as early as possible, and get people building on it.
I think the answer to my other question is more important: Why Java? Do we need another widget system? What does Java bring to the table? Well, quite a lot I think.
Mac's Dashboard, Vista's Sidebar, Google's Gadgets, and Yahoo's Widgets.
All of these existing systems are proprietary, not open source, don't run on all operating systems, and don't have good support for multiple languages (both human and programming). Java is better on all counts. It's a standard and now open source. It runs pretty much everywhere (including older operating systems that Microsoft no longer supports). Java has always had great support for multiple locales and languages, and now Java has great support for multiple programming languages. Java really is a great system for a widget platform.
Quick AB5k updates:
We've put up more docs on our wiki including a tutorial on building your first desklet, an architecture overview, and some descriptions of
how we use Maven and how to set it up in your
own desklet. Oh, and we've also added desklet auto-updating and Augusto contributed a patch to speed up painting.
On another cool note, it looks like we may become a standard! :)
So if you'd like to help out, first download AB5k and try it out, then join the developers group. After that we could really use some help on:
- Building more desklets. Try building a desklet. Some cool little program that you always wanted to build.
- file bugs on the standard desklets
make the existing desklets look prettier and be bug free. What we built to start with is just that, a start. I'd like nothing more than to see them be completely replaced.
- Design a new website If you are a graphic designer or simply handy with images and css, we could use a redesign of our website. What we have now is just a prefab template.
- JNI Know C code? We really need some JNI help on system wide hotkeys, avoiding overlap w/ windows (docking) and setting up native shaped windows.
Help on the first checkout of the code: the project uses NetBeans ant files so you should be able to build the container and the desklets without running NetBeans. The first time you check out the code, however, you will need to open up the project in NetBeans to resolve the references to the jars and to pick up the 1.6 JDK that you have installed (since different betas call 1.6 different things like "JDK 6", "JDK 1.6", "JDK_1.6", etc. After you set the references you don't have to use NetBeans anymore.