Skip to content

Apple’s develop: The Apple Technical Journal 1990 to 1997

Published from January 1990 to March 1997 develop was Apple’s quarterly technical journal that provides information to 3rd-party developers. The journal was intended to lead developers into other reference materials like Inside Macintosh and the Apple IIGS Reference Manual. It did not replace these books, but compliments them and helped the reader identify which sections of those document they many need to study more carefully. Stating in 1998 develop became a section in MacTech, and MacTech’s site also includes HTML versions of the journals.

NOTE: see my Macintosh Reference Documentation post for other information sources.

About

I found the text descriptions for the most of the journals on Apple’s website on the way back machine (October 2nd, 1999), or from the contents page of each journal.

I have not found a statement anywhere explaining why the develop journal ceased publication, but I am assuming that the journal stopped being published in 1997 for the same reason as Apple’s directions newsletter stopped publishing in 1997: the restructuring of Apple with the return of Steve Jobs and/or the decision by Apple to use their website for publishing new information vs. paper publications.

The code samples provided with the develop journals were included with the journal on CD: initially Developer Essential CD, then the full Developer CD, and finally on the full Developer CD and a bundled Bookmark CD. The Bookmark CD contains a subset of the materials on the monthly Developer CD Series. The code samples found on these CDs were updated when necessary, therefore look at the last Bookmark CD / matching Developer Series CD containing the code sample for the most up to date versions

Looking to complete the set?  Description of the contents of Issues 1 to 28, taken from Issue 29

1990 and 1991: Issues 1 to 8

  1. January 1990 (Issue 1)
    • Realistic Color for Real-World Applications by Bruce Leak. Extensions to the Macintosh graphics system software and how to use them.
    • All About the Palette Manager by David Van Brink. The what, why, and how of the Palette Manager and how it works with 32-Bit QuickDraw.
    • Braving Offscreen Worlds by Guillermo Ortiz. Use the new offscreen calls to set up and to maintain your offscreen world.
    • The Perils of Postscript by Scott “ZZ” Zimmerman. Mixing the models: Postscript and QuickDraw; tricks for the mix.
    • Compatibility: Rules of the Road by Dave Radcliffe. An overview of the most critical System 7.0 compatibility issues.
    • Debugging Declaration ROMs by Mark Baumwell. Everything you need to know to build and to debug a NuBus declaration ROM.
    • Apple II Development Dynamo by Eric Soldan. Produce fast, small, readable, reliable Apple II assembly-language code quickly and conveniently using Dynamo.
  2. April 1990 (Issue 2)
    • Using C++ Objects in a Handle-Based World by Andy Shebanow. Avoiding headaches when you use C++ object in the Macintosh world.
    • Using Objects Safely in Object Pascal by Curt Bianchi. Guidelines to take the worry out of using objects so you can relax and enjoy their advantages.
    • The secret Life of the Memory Manager by Richard Clark. Memory Manager behavior and how it affects your applications.
    • Speed Your Software Development with MacApp by Chris Knepper. Let MacApp take care of the user so you can focus on writing–and reusing–code.
    • How to Design an Object-Based Application by Brian Wilkerson. A step-by-step two-phase process for designing an object-based application.
    • Unofficial C++ Style Guide by David Goldsmith and Jack Palevich. How to harness C++’s power without getting tripped up by some of its less savory features.
    • Demystifying the GS/OS Cache by Matt Deatherage. Taking the mystery and confusion out of caching algorithms
  3. July 1990 (issue 3)
    • CD-ROM: The Cutting Edge by Mark B. Johnson How you can take best advantage of CD-ROM technology and what the trade-offs are.
    • The Ins and Outs of ISO 9660 and High Sierra by Brian Bechtel The two standard file formats for CD-ROM discs, how they relate to the Macintosh’s native file format, and how to implement them.
    • How to Create a Mixed-Partition CD-ROM by Llew Roberts Step-by-step instructions on how to mix ProDOS and HFS partitions on a hard disk for pressing as a CD-ROM, plus why you might want to do so.
    • Developer Essentials: Issue 3 develop, the disc is now part of Developer Essentials, a new disc containing essential tools for developers.
    • Accessing CD-ROM Audio Tracks From Your Application by Eric Mueller The calls to use if you want to access CD-ROM audio tracks from your Apple I application, the layout of a CD-ROM audio track, and more.
    • Surf’s Up: Catch the Comm Toolbox Wave by Rob Berkowitz and Alex Kazim An introduction to three Communications Toolbox managers, illustrated by a look at a simple terminal emulation package called Surfer.
    • Macintosh Display Card 8°24 GC: The Naked Truth by Guillermo Ortiz How to take advantage of the new card and its software and what to do if you haven’t already invested in offscreen calls.
    • Meet PrGeneral, the Trap That Makes the Most of the Printing Manager by Pete “Luke” Alexander How to use the five opcodes available in order to enhance the power of the Printing Manager and solve special problems.
  4. October 1990 (Issue 4)
    • Writing a Device Driver in C++ (What? In C++?) by Tim Enwall. How to capitalize on the advantages of a higher level language and avoid some of the pitfalls you may encounter if you write a driver in C++, including a complete example of a device driver in C++.
    • Polymorphic Code Resources in C++ by Patrick C. Beard. A method of implementing polymorphism in stand-alone C++ code resources, illustrated by a window definition function that uses polymorphism.
    • System 7.0 Sneaks. Answers from Apple Computer.
    • Inside the Macintosh Coprocessor Platform and A/ROSE by Joseph Maurer. An introduction to the basics of the Macintosh NuBus card and A/ROSE (the Apple Real-time Operating System Environment). Includes a close look at interprocess communication in A/ROSE and how the TokenTalk card uses A/ROSE, plus some samples of A/ROSE programming.
    • The Perils of PostScript–The Sequel by Scott “Zz” Zimmerman. A description of some gotchas that can occur when you use PostScript dictionaries in applications, and ways to work around them.
    • Driving to Print: An Apple IIGS Printer Driver by Matt Deatherage. An explanation of the mysteries of the printer driver: what it does, how it does it, and how to write one. A sample printer driver is provided.
  5. Winter 1991 (Issue 5)
    • Asynchronous Background Networking on the Macintosh by Harry Chesley. A MacApp class for handling asynchronous network activities, used in an application that propagates messages among machines on the AppleTalk network.
    • System 7.0 Q & A. Answers to your product development questions.
    • The Veteran Neophyte by Dave Johnson. Commentary from the trenches.
    • Scanning from ProDOS by Matt Gulick. Including support for the Apple Scanner in your Apple II applications: it’s easier than you think.
    • Print Hints with Luke & Zz by Scott “Zz” Zimmerman. Tips and tricks from the print masters. This time: a cautionary fable, and a little known constant.
    • Palette Manager Animation by Rich Collyer. Techniques for color table animation are presented, along with some of the newer features of the Palette Manager and the reasons you should use it.
    • The Power of Macintosh Common Lisp by Ruben Kleiman. An introduction to the Macintosh Common Lisp development environment, highlighting its key features and strengths.
  6. Spring 1991 (Issue 6)
    • Threads on the Macintosh by Michael Gough. Multiple concurrent threads of execution on the Macintosh? You bet! This article presents a complete threads package, talks about its implementation, and shows you how to use it.
    • QuickDraw’s CopyBits Procedure: Better Than Ever in System 7.0 by Konstantin Othmer. In System 7.0, the internal workings of this versatile routine have changed (for the better, of course!). Learn all about the differences, and check out some simple but useful image processing techniques.
    • MacTCP Cookbook: Constructing Network-Aware Applications by Steve Falkenburg. Networking for the rest of us. Here’s an introduction to the TCP/IP protocol suite, and a library of routines that make using MacTCP a (relative) breeze.
    • Print Hints from Luke & Zz: Color Printing with LaserWriter 6.0 Revisited by Pete “Luke” Alexander. A potential color printing problem, and some solutions. Also sharks, surfboards, and surfer dudes.
    • The Veteran Neophyte: A Familiar (Inter)face by Dave Johnson. Chernoff faces, n-dimensional points, and simulation in the human (and canine) interface.
  7. Summer 1991 (Issue 7)
    • QuickTime 1.0: “You Oughta Be in Pictures” by Guillermo A. Ortiz. An introduction to QuickTime that shows you how to create and play back simple movies.
    • Scoring Points With TrueType by Konstantin Othmer and Mike Reed. This article demonstrates some snazzy, never-before-possible text effects.
    • Threaded Communications With Futures by Michael Gough. Futures are an addition to the Threads Package that can make your IPC code even cleaner.
    • Using C++ Objects in a World of Exceptions by Michael C. Greenspon. This article explores some subtle gotchas that can occur when mixing Pascal and C++ objects, and provides guidelines for avoiding them.
    • The Subspace Manager in System 7.0 by Harry R. Chesley. A little-known Macintosh Manager is revealed for the first time, and the (hairy) implications for life on earth are discussed.
    • Print Hints From Luke & Zz: Help for Your Dialog Appendages by Scott “Zz” Zimmerman. How can you add Balloon Help to your custom Print dialog items? Zz will tell you all about it.
    • The Veteran Neophyte: If I Had a Hammer . . . by Dave Johnson. Kids, MS-DOS, wireless modems, collaboration, and computer binges. Disparate topics? Perhaps.
  8. Autumn 1991 (Issue 8, code on Developer CD X): Stating with this issue, subscribers of develop received the Developer CD Series Volume X disc and not just the Developer Essentials subset.
    • Curves Ahead: Working With Curves in QuickDraw by Mike Reed and Konstantin Othmer. All about quadratic Bézier curves on the Macintosh, including using the curves from TrueType fonts.
    • Validating Date and Time Entry in MacApp by James Plamondon. Here’s a new MacApp class that provides robust and flexible entry validation.
    • Macintosh Debugging: A Weird Journey Into the Belly of the Beast by Bo3b Johnson and Fred Huxham. This article presents some very useful debugging techniques that every Macintosh developer needs to know about.
    • Macintosh Hybrid Applications for A/UX by John Morley. This is an introduction to writing Macintosh applications meant to run under A/UX, explaining the basics and pointing out some potential gotchas.
    • Print Hints From Luke & Zz: CopyMask, CopyDeepMask, and LaserWriter Driver 7.0 by Pete “Luke” Alexander. How do you print graphics that use CopyMask and CopyDeepMask with LaserWriter driver 7.0? Read this column to find out.
    • The Veteran Neophyte: Don’t Fence Me In by Dave Johnson. Dave waxes philosophical about wirelessness, collaboration, communication, and buffalo heels.
    • Be Our Guest: GWorlds and NuBus Memory by Forrest Tanaka and Paul Snively. Taking advantage of NuBus memory for off-screen graphics is tricky. Here are some tips on how to do it in a friendly, compatible way.

