It is time to declare Network Computer (NC) dead. Personal Computer (PC) will be the dominate force in future corporate and home computing.
When Oracle’s CEO Larry Ellison announced early this year that his company had built a $500 network computer, he triggered a media frenzy that sent ripples of confusion, excitement, and even fear throughout the entire PC industry. “I believe that the dominance of the PC will prove to be a temporary transitional phase in the information age, not unlike steam power in the industrial age,” he said in a speech to the Commonwealth Club of California. “The era of the PC is almost over, and the era of the NC is about to begin.” (Croft)
Although Ellison claims later in the same speech that Oracle’s NC will not replace PCs, his statements about a network computing model in which all computing intelligence is derived from the Internet and everything hooked to it and is accessed through a cheap network appliance have made us pause to think about the fate of our current systems.
After analyzing numerous articles, reviews, reports and summaries from many companies, we believe that NC will introduce costly incompatibilities and result in customers losing the flexibility and choice which the PC platform offers. On the contrary, our old friend, the PC will be able to play an important role in future corporate and home computing. In this paper, we will discuss the origin of NC, the nature of Network Computing, the difference between NC and PC, the Java Virtual machine, and why “it is time to declare NC dead.”
THE ORIGIN OF NC
Oracle’s trademarked Network Computer is without a doubt the most highly visible net appliance to emerge from the flurry of network computing hype. The concept of NC is a dirt-cheap computer that discards today’s overweight Operating Systems (Oses) and bloated, platform-specific applications. Instead, it runs a microkernel OS and platform-independent software written in an interpreted language such as Sun’s Java. Monolithic, kitchen-sink applications that give way to component-based programs and applets that you download from a network or the Internet only when you need them. In theory, you could do almost anything with an NC that you do with a PC, except it will cost you a lot less for the hardware and software. Connectivity costs, however, may be significant. (Oracle Corporation)
The final NC as we see today is the direct result of the alliance against Microsoft-Intel (Windows-Intel or Wintel) monopoly. The alliance includes many big corporations like Sun Microsystems, Netscape, Oracle, IBM and Apple. They want to develop NC as a new weapon to break up the Wintel monopoly and promote their own products.
The debate over NCs has led to much loose talk about the destruction of Microsoft. Will NC be the killer of Microsoft? The answer is No. Microsoft has always been known as the best follower in software industry. They do not invent, they borrow. For example, the idea of Microsoft Windows was borrowed from the Mac Graphical User Interface (GUI) platform to get rid of the ugly DOS, yet it became the best selling software in the whole world. As they did before, they refine the idea of NC and fight back right away.
“Our strategy is to embrace the best of what the NC promises – reduced complexity and cost, the Java programming language, and three tier network architectures – and marry that with the best of the PC – applications and hardware compatibility, a choice of hardware and software, and the rich user experience of PC applications. Through three key initiatives (the Simply Interactive PC, the NetPC, and the ‘Zero Administration’ Initiative for Windows), we are focused on solving the significant customer issues of cost, ease-of-use, and manageability, without introducing a costly and incompatible new architecture.” (Microsoft Corporation)
|Operating System||Windows||Proprietary / Incompatible|
|Applications||> 100,000||Limited / Incompatible|
|Development Tools||Choice||Limited to Java|
|Device Support||Thousands||Proprietary / Incompatible|
|Device Model||Windows||None / Incompatible|
|Networking||Choice||Requires high speed net|
Figure 1 How the NC Limits Choice
The NC, by itself, does not address customer’s requirements because:
- The NC is a stripped down, incompatible PC. The NC fails to leverage the economies of scale present in the industry today. The NC Reference Profile allows vendors to ship with a proprietary bus, peripherals, and CPU architectures-which means that not only is the NC incompatible with the PC today, but the different NC implementations are bound to be incompatible with each other.
- The Network Computing Architecture (NCA) is deficient for solving real customer problems. The NCA (Thompson) assumes that shifting computing power to the server automatically equates to lower costs. Unfortunately, without unlimited bandwidth, high powered servers, and staff to service them the architecture will introduce more problems than it solves: slower response time and poor scalability, for instance. In addition, the NCA is not a viable solution for mobile workers, so up to 70% of mobile workers within corporations are left high and dry.
- Java’s success as a programming language does not equate to success as an OS and applications platform. Java Application Programming Interfaces (APIs) today have severe limitations-support for only 4 fonts, no robust object model, no printing, no database access, no management APIs, no 3D graphics, etc. (Boyns) This means more work for application developers trying to develop and test cross-platform solutions. Microsoft’s strategy for Java is to deliver the best implementation of the Java programming language and virtual machine, bar none. Today, in fact, the Windows operating systems deliver the fastest and most robust Java virtual machine available, while offering applications developers choices and flexibility.
There is no standard NC OS. There is no standard for a device driver model, API, or windowing system. This will lead to fragmentation and more, not less headaches for Information Technology (IT) professionals. Customers want more choices of standardized hardware, increased homogeneity, and better compatibility across their computing infrastructure.
Microsoft recently announced NetPC which will provide a better solution than the NC. (Microsoft Corporation). The NetPC is a new member of the PC family that will reduce the costs of business computing by optimizing design for a particular class of task-oriented users that do not require the flexibility and expandability of the traditional PC. The NetPC builds upon the Windows phenomenon; the NC does not.
The PC is an amazingly resilient and adaptable platform, and the PC industry is an efficient mechanism for embracing and delivering new technology to customers. During the past five years, the PC has grown to encompass networking, multi-media, and the Internet – all technologies that, at the time, were widely predicted to be the end of the PC. Today, the industry is focused on reducing cost of ownership. And there is every reason to believe that the PC will evolve to become a less costly asset for corporations to own as well.
There are several reasons why PC is the best-selling computer on the market: (The Gartner Group)
|Choice and flexibility. The open architecture of the PC has led to a vibrant, competitive market for hardware and software, driving prices down, and functionality up.|
|The Windows platform. Today more than 100,000 applications are available for Windows. Windows has fostered a rich and competitive applications and tools market by delivering a common, cross platform API and user experience.|
|Competitive advantage. Cheap, powerful standardized microprocessors (mostly from Intel) have made enabling and empowering technologies practical – like the graphical user interface, natural language interfaces, and speech recognition – which in turn has opened up the benefits of computing to everyone; not just the IT specialist.|
Twenty years after the PC revolution, the NC is a potential throwback to a less productive, incompatible, proprietary, vendor specific computing environment. The NC means giving up mobile PCs, throwing out the rich capabilities of today’s applications software, and abandoning the choices of low cost hardware and software available today. The downsides are significant; the benefits unclear.
NETWORK COMPUTER VS. PC HARDWARE DIFFERENCES
It’s important to understand how the NC and the PC differ. An NC device which is very different from the mainstream PC and will not benefit from the enormous economies of scale inherent in today’s PC industry – standardized microprocessors, bus architectures, and devices – and in turn this will drive prices up, making NCs less cost effective. However, NC devices which are similar to PCs will presumably be vulnerable to the same kinds of cost of ownership claims as PCs. And if an NC is similar to a PC, then why would a customer choose to add an incompatible device to the corporate network?
The Network Computer Reference Profile
The definitive authority on the NC is the Network Computer Reference Profile, first published in July of 1996 by Network Computing Inc. (NCI), a subsidiary of Oracle Corporation, and endorsed by Apple, IBM, Netscape, Oracle, and Sun at that time. (Thompson) Like the NetPC Reference Profile recently announced by Microsoft and Intel, the NC Reference Profile is intended to define what an NC is. The NC Reference Profile specifies hardware guidelines, and required protocols.
NCI specifies the following hardware guidelines – not requirements – in the NC Reference Profile.
|minimum screen resolution of 640×480 (VGA or equivalent)|
|text input capability|
|persistent local storage (not required)|
NCs which conform to the reference protocol must support IP, and IP-based protocols including TCP, FTP, Telnet, NFS, UDP, SNMP, and optionally DHCP or Bootp. In addition, NCs must support HTML, HTTP, and the Java virtual machine and class libraries, plus SMTP/IMAP4/POP3 for email. Finally, NCs must support common multimedia formats including JPEG, GIF, WAV, and AU. Optionally, NCs may also support the ISO 7816 SmartCard spec, and credit card payment specs.
|Security: The requirement, or standard protocol, for authenticating individual NCs on the network.|
|Printing: Presumably in a networked world, nobody will ever have a need for hardcopy again.|
|Extensibility: No bus architecture is specified, nor any extensibility mechanism.|
|Operating System: None is specified.|
The Impact of the NC Reference Profile on Design
The NC Reference Profile is a deliberately non-specific document which does not preclude features and functions which are outside the scope of the profile. While the Microsoft NetPC was designed to create a standard platform in order to drive lower Total Cost of Ownership (TCO), the NC Reference Profile specifies an “architecturally neutral” design. This means:
|NCs from different vendors will likely not be compatible. There will be a proliferation of hardware, CPUs, and operating systems as manufacturers add new features in order to gain competitive advantage.|
|Customers who purchase NCs from multiple vendors will need to incur the expense of supporting multiple hardware, and OS implementations.|
NC Hardware Design
Because the NC Reference Profile is “architecturally neutral”, there is no standard design for the NC. Multiple, incompatible, proprietary architectures and operating systems from a variety of vendors are referred to as NCs.
|Oracle and Acorn Computing have developed a prototype device based on the Acorn ARM processor, and a proprietary OS in ROM.|
|Sun’s platform is based on a special purpose processor – the Java chip – which can only run Java language programs.|
|The IBM Netstation consists of a proprietary OS in ROM, a PowerPC processor, Internet browser, and several terminal emulators.|
|Consumer devices, like telephones, and television “set-top boxes” are being built on a further array of incompatible platforms, and the problems are being magnified by the requirements to display data on devices of differing capability.|
Sun’s JavaStation is a perfect example of the risks inherent in the “architecturally neutral” NC Reference Profile. The JavaStation is a proprietary, single vendor solution – a Sun Workstation powered by Sun’s Java processor running applications on Sun’s Java virtual machine, which sits on top of Sun’s JavaOS. For $750, customers get a proprietary, incompatible, un-expandable PC with just 8M of memory, and no monitor, or hard disk. (McGarvey)
According to the NC Reference Profile, the NC is simply a PC – a non-standard, often significantly under-powered and incompatible PC, but still a PC.
THE NETWORK COMPUTING ARCHITECTURE
The Network Computing Architecture (Oracle’s name) or the Java Enterprise Computing Architecture (Sun’s name) is a three tier model of computing, where data resides on host machines, applications reside on applications servers, and clients (NCs) run only a thin User Interface (UI) layer. The NC is a stateless machine that simply acts as a terminal to run applications and access data on the network.
A three tier architecture allowing centralized control is not a bad thing. In fact, Microsoft’s “Zero Administration” Initiative for Windows is designed to deliver the best of the PC and the best of the NC – to give the benefits of centrally administered workstations on a corporate network, while preserving the investment in existing PCs. The “Zero Administration” Initiative for Windows also solves performance problems inherent in the NCA by “reflecting” hardware and software state from the PC to the network, facilitating mobile computer usage, and delivering maximum performance to local PCs. Most importantly, this initiative is not tied to a particular hardware platform, which allows customers to benefit on both today’s and tomorrow’s PCs.
Specific features of the “Zero Administration” Initiative for Windows include the following: (Microsoft Corporation)
|Automatic system update and application installation. The operating system will update itself when the computer is booted, without user intervention, seeking the latest necessary code and drivers from a server, intranet or the Internet, if available. The Automatic Desktop feature will provide users with all available applications, installing them automatically when invoked.|
|All state kept on server. Users’ data can be automatically “reflected” to servers, ensuring high availability and allowing mobile users to have access to information whether connected to the network or not. Additionally, users will be able to roam between PCs while maintaining full access to their data, applications, and customized environment.|
|Central administration and system lock down. All aspects of client systems will be controllable by a central administrator across the network. In a few simple steps, the system can be “locked down” to maintain controlled, consistent, and secure configurations across sets of users. The degree of flexibility can be altered on a per-user basis by the central administrator, without having to change hardware and software.|
|Application flexibility to design the best solutions. A full implementation of the Active Platform – key client and server Internet technologies – on Windows offers the flexibility to deploy both Web-style “thin client” applications and the full wealth of personal productivity and client-server applications. When combined with the lock down feature, administrators will be able to tune the client environment to the exact needs of each user, and be able to change these as business needs dictate.|
Windows will become more easily administered through the “Zero Administration” Initiative for Windows.
In addition, it is incorrect to assume that a centrally administered network of the type described by Sun and Oracle will automatically lead to lower costs. There are several obvious costs which Sun overlooks, which need to be considered:
- Shifting processing power from the client to the server has a cost. Server CPU cycles cost anywhere from 10x to 100x the cost of equivalent client CPU cycles. Providing equivalent processing power to today’s desktop PC from a central host, or server, is a much more costly proposition than simply buying PCs. That is, if a customer wants to centralize data and/or applications on servers, the PC architecture is flexible enough to accommodate their needs.
- User response time in this architecture will be slower. In the scenario where all data and applications reside on servers on the network, bandwidth becomes a critical constraint. On today’s networks, applications load 2x to 7x slower when installed on servers instead of locally. Networks will need to be upgraded to at least fast Ethernet (100 Megabytes per second) in order to provide acceptable performance.
- Centralizing computing resources will require additional IT staff to administer those resources.
In addition to potential additional costs, there are risks inherent in the NCA architecture which are not present in a client-server architecture.
|Failure of a server impacts every user on the network. When a server goes down, every user dependent on that server for applications or data becomes unproductive until such time as the server is back online. The IT manager is faced with potentially hundreds of unproductive customers versus a single unproductive user. Hardware failure in the NC environment can have catastrophic effect, versus inconveniencing a single user on a PC.|
|Mobile computing is difficult. Customers have embraced notebook computers with a passion. More than 30% of PCs sold today are mobile form-factor PCs. (The Gartner Group) Penetration in the corporate marketplace is as high as 70%. The requirements of mobile computing are 100% contrary to the requirements of the NC – local hard disk storage, local applications, local machine state, local data. Network computing would return the mobile sales force to the days of notepads, paper order forms, and manual quotes – erasing all of the gains made in the last 10 years.|
|This architecture is much less scalable than a PC architecture, requiring large investments in both servers and networks in order to increase computing performance. Network performance will not scale well in an environment where each additional user impacts every other user’s productivity.|
|Predictable usage patterns, such as logging in at the beginning of the day to collect mail, or returning from lunch, will require large investments in servers so that these peak usage times can be accommodated. For the rest of the day, however, it’s unlikely that the servers will be used at anywhere near capacity.|
Replacing PCs with NCs and transferring applications from local hard disks to servers simply transfers the expense of managing the PC to the server. Microsoft’s “Zero Administration” Initiative for Windows will make PCs fundamentally more manageable, while preserving existing hardware investments and offering customers the choice and flexibility to locate data and applications on either the server or client. The lowest cost option for deploying three tier networks will be Windows-based NetPCs, not the NC.
THE JAVA VIRTUAL MACHINE
|Windows API (Win32)||Java API|
|Functional Breadth||broadest API||minimal|
|Maturity / Robustness||yes||version 1.0|
|Tool Support||the best||immature|
Figure 2 Win32 API vs. Java API
The third key element which the NC Reference Profile mandates is Java. Microsoft’s strategy for Java is to deliver the best implementation of the Java programming language and virtual machine, bar none. Today, in fact, the Windows operating systems deliver the fastest and most robust Java virtual machine available, while offering applications developers choices and flexibility.
Java is not a component unique to the NC. There is a key difference between Windows-based PCs and the NC, however. In the world of the NC, the Java API constitutes the sole programming API, whereas on Windows, Java is simply one of many languages for writing software. This offers the software developer the best of all worlds – the ability to write applications using Java, and the rich flexibility and diversity of the Win32 (Microsoft’s 32 bit programming implement) API.
It is key to understand what Sun means by Java, in order to understand what benefits it can offer you. Sun has confused some customers by variously labeling a programming language, a virtual machine, an operating system, and a family of microprocessors with the name Java. To be clear, the benefits of, and enthusiasm for, the Java language do not transfer to other products that happen to share the Java name.
The leap from Java the programming language to Java as the applications platform raises several issues:
Figure 3 Microsoft Java Programming Model Offers Choices
|Limited to a single programming language – there are hundreds of programming languages in the world, each with its own advantages and disadvantages. A computing infrastructure that supports just one programming language restricts choice and forces abandonment of huge amounts of existing code and expertise.|
|Limited to least common denominator functionality – in order to maintain its cross platform capabilities, Java severely restricts the functionality available to applications. Like every middleware layer, the Java virtual machine can only support the lowest common denominator feature set and still remain compatible with all of the platforms it is designed to be run on. So Sun’s standard Java has no support for the right mouse button, no pop-up menus, no clipboard for data exchange, etc. Functionally, applications built on the Sun Java virtual machine and standard API set have only a fraction of the flexibility and capability of Win32-based applications.|
|Version 1.0 product – Java is an immature product and today has significant issues with robustness, performance and is missing key features customers cannot live without. For instance, like early versions of OS/2 (by IBM), Java does not support printing (perhaps this is a last ditch effort to make the paperless office a reality). Common Windows functionality like database access, security, a component model, management APIs, multimedia, sharing/collaboration, telephony, and 3D graphics is promised sometime in the future. Because basic services are missing, applications developers must do more work to deliver common functionality or wait for system services to be delivered.|
|Lack of applications – few applications have actually been built for Java. Granted, there are over 3,000 programs listed on the Internet. However, these are almost entirely demonstration or learning applets for programmers to test their knowledge of Java programming. Writing a collection of Java components and applets that could duplicate the functionality of Word, Excel, PowerPoint, and Access is what is known in the industry as a “nontrivial task.”|
Betting your business on a Java-only solution is a risky gamble. You are betting that there will be interesting and competitive Java applications available in the future, the Java programming language and tools will prove to be mainstream, and that the functionality, performance, and robustness deficiencies in the API will be addressed. If you are interested in Java development, a better solution is to use Java in conjunction with the Active component model (Microsoft Corporation). Java applications can be developed today under Windows that take advantage of the rich hardware and software infrastructure found on the Windows-based PC.
The best platform for running Java programs is Windows. It offers the fastest and most robust implementation of Java available today, the best development tools, and a proven object model called ActiveX that allows Java applications to integrate with the rest of the computing environment. The rich, flexible, and robust native Windows APIs can be combined with Java programs to produce high quality software with the development benefits associated with the Java language.
The final piece in the NC story is the operating system. The NC Reference Profile says nothing about operating systems. Rather, a set of protocols are mandated, and the vendor is free to choose an OS to implement those protocols. Application portability is achieved by requiring that every NC must ship the Java virtual machine. This is in stark contrast to PCs – on the PC the operating system is Windows and Java is one of many development tools. On PCs, developers are not restricted to just Java.
Up until today, many vendors have chosen to license the Oracle NC OS. Several other choices are available, however, including NC/OS from SCO (a variant of SCO UNIX), and JavaOS (based on Solaris), from Sun. In fact, Sun has built a special purpose family of processors based on the SPARC architecture for running Java applications natively.
Lessons from the UNIX World
Not surprisingly, given the fact that the minicomputer vendors designed the NC, there are a number of parallels between today’s NC architecture and the UNIX architecture.
|Like the NC, every UNIX system’s hardware is different from every other. Operating system components and protocols were supposed to provide the common development platform.|
|UNIX commonality was based on the X-Windows Interface, the C run-time, and the command shell. In the world of the NC, the Java virtual machine is the equivalent of the C run-time, and Java’s Advanced Windowing Toolkit (AWT) is the equivalent of X-Windows.|
|Since each NC potentially has unique hardware and a unique OS, the implementation of the Java virtual machine for that OS is, by design, different. The virtual machine, for optimization purposes, will need to take advantage of platform specific features. Historically, multiple implementations have always resulted in incompatibilities, and just like the UNIX developer of the 1980’s, the Java developer will need to test on every platform. The “write once, run anywhere” of NC promoters is unrealistic.|
|As NC vendors build competitive advantage by differentiating in hardware, new Java classes will need to be exposed for that hardware. Multiple implementations of the Java virtual machine will occur naturally as vendors adapt the NC for embedded applications, different NC models, and advantageous new features. There will be a natural, divergent evolution of each vendors platform. Software, in this case Java programs, will have to be written specifically for each vendor’s platform.|
It follows that customers who buy NCs from multiple vendors will have to support multiple operating systems. Those customers will incur:
|Increased cost – heterogeneous networks of devices simply cost more to manage.|
|Reduced inter-operability – since there is no standard device model, NCs will have incompatible drivers for devices. Without a common driver model, peripheral manufacturers will have to write drivers for every NC implementation. Some NCs in the organization may be incapable of supporting peripherals which others do support. This is very similar to the situation 10 years ago where every word processor and spreadsheet had custom printer drivers because the OS didn’t have a standard model.|
Fundamentally, the fragmented OS strategy of the NC eliminates choice, and reduces innovation. With Windows the customer can choose from in excess of 100,000 applications, thousands of peripherals, and thousands of PCs. The phenomenal pace of innovation in the PC marketplace is due to the standardization of systems services and APIs – an advantage which the NC cannot claim. With the NetPC and Microsoft’s “Zero Administration” Iinitiative for Windows, the promises of the NC will be delivered in a standards-based framework which leverages customers existing PC investments.
The minicomputer vendors have made a number of claims about the NC, the NC architecture, and the Java virtual machine. Specifically, they have said that the NC reduces complexity and cost, increases security and reliability, reduces development time for applications, and eliminates the cost of deploying applications. However, there is no evidence to substantiate these claims, and logic says that they cannot be true.
The NC is a vendor specific, non-standard PC, which is incapable of running popular software, and which limits the choices of customers. Although the minicomputer vendors would like you to believe that the NC represents a new computing paradigm, that does not seem to be the case.
Betting your business on the NC is a bet that a market, complete with standards, applications software, peripherals, and hardware will emerge for this architecture. Gartner predicts this will take at least five years, but even this may be optimistic.
Creating a thriving and viable computing platform is a daunting task. Just ask GO/EO, Apple, SCO, IBM, Commodore, and countless others who have tried over the past decade. The NC Reference Profile makes this task doubly hard, since it doesn’t specify any of the necessary standards needed to create a thriving OS platform – device model, APIs, bus architecture, and others. This approach failed to make UNIX a standard in the 1980’s. Is there any reason to believe the same approach will succeed this time?
It is time to officially declare NC dead. May it rest in peace.
Boyns, Mark. Why Java is hot? June 17 1996. Available from URL http://www.sdsu.edu/~boyns/java/mc/time.html.
Croft, Adrian. “Age of ‘Network Computer’ Dawning, Oracle Chief Says.” The Detroit News Cyberia. 09 Mar. 1996. Available from URL http://detnews.com/cyberia/daily/oracle.oracle.html.
The Gartner Group. Just-In-Time Computer Based Training. Oct. 1996. Available from URL http://www.gartner.com/training/resources/jit.html.
McGarvey, Joe. “How Much Will $500 Get You? Not Much.” Interactive Week Online: 17 June 1996. Available from URL http://www.zdnet.com/intweek/print/960617/digitdev/col1.htm.
Microsoft Corporation. Microsoft Announces Zero Administration Initiative for Windows. 28 Oct. 1996. Available from URL http://www.microsoft.com/corpinfo/press/1996/Oct96/ZAWinpr.htm.
—, Microsoft and Intel Launch NetPC with Industry Leaders. 28 Oct. 1996. Available from URL http://www.microsoft.com/corpinfo/press/1996/Oct96/NETPCpr.htm.
—, The Microsoft Active Platform: Frequently Asked Questions. Oct. 1996. Available from URL http://www.microsoft.com/activex/.
Oracle Corporation. The Network Computer ?. 23 Jan. 1996. Available from URL http://www.oracle.com/headlines/html/ncwp.html.
Thompson, John M. Network Computer Reference Profile. 20 May 1996. Available from URL http://www.internet.ibm.com/news/thomp.htm.