Skip to content
Thoughtful, detailed coverage of everything Apple for 34 years
and the TidBITS Content Network for Apple professionals
Show excerpts

TidBITS#111/16-Mar-92

Aladdin Systems has the hot new program of the week with the free StuffIt Expander, but Apple may have stolen everyone’s thunder by announcing significant enhancements to the Mac operating system. We try to explain why you will care, and we also have some updated information on Macworld Expos around the world, followed by a review of ProVUE’s blindingly fast database, Panorama II. Read on, Macduff!

Adam Engst No comments

VIM explanation

VIM explanation — Roger D. Parish writes:

I heard a good explanation for the "VIM" acronym at the SHARE IBM mainframe user’s group conference in Anaheim last week:

Vendors Ignoring Microsoft 🙂

Information from:
Roger D. Parish — [email protected]

Adam Engst No comments

StuffIt Expander

A while back we ran an article about Downline, a utility that does a wonderful job at decoding Binhex files and StuffIt 1.5.1 archives. Of course, it would be nice if Downline understood Compact Pro and StuffIt Deluxe as well, since many people use those formats. I expect that Morpheus Systems is working on adding these features to Downline, but in the meantime, Aladdin has released a free program called StuffIt Expander, which should be especially convenient for System 7 users.

StuffIt Expander weighs in at a mere 57K and should be available on the major online services now. It works fine with System 6.0.4 or later, but System 7 users can take advantage of the Finder’s drag & drop feature by simply dropping archives on StuffIt Expander to have them automatically expanded. Aladdin says that StuffIt Expander is compatible with the 68040, 32-bit addressing, and virtual memory. Not only that, but it supports AppleEvents (I have to play with it and Frontier a bit) and has intelligent background processing. It works well in the background as far as I can tell. It even works when Nisus is the foreground application, and Nisus doesn’t give much CPU time to background applications.

StuffIt Expander does not know about Binhex files, but it can expand archives from Compact Pro, StuffIt 1.5.1, StuffIt Deluxe 2.0, StuffIt Deluxe 3.0 (not yet released), along with AppleLink packages. It cannot expand DiskDoubler combined files or self-extracting archives of any type, but there’s no reason it should. Anyone who distributes a file compressed with DiskDoubler should make it a self-extracting archive, and the only reason to use an expansion program on a self-extracting archive is if the extracting code is somehow damaged but the archive itself is fine, an uncommon occurrence.

Using StuffIt Expander is simplicity itself. Under System 7, drop an archive on the icon and StuffIt Expander automatically expands the archive. If the archive contains multiple files, the files will be placed in a folder. The resulting file or folder is always saved in the same folder as the original archive. If you use System 6, run StuffIt Expander and select Expand… from the File menu. You can’t miss it; the only other choice is Quit.

Some of you may wonder about the fate of UnStuffIt Deluxe. Aladdin is continuing to enhance it and will still freely distribute it. UnStuffIt Deluxe has a larger file size and fancier features than StuffIt Expander. The next version will support files compressed with StuffIt SpaceSaver, rejoin segmented files, decode Binhex files, and come with Aladdin’s usually excellent help system. I believe that UnStuffIt Deluxe will be rather large in comparison to StuffIt Expander, so people who just want to expand most of the popular compression formats and nothing else can simply use StuffIt Expander and not worry about dealing with other programs.

Aladdin Systems — 408/761-6200 — [email protected]
ALADDIN on GEnie, AOL, Connect, and AppleLink

Information from:
Aladdin propaganda
StuffIt Expander documentation

Adam Engst No comments

Microkernel Mac

When NeXT or Amiga owners feel the need to disparage the Mac in conversation, they often mention the fact that Mac doesn’t have "true" multitasking, tacking a little verbal sneer on the tail end of "true." That generally means that the Mac uses what’s called "cooperative multitasking" instead of "pre-emptive multitasking."

I’m telling you this because Apple announced last week that it will be remodeling the Macintosh operating system to add pre-emptive multitasking and other operating system goodies including multi-threading, memory protection, support for dynamic link libraries, and some new I/O (input/output) features that will help peripherals to keep up with the CPU. Why is this good news and not merely propeller-head tech-speak? Well, let me explain what each of those goodies will do for you and then you’ll see. For those of you fluent in said tech-speak, I’m aware that I’m over-simplifying. 🙂

More multitasking — Sooner or later, you’ll need to figure out the difference between cooperative and pre-emptive multitasking (it’s a great way to sound technical :-)). Please keep in mind that different people define this stuff differently. This is a painless-as-possible mainstream explanation.

