Having an idea is one thing. Delivering it is an other. To deliver, you have to make choices about technologies. Making the wrong choice can significantly handicap.
Choosing Plone for Ambisonia was a mistake … as soon as you try to do something outside the box, Plone pushes you into a maze of convoluted gotchas and forces you to be intimate with its over-designed internals. Moving to Rails has so far proved to be an empowering God-send.
Years ago, I chose Java to embed a little network visualiser into web browsers. I had a gut feeling, at the time, that I should have chosen Flash. A couple of years later, when my GUI just wasn’t “taking”, that gut feeling was confirmed. Technology choices.
At first I implemented the Ambisonia uploader in Tcl/Tk. Had to be cross-platform, and Tcl/Tk fit the bill. But it was a dog to develop … way too many lines of code to do simple things, and then packaging the apps for easy installation was simply not possible (for my skill set).
Then I discovered shoes by “_why the lucky stiff“. _why hit the nail on the head with his message … a cross-platform GUI, with a powerful simple API, with a ‘package’ feature for making installables on all 3 major platforms… and a focus on creativity.
Shoes also has hooks into Portaudio … you know what that means? … it means the Uploader could also eventually become an Ambisonic audio file player. As I said, Shoes hits all the right buttons.
I dug around a bit, saw that there was good activity on the list, initial tests seem to work quite well … “ok”, I thought, “I’m diving into Shoes”. Progress was quite fast, there were some ‘issues’ that I needed to work around, but that is to be expected in a new application.
I eventually completed the uploader to 80% … all functionality was there, just needed polish. I then attempted to package it for windows … and that’s where the problems started.
Its now a couple of months later, _why seems to have been side tracked by other projects and more and more bugs are being reported on the Shoes list, mostly falling into silence. Ok, so _why is a very talented developer, with his finger on the pulse … and I’m sure that the other projects he is working on are very much worthwhile. And, yes, ok, so open-source software comes with no garantees … its use at your own cost… and “fix it yourself”.
I’ve had a dig around in Shoes, and the “fix it yourself” moniker hits hard when you see that many things (such as HTTP implementations) are done via hooks into C++ code. Urghhh, C++ …. its been so long.
So using Shoes is _perhaps_ a bad technology choice. I say _perhaps_, because Shoes might still come good. I hope it does, because I really think it hits the mark. But for now it looks like it is a bad choice. Too early. It doesn’t deliver on its promise of cross-platform executables, or GUI consistency (things just look too different on different platforms).
Right now I’m coding up all sorts of convoluted ‘work arounds’ to try and get the Uploader working on windows. I’m not going to worry too much about the polish… I’ll just explain to my users that its all very alpha. … and then I’m going to pray that _why gets some wind back into Shoes, that he implements a bug tracker, and that other developers start to dive in and take part-ownership of the code…