It's hard to believe it's been over a year since we first started working on TimeThis! What started out as a tool for our group grew into a tool for anyone looking to manage their time using Basecamp or activeCollab. It's been a pretty smooth path but there were some lessons learned.
First, use beta software only if you really need it. Using bleeding edge technology for the sake of using bleeding edge technology can come back to bite you.. hard. Most of TimeThis could have been written using AIR 1.5 but there was one specific feature of AIR 2.0 that we determined we had to have. Mostly no surprises but every now and then something internal to the AIR runtime would change. Be ready for code changes!
Second, your design will change over time. This isn't really a lesson learned on this project but still something to keep in mind. Normally, the developer and team are not the end user. Even though we technically were the end users, because of our inside knowledge of how TimeThis worked it skewed our point of view. That being said, be ready for multiple users to try and accomplish the same task in different ways. The best that you can do is lead the user in the way that has been tested as the most acceptable route that gives the greatest results.
Third, when a feature that was requested is sidelined, don't delete the code. Comment it out with an explanation of why it is no longer used because there's always a good chance that feature will be requested again and it's a lot easier to uncomment written code than have to write it all up again. Of course you are using some sort of code repository like SVN or Git, right?
Fourth, Nothing beats good customer service. Nothing. Again, not really a lesson learned but something worth bringing up. The most frustrated customer will calm down with a quick, personal response. A quick note to say, "thanks for trying TimeThis!" and to let the user know their concern is being taken seriously. Set up problems are especially time sensitive considering TimeThis starts as a 14 day trial. Also, creating a knowledge base from user experiences is extremely helpful in quickly coming back with a solution and extremely helpful for directing users to solutions for known issues.
I'm really proud of the work we've done on TimeThis and look forward showing our new projects in the coming year.