In a cooperative system, the foreground application cooperates by deciding how much CPU time (the amount of time the microprocessor spends executing useful commands) it wishes to give up to background applications, whereas in a pre-emptive situation, the operating system mediates among the priorities of active applications. For example, on the Mac, Nisus dominates the CPU and doesn’t give other applications much CPU time. Nisus gets to make that decision and is perfectly within its cooperative multitasking rights. In a pre-emptive system, every running application has a priority level, and the operating system parcels out CPU time based on those priority levels and the number of applications running.

A difficulty with pre-emptive multitasking is that in an ideal single-user interactive system, the foreground application is completely responsive. (If you click the Ignore button in Word 5’s spell checker, you do not want the CPU giving priority to other programs since it’s slow enough already!) In a pre-emptive system you can often manually set an application’s priority level, but this can be a pain.

That’s the advantage of cooperative multitasking – the foreground application can appropriate an ample amount of CPU time to being responsive. Windowing systems on fast Unix machines are often less responsive because the windowing system is merely another application that gets its share of CPU time, no matter how much you may use it. On the other hand, in a cooperative multitasking system, the computer may not work as efficiently because the CPU spends lots of cycles just spinning its wheels waiting for you to do something. For example, I’m composing this article in Nisus, and Navigator was recently downloading in the background. Nisus took so much CPU time that I had to send Nisus to the background so that Navigator could finish the download. If Nisus had been more willing to share CPU time, Navigator could have finished up during some of the extra CPU cycles. If I were using a Quadra instead of our SE/30, the CPU would be running even faster and Nisus would be wasting even more of the CPU’s time. Remember, a CPU cycles many times per second, so if priorities are set right, pre-emptive multitasking can work out quite well.

In an ideal world, Apple might use a mixed scheduling technique that would give a lot of CPU time to the foreground application but would allow the operating system to parcel out CPU time to each of the background applications according to their priorities. That would provide fast foreground response while still allowing multiple background programs to do useful work.

Multi-threading — Multi-threading allows a single application to do multiple things at the same time. Using multi-threading, a spreadsheet could simultaneously print a document, recalculate formulas, and accept data entry. Each task within the application, printing, calculating, accepting data, acts like a little program in a cooperative multitasking system, allowing you to keep working while other parts of the program do other tasks. Both multi-threading and pre-emptive multitasking will be even more necessary when Apple releases voice and handwriting recognition products because the Mac will have to be continually running the recognition code no matter what else is happening.

Kevlar memory — Memory protection is an extremely useful feature that allows one program to bomb out of sight without disturbing its neighbors in memory, although it’s still difficult to completely protect the system heap, since most applications use information in it. That mean that when you hit a nasty bug, such as the one that causes Word 5.0 to crash when using the grammar checker on 68000 Macs, only Word will stop working and all the other programs will continue working properly. As it is now, your machine restarts on that bug, which is a big no-no.

Dynamic link libraries — When a programmer compiles a program, the compiler will link in various standard libraries to perform certain standard functions, like displaying text on screen. Those libraries are static but fast because they live in the program. Dynamic link libraries are a set of routines that applications can use at runtime rather than include those routines internally. Dynamic link libraries are slower than static link libraries. Like extensions, you could just drop some dynamic link libraries into a special folder and various applications could then use that code, allowing those applications to be smaller, simpler to write, and more similar to each other, thus increasing ease of overall use. If implemented correctly, dynamic link libraries also cut down on memory consumption, since they only need to exist in RAM once, no matter how many applications use them. Dynamic link libraries would be especially useful for companies like Claris and Microsoft, which have multiple applications with similar interfaces and shared features. I believe that dynamic link libraries are already available in Windows, so in this respect Apple is playing catch-up (cleaner than playing with ketchup).

DMA that SCSI! — The two new I/O enhancements are direct memory access (DMA) and asynchronous SCSI. DMA has been around for a long time and many computers support it, including the Atari ST line. In fact, the Mac IIfx sports DMA in hardware, although it’s somewhat useless since the current MacOS doesn’t support it. DMA allows devices other than the CPU to read and write memory, thus allowing the CPU to spend more time on other tasks. It’s not quite ideal because the CPU does have to check in occasionally to make sure that the right stuff is in memory, but it can significantly boost performance. DMA requires extra hardware as well as operating system support, so most people will need a new Mac to take advantage of it. Asynchronous SCSI requires DMA. When supported though, asynchronous SCSI allows the CPU to delegate a SCSI command to the SCSI controller and then stop paying attention to it and go perform other tasks, again increasing performance. For example, the CPU might tell the SCSI controller to load a sector from a hard disk into RAM. The controller can start this job while the CPU does something else.

