Open Mac

Opening Up a ìClosed Architectureî

by Tom Pittman

(West Coast Computer Faire 1985)


What Do You MeanóìClosedî?

They say that Mac is a ìclosed architectureî as if it were something like a door. When it is closed you cannot enter, you cannot participate in the vistas that lie beyond. I prefer to think of it more like a truck (no pun intended):

The truck on the left is open and able to carry any load you likeójust add the right hardware. The truck on the right is closed in with enough hardware to carry almost any load you need to carry, ready to go. Now if you buy the truck on the left, you might customize it to carry gravel or tires,

but neither of these trucks will carry the other load at all, nor is either suited for small boxes, household furniture, or delicate live plants. The closed-in truck, however, could carry any of these loads.

The point is that any load that one of these trucks can carry, any other of them also can carry, with no hardware modifications. You can configure an open system to do anything you want, and people do. You can do most of the same things on a well-designed closed system, and as we see, people do.

Macintosh is less limited than most people think: every program I can get for any Mac will run on my Mac.

But Iím going to make a stronger statement than this.
 

Macintosh Is an Open System

What do you mean, ìclosed system?î  Mac is open and friendly. Mac is accessible to system architecture modifications.  Mac software is open to customization.

Theoretically, so also is the older generation of systems. But only theoretically.

Take for example, your favorite word processor. Suppose you donít like its selection of control characters. You want control-Q to mean ìsave and quitî not ìselect fast menu of operations.î In fact, you wish the menu used the word QUIT instead of EXIT. What can you do about it?

Well, if you are a true-blue hacker, you can go into the code file with a disassembler, find where the menu selections are processed, and patch them. That's OK if the new menu labels are the same size or smaller. But we are still talking about some sophisticated software hacking. Iíve done it, so I know.

On Macintosh, you pop into the menu editor, bring up your word processor, find the menu with the word ìEXITî and change it to ìQUITî.

ItísÝright there, so you add (or change) its control character to Q, and you are done. It is as simple as that. I knowóI did it.

Macintosh is open and friendly. Suppose you want to teach computer skills to minority ethnic groups. Do they speak Spanish? Teach them in Spanish! With Mac, even the software canóyes, doesócommunicate in Spanish.

Canít find a Spanish version of Multiplan? Not a problem. Translate it yourself. All the prompts, all the dialogs, all text in every correctly-done Macintosh program is available for modification without access to the source code.
 

Open MacSesame

Macintosh is like the magic cave in the Arabian Nights, full of treasure and waiting for the right incantation to open it up.  You see, Mac is different inside from all the other computers. After they have become old hat, there is still much to learn from Mac.

Take this idea of resources. Everything in a Mac program is in a resource: the menus, the windows, the icons, the fonts, everything.

Some of these resources are in the system to be used by any program. Fonts are like that. Others are specific to the programóits own code, for example, or the menus. Still others (depending on the application) can be specific to the data file.

MacWrite attaches a format resource to each document, so if a Frenchman gives me a file he wrote on his French Mac, and I load it into my American Mac, it still has metric rulers and French date and time formats.

Font of Youth

ìHow big is the display on your computer?î

ìNine inches (diagonal).î

ìNo, I mean, how many characters?î

ìHow many do you want?î

ìNo, I mean maximum. Like mine is 25x80. How many characters do you get on a line?î

ìHow many do you want? It depends on what font you choose.î

ìYouíre kidding!î

Sound familiar? I usually stick to the Geneva font (because Iím lazy) or New York (because it looks nice). Then there are the special occasions.

You can buy all kinds of interesting fonts. Mod, splashy, graceful, small, large. You can also pick up quite a few freebies. I have most of them. I donít use them. I make my own.

I write programs for a living, and before Mac I wrote everything on paper. Youíd never know I had three computers in my living room. The problem is that I have to see several parts of the program at once; I cannot go paging back and forth.  I need multiple windows.

Mac is great. There is this editor that can put four windows up on the screen at one time. Four windows on a 5x7 inch screen does not leave much room for program text on each one. Especially not in 12 point type. Nine points is not much better. I use 6-point type. Granted, Iím near-sighted; that helps. The window Iím working on is set in 9 or 12 points, and the reference windows are in 6 points.

My Mac did not come with a 6-point font, so I made one. Other people have done the similarly, some more legible, some less complete.

I think I am the only one crazy enough to try for 3- and 4-point fonts. They are virtually illegible.

Recently I needed a nice bold title on a card I did for my church. The Bold option was too pallid. I did my own:

Headline Bold!

When I started to write this paper, I did not like my lead paragraph, but I was not ready to throw it away. Cutting it out and pasting it into another document is a hassle, so I just set it in invisible type. You say you never saw an invisible font? Right. I made it myself. If I want this paragraph back, I just reset it in some visible font. Presto. The paragraph is still there, at the front of this paper, invisible.

