Investigating .NET Page 3

2. Security.

Windows 95 was never intended to be a secure operating system, and because of its DOS roots never could be. Connection to the Internet exposed all sorts of vulnerabilities which put Microsoft in a bad light. Even Windows NT, which is a secure operating system, was spoilt by sloppy practice, with Microsoft’s programmers all too often assuming that users would be happy to run with full administrator or root permissions. The company’s investment in making Office fully programmable via COM and Visual Basic turned into a nightmare, with macro viruses spreading via email or Word documents and running riot over the user’s machine. It took years before Microsoft got the message on security, leaving it with a huge legacy of insecure operating systems and applications, and a greatly tarnished reputation.

3. Java

The first full JDK release was in January 1996, just when Windows 95 seemed to be all-conquering. Although designed as an embedded language and runtime, its first use was for applets, client-side Internet applications running in the browser. Developers love the Java language, it is designed to be secure, it is cross-platform and Internet-aware. Java lets users gradually migrate away from Windows. Today Windows; tomorrow Java applications running on Windows, the next day Java applications running on Linux, or Mac OSX, or Solaris. Having said that, I’m aware that Java’s impact on the desktop has to date been relatively small. It’s biggest success has been on the server, where it has helped IBM to make sense of a diverse range of operating systems, and created a new standard for distributed, transactional applications called J2EE, Java 2 Enterprise Edition. J2EE itself hasn’t much hurt Microsoft yet, although it certainly interfered with the growth of Windows NT Server and COM. Longer term though, Java remains a big threat.

4. Devices

Miniaturisation, wireless networking and the convergence of broadcasting and the Internet is creating a new computing universe. A business application today may need to run on anything from a mobile phone to a PDA to a laptop. Since 1996, Microsoft has had a version of Windows targeting devices, called Windows CE. It is a modularised operating system, so that manufacturers can assemble their own customised version using a tool called Platform Builder. Windows CE has a feature that may be at once its greatest asset and greatest weakness, and that is the Windows API. Programming Windows CE is just like programming a PC. The story goes that some Microsoft programmers argued against this policy, saying that the Windows API is too heavyweight for devices and that Microsoft should develop a new operating system optimised for embedded use. They lost the argument, which is why early Windows CE PDAs were slow and clunky. The hardware is catching up; but Microsoft is one among several players in the embedded world. The mobile telephone manufacturers have clustered around Symbian, an offspring of Psion, while in the PDA world the Palm OS has the biggest market share.

5. Open Source and Free Software

Made possible by the Internet, the open source movement is about cooperative programming. To some it is an ideology, but the success of open source is really based on economics. We all need a web server. One option is that we all buy it from a web server vendor, making that vendor very profitable. Another option is that a proportion of those organisations that need a web server devote some time to cooperative programming, giving away their skills in the knowledge that their work will create or improve a free alternative to paid-for software. You now have Apache. The same logic applies beyond web servers, to any commodity application. So in Office Applications you have Star Office, and in operating systems you have Linux. Today, free, open source software can meet all the day-to-day needs of an individual or small business, and its reach is constantly extending.

Next