In case you missed it, Diego launched CleverCactus Share over the weekend. This is a personal file-sharing app with an interesting invite-only method of user access. Unlike many of the other P2P systems out there, this one allows only your friends to access your files. Very cool.
A few things - first is to note that the technology behind share shouldn't suck. Diego is a doctoral candidate who's thesis had to do with P2P networks. Secondly, normally a desktop app launch would be fraught with peril, because unlike web apps which are centralized and can change on the fly to address bugs, etc. launching code that you have to install isn't as easy. However, Diego is using Java Webstart to distribute his app (the JNLP protocol) and one of the benefits to this is that it automatically syncs with the latest version every time you launch the app. This morning, for example, I launched share and it grabbed the latest changes from over the weekend. Very cool.
Now, that said, I still have my reservations about using Swing. It can do the job, but it's going to take *so* much of Diego's limited resources to make the GUI not suck that I wonder if it's even worth it. I'd almost suggest having a local web server for most of the pages and a Java 1.4 Applet provide any of the dynamic bits that were needed. Diego already has part of the system (the user sign up) using web pages. This is a great idea as that is the one part of the system you can feel at a gut level is reliable. The rest of the app - because it's a Java GUI - you sorta feel could explode at any moment. And being a Beta, that's what it did on me a variety of times. The problem is not whether these issues can be fixed, but whether it's worth it to even *try* using Swing.
I'm trying to criticize the tech without criticizing Diego because not only is he a pal, but I know how hard he has worked on this app (and the messaging client as well) and I know he's a smart guy and a good programmer. It's a real shame that Swing is so damn broken that someone of his talents has to make herculean efforts even to get the most basic GUI app up and running. Even after all these years and all of Diego's efforts, Swing is still slow, redraw is flaky, resizing, etc. doesn't work, the text isn't anti-aliased and more. Urgh!
I wish Sun would just get a clue about this stuff. Anyone else besides me noticed that "Looking Glass" isn't written in Swing? Yeah, me too. That's not the case for Microsoft's Longhorn and XAML, is it? XAML is going to compile down to CLR bytecode.
Anyways, good job Diego! I hope for good things!