Empire and anarchy
Two adversaries, two formats are facing, Mozilla with the innovating XUL
language, Microsoft with XAML the successor.
This confrontation evokes also the war of operating systems: Linux, free and open, and Windows. And also that of the navigators, programming languages etc.
Multiple confrontations, but only one adversary on a side and different adversaries on the other side: here is anarchy, Microsoft with a competitor in each field of software, but it is never the same one.
Update November 2009: Since the completion of this article in 2007, things have changed. Google entered the browser market, then the operating system one with Android, and Apple with iOS. There are currently three empires that now compete.
Languages of interfaces, primarily XUL and XAML are in the center of the
battle and I believe that will determine the fate of the war, because they
appear now everywhere: the navigator, the operating system, desktop software
and Web applications, and all the other aspects of programming are gradually
associated to them.
But in the free world, in other words free open source software, there are multiple solutions and the tribes fight between them.
The operating system and the navigator
Linux. An incalculable number of Linux distributions with a rather partial compatibility. Only exemption of payment and the voluntary collaboration of developers make it possible this proliferation continuing to exist.
The Firefox navigator is a real success and reaches up to 30% of users in certain countries.
MacOS is a proprietary alternative, based also on Unix, but the compatibility stops there.
Formats and RIA, Rich Internet Applications
For the graphic XML-based interface, XUL by Mozilla. It was necessary to wait a very long time before having a documentation on XUL, and it is still incomplete, and also using the format is very hard.
For printable documents PDF became a standard in its field.
For rich Internet applications, the Flash format of Adobe, based on MXML, and incompatible with XUL is also largely used along with frameworks, but is also difficult to program.
One would have needed to ease the development of XUL apps of a RAD and this let us think to Glade the open source tools for Linux and Windows.
The development tool
In fact the authors of Glade tried to share a same interface format, the XUL one, but the authors at Mozilla remained deaf as they are preferring to develop their system in closed circle. Glade thus uses its own and incompatible interface language for Linux systems, where each application must be recompiled for each version of Linux.
XUL does not have a real development tool for now, and the project at Eclipse, a tool being unaware of the concept of ergonomics, is not what will facilitate the use of the format.
KDE the other Linux environment uses the another graphic system, Qt.
Compilers and programming languages
Free software has two main languages: C++ for native applications and Java conceived in 1998 for the Web and that can be also used locally.
Development tools are numerous for each of the two fields. The need for running a Java program to download a big-sized runtime, slows down its adoption as well as the difficulty to program it.
The Windows operating system is equipped with an interface based on XAML, the competitor of XUL, simpler bus integrating the properties of presentation and which is compiled in intermediate language rather than interpreted like XUL, which makes it faster.
.NET and C#
Bill Gate, the founder of this empire, whereas it was student gained a programming contest by writing a BASIC interpreter. Its Applesoft implementation on APPLE II, the leader of micro-computers at this time was the origin of the expansion of Microsoft which has been further chosen by IBM to create the OS of their PC.
For these historical reasons the BASIC language, was a long time the main language for Microsoft, and one finds it in severals forms, in all applications, like language of visual development, Web language with ASP and language of scripts for scripting office applications of the firm.
However, in the goal of thwarting Java, and because of the legal problems the Sun company - owner of Java - posed to him, the firm created the .NET multi-languages platform, and equipped it with the C Sharp language, near to Java and which improves it very appreciably.
The idea of .NET is to create a library of functions usable by any software, and which is portable. It is compared with Java but makes it possible to share the same classes between different programming languages. It can be used for online applications and a light version exists that is more portable. XAML is the interface format of the platform.
XPS and OpenXML formats
XPS is a format for printable documents which is integrated into Vista and replaces the well-known PDF format of Adobe.
The Greek philosopher Sextus Empiricus, (note the name) had this maxim: "To any argument I will oppose an argument of equal force". It seems that to any standard Microsoft wants to oppose its own version. When the Open Document format started to become popular thank to Open Office.org, a free office suite, Microsoft retorts with Open XML, conceived according to the same principles.
Expression and development tools
The Expression suite provides a series of tools for the Web, in particular Expression Blend to create applications using XAML like interface language and Expression Design to create images. The last version is compatible with Silverlight and WPF, the graphic interface of Vista. It requires .NET.
Visual Studio is the development tool of reference from Microsoft and it is supplemented by extensions for the support of RIA, Web applications.
To promote the adoption of these technologies, a light and free version is available. Visual Express is composed of several tools: Visual C# Express, C++ and other languages and Visual Web Developer for building Web applications. These tools are all based on .NET and XAML.
Who will gain the war?
All the startups in the computer field which gain success last years, make
it with a Web site powered by a Web application. It is obvious that programming
the Web becomes the essential activity for the programmer. It is not less
essential, because infinitely more practical, to be able to develop programs
on a local station. This is why a development environment running both locally
and on the Web seems to be ideal.
The release of the Silverlight plug-in from Microsoft, which allows the main browsers to run applications whose interface is described in XAML, and who can function also locally under .NET, being accompanied by the Expression development tool, allows us to build these desktop and Web applications.
In the future, thanks to .NET, Microsoft software such as Word, Excel, will run on any operating system and their part in revenues for Microsoft are more than 70%.
In an article entitled "How Microsoft lost the war of API", an author explains why Web applications will replace local applications such as Word, and thus that Microsoft lost the war of applications. It seems on the contrary that the firm is attempting to complete a system of armament suitable for it to win the war, completely, on all fronts, that of the office and that of the Web. But it found an opponent with the same size.