When will rumor become reality? — We’ve heard that these features will be available at about the same time as the PowerPC machines being co-developed with IBM. In other words, this is all fantasy because by the time the PowerPC machines come out in late 1993, Apple could completely change its mind about all this stuff. None of these ideas are new and many have been around for years in the Unix and mainframe worlds. So the moral of the story is that Apple, as always, is looking for ways to make the Mac into a better machine. In this case, Apple is looking back at standard operating system concepts that it didn’t include the first time around. It’s also useful to keep in mind that this means that Apple is not putting all its eggs under Taligent’s Pink chicken. That’s important because in many ways Apple is a software company and cannot afford to rely on another company for such key software. Moral or no, I’m still drooling over this stuff!

Information from:
Pythaeus
Doug Davenport of SNAP Technologies

Related articles:
MacWEEK — 09-Mar-92, Vol. 6, #10, pg. 1

Adam Engst No comments

Macworld Modifications

Those of you who try to make it to every MACWORLD Expo possible have probably noticed that it’s becoming harder and harder as World Expo increases the number of expos around the world. The increase in number of shows has not been without its growing pains though. There have been several recent changes worth noting, though unfortunately the cornerstone Boston and San Francisco expos have not been rescheduled to fall and spring respectively (when the weather in each city is nicer).

MACWORLD Canada — North American readers (at least those in the Northeast) will be pleased to read that MACWORLD Canada will be held for the third straight year in Toronto, and World Expo has rescheduled the show back to the autumn season, September 15th through 17th, to be precise. Apparently the exhibitors liked the fall timing better and an opening at the Metro Toronto Convention Centre made the switch possible. Last year’s show in Toronto drew over 12,000 people, so although it sounds like enough people to draw the interesting vendors, it’s not quite the 50,000 person crush found in Boston and San Francisco.

MACWORLD Paris — Jean-Philippe Nicaise, our French correspondent, tells us that MACWORLD Paris, which was planned for March 31st through April 2nd, was cancelled recently. Apparently the show simply wasn’t popular enough to make it feasible. French enthusiasts will have to wait until September, when Apple France puts on the Apple Expo, the only Macintosh-specific expo in France. Luckily there are also several other expos in Europe for multi-lingual Macintosh aficionados, including Amsterdam, Berlin, Barcelona, Birmingham, Helsinki, Milan, Oslo, Stockholm, and the European Summit in Geneva.

MACWORLD New York — World Expo bought the rights to the Mac Business show that used to be held in New York in the spring and had scheduled a MACWORLD New York to take that time slot. Apparently there wasn’t enough interest on the part of the vendors because that show was cancelled as well. There was also a sense that it was simply one show too many, that vendors didn’t have much interest in another US show, and small companies found it difficult to keep a show team on the road. Another problem may be the increasing power of the niche applications on the Mac. World Expo also bought the rights to a Mac Business show in Los Angeles in late winter, but replaced it with Multimedia ’92 instead of trying to put on yet another general show that would compete with San Francisco.

MACWORLD United Kingdom — Unlike New York and Paris, the MACWORLD United Kingdom expo in Birmingham is still on, although it has been merged with the Which Computer? Show and will now be held in the National Exhibition Centre in Birmingham, England from April 7th to 10th (the previous dates were right about now in March). Given the increasing tendency to make the shows more specific, as World Expo did with Multimedia ’92, it’s a bit surprising that they merged MACWORLD United Kingdom with a general computer show, although one has to assume that they felt they would get better exposure via the merger.

Wherever you may be located, you can get more information on attending one of the numerous MACWORLD Expos around the world by sending a note of inquiry to:

MACWORLD Expo
c/o World Expo Corp.
P.O. Box 9107
Framingham, MA 01701 USA
508/875-1573 (fax)

Information from:
Jean-Philippe Nicaise — [email protected]
World Expo propaganda

Adam Engst No comments

Panorama II Review

I think it’s fair to say that everyone has need of some sort of database software, even if only for keeping track of names and addresses. I’ll admit that I’m no database guru, although I have worked with Double Helix a bunch, rescued some data from an old version of R:Base, and fiddled with various other programs.

For a long time I used HyperCard to do all my database work, but I was always frustrated by the way my stacks looked and worked, not to mention the fact that HyperCard is not exactly speedy. I’m sure much of that was my fault, and I know of ways that I could have done things better. But I didn’t have to because of Panorama II from ProVUE Development.

