networked society
learning + networked society + dossiers + extra
home + what's new + index + comments + rss feed

The following article was inspired by my work as CEO of the Internet start-up Xo3, a Geneva-based company which is developing a structure that enables the development, sale and distribution of component-based applications for the Web.

From the general to the particular
Lessons from software development for the Web

The World Wide Web began as a means of publication and an organisation system for documents. It was subsequently extended so as to cater for those who wanted an online shop window. Now, given the ever increasing uptake of the Internet, the Web is being sollicited more and more as a vehicle for work and exchange. To be able to work via the Web requires that applications be available directly in the web window rather than via a specific operating system. This trend explains why Microsoft, feeling their monopoly threatened, threw so much weight into dethroning Netscape.

The size and sale of applications

For the everyday user of computers, applications are products. That is to say, the complex agglomeration of a more or less large number of functions sold as an indivisible block to a great many people.

In the current early-stage development, most web-based applications have not yet crystalized into the sort of products mentioned above. They are often custom-made, "single-function" pieces of software ( a web-based mail system, a forum, a chat,...) developed by in-house or specialised developers. Because of the cost and specialised know-how required, such applications are not within the reach of many smaller companies. Generalisation of the use of web-based applications will require a much easier, cheaper way of acquiring those applications that cater for the needs of smaller companies and individuals.

One solution that has been tried out is to host simple applications on a central server and rent or give away their use to those who opt to set up their site or part of it where the applications are. For all the promise of the Internet as a seemlessly distributed system, it is more than likely that most SMEs would prefer to have all their site in trusted hands. The most widely used way to facilitate the development of applications, albeit on a one-off basis, has been the creation of scripting languages to build such applications. With this approach software developers are repeatedly reproducing the same solutions over and over again. No one has as yet devised a system whereby the repeated efforts of web programmers can be made available to others in the form of products that can be easily downloaded, installed and customised. It is exactly this challenge that Xo3 is working on.

Size is a key factor. The evolution of most applications has been from the simple to the complex, with the inclusion of an increasing number of secondary facets in an attempt to cater for an ever widening market and at the same time out trump competitors. The increasing size of applications is also driven by a need to cater for a wide range of users with one software bundle. In other words, the problem is "How can we satisfy a multitude of particular needs with a general solution?" A lot can be learnt about software functions by positioning them between these two seemingly opposing poles: the general and the particular.

Between the general ...

By general, in terms of software, we refer to those functions that are useful, if not necessary, to the majority of other software functions (in the PC world these functions are provided by the operating system). In the case of web-based applications, they include such functions as the communication between applications, the compliance with standards and languages, security and the identification of users.

These common functions, being necessary to more specific functions, are most economically catered for in one standard way. The more ways you have of providing the basic functions, the more versions you need of each particular software using those functions, the more costly they become and the more difficult it becomes to communicate between diverging, proprietary universes.

If those basic functions are provided by commercially competing companies, there is effectively likely to be divergence rather than convergence in the solutions sold. Competitors want to lock clients in to their particular solutions. It is possible that we are entrering an era when such a short-term, lock-in philosophy on such basic functions may no longer be such sound commercial logic especially in the longer term. The argument put forward in favour of commercial solutions is that competition favours excellence. In the area of catering for basic functions, competition is likely to be limited as there is inevitably going to be concentration with only a small number of players remaining in the running. Experience with the PC OS shows that competition does not necessarily lead to the best solutions being adopted.

An alternative model has arisen with the Open Source movement. The recent raging successes of Open Source companies on the American Stock Exchange and the ever increasing use of the Linux operating system and Apache Servers have drawn much wider attention to this movement. Open-sourcing software entails making the source code freely available and encouraging the development of a community of software programmers to review and correct potential bugs and surrmount programming difficulties. This is tantamount to a standards process in the true spirit of pragmatic, Internet-based standardisation. The major challenge for the Open Source community is to be able to go beyond the requirements of programmers and cater for the more prosaic needs of end users.

... and the particular

Most software requirements cannot be catered for by general, across-the-board solutions. They require particular solutions, where the software functions are dictated by the specific circumstances of a unique user and as such cannot be used by anybody else.

As we move from the general to the particular, we also move from the product to the service. Almost all particular solutions are currently catered for by one-off programming efforts. Between the general and the particular there is, however, a whole range of functions that are repeatedly used by different groups of people but which have not yet solidified into "applications" in the sense mentioned above. Some help is provided by scripting languages which are extended to include small programming building blocks that facilitate the creation of custom-made applications. What is required, however, is a mechanism that enables those one-off solutions that can be used in a generic form by others to become products. It is only then that SMEs will be able to avail themselves of the full power of the Web and web-based applications.

Alan McCluskey, in the train between Geneva and Neuchatel. Share or comment
| More

learning + networked society + dossiers + extra
home + what's new + index + comments + rss feed

ISSN: 1664-834X Copyright © , Alan McCluskey,
Artwork & Novels: Secret Paths & PhotoBlog - LinkedIn: Portfolio - DIIGO: Links
Created: January 10th, 2000 - Last up-dated: January 10th, 2000