TweetFollow Us on Twitter

Developing Developers
Volume Number:7
Issue Number:8
Column Tag:Tools of the Trade

Developing Developers

By Dave Kelly, MacTutor Editorial Board

So you wanna be a developer, eh?

Software is big business. Just take a look in your junk mail each week, not to mention the advertising in MacWeek, MacUser, and MacWorld. Everybody wants to get into the act especially when there is a buck to be made. Sometimes the pomposity of the “mainstream” software products makes the task of developing a product overwhelmingly complicated. The message here is: YOU CAN DO IT, TOO! The best part is you can have some help too.

MacTutor is often asked by new Macintosh users and developers what they should do to get started in learning to program the Macintosh. Some of you don’t really care about selling your own product, but just want to enjoy programming for the sake of programming. Programming is fun so why not?

What should new Macintosh programmers do to get started? It’s really not that tough to get started, it’s finishing that is the tough part. Let’s get started at least. Here is my list of things that will help you get going (not necessarily in this order):

• GET A PLAN - You’ve got to know what you want to accomplish. Individual goals may vary from learning how to program to developing a product to market. Write your plan down! If you intent to have a marketable product then you should write a Business Plan. You may need one anyway to either get funding for your project or to get support from Apple or 3rd party vendors. They will want to know that you are legitimate and serious before getting involved with you. A Business Plan will help you get on track and focused on your project. Nolo press has some great books to help you start a business, including a book on how to write a business plan.

Your plan should include elements of the other points I mention here. You should know what your product will do and who will use it. You should have some idea about how you will sell it and how you will support it.

• GET INSIDE MACINTOSH AND HUMAN INTERFACE GUIDELINES - No matter what environment you will pick to program in, you will need to get yourself copies of Apple’s standard for Macintosh programming: Inside Macintosh and Human Interface Guidelines. These are available through bookstores or APDA (Apple Programmers and Developers Association). Get these even if you don’t have a Macintosh yet. You should start with Inside Macintosh volumes I-III. This is an absolute must!! You will not be able to write software that Macintosh users will want to use, unless you follow these guidelines and properly use the ROM routines built into every Macintosh.

• CHOOSE A DEVELOPMENT ENVIRONMENT - This may be one of the easiest or toughest decisions you have to make. It’s important to pick the right environment for the product that you have. You should pick an environment that you feel comfortable with. You should keep in mind what attitude is portrayed by the development environment. Developers and users have varying opinions of each environment. I have summarized a few of the most popular environments and who I feel is using each type. (If I didn’t mention your favorite it doesn’t mean it isn’t important. There are too many environments to mention them all)

BASIC - Basic is not usually considered a serious development environment although some commercial software being sold today was written in Basic. Most of these are specialized use products that were written by people who are experts in their own field but not fluent in any other programming language. Beginners often start out with Basic because it is easy to use. On the Macintosh, Basic is considered limited and most Basic products have not kept up to date with the latest Apple System Software. Although I haven’t tested any of the Basic products with System 7.0, Apple’s compatibility list indicates that Microsoft QuickBasic won’t work with 7.0. ZBasic is still the best Basic available, but Zedcor makes more money on other commercial products, so the long awaited update to ZBasic 5.0 still has not materialized.

HYPERCARD/SUPERCARD - Today HyperCard is the most popular beginner environment. Since HyperCard is included with every new Macintosh that’s not too surprising. Many developers have rejected HyperCard as a serious development platform because it has been thought of as a beginner environment and not powerful enough to do everything that other serious environments provide. Many of these limitations have been overcome with version 2.0 and the many XCMD and XFCN products that extend the capabilities of HyperCard.

Developers are beginning to reconsider their opinion of HyperCard now that you can program HyperCard menus, windows, etc. to follow Apple’s Human Interface Guidelines. HyperCard should be considered more often than it is for educational and tutorial software.

SuperCard has its advantages and disadvantages just as HyperCard does. The biggest disadvantage is that it doesn’t have the following that HyperCard does simply because Apple doesn’t give SuperCard away with every new Macintosh. Unlike HyperCard, double-clickable applications can be created from SuperCard projects. We haven’t heard the last of SuperCard.

MULTIMEDIA/AUTHORING SYSTEMS - These are not often thought of as developer tools because of their widespread use in making audio/video presentations. In some cases, this may be the ideal environment for your project. Since Macromind Director and others include interactive capability, your program (i.e. presentation) can now be enhanced with animation and graphics too. These come at a price though. Macromind Director 3.0 comes at $895 plus a fee for distribution of your commercial product. The problem is that the costs of conventional audio/video productions are much higher than when using a product like Director. This drives the price higher. If they can get it, that’s what they’ll charge and they do. Upgrades aren’t cheap either at $195. Price gouging at its finest!

