Recently at i-nnovate we've been dog fooding our micro-isv app task|mate for our consultancy work to see what feature's we're missing and what bugs need fixing. Here are a few things we've learnt so far from the experience.
- Always plan a little bit before you start.
- Don't try and write a production application in a language your learning.
When we first started task|mate our aim was to make managing our projects and teams simpler and more efficient. So far I think we've made great strides along that direction, however since the majority of our early code was done on an experimental basis some parts of the application don't live up our normal high standard and really need redoing before launch.
Anyone who's done there micro-isv research know's that everyone is writing there applications in Ruby on Rails, so naturally we investigated it and found that it did indeed increase our productivity and although to create web 2.0 app's with ease to start with. However we also ran across a couple of unforeseen problems, basically when your learning a new language you tend to do things the newbie way, now thats fine but then sections of your system start to develop a bit of a smell.
So know we have these code smell's around the code base, what do we do about them? We'll we've decided to throw the prototype away, and rewrite the system using monorail and C#, this way we can use all our existing knowledge to make the application truly brilliant and not fall for the same problems we had previously. Follow the blog to see what features we implement over the coming months.