How do you make new fonts? Easy. Use the Font Editor. Well, not quite so easy. It takes a couple days to do a complete font with all the diacritical marks and special characters, longer for the larger fonts, less for the itty bitty stuff.

Install the new font into the system, and every program that gives you a choice has access to it. Cheat and lie a little (there is another program that does that for you), and even the programs that give you no choice can use your fondest creation.
Iím working on Greek next. ($100 is too much to spend for a shoddy commercial font).

Turbo Mac

Last year, shortly after Mac was introduced, I wandered into a store and sat down to play with the demo Mac a while. I was disappointed. Iím used to high-powered machines that zip in and out of programs in a few seconds. Even my old Z-80 drops in or out of the editor in less than ten seconds. Mac took forever. I decided not to buy.

Eventually the windows and the fonts won me over, and I spent a lot of time looking at that little wristwatch on the screen. Then 512 happened. I got a RAMdisk, and everything is different. The Mac is as fast as any machine I ever worked on, and much easier to use.

Now there is a problem with using certain programs on a RAMdisk. Or a hard disk, for that matter. Itís this copy-protection paranoia. So here I am, back at the disassembler and patch stage, finding and disabling the protection code so the programs will work on RAMdisk without spinning the snail Sony drives. Ah, me. Mac gives with the right and takes with the left.
 

Clear the Decks

One of the problems with RAMdisk is that it is, well, not quite big enough. For that matter, so is the 400K floppy. As I write this paper, I need MacWrite, MacPaint, this document, and enough scratch space to Paint my illustrations, cut, copy, etc. You see why I donít use very many fonts. They take a lot of space on the disk.

After you strip out most of the fonts the disk is still too crowded. Desk accessories go next. The control panel is 11K, the scrapbook 4K. I leave only the alarm clock, note pad, keycaps (I can never find the special characters without it), and a hexadecimal calculator. Remember, Iím a programmer. Also works in decimal, if I need it. Anybody for a ì12cî?  Only 8K bytes.

There is this program called the Desk Accessory Mover. It works more or less like the Font Mover from Apple, but this is from CE Software in Iowa. You can add or delete any desk accessory. I once got the System file down to 53K. I usually keep it around 69K.

Another way to waste file space is in the desktop file. Yes, it is a file on the disk, just like everything else. All kinds of stuff in it, including icons of all the other files, all the Get Info text, size and location of folders, etc.

Less obvious is that the desktop file never shrinks. If you delete a file, its icon is still there, ready to be used next time you make another. I saved 4K by deleting the desktop. There is this program to make invisible files (like the desktop) visible, so they can be deleted.

So how is it that I am a programmer, making major changes to the system in my Macintosh, and I have not yet written a single program for it?  Thatís open for you.
 

The Nitty-Gritty

A half-hour presentation is not enough to tell you in detail how to do all the things I mentioned here. Fortunately, with Mac you donít need a lot of instruction. As they say, ìyou already know howî to use them. But you do need to know how Mac works inside. Get Inside Macintosh  ($100 from Apple).

You also need the programs. They exist, and they are not hard to get. Get onto the Source. Or join a club. Many of the tools written at Apple are available from club libraries. Donít bug the nice folks at Apple for them.
The following programs are in most club libraries:

Font Mover  This comes on the system disk. Use it to add and delete fonts.

Font Editor  It has bugs and crashes easily, but you can create almost any font.

Resource Mover  This is a little clumsy, but it lets you change font ID numbers. All kinds of neat tricks come from that.

Menu Editor  Lets you modify menus easily.

Desk Accessory Mover  Moves and renames desk accessories (under the <Apple> menu). Pay for it if you like it, $15.

The following programs are harder to find, but they are still free or in the public domain:

Resource Editor  This is a new program that gives you better control over menus, font characters, icons, windows, etc.

Fedit  A nifty program for viewing and patching disk files.

File  This is the four-window editor I use.

MacsBug  This is the debugger with a built-in disassembler, traps for the ROM calls, and all kinds of goodies. You need instructions for this, since it halts the Mac and works only from the keyboard (no Help menu).

RAMdisk  Uses part of your 512K as a very fast disk. If you cannot find the public domain version, I have seen a commercial version.

The following program is commerially available (watch for ads in MacWorld):

MacTools  Allows you to make invisible files visible, as well as release locked and ìprotectedî files.
 

[2012 Postscript: This paper was written less than one year after the Mac came out. There were many improvements since then, and most of the stuff I could do that first year on a base Mac can now be done on PCs, but Apple learned that the software developers hated the Mac because it worked so well that users never needed to upgrade. Upgrades are the lifeblood of software vendors. So Apple threw the MacOS system away and replaced it with OSX (unix) and which is much less open to user tinkering, and crashes all the time and/or refuses to perform, so it constantly needs upgrades. The developers love it. I don't.]

See also: "Mac: 21, God: 0"