The alternatives may be your best bet. Take a look at ADDMotion in last month’s MacTutor. Motion Works plans an animation product that can be used with nearly any environment.

PASCAL - This is the environment that serious Macintosh programmers should start with unless they have had previous experience in C. Because Pascal is a structured language a beginner will be more likely to write better built modular code than if he/she used Basic or HyperCard. There are currently two Pascal environments available, MPW Pascal and THINK’s Pascal from Symantec. MPW would cost you $150 for the MPW system and another $150 for Pascal. THINK Pascal 3.0 is $249. The MPW system 3.1 is much more complex and may be confusing for beginners to understand. I prefer THINK Pascal because of the ability to run your programs from within the THINK environment. Symantec has kept up very will with System upgrades. MPW will allow you to add C for $150 or C++ for $175 if you later want to program in C.

If you want just enough Pascal to get you started, Symantec has a product that has been out since the introduction of THINK Pascal version 2.0 a few years ago. The product “Just Enough Pascal” (JEP) is a self paced course introducing you to programming with THINK Pascal and the Macintosh ROM routines. Although the product is still version 1.0, a 13 page manual is included to explain how to use JEP with THINK Pascal 3.0. Most of the differences are cosmetic since Pascal 3.0 changed a few of the menus around.

JEP consists of a desk accessory and source code for the tutorial. It is designed so that you can open your Pascal application and JEP at the same time. The JEP DA then takes you through the development of a Macintosh application. Each “lesson” is divided into 20 stages of the development. You can start out at any stage (the source code for each stage is provided). Each stage teaches a new concept in Pascal programming and at the same time gets you familiar with using Macintosh ROM Calls.

During a stage of the development of the sample project, you are directed to modify the source code from previous stages to add more functionality. You can copy and paste the new code directly from the JEP DA into your open source code. An explanation is provided and suggestions for “Tinkering” around with the code. The tinkering is where you have a chance to try things out and just see what happens. JEP is a great way to get started at your own pace.

C - C is the most popular of all languages for serious programmers. A side benefit is that if you know C you can get a job anywhere. C programmers are in very high demand. THINK C is very popular, but many people use MPW C too. C is more cryptic to a beginner, although some C programmers would recommend that beginners start with C right from the beginning. I would advise that you get a good C programming book and work through that before getting into programming using Macintosh ROM calls.

A great way to start with any of these languages is to attend Apple Developer University if you can afford the approx. $1000 tuition. OR you can order developer training on CD from APDA. The Macintosh Programming Fundamentals Self-Paced Training Course for $595 covers the fundamentals of vol. 1 of Inside Macintosh using THINK C as the programming environment. Other courses are available, too.

• GET SOME HELP - No matter what your level of experience is, there will be times when you need help. If you are a serious developer then you should become an Apple Partner or Associate. Unless your problems are in need of Apple’s daily or weekly attention, the Associates program may be the best for you. For $350 a year you get sample code, Developer CD series, AppleLink, develop the Apple Technical Journal, Developer mailings, Hardware Purchasing Privileges, System software updates, invitation to the Worldwide Developers Conference, and more. For $600 per year you can be a Partner and have all of the Associates Program services plus Apple Developer Technical Support.

MacTutor fits in here as your best non-Apple sponsored source of developer information. MacTutor continues to provide informative columns each month.

• BE CERTAIN THAT YOUR APPLICATION IS 7.0 FRIENDLY - There are three degrees of 7.0 compatibility. Applications can be 7.0 compatible, 7.0 friendly, or 7.0 dependent. At a bare minimum your application should be 7.0 compatible. That means that the application runs exactly the same as it does in earlier system software. It is absolutely necessary to be sure that your application is at least 7.0 compatible. It’s even better to be 7.0 friendly. 7.0 friendly applications will still run under older system software, but will take advantage of special features that system 7.0 provides. 7.0 dependent applications depend entirely on the special features of 7.0 and won’t run on earlier applications. If you write software that is dependent, be sure that the application doesn’t just bomb under older systems, but that a message gets displayed telling the user that 7.0 is required.

Software that followed the guidelines of Inside Macintosh is most likely to be 7.0 compatible. In particular, you should let the ROM routines handle things whenever possible. Use the Toolbox routines to access low-memory global variables. If a routine that you are using is not available with all systems, then be sure to test to determine if it is available. (See Inside Macintosh, Volume VI for Compatibility Guidelines, also see Technical Note 2 and 117).