Panorama II Introduction — Panorama II is a flat-file database, but it sports a rather powerful programming language called PanTalk that includes lookup statements to achieve much of the relational features of the high-end databases. I’m no expert with FileMaker Pro, but I believe that the two are fairly comparable in terms of abilities, although I think that PanTalk is more full-featured than FileMaker Pro’s scripting language. Actually, since you can create multiple forms in Panorama II that correspond to FileMaker Pro’s layouts and since both databases can run with multiple users over a network, the main difference I’ve found is that Panorama II is blindingly fast in comparison to FileMaker Pro. To be fair, I’ve heard people say that FileMaker Pro speeds up significantly if you put it in a RAM disk, but that’s a kludge and may not be possible on a machine with only a few megabytes of RAM.

Panorama II gets its speed from running directly in RAM, and even there it is efficient. The program is 600K on disk and prefers 976K of RAM, although it can run with less. ProVUE tells me that the default memory setting is enough RAM to open a 600K database. The other advantage Panorama II reaps from running in RAM is that it doesn’t require the indexing structure that most databases use for fast searching. This shrinks Panorama II files so that they are only a third to a quarter the size of an equivalent file in another database.

Of course, the price ProVUE had to pay the RAM devil is that databases cannot grow beyond the limits of memory, but I think that’s becoming less of an issue these days with cheap RAM and virtual memory. I’m not going to do benchmarks, but suffice it to say that with my SE/30 I have yet to notice any delay in finding a single record in my 1000-record address database, which has quite a few fields. Access is simply instantaneous. Sorting the database on a field takes a little longer, but only a few seconds at most. Every action that I’ve performed with Panorama II from opening a database to saving and quitting has been similarly fast with sole exception of exporting text, which is a bit slower. Obviously ProVUE doesn’t want you exporting out of Panorama II all that often. 🙂

Forms — Panorama II is based on the concept of the form as a window into a certain set of data, much as FileMaker Pro uses layouts. You can create multiple layouts and customize them with relatively sophisticated graphical layout tools, better than are in FileMaker Pro but not the level of Canvas, for instance. (Picky, aren’t I?) ProVUE has obviously put a lot of time and effort into their layout tools, and while they are very good on the whole, I’d kill for movable guides like PageMaker has. Snapping grids and a cursor with tracer lines to the rulers just don’t quite match up. I wonder if Aldus has a patent on those guides?

It always takes some effort to design a nice screen layout, but Panorama II helps you out with its internal scrapbook, called the Flash Art Scrapbook. Once an image is in there, using it only generates a pointer rather than an image, saving disk space. The scrapbook can even hold imported EPS graphics. For those of you who prefer to click buttons and choose things from pop-up menus, Panorama II does all those things (including checkboxes and radio buttons) and the buttons especially are trivial to set up. For those of you with newer Macs or MacRecorders, Panorama II even has Flash Audio, which lets you include sound in your database.

Data & Design — Things you won’t find in FileMaker Pro include the Data Sheet and the Design Sheet, both of which are holdovers from previous versions of Panorama and even go back to OverVUE. The Data Sheet is a spreadsheet-like view of your database with the fields in columns and the records in rows. It’s fast to move around in, faster than a list view you could create in a form, and has the added advantage of working much like a spreadsheet, which can be powerful and confusing. The power becomes apparent when you want to group the records by a certain field or total a row of numbers. Then you just click in that field and select the appropriate command from a menu. New users may find this confusing though, because some actions take place in the Data Sheet, like sums and averages, that cannot be done in PanTalk in a form. When you combine this with the lack of something like Double Helix’s inert fields, which merely display data and don’t save anything, it can be hard to get Panorama II to calculate and display statistics in a single result form. I get the impression I can do it, but I’m just not sure how at the moment. Panorama II and PanTalk combine to create a rich environment and I’m not surprised that it takes a while to fully understand it.

The Design Sheet also looks like a spreadsheet, but in this case, each row holds a field definition with each option for that field in a column. I see why ProVUE stuck with their spreadsheet metaphor here, but frankly, I think a custom interface to modifying and creating fields would be easier to use, and in fact, there is a Field Properties Dialog box (though it doesn’t have options for three of the least used field options). There are 17 options for each field (name, data type, etc.). A few of the options are especially useful – output pattern for number and date display, input pattern for social security numbers and the like, ranges for defining sets of allowable data, choices for defining specific acceptable values, link for setting links to other databases, Clairvoyance for reading your mind, dups to prevent or allow duplication, default values, and equations that will activate when the field changes.

Clairvoyance — The feature that sets Panorama II apart from all other databases that I’ve used is Clairvoyance. Simply put, Clairvoyance quickly scans the data you’ve previously entered (in another database even, if you like) as you’re typing and tries to finish off the entry for you. It waits until it has a good chance of getting the entry right, but you can always just keep typing. It’s a little disconcerting at first, much like having a small child destroy you at a video game, but after a while you can’t remember how you did data entry without it (unlike a small child). The added advantage is that because it always enters an existing value, there is far less chance for typos and errors to creep in. It’s almost worth buying Panorama II for Clairvoyance alone.

