TweetFollow Us on Twitter

Mac Prog FAQ Review

Volume Number: 13 (1997)
Issue Number: 2
Column Tag: Tools Of The Trade

Macintosh Programming FAQs

By Edward Ringel

Lots of information in a good package

Needed: A Guide for the Perplexed

Recalling my undergraduate course in organic chemistry, my textbook went through a rather lengthy description of a synthesis. I would read it and I would think I understood it. I'd then go on to the next page, and an equally daunting process would be left as "an exercise for the reader," implying that at this point the logic should be pretty straightforward and any dummy should be able to figure it out. It would be at this point that I would realize that I wasn't as smart as I thought.

So it is with Mac programming. The first time I tried to put a list in a dialog I carefully read through Inside Macintosh, Volume IV, and I crashed and burned when they started talking about event filter procedures and drawing procedures, with implementation left as an exercise for the programmer.

Things are different from 1986 and 1987, when the List Manager was young, and System 3.2/Finder 5.3 was new and exciting. There are numerous books and good examples of introductory techniques. There are very good guides to the proper construction of a Mac GUI, using standard design elements. Apple has improved its sample code considerably, and I would argue that it is fairly easy to get started if you are willing to spend the time.

The road gets rockier when we get to the next level of sophistication. How do you customize a menu? How do you get the Notification Manager to notify the user? How do you add the little things that make a program special and professional? Certainly, there is an accumulated lore and body of experience which is available on the Internet, in various college and university repositories, the Apprentice CD series, and even from Apple. However, the information is diffuse, often poorly documented, and highly variable in quality and content. For the "every man" mainstream programmer, the person using an unmodified MacHeader straight from Metrowerks or Symantec, bootstrapping to the next level of sophistication can involve an unreasonably steep learning curve.

Enter Mac Programming FAQs

Mac Programming FAQs, by Stephen Baker with Dave Mark, is this needed organized repository of more advanced programming techniques. It is a wonderful book. It consists of a 600 plus page book plus a CD (we'll get back to the CD contents in a bit.) After an introduction, the book consists of 650 frequently asked questions about Macintosh programming, each answered concisely and usually illustrated with code.

I enjoyed this book for several reasons. First, it is simply well written. Baker and Mark are a good team, and they used a terse, but easy to read style. There was little ambiguity in the presentation, but at the same time it was not technical or handbook-like; the information flowed freely from the page. Second, it is written in a single voice; the approach is that of one individual, and it is easy to stay tuned to the presentation. Third, the information was accurate. While there were a few typos and misstatements, there were very few errors of fact. Fourth, this book is a gold mine of information. I learned a heck of a lot of new stuff, and got a bunch of questions on some murky topics (for me, at least) answered concisely.

The book purports to address the needs of a wide spectrum of programming skill. While a few of the questions are those posed at the beginner level, the bulk of the book addresses advanced and intermediate programming techniques. I suspect that a beginning programmer who tried to attack this book would certainly get something out of it, but the experience would be akin to learning to swim at the deep end of the pool.

Topics

This book covers questions about mainstream programming. It does not cover networking issues, writing PCI card drivers, maximizing efficiency of QuickDraw GX printer drivers, etc. It does cover events, dialogs, lists, menus, printing, notification, windows, resources and the like. The book is organized along the lines of the various Managers. Typical questions include:

"How do I get the full path of a file referenced by a vRefNum, parent directory ID, and filename?" (File Manager.)

"How do I attach an icon to an application?" (Finder and Desktop.)

"How do I change the title of a menu in the menu bar after it has been installed?" (Menus.)

"Why can't I access QuickDraw globals like ‘thePort' anymore?" (QuickDraw: Drawing.)

"Given a handle to a resource, how can I determine which resource file it came from?" (Resources.)

"How do I draw dimmed (grayed out) text?" (Text: Fonts and Drawing.)

"How do I put a list in a Macintosh model dialog box?" (Lists and the List Manager.)

Some only take a line or two of text to answer. Others, such as the list question, took three or four pages. In general, I had a pretty good idea of how to do something once I had read the answer to the question. Questions are cross-referenced, with respect both to specific FAQs and other more general topics. The only serious criticism I have of this book is that it tries to address the Apple Event issue. I have found this to be one of the most difficult areas of mainstream Macintosh programming, and it seems almost silly to have a few pages of FAQs about this incredibly complex Manager. Fortunately, the authors have the sense to direct the reader to more appropriate, in-depth resources, and acknowledge the limited scope of coverage in the book.

Code

The great majority of articles include some code, even if it just shows how to call a Toolbox function. The code varies from a snippet to a short program, but in my experience it a) always illustrated the point and b) worked when ran. Examples tended to be simple enough to follow, but complex enough not to be trivial and to illustrate the demonstration points successfully. Baker and Mark resisted the temptation to throw in tricks and to hot dog; I think Apple would approve of just about every technique demonstrated. All coding and examples are in ANSI C. There is a short series of FAQs about Pascal versus C, which was the only departure from this observation.

A CD Too!

The CD has three components. First, it contains complete projects (Code Warrior) for the longer examples. This means source, project file, and resource, as well as a compiled executable. Second, snippets are contained within Simple Text files for use in any environment. Third, there is a searchable database that includes every question asked in the book, with its answer, similarly cross referenced. As I said above, I experimented extensively with the code, compiled and ran as advertised; the quality assurance on this material was very good. The database worked well and delivered as promised. If you like working from the screen and using a search engine better than using a book and an index, you'll be very happy with the database.