In my opinion, you should try to implement as many 7.0 friendly features as possible. For example, hide the clipboard when your application is “switched out”. Another application may also have a clipboard window open and just the front application will have the most current information. Allow font sizes greater than 127. Implement Balloon Help. Be sure that your application works when shared over AppleShare networks. This may be a lot of extra work to do, but in the end it will pay. It kind of gripes me when I see developers claiming that their product is “compatible” when it actually is slightly less functional in System 7.0. The opposite is true also, where the developer claims that you need to upgrade just for the sake of upgrading, not because the earlier version won’t work.

If you wonder at what point you will be ready for MacTutor, I recommend that you start now with the "Best of" volumes of MacTutor. The very first articles that MacTutor printed explained aspects of the Mac toolbox for programmers that were then just starting out. It doesn’t take long to work your way up to a level of understanding MacTutor. Read the columns written for other languages, they have explanations that are fundamental to the subject being explained irrespective of the programming language. Many people forget this and miss out on a lot of interesting information. Stay with it and don’t miss more information in future issues of MacTutor

Just Enough Pascal™ is available from:

Symantec Corporation

10201 Torre Avenue

Cupertino, CA. 95014-2132.

Phone: 800-441-7234 or 408-252-3570

FAX 408-255-3344

AppleLink SYMANTEC

Price: $75

Requires: THINK’s Lightspeed Pascal v 2.0 or greater, Macintosh Plus or better, System Software 5.0 or newer. A Hard disk is strongly recommended.

Not copy protected!

Other products listed here are available from:

APDA

Apple Computer, Inc.

20525 Mariani Ave., M/S 33-G

Cupertino, CA. 95014-6299 USA

Phone:

USA toll-free 800-282-2732

Canada toll-free: 800-637-0029

Elsewhere: 408-562-3910

FAX: 408-562-3971

For more information on Associates and Partners Programs:

Attn: Developer Programs

Apple Computer, Inc.

20525 Mariani Avenue, M/S 75-2C

Cupertino, CA. 95014

or Call the Developer Hotline at 408-974-4897

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Civilization VI 1.0.1 - Next iteration o...
Sid Meier’s Civilization VI is the next entry in the popular Civilization franchise. Originally created by legendary game designer Sid Meier, Civilization is a strategy game in which you attempt to... Read more
Google Chrome 55.0.2883.75 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Chromium 55.0.2883.75 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 55.0.2883.75: Security fixes: High CVE-2016... Read more
Luminar 1.0.2 - Powerful, adaptive, conf...
Luminar is the new full-featured image editor that adapts to the way you edit photos. Over 300 essential tools to fix, edit, and enhance your photos with comfort. The future of photo editing is here... Read more
Slack 2.3.3 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.3.3: Fixed window zoom jumping back-and-forth OS X 10.9... Read more
WhatRoute 2.0.10 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
Luminar 1.0.2 - Powerful, adaptive, conf...
Luminar is the new full-featured image editor that adapts to the way you edit photos. Over 300 essential tools to fix, edit, and enhance your photos with comfort. The future of photo editing is here... Read more
WhatRoute 2.0.10 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
Slack 2.3.3 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.3.3: Fixed window zoom jumping back-and-forth OS X 10.9... Read more
Lens Blur 1.4.3 - True out-of-focus boke...
Lens Blur transforms your existing photo into true SLR-quality out-of-focus bokeh effect! Everyone needs a gorgeous personalized background for a social profile, blog, Web/UI design, presentation, or... Read more

Latest Forum Discussions

See All

