• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT
Volume Number:7
Issue Number:5
Column TagTools of the Trade

IAC with UserLand's Toolkit

By Dave Kelly, MacTutor Editorial Staff

Perhaps you have heard about interapplication communication. First, look at the way most applications communicate. This investigation will turn out to be an analysis of the evolution of the Macintosh. Up to now communications between applications have been done by the “Export-Import” method. That is, data is exported from the first application to the clipboard or an external file and then pasted or imported into the second application. This method usually requires a user to “baby-sit” the operation. Cut and paste operations don’t make any assumptions about what application is doing the paste and passes on very little knowledge of where the data came from. At most, all that is known is the type of data that is being pasted (TEXT, PICT, etc.).

Of course, ingenious utilities such as QuicKeys and MacroMaker can “automate” some of these operations. These macro utilities have been a great help, but can’t possibly do everything. They extend applications to make them appear to have more features.

Applications running with MultiFinder have had a slight edge up to now when it comes to communicating with each other. A few companies have come up with their own system of communication between applications. For example, you can link data in MS Word to data in MS Excel and changes in the data are reflected in the linked application. There are other “integrated” software packages available. These “custom” applications are designed to work with each other. The problem is that they don’t work outside the set of integrated applications.

With MultiFinder the user can load two or more applications into memory at once, but the only thing that is stopping the applications from talking to one another is the lack of a little bit of software to hook them up. Have you ever written an application and wanted to add the text processing capabilities of MS Word, the communications capabilities of AppleLink and drawing tools of MacDraw II? Since it usually isn’t so smart to “reinvent the wheel”, wouldn’t it be good if you could link you favorite applications together to have the best of all worlds?

The idea of IAC is much more than integrating applications. IAC gives applications the power to ask other applications to perform tasks for them and then return the results. The user can combine the features of several different programs to create new functionality that would otherwise be unavailable. It may help to imagine that you are adding a scripting system to your application. Scripts sent to other applications could look in menus and dialog boxes and assume full control over another application. The difficulty is that IAC must be implemented in the client and server applications before any intercommunication can take place.

Until now the only form of IAC was in custom programs that only talked to each other. System 7.0 defines a common method for applications to communicate. Apple calls it AppleEvents. AppleEvents are only available under system 7.0, which brings up a complication for developers that want their applications to support both System 6.0 and 7.0. There are still many 1 Meg Macintosh systems in use that will still be running 6.0 systems for some time to come.

In January (1991) a new software company called UserLand Software, Inc. released new software support for IAC. The company has been quiet until last November when they disclosed their development of the UserLand IAC Toolkit that first shipped on December 31st. There are several advantages with working with UserLand IAC Toolkit. In particular your application can communicate using System 6.0 or System 7.0 and possibly future operating systems in the future. There are implications that IAC will be available for MS-DOS, Windows, or Unix. The IAC Toolkit was designed so that your application can be driven by a user scripting system. The main advantage is that the toolkit provides an IAC environment that is not biased toward any one platform, yet provides one that will be supported on major platforms like System 7.0.

The Toolkit is simpler to use than AppleEvents (System 7.0). The manual is an indication of this simplicity. The introduction gives a thorough overview of IAC and some real examples of how it could be used. The step by step installation tells what files will be used for using the Toolkit with THINK C version 4.0 or MPW C 3.1 or later. When using system 6.0 the UserLand INIT is required to be installed in your system folder. Next, four sample programs are provided with source code so you can see how it’s done. Implementation of the Toolkit with your projects is presented in a detailed format that shows how to add IAC capability to your applications. The last half of the 71 page manual is a complete reference of the UserLand IAC Toolkit library. If you become familiar with the manual, you should have no problem implementing UserLand IAC. The IAC toolkit adds about 12K to the size of you program. That’s not counting the UserLand INIT that takes about 6K.

Before you get started writing your IAC applications, you should be aware of some costs of IAC. Implementation of UserLand IAC comes at the reasonable price of $395 (retail price, street prices are possibly lower). Distributing IAC using UserLand IAC Toolkit will require that you get a distribution license from UserLand Software before shipping. The cost is $4000 for a fully-paid, royalty-free license to include the Toolkit with as many of your company’s applications as you like. If that doesn’t sound bad enough, they put a 5 year term on the license so that in 1995 you’ll have to renew the license or a new one for a more powerful product that 1995 may produce. When you purchase the distribution license, UserLand will deliver the complete C source code so you can support IAC better especially as Apple introduces new hardware and system software.

