::G's Blog

Plug into my stream of consciousness.

Computers suck!

by ::G @ 2005-02-08 06:17
Although I've more or less moved over to the OS X camp, Macs aren't without their problems. For one, since Apple doesn't support third-party hardware, they can charge quite a premium for their products. So if one wants to use OS X, one can't build a custom machine, at least for the core hardware. This isn't too different from Windows in a sense, because although the hardware is varied, most of the interesting hardware requires Windows software support. Linux is an alternative, and the hardware support base is growing, but it's not good enough for me to use as a main OS. Also, the Linux architecture is outdated, and I'd much rather have the modern microkernel in OS X. On the other hand, free is good, so for a local webserver, Linux would be my OS of choice. Free's worth something.

Just the other day Firefox died on my Powerbook. It crashed and then refused to start afterward. There was no error message or anything. A Google search turned up nothing. So I tried running the binary from a Terminal window and finally got a clue as to what was going on. Apparently a DLL, libnspr4.dylib, got corrupted somehow, and Firefox just quit running. I had to copy the DLL off the iMac.

Not being particularly loyal to any OS, I'll comment on a few annoying points with OS X. I don't like not being able to select top-level menu items from the keyboard. That's one spot where the Windows UI is better. There's no default maximize selection for each Window, so I have to manually adjust to maximum screen size. There doesn't seem to be a center-dot key for Japanese, so I have to use a character palette to input it. If I use Expose to move all windows off-screen and then Apple-tab to select one in particular, the app's menu activates, but no windows appear; however tabbing to the next app, its windows appear fine (minor Expose UI bug). In Finder, when I select a folder and choose New Folder, the new folder appears in the same parent directory, not as a subdirectory of the selected folder. iDVD doesn't like burning to non-"SuperDrive" burners. (One can get around this in iDVD 4 with a simple hack; iDVD 5 supports this, but you have to pay for the iLife upgrade.) Also, iDVD doesn't like making DVDs longer than 60 minutes, which sucks big time. Just a partial list of things I recall at the moment....

Anyway, back to my griping. The reason computers suck is that they're too inflexible. Programmers spend hours writing software, debugging the inevitable errors, and upgrading it from user comments/complaints. Consumers pay money for software released with bugs, and have to endure patches and security fixes. Then the next version comes out and they have to pay more money just to endure the same kind of abuses. Much trouble comes from having to rewrite or recompile software for new hardware platforms and OSes. Why can't I buy one piece of software for my PC and then move it over to my Mac when I switch? I know why technically since I'm an EE who's been writing code for 13 years (knowing several different assembly languages), but this query is asked from a consumer's perspective. I want to pay for functionality of a tool, not some overpriced bits that become useless when the OS changes. Understandably this was one impetus behind Java, but that fell quite short due to performance concerns. There's a way to solve this problem and do a lot of useful computing stuff besides. (Perhaps it's just because I really want to get out of the corporate world, but lately I've been cranking out business ideas like mad.) Hardware is just a base for software to run on, but it doesn't make sense that software costs so much relative to actual physical equipment. Hardware provides the raw capability, and software allows the user to access that capability. Seems to me like software should be general enough to run on any hardware of appropriate capacity.

The phenomenon of software costing so much isn't new by any means. Software has always been expensive, back when IBM's mainframes such as the 360 were popular in the 1970s. IBM made a lot of money on software upgrades to their mainframe hardware. One might recall the industrial espionage scandal where Hitachi was caught stealing IBM's trade secrets, and was caught in an FBI sting operation. Because of IBM's dominance of the mainframe industry, their software was most available, so customers wanted IBM compatibility to maximize their investment. Hence any newcomers needed to be compatible, and Hitachi was no exception. However, to compete, they used illegal means to attempt to get ahead. Amusingly, after this incident came to light, the U.S. government (Social Security Administration) still bought two Hitachi mainframes on cost basis! This makes the Hitachi GST "joint venture" extremely ironic, but that's a tale for another time.

My point is that the software industry won't be sustainable if a change isn't made, and fast. People get sick of paying through the nose for software, which is why piracy is rampant. It's true that if people want the utility they should pay for it, but conditions are fast reaching the point where it's not financially intelligent for consumers to do so. Prices have to come down, and therefore a new method of distributing software functionality is needed. Otherwise the computing experience, regardless of platform, will continue to suck.