I don’t usually like Java. In fact, I found myself dreading projects for
my Data Structures class last semester, which was taught in Java. Wasn’t
Java supposed to free us from that sort of mundane effort? Never mind.
And while I “just know” that Python is better, I can’t help but feel I
should like Java on some level. I mean, two of Python’s great strengths,
in my opinion, is the large standard library and vocally supportive
developer community. By that standard, I should like Java as well. But
I’ve never really warmed to it.
So when I read on Slashdot earlier this week that Sun had released the
JDIC (Java Desktop Integration
Components) under the
LGPL, my interested
was piqued. First, while I don’t necessarily love programming in Java,
I’m always interested in hearing about advancements in integration. In
the process of performing tech support for a school, I’ve heard numerous
complaints (mostly valid) about the lack of integration in software. The
fact is that users shouldn’t need to know about file types, associations
or inter-application communication. It should just work. I was also
interested in JDIC because I was amazed that Sun was actually using the
LGPL. Now don’t get me wrong: I think any OSI
license is better than closed source, but I think that too often
corporations try to get the Open Source religion by developing their own
licenses which are really designed to control rather than grant
freedoms. And when it comes to granting freedoms, I think an argument
could be made that the LGPL actually grants more freedom than the
GPL. But that’s not
the argument I’m making now.
So as I browsed the JDIC and accompanying
Screensavers projects on
java.net, I noticed that they’re having a contest.
Well, not really even a contest, but rather a give-away. T-shirts. The
universal geek schwag that brings developers running. The criteria?
Write a screensaver using the new JDIC components and Saverbeans SDK.
OK, I’m game. Anything to blow off work for a while. And so I did.
The result is ccSaver, a simple
slideshow which retrieves random, Creative Commons licensed images from
OpenPhoto and displays them, slide-show style.
I know it’s nothing groundbreaking, but it’s been sort of fun to hack
together. First, it gave me an excuse to use
Eclipse, which is one of my favorite Open Source
tools (even if it doesn’t have decent Python support yet). Second, I was
able to brush up my Java chops in a variety of areas I hadn’t used it
before (network file retrieval, instance based type checking, etc).
Finally, I got to try out Ant. Ant is one of
those tools you hear lots of buzz about, but don’t really appreciate
until you see it in action. Better than Makefiles? You betcha’.
So with three reasons it was fun, what’s the result? An oddly
voyeuristic look into other people’s lives. I’ve actually been running
it in a debug window for a while, wondering just what inspired people to
take some of these pictures, and just what was going on at that moment.
Between writing the screensaver and seeing my own, standard screen
saver, Electric Sheep, I’ve begun
thinking about other possible “features”. What about a screensaver that
“creates” derivative works from CC licensed images? Or distributed
derivative works? Or some sort of distributed feedback mechanism for
choosing the derivative algorithms? I don’t have time to devote to
exploring these questions now, but in the meantime, download ccSaver and
let me know what you think (Win32 and Linux only; sorry).