These mainframes gave the end-user very limited application functionality, displaying only text messages and requiring keyboard strokes for every command (for example, there was no mouse and none of the richness of today's desktop applications like
drag and drop, graphing, sorting or personalized settings).
Deployment costs were also very high due to the cost of hardware and the lack of skilled computer operators.
The
graphical user interface (GUI) provided end-users a much simpler, more efficient method to interact with applications, but systems still proved expensive and difficult to maintain.
This meant it was not possible to "
write once and deploy many".
IT Departments' budgets ballooned due to high support costs and slow implementation times. Rolling out new applications--or even minor updates--required a unique installation for every PC that required access.
Despite the enormous potential, the initial technology (
HTML) used for building and deploying the front-end of these new Internet applications was never intended for anything more than displaying simple text As companies tried to deploy sophisticated business systems over
the Internet, they soon realized that much of the desired functionality they wanted was not feasible.
However, they still used variations of
HTML resulting in passive documents with numerous limitations.
Specifically, from a technical perspective these limitations resulted in:
Lack of functionality: No matter how sophisticated the back-end
business logic, end-users lost the functionality they had come to expect from their familiar client /
server-based
system.
Large online systems that were deployed severely lacked the rich functionality that companies demanded in their offline systems.
While lots of money was spent on building these systems, to date they have clearly not replaced client /
server systems.
In fact, very few even augment the existing offline systems, and in retrospect proved to be very expensive IT exercises which fell short of their original promise.
However, these solutions present expensive development cycles and ongoing maintenance, while introducing new security issues (see below), and applications that still fall short of the desired functionality.
Load on back-end Servers: The
HTML-based Web represents a very inefficient use of computing resources.
Publishing HTML's required page by page structure means that as more people log on to a
system, requests to the
database and the
application server put a strain on these servers.
Companies needing to scale operations can buy more servers with more CPUs to
handle the
high load, but each additional processor not only costs a lot but may also affect the
license cost of all the various software packages running on the
server.
Security Concerns: Companies are concerned that data pushed beyond corporate firewalls onto
the Internet is open to unauthorized, third-party scrutiny.
Additionally, there is concern that plug-ins downloaded from various Internet applications may contain viruses.
Cannot Easily Prototype New Features: Given the complexity of developing user interfaces that provide adequate functionality and the effort required to integrate such solutions to the back-end, companies typically do not prototype and roll out new features incrementally.
Very often, further development of these systems is an extensive project, which introduces the uncertainty of never being fully deployed and used.
From a business manager's perspective, these limitations meant
Inadequate Systems for Doing Business:
Client / server-based systems were expensive, difficult to build and deploy and not accessible outside of the enterprise.
A fraction of these capabilities are available over
the Internet in certain systems, but are far from giving the functionality people require to be effective.
This can take a few seconds at best, or tens of seconds, even minutes, at worst Users of these systems simply abandon activities when they take too long or when connections entirely fail.
Expensive Development: Building and deploying enterprise-level systems over the Internet with sophisticated functionality requires a lot of custom coding with long and expensive development cycles.
Most of this work cannot be leveraged for other systems and is a large, one-off expense that companies must absorb.
As online systems add users and these users start to do more activities online, they consume more and more bandwidth, and as a result costs increase quickly.
Hiring and Retraining expensive IT Staff: Integration of Web systems with existing offline systems and the maintenance of more sophisticated user interfaces for the Web using
Javascript and HTML typically requires armies of programmers, burdening the budget of every department, and many times putting the overall company's viability in jeopardy.
As a result of these challenges experienced to date, companies still have limited confidence in deploying their systems through the Web.
Re-creating the same feature-rich interfaces that existed on client / server-based desktop applications has proven futile for companies attempting to move their systems to the Internet Replicating the performance of desktop applications as well as standardizing the
collaboration and interaction between disparate Web applications has been even more complex, expensive, and mostly elusive.
The massive trade-off in end-user productivity, combined with security,
scalability and performance concerns, has resulted in enterprises running client / server systems in parallel with Web-enabled systems, further deepening the cost of IT, and still not realizing most of the benefits the Internet promised.
Hence, even though millions of people ate now using the Internet to look at documents from anywhere in the world, true interactivity to manipulate data is missing, and the evolution of the Web into a mainstream business and trading environment simply has not happened.