TweetFollow Us on Twitter

Jun 98 Viewpoint

Volume Number: 14 (1998)
Issue Number: 6
Column Tag: Viewpoint

June 1998 Viewpoint

by Nicholas C. "nick.c" DeMello <editor@mactech.com>

Creating great software requires an odd mixture of humility and arrogance. The art of programming involves studying complex behaviors, accomplishing them with efficient logical processes, and expressing that logic so simply and clearly that even a machine can enact it. For someone to consider teaching a hunk of silicon the skill of piloting an airplane, the subtleties of quantum mechanics, or even the simple trick of announcing "hello world"... well, a little arrogant confidence is required. But the best among us temper their confidence with the realization that there is no profit in reinventing the wheel, that we can never foresee all the possible applications of our product, and that bugs happen. The outrageous confidence needed to try something untried and the necessary caution required to turn that something into reliable and efficient code is epitomized by the Mac OS and the modular, extendible program design underlying it. In this issue, MacTech presents a number of articles on modular software design and plug-in technologies. I want to introduce just a few of them here.

It's been estimated that the Lisa project, the precursor of today's Macintosh, took over 200 man years to accomplish. Lisa owed significantly to ground breaking work in the design of the WIMP (windows, icons, mouse, pointer) GUI developed at Xerox. While the WIMP development at Xerox's Palo Alto research center (PARC) was occurring, the term "object-oriented" was being coined in the same facility. PARC developed the Smalltalk language - arguably the purest representation of the object-oriented ideal - at the same time they were working on the WIMP interface. The influence of object oriented design on Xerox's GUI is clear. That same influence affected Lisa and is an integral part of today's Mac OS.

The Macintosh operating system was broken down into a multitude of smaller, simpler goals. Many of these objectives are represented by independent code modules or runtime libraries. By breaking projects down into simple, self-contained and independently compiled objects bugs are isolated and easier to locate, while project goals become clearer and easier to define. It also makes your project adaptable and expandable. Consider all the powerful technologies, never dreamed of by the Lisa engineers, that have been added to the Macintosh operating system.

Your next project may not be as intimidating as writing a new operating system, but then it might feel that way. You probably will apply a modular design to that project, breaking the code down into smaller and more manageable pieces represented by different classes or code files. But, what if you took that a step farther and isolated fundamental logic to a separately compiled removable, replaceable plug-in? Not only would your next update be a little easier, your code base and bug space a little smaller, but I bet you've already started thinking about entirely different logic you could offer as a second plug-in. Rest assured, if you haven't - one of your users will. In this issue, Joe Zobkiw describes the fundamentals of adding a plug-in architecture to your next application. By providing a plug-in architecture you, or your more creative customers, can expand and adapt your product in new and exciting directions.

Or consider the problem from the other side. Perhaps your goal can best be achieved by creating new logic for an existing application. Tools like Resorcerer, FileMaker Pro, Netscape and CodeWarrior offer plug-in architectures and therefore opportunities to tune these powerful tools to your most specific needs. They also offer opportunities in that you can quickly create valuable companion products for existing markets. Photoshop is an essential tool for graphic artists, establishing a huge market for plug-in companion products like Kai's Power Tools and Alien Skin's Eye Candy. To get an idea of how easy it can be to create a plug-in, take a look at Steve Sheets article in this issue on crafting plug-ins for BBEdit - the Swiss army chainsaw of text editors.

Modular design isn't only about plug-ins. Most programmers have a folder someplace. That folder is filled with snippets and example code (a class for implementing a preferences file, a linked list code module, or just a snippet showing how to spin a cursor). Odds are you don't even read most of that code anymore, it's just copy and paste - plug and play. That's the way it should be. Detroit doesn't reinvent the wheel every time they build a new car and we don't need to reinvent Mercutio every time we want to create dynamic menus.

Ramon Felciano's Mercutio MDEF is just one example of elegant and powerful reusable code. Another is the SpriteWorld library. SpriteWorld let's you drop a wealth of powerful and intuitive graphics code right into your application. In this issue Stefan Sinclair explores SpriteWorld libraries and shows you the fundamentals of introducing spectacular effects into your next program. Are you curious what other mechanisms there are for incorporating libraries into your Macintosh programs or offering libraries to other developers? Jeremy Nelson's article provides a concise overview of the possibilities.

