> but there was a time when it was the only way software was sold and it was a more sane time and the software was of better quality as well
As cortesoft already noted:> A major difference is that the programs were standalone. Once packaged, the software was done and required no more work from the creators. They would either switch to making the next thing, or making the next version of the last thing (which would have to be bought again).
That is a big reason software was of higher quality. Although the developers moved on the next version or next thing, there was still support.
What I was told as a developer of retail software sold on floppy or CD-ROM in stores like CompUSA, Egghead, Best Buy, and the like is that every time a customer had a problem that they could not figure out themselves in the software or by reading the manual and so ended up calling our toll-free help number, that cost us more than our profit on the sale--in fact, I was told, it would cost us more than our profit on several sales.
This was at a time when only a small fraction of customers had internet access. A larger, but still small, fraction would have modems that they used with some non-internet service like CompuServe or with BBS systems.
This meant that there was no cheap way to get software updates to a majority of customers--mailing them a floppy or CD-ROM would be the only way. There was also no way to get workaround instructions to the majority of customers, other than mailing them via the post office.
Thus it was very important to management that when the software went out the number and severity of bugs was sufficiently low that not many people would need to call help. If the number or severity was too high, dealing with all the calls or sending everyone a new floppy or CD-ROM would probably make the product a net loss.
This resulted in an emphasis on software quality throughout the company. Even if the actual functionality the product offered was stupid, we would make sure it was very good at doing that stupid thing, and that the manual was clear and complete.
Even if we were working on a new product for which there were currently no competitors on the market, and we knew that another company was working on a similar product and it looked like they would get to market first, we'd not cut quality to beat them to market. Being second to market, and so not getting as big a share as we would have had we been first, was better than being first with a product that would kill us on support costs.
Another consequence of most customers not having internet or other online access such as CompuServe or BBS systems is that it was important to get good reviews in magazines such as PC Magazine, Byte, Macworld, since those were the only reviews many potential customers would see.
If your release went out with any noticeable bugs, they would probably get mentioned in the reviews. Even if you did bite the bullet later and send out new floppies or CD-ROMs to all your customers to fix the bug, you probably would not get a second review. People will remember the first review, and your sales will tank.
I think that as a programmer I liked that era better than the one we are now in, for a few reasons.
• I liked the emphasis on quality. If I wasn't happy with my code, management supported making it better even if this would take longer.
• I liked that things ended. When we shipped the product, it was done. I could make a clean break and start working on our next product, which might have nothing at all to do with the prior product.
• If we did decide to do another version, it had to have enough new functions and features to make people with the prior version want to buy it. That was often enough changes to justify treating it as a completely new product which I could completely re-architect if I wanted to.