So What is a Service Pack?
Well, now that Vista is here, and we're ready to release a brand new program. I thought that you might enjoy reading about how software gets developed, and why Service Packs are so important.
I had spent months doing heavy research for this program, and in March I started writing its' source code. I released the first Alpha version in August, and called it "Spy Stopper", trying to keep the real name secret. Since then I have learned the true meaning of what an Alpha, a Beta, an Interim Release, and a Candidate Release version really are and why Service Packs are so important. I also discovered that most people never heard of some of these terms.
This new program was completely "User Friendly", the term User Friendly is a concept that makes total sense to the software developer, but no one else. After all, the developer has no help file to go by, he'll write the help later to try and explain what he was thinking when he wrote the program.
Software developing goes through a series of tests. Each computer system is different, because of hardware and the different aoftware that is installed. So a piece of software that works perfectly or at least partly on my machine, may not work on another machine. So to get some user feedback we release an Alpha version. The users will tell us the software needs more work; we knew this before we released it, that's why we called it Alpha; we were just hoping it was good enough to sell now. In my Microsoft computer jargon book it says that Alpha is Latin for "It doesn't work, and you know it".
So I had to do some rewrites to get through the Alpha releases. Finally I released the first Beta version. The Beta version did not go over well either. I should have known, after fixing all the bugs in the Alpha version, I added more features, or should I say bugs. So I checked my computer jargon book, only to find out that Beta in Latin means "it still doesn't work, it needs a new name". I am sure that if I named it something else before I released the Beta it would have worked fine. And I always thought that Microsoft just used names like Chicago (Windows 95) and Long Horn (Windows 2000) to keep it a secret.
Now it was time to find out how Microsoft would proceed from here. They would call the next release an Interim Release; renaming it, it's now called Chicago. They added a few new features that testers wanted to see. So I renamed our program; added some more bugs, I mean features,and released the Interim Release. The Interim Release is really just an attempt to repent to the Alpha and Beta testers.
With the Interim Release out, I felt things were going well. A new name and my testers started giving me some feedback. A friend of mine had called me to ask why his CD-ROM door keeps opening. I told him that I added this feature to the software so that he would have a cup holder for his morning coffee while he was surfing the Internet.
One tester asked why I used a default directory without giving the user any choices. I told him, that's because I do not know the names of his folders that are on his computer. In reality, we just did not know how to do that yet.
Another tester wrote me asking what the message "Fatal Error" means. I told him, it is a preplanned error trap, nothing to worry about! He wrote me back asking how to fix it, I told him, don't you have an on/off switch?
A good customer of mine was also an Interim tester for me, she wrote me saying that she had tried to use the new features I had added. After selecting the file she wanted deleted, it deleted every file on her hard drive except for the file she wanted deleted. I checked the source code and found that I had inadvertently typed an extra character in the source code, telling it to Delete All instead of Delete One; minor details. I made the correction in the code and wrote her back telling her "didn't you read the help file first? It says select the files you DO NOT want deleted."
I am sure I would not have made that mistake, Delete All, if Microsoft stuck to eight bits, zeros and ones, like 01110010. No, they had to get fancy and to go to 16 bits, using all the numbers from one to nine and the first six letters of the alphabet, 0123456789abcdef, as in 3a, 65, 4d. I was perfectly content with just two keys on my keyboard, I had a 50% chance of typing the correct code the first time.
I felt that the Interim release was going so well that it was time to start writing the help file, and add some more new features.
When I got an email from a another tester, I knew the software was almost ready for a full release. He said the program would make his computer freeze up, and he would have to reboot. I wrote him back and told him "That's perfect, that's what it is supposed to do. It stops your machine before any spies can get installed."
After fixing all the new features I had added to the Interim Release, I threw a few more in. Mimicking what Microsoft would do, I once again renamed the software. After all, not all the testers complained. Candidate Release 1 was now ready, and if needed, I can always change the version numbers. Better yet, rename the software.
Now if you don't believe what a developer must go through, take a look at the history of Windows: from Windows 1.0 to 3.1; Windows 95 to Win 98; Windows 2000 to Windows 2003 and to Vista. And they think they have it right now? So what's a Service Pack?