People think NC's are something new, they aren't (conceptually), they are just a modernization of an old idea. NC stands for Network-Computer -- well most of our computers today are on a Network, so even the implications are not all that new. Years ago, all computing was done with centralized computers, and "terminals" that let you log in and access time and memory on the central computer (the server). Later, as the central computers became bogged down under the heavy loads of too many users, manufacturers made the terminals "smart" (having small computers of their own), so that they could do some of the computing themselves (and off load the server a bit). Well an "NC" is that concept, just a little modernized.
An NC is just a "little" computer, that gets all its information from a centralized "server". The NC does a little "processing" work on its own, but all information is stored on the server. Instead of each machine having thousands of its own settings and all of its own storage, and having to be configured separately -- the user instead has all of his settings and information saved on a server. This means that once things are set up for a user, their preferences (configuration) can follow them from place to place (NC to NC) -- whenever the user logs on to a machine it behaves exactly like the NC on the users desk. It is very easy for administrator to set up and maintain that server (and to backup that data) -- and so users never need to be bothered with setup, nor are they free to tweak their own settings (beyond a certain point). Users operate in a very restricted environment (sheltered children) -- a perfect symbiotic relationship, for a totalitarian state -- you do exactly what THEY tell you (or allow you) to do.
Will NC's succeed?
Don't let my satire sour you too much, there are many places where this complete centralized "state" control will be valued -- and other areas where it will never succeed. If you have a creative work-place -- say a game development house, or place where they create computer graphics, then this central-control will likely be resented and resisted (it'll be a hard sell). The users may not want one, despite what it could do for them, and will resist. In other areas computers are a status symbol, and I'm not sure an NC is sexy enough to be allowed (even if it is practical). Remember, reason doesn't always win out over prejudice. But if you have a school, accounting business, retail (POS systems), data-entry shop, Fortune 500 company (which kills anyone with imagination on sight), or one of the jobs that most of us are forced to do, then this centralized control will probably be readily accepted -- with the same resignation as paying our taxes or watching management make dumb decisions. But at least the new "ease of use" of NC's will be appreciated. So there will DEFINITELY be some areas where NC's succeed. But there will also be many areas where they will not.
I don't see NC's as being a big thing for most homes, at least not the homes that already have personal computers. People like to play "keep up with the Joneses" -- in fact that is probably why most people have a computer today, they are afraid of falling behind. When people buy computers they love to buy a faster machine then their neighbor, more memory, etc. (just show off). NC's will have a tough time penetrating that market. In some high-end homes, where they can afford to pay consultants, NC's may do OK -- one server, lots of stations for everyone. In homes that are techno-phobic, there will be some NC's (or Appliance computers) to help the users do some very specific functions (like surf the web, play games, or type reports). But overall, I don't see NC's replacing PC's, anymore than I see public transportation replacing cars, motorcycles or other forms of private transportation.
Cataloging the types of NC's
Now what fun would there be in the life of an engineer (me), if I couldn't create acronyms and jargon to confuse people and make myself feel superior? Very damn little I can assure you. So I'm going to have fun, and you are going to have to live with it. If I am successful (as I have been in the past), then other people will use my terms. If the terms don't catch on, then I can still use them -- and most people won't know what I am talking about, and so they'll assume I know more than them, and I win anyway.
100% Pure-Network-Computer (JavaNC)
Since Sun thought of the name "NC", they get to be called a "pure" NC. A Pure-NC is a tool that does nothing but run Java and gets all of its information across the network. This means performance is tied to network performance, and anchored to a slow language -- with no legacy apps.
I don't know about you, but I don't like my Java "Straight-up" -- I prefer a good Cafe Mocha (cream, sugar, chocolate, etc.) added for flavor -- I think the market is thinking the same way. And so far this idea of "Pure JavaNC" hasn't taken off, because it will be useful only AFTER there are thousands of Java Apps to choose from, and there are thousands of Java Experts ready to whip out custom solutions for your company. In 5 more years this dream may be a possibility - but it may be crushed by the more practical NC's as they become realities first and have a big head-start in usefulness.
The Mac was meant to be an "Appliance-Computer". Jobs intended that you would plug a Mac in, and it would work. Users wouldn't have to worry about expansion or config.sys files. 15 years ago the market wasn't ready to accept that concept (and certainly not at the $2500 price point of the Mac, nor the $10,000 price point of a Lisa). The technology of the time was not yet ready either (premature productization)-- but the idea is valid, and has been catching on (of late). $200-$1000 AC's are coming in at a different price point, in a more mature market, with far more horsepower than the machines of 15 years ago. The AC's time is coming, and I think it will be soon. Nintendo, Sega, etc., are all AC's (specialized towards Games).
PDA's like the Newton, eMate, Pilot and WindowsCE hand-helds are all forms of an Appliance Computer. You buy it, it does a few things well, and you don't really have to worry about the OS at all. You don't upgrade these $300-$1000 machines (most of the time), you just hand them down to someone else (or sell them off cheap), and buy yourself a new one that does more.
Technically these AC's are NOT automatically NC's. But there is a lot of conceptual overlap -- which is where it gets interesting -- and is leading to a hybrid technology that I call "NAC's".
If you mate an Appliance Computer, with a Network Computer (in an unholy Act that I'd rather not visualize), you would get the NAC. This would be a cheap little Appliance Computer that could access the Internet (or business network) to get your email and transfer some data around. In other words, it would be Apple's eMate or the Newton hand-held, with eMail and Browsing (which Apple is already adding in)(1).
Of course Apple is not the only company thinking of these devices. Almost all AC's are going to become "NAC's" because the internet is just too "hot" right now, and everyone wants to cash in. In most cases it will make sense, in a few it will just be marketing types trying to add a buzzword to their brochures, and instead gunking up a perfectly useful product.
The Pilot is attempting to do eMail and Web (but is just not that useful at it), as will many of the other hand-helds. A couple of PDA's that died were trying to do the same thing -- Motorola had two computers that integrated wireless communications; one of these devices was Newton Based, called the Marco -- and the other one (Envoy) was based on the MagicCap Operating System from General Magic (which has become a fly speck at the bottom of the page on computing history). But these "super-Pagers" as I like to think of them, will catch on eventually -- that is one of the interesting things about computers, almost all concepts come back again and eventually succeed. The only question is how long until Motorola (or another company) has the guts to try again, and how long until the market it ready to accept them, and the technology makes the ideas affordable?!
There is also a distinction between the portable devices I've been discussing, and the less portable ones, like WebTV, Apple's Pippin and other set-top designs. Most of the set-top-boxes (like Sega, Saturn, Pippin) run on a TV-Set and are appliance computers (usually running games and a few basic computing functions) -- but almost all the Set-Top Box and Game-Box Specialty/Appliance Computers (AC's) are evolving into Network Ready NAC's -- just not portable ones. The price point will be a big lure, and the pre-configured appliance concept will be attractive to the techno-phobic (or those that want to get work done). These are the machines that will probably target the home market (that currently don't have computers), while the NC's and NPC's target more businesses and schools.
Since Microsoft (and Intel) believes in generalization and the Swiss army knife approach to every problem, "Why make a screw-driver when you can pound screws, and pry them out, with a hammer?", they decided that an NC should be just a cheap (underpowered) PC's, that have some software to do a little more centralized control than a regular PC, and could run Java and have some web/internet functions built in. If it fails, then MS doesn't care because they sell more PC's (or more accurately, Windows OS's and Windows Applications).
This approach is unique (and pretty good) -- they are trying to scale PC's DOWN, into cheaper and simpler machines (instead of actually designing something for the job). But the initial cost, complexity and ease of maintenance will get better. So even though they are scoffed at (for now), I think that eventually the NC's that succeed will look as much like scaled down computers, as "Pure" NC's.
Moore's law says, "computing technology will double every 18 months", so Moore is on Microsoft's side in this battle. The costs of PC's will continue to plummet, (and performance increase), so there is a good chance that the price / performance / configurability model can be improved to a point where a Small-PC (with all the features and functions of a PC exist, just not to the same scale), tailored towards network functions, is viable and becomes a "SuperNC" (2).
Issues and Solutions
NC's BIG FLAW. Centralized control makes things easy (for administrators a lot, and uses a bit), it allows people to move place to place and access their work (off the central server). It allows for upgrades to happen once (and propagate to Everyone), and for backups to be more easily centralized. It is also the biggest flaw or point of resistance -- a single point of failure. If that server goes down, or a bad piece of software gets on the server, it effects EVERYONE. Anyone from the "olden" days remembers sitting around waiting for IS to get the "main machine" working again after some failure -- any mistakes on the server are big ones.
In todays decentralized computing, the network going down will effect lots of people, but they can still do some work. But the big flaw cuts both ways. Since not everyone needs a server on their desk, smart companies can pay for redundancy (secondary servers with backups), redundant drive arrays, multiple power supplies, and more. So once again the costs (and power) move away from user stations, and towards the central server -- because of how critical it becomes to Everyone. The overall balance on reliability and down time is just different -- one big period of everyone in the company being down at once with NC's, or a person or two a day having crashed their machine and needing IS to help with their PC's. The NC model has potential advantages, but some risks as well.
The biggest issue facing NC's is the network performance. A lot of data has to me moved back and forth (between the NC and the Servers). If you had an infinitely fast network, people would be able to tolerate lack-luster computer performance in most cases. But we don't have very fast networks. Of course the solution is to use faster networks -- but that is not always an option. Sun's NC concept falls flat on its face in a remote setting (using the NC at home with the server elsewhere), because homes are wired with slow networks (often modems). Transferring the data to and from the home JavaNC would be excruciatingly slow.
Local Storage -- part of what makes the NAC or NPC better than an NC is that they have Apps built in (in local storage). When you run an App, it is USUALLY going to be off the local machine. If you can run most of your apps (and OS) off of local storage (either off a hard-drive, CD-ROM, ROM, etc.), then the network will only have to transfer the data to and from the server -- which is far far smaller (and faster) than having to transfer the data, the apps, and the OS itself. (Yes, some cretins have proposed that the OS itself should be downloaded across the net, Every time you boot your machine, without any regard to what a torture it would be to do so).
Pre-loading (Cache) -- the more information you can keep on the local machine the better. A cache is a type of local storage. When you run an app off of your server (the first time), you can store a local copy of that App (or data) onto a hard drive (or RAM). This would allow you to NOT have to transfer everything, Every time. The first time you ran, you'd load the information and store a local copy. All subsequent times you'd just check to see if your local data was up to date (with the data on the server). If it was the same, you'd be able to continue by running the local versions (without any network traffic) -- if the data was different, then you'd have to only transfer the parts that were different (reducing network traffic). This concept makes the NetPC superior to the current crop of NAC's since NAC's don't currently have enough local storage to make caching effective (most NAC's have read-only local storage like ROM-cartridges or CD-ROMs, but caching requires writable storage like RAM and Hard Drives).
Application Performance is also an issue. Native programs are pretty fast, but Java programs are not native -- they are always "interpreted" (they have to be converted from Java "byte code" to the computers "native" instructions). Sun is trying to make a processor that runs Java Code "natively", but since those can's run anything else BUT Java code, they would be of very limited usefulness (at this time) -- for anything other than very low-end specialty machines. Besides, the hot-rod home PC's are pretty fast with Java, and may surpass Sun's Java-Processors in absolute performance -- but applications written for the PC's (native) will still be faster than programs that have to go through a Java Emulation Layer (relative performance). Even though native code is faster than interpreted code, there is a point at which no one cares any more. In a few years computers will be fast enough that no one will care because users can't tell the difference between a millisecond (1,000th of a second) and a nanosecond (1,000,000,000th of a second). Things (from a UI point) can only get so fast before it is beyond our ability to notice. But we are not yet at that point.
System Performance - don't underestimate the value of performance over all. I know I just said that performance has limits -- it does, but we can use "left over" performance to do other things. For example -- if the computer is fast, then we can compress the data and decompress the data we send across the network, this makes the network behave "faster" (because it has to send less data). We can use the performance for other things, like speech recognition, or for doing multiple things at the same time. So performance is over-rated in many cases, but then forgotten about in some. Also some "little" differences of milliseconds can add up in some areas (like network performance, synchronized audio and video, etc.). Performance for performance sake is worthless -- but UTILIZED performance can create better solutions, and so has value. When you don't have quite enough performance for your task, you will know it. So there is a balancing act to the performance game.
Back to the Future
So the Uber-NC will be the one that is the cheapest, most powerful, easiest to use, with lots of software (functionality) built in. You need the fastest network, and the most memory (for caching to increase performance), and possibly to run lots of legacy Applications (though in the NAC market, this might not be AS important).
I don't think the technology is ripe (yet) for JavaNC's. IBM or Sun might surprise me and come out with completely pre-configured JavaNC's with tons of integration to all their corporate databases, and offer Java Specialist services, etc... but even that would be a hard sell. They would have to totally overcome all the "Open is good, Power is good" biases that have been ingrained into the market for the last 15 years. These revolutions in thinking will take time, measure in years or decades. (Remember, Man adapts slower than technology).
Apple has the Newton and eMate for the AC's and NAC's market. There is no product that currently competes with these products. WindowsCE is a steaming pile (for anyone that has suffered through using one) -- the only reason why it sells is because there are techno-geeks who actually want to use surgical implements to access a lousy User Interface on a microscopic screen -- it makes them feel technologically superior. The Pilot is nice, and I use mine all the time, but it is not up to the task of being really useful for networking (10 minutes spent trying to write out a small email message will drive that message home, and browsing on a screen the size of a postage stamp is impractical). Game Machines are cute, but no one buys them for real work (and they just aren't quite there yet). WebTV is cute, but other than the initial sales surge, it seems to be dyeing (and is basically just a copy of Apple's Pippin concept, done by a guy that came from Apple). So there will either be a whole new line of products in this area, or the Newton/eMates are going to rule (and Apple will do well). Since eMates have already been getting rave reviews, I think the next generation of them will take off -- especially if Apple can drop the price point and increase performance/functionality and add some variety to the products (specialize for home, school, business, etc.). It sounds like Apple is going to do exactly this.
But it will be the NPC (IMHO) that makes the market useful to most businesses. Apple is rumored to be releasing a variety of NPC's early next year that has a 233MHz+ G3 processor, with a fair amount of memory, and probably tying the machine to the fastest network Apple can manage. The network will likely be 1394 (FireWire) which has a transfer rate that is 40-80 times faster than ethernet (normal networks), and is scalable to higher speeds -- or Apple may be more conservative (100Base-T), or go way out there (GHz Ethernet). Either way, it is the network technology that will make NC's viable, and very fast networks are real close to viable -- Apple realizes that, and most companies seem to have not realized it. There will be models that have hard-drive (probably used for "caching" information and lowering network overhead, and so is transparent to the user) and CD-ROM or DVD-ROM (for local storage and apps). Apple has an inherent advantage in the RISC processors (the PowerPC's that cost less and use less power and offer great performance), and all Apples experience in user interface and "Appliance Design". Add to this a processor that makes Apple's NC's are 10 times faster than anything else out there, and add to that the ability to run Mac Apps and new Apps written for Java -- and Apple's NPC's could be a serious winner. So these machine sound like they are a generation or two ahead of anything else I've heard of. Unless someone else has a serious surprise up their sleeve, Apple is the only serious option for NC's in 1998.
Apple's risk is that even though the hype has been going for NC's, the markets may not be ready for them. Microsoft has already failed to get people interested, so many will poo-poo Apple's attempts (no matter how good). Overall, Apple is at the right place at the right time, because the market is heading towards what Apple has been doing really well for years -- making machines that are EASIER to use, easier to maintain, and using technology/performance to improve the computing experience (not just making machines that go faster). But just because this is the right product at the right time, doesn't mean that Apple can overcome bigotry and bias in corporate environments against them. There are also marketing issues, and sales issues that need to be addressed. Apple may pull it off on their own, but they really need a partner (that has a big corporate name), to guarantee success. Oracle would be good (IBM would be better -- but they have different goals so probably won't happen). If the Apple-Oracle merger rumors are true, then Apple stands a REALLY good chance for success -- and taking over the NPC market. No one else seems ready.
Next year should be interesting.