Bright Shiny Tools
While I never was diagnosed with ADHD, my approach to technology these days have felt a little bit like there is some sort of attention deficit disorder. I’ve found myself hoping from bright shiny tool to the next. As I started playing with yet another platform last night, I thought I would bring you along on my latest technological ramblings.
Perhaps the best place to start is with Google Wave. I received an invitation to Google Wave a while ago and have been experimenting with it. As a destination website, it’s okay; nothing special. I’ve gotten into some good discussions there on various topics, not significantly different than discussions I’ve gotten into on other platforms. Yet what is most interesting to me is the aspects of interoperability. I’ve set up my own Wave Server and spent a bit of time testing federation between different wave servers and the ability to connect with different clients. Actually, I’ve set up a couple different wave servers and tried a few different clients, and if you want more information read the Wave section of my blog.
The FedOne server is written in Java, so I downloaded the Eclipse IDE for Java on my Ubuntu machine. Should I spend more time playing in Java? How about in Ruby for Ruby on Sails development.? I’ve always liked Ruby, but I also like Python and there is another Wave server written in Python as well.
To get my Wave Server running, I had to install an XMPP server. I chose the OpenFire server. I haven’t really looked at developing for OpenFire, but I have kicked around various ideas of XEP-114 extensions to XMPP. XEP-114 extensions are what Google Wave uses. I also installed Pidgin as an XMPP chat client. It is written in C and uses Glib and GTK+.
A second key starting point for my technological ramblings has been the release of the Nokia N900. I’ve always been interested in the Nokia phones. Friends have raved about their N95s and N97s. The biggest gripes have been that they use Symbian, a horrible operation system, and that they are pricey. The N900, however, uses Maemo, which is pretty much Ubuntu or Debian Linux crammed into a cellphone. I’ve had a lot of fun setting up a N900 development and emulation environment on my Ubuntu laptop. I also set up an Android emulator on my laptop, but never really got that to do anything interesting.
Much of the development for Nokia apps so far have been in QT, and QT uses GTK+. In addition, there is a QT Plugin for Eclipse, so perhaps I could build QT applications using GTK+ in Eclipse. However, QT has a pretty nice IDE itself.
This led me back to QWaveClient. QWaveClient is a client for federated Wave servers that is written in QT. I had tested it early on with their Windows Binary, which is very nice. Subsequently, I tested it on my Ubuntu machine and even built a version in my N900 emulation environment. There are some tweaks necessary for the N900 environment which I hope to get back to.
It seems like some of the best enhancements would be to use the Hildon framework; yet another framework to get to know and work with.
Hopping back to Google Wave for a moment, I’ve been in some good discussions about integrating Google Wave with Second Life, OpenSim, StatusNet and beyond. On one mailing list, it was pointed out that OpenSim already talks with OpenCobalt via XMPP. This sounded particularly interesting and I went to check out OpenCobalt. OpenCobalt appears to be the new project that was formerly OpenCroquet, a fun virtual world built in Squeak. Squeak is essentially the current popular implementation of Smalltalk, yet another development environment.
I have a really old version of Squeak running on my desktop computer and this got me thinking: Can I run Squeak on my Ubuntu machine? Can I compile it to run on a Nokia N900? Are people even interested Squeak on an N900? Do I want to spend time playing with Squeak? Hildon? GTK+? QT? Java? Eclipse? Do I want to focus on Wave? Nokia N900?
So many shiny toys.