In reference to
Ed's post about a network computer model, like he says, the major piece remaining are the network bandwidth and the cost thereof. That is, the two technical problems keeping the network computer model back are limited bandwidth and the "high" price thereof:
Limited Bandwidth will be fixed when getting "slashdotted" is a thing of the past, because there's near-infinite bandwidth available for all nodes. Granted, you could compare the slowness of desktops to the slowness of networked computers. That is, you'll always have slowness due to either the bottle-necks in the desktop machine (CPU/memory/etc. not being "strong" enough for process/memory/etc. intensive applications), or slowness in network machines (the "pipe" doesn't have enough bandwidth to send back all the data for Photo Shop, audio files, etc.).
I'm not sure how the price issue will be taken care of. Either the amount of data that you send across the network has to shrink (which it certainly wouldn't if you're doing everything over the network), or the baseline cost for the network has to go down. I'm no telcom expert, but I don't see either of those happening: the physical network of wires, satellites, under-sea cables, and all the people who take care of all that stuff is probably as cheap as it's going to get. And, I already pointed out that we'll just be sending more data over the network.
The only solutions then would be (1.) fantastic, miracle compression, or, more likely, (2.) massive adoption and deployment of wireless.
Now, all that said, I'm a big fan of "The Rise of the Stupid Network", which favors the edge over the center. On the other hand, I favor web applications over desk top applications: bloglines over NetNewsWire, GMail over Outlook/Mail.app, Blogger over Radio/CityDesk, Flickr over iPhoto (I still use iPhoto to import photos from my camera, but after that, it's off to Flickr...if Flickr had that, I'd dump iPhoto, much as I loved it initially), del.icio.us over Firebird's bookmarks, etc., etc.
I still use MS-Word, and a whole host of desktop apps for software development (Eclipse, emacs, the shell, etc.)...interestingly, I use those desktop dev apps to create web applications.
As with all things, I think the thing we'll end up with will be a hybrid, much like Ed's suggesting: the network will be just one big ass hard drive. It'll be used for storage, and to run applications off of. But, there'll still be applications running -- or using the resources of -- the desktop.
Indeed, I think that last parenthetical part is the key: the focus won't be on moving away from the desktop towards the network, the focus will be on allowing the network to use the desktop. Peer-to-peer technologies are one of the first examples this, esp. BitTorrent, where the network uses the huge amount of free storage space available on desktops as a massive network drive. You don't download your torrents from one central server, you download a 500k chunk from Joe's desktop, a 230k chunk from CJ's, a 1 meg chunk from Scooter's, etc.
Similarly, as we were trying to do at Coral, and as other companies did/do, the processing power of the desktop will be used by the network more and more. This is a little more dicey as "stealing" storage seems like less of a suck than stealing processing time. But, if no one is using the desktop (like so many desktops in companies between the hours of 6PM and 7AM), you've got a shit-load of processing time to harvest. But, just like an unharvested crop, come 7AM, it rots away into nothingness.
With both of these, security becomes a huge, if not the biggest concern. If you're going to let just anyone ("the network") store things on your machine or use your processing time, you want to make sure they can't do nasty things. Even more difficult is the whole copyright/IP problem: if Disney is storing bits and pieces of an on demand movie on millions of desktops, who owns those pieces? Worse, if Pixar uses the process time of millions of desktops, how do you figure out claims of ownership like "my money (paying for the desktop) made 5 seconds of that 120 minute movie, which made $20 million, so I'm owed $13,888.88 [did I do that math right?])"?
Another issue, of course, is pricing and licesning. One good thing about desktop apps is that once you buy it (for the most part), you own it forever. Before I threw them out a year or 2 ago, I still had copies of Windows 3.1 that I could have installed and used. I'd bet a dollar that in the network computer world, you'd loose that ability. Worse, you might get dinged with a subscription model.
Putting on my software company hat, a subscription model is awesome: money just keeps coming in! And, internally, you can easily keep tabs on what software your customers are using, and thus, more easily make business decisions like "product X had $2 million in subscriptions renewals, while product Y had only $100k...let's axe product Y." Those are big reasons why some folks are pushing utility/on demand/grid/whatever computing so much. (Check out this short interview for another take.)
Putting on my consumer hat, I loathe subscriptions models for the same reason I dislike toll roads: I want to pay one, upfront fee, and then pay for upgrades if and when I want them. This line of thinking goes, "everyone knows that it's better to own than to rent."
Like I said, I love web applications, even if I can't drag and drop like in iPhoto, or re-arrange table rows like I can in Excel. I want those problems solved so I can get more web applications. But, they're huge problems. As I'm fond of saying...on the other hand, where there's problems, there's a chance to make a living solving them, so maybe it's not so bad ;>