Has Matt Neuburg found a successor to HyperCard? Find out in his review of REALbasic. And what is the world coming to when TidBITS review Windows programs? Aladdin Expander and Aladdin DropStuff make it possible to tell Windows users to get Stuffed. In the news, the iMac arrives to much hoopla, LetterRip 3.0.2 ships, SyQuest releases version 4.0.1 of the SyQuest Utilities, and Farallon spins out of Netopia to concentrate on Macintosh networking products.
LetterRip Pro 3.0.2 Released — Fog City Software has released a free update to LetterRip Pro, their simple yet high-performance mailing list management software. Version 3.0.2 fixes a few bugs and makes several changes, including eliminating more auto-responses via the Mailer Daemon Strings file, identifying outgoing files in the log, and fixing a problem with the fuzzy domain logic that caused LetterRip to think that two similar addresses were identical. Fog City recommends that all LetterRip Pro users upgrade to the new version, which is either a 3.1 MB download for the full installer or a 381K download for an updater (only the LetterRip Pro Server has changed). [ACE]
Farallon is Back! Once one of the major networking companies in the Macintosh world, Farallon last year changed its name to Netopia, Inc. and began to focus more on the Internet. Now the Farallon division is spinning out of Netopia as an independent company that will focus on Ethernet cards, switches, hubs, and related products, including the EtherMac iPrint Adapter LT for connecting the new iMac to LocalTalk printers and Macs. Netopia will continue to focus on Internet products, including Netopia Internet Routers, Netopia Virtual Office, and Timbuktu Pro. We’re pleased to welcome Farallon back, especially since it’s a great sign for the continued recovery of the Macintosh market from last year’s doldrums. [ACE]
Another Registry for Stolen Computers — Rob Jorgensen wrote to inform us of another database where you can register stolen machines or check serial numbers on used machines you’re considering buying. The American Computer Exchange Database of Stolen Computers appears to work similarly to O’Grady’s Stolen PowerBook Registry mentioned in "Ripped Off!" in TidBITS-442. [ACE]
New SyQuest Utilities and Layoffs — SyQuest Technology has released, without fanfare, version 4.0.1 of SyQuest Utilities. (Is there a good reason why SyQuest can’t be bothered to notify registered customers of these things?) Those who were previously mired in La Cie’s Silverlining Lite can now take advantage of SyQuest’s own driver and control panel interface, which is cleaner, easier, and better documented, plus has additional options and features.
Here’s an upgrade procedure that worked reliably for my SyJet. With extensions off, install the control panel, which automatically disables Silverlining Lite. Restart, and for each SyJet cartridge, do the following: Back up the data, and initialize the cartridge, which will instantly erase it and install the new driver. (If you cannot back up, press Option and use Update instead.) For each tab of the control panel, click Use Defaults (unless you have a clear reason for other options), and choose Save Settings. Now verify the cartridge – medium level should do. This takes about an hour, and can mend most bad blocks – my cartridges had several; it should not harm the data. Finally, if you backed up the data, restore it.
Unfortunately, SyQuest recently announced layoffs off 950 employees worldwide and a halt to manufacturing in its Fremont, California facilities, along with other cost-cutting moves, due to a massive restructuring aimed at improving the company’s health. [MAN]
No one will accuse Apple of missing the hoopla boat with the iMac. The curvaceous new consumer-level Macintosh splashed down on Saturday, 15-Aug-98 amid a flurry of special events, clever PR stunts, and news coverage. We’ve been over the specs, problems, and chances of the iMac already, so here I want to relay a sampling of what I’ve seen and heard about the iMac.
Inflatable iMacs — Perhaps the largest representative of iMac hoopla was the 20-foot-high blimp in the shape of an iMac. Apple made 40, placing one at the Apple Campus and spreading the other 39 around the U.S. Another stunt, suggested by Michael Koidahl of Westwind Computing in Seattle, would have involved painting one of the new white VW Beetles to look like an iMac and having it make appearances at festivals. Unfortunately, funding fell through; perhaps another Apple reseller can make it happen.
150,000 Orders — Apple announced receipts of 150,000 orders for iMacs from 03-Aug-98 through 10-Aug-98, which is especially impressive since Apple reportedly changed stocking policies so resellers can’t return unsold iMacs. From what we’ve heard, resellers aren’t too worried about returns. One Seattle reseller said it had received 58 iMacs and had received orders for 20 by 2 PM on Saturday, and another went through its stock of 30 iMacs over the weekend.
Media Coverage — Perhaps the most important benefit the iMac has conveyed to Apple so far is to refocus media coverage back to products and positive news, rather than tedious stories about the "beleaguered Apple Computer." A friend in public relations recently commented that the constant armchair quarterbacking from the press was mostly because, to continue the football analogy, Apple wasn’t winning. Lose constantly and the inclination is to overanalyze everything, whereas if you’re winning everyone’s happy. Although Apple’s list of iMac coverage is undoubtedly carefully chosen, it’s still interesting.
USB and Ethernet — The primary criticism aimed at the iMac was the lack of familiar serial, ADB, and SCSI ports, plus the lack of a floppy drive (though one TidBITS Talk reader just reported a sighting of an "iMac+," with a built-in Zip drive, floppy drive, and 24x CD-ROM aimed at college students). Many manufacturers have announced or shipped solutions to these limitations, but the main gotcha that I suspect will become an opportunity for resellers is the one-time problem of transferring numerous files from a previous Macintosh to an iMac. Obviously, it’s helpful if the previous Macintosh has Ethernet, but if not, resellers could move data (via a LocalTalk/Ethernet bridge or other method) for iMac customers. For those keeping older Macs, networking via Ethernet provides a few less obvious options. For instance, Farallon sells a number of products to connect an iMac to network devices, and if you have a SCSI-based scanner or serial printer, you can use it from a networked iMac via Stalker Software’s ScanShare or LineShare. Send other interesting iMac connection solutions to TidBITS Talk at <[email protected]> and we’ll collect them in the TidBITS Talk Archive for later reference.
Advertising Blitz — Apple’s announcement of the iMac three months before it shipped was, in retrospect, a brilliant move because it created a vast amount of interest among consumers, even those without a computer. One source at a local reseller estimated that roughly 30 percent of the traffic over the weekend was new computer buyers. Apple has followed through by maintaining Web pages devoted to the iMac, emailing periodic iMac updates, and taking out radio and television advertising. Plus, Apple has committed over $100 million to future iMac advertising – the largest ad campaign in Apple’s history.
Go, iMac! If the iMac doesn’t sell, I’ll lose my faith that interesting, well-designed products can succeed, given half a chance. If something that’s seemingly so functional while breaking the beige mold can’t do well, we may as well give up on the belief that aesthetics, attitude, and the ability to inspire creativity matter in computing. The iMac takes us a step back in that direction after too many years of lockstep design marked by conformity, timidity, and insipidity.
One of the problems with sharing files between Macs and PCs is they use different compression and encoding formats. Macs generally use the StuffIt format for compression, whereas PCs use Zip. Macs often use BinHex for encoding files for email, but PCs are more likely to use uuencode. Since we Mac users are in the minority, our tools have had to be better. Thanks to Aladdin’s StuffIt Expander and a wide variety of other tools (often available for free), it’s usually easy for us to deal with Zip archives, uuencoded files, or even a wide variety of Unix file formats. In the PC world, however, tools support Macintosh formats less frequently, so good luck if you’re using a PC and need to snag a folder of Microsoft Word files that have been compressed with StuffIt and then binhexed.
Now, thanks to Aladdin Expander 2.0 for Windows and Aladdin DropStuff 1.0 for Windows, we Macintosh users can work with the file formats we’re used to and which we already use.
Aladdin Expander 2.0 — Like its Macintosh relative, StuffIt Expander, Aladdin Expander is totally free, and it is available as a 1.2 MB self-extracting archive from the Aladdin Web site.
Once installed, it creates a shortcut on your Windows desktop onto which you can drop files compressed and encoded in a variety of formats, including StuffIt (.sit), Zip (.zip), uuencode (.uue), BinHex (.hqx), MacBinary (.bin), ARC (.arc), Arj (.arj), and gzip (.gz), plus self-extracting archives created by StuffIt, Zip, and Arj. Aladdin Expander supports long file names, decodes MIME files, decrypts files encrypted with Aladdin’s Private File encryption utility (also cross-platform), and joins StuffIt-segmented archives.
Although drag & drop is the way that most Macintosh users would think of interacting with Aladdin Expander, you can also drag & drop into Aladdin Expander’s window, or use its menus or toolbar. More interestingly, you can right-click a file, then choose either Expand or Expand with Options from the pop-up menu that appears.
Aladdin Expander’s options provide functionality similar to StuffIt Expander’s, with a few interesting tweaks accessible via the More button in the Options dialog. A cross-platform tab provides controls that enable Aladdin Expander to convert text files to Windows format, save Macintosh-specific files (those with resource forks that would otherwise be lost) in MacBinary format, and add file name extensions based on the file’s type and creator. These features prove extremely useful, since they save you the trouble of converting Macintosh text files to Windows format separately and properly identifying files that lack filename extensions. The option to save Macintosh files in MacBinary format is also handy, since you can expand a StuffIt archive, then move an application, say, back to the Macintosh without destroying it.
Aladdin DropStuff 1.0 — As you might guess from the version number, Aladdin Expander isn’t new. However, Aladdin DropStuff 1.0 is new and mimics the functionality of the Macintosh DropStuff with Expander Enhancer. You can download a 1.1 MB self-extracting archive from Aladdin’s Web site. Aladdin DropStuff is $20 shareware, although TidBITS sponsor Digital River is offering it to TidBITS readers for $14.95 through the link in the sponsorship area at the top of this issue.
Compressing one or more files with DropStuff works via drag & drop as you’d expect, although you can also drag & drop into its window, use the menus or toolbar, or right-click a file and choose an appropriate method of compressing from the pop-up menu.
Aladdin DropStuff offers a few unusual features. If you have Windows Messaging installed, you can Stuff and Mail one or more files with a single command; similarly, the Stuff and Send To command enables you to send the resulting StuffIt file to a variety of different places in Windows. Finally, since Zip files are the standard in Windows, Aladdin DropStuff can create them as well (and I’ve found DropStuff easier than other Windows Zip utilities).
A nice touch in Aladdin DropStuff is that Aladdin mapped Control-Q to Exit; unfortunately Aladdin Expander lacks a similar keyboard shortcut. I prefer Windows applications that follow Macintosh conventions for keyboard shortcuts – give me Control-Q over the meaningless Alt-F4.
Finally, We Can Stuff Windows — In my use so far, I’ve found that the easiest way to use these utilities is through the contextual menus available when you right-click a file. That’s partly because I’m used to a lot more screen real estate on my Mac, and the desktop shortcuts are often obscured by other windows. I’m mainly grateful that we have these utilities – if you regularly work with Macs and the occasional PC, especially via the Internet, you need Aladdin Expander and Aladdin DropStuff.
A computer is to program. Otherwise, it just sits there, like a big empty box. Of course, we mostly use programs written by others. But sometimes you want to have that box do precisely what you tell it – because there’s no program that does just what you want, to save money, or because it’s just plain fun. That’s why I wouldn’t buy my first Mac until its characteristic interface bells and whistles came easily under my control through a software construction kit – HyperCard (see "HyperCard 2.2: The Great Becomes Greater" in TidBITS-213).
HyperCard is unparalleled for constructing a bare bones interface rapidly. But it’s showing its age and limitations. It’s superb for textual storage and hyper-linkage, but less good at search and retrieval. Further, certain graphical or interface functionalities – such as color, drag & drop, or real scrollbars – are clumsy to implement, require third-party extensions, or are downright impossible. Large projects can be a pain to create and maintain. Most important, a stack runs inside HyperCard itself, so disk and RAM footprints are big, and speeds are sometimes poor: you’re not writing a true compiled standalone application.
Even while editing a Mac programming magazine and dabbling with cool tools (such as Prograph – see "Get Your Hands on Prograph" in TidBITS-312), I found no magic bullet, no environment where an amateur – reasonably intelligent but with no will to manage the Toolbox or pore over Inside Macintosh – could implement a true Macintosh application with HyperCard-like convenience. Like Virginia doubting Santa Claus, I wondered if such a thing would ever exist.
The REAL World — In 1997, a shareware product called CrossBasic began quietly making waves. It had a single author, Andrew Barry, who had been developing it in his spare time for some years (while writing such programs as the Prince of Destruction game and the debugging tool Spotlight). In October 1997, CrossBasic was picked up by FYI Software, Inc.; when the name proved to be already trademarked, two rechristenings took place – REALbasic and REAL Software.
Installing REALbasic is a pleasant shock: it occupies a mere 3.1 MB of your hard disk. Starting it up, you see a typical interface construction kit: a blank window and a palette of control types (text field, push button, radio button, checkbox, and so on) you can drag into it. You can also make other windows. When a control in a window is selected, a windoid lets you change its inherent properties (such as position or color). You add menus and menu items in an equally intuitive graphical way.
Already at this point you can "build" your application as a stand-alone; more likely, though, you’d test it from within the REALbasic development environment. (This environment is partially dynamic: you’re generally, either running the application or editing it, but you can edit a running application somewhat.) You’ll see your window, which you can drag, resize, and close in the normal way; your menus will appear at the top of the screen. If there’s a text-field in the window, you can edit text there, and there are Copy, Cut, and Paste menu items that work – so does Quit. But generally your menu items and window controls have no powers because you haven’t yet written any code for them.
That’s done in the Code Browser, which appears when you double-click on your window. Down its left side the Code Browser lists your menu items, and your window’s controls along with the system-level events they will automatically receive. Selecting a listing lets you edit its code in the Browser’s main pane. You write the code in a BASIC-type language that’s easy to learn.
The REAL Object — For demonstration purposes, I’ve posted three simple applications I wrote while learning REALbasic:
- TinyText, a minimal text editor based on the REALbasic Tutorial
- Whack, a game where you must click each rising "mole" before it vanishes
- Odummo, an Othello game without "intelligence" – the computer plays correctly, but randomly (hence the name)
These applications are remarkably small (except Odummo because it’s a fat binary), remarkably speedy, and remarkably persuasive: TinyText edits styled text files larger than 32K; Whack animates smoothly; Odummo plays a non-trivial game and is surprisingly addictive.
But the real point is that these programs were astonishingly easy to write. TinyText took a week or so because I was reading the documentation. Whack took several days while I learned how graphics work, but ultimately required only 80 lines of code. Odummo took less than 24 hours, including eating, sleeping, and other normal activities.
That’s because of REALbasic’s class-based object model. Everything – a window, a button, a graphic – is an object representing some class. Any object can send a message to any other. In a class or an object, you define responses to messages, as well as internal variables maintained by each object. You can also subclass a class to specialize its behavior. Thus, object-oriented principles of messaging and encapsulation help you organize your code – and your thinking.
Whack requires little code because nearly all the code is in classes. The window contains eight moles constantly rising and vanishing; but they all instantiate just one mole class, and are activated by instantiations of just one thread class. Similarly, hits, misses, and elapsed time are maintained by three counting fields; since they behave identically, I had to create only one counting field class.
Odummo was even easier, though I feared it would be much harder. The board has 64 squares; must I maintain a complicated two-dimensional array describing it? No! Each square is an object of just one class, and the window itself is my array, so it is sufficient to teach one square what to do. A square knows whether it contains a piece, what color it is, and how to draw it, and the whole game is just a matter of a square responding when the user clicks it and sending appropriate messages to other squares.
I kept a diary of the Odummo development process, in case you’re curious about the arduous life of the programmer:
- 6:00 PM. Draw the window.
- 7:00 PM. Make dinner.
- 8:00 PM. Teach a square to draw a piece inside itself.
- 9:00 PM. Teach a square to find its neighbor in any given direction.
- 10:00 PM. Go to bed.
- 6:30 AM. Teach a square to ascertain whether a given direction leads, through pieces of the opposite color, to a piece of the same color. It turns out that the square can do this just by asking its neighbor two questions.
- 7:30 AM. Teach a square to know whether it is legal for a given color to play there.
- 8:30 AM. Go for a run.
- 9:30 AM. Shower, dress.
- 10:00 AM. Drive to laundromat, do wash. Go home, hang clothes on line.
- 11:00 AM. Teach a square to reverse its color and to tell its neighbors to do the same.
- 11:30 AM. Teach a square, when clicked, to play white there if legal (and beep otherwise).
- 12:00 PM. Teach a square to know what color moved previously, so that it can play the other color when clicked. I can now play a game against myself.
- 12:30 PM. Lunch.
- 1:00 PM. Teach a square to play white when clicked, then to ask all other squares whether black can play there, and then to tell one randomly chosen square which said Yes to play black. The computer is now playing against me! Run around house screaming and waving arms wildly!!!
- 2:00 PM. Add logic knowing when game is over, totalling score, and what to do when a player can’t move.
- 3:00 PM. Done! Nap.
REAL Ability — Listing REALbasic’s various capacities would be a Herculean task. Windows can be of all the normal types, including floating windows and windows that stay above any application. A window can contain push buttons, checkboxes, and radio buttons; editable fields with styled text (as in TinyText); canvases, which are clickable graphic regions (the Whack moles are canvases); sliders and scrollbars; list boxes; pop-up menus; and tabbed panels.
With REALbasic, you can read and write file data and resources, access the clipboard, and accept drag & drop. You can run QuickTime movies, play MIDI notes, display contextual menus, show help balloons, grow a progress bar, animate "sprites," and spawn threads. You can operate over the serial port, communicate via TCP/IP, and send and receive Apple events.
REALbasic’s functionality is further extensible through pre-compiled code in various formats: compiled AppleScripts; XCMDs and XFCNs; shared libraries; and C++ plug-ins, for which a developer kit is supplied (these can also define new window control types).
The range of REALbasic-generated applications by various users – at REAL Software’s FTP site, at their Hotline site (cafe.realbasic.com), on the program CD, and at users’ own sites – bears astonishing witness to the program’s powers. There’s a batch file-typer, a Tetris-like game, a magnetic core calculator, a sunrise calculator, a spelling quiz, an address book, a random "art" generator, a chat server – even an email client.
My favorite REALbasic success story is from the July Macworld Expo. The REALbasic team had rented a badge "swiper" so their computer could store names and addresses of visitors to their booth, but the supplied software didn’t work. However, the swiper was a serial device, so they quickly wrote their own software using REALbasic – and then modified it so they could read credit cards as well!
Getting REAL — It is hard to praise REALbasic sufficiently. It is reasonably priced. It is small, quick, easy to learn, and easy to use. The language and the development environment clearly result from deep, thoughtful insight into the needs and mental processes of users, encouraging rapid, improvisational development of well-behaved applications with pleasing interfaces.
The documentation consists of Acrobat PDF files: a tutorial, a 14-chapter Developer’s Guide, and a language reference duplicated as online help. The documentation is good but not great; at this writing, there are major errors in the tutorial, documented features don’t exist and existing features aren’t documented, and nearly every sentence contains some careless fault of grammar, omission, or spelling.
Many aspects of the program have an undeniably inchoate quality: windows aren’t listed in the Windows menu, and their positions and states aren’t remembered; the debugger is primitive; the code browser handles long lines badly. There are problems in built applications as well: printing support is crude; certain system-level events aren’t triggered properly; applications sometimes work differently when built than when run inside REALbasic. The REALbasic mailing list, needless to say, keeps busy.
Still, that mailing list has also forged a community of avid users, and has contributed to REALbasic’s maturity. Andrew Barry and the team have a constant presence and have shown themselves to be well-organized, principled but open-minded, responsive, gracious, conscious of the program’s shortcomings, and attentive to users’ needs and suggestions. Furthermore, they’re quick to fix bugs, implement new features, and issue new updates and developer releases. The program is basically sound, and full of wonderfully thoughtful and ingenious touches; on balance, this seems an appropriate moment for commercial release. If REAL Software can maintain their present pace and attitude, without becoming overly entangled in new paths before resolving outstanding problems, early adopters will find themselves well served.
A 30-day free demo is available as a 2.2 MB download. REALbasic sells for $100 ($60 academic). An update that will compile Java applets is expected around January 1999, and eventually an "enhanced" version that can compile Windows programs will be available for around $300, and will include database and SQL capabilities.