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!

 
AAPL
$95.60
Apple Inc.
-2.55
MSFT
$43.16
Microsoft Corpora
-0.42
GOOG
$571.60
Google Inc.
-15.82

MacTech Search:
Community Search:

Software Updates via MacUpdate

OneNote 15.2 - Free digital notebook fro...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that’s too important to forget. Whether you’re at... Read more
iStat Menus 4.22 - Monitor your system r...
iStat Menus lets you monitor your system right from the menubar. Included are 8 menu extras that let you monitor every aspect of your system. Some features: CPU -- Monitor cpu usage. 7 display... Read more
Ember 1.8 - Versatile digital scrapbook....
Ember (formerly LittleSnapper) is your digital scrapbook of things that inspire you: websites, photos, apps or other things. Just drag in images that you want to keep, organize them into relevant... Read more
OmniPlan 2.3.6 - Robust project manageme...
With OmniPlan, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success,... Read more
Command-C 1.1.1 - Clipboard sharing tool...
Command-C is a revolutionary app which makes easy to share your clipboard between iOS and OS X using your local WiFi network, even if the app is not currently opened. Copy anything (text, pictures,... Read more
Knock 1.1.7 - Unlock your Mac by knockin...
Knock is a faster, safer way to sign in. You keep your iPhone with you all the time. Now you can use it as a password. You never have to open the app -- just knock on your phone twice, even when it's... Read more
Mellel 3.3.6 - Powerful word processor w...
Mellel is the leading word processor for OS X and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
LibreOffice 4.3.0.4 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
Freeway Pro 7.0 - Drag-and-drop Web desi...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With it's user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
Drive Genius 3.2.4 - Powerful system uti...
Drive Genius is an OS X utility designed to provide unsurpassed storage management. Featuring an easy-to-use interface, Drive Genius is packed with powerful tools such as a drive optimizer, a... Read more

Latest Forum Discussions

See All

Dawn of the Immortals Review
Dawn of the Immortals Review By Jennifer Allen on July 31st, 2014 Our Rating: :: RESPECTABLE EXPLORATIONUniversal App - Designed for iPhone and iPad Dawn of the Immortals might not re-invent the wheel, but it does tweak it a little... | Read more »
80 Days Review
80 Days Review By Jennifer Allen on July 31st, 2014 Our Rating: :: EPIC ADVENTUREUniversal App - Designed for iPhone and iPad A fantastic and fascinating re-envisioning of the classic novel by Jules Verne, 80 Days is a delightful... | Read more »
Battleheart Legacy Guide
The world of Battleheart Legacy is fun and deep; full of wizards, warriors, and witches. Here are some tips and tactics to help you get the most enjoyment out of this great game. | Read more »
Puzzle Roo Review
Puzzle Roo Review By Jennifer Allen on July 31st, 2014 Our Rating: :: PUZZLE-BASED TWISTUniversal App - Designed for iPhone and iPad A different take on the usual block dropping puzzle game, Puzzle Roo is quite pleasant.   | Read more »
Super Crossfire Re-Release Super Crossfi...
Super Crossfire Re-Release Super Crossfighter Coming Soon, Other Radiangames Titles Go 50% Off Posted by Ellis Spice on July 31st, 2014 [ | Read more »
Hexiled Review
Hexiled Review By Rob Thomas on July 31st, 2014 Our Rating: :: HEX SELLSUniversal App - Designed for iPhone and iPad In space, no one can hear you… spell? Hexiled is a neat concept for a word scramble puzzle, but it doesn’t go too... | Read more »
Summoners War: Sky Arena Passes 10 Milli...
Summoners War: Sky Arena Passes 10 Million Installs! Posted by Jessica Fisher on July 31st, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Deep Loot Review
Deep Loot Review By Jennifer Allen on July 31st, 2014 Our Rating: :: DIVE DEEPUniversal App - Designed for iPhone and iPad Dive deep in this fun explore-em-up that’s a little grind heavy but ultimately quite entertaining.   | Read more »
Despicable Me: Minion Rush is One Year O...
Despicable Me: Minion Rush is One Year Old, Gets its Biggest Update Yet Posted by Jennifer Allen on July 31st, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Fish & Shark Review
Fish & Shark Review By Jordan Minor on July 31st, 2014 Our Rating: :: FLAPPY FISHUniversal App - Designed for iPhone and iPad Fish & Shark’s beauty is only scale deep.   | Read more »

Price Scanner via MacPrices.net

All Over For Tablets Or Just A Maturing, Evol...
CNN’s David Goldman weighs in on tablet sector doom and gloom, asking rhetorically: “Is this the beginning of the end for the tablet?” Answering that, he contends that hysteria and panic are... Read more
Letterspace 1.0.1 – New Free iOS Text Editor...
Bangkok, Thailand based independent developer Sittipon Simasanti has released Letterspace, a new text editor for iPhone, iPad, and iPod touch devices. Letterspace is a note taking app with an... Read more
Save up to $130 on an iPad mini with Apple re...
The Apple Store has Certified Refurbished 2nd generation iPad minis with Retina Displays available for up to $130 off the cost of new models, starting at $339. Apple’s one-year warranty is included... Read more
iPad Cannibalization Threat “Overblown”
Seeking Alpha’s Kevin Greenhalgh observes that while many commentators think Apple’s forthcoming 5.5-inch panel iPhone 6 will cannibalize iPad sales, in his estimation, these concerns are being... Read more
Primate Labs Releases July 2014 MacBook Pro P...
Primate Labs’ John Poole has posted Geekbench 3 results for most of the new MacBook Pro models that Apple released on Tuesday. Poole observes that overall performance improvements for the new MacBook... Read more
Apple Re-Releases Bugfixed MacBook Air EFI Fi...
Apple has posted a bugfixed version EFI Firmware Update 2.9 a for MacBook Air (Mid 2011) models. The update addresses an issue where systems may take longer to wake from sleep than expected, and... Read more
Save $50 on the 2.5GHz Mac mini, plus free sh...
B&H Photo has the 2.5GHz Mac mini on sale for $549.99 including free shipping. That’s $50 off MSRP, and B&H will also include a free copy of Parallels Desktop software. NY sales tax only. Read more
Save up to $140 on an iPad Air with Apple ref...
Apple is offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. Stock tends to come and go with some of these... Read more
$250 price drop on leftover 15-inch Retina Ma...
B&H Photo has dropped prices on 2013 15″ Retina MacBook Pros by $250 off original MSRP. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.3GHz Retina MacBook Pro: $2249, $250 off... Read more
More iPad Upgrade Musings – The ‘Book Mystiqu...
Much discussed recently, what with Apple reporting iPad sales shrinkage over two consecutive quarters, is that it had apparently been widely assumed that tablet users would follow a two-year hardware... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Sr. Product Leader, *Apple* Store Apps - Ap...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.