When Your Hardware Isn't Obsolete Soon Enough
GrandCow writes: "There's a really interesting article over at Sharky Extreme on why the computer industry is slowing down recently. He talks about looking for the killer application that will make him go out and spend the big money on a whole new system... and can't find it. It's a really good read. For lots of the people on /. (me included) getting the latest hardware piece is a given, but for many people there's just no real reason to." Strangely, the proposed solution seems to be for the hardware industry to write bloated code so people will have more incentive to replace their currently-OK PCs. (Huh?) All I want is a machine on which Broadcast 2000 works.
Yeah, moz, video conferencing are all well and good, but two things drive the demand for consumer (computing) electronics - games and pr0n. What will make people get the GF3's and the Athlon DDR 1.5Ghz systems will be hardcore, 3D, interactive, good AI, 1GB of RAM suckin, 1280x1024, 120fps hardcore Pr0n. If I had the time and resources (I did a lot of 3D development), I'd be working on this right now, believe you me. The capabilities of a top-end system in 3 months graphic-wise are going to be previously unimagined in the consumer world.
I'm not talking about Virtual-Valerie cheezy sleaze. I'm talking about a virtual chick you can interact with and, uh, experiment in lots of innovative (and probably criminal, heh) ways. People are animals, and they love their pr0n. This I've been waiting for for years, and I think the technology is there to make it happen :).
And hey, you got bucks, I got a sick mind and OpenGL sk1llz :)
..don't panic
Speaking of KDE: It's a great environment, and in many ways it's faster than Windows. (In others it still lacks, but most of the criticism it receives is pure bullshit.) Anyway, if I remember correctly, I was using a much more powerful GUI in 1994, on a P60, with 16 MB RAM (instead of 192 now) which was just as smooth to use and fast like hell. (I'm talking about OS/2's workplace shell).
The question is: Where has all that performance gone? Why can't you comfortably use Windows ME, or 2000, or Linux with KDE 2.1 on a P60 with 16 MB RAM? What are CPU cycles doing nowadays that they didn't need to do five years ago, although most apps had almost the same features? That is, while you are not watching your daily DivX porn ;)
Some probable answers come to my mind.
Unicode. Double every string in length, double the memory requirements of application resources. This makes for great internationalization, but it requires memory.
OOP. I overheard in a PHP mailing list that when you develop PHP3 apps without objects, just flat procedures, you can gain up to 30% in raw performance. (This has greatly improved in PHP4, IIRC.) I don't know how representative this is but I suspect that in languages like C++ and Smalltalk (and Perl :-) some CPU cycles are needed to take care of all those relationships, overloaded items and whatnot.
Standards. The good thing about standards is that there are so many of them. I.e. nowadays a browser (prime example) needs not only to render a little plain text with different fonts and one or two images, but it needs to know XHTML, XML, Javascript, ECMAScript, Java, CSS, cope with thousands of objects and plug-ins that mess up the system, and so on. Sure, these are features - but are they innovations? I don't think so, and I don't think most other apps received as much "feature bloat" as browsers did in the last couple years.
What do you think? Why does a word processor need 128MB nowadays when it doesn't _really_ have more features than what was available in 1994?
(Having said that, I have a K6-2 350 for my primary machine and I don't plan on buying a new one this year. It does what I want, it does it fast enough, and if I need more CPU power I can always ssh to our university cluster. ;)
Home Page
Microsoft is working on the business end of the problem. They have to find ways to force businesses to upgrade to Windows 2000 and the new revenue model, and businesses are resisting strongly. Refusing to put USB into NT 4 is a key part of the strategy.
The .NET thing has potential as a time sink. Implementing RPC via XML will be hideously inefficient. And interpreters are involved, which typically means a 10x performance loss.
Not that Java is much better. Swing seems to need upwards of 1GHz just to display menus as fast as a 20MHz Mac of a decade ago.
So, clearly the industry is addressing the problem.
I have said this a few times before but I think that one killer app for the masses is video conferencing. I have video conferenced with my friends in LA and it is alot of fun. You might say "Video Conferencing just requires more bandwidth." Well of course that's true to an extent but the codecs used in voice and video are made so that a computer can compress them quickly. Mpeg4 is very slow to compress and is not near real time in even a top computer. Mp3 is starting to become easily compressed in realtime, although I don't know about the second generation of good lossy codecs like vorbis, wma (gasp!) and whatever fraunhoffer is planning to cram up America's ass when they get their shit together and release their new codec. Mpeg4 looks nice, and with something with low movement like video conferencing video and optimizations like silence cut-offs, video conferencing should be a given for people with high-end systems and high bandwidth, eighther at home of work. Maybe mpeg4 isn't the way to go immediatly, but you get the point. That and maybe Doom3 when it's released.
This Wiki Feeds You TV and Anime - vidwiki.org
The big problem is that code always seems to be written for the latest and greatest hardware. MacOS X, for example. I don't mind Aqua. But I could live without translucent dragging and some of the dock's behavior -- why not an Aqua light that looks just as pretty but doesn't eat up as much processor power?
What annoys me more than anything else is that there is absolutely no need for an operating system distribution or a basic office application to soak up massive amounts of system resources. I should still be able to get a copy of MSOffice that will at least run on a first-generation PowerMac (no reason on earth they can't dig up an old copy of CodeWarrior and keep it running on a 68K, for that matter). A simple *text editor* should not need that much space (sorry, Emacs junkies, but I'm a pico man myself).
Now we have gHz+ processors on the market... well, I have a quarter-gigahertz Power Mac 6500. Boot ROM issues aside, is a 250mHz 603e all that wimpy a processor? Damn straight it isn't. 32MB of RAM is a nontrivial amount of memory as well, yet MacOS 9.1's performance can be charitably described as flaky on my hardware. There is no excuse for this, not when I can run a medium-sized production webserver on a Pentium 100 or less using a stripped-down Linux or BSD system.
Okay, I personally do not need a spel czecher. A lot of people do; that's arguably a necessary feature. Mail merge, pretty useful as well. HTML filter, helpful (though I handcraft my HTML so I only rarely need it). But why do I need a fruit salad interface? Why do I need a word processor with anything more complicated than a ruler and justification controls across the top of the window? What purpose does a spreadsheet with more than four dimensions serve?
I like GUIs. That's me; I guess I'm in a minority around here saying that, and that's fine. But I don't need the flash of rippling scroll bars; believe it or not, I find Athena widgets to be rather elegant sometimes (although the scroll bars leave a lot to be desired). Skinning is not a terribly useful thing, though it's nice to have the option; I was a serious Kaleidoscope junkie for a couple of years. But what excuse is there for Mozilla? Oh, we have bigger computers now...
I HAVE NEWS FOR ALL OF YOU WRITING THE SOFTWARE.
Some of us can't afford new hardware. I am unacceptably behind in both Mac and Linux expertise because I can't afford hardware newer than a couple of years old (and therefore can't afford a G3 or an Athlon). People are still using Pentiums. People are still using PPC601s. People are still using 486s, fer cryin out loud. Pretty soon the software march will have to slow down because people don't want to be bothered with keeping up with the Moores.
Okay, that's my rant. I feel better now.