The technologies and opportunities for plug-in products and precompiled libraries on the Macintosh are varied and quietly growing. We hope that some of the information you find in this issue will help you to explore and profit from those opportunities. Enjoy!in this issue will help you to explore and profit from plug-ins. Enjoy!

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Dispatch is bringing its superhero shena...
If you were anywhere online last year, then you would have no doubt heard of Dispatch, and been flooded with videos of it. With its star-studded cast and unrelenting humour, it fast became a hit, racking up over four million downloads. And it is a... | Read more »
5 reasons to sink your teeth into VAMPIR...
On October 28, Netmarble will globally launch VAMPIR, its latest and most macabre MMORPG, plunging players into a Gothic world of vampires, sorcerers and cursed creatures of the night. Built around blood, fear and large scale battles, the MMORPG... | Read more »
Gundam Blitz Order opens registration fo...
It would appear that video game developers are delving into my childhood and making idle games from my favourite TV shows. First, Bandai completely whiffed with Digimon Up, perhaps the single biggest miss of a beloved franchise in recent memory. Now... | Read more »
The Traitors Interactive Game lets you l...
With the second season of The Celebrity Traitors in full swing, the world is once more enthralled by just how good a liar our heroes are. I don’t watch it, but I hope James Blunt wins. The premise does intrigue me, however, and thanks to Fusebox... | Read more »
Dissidia Duellum Final Fantasy brings in...
For all his successful manipulations and successes through Final Fantasy 9, I never really liked Kuja. And it's not like I dislike him; more I nothing him. But that's just me; the vast majority of the fandom adore him, and they are in luck, for Kuja... | Read more »
Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »

Price Scanner via MacPrices.net

B&H Slashes $400 Off 14″ M5 Pro MacBook P...
B&H has launched a substantial new discount on Apple’s 14-inch M5 Pro MacBook Pro, taking $400 off the Space Black configuration with 24GB RAM and a 1TB SSD. Regularly priced at $2499, the 14-... Read more
Take $50 off iPad at Amazon, prices start at...
Amazon again has 11th-generation A16 WiFi iPads in stock on sale for $50 off MSRP, starting at $399. Shipping is free: – 11″ 11th-generation 128GB WiFi iPads: $399 $50 off MSRP – 11″ 11th-generation... Read more
Amazon Lowers 13″ M5 MacBook Air to $1149, No...
Amazon has increased its discounts on Apple’s 13-inch M5 MacBook Air, dropping the standard 16GB/512GB configuration to just $1149. Apple sells this configuration for $1299, so Amazon’s latest price... Read more
Amazon and B&H Slash Mac mini Prices, M6...
Amazon and B&H are offering new discounts on Apple’s M6 and M5 Pro Mac minis, with savings reaching $149.01 and prices starting at just $779. Configuration Apple MSRP Retailer Sale Price Savings... Read more
Amazon Takes Up to $150 Off 15″ M5 MacBook Ai...
Amazon has launched new discounts on Apple’s 15-inch M5 MacBook Airs, with savings of up to $150 and prices starting at just $1399. Configuration Apple MSRP Amazon Price Savings 15″ M5 16GB/512GB $... Read more
Amazon Takes Up to $150 Off 13″ M5 MacBook Ai...
Amazon has launched a new round of discounts on Apple’s 13-inch M5 MacBook Airs, with savings of up to $150 and prices starting at just $1199. Configuration Apple MSRP Amazon Price Savings 13″ M5... Read more
Verizon Launches iPhone Duo Pre-Orders With N...
Verizon has opened pre-orders for Apple’s new iPhone Duo, the company’s first foldable iPhone, with prices starting at $1999.99 and a new no-trade-in promotion available through its Simplicity Plan.... Read more
Amazon Drops 14″ M5 Max MacBook Pro to $3299,...
Amazon has dropped the price of Apple’s 14-inch M5 Max MacBook Pro with 36GB RAM and a 2TB SSD to $3299, saving a substantial $800 off Apple’s $4099 MSRP. This is one of the strongest discounts we’ve... Read more
Amazon Drops 14″ M5 Pro MacBook Pro with 2TB...
Amazon has dropped the price of Apple’s 14-inch M5 Pro MacBook Pro with 24GB RAM and a 2TB SSD to just $2399, saving a substantial $600 off Apple’s $2999 MSRP. This is one of the best discounts we’ve... Read more
B&H Takes Up to $220 Off New M5 Max Mac S...
B&H has launched new discounts on Apple’s M5 Max Mac Studio, with savings of up to $220 and prices starting at just $2299. Configuration Regular Price B&H Price Savings M5 Max 18-Core CPU/32-... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.