I have been thinking a lot about speed lately. Speed is the most touted feature of each new computer, but it is equally relevant to low-end Macs. Low End Mac’s webmaster, Dan Knight, puts it this way: Eventually every computer becomes low-end.
I mentioned in Speed Reconsidered that an old Mac can seem just as fast as a new computer if you have responsive software that is customized for how you work. In this article I want to paint in the details of how you might go about picking your applications.
What does it mean to say that software is fast? Hardware is easy to measure; if you read the Mac Web, you’ll often see abbreviations for measurements of speed. MHz this, Kb/sec that, 16x the other. But computer publications rarely measure the speed of software. Although occasionally they do “real world tests” – meaning that they use normal software – they are still benchmarking hardware.
When software developers talk about speed, they are usually referring to code optimization. Some algorithms are inherently faster than others. The difference of a sorting algorithm might be minor when you are dealing with a handful of items, but when you have a 2,000 record FileMaker database, those differences can be huge.
Sometimes these software optimizations are apparent to end users, but often they are not. When QuickTime came out, it was neat to see a postage stamp sized movie on my Mac IIsi. But if you made the picture big, it became very slow and unwieldy. When QuickTime 2.0 came out, I was shocked. They had optimized the code in such a way that I could watch full screen video at 15 frames per second on the same hardware. That sort of improvement is rare in software development.
Software developers also talk about speed when they are taking advantage of features of the Mac hardware. In the mid-90s, native PowerPC (PPC) software was the rage. Because this software is written and compiled especially for the PowerPC chip, it is usually faster than emulated 68k code. Currently almost all software is PPC native – or it is “fat”, which means it is has native code for both the 68k processors and PowerPC processors. In 2000, developers may say that their software is optimized for the AltiVec velocity engine in the G4 processor. The velocity engine can make a few tasks faster, but the G4 can still be considered insignificantly superior to the G3 in most ways.
As you may know from my previous columns, I like focusing on things I can control. For the most part I can not optimize the code of my software. Even if I could – say if I used LinuxPPC – I don’t think it would be worth my time. Perhaps you have seen Amadeus, which won the Best Picture Oscar for its year. Salieri was a fair composer, but he felt cursed by God because he could recognize greatness that he couldn’t make himself. I’m like that: I don’t make fast Mac software, but I can recognize it when I use it.
Guidelines for Choosing Software
Sometimes it is easier to define something by describing its opposite. I’d like to list some common software flaws, why they slow me down, and what that means for you. Software that requires a lot of RAM slows me down, because it means that I can have fewer programs open. When Apple introduced multitasking to the Mac in System 6, it opened up a lot of productivity. But if programs require too much memory, I am required to quit and restart them while using my Mac so that I can free memory for other programs.
Software that requires a lot of hard drive space is flawed for the same reason, since it forces me to clear up drive space. When you buy software or register shareware or even download freeware, you should consider how much memory and hard drive space it uses and prefer smaller software. Do the increased features justify the increased system requirements?
Software that has a lot of bugs obviously slows me down a lot. Every time I crash, I have to wait a few minutes before my computer is back where it was before I crashed. You can get some measure of whether software is buggy by asking users, but that evidence is anecdotal. There are many variables to stability, so a program that crashes constantly for a friend may seem rock solid on your Mac. As a general rule, if software is frequently updated or if there are a number of updates released before it the version changed (such as ClarisWorks 4.0v6), then it is usually more stable.
Some programs are confusing and difficult to learn. You can find out whether a program is easy by asking someone who uses the software what it was like when they started. Beware of asking a power user, though, especially if you are a novice – you may have different definitions of easy!
Henry Bortman described one way of looking at how easy a program is in his opinion about Discoverability Quotient. His thesis is that you shouldn’t need to read the manual. Steer clear of software that is described as difficult, unless you have a reason to learn that software. However, if you are going to use software a lot, it may be okay to use more difficult software. It was worth it to Henry Ford to learn how to implement an assembly line so that he could produce thousands of cars efficiently.
A corollary to the “easy to learn” rule is that software should be as simple as possible, but not more so. It takes time for people to learn software. Even after you learn how to use software, it takes more time to choose from five options than from one. The commands you use the most should be easy to discover when you are learning and easy to use once you know them.
A few years ago there was a huge uproar when Microsoft Word 6.0 was released. Many complained that it looked like a Windows program. The real concern of most people who actually used the program was that common features were buried. They had to go through three dialog boxes to get to a feature they used all the time. As more features were added, software developers had to make the program “deeper” to contain all the options.
It is nice to have new features, but when considering a software upgrade remember that useless features can make the software less enjoyable to use.
Software that is non-responsive to mouse clicks frustrates me. It’s not the waiting that’s the problem, it’s that the program doesn’t let me know I am supposed to wait by putting up a watch or beach ball. Likewise, software that monopolizes my computer makes me slower, because it can make my other software less responsive when it is running in the background.
Software that was designed before your computer was made or around the same time often seems more responsive, since it assumes hardware limitations that are accurate for your Mac. If you find you have software that monopolizes your computer, try to use it only when necessary.
An Example: ClarisWorks 4
Now that I have my ducks in a row, I can tell you the best piece of Mac software ever: ClarisWorks 4.0v6. It requires only 1 MB of memory, and the program itself uses less than 1 MB of hard drive space. In that efficient package you get word processing, a spreadsheet, a database, painting, and drawing. (I omit the terminal program, since I have never met anyone who uses it regularly.) There are people who run an entire business using only ClarisWorks.
With six revisions to version 4.0, ClarisWorks 4.0v6 it is a stable program, and because it is by Claris, it is noted for it’s ease of use. Almost every option in the program is useful, so it is simple to use even though it has a lot of power.
Unfortunately, the programmers who wrote version 4.0 went their separate ways after it was released, so newer versions from the new programming team lack some of the advantages of ClarisWorks 4.0.
Because it is several years old, ClarisWorks 4.0 has quirks with newer versions of the Mac OS. For example, the Appearance Manager can make the menus look a little funny. Nevertheless, if you have never used ClarisWorks, you owe it to yourself to try it out. More importantly, if you have older Macs that you plan to donate to schools or computerless friends, the best thing you can do for them is get ClarisWorks 4 on that computer.
That ends my buyer’s guide to fast software. I think you can see now why sometimes older versions of software are worth hanging on to. Older version often have advantages of being smaller, having fewer options (which makes it easier to learn and use), and being more responsive, since they were designed with older hardware in mind.
Don’t get sucked into mindlessly upgrading your software. Look for real advances, but skip upgrades that fail these guidelines.
Short link: http://goo.gl/xnhhwu