Each of them was a Visitor from the East, as they used to say on the "Tonight Show" before Leno. Saying that, I've said nothing, since "Visitor from the East" describes just about anyone who drops in here at The Prose Lab where I live and work. Between me and the Pacific Ocean ten miles to the west and half a mile downhill there's nobody but a few mountainfolk who don't get out any more than I do, so any visitor here who hasn't come from the east must have come from the East.
These two were actually visitors from the east, as opposed to the East. The difference between the east and the East is the difference between a relative and an absolute frame of reference. I know, Albert Einstein demonstrated 90 years ago that all frames of reference are relative. But there are still relatively absolute frames of reference, like East, and we need them.
The driveway up which my visitors from the east drove comes in from the west, but that's a misleading local detail, of the kind that led early astronomers into erroneous geocentric and epicyclic theories. It's awfully hard to interpret the motions of the planets when you're on one. And since pedagogy recapitulates discovery, students continue to be faced with that old problem: It's hard to make sense of your senses unless you can observe from a (relatively) absolute frame of reference.
One of my visitors from the east had with him a product that helps one see things from different frames of reference. Greg Baszucki of Knowledge Revolution had brought Version 2 of Interactive Physics, hot off the production line. He even brought some of his own productions.
I have to admit up front that Interactive Physics is not a programming tool. It has a scripting languange, but so does any good spreadsheet program, and the comparison is apt. It's that kind of language. What Interactive Physics is, above all else, is a teaching tool. It's apparently a very good tool for teaching physics: Version 1 (now being sold for $99 as Fun Physics) earned a Mac-User Eddy award for best educational or exploratory product for the Mac, and Version 2 is definitely better. Also, Prentice-Hall and other book publishers are including a modified version of it with their physics texts.
But Version 2 is useful for other purposes. I can imagine it being used by animators, engineers, physicists, and anyone who needs to visualize moderately complex systems under natural or artificial constraints. It's a visualization tool, and that's my justification for describing it here.
The basic idea is pretty obvious: You build two-dimensional objects from simple forms as with any CAD or drawing program. You then associate physical properties like mass, charge, elasticity, and friction with these objects; set environmental properties like gravity, air resistance, and electrostatics; tie in predefined simulation elements like ropes, pulleys, actuators, pin joints, springs, dampers, motors, and forces.
At this point you've defined a physical system, and you can set it running and watch what it does. A row of dominoes nudged at one end will fall naturally, with all the rebounds and ricochets that complicate the so-called "domino effect." A mass on the end of a bungee cord will do its damped dance.
The objects can be complex, built from simple shapes. When you build, say, a car from elements, IP knows how to find the center of mass of the grouped object. You can also quickly set all the attributes of an object by picking from a list of generic object types, like plastic. You can actually build working models of backhoes and rocketships using IP, as long as you don't want to model every last detail and can live with its two dimensions. Baszucki demonstrated a two-stage rocket he built, showing how it speeds up as the second stage drops off. The rocket also speeds up as its weight decreases from burning its fuel.
There's a lot of pedagogical value in such simulations, but IP also has other ways of displaying its results. You can display any variables in tables or figures, which can be dynamically drawn, filled, or adjusted. This is nice in the case of the rocket, where it may not be apparent that you're looking at an increase in acceleration, not velocity. And you can export the results of experiments to other programs or publish them for other programs to subscribe to dynamically, or export the animation as a QuickTime movie for later playback.
The user interface is highly customizable. Any menu command can be turned into a button, there are sliders and other controls to choose from, and the program can be put into player mode to limit the student's actions.
The program runs on most existing Macs, so you might expect it to be low-powered, but the author, David Baszucki, has built in some scaling abilities that make it take advantage of whatever machine it's on. You can zoom the screen in or out or adjust the time slice. It even gives you a choice of integration methods.
And you can model the solar system, then decide from what point of view you want to view it. If Galileo had had Interactive Physics, he would probably have had better luck convincing the church that the Earth moved.
Another visitor from the east brought a real development tool, albeit not a real programming tool.
WindowCraft is a program for developing Windows applications. It would have to be called a scripting, rather than a programming tool, but it does provide all the expected Windows UI objects; has nice control over patterns, colors, drop shadows, line styles, and icon styles; and lets one create real Windows applications. These applications can manage multiple windows, call DLLs, and function as DDE clients or servers. Except for one thing, you'd say that this is a Visual Basic-like product.
The one thing is that the scripting language of WindowCraft is HyperTalk. Plus some extensions. That's right; this is another tool for letting HyperCard stack developers port their work to Windows in the hope of finally earning back their investment.
WindowCraft includes a conversion utility (two, actually: one for the Mac and one for the PC) for turning stacks into WindCraft format. Once in this format, they can be tweaked to better fit the Windows environment, and compiled to .EXE form. The conversion is not hitchless: Some resources will have to be re-created and some Mac user-interface conventions won't make sense in Windows. But in this it's no different from ConvertIt!, the stack-conversion tool available from Heizer Software and now, with Version 1.5, supporting HyperCard 2.0. ConvertIt! uses a published conversion format that should allow people to develop converters for all sorts of HyperCard-like products, but currently it only converts from HyperCard to Asymetrix ToolBook format.
The WindowCraft folks seem to look upon the HyperCard connection as a jumpstart for their business, but emphasize the Windows features of the product more. It is a quick way to get a Windows app written: You draw some objects (it includes a drawing mode that lets you generate fully rotatable, scalable objects), script the objects (with a script editor similar to HyperCard's), add menus (there's a menu editor), test the result (in a fast run mode), and build the EXE. WindowCraft requires no royalties or license fees for your applications.
But it is a good HyperCard clone. In fact, Claris thought enough of WindowCraft to consider acquiring the company, although the deal didn't go through. Perhaps it was just a hedge: Claris surely wants its own inhouse, deep expertise in Windows development, which it wouldn't get by buying a Windows version of HyperCard.
In fact, support for independent third parties ought to be more strategic for an extensible product like HyperCard than for most products. Third parties are where HyperCard really gets loose. (That metaphor is problematic: At certain parties, anyway, people tend to get loose in direct proportion to the extent to which they get tight. I guess it's an irony of English idiom.) At one of these HyperCard third parties, over at Ray Heizer's place, the standard HyperCard stack gets so loose it dresses up like a real Mac application and struts around in drop-and-drag.
WindowScript, written by Leonard Buck, basically lets you create and manage windows in HyperCard. Sounds trivial, but Buck puts a lot of user-interface control behind this model of development. You can, for example, put a scrolling list of icons in a window. Many of the feature limitations of HyperCard are addressed by WindowScript. WindowScript pretty much lets you work with the entire Mac user interface from within HyperCard: pop-up windows, whatever.
And it does this while maintaining HyperCard's ease of use and interactivity. User-programmers can learn to use WindowScript if they can use HyperTalk. More advanced developers will benefit from the fact that WindowScript is interactive, letting them put together a quick program and test it interactively. Also, depending on the application, licensing is either free or quite reasonable. I can't think of another product that gives this much control over the interface at this level of programming (scripting).
Claris is plugging some of the holes in HyperCard, as well. According to MacWeek's Raines Cohen, Version 2.5, due out this year, will have integral color support, significantly improved performance, object buttons, and system-style and 3-D icons.
Just for the record: The word "paradigm" was overused before I got hold of it. Philosopher of science Thomas Kuhn was taken to task back in the '60s for using the word umpteen different ways in a single book. Its rhythmic invocation is one of the stylistic traits that make film critics and pop psychologists sound like they all went to the same prep school. In 1974, self-described "process futurist" Joel Barker introduced management consultants to the term, just as Popular Electronics was introducing electronics hobbyists to the personal computation paradigm. For decades now it's been a favorite weasel word of academics and marketers of all stripes.
So you see, there's tradition to uphold.
And John Sculley is doing his part for tradition.
Scully claims that the pen-based Apple Newton machine represents a new technological paradigm. He's talking through his advertising hat, of course, so we must give him a lot of latitude. Advertising people have this term "high concept," meaning--well, I'm not sure what it means, if anything. But I propose for them a term that sounds like it might be related: "high definition," which I define as "meaning a lot of different things." For short, "HD." Maybe Sculley was speaking in HD mode when he called Newton a new paradigm.
Newton and its progeny definitely represent a foray into some new markets for Apple computer. These are the kinds, of things you expect to buy in the places where you expect to buy Sony. But there is certainly some question as to whether it's a new technological paradigm.
The question is not just a definitional one, despite my crack about advertising and high-definition mode. For example, the very fact that these products will address a new market could lead to distinctly different styles of use, which could feed back to changes in the programming model or hardware architecture that could legitimately be called a new technological paradigm. For example, greater-than-expected storage demands could fuel new storage technology developments. So we could see a market-driven, new technological paradigm. But that doesn't make Newton today a new technological paradigm.
Of course it has nice handprinting recognition and a no-keyboard interface, and if you want to call these a new paradigm, fine. But they're not exclusively Newton's: These technologies are pervasive, if not yet ready for market everywhere. Newton does represent an interesting step away from file systems, but it's not a pure, fileless storage paradigm as in Xanadu.
The most interesting notion about the Newton paradigm is that it is a new model for desktop personal computers. This notion comes from Jean-Louis Gassee, who argues that attempts to scale system-software technology down never work (No OS Lite), but that scaling up can and does. In Newton, Apple has a new operating system and user-interface model, unencumbered by compatibility with past mistakes, and, Apple hopes, soon to become familiar to godzillions of people through low pricing and aggressive, consumer-product marketing. What if Apple then scales it up to the desktop? Newton could be, as its early-development code-name Wedge suggests, a wedge to bring a new operating system into the personal-computer market. Certainly it would be a step in the direction of simplifying things for the user, which, by itself, looks like a smart move.
So was John Sculley's use of the word "paradigm" correct? Maybe. And maybe we can stipulate that "HD mode" also stands for "Humpty Dumpty mode," in honor of Humpty Dumpty's assertion that a word means "what I want it to mean." And stipulate that any use of the word "paradigm" is automatically in HD mode.
Regarding some other paradigms: Greg Panos is trying to become the ultimate source on virtual-reality work. In addition to his Virtual Reality Sourcebook, he is looking into providing info by phone as well. The book is available for $129 from Sophistech Research, 6936 Seaborn Street, Lakewood, CA 90713-2832; 310-421-7295 (voice) or 310-425-0890 (fax). And Craig LaGrow, onetime managing editor of this magazine, has a series of books out on multimedia. The Multimedia PhoneBook is a directory of over 2000 companies involved in multimedia development; he also has a calender of events and a Multimedia Dictionary. There's also an electronic edition of the PhoneBook. All three books can be had for a total price of $94.95, and the electronic version is $199.95 from Global Intermedia, 7 Fourth Street, Suite 51, Petaluma, CA 94952; 707-778-7488 (voice) or 707-778-7564 (fax).
I need to acknowledge Hal Hardenbergh for yet more data on the high-definitioning of the word "paradigm," which he picked up from some obscure source. Hal must be one of the ten people in America who subscribe to more magazines than I do. But I suppose I'm exaggerating. Eight people.
And finally, I need to answer a letter and mention a couple of History of Computing items. John Johnson of Seattle wrote to ask a question inspired by my column on Ada Lovelace. Yes, as I understand it, a model of Babbage's Difference Engine was eventually built, though not by him, and did work. His Analytical Engine was never built. And as long as I'm recommending sources and educational material, let me put in a word for the Deutsches Museum in Munich, which I visited recently. Anyone planning to be in Munich ought to allot some time for its exhibits on microelectronics, telecommunications, and digital computers. There are many working machines (although not the Difference or Analytical Engine) and clever demos, and some of the accompanying explanations are in English. Even better were the--what would you call them--construction toys. Ancestors of Lego blocks and Erector Sets. Neat stuff. Finally, for those interested in the history of computation, the ACM/SIGPLAN second annual History of Programming Languages conference (HOPL-II) will be held in Cambridge, Massachusetts., April 20-23. Dennis Ritchie, Niklaus Wirth, Alain Colmerauer, Alan Kaye, and Bill Whitaker are among the featured speakers. For more information, contact Dan Halbert, DEC Cambridge Research Lab, One Kendall Square, Bldg. 700, Cambridge, MA 02139; 617-621-6616 (voice) or 617-621-6650 (fax).
Copyright © 1992, Dr. Dobb's JournalThe Simulation Paradigm
The User-programming Paradigm
The Pencentric Paradigm
Paradigmatic Miscellany