As much as there is not such a thing as the user, there also is not such a thing as the developer or the supplier. Until recently, developers of Internet applications and techniques were mostly (academic) researchers. With the emergence of the Internet as a commercial market, many other parties are starting to do research and develop techniques and applications for the Internet:

"The emergence of the Internet and the World Wide Web has created a heightened demand for intelligent software agency. From a functional perspective, utilisation of the Web is moving from a scattered browsing model to an efficient point-to-point information transfer medium. This trend has (and is) driving the intelligent agent development from academic research environments and proprietary corporate uses to mass commercial usage."
from "Intelligent Agents: a Technology and Business Applications analysis" by Mark Nissen

Moreover, many suppliers of information and/or services play a double role as they are (becoming) developers as well.

This has its effects on developments in the agent technique. Aspects that were of minor importance in the past, such as profitability of a technique and whether or not it meets a certain market or user demand (and how well this demand has been met), are becoming major issues now. Companies use the Internet and agent-based applications as a means to draw attention to other products they sell (e.g. like Sun Microsystems who use the JAVA technique to sell more Internet servers [1]) or as a profitable extension of existing products (e.g. like IBM who are developing agents to extend their groupware and network software packages).

So, predicting tomorrow's developments depends strongly on who is leading developments today. A commercial 'leader' will want agents to have quite different characteristics compared to, say, academic researchers. An overview of these differing aims is given in the following table:

Commercial developers' aims: Non-commercial developers' aims:
1. The aim usually is to move on to the practical implementation as soon as the related theory has been sufficiently worked out (i.e. theoretical research should be sufficiently elaborated, but does not need to be exhaustive, at least not immediately); Non-commercial developers will (most probably) first do extensive research into a complete (and well-defined) concept or application, before moving on to sub concepts and the practical implementation (if they move on to this stage at all);
2. Agents should be profitable - somehow - within a foreseeable period of time; Agents may turn out to be profitable (or have potential to be so), but this is not an explicit aim;
3. User/market demand(s) plays a very important role in the development process. Because of this importance however, unforeseen applications or demands may be overlooked; Theoretical soundness, robustness and completeness are most likely to be important factors in the development process. User/market demands usually do not come into play until the practical implementation stage is reached (and may not be always that well known). Research may also tend to stay in the theoretical stage too long;
4. Commercial developers will probably not be extremely interested in developing generally agreed upon, open standards (unless this standard is the one they have invented themselves). The aim (although not always explicitly) is to come to general/open standards, or at least reach a consensus on vital issues, as this makes it easy to work together with other groups and share results (preventing duplicate work/research from being done).

Neither of these two "extremes" is very desirable: agents should not remain "an interesting research object" until eternity, but neither should research be aimed at merely scoring quick results.
A lot of attention should be paid to the demands of users (and other parties) in 'the real world'. However, care should be taken that not only the needs of the largest or the most profitable user groups are catered for, but also those of smaller groups and even of user communities that have yet to be discovered.

In [JANC95] developers find that the development and support costs of agents are about the same as with other forms of development. Most developers create applications for a single domain. Because they control the domain [2], they can manage the costs of development and support. In the report, developers predict an increase in cost once agents become mobile, irrespective of whether one single agent model (i.e. all agents use the same language, such as Telescript) or several models are used. [3]

Furthermore, most vendors indicated that agent-empowerment will make a difference, but they are (still) struggling to help their user community (existing and prospective) understand what the agent-enabled applications could do. "In some markets, such as network management, "agents" are a required item to sell (even though experience-to-date shows limited user adoption of the agent capabilities)."

[1] JAVA itself is not an agent-application. Yet, the Java Agent Template is available which "provides basic agent functionality packaged as a Java application. This agent can be executed as a stand alone application or as an applet via a WWW browser".
[2] i.e. they know exactly what domain they will be used in.
[3] more about this will follow in section 6.2.

 previous page  next page  to the chapter's TOC  to the main TOC

"Intelligent Software Agents on the Internet" - by Björn Hermans