Can I Ask for Better?

Not really. Frankly, I think this is the best forty bucks I've spent in a long time. I feel as though I have the resources to make my programs more professional in appearance, and I will waste less time in future projects. Indeed, I suspect that it is people such as myself, the serious hobbyist/intermediate level programmer who will find this book the most valuable, precisely for the reasons I just stated. Enjoy!

Mac Programming FAQs, by Stephen H. Baker with Dave Mark. IDG Books, Foster City, CA. Copyright 1996. ISBN 0-7645-4001-7. List price $39.95.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

A beginner's guide to Spellbinders
Spellbinderslooks a heck of a lot like Clash Royale, but has an entirely different pace to it. As such, it can be difficult to adjust to. Just in case you've been playing way too much Clash Royale (and who hasn't), we've put together a bunch of... | Read more »
Camping With Grandpa (Education)
Camping With Grandpa 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Black Hole Joyrider (Games)
Black Hole Joyrider 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Guide your spacecraft through the gravity well of a powerful black hole using only your retro-thrusters and dwindling fuel... | Read more »
My Koi (Games)
My Koi 1.0 Device: iOS iPhone Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: My Koi is a beautiful and relaxing fish pond app. Customise and name each fish. Feed them daily. Watch them grow. Collect new fish.... | Read more »
Never Gone (Games)
Never Gone 1.0.2 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.2 (iTunes) Description: ###IMPPORTANT### Never Gone's HD art resources require devices with more than 1GB RAM, so please note that iPhone 4/4s, iPad 2/... | Read more »
INKS. (Games)
INKS. 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: From the makers of BAFTA-winning Lumino City comes INKS. INKS updates pinball for a new generation. It combines the joy of pinball with... | Read more »
How to maximise your profits in Bakery B...
Running a bakery can be an expensive venture. You’ll need to continuously upgrade your oven, your kitchen supplies, and even your ingredients to keep customers happy. Most of these renovations in Bakery Blitz cost a pretty penny, but we have a few... | Read more »
How to manage your time in Bakery Blitz
It can be tricky, especially when you risk burning your kitchen to the ground if you forget a cake in the oven, so make sure to use these time management tricks to keep your bakery running smoothly. Don’t collect the money right away [Read more] | Read more »
Model 15 (Music)
Model 15 1.0 Device: iOS iPhone Category: Music Price: $29.99, Version: 1.0 (iTunes) Description: The Moog Model 15 App is the first Moog modular synthesizer and synthesis educational tool created exclusively for iPad, iPhone and... | Read more »
How to deal with wind in Angry Birds Act...
Angry Birds Action! is a physics-based puzzler in which you're tasked with dragging and launching birds around an obstacle-littered field to achieve a set objective. It's simple enough at first, but when wind gets introduced things can get pretty... | Read more »

Price Scanner via MacPrices.net

Hybrid Tablets Meet Rising Demand for a Singl...
Rising demand for a new breed of hybrid tablets — 2 in 1 devices that function as either a laptop or a tablet — is shaking up the tablet market and contributing to a shift in the way owners are... Read more
Bausch + Lomb and IBM Collaborate on iPhone...
Global eye health company Bausch + Lomb, and IBM on Thursday announced a collaboration to develop the first app of its kind for iPhone and iPad for surgeons who perform cataract surgery. The... Read more
Apple & SAP Partner to Deliver New iOS Ap...
Apple and Walldorf, Germany based SAP have announced a partnership to revolutionize the mobile work experience for enterprise customers of all sizes, combining powerful native apps for iPhone and... Read more
New 12-inch 1.1GHz Rose Gold Retina MacBook o...
B&H Photo has the new 2016 12″ 1.1GHz/256GB Rose Gold Retina MacBook (sku MMGL2LL/A) on sale for $1199 including free shipping plus NY tax only. Their price is $100 off MSRP, and it’s the lowest... Read more
12-inch 128GB iPad Pros on sale for up to $10...
B&H Photo has 12″ 128GB WiFi iPad Pros on sale for up to $100 off MSRP, each including free shipping. B&H charges sales tax in NY only: - 12″ Space Gray 128GB WiFi iPad Pro: $899 $50 off MSRP... Read more
Global Tablet Sales Slump Continues, iPad’s F...
Another miserable showing for the global slate tablet category in calendar Q1/16, with global tablet shipments falling another 1ten percent to 46.5 million units during the according to Strategy... Read more
Revel Systems to Showcase iPad POS Platform w...
Revel Systems, specialists in iPad Point of Sale management solution for brick-and-mortar retail, food businesses and more, today announced that it will showcase its innovative iPad Point of Sale... Read more
13-inch 2.5GHz MacBook Pro on sale for $999,...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more
Apple refurbished 2015 iMacs available for up...
Apple now has a full line of Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are... Read more
Indian Smartphone Market Grows Annually by 12...
India’s smartphone market grew by 12 percent year-over-year, with 24.4 million units shipping in Q1 2016. The top five vendors stayed the same, with Samsung in the lead, followed by Micromax, Intex... Read more

Jobs Board

*Apple* Support Technician II - Worldventure...
…global, fast growing member based travel company, is currently sourcing for an Apple Support Technician II to be based in our Plano headquarters. WorldVentures is Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Automotive Sales Consultant - Apple Ford Linc...
…you. The best candidates are smart, technologically savvy and are customer focused. Apple Ford Lincoln Apple Valley is different, because: $30,000 annual salary Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.