Recently I've been rediscovering some of the old projects I worked on. These are what I would called the 'Almost rans' projects - something that I managed to get working quite well but due to outside influences (usually paying work) I ended up abandoning for some reason or another.
One of them I would go back to - jMaps - but the rest I think are pretty much abandoned by me now.
Anyway, without further ado, here is the list:
Mercurial Frontend (hgfront)
This was probably my first proper Django project. I didn't work on this one alone, however I did a lot of the initial work around the Django and Mercurial integration plus a lot of basic features. This was the spiritual forbearer of Bitbucket and could have easily hit the market just before it if we had managed to push the app. However Jesper - who runs Bitbucket - did tell me that some of our work influenced the initial release of the site, so I do feel quite proud of that.
I've decided to stick up the old source code onto bitbucket here, so feel free to download and have a look. I also did a video of the application just over 2 years ago when it was quite far along in the alpha stage:
Brightroid
Brightroid was my first proper attempt at an Android application. There were not many applications on the Android market at the time (this was just after the G1 came out) and certainly there didn't seem to be any official Brightkite application on the horizon for Android. However, it has a reasonably well documented API and was a location-based service (before the likes of Foursquare and Gowalla) that seemed to be idea for a mobile application with GPS.
The source for this one I still have, but it isn't available as open source, and I don't think there would be much point now - it was developed on the original Android 1.1 - and we're about to hit 2.2 and I know a few of the API's have changed. Still, it was an excellent first app to experiment with on the platform.
Paste Monkey
Paste Monkey is probably what I would call a real vanity project. I even managed to get it mentioned on Ajaxian (to which is got slated in the comments, but probably very rightly!) I had been trying to set up Pastebin on my own domain and after looking at the source code, wondered how it even got released in that state. I was on a crusade to write my own, and while I was at it I decided to make it all ajax-wizzy web 2.0 and developed on a PHP framework - CakePHP.
Of course, a pastebin doesn't really need all that - but this project probably taught me a big lesson in how to cut back. Apart from autocomplete on fields such as languages it has Ajax posting and loading and line-by-line commenting and highlighting using JavaScript. In the end this project got REALLY bloated and slow - although I wonder if now it might not run a little faster in more modern browsers.
The source code is up on github to download, and I did try it recently with CakePHP 1.2 and it still worked!
jMaps
jMaps is the project that in the end was probably my greatest success but also my worst casualty.
Initially it started life as a jQuery plugin to create both Google and Yahoo maps. Rather quickly I decided to drop the Yahoo maps support and focus on GMaps only. For a while it worked well, and over the last few years it has been re-written several times to clean up and improve the API.
Just before the current iteration of the code (although I didn't find out until much later!) the plugin was picked up and featured in half an entire chapter in the O'Reilly book 'JavaScript: The Missing Manual' in Chapter 12. As I said I only found out later, because I started changing the API when the author of the German translation got in touch to fix some examples. I had tried to help as best I could get their examples working, but due to time constraints of my work and their publishing deadline I'm sure a few bugs crept in.
jMaps has also suffered from source control envy. First it had none at all, then it went to Google Code (where the page still exists to this day), then it moved to bitbucket before finally settling on Github, where the source can be found today.
jMaps is the one project that if I could get time I would revisit to fix and improve. Some things such as working with the Google Maps V3 API, Google Ajax loader and ensuring compatibility with the latest jQuery are all on the list, as well as a jQueryUI widget idea that I had.
Overall I'd say that despite these projects being what most people would call failures, they did teach me a lot of lessons in both coding and project management.
So if your project isn't going well and you decide to abandon it - don't feel downhearted because you probably just learned a valuable lesson.
