Avoid Long Hierarchical Menus
If you right-click (or Control-click) on some item, such as a file in the Finder, and one of the sub-menus has many options (Open With is a frequent culprit), it may take several seconds to open, even on a fast machine, which is annoying if you did not actually want that sub-menu.
The trick is to not pull the cursor through the menu, but in a curve around it, so the cursor does not touch any menu items until lower on the list where you wanted to go.
Visit Eolake's Blog
Series: Mac OS 8.6
Get the skinny on the new features and major changes in the Mac OS
Article 1 of 3 in series
by Geoff Duncan
Today at Apple's annual World Wide Developer Conference (WWDC), Apple Interim CEO Steve Jobs announced the immediate availability of Mac OS 8.6. Mac OS 8.6 is an incremental update to the Macintosh operating system that introduces some new features and capabilities, addresses a number of known problems, and lays a foundation for future Macintosh modelsShow full article
Today at Apple's annual World Wide Developer Conference (WWDC), Apple Interim CEO Steve Jobs announced the immediate availability of Mac OS 8.6. Mac OS 8.6 is an incremental update to the Macintosh operating system that introduces some new features and capabilities, addresses a number of known problems, and lays a foundation for future Macintosh models. Mac OS 8.6 has the same system requirements as Mac OS 8.5: any Macintosh system that originally shipped with a PowerPC processor and that has at least 24 MB of RAM.
Obtaining & Installing Mac OS 8.6 -- Mac OS 8.6 is available in two forms: a retail CD-ROM and a free online Mac OS 8.6 Update for Mac OS 8.5 owners. The CD-ROM should be available shortly from Apple for $99 (and at lower prices from other vendors); people who purchased a computer with Mac OS 8.5 pre-installed can obtain Mac OS 8.6 on CD-ROM for $19.95 through Apple's Mac OS Up-To-Date program.
Apple's servers also offer the free Mac OS 8.6 Update, which will upgrade any system running Mac OS 8.5 to Mac OS 8.6. The download is substantial, either as a single 35 MB disk image or as a series of 12 MacBinary segments. The Mac OS 8.6 Update is currently available only for the North American English version of Mac OS 8.5; localized versions should be released in coming weeks.
Installing the Mac OS 8.6 Update is straightforward: the installer offers no custom installation options, so updating from Mac OS 8.5 is an all-or-nothing proposition. As with any installation of system software, common sense dictates that you perform a complete backup of your system before installing Mac OS 8.6. You should also disable any virus protection software and Norton CrashGuard (if installed) before updating to Mac OS 8.6.
If you have an iMac you may need to install the iMac firmware update before installing Mac OS 8.6; the installer won't work if your machine's firmware isn't up to date. The iMac firmware update will be in the CD Extras folder on the retail Mac OS 8.6 CD-ROM; the 1.2 MB update is also available online from Apple for free. In addition, if you have an Ultra Wide SCSI card, you should check with the card's vendor before installing Mac OS 8.6; some older cards need a firmware update to work with Mac OS 8.6.
Getting Ready for Team Play -- Some of the most important changes in Mac OS 8.6 are invisible. Apple has re-implemented some lower levels of the Macintosh system software to support full symmetric multiprocessing. Current applications run under Mac OS 8.6 without any changes, but future applications can take advantage of new multiprocessing services to enhance their performance significantly on systems that have more than one CPU chip.
Although Apple hasn't made any official announcements, it's safe to assume Apple didn't engineer full multiprocessor support into the Mac OS solely to support the handful of older systems with multiple processors. In coming months, Apple is likely to announce new computers built around PowerPC G4 processors, which have been designed with both single- and multi-processor systems in mind. Although I wouldn't expect an iMac with multiple processors any time soon, Apple is likely to offer multiprocessor systems at the high end of the professional and server lines. Mac OS X, built on technologies acquired with NeXT, already supports symmetric multiprocessing; now applications developed for the Mac OS will be able to take advantage of multiprocessor systems as well.
News You Can Use -- Other changes in Mac OS 8.6 are more obvious, including Sherlock 2.1, an enhanced version of the lauded search tool that debuted with Mac OS 8.5. Sherlock 2.1 offers better support for SOCKS and proxy servers (including the capability to limit the number of network connections Sherlock uses when connecting to Internet search sites), and also offers a resizable Internet panel, so users no longer have to use ResEdit or apply patches to resize their list of Sherlock plug-ins. Sherlock 2.1 uses the Mac OS's new built-in URL Access technology to connect to the Internet, which changes a few things about how Sherlock communicates with remote servers. Most existing Sherlock plug-ins will work with Sherlock 2.1 with no changes.
Sherlock's Find By Content feature can now index HTML and Acrobat PDF files, and you can use Finder labels to restrict indexing either to items with a particular label or to all items except those with a particular label. In addition, a new contextual menu item enables you to index a particular folder: Control-click a folder, then choose Index Selection from the contextual menu.
Mac OS 8.6 also includes LaserWriter 8.6.5 and version 1.2 of the Desktop Printer Utility. LaserWriter 8.6.5 is a significant upgrade that supports logging both print jobs and font utilization, enables you to set a preference for using either Type 1 or TrueType fonts, and can force fonts to be downloaded to a printer. In addition, LaserWriter 8.6.5 supports USB-based PostScript printers, and Desktop Printer Utility enables you to create desktop printers for either USB printers or printers you connect to over TCP/IP networks using the LPR protocol. Finally, LaserWriter 8.6.5 supports secure printing connections with print servers under AppleShare IP 6.1 or later (although it obviously can't prevent someone from reading your document while rummaging through a printer's output tray).
DVD-RAM support gets a boost in Mac OS 8.6, enabling folks with DVD-RAM drives to format DVDs as Mac OS Standard (HFS), Mac OS Extended (HFS Plus), Universal Disk Format (UDF), or MS-DOS volumes. The MS-DOS option is available only the first time you format a DVD-RAM disk; subsequent formats must use a Macintosh format or UDF. Starting up from a DVD-RAM drive is not supported, so although you could install system software to a DVD-RAM disk, it wouldn't do you much good.
One under-the-hood addition I'm especially happy to see in Mac OS 8.6 is URL Access, a low-level component that allows programs to transfer information to and from the Internet using HTTP or FTP. I'll look at putting URL Access to work in an upcoming TidBITS issue.
Newly Integrated & Newly Tweaked -- Mac OS 8.6 rolls in items that were previously available separately. Support for FireWire and USB devices is now integrated into the Mac OS installation, as is Game Sprockets, a collection of libraries that help game developers and better enable Macs to support game controllers. Mac OS 8.6 also includes Macintosh Runtime for Java 2.1.1, although Apple recently released MRJ 2.1.2 to address several issues in earlier versions. Mac OS 8.6 ships with QuickTime 3.0.2 but does not include QuickTime 4.0; preview releases are available from Apple.
A few items receive touch-ups in Mac OS 8.6, including AppleScript 1.3.7 (which fixes a few minor bugs and adds Navigation Services capabilities, but doesn't address some long-standing issues) and the AppleShare client. If you're connected to an AppleShare server that goes offline, the alert dialog warning you of that fact is now dismissed after two minutes, and the AppleShare client creates a file on your desktop called AppleShare Server Messages containing the text of the alert.
Mac OS 8.6 includes Open Transport 2.0.3, which fixes several potential problems with DHCP, including a possible crash when acquiring an IP address and connectivity problems with some cable modems and DSL connections. (Also, the AppleTalk control strip module now reliably turns AppleTalk on and off.) Apple has also fixed a long-standing Ethernet problem in first-generation PCI-based Macs and Macintosh clones that could shut down all networking under heavy TCP/IP network loads. These machines may be more reliable as Web, mail, and backup servers under Mac OS 8.6 than under previous systems.
Mac OS 8.6 also includes PlainTalk 1.5.4, which supports 44.1 KHz sound input sources, adds support for the iMac's built-in microphone, and now correctly restores the sound input source when shutting down speech recognition. Also, at long last, the Keyboard control panel now sports a pair of Dvorak keyboard layouts.
The built-in Mac OS HTML help engine has also been updated, although the changes aren't noticeable to users. Apple is finally working on allowing other developers to use Apple's Help Viewer for HTML-based online help, so other programs should start using HTML-based help via Apple's Help Viewer soon.
Finally, Mac OS 8.6 includes Pacific Tech's Graphing Calculator 1.1, which can rotate graphs in three dimensions, use different colors, and even impose an arbitrary image on 3D surfaces. The Graphing Calculator had gone essentially unchanged since 1994, but I still use it to demonstrate Macs - and even occasionally to do math. Version 1.1 of Graphing Calculator adds some fun features - I immediately pasted a photo of one of my cats over an oddly modulating surface - so it's once again a great tool for showing off the Macintosh. Version 1.1 doesn't offer all the capabilities of the commercial edition of Graphing Calculator, currently at version 2.2 and available for $50 - you can check out a demo at Pacific Tech's Web site.
A Few Gotchas -- Although additional specific issues are bound to emerge over the next few weeks, here are a few issues with Mac OS 8.6 you should be aware of now.
If you use Connectix's Virtual PC, you must update to version 2.1.2 or higher to use it with Mac OS 8.6.
Owners of original Apple StyleWriters, the StyleWriter II, or StyleWriter 1200 should use the StyleWriter 1500 printer driver that comes with Mac OS 8.6 rather than the original driver for their printer.
Apple's language kits must be updated before they work with either Mac OS 8.5 or 8.6. If you're upgrading to Mac OS 8.6 from Mac OS 8.1 or earlier, use the Language Kit Updater for Mac OS 8.5; it's available on the Mac OS 8.5 CD-ROM (and will presumably be on the Mac OS 8.6 CD-ROM as well). As far as I can tell, the Language Kit Updater for Mac OS 8.5 is neither available online nor included in the free Mac OS 8.6 Update.
Some applications may need more memory under Mac OS 8.6 due to the way some system components are used. In most cases, giving these applications about 300K more memory via their Get Info windows should solve the problem.
Do You Need Mac OS 8.6? Any decision about upgrading to Mac OS 8.6 is, of course, up to the individual. If you need some of the new features in Mac OS 8.6 and aren't fazed by downloading many megabytes of data, Mac OS 8.6 should be a safe decision. I've had few compatibility or stability problems while using Mac OS 8.6, and the price is right. On the other hand, if none of Mac OS 8.6's new capabilities appeal to you and you're happy with your current system setup, don't feel compelled to upgrade right away - Mac OS 8.6 is a significant and worthwhile refinement over Mac OS 8.5 but doesn't offer profound new features.
Article 2 of 3 in series
by Geoff Duncan
Last week in TidBITS-480, I looked at new capabilities in Mac OS 8.6; this week, I'd like to focus on one new feature I think deserves special attention: URL Access. Low-Level Power -- URL Access is a new system component that enables programs to transfer information to and from the Internet using HTTP or FTPShow full article
Last week in TidBITS-480, I looked at new capabilities in Mac OS 8.6; this week, I'd like to focus on one new feature I think deserves special attention: URL Access.
Low-Level Power -- URL Access is a new system component that enables programs to transfer information to and from the Internet using HTTP or FTP. Around the time Apple introduced Game Sprockets in 1996, several Macintosh Internet developers pushed the idea of "Apple Internet Sprockets" which would give any application basic Internet connectivity. Why is this idea interesting? Before URL Access, any program wanting to access the Internet had to write its own protocol handlers to interact with Web servers, upload to FTP sites, and whatnot, so every developer re-invented the wheel for every Internet application or utility. Wouldn't it be great if the Mac OS could provide basic Internet functions to any program that wanted them? The project came to life under the codename SubWoofer but was shelved by Apple in the sweeping re-organizations of 1996 and 1997. SubWoofer was adopted by Leonard Rosenthol and other developers, and this year Apple finally decided to roll it into the Mac OS itself.
URL Access provides applications with the capability to upload and download information using HTTP (optionally using 40-bit RSA encryption) and FTP, to access local files using the "file://" URL scheme, to gather various data about URLs, and more. URL Access doesn't provide all the capabilities needed by a high-end Web browser - especially ones that need to run on versions of the Mac OS prior to 8.6 - but it's a perfect platform for Internet utilities and custom applications. For instance, Sherlock 2.1 now does all its Internet communication through URL Access. Over time, you can expect more Internet tools to use URL Access to communicate with the Internet, rather than writing their own protocol handlers.
Scriptability -- Apple took URL Access one step further by making it accessible to AppleScript and other OSA scripting environments, like UserLand Frontier.
The Mac OS 8.6 Scripting Additions folder contains a tiny application called URL Access Scripting, which enables any OSA script to transfer data to and from the Internet. This simple AppleScript script downloads the TidBITS home page to a file you specify.
set newFile to (new file) tell application "URL Access Scripting" activate download "http://www.tidbits.com/" to newFile with progress quit end tell
This script (which works only under Mac OS 8.6) prompts you to create a new file, then displays a progress dialog as URL Access Scripting connects to our Web server, downloads the page, and saves it to the file you specified.
URL Access Scripting's interface is rough around the edges: it was originally intended to be a background-only application with no windows, dialogs, or menus, so Apple didn't give URL Access Scripting any menus - or even a Quit command. However, URL Access Scripting needs to display interface elements like progress and authentication dialogs, so Apple lets it run in the foreground but didn't provide a proper menubar, which can confuse both users and scripters. Remember that your scripts must tell URL Access Scripting to quit when they're finished.
Folder Actions -- URL Access Scripting offers many capabilities - decoding files, posting form data, handling authentication - and opens up new possibilities for integrating AppleScript into your workflow. Here's an example of an AppleScript script you can attach to a folder as a Folder Action. Whenever you drop items into the folder, URL Access automatically uploads them to the FTP directory you specify in the second line of the script, replacing any files with the same names. (Remember that Folder Actions trigger when the visible contents of a folder change, so be sure your FTP folder is open, or attached to the bottom of your screen as a pop-up window.)
on adding folder items to thisFolder after receiving fileList set ftpURL to "ftp://ftp.example.com/YourDirectory/" repeat with i in fileList tell application "Finder" to set thisFileType to the file type of i try tell application "URL Access Scripting" activate if thisFileType is "TEXT" then upload i to ftpURL replacing yes with progress and authentication else -- delete the return between "binhexing" and "and" in the next line upload i to ftpURL replacing yes with progress, binhexing and authentication end if end tell on error errMsg number errNum display dialog (errNum as string) & ": " & errMsg end try end repeat tell application "URL Access Scripting" to quit end adding folder items to
You'll notice this script will binhex non-text files it uploads to an FTP site (taking advantage of another of URL Access's built-in features), but there are plenty of ways to add more intelligence. For instance, if you drop multiple files into this FTP folder, you'll be prompted for a username and password for each file. You could integrate your username and password into the script directly by using a URL in the following form, although it's not a secure solution:
A better idea would be to have the script prompt once for the appropriate name and password, then build an appropriate URL for URL Access Scripting. Similarly, this script could be expanded to handle folders dropped into your FTP folder, to test for the presence of a resource fork to determine whether binhexing is necessary, and to offer error handling in case a problem occurs. You could also add a "removing folder items" script to delete items from the FTP site when they're removed from the folder.
Even More Elaborate -- An important thing to notice with all the possible elaborations on the script above is that the enhancements don't involve URL Access. Taking advantage of URL Access Scripting would still only require a few lines of code, although the rest of the script would become larger to offer more features, flexibility, and intelligence.
Since getting online stock quotes is commonly bandied about as an example of customized Internet functionality, I've thrown together an AppleScript script using URL Access Scripting that pulls stock prices from Yahoo's finance site. Just type a ticker symbol, and the script sends the appropriate query, grabs the resulting HTML, parses it, and displays a dialog with the pricing information.
Again, you'll notice handling URL Access Scripting is easy: just one line to grab the appropriate Web page, and another to tell URL Access Scripting to quit. The rest of the script is concerned with getting the ticker symbol from the user (capitalizing it if necessary), creating and destroying a temporary file for the Web page, and parsing the results returned from Yahoo's server. This script could certainly be smarter - for instance, it should handle connection errors and deal with unknown ticker symbols - but, again, those changes don't involve URL Access Scripting, just the intelligence wrapped around it.
If you want more examples of using URL Access, check out the scripts Apple showed off at this year's World Wide Developer Conference - they set your desktop picture to images from a variety of Web cams around the world.
Meet a Schedule -- Another way to utilize URL Access Scripting is to have scripts run automatically at pre-selected times. Although AppleScript doesn't have a built-in scheduler, you can use Sophisticated Circuits' iDo Script Scheduler. A demo version is available for free from Apple, both on its own and as part of Mac OS 8.6's AppleScript Extras, which is also on the Mac OS 8.6 CD-ROM. The iDo Script Scheduler enables you set up three scripts that run automatically; the forthcoming full version should handle an unlimited number of scripts and offer additional capabilities. Several other scheduling utilities are available on their own or as parts of other products; I've been using Late Night Software's $25 Scheduler for years, and Unix aficionados should check out Chris Johnson's cron for Macintosh.
Script Happy -- At long last, integrating the Internet into your custom scripts and workflow is simple and built directly into the Mac OS. Although URL Access can't do everything that's possible with lower-level TCP/IP scripting tools like Mango Tree Software's TCP/IP Scripting Addition or BIAP's NetEvents, it provides a wide range of common functionality that's easy to use. Even if you don't have much familiarity with AppleScript, a little effort can dramatically improve your use of the Internet.
Article 3 of 3 in series
by Jeff Carlson
Font Manager Update 1.0 -- Apple recommends all users of Mac OS 8.6 download and install Font Manager Update 1.0 to fix corrupted font resources and prevent possible future corruptionShow full article
Font Manager Update 1.0 -- Apple recommends all users of Mac OS 8.6 download and install Font Manager Update 1.0 to fix corrupted font resources and prevent possible future corruption. The Font Manager Update extension prevents corruption of FOND resources within some applications or fonts, and fixes a problem with the character heights of Apple's Japanese and Traditional Chinese fonts. The included Font First Aid utility repairs already damaged resources. Make backup copies of any files that need repairing, however, since some programs may not work properly if their resources have been changed. The update is a 312K download. [JLC]