November 27, 2008

JavaFX: cool, but not hot

Some days ago I posted an item on JavaFX on the Capping IT Off blog titled: JavaFX, will the cat jump? The item has a slightly ironic undertone. That is because I am being very sceptic about JavaFX. However cool it will become, it will probably not become hot. That reminds me of that crazy webbrowser SUn once had: HotJava. That wasn't really hot either. Sun just doesn't seem to have the knack for being hot & cool.

Well anyway, I keep on playing with JavaFX, because it really is a very cool technology. I even put my pet project Tweetbox out in the open on Google Code.

Let me know if you want to join me and see where we could end up with this. I haven't seen any really really cool JavaFX apps yet, except for a few thingies and trinkets here and there. There's really a lot more that can be done with JavaFX, like for example a nice and smooth twitter client. Have a look at it and let me know what you think.

When you get it running it should first ask you for your twitter id and password. Enter them and save. Then restart the app. You should then see some tweets. It's not fully functional yet. Lots of functionality is still missing, but hey, it's a toy project and I have a family too.

November 23, 2008

Talking about JSF

This Wednesday, I will be doing a little talk about Java Server Faces for a group of Capgemini colleagues. I actually have no hands-on experience with JSF, so I had to do some reading first. Some time ago (around the time I promised to do a provocative talk about JSF) I was a bit skeptic about this technology, but I know better now. There is a lot going on around JSF, and I take distance from a phrase I dared to say in front of a group of Java experts: "JSF is obsolete".

Below you should see the slides for my presentation. I am still working on them, but you may as well take a peek and provide me with your feedback.



You can view the full screen version here

November 09, 2008

TweetBox preview release

The title sounds more official then I intend to, but I guess this what I should call it. I don't even have a versioning scheme for TweetBox. I still see it as a toy project. On the other hand, the TweetBox is taking nice shapes. Programming JavaFX turns out to be a lot of fun, and once you get the hang of it, it is pretty easy too. Imho, java developers now finally have a sophisticated GUI API that is productive (Swing is rather counter-productive, and that's coming from a faithfull fan) and easy to use. JavaFX still has quite a way to go before it becomes as sophisticated as Adobe Flex and AIR, but still. A big pro of JavaFX is that the syntax of the language allows you to build GUI's declaratively (just like Flex's MXML) and that it is very neat and clean. Compared with JavaFX, MXML is definitely more cumbersome.

You can download the binaries for TweetBox here. Simply unzip it somewhere and double click TweetBox.jar (or run "java -jar TweetBox.jar" on the command line). Mind you, it still misses lots of functions that we take so much for granted in tools such as Twhirl, such as sending updates, replies and direct messages, retweeting, following/unfollowing people, et cetera. I have now come to appreciate them even more.

For the time being, configuration of your twitter login credentials must be done through a properties file (here's an example), that you must place in your user home folder (you can figure out the location of that folder yourself, I just use the value of the java system property "user.home").

TweetBox sometimes crashes rather spectacularly every once in a while at startup. That has something to do with the fact that I am using a separate thread for invoking the Twitter API. Also, it is not yet getting your friend timeline at regular intervals. The button with the binoculars allows you to do a twitter search. It will only get 20 results, but it works.

I have only tested TweetBox on Vista, so let me know the results of using it on other platforms.

In short, TweetBox is unstable and misses lots of features, but admit it, the way it fades in on your desktop when you start the TweetBox, it's nice shapes and that you can see through it is awesomely cool.

November 07, 2008

TweetBox progress

I have received a few cheers (thanks Lee and Rick), so I continued my hobbying with JavaFX. I am now really getting the hang of JavaFX. This fall, version 1.0 of the JavaFX SDK will be released. I can't wait, because many things in the preview release that I currently using are a bit cumbersome.

It also misses some rather essential GUI building blocks, such as a scroll view. So, I had to build one myself (I used James Weaver's TableNode class as the basis). I also had to write a new Text node that can wrap text. I had to do some very ugly AWT tricks to pull that off.

The current application still is very dumb, but it works rather well. I will next have to implement some config screens and have the tweetbox get tweets at a configurable interval.

At some point, I think I will decide to make this all open source on code.google.com, so you can all look at the code and see how it is done.

In any case, here's a new screenshot (some of you should recognize the color scheme):


November 06, 2008

Mark opened his mind

Yesterday, I was at the Open Your Mind mini conference at Capgemini in the Netherlands. This year, this event was organized around Capgemini's Technovision, which is not just about social networking, rich internet applications, SaaS or iPodification, to name a few of the innovation blocks, but really about freeying your business' energy for innovation.

I attended these talks:
1. Technovision and Open Source Software by Ron Tolido from Capgemini
2. The launch of OSSPartner.nl by Rob Bindt from Capgemini
3. Changes need innovation by Aad Koppenhol & Jaco Haans from Sun
4. Using jBPM to coordinate your enterprise by Michel Goossens from Redhat/JBoss

All in all, a very interesting event. Well organized. Good speakers.

I happily tweeted away during the talks. My tweets are summized here.



November 02, 2008

Teaching myself JavaFX by building a Twitter client

I am playing with the JavaFX Preview SDK to see what it does and feels like. I am using Netbeans 6.1. So far, I think I like it, although it takes some time to get used to the JavaFX syntax. It looks like java and underneath it is java, but you need a different mindset to use it.
The preview SDK is missing several things as it seems. Maybe I am using the wrong distribution.

To teach myself JavaFX I needed a goal. Something simple and fun to build. I decided on a Twitter client. Using much of James Weaver's (check out his blog, it is worth your while if you want to learn JavaFX) example code, I have cobbled together a very crude Twitter thingy that can only read my own friend timeline (or the public timeline), but I have gotten this far without too much effort.

Here's a screenshot:



Of course, I will never finish it, because I perpetually lack time. Cheering me on might help.