Saturday, September 13, 2008

Random Rant - Part 2

MS DOS was selling well, and after a few versions, it sparked the development of Windows. Windows 1.0 ~ 9x was basically a complicated graphical user interface that wraps around MS DOS, whose code base has been developed on for years and years and has grown significantly (20mb, omg!). It had a major flaw however - the inability to multitask. So, when progressing to Windows 3.0, MS had to add so many libraries for GUI and also for multitasking. The problem is... it was getting bigger and bigger, although a revolutionary piece of software, was in danger of becoming a piece of bloatware.

It was aforementioned (in part 1) that Microsoft practices extreme programming. While the library grew bigger and bigger, the implementation bugs in Windows API also piled up, and programmers were exploiting those bugs! Then, as MS wanted to fix things, they had to add new functions to the API, which is basically a copy of the old function, but without the bug. Then we found new bugs on the new supposedly bug-free version too! Then thus we have so many versions of the same thing circling around each successing version of Windows. This is definitely not a good thing.

Windows XP attempted to solve the problem of having a bloated and fragile codebase by taking out old out-dated stuff and package them into compatibility modes. It sounded good, but unfortunately Microsoft did not have the guts to do it thoroughly. XP was still a big codebase, and the one after - Vista, was many times bigger.

To be continued in Part 3

Sunday, September 7, 2008

Ramdom Rant - Part 1

After using Vista for a few months, scrupulously getting the computer to work the way I wanted, I have come to the conclusion on the overall rating on various aspects such as usability, aesthetics, and many others.

Vista, among the lines of Microsoft products, is considered mediocre on its usability. Due to many intriguingly difficult problems presented during the development cycle of six years, including botching (well not exactly) the product in the middle and restart from scratch, Vista came out as a rushed, buggy piece of bloatware.

Now, you might ask, what happened? How could Microsoft have made that unprecedented, humongous, blatant, seemingly outrageous mistake? Then you are too naive on how companies work. That failure is definitely inevitable; it will happen at some point, due to the way Microsoft development process roll-out.

Microsoft practices something called "Extreme Programming," and that tradition came from when Gates dropped out of Harvard and began working on MS-DOS (well, he bought the copyright of the horrible OS called DOS, and began improving and re-branding it). When there is only a small number of people in the development team, extreme programming is a very useful technique. It is in which people dive straight into the work with only some rough ideas on where to start and where to go, and then expanding on it. The development process is fast and the cost were trivial, and it, however, paved the way for the future of Windows in an unexpected way.

To be continued in part 2