The Future of Software



Today, software is at its most advanced stage in history and it is influencing our lives more than ever before. More and more applications are used and they liberate humans from many activities they used to do. This trend is to continue and increase in the future, changing the way we live even more. I will analyze some of the trends in the software industry. A closer look to various software technologies and products will be given. Software products of today cover broad range of applications: from single hand-held mobile devices over enterprises of dozens or thousands computers to Internet, which is connecting the computers all over the world. This research will be limited to common software applications on desktops and typical server configurations in small enterprises.

Today, there are two common concepts of computer usage: the desktop computer and the server. Desktop computers are well known to everyone. Many people have one at home or at work, at schools or in public places like airports, subways or cafes. They are used for many common applications, from writing business documents or a mail to a friend, a training using the simulators, viewing the pictures, listening to the music, radio or TV. The second concept is the Servers. Servers used to be very specialized computer equipment dedicated to a specific task which involved very little human intervention. Today they are still very specialized but are used even in our homes and small offices, not just in large or specialized enterprises anymore. There are miscellaneous servers: application servers, database servers, web servers, mail servers, file servers, etc. Many of these servers do not require specialized hardware and, since those are software solutions, are publicly available to anyone.   An important trend to notice is the integration among them. Various services are being integrated into more complex solutions – file servers are being integrated with the web servers, then with mail servers, then with application servers and so on.

Operating systems are the heart of a computer system. Although there were, and still are, major differences between the desktop and the server operating systems, the similarities between them are more and more and the two concepts are slowly merging. The core component of this merger is the network which connects desktop computers to servers. This way, actually, the network is becoming the base for the future operating systems. It is not just the computer anymore.

Networking, and Internet in particular, have enormous effect on the way we learn. There is a huge amount of data publicly available to anyone. This is useful both in areas with limited resources in libraries, news publishers and communications because it provides access to the whole world; and in areas with the mentioned resources for it provides us with a choice and access to other similar resources in other areas. On the Internet, the people truly become the citizens of the world.

Modern operating systems are much more capable than their predecessors. Because of this there are more and more programs running in the “background”. The application we directly work with is now only a part of the whole system. Various programs, that even do not interact with the user, run in the background and do various tasks – monitoring the system resources, checking mailboxes for new messages etc. These background programs are called Services. Besides these, there is a new concept called the Web Services. It is intended to have the same, or similar, use to that of local services, only they would be available globally over the Internet.

Instead of operating systems, today we have concept of Platforms. Two best known ones are Java and newly released Microsoft’s dotNet. Platforms provide wider usability of computer systems than operating systems alone. They connect desktop PCs and servers into a complex network of applications and services. These range from Microsoft Passport service, that authenticates the user and is used by another service, like email; to file sharing solutions for desktop PCs, which resulted in a revolution of content sharing over the Internet. Since this is a new area of application, the laws and regulations are just being established. For example, although the copyrights exist, it is possible to find almost any song, movie, or software program on the internet.

Application software is still the main component of the computer system for majority of users. The evolution of software went through the systems consisting of electrical tubes, systems using punched cards, to command line interfaces using monitors and keyboards, and the windowed operating systems of today with many interfaces between the human and the machine. Application software has probably been developed for the majority of human intellectual activities, ranging from accounting systems, databases, presentation systems, decision support systems to traffic lights systems, train control systems, power plant control systems and so on.

One clear sign of integration in software development area is that the significance of a computer language is disappearing. There used to be large differences in the abilities and practical use of a computer language but in the new dotNet platform all languages are equal. The programmer can do the same thing with any available computer language and, therefore, use the one he is already familiar with. The program he creates can be used on any computer that supports given platform.

The interface has also evolved over the time. Very common concept today is the voice recognition. It is being increasingly used in games for example, but has been successfully used in other specialized applications. There are twenty-four hour services that use voice recognition instead of human operators, example being the telephone directories and some other telephone related services. The most of their users do not even notice the difference between human and software operated service like that. The innovations lead to usage of 3D glasses and gloves for interaction with computers. Scanners and cameras are used increasingly. Specialized software with image recognition ability can recognize authorized personnel and open doors. Motion sensors that differentiate furniture from a moving object are used as for security in offices.

These are some of the software concepts in use today. Many of them are quite new and their usability is not yet fully explored. They alone offer many applications that were unthinkable before. But their true power and a whole new area to explore is the interoperability among different concepts mentioned above. This represents a whole new era of software applications and it is going to affect almost every single individual in the world, whether directly or indirectly. Most of their users will probably not even know it, and that is the beauty behind. The best examples are the cellular phones and the Internet, the things that did not even exist only several years earlier but are a necessity today. Naturally, this situation is a result of the evolution and the software is only one component of human activity and social development. All this is taking our culture to a whole new level.


Copyright © 2004 Alen Šiljak