The license fee sounds excessive, but in the price UserLand has taken into account their development expenses, developer needs, and future development of cross-platform and network-aware versions In addition, they provide excellent product support by getting involved with IAC developers without an additional charge for support. You’ll need to evaluate the pros and cons vs. cost to decide if the toolkit is the way for you to go. Keep in mind that there will be a bit more of a learning curve to implement AppleEvent IAC for system 7.0. than to implement UserLand IAC. If you’re a small developer and feel that the license is too excessive, you may want to negotiate a “technology exchange” with UserLand, if you have any technology to exchange.

In contrast, other “toolkits” have a much less costly license agreement. Many products such as the Programmer’s Extender and the Extender DialogHandler from Invention Software allow you to distribute freely and/or market programs that use their toolbox if no portions of the source code library, user manuals or other documentation is distributed. UserLand should review their license policy to encourage more small developers to want to use it. I might suggest a license with limited support or without the source code for small developers. It’s too bad, but UserLand’s license was designed for larger commercial and in-house developers. The small struggling developers just have to pay the price like everybody else. Remember, you can still work with the toolkit for the $395 price and don’t have to license your product until it ships. If your product is worth it’s weight, you should be able to come up with the license fee. Dave Winer, President of UserLand puts it this way: “We’ve put a lot of thought into the pricing of this product. If it’s out of reach for some developers, and they don’t have any technology they want to exchange, so be it. We hope at least those developers will consider putting System 7.0 AppleEvents into their products. We believe IAC is worth doing even if it’s only for System 7.0, and even if the developer has to do more work than absolutely necessary. On the other hand, we think that any developer who passes on UserLand IAC Toolkit is being penny-wise and pound-foolish, and missing a great opportunity to make their software more useful and more competitive.”

In summary, the UserLand IAC Toolkit provides support for IAC in System 6.0 not available elsewhere. It has been designed to support multi-platforms including System 7.0. You need the toolkit if you want IAC support in both System 6.0 and 7.0. Although the Userland toolkit is easier to use, the cost to license it for distribution may be a trade off for the time it takes to develop a similar IAC application using System 7.0 AppleEvents. You’ll have to be the judge of that. The toolkit doesn’t support other languages except C at this time.

Userland Software, Inc.

490 California Avenue

Palo Alto, CA. 94306

Phone: 415 325-5700

FAX 415-325-9829

AppleLink USERLAND.DTS

Price: $395 + $4000 license fee (5 year term) to distribute applications that use the Userland IAC Toolkit.

Requires: THINK C version 4.0 or later or MPW C 3.1 or later; a Macintosh computer with at least 2MB RAM, running MultiFinder, System 6.X or System 7.X; a hard disk.

OTHER STUFF

calenDAr™ from Psybron Systems is not just a calendar DA, but is a calendar with fully programmable alarms. If you didn’t think LifeGuard would provide enough for you (March 1991 MacTutor, p.79), calenDAr may provide similar reminders for you. It doesn’t count keystrokes for you, but you can have calenDAr remind you with either a sound and/or a message dialog on periodic intervals or on a one time basis. It’s set up to record new sounds or audio messages for you with MacRecorder or the built in sound support of the Macintosh LC or SI.

The calendar correctly displays calendars for months between January 1583 (the first month of the first full year in which the Gregorian calendar was used) through December 99,999. All major US, Canadian and Jewish holidays are displayed for every year as well as other special dates such as beginning of spring, summer, fall, and winter.

Psybron Systems says that calculating the dates of holidays like Hanukkah and Easter aren’t as easy as it might seem, but calenDAr does an excellent job of it. It’s a spiffy little DA that you might find useful.

Psybron Systems, Inc.

1116 Smith Street Suite 206

Post Office Box 431

Charleston, WV. 25322-0431

(304) 340-4260 or (800) 866-4260

FAX: (304) 345-3312

Price: $49.95 plus shipping.

Update on bugs that were reported in the Programmer’s Assistants from Aladdin Systems: The Bystander bug has been corrected. It was a memory management problem. All of the DAs are being updated to support System 7.0.

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live