This is just a summary of the most important lessons I learned from building and publishing Bavardica. I sincerely hope you get some useful information (or reminder if you already knew all of this) from that. ( PS: a working version of bavardica is available at http://bavardica.com )
1. Nobody will use an application unless it provides some added value, something interesting they don’t already find in what they normally use. This is so true, even for free applications. They might try it but they would give it up quite soon if there is no actual incentive.
2. The very fact that they are asked to register will discourage many people from trying a web application. The most obvious causes might be that they don’t want to waste time doing it, or they don’t want to give away their details for privacy purpose. So at least a trial version should be offered to visitors without registration so that they can see what it’s all about before they make any decision.
3. The various commands and features are (only) obvious to the developer who built the application. However, they may appear as strange and complicated to use for some users. The application should therefore be as simple as possible and there should be some hints for every command (right inside the application, not on an external file).
4. Google is your friend (well, I guess search engines in general). I spent a lot of time reading about Silverlight at the beginning of the project but whenever I had a doubt, I relied more on web searches than on books. I could find most of the answers I was looking for in technical forums. I could also find related work from senior developers (mostly Anoop Madhusudanan, Tomasz Janczuk and Darren Mart in this particular occasion).
5. Client-server architecture and silent web services. This one is purely technical. I learned how to make an application lies silently in the background as a web service or a windows service; And I learned how to push data to the client over HTTP using a WCF Duplex Polling service.
6. The more choice, the merrier. Users enjoy having a lot of content to choose from. They like to express their personality and to customize their character. Art and media requirement consume much more time than actual coding, but isn’t it worth it? In the coming versions I would definitely be adding more rooms, more clothes and more animations. But...
7. Not all at once. It’s important to move one step at the time not to get overwhelmed. It’s all about priority management.
8. Work results can be rewarding. I am mostly talking here about the satisfaction and sense of accomplishment one’s gets from work. It feels good to accomplish something, even if it’s just a small thing for now. It motivates me to keep going.
9. Feedback is priceless. I could not learn all those lessons I am describing in these posts if I didn’t have some guys and girls to show me my mistakes, to tell me what they didn’t like about my work and how I could improve it. I would like to take this chance to thanks all those who tried Bavardica. Thank you for your feedback.
10. There is a long way ahead (to build a decent virtual world).