Amateur Surgeon 4 Guide: Become the worl...
It's time to wield your trusty pizza cutter again, as Amateur Surgeon has returned with a whole fresh set of challenges (and some old, familiar ones, too). Starting anew isn't easy, especially when all you have at your disposal is a lighter, the... | Read more »
Le Parker: Sous Chef Extraordinaire (Ga...
Le Parker: Sous Chef Extraordinaire 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Telltale Games really is working on a Gu...
Telltale Games' next episodic adventure is indeed Guardians of the Galaxy. A document tied to the voice actors strike suggested that the project was in the work, but now we have direct confirmation following an announcement at the Game Awards that... | Read more »
Amateur Surgeon returns to iOS and Andro...
Amateur Surgeon and its two sequels disappeared from the App Store some time and it was sad days for all. But now, just in time for the holidays, the Adult Swim favorite makes its joyous return in the shape of Amateur Surgeon 4, a remake with... | Read more »
The best board games on mobile
Sometimes you need to ditch all of the high speed, high action games in favor of something a little more traditional. If you don't feel like parting ways from your mobile device, though, there are still plenty of ways to get that old-school fix.... | Read more »
The best Facebook Messenger Instant Game...
Facebook's new Instant Games is now here, meaning you can play games with your friends directly via Facebook. It's a fun new way to connect with friends, of course, but it's also proving to be a solid gaming experience in its own right, with a... | Read more »
You can now play game's on Facebook...
Facebook launched its new Instant Games platform in an exciting new attempt to engage its user base. As a result, you can now play a number of different games directly through Facebook Messenger. All of these games run with HTML5, meaning you play... | Read more »
Apollo Justice Ace Attorney (Games)
Apollo Justice Ace Attorney 1.00.00 Device: iOS Universal Category: Games Price: $.99, Version: 1.00.00 (iTunes) Description: Court Is Back In Session Star as rookie defense attorney, Apollo Justice, as he visits crime scenes,... | Read more »
KORG iWAVESTATION (Music)
KORG iWAVESTATION 1.0 Device: iOS Universal Category: Music Price: $19.99, Version: 1.0 (iTunes) Description: A revolutionary new world of sound.The Wave Sequence Synthesizer for iPad - KORG iWAVESTATION | Read more »
Don't Grind Guide: Tips for becomin...
Don’t Grind is a surprising, derpy little one touch game with fun hand-drawn graphics. The goal is simple -- get the high score without being chopped to bits. That can be tough when you’re not used to the game, and that’s compounded by the fact... | Read more »

Price Scanner via MacPrices.net

Parallels Toolbox 1.3 for Mac Offers 25 Singl...
Parallels has launched Parallels Toolbox 1.3 for Mac, an upgrade that adds five new utilities to the stand-alone application which was released in August and is available exclusively online at http... Read more
OWC Mercury Elite Pro Dual mini Ultra-Portabl...
OWC has introduced the new OWC Mercury Elite Pro Dual mini, a powerful yet ultra-portable dual-drive RAID solution. The new Mercury Elite Pro Dual mini packs phenomenal performance into a small... Read more
Clearance 13-inch Retina MacBook Pros availab...
B&H Photo has clearance 2015 13″ Retina Apple MacBook Pros available for up to $200 off original MSRP. Shipping is free, and B&H charges NY tax only: - 13″ 2.7GHz/128GB Retina MacBook Pro: $... Read more
Roundup of 2016 13-inch 2.0GHz MacBook Pro sa...
B&H has the non-Touch Bar 13″ MacBook Pros in stock today for $50-$100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.0GHz MacBook Pro Space Gray (MLL42LL/A): $1449 $... Read more
New 13-inch 2.0GHz Space Gray MacBook Pro in...
Adorama has the new 13″ 2.0GHz Space Gray MacBook Pro (non-Touch Bar, MLL42LL/A) in stock for $1499 including a free 3-year AppleCare Protection Plan. Shipping is free, and Adorama charges sales tax... Read more
Finnair Adopts iOS Enterprise iPad Apps from...
Finnair and IBM have announced a first-of-its-kind agreement to utilize iOS enterprise apps from IBM to support the airline’s overall digital transformation. Finnair is focused on Asia-Europe traffic... Read more
Tech21 Launches Evo Go iPhone 7 Case Availabl...
Tech21 has announced the launch of the Evo Go case for Apple iPhone 7 and iPhone 7 Plus, exclusively at T-Mobile. Available online and at participating T-Mobile stores nationwide, Evo Go cases start... Read more
Apple Turns (RED) with More Ways to Join the...
In recognition of World AIDS Day, Apple is offering more ways than ever for customers to join (RED) in its mission to create an AIDS-free generation. Apple is the worlds largest corporate contributor... Read more
Deals on new 15-inch Touch Bar MacBook Pros,...
B&H Photo has new 2016 Apple 15″ Touch Bar MacBook Pro models in stock today with some available for $50 off MSRP, each including free shipping plus NY sales tax only: - 15″ 2.7GHz Touch Bar... Read more
12-inch Retina MacBooks on sale for up to $10...
12-inch Retina MacBooks remain on sale at B&H Photo with models available for up to $100 off MSRP. Shipping is free, and B&H charges NY sales tax only. B&H will also include a free copy... Read more

Jobs Board

*Apple* Retail - Multiple Positions- White P...
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
Automotive Detailer - *Apple* Used Autos -...
We are currently conductinginterviews and will be accepting applications for a part-time detailer. Apple Used Autos is a great place to work andstart a career. We Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
US- *Apple* Store Leader Program - Apple (Un...
…Summary Learn and grow as you explore the art of leadership at the Apple Store. You'll master our retail business inside and out through training, hands-on Read more
*Apple* & PC Desktop Support Technician...
Apple & PC Desktop Support Technician job in Dallas TX Introduction: We have immediate job openings for several Desktop Support Technicians with one of our most Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.