Macros, Formulas, and Crosstabs — As I said, much potential programming can be done directly in the Data Sheet rather than in a macro. Once you’ve figured out what sort of thing is best done where, you can start creating formulas and macros. Formulas are relatively simple statements using built in functions to modify data in some way. For instance, I have a database to keep track of my running, and although it’s not entirely trivial to calculate pace per mile, a formula does that fine. A formula also strips out the area code from local phone numbers before dialing, which is in turn controlled by a simple macro. Macros can do more sophisticated stuff like looking up values from other databases, and power users can even create menus in ResEdit and access them through macros, thus creating turnkey systems. The macro syntax is relatively easy to use, but like most other languages is extremely picky about the details of field types and punctuation. For those that don’t want to write simple macros, Panorama provides a Macro Recorder for registering mouse clicks and menu commands. It’s hard to say much more about macros except that you can probably get them to do what you want with a little work.

One of the most powerful features in Panorama II is what ProVUE calls crosstabs. In reality, there’s nothing new about crosstabs; they are merely rows and columns of data like you would see in a spreadsheet. What’s neat about crosstabs though, is that they aren’t in a spreadsheet, so you can use the database features in Panorama II to enter, sort, categorize, and select the data. That sort of thing is difficult to do in a spreadsheet, but relatively easy in a database.

Problems — So it’s not perfect. I have two main gripes with Panorama II. First, the interface is strange, and although sometimes ProVUE has hit upon a great way of doing something, other times it just falls flat. Second, although the manual does contain all the information you will need and is quite well-written, it’s organized in an odd way that makes looking for the specifics of anything rather tedious. The manual problems may be my personal opinion though, because as much as I appreciate the descriptions of how to do something, I often have trouble flipping to the right section. It looks reasonable in the Table of Contents, but I often have to poke around in the index to find what I want. There is also a Picture Index that provides page references to graphical elements and menu commands in the interface. I haven’t been using it but should give it a try.

The interface is a tougher matter. As I said, parts of it are great. Whenever you click on a tool in the toolbar to the left of any window, not only does the icon light up, but a two word description pops to the right, making it easy to figure out what each icon does. It’s not obtrusive and it works. What doesn’t work is the input box. Whenever you click in a field, you select it, and copy and paste work fine. The confusion starts when you double-click on a field, or select it and start to type. A little box springs up around the field for you to enter and edit data. The advantage of this is that you can increase the size of the input box as much as you want, which is handy for large amounts of data that won’t display fully. The problem appears when you want to go on to the next field. Hitting the tab key will close the input box as you would expect and move you to the next field. However, clicking in the next field or in a button will only close the input box, so you have to click again to select the next field or button. It sounds minor, but I find it can be a big pain when doing data entry and unfortunately encourages mouse-less design since the tab key works so much better. In this respect FileMaker is much more cleanly implemented, though perhaps not so flexible. I prefer clean in data entry, and it’s especially distressing since Panorama II does so much to speed and ease data entry.

Panorama II has a few other minor interface quirks, like trying to get a box around a field and not have that box overwritten when the input box pops up. Panorama II supports multiple monitors, but not automatically. You open forms and macros in new windows by command-selecting an item from a pop-down menu in each window’s title bar, at which point you can draw out on a representative desktop where you want the window to go. I’d much rather have it know how to zoom to the current monitor and pick a default size. I suspect that some of these quirks are left over from previous versions, and I hope ProVUE is evaluating the utility and design of them.

Panorama II Conclusions — I’m happy with Panorama II. I primarily use it to keep track of my addresses and phone numbers because I’ve never seen an address/phone DA that I liked entirely. It took a bit more work to set up in Panorama II, but now I have a database that can dial phones and print smart envelopes with EPS graphics on them, and a single click will copy an entire address for use in a letter. The program is fast and responsive and it took me less time to figure out than FileMaker Pro. I’ve been pleased with the limited contact I’ve had with ProVUE too, since they independently sent out a free upgrade which added a few features and supposedly fixed a few bugs, although I’ve never had the program crash on me. When it comes right down to it, I have very little to complain about with Panorama II, and I fear only that I’ve been unable to completely do it justice in this limited space since I haven’t even touched on things like its graphing or outline capabilities. Highly recommended.

ProVUE Development
15180 Transistor Lane
Huntington Beach, CA 92649
800/966-7878
800/541-5137 (fax)
ProVUE on America Online