Being in the software industry, this topic has been on my mind for years. What does Quality software mean? What are the trade-offs? When do you release the software? How does this affect the user experience?
1. Photoshop CS4. I purchased a copy of Photoshop CS4 about a month ago. At first I was happy with the new features. I blogged about some issues I had, but mostly it’s a nice upgrade. However, I noticed that if I left the machine on overnight, then I would get a messed up screen in PS when I got back. When I tried to close a file, I get this error.
What is that? A big fat unreadable error that tells me nothing. I don’t even get an error code that I could go google.
2. Trillian Astra. Their first blog post on a limited public version is from Sept 21, 2006! Are you serious??? That is 3 whole months before I started working at Marketo. It’s over 2 years for an instant messenger. We built a pretty big application here at Marketo and launched in 1 year and we pretty much wasted 6 months of that time. Trillian Astra is STILL not even in full public beta. If you want Astra, you have to wait. It’s a GORGEOUS application. I love it. It is a wonderful instant messenger, but come on; seriously! Launch the damn software and then improve/iterate. This is an example of where the window of opportunity is not infinite. Why are they waiting this long? Is perfect software worth the wait? Maybe Astra is a side project? Maybe it should be open sourced? That way people could actually use it.
3. Windows 7. Get this: Microsoft finished Vista on November 8, 2006. That is the exact same month that Astra went live with their first Alpha. This means that Windows 7 and Trillian Astra have been baking for the same amount of time. Conversely to Astra, I think a whole operating system needs more time to bake. I just got my hands on Beta 1. Is 2 years enough time to have a new OS? or is this just a bullshit Marketing push because Vista has a bad rep? Maybe I could put a better spin on that. Maybe Windows 7 is to Vista what Windows 98 was to Windows 95? A better faster smoother version.
Anyway, the key question here is: How much time is enough? How much Quality is enough? Do you need to fix all your bugs before you launch? What if the window of opportunity is limited?
My feeling is thus: Spent as much time on “architecture” as you can, but launch the damn software. Get it in people’s hands. Call it beta if you want. But get the software used. There is no better way to see if 1. people like what you are doing and 2. if your architecture will hold up. Just go for it. Life is not for the feint of heart. Iterate and improve. Make your architecture iterate-able. Have silent updates like a SaaS application would.
I am not mad at Adobe for their error, which sparked this post. However, I am mad that they have no way for me to communicate this problem. How can I get it fixed? Quality in the whole user experience does not mean ZERO BUGS. It means giving people a path to success. It also means giving people a chance to use the software.