Wednesday, April 9, 2008

Software patches good/bad/ugly?

This topic has been in my mind for quite sometime now. It used to reach the top and remain their for sometime whenever Maxthon poped up "A new version available with fixes would you like to install?" dialog.

In early days when the auto update feature was unheard of I used to think software patches are ugly. One needed to keep visiting the website of the product frequently to check whether a patch was available to fix the problems one is facing with the product.

Once patches became more and more popular and available I used to think them as bad. That was becuase sometimes patches used to have more serious problems than the original product. And once you have applied a patch it was not easy to remove it and a complete uninstall-install cycle was required to get back to square one. The "The update requires a system restart. Restart now?" screen only served to add more fuel to the bad feeling.

Now that auto updates are default and internet is thought as part of your desktop I have beginning to think that patches are good! I think the quality of patches is better now compared to earlier days, may be due to companies having automated testing tools to assure quality.

My latest thought is that "Not having (releasing) patches is really really a bad thing". Pushing a product out of the door having already planned for patches is bad. But at the same time knowing that customers are suffering with a released product, asking them to wait for the next release (which would be more than a year later) is just pathetic. Because every release comes with its own new features and new bugs. Companies don't push out new releases without new features as they won't earn any money with a release (patch) aimed at fixing serious bugs or performance issues in the previous release. The problem with this kind of approach is that the attitude about a bug changes in the following way.

Version 1.0 release : We are releasing a great product which would help our users in a great way by boosting their productivity. We would fix all serious bugs soon.

Customer: Great. Let me use it.

Version 2.0 release : We have lot of new features for you. In this release we have addressed all serious bugs (read it as bugs reported by great parteners and volume customers) in the previous release.

Customer: But what about other serious bugs faced by me?

Company: We would fix all bugs soon.

Customer: They are only fixing bugs for the new features and few more bugs from volume customers.

Version 3.0 release : We have lot of new features. We have revelutionized the workflow. We have rewritten many parts of the code to boost peformance. etc... Of-course now we are open-source !

Customer: Now it is Open-source ? Great! But what about bugs which were in 1.0 release?

Company: Oh! our customers have lived with these bugs for more than 2 years, now they have almost stopped complaining.....they can live with it! If they complain more, let us ask them to upgrade to the new version and follow a new workflow/API for the same feature which we have introduced. And anyway we are open-source let them grab the source and fix the bug themselves. We can't spend our precious development time over fixing those old bugs.

Customer: Where I can find a developer and time to study this piece of open-source product and fix bugs for me? ...?....?

As customers who have paid their hard earned money I think we deserve a better treatment. Don't you think so?


yoavm said...

I totally agree.
After working for several years helping to develop a large application, I saw how many of the bugs became "known problems", and then became part of the application's features... If a customer complained and we saw its an old problem, we gave it a low priority. After all, everybody lived with ok until now.
It's a problem. Customers pay for new versions with new features - not for bug fixes. So how can we stop this vicious cycle? Only by paying for a version that has only fixes of earlier version bugs (and thus admitting that it's ok that the previous version wasn't 100% great, and that fixing bugs is part of a regular application life cycle) we can get applications that really work...

Sreenivas said...

Thanks for your comments.

I disagree and agree with the solution proposed!

I disagree, because the customer paid for a 'WORKING' version of the product not a 'BUGGY' one (I am not saying a bug-free product!). Or the company should have a option to refund the money for return of the product if it cannot give away free patches within a reasonable amount of time.

I agree that it may be OK to ask the customers to pay for patches only if that is a nominal amount compared to the original product price. But what seems to be missing is: what would force a company to provide these patches. They always would work on more money bringing features.

Would a law empowering customers to demand a patch help?

How about customers forming a group and suppliying a list of most wanted bug fixes ? If the company doesn't release a patch black list it?

Sreenivas said...

One more argument in favor of customer groups is that we all know under the hood companies do fix bugs for high worth parterns and customers. The normal customers can group together and increase their worthiness!

yoavm said...

I agree with your addition.
By grouping, WE become the high-importance customers.
This is correct not only for bug fixing, but also for fighting high prices, taking care of awful customer-services and so on. Consumers can get what they need only when they unite.
Anybody thinking of a Facebook group/cause for bug fixing? :)

Rae said...

Customers choose with their wallet... if software is buggy, they won't buy/upgrade it next time. If the software is the only software of its kind, that's unfortunate. Eventually that software runs the risk of being replaced by something better.

But software vendors should realize that it is ultimately in their best interest to fix bugs, the long term life of their product depends on it.

Sreenivas said...

Eventually that software runs the risk of being replaced by something better

This would happen only if the new company doing the product has different genes compared to the earlier company. To my knowledge most companies have similar genes and every product coming out has bugs making the customers suffer.

Due to techonolgy advancements the new software may appear to be better than the old one but the bug statistics would remain the same in most cases.

Dylan Mark said...

full version software sites and much more programs.

Thomas Anderson said...

Thanks a lot for informing about Software patches, it's a very useful tip.
Crack Software

Male Smith said...

you shold visit it its really amazing. Download portable Free Software

Abel Quinton said...

Nice stuff dear. Thanks for sharing it. I am impressed with this blog. I really appreciate your fantastic post. Thanks for sharing such a nice tip. Good information and will be useful for us.
Portable Software Download