1992 and 1993: Issues 9 to 16

  1. Winter 1992 (Issue 9)
    • Making the Most of Color on 1-Bit Devices by Konstantin Othmer and Daniel Lipton. A two-part article: how to create color PICTs on black-and-white machines, and the theory and practice of dithering.
    • The TextBox You’ve Always Wanted by Bryan K. (“Beaker”) Ressler. Here’s a replacement for TextBox, with better performance, more flexibility, and international compatibility. What more do you want?
    • Making Your Macintosh Sound Like an Echo Box by Rich Collyer. Learn how to use double buffering techniques to simultaneously record and play sounds.
    • Simple Text Windows via the Terminal Manager by Craig Hotchkiss. The Terminal Manager (in the Communications Toolbox) provides handy text output capabilities in your application with virtually no effort.
    • Tracks: A New Tool for Debugging Drivers by Brad Lowe. Debugging device drivers is a pain. This tool provides an easy way to log information from your driver, greatly easing your debugging woes.
    • Graphics Hints From Forrest: Using the Palette Manager Off-Screen by Forrest Tanaka. Can you use the Palette Manager to manage colors in off-screen ports? Well, yes, but there are some caveats.
    • Be Our Guest: Background-Only Applications in System 7 by C. K. Haun. Faceless background tasks provide a handy way out of some sticky situations. C. K. shows you the basics.
    • The Veteran Neophyte: Silicon Surprise by Dave Johnson. Computers are not only great for studying complex systems, they are complex systems. Or at least Dave thinks so.
    • KON & BAL’s Puzzle Page: It’s Just a Computer by Konstantin Othmer and Bruce Leak. Are there demons in Kon’s computer? Or is it just a simple mistake? A debugging puzzle to tickle your brain.
  2. May 1992 (Issue 10) changed from dating by season to by month.
    • Apple Event Objects and You by Richard Clark Supporting the Apple event object model isn’t as tough as you might think, and it will guarantee the future scriptability of your application.
    • PostScript Enhancements for the LaserWriter Font Utility by Bryan K. (“Beaker”) Ressler Unbeknownst to many, the LaserWriter Font Utility is extensible, allowing you to add custom functionality. PostScript hackers, rejoice!
    • Drawing in GWorlds for Speed and Versatility by Konstantin Othmer and Mike Reed Custom drawing routines can radically increase graphics performance. Kon and Mike show you how and give you some extremely useful examples.
    • In Search of the Optimal Palette by Dave Good and Konstantin Othmer Choosing the best colors to display an image with is tricky. This article explains how the Picture Utilities methods work and gives you tips on developing your own methods.
    • Print Hints: Top 10 Printing Crimes by Pete (“Luke”) Alexander ‘These ten problems with printing show up again and again, but they’re easily avoided. Luke spells it out for you.
    • Graphical Truffles: Multiple Screens Revealed by Forrest Tanaka and Bill Guschwan = The fact that QuickDraw handles multiple screens transparently can seem like magic. Here’s the inside scoop and some tips on how to optimize your drawing quality.
    • The Veteran Neophyte: Yeah, But Is It Art? by Dave Johnson Dave has some fun with image processing and has an enlightening encounter with his encyclopedia.
    • KON & BAL’s Puzzle Page: Sleeping Beauty by Konstantin Othmer and Bruce Leak See if you can figure this one out: a bug that shows up only after several hours of continuous QuickTime movie playing.
  3. August 1992 (issue 11), first mention of Apple’s ftp site, and Announces Inside Macintosh, is on its way out, starting with the imminent publication of New Inside Macintosh and The Notes are no longer numbered, but are now organized by subject.
    • The Asynchronous Sound Helper by Bryan K. (“Beaker”) Ressler. Confused about the Sound Manager? Here’s help: a detailed walk-through of useful routines for accomplishing common Sound Manager tasks.
    • Around and Around: Multibuffering Sounds by Neil Day. The inside world of multibuffering sounds is exposed to the light, and we discover that it’s really not that gory.
    • Living In an Exceptional World by Sean Parent. Ever get mad at those “Real programs check errors here” comments you see so often in sample code? Here’s a workable error-handling methodology that might interest you.
    • The NetWork Project: Distributed Computing on the Macintosh by Ginther Sawitzki. Distributed computing is looming large on the horizon, and programmers need to be ready. NetWork enables you to experiment with distributed computing right now.
    • COLUMNS Graphical Truffles: Writing Directly to the Screen by Brigham Stevens and Bill Guschwan. ‘The message hasn’t changed: Don’t write directly to the screen. But if you absolutely need to break the rules, here are some clues for success.
    • The Veteran Neophyte: Quantum Lunch by Dave Johnson, with Michael Greenspon Is it possible to simulate a brain? Can thought and matter be separated? Should you care?
    • KON & BAL’s Puzzle Page: An Off-Color Puzzle by Konstantin Othmer and Bruce Leak = Think historically and you just might get this one.
  4. December 1992 (Issue 12, code on November/December Developer CD)
    • Techniques for Writing and Debugging Components by Gary Woodcock. and Casey King Components aren’t just for QuickTime programmers anymore.
    • Time Bases: The Heartbeat of QuickTime by Guillermo A. Ortiz. Understanding and manipulating time bases directly is sometimes helpful. Here are some tips.
    • Better Apple Event Coding Through Objects by Eric M. Berdahl. Adding Object Model support to your existing OOP code may be easier than you think.
    • Another Take on Globals in Standalone Code by Keith Rollin. For MPW users, here’s an alternative way to implement globals in standalone code.
    • Be Our Guest: Components and C++ Classes Compared by David Van Brink. Components and C++ classes have some surface similarities but underneath are very different beasts.
    • Graphical Truffles: Animation at a Glance by Edgar Lee. Three basic animation techniques everyone should know about.
    • Print Hints: Top 10 Printing Misdemeanors by Pete (“Luke”) Alexander. You know the felonies, now learn the lesser printing crimes.
    • The Veteran Neophyte: Digital Zoology by Dave Johnson. Genetic takeovers, Lamarckian evolution, and language.
    • KON & BAL’s Puzzle Page: A Micro Bug by Konstantin Othmer and Bruce Leak. Remember that little built-in debugger that no one ever uses? People do.
  5. March 1993 (Issue 13)
    • Asynchronous Routines on the Macintosh by Jim Luther. How to avoid the pitfalls of calling routines asynchronously.
    • Inside QuickTime and Component-Based Managers by Bill Guschwan. Useful debugging and tracing techniques for QuickTime and the Component Manager.
    • Macintosh Debugging: The Belly of the Beast Revisited by Fred Huxham and Greg Marriott. A supplement to the Belly of the Beast debugging article in Issue 8: four new tools explained.
    • Adventures in Color Printing by Dave Hersey. A general strategy for printing color images that ensures the best possible quality.
    • DeviceLoop Meets the Interface Designer by John Powers. This littleknown System 7 routine can help you deal with multiple screen environments.
    • Somewhere in QuickTime: Top 10 QuickTime Tips by John Wang. The first installment of a new column on QuickTime: hot tips from the masters.
    • Print Hints: Looking Ahead to QuickDraw GX by Pete (“Luke”) Alexander. Some things you should be aware of involving QuickDraw GX and its effect on printing.
    • The Veteran Neophyte: Tower of Babble by Dave Johnson. Programming languages are just like natural languages, only different.
    • Graphical Truffles: The Palette Manager Way by Edgar Lee and Forrest Tanaka. The Palette Manager need not be a mystery. Here’s the scoop.
    • KON & BAL’s Puzzle Page: Booting Blues by Konstantin Othmer and Bruce Leak. Yet another elusive crasher bug that you’ll never guess in a million
  6. June 1993 (Bookmark CD 14) The Bookmark CD contains a subset of the materials on the monthly Developer CD Series
    • Writing Localizable Applications by Joseph Ternasky and Bryan K. (“Beaker”) Ressler. Some real-world tips and tricks demonstrating “global-aware” text-handling techniques that will help you write more localizable applications.
    • 3-D Rotation Using a 2-D Input Device by Michael Chen. A user interface technique for intuitive rotation of 3-D objects using a 2-D input device like a mouse or pen.
    • Video Digitizing Under QuickTime by Casey King and Gary Woodcock. Whether you’re developing a video digitizer, writing an application to control one, or just curious about how it all works, this will tell you what you need to know.
    • Making Better QuickTime Movies by Kip Olson. How to optimize your QuickTime movies for quality playback from CD-ROM.
    • Print Hints: Syncing Up With ColorSync by John Wang. All about ColorSync, Apple’s color matching technology.
    • Graphical Truffles: Four Common Graphics Answers by Bill Guschwan. Tips on the first few things to try when faced with a question about QuickDraw.
    • Somewhere in QuickTime: Derived Media Handlers by John Wang. How to write derived media handlers, a powerful new ability in QuickTime 1.5.
    • Be Our Guest: System Enablers by C. K. Haun. The scoop on these new chunks of system software. (Hands off!)
    • The Veteran Neophyte: Tiny Futures by Dave Johnson. Dave reports on a bizarre and slightly scary conference on nanotechnology.
    • KON & BAL’s Puzzle Page: Finder++ by Konstantin Othmer and Bruce Leak. Try your luck (or is it skill?) on yet another puzzle from those masters of Macintosh machinations, KON and BAL.
  7. September 1993 (Bookmark CD 15)
    • Getting Started With QuickDraw GX by Pete (“Luke”) Alexander. A brief introduction to QuickDraw GX, and a simple GX-aware sample.
    • QuickDraw GX for PostScript Programmers by Daniel Lipton. The two graphics models are compared, along with useful code snippets for each.
    • Managing Component Registration by Gary Woodcock. For those cases where you may need to manage the component registration process, here’s how.
    • Floating Windows: Keeping Afloat in the Window Manager by Dean Yu. A way to implement floating windows without patching traps, and a library you can use in your own application.
    • Working in the Third Dimension by Jamie Osborne and Deanna Thomas. This article shows off a nice 3-D interface and presents a set of MacApp objects you can use to create your own such interface.
    • The Veteran Neophyte: Through the Looking Glass by Dave Johnson. Dave explores the mathematics of symmetry and finds some surprises.
    • Somewhere in QuickTime: Dynamic Customization of Components by Bill Guschwan. A sample derived media handler that “speaks” the text track in a movie.
    • View From the Ledge by Tao Jones. An office survival guide for the socially and politically inept.
    • KON & BAL’s Puzzle Page: I’m Here to Serve by Konstantin Othmer and Bruce Leak. Try your skill (or is it luck?) on yet another puzzle from those masters of Macintosh machinations, KON and BAL.
  8. December 1993 (Bookmark CD 16)
    • Making the Leap to PowerPC by Dave Radcliffe. An overview of the PowerPC platform, and coding strategies for both compatibility and speed.
    • Building PowerTalk-Savvy Applications by Steve Falkenburg. How to incorporate direct mailing and digital signature into your application.
    • Drag and Drop From the Finder by Dave Evans and Greg Robbins. Taking advantage of the new drag and drop services is easy, and your users will love it
    • Color Matching Made Easy With QuickDraw GX by Daniel Lipton. With both cooperative and preemptive threads, the possibilities provided by the new Thread Manager are nearly endless.
    • International Number Formatting by Norbert Lindenberg. Some good methods for handling the different number formats around the world.
    • Somewhere in QuickTime: What’s New With Sound Manager 3.0 by Jim Reekes. Changes (and bug fixes!) in the Sound Manager. Finally, you can remove all that workaround code.
    • The Veteran Neophyte: Abracadabra by Dave Johnson. Hunting for the source of that old elusive magic, Dave stubs his toes on some obvious truths.
    • Print Hints: LaserWriter 8 for Fun and Profit by Matt Deatherage. How applications can take advantage of the new LaserWriter driver.
    • Graphical Truffles: Remedies for Common QuickDraw Problems by Jeff Wang. Look here first for relief from common QuickDraw problems.
    • View From the Ledge by Tao Jones. An office survival guide for the socially and politically inept.
    • KON and BAL’s Puzzle Page: Sounds Like Trouble by Konstantin Othmer and Bruce Leak. A fresh-faced intern give the hoary masters a run for their money.

1994 and 1995: Issues 17 to 24

image of the develop website found in the book: Netscape for Macintosh p.124
  1. March 1994 (Bookmark CD 17)
    • Using Proto Templates on the Newton by Harry R. Chesley. Newton developers, a sample game that uses proto templates to good effect; for everyone else, a flavor of what Newton development is like.
    • Standalone Code on PowerPC by Tim Nichols. Standalone code is better and easier than ever before in the PowerPC environment.
    • Debugging on PowerPC by Dave Falkenburg and Brian Topping. It’s a whole new world in there, but your hard-won debugging skills still work
    • Concurrent Programming With the Thread Manager by Eric Anderson and Brad Post. With both cooperative and preemptive threads, the possibilities provided by the new Thread Manager are nearly endless.
    • The Zen of Window Zooming by Dean Yu. Everybody does it, but many still don’t do it right. Dean has some code to help you out.
    • Print Hints: Tracking QuickDraw GX Messages by Pete (“Luke”) Alexander. MessageWatcher lets you spy on QuickDraw GX printing.
    • The Veteran Neophyte: Why We Do It by Dave Johnson. Why do people like to program computers? The results of an ad hoc survey.
    • Somewhere in QuickTime: Cross-Platform Compatibility and Multiple-Movie Files by John Wang. The title says it all.
    • View From the Ledge by Tao Jones. Amazing advice about awful allies.
    • Ten Tips for Game Developers by Brigham Stevens. Things you should know if you want to write games for the Macintosh – or even it you don’t.
    • KON and BAL’s Puzzle Page: When Maps Go Bad by Konstantin Othmer, Bruce Leak, and Steve Newman. More Macintosh orienteering with KON and BAL.
    • History of the Dogcow, Part 1 by Mark (“The Red”) Harlan. Here it is for the first time – the real story, from someone who was there.
  2. June 1994 (Bookmark CD 18)
    • Giving Users Help With Apple Guide by John Powers. Learn how to integrate this powerful new help system into your application, to provide users with context-sensitive help and interactively guide them through common tasks.
    • Programming for Flexibility: The Open Scripting Architecture by Paul G. Smith. All about the ability to attach and run scripts as a way of customizing applications.
    • Exploiting Graphics Speed on the Power Macintosh by Konstantin Othmer, Shannon Holland, and Brian Cox. A strategy for ensuring that users benefit from the improved performance of QuickDraw on the PowerPC platform.
    • Displaying Hierarchical Lists by Martin Minow. Here’s how to provide a user-controlled display mechanism for hierarchical data, much like the triangular buttons used for displaying files and folders in the Finder.
    • The Right Way to Implement Preferences Files by Gary Woodcock. Some thoughts on what makes a well implemented preferences file, and a library to help.
    • Somewhere in QuickTime: Basic Movie Playback Support by Peter Hoddie. Some common problems to avoid, with special attention to compatibility with future releases.
    • Graphical Truffles: The Debugging Version of QuickDraw GX by Pete (“Luke”) Alexander. How to take advantage of the debugging version during development, along with news about a few changes.
    • Balance of Power: Enhancing PowerPC Native Speed by Dave Evans. Coding tips for getting the most speed out of the PowerPC processor.
    • View From the Ledge by Tao Jones. Possibly the last installment of this office survival guide for the socially and politically inept.
    • KON and BAL’s Puzzle Page: Monitor Madness by Konstantin Othmer, Bruce Leak, and Steve Newman. Another brain teaser that’s nearly impossible to solve.
    • History of the Dogcow, Part 2 by Mark (“The Red”) Harlan. The rest of the story: distribution and paraphernalia.
  3. September 1994 (Bookmark CD 19)
    • Building an OpenDoc Part Handler by Kurt Piersol. Writing code to support Apple’s new compound-document architecture is a lot like writing any Macintosh application. Here’s an overview of what you’ll need to know.
    • Adding QuickDraw GX Printing to QuickDraw Applications by Dave Hersey. Even if your application doesn’t need the advanced graphics capabilities of QuickDraw GX, your users will love the new printing architecture, and you can support it with a minimum of effort.
    • Making the Most of QuickDraw GX Bitmaps by David Surovell. A primer on handling bitmapped graphics in QuickDraw GX: tips, tricks, and whizzy effects.
    • Pick Your Picker With Color Picker 2.0 by Shannon Holland. The new Color Picker Manager is flexible and customizable, allowing much tighter integration of color pickers with your application.
    • Implementing Inheritance in Scripts by Paul G. Smith. Supporting inheritance in your application’s scripts so that they can share handlers and global variables isn’t as difficult as you might think.
    • Balance of Power: Tuning PowerPC Memory Usage by Dave Evans. Avoiding inadvertent cache thrashing is important for maximum performance.
    • Designing Applications for the Power Macintosh by Greg Robbins and Ron Avitzur. The power of the Power Macintosh means more than just faster spreadsheets.
    • Graphical Truffles: A Cool QuickDraw GZ Clipping Effect by Pete (“Luke”) Alexander. A stroll through a snippet of code that demonstrates some fancy clipping.
    • Somewhere in QuickTime: Media Capture Using the Sequence Grabber by John Wang and Fernando Urbina. The sequence grabber component supports capture of any media type. Here’s how to use it.
    • The Veteran Neophyte: Rubber Meets Road by Dave Johnson. Edges make the world go ’round.
    • KON and BAL’s Puzzle Page: Heaps of Fun by Konstantin Othmer, Bruce Leak, and Steve Newman. Our heroes take on a guest puzzler.
  4. December 1994 (Bookmark CD 20)
    • Getting the Most out of AOCE Catalog Records by Christine Buttin. AOCE templates let you extend AOCE catalogs to store new kinds of data. This article introduces you to writing AOCE templates by providing an example template that extends the built-in User record.
    • Exploring Advanced AOCE Templates Through Celestial Mechanics by Harry R. Chesley. AOCE templates allow you to specify how the Finder displays your data and how the user interacts with it. This article shows how to use some of the more advanced features of the template mechanism.
    • Make Your Own Sound Components by Kip Olson. Sound Manager 3.0 supports plug-in components for compression, decompression, custom hardware support, and more. This introduction to Sound Manager components will get you started.
    • Scripting the Finder From Your Application by Greg Anderson. The System 7.5 Finder is OSL-compliant, opening the door to full scriptability and to direct manipulation through Apple events. Here’s how to talk to the Scriptable Finder from your application.
    • NetWare Development on PowerPC by Jamie Osborne. With NetWare now on the Power Macintosh, you may want to write your net
    • Somewhere in Quicktime: Supporting Text Tracks in Your Application by Nick Thompson. How to support text tracks in your application, allowing both searching and editing
  5. March 1995 (Bookmark CD 21), first mention of an Apple internet site: http://www.cambridge.apple.com (not cached by the way back machine)
    • Getting Started With OpenDoc Graphics by Kurt Piersol OpenDoc provides very powerful document layout and imaging capabilities, but the basic graphics tasks that everyone nees to accomplish aren’t much more complex. Here are some recipes to get you started.
    • A First Look at Dylan: Classes, Functions, and Modules by Steve Strassmann. Dylan has fundamentally different notions about classes and methods than C++, notions that make specifying and using methods simpler and more expressive. Here’s an overview of the Dylan way of doing things.
    • Designing a Scripting Implementation by Cal Simone. The design of your application’s scripting vocabulary is as important as the design of your user interface. These guidelines will help you create a clean and consistent scripting vocabulary.
    • An Object-Oriented Approach to Hierarchical Lists by Jan Bruyndonckx. This article shows how to implement the hierarchical lists described in Issue 18 (and other custom list types) in PowerPlant, CodeWarrior’s
    • Balance of Power: Introducing PowerPC Assembly Language by Dave Evans. You won’t often need to write it, but you’ll surely have to read it and debug it. Get the basics here.
    • MPW Tips and Tricks: Launching MPW Faster Than a Speeding Turtle by Tim Maroney. The first installment of a new column to help you get the most out of MPW. This time: speeding up MPW’s launching.
    • Print Hints: Writing QuickDraw GX Drivers With Custom I/O and Buffering by Dave Hersey. Here’s what you’ll need to know to write a QuickDraw GX driver that uses custom I/O or buffering schemes.
    • Somewhere in QuickTime: Choosing the Right Codec by John Wang. Compressor/decompressor components vary widely in their capabilities and limitations. Learn how to pick the right one.
    • The Veteran Neophyte: The Downside by Dave Johnson. Programming is great. . .most of the time.
    • KON and BAL’s Puzzle Page: Printing Painsby Josh Horwich. Josh attempts to flummox KON with yet another series of events that lead to a bus error.
    • The Art of Human Computing: Finger-Coded Binary by Tobias Engler. Trapped in the wilderness with dead batteries? Don’t despair: you can still twiddle bits around the campfire.
  6. June 1995 (Bookmark CD 22), first mention of Apple’s main site: http://www.apple.com
    • QuickDraw 3D: A New Dimension for Macintosh Graphics by Pablo Fernicola and Nick Thompson. Introducing QuickDraw 3D, a powerful, flexible new 3D graphics package for the Power Macintosh. This article provides an architectural overview and shows how to support 3D data in your application.
    • Copland: The Mac OS Moves Into the Future by Tim Dierks. Here’s a preview of the future of the Mac OS, detailing some of the major features and components and giving some suggestions about how to get ready for it now.
    • Creating PCI Device Drivers by Martin Minow. All about the new driver model on PCI-based Macintosh computers, and advice on porting existing drivers.
    • Custom Color Search Procedures by Jim Wintermyre. Learn about this useful method of customizing Color QuickDraw’s color handling. A real-world graphics problem is investigated and then solved using a custom color search procedure and a hash table.
    • The OpenDoc User Experience by Dave Curbow and Elizabeth Dykstra-Erickson. This article provides an overview of OpenDoc from the user’s perspective: understanding the user experience is a prerequisite to designing good part editors.
    • Futures: Don’t Wait Forever by Greg Anderson. Futures are an invaluable abstraction for applications that handle multiple asynchronous Apple events, allowing cleaner code and eliminating the need for completion routines.
    • Balance of Power: MacsBug for PowerPC by Dave Evans and Jim Murphy. MacsBug changes with the times.
    • MPW Tips and Tricks: Building a Better (Development) Environment by Tim Maroney. Some things to think about when you’re building a shared development environment.
    • According to Script: Scripting Quandaries by Cal Simone. Bits of wisdom and advice for developers supporting scripting in their applications.
    • The Veteran Neophyte: Paper Juggling by Dave Johnson. You can invent multiperson juggling patterns even if you’re not a juggler. Really.
    • KON and BAL’s Puzzle Page: A Brand Too Far by Chris Yerga. Yet another multifaceted mystery is unraveled before your very eyes, as guest puzzler Chris Yerga tries to stump the master.
  7. September 1995 (Bookmark CD 23)
    • Music the Easy Way: The QuickTime Music Architecture by David Van Brink. The QuickTime Music Architecture lets you easily add music to your application, without having to learn the intricacies of MIDI or sound production. Unleash the orchestra!
    • The Basics of QuickDraw 3D Geometries by Nick Thompson and Pablo Fernicola. Geometries are the backbone of any 3D graphics system. This article shows how the geometries in QuickDraw 3D fit in with the rest of the system, and how to make good use of them.
    • Implementing Shared Internet Preferences With Internet Config by Quinn. This article examines a shared preferences solution for Internet applications: how to use it in your applications, and also how it works, using the Component Manager as a robust shared library mechanism.
    • Multipane Dialogs by Norman Franke. Dialog boxes with multiple panes are becoming more and more common. This implementation uses a scrolling list of icons to select panes.
    • Document Synchronization and Other Human Interface Issues by Mark H. Linton. The Macintosh Human Interface Guidelines say that a window’s title should match the corresponding document’s name at all times. Here’s some code that will help you do that.
    • Print Hints: Syncing Up With ColorSync 2.0 by David Hayward. ColorSync version 2.0 dramatically improves the quality and performance of color management.
    • Balance of Power: Power Macintosh: The Next Generation by Dave Evans. The latest Power Macintosh computers are better than ever, as you’ll see from this overview of new features.
    • MPW Tips and Tricks: Customizing Source Control With SourceServer by Tim Maroney. SourceServer is a “scriptable Projector,” allowing extensive source control customization.
    • According to Script: Thinking About Dictionaries by Cal Simone. Tips on organizing your dictionary, and other assorted bits of wisdom and advice.
    • The Veteran Neophyte: A Feel for the Thing by Dave Johnson. Computers are getting more and more like boomerangs. Goody.
    • KON & BAL’S Puzzle Page: Video Nightmare by Ian Hendry and Eric Anderson. Another intricate and entertaining enigma, this time from a pseudo KON & BAL.
  8. December 1995 (Bookmark CD 24)
    • Speeding Up whose Clause Resolution in Your Scriptable Application by Greg Anderson. Although the Object Support Library will resolve complex AppleScript clauses for you, if you take on some of the work yourself the performance gains can be dramatic.
    • Getting Started With OpenDoc Storage by Vincent Lo. OpenDoc storage is a departure from what you’re used to: it needs to support storing different kinds of data, written by different part editors, in the same file or container.
    • Sound Secrets by Kip Olson. These less obvious features of the Sound Manager will help improve your application’s use of sound.
    • Guidelines for Effective Alerts by Paige K. Parsons. This article elaborates and expands on the guidelines for the consistent and correct usage of alerts.
    • Printing Images Faster With Data Compression by David Gelphman. PostScript Level 2 printers can accept JPEG-compressed image data directly, which can greatly improve printing speed. Here’s what you need to know to take advantage of this ability.
    • The New Device Drivers: Memory Matters by Martin Minow. Using PrepareMemoryForlO to set up memory for data transfers to or from other devices is a complex — but very important — process. This walkthrough points out traps and pitfalls along the way

1996 and 1997: Issues 25 to 29

  1. March 1996 (Bookmark CD 25)
    • Generating QuickTime VR Movies From QuickDraw 3D by Pete Falco and Philip McBride. QuickTime VR movies don’t have to be created with a real camera; you can instead generate the necessary images with a 3D graphics system like QuickDraw 3D. Here’s how.
    • Flicker-Free Drawing With QuickDraw GX by Hugo M. Ayala. This article discusses the causes of flicker in graphics and animation applications and presents a package for doing memory-efficient, flicker-free drawing with QuickDraw GX.
    • NURB Curves: A Guide for the Uninitiated by Philip J. Schneider. QuickDraw 3D includes NURB curves among its geometries, but you need to understand a little about the underlying NURB model to use them effectively. This intuitive treatment of NURB curves tells you what you need to know.
    • Using C++Exceptions in C by Avi Rappoport. Exceptions in C++ provide a powerful and useful way to handle errors and other unexpected conditions. But C programmers can take advantage of them as well, since C is (mostly) a subset of C++.
    • Country Stringing: Localized Strings for the Newton by Maurice Sharp. Although version 1.5 of the Newton Toolkit provides some built-in support for localizing strings, organizing the different sets of strings is still problematic. Or rather, it was until now.
    • Print Hints: QuickDraw GX Breaks the Space Hack by Dave Polaschek. With QuickDraw GX around, downloading fonts to PostScript printers is a little different.
    • Graphical Truffles: The Display Manager by Mike Marinkovich. The Display Manager simplifies gathering information about the computer’s displays, and also lets you track changes made by the user.
    • According to Script: Properties and Preferences by Cal Simone. Some advice on two problematic areas of scripting support.
    • MPW Tips and Tricks: Using ToolServer From CodeWarrior by Tim Maroney. Combining ToolServer with CodeWarrior’s new plug-in compiler architecture proves fruitful.
    • The Veteran Neophyte: Killing Time Killers by Bo3b Johnson. Are computers taking up too much of your time? Here are some tips to help get it back.
    • KON& BAL’S Puzzle Page: Printing, Patching, and Fonts by Dave Hersey and Cameron Esfahani. Is there no end to the mystery, intricacy, and depth of the Macintosh? Apparently not.
  2. June 1996 (Bookmark CD 26)
    • Planning for Mac OS 8 Compatibility by Steve Falkenburg, Mac OS 8 brings changes that may affect your code. This article discusses the compatibility ramifications of Mac OS 8 and gives some sound advice for how to get your code ready now.
    • Connecting Users With QuickTime Conferencing by Dean Blackketter. QuickTime Conferencing allows users to share time-based data such as video and sound. Here are the basics.
    • OpenDoc Parts and SOM Dynamic Inheritance by Éric Simenel. Although you don’t need to know much about SOM to write OpenDoc parts, with a little knowledge about this underlying technology you can do some very useful things.
    • Adding Custom Data to QuickDraw 3D Objects by Nick Thompson, Pablo Fernicola, and Kent Davidson. By defining your own attribute and element types, you can attach custom data to QuickDraw 3D objects. This flexibility opens up a world of new possibilities, a few of which are explored in this article.
    • 64-Bit Integer Math on 680×0 Machines by Dale Semchishen. There’s a 64-bit library built into the Toolbox on the Power Macintosh, and there’s also one built into QuickDraw GX. Finally, here’s a library that will work on any Macintosh, using built-in routines if available.
    • Graphical Truffles: Dynamic Display Dilemmas by Kent Miller and Cameron Esfahani. How your application can live copacetically with the Display Manager.
    • MPW Tips and Tricks: Scripted Text Editing by Tim Maroney. An overview of MPW’s powerful, scriptable text editing capabilities.
    • According to Script: Attaching and Embedding Scripts by Cal Simone. Integrating scripts in your application can have a big payoff for your users.
    • Balance of Power: Sleuthing Through Your Code by Dave Evans. Debugging is a lot like being a detective.
    • Print Hints: The Top 10 Printing Crimes Revisited by Dave Polaschek. Despite our best efforts, developers continue to commit printing crimes. We’re not giving up.
    • The Veteran Neophyte: Manual Labor by Jim Mensch. Lots of activities have hidden lessons that can be applied to programming — for example, rebuilding a car engine.
    • KON& BAL’S Puzzle Page: New World Order by Cameron Esfahani and Alex Rosenberg. Playing Marathon during work hours is not only justifiable but can actually prove fruitful.
  3. September 1996 (Bookmark CD 27)
    • The Speech Recognition Manager Revealed by Matt Pallakoff and Arlo Reeves and Adding Speech Recognition to an Application Framework by Tim Monroe. With these two articles, you’ll have your application recognizing speech in no time. The first is an introduction to the long-awaited API for speech recognition, and the second is an example of adding basic speech recognition capabilities to a PowerPlant application. Listen up!
    • Working With OpenDoc Part Kinds by Tantek Çelik and Dave Curbow. Part kinds are like file types, only more so, and the choices you make about which part kinds to support will have a profound effect on users’ experiences with your part editor.
    • Using Apple Guide 2.1 With OpenDoc by Peter Commons. Apple Guide 2.1 has been extended to work well in OpenDoc’s brave new world of compound documents and processes within processes. Here’s a look at the new features and how to take advantage of them.
    • Mac OS 8 Assistants in System 7 Applications by José Arcellana and Arno Gourdol. Assistants will provide interview-based help in Mac OS 8, guiding users through complex tasks. This article gives some tips on designing an assistant and shows how you can implement one now, under System 7.
    • Game Controls for QuickDraw 3D by Philip McBride. First-person 3D applications, whether games or 3D modeling systems, need to constantly move the camera to reflect the changing point of view of the player. You too can inflict vertigo on your users.
    • Print Hints: The All-New LaserWriter Driver Version 8.4 by Dave Polaschek. The new version of the LaserWriter driver is way different. Will your application break?
    • The Opendoc Road: Facilitating Part Editor Unloading by Vincent Lo. Part editors are unloaded automatically when they’re not needed, but your editor can help.
    • Balance of Power: Stalking the Wild Defect by Dave Evans. A tour through the dangerously twisted jungle of the Power Macintosh. Please keep your head and arms inside at all times.
    • Graphical Truffles: A Library for Traversing Paths by Daniel I. Lipton. Parsing QuickDraw GX geometric shapes takes a bit of code, but it’s already been written for you.
    • The Veteran Neophyte: Your Friend the Drill Sergeant by Dave Johnson. Learning to shoot pool isn’t anything like learning to program computers. Right?
    • KON & BAL’S Puzzle Page: QuickTime Quandary by Konstantin Othmer and Bruce Leak. More Macintosh madness from the MacsBug mentors. There’s a possibility you might actually score on this one!
  4. December 1996 (Bookmark CD 28)
    • Coding Your Object Model for Advanced Scriptability by Ron Reuter. Basic support for an Apple event object model isn’t too tough, but supporting more complex scripts takes some planning, and can trip you up in subtle ways if you’re not careful. This advice will help you out.
    • New QuickDraw 3D Geometries by Philip J. Schneider. QuickDraw 3D 1.5 includes several useful new geometric primitives. This article introduces the new primitives and discusses the differences among the various polyhedral primitives, both new and old.
    • QuickDraw GX Line Layout: Bending the Rules by Daniel I. Lipton. The typographic capabilities of QuickDraw GX are without peer, but until now drawing that beautiful text along an arbitrary path took a concerted effort. Here’s a library that makes it easy to do.
    • MacApp Debugging Aids by Conrad Kopala. Programming with a framework saves time and effort, but debugging can be difficult, since there’s a lot going on beneath the surface. These techniques for detecting problems in MacApp programs can help.
    • Chiropractic for Your Misaligned Data by Kevin Looney and Craig Anderson. Misaligned data accesses on PowerPC processors can be very expensive. Two tools that will help you detect misalignment problems are presented here, along with some advice on avoiding misalignment in the first place.
    • The Opendoc Road: OpenDoc Memory Management and the Toolbox by Troy Gaul and Vincent Lo. Managing memory allocation in your OpenDoc part editor can be a little tricky.
    • Print Hints: Safe Travel Through the Printing Jungle by Dave Polaschek. Printing is often much more complex than it needs to be. By keeping it simple and staying on the well-trod path, you can protect yourself.
    • Be Our Guest: Source Code Control for the Rest of Us by D. John Anderson and Alan B. Harper. Source control doesn’t need to be complex, as the simple tools presented here will show.
    • MPW Tips and Tricks: Automated Editing With StreamEdit by Tim Maroney. The MPW tool StreamEdit provides you with powerful, flexible, scriptable text editing, at the price of just a little complexity.
    • The Veteran Neophyte: Confessions of a Veteran Technical Writer by Tim Monroe. Enlightening trade secrets from someone who writes the documentation we all depend on.
    • KON &BAL’S Puzzle Page: Folder Fun by Konstantin Othmer and Bruce Leak. Is a puzzle without a solution really a puzzle? Only you can decide. Those divas of debugging run us through the wringer once again.
  5. March 1997 (Bookmark CD 29)
    • Easy 3D With the QuickDraw 3D Viewer by Nick Thompson. The QuickDraw 3D Viewer will allow users to view and manipulate 3D objects in your application with a standard, intuitive interface. Implementing the Viewer, which has been enhanced in QuickDraw 3D 1.5, requires only a few extra calls.
    • Gearing Up for Asia With the Text Services Manager and TSMTE by Tague Griffith. Supporting the Text Services Manager (TSM) allows your application to transparently make use of the wide variety of text input methods required by 2-byte languages like Chinese, Japanese, and Korean. And TSMTE makes support of TSM a simple matter.
    • High-Performance ACGIs in C by Ken Urquhart. Most simple ACGI (Asynchronous Common Gateway Interface) programs are written in AppleScript, but for greater speed or for handling more than one request at a time, a high-level language like C is more suitable. This article presents a C shell that you can use to build your own high-performance ACGIs.
    • Using Newton Internet Enabler to Create a Web Server by Ray Rischpater. The Newton Internet Enabler (NIE) lets loose a flood of possible applications by bringing the industry-standard TCP/IP protocol stack to the Newton platform. A working Web server illustrates the details of using NIE.
    • The OpenDoc Road: Making the Most of Memory in OpenDoc by Troy Gaul and Vincent Lo. It isn’t always obvious how to make efficient use of memory in the OpenDoc environment; these basic guidelines will help.
    • Print Hints: Sending PostScript Files to a LaserWriter by Dave Polaschek. Lots of applications send PostScript files directly to LaserWriters, but many of them do it the wrong way. Here’s the right way.
    • According to Script: User Interactions in Apple Event-Driven Applications by Cal Simone. Cal is back, this time with advice on how and when to interact with the user in response to Apple events.
    • The Veteran Neophyte: Digital Karma by Joe Williams. An attempt to make an online society self-moderating raises some interesting questions and leads to some unexpected twists. Even Elvis enters into the picture.
    • KON & BAL’S Puzzle Page: AppendDITL Apoplexy by Martin-Gilles Lavoie and Bo3b Johnson. Our guest puzzlers take on a problem that, while innocuous on the surface, proves to be deep and dastardly. It involves dialog boxes. Need we say more?
    • Symbiotic Applications for the Apple Network Server by Chris Jalbert. The Apple Network Server running AIX is designed for high performance, reliability, and easy integration into Mac OS environments. The symbiotic application architecture is a client-server application framework that you can use to provide a Mac OS user interface to the powerful capabilities of the Network Server. And the Really Good Thing is that your Macintosh programming skills are all you need to write symbiotic applications.
    • Timing on the Macintosh by Martin Minow. This article introduces the rich and flexible set of timing operations currently available on the Macintosh, which allow you to measure elapsed time, record the time an event occurs, and schedule actions for future times. Also includes a few Java timing techniques.
    • According to Script: Vocabulary Advice — Revised by Cal Simone. One of the beautiful things about AppleScript is that it allows you to do nearly anything you want in your vocabulary; however, just because it allows something doesn’t mean that you should do it. Included here are miscellaneous pieces of vocabulary advice: words to avoid in your vocabulary. Expanded to include twice the advice as before.
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.