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

Latest Forum Discussions

See All

Tokkun Studio unveils alpha trailer for...
We are back on the MMORPG news train, and this time it comes from the sort of international developers Tokkun Studio. They are based in France and Japan, so it counts. Anyway, semantics aside, they have released an alpha trailer for the upcoming... | Read more »
Win a host of exclusive in-game Honor of...
To celebrate its latest Jujutsu Kaisen crossover event, Honor of Kings is offering a bounty of login and achievement rewards kicking off the holiday season early. [Read more] | Read more »
Miraibo GO comes out swinging hard as it...
Having just launched what feels like yesterday, Dreamcube Studio is wasting no time adding events to their open-world survival Miraibo GO. Abyssal Souls arrives relatively in time for the spooky season and brings with it horrifying new partners to... | Read more »
Ditch the heavy binders and high price t...
As fun as the real-world equivalent and the very old Game Boy version are, the Pokemon Trading Card games have historically been received poorly on mobile. It is a very strange and confusing trend, but one that The Pokemon Company is determined to... | Read more »
Peace amongst mobile gamers is now shatt...
Some of the crazy folk tales from gaming have undoubtedly come from the EVE universe. Stories of spying, betrayal, and epic battles have entered history, and now the franchise expands as CCP Games launches EVE Galaxy Conquest, a free-to-play 4x... | Read more »
Lord of Nazarick, the turn-based RPG bas...
Crunchyroll and A PLUS JAPAN have just confirmed that Lord of Nazarick, their turn-based RPG based on the popular OVERLORD anime, is now available for iOS and Android. Starting today at 2PM CET, fans can download the game from Google Play and the... | Read more »
Digital Extremes' recent Devstream...
If you are anything like me you are impatiently waiting for Warframe: 1999 whilst simultaneously cursing the fact Excalibur Prime is permanently Vault locked. To keep us fed during our wait, Digital Extremes hosted a Double Devstream to dish out a... | Read more »
The Frozen Canvas adds a splash of colou...
It is time to grab your gloves and layer up, as Torchlight: Infinite is diving into the frozen tundra in its sixth season. The Frozen Canvas is a colourful new update that brings a stylish flair to the Netherrealm and puts creativity in the... | Read more »
Back When AOL WAS the Internet – The Tou...
In Episode 606 of The TouchArcade Show we kick things off talking about my plans for this weekend, which has resulted in this week’s show being a bit shorter than normal. We also go over some more updates on our Patreon situation, which has been... | Read more »
Creative Assembly's latest mobile p...
The Total War series has been slowly trickling onto mobile, which is a fantastic thing because most, if not all, of them are incredibly great fun. Creative Assembly's latest to get the Feral Interactive treatment into portable form is Total War:... | Read more »

Price Scanner via MacPrices.net

Early Black Friday Deal: Apple’s newly upgrad...
Amazon has Apple 13″ MacBook Airs with M2 CPUs and 16GB of RAM on early Black Friday sale for $200 off MSRP, only $799. Their prices are the lowest currently available for these newly upgraded 13″ M2... Read more
13-inch 8GB M2 MacBook Airs for $749, $250 of...
Best Buy has Apple 13″ MacBook Airs with M2 CPUs and 8GB of RAM in stock and on sale on their online store for $250 off MSRP. Prices start at $749. Their prices are the lowest currently available for... Read more
Amazon is offering an early Black Friday $100...
Amazon is offering early Black Friday discounts on Apple’s new 2024 WiFi iPad minis ranging up to $100 off MSRP, each with free shipping. These are the lowest prices available for new minis anywhere... Read more
Price Drop! Clearance 14-inch M3 MacBook Pros...
Best Buy is offering a $500 discount on clearance 14″ M3 MacBook Pros on their online store this week with prices available starting at only $1099. Prices valid for online orders only, in-store... Read more
Apple AirPods Pro with USB-C on early Black F...
A couple of Apple retailers are offering $70 (28%) discounts on Apple’s AirPods Pro with USB-C (and hearing aid capabilities) this weekend. These are early AirPods Black Friday discounts if you’re... Read more
Price drop! 13-inch M3 MacBook Airs now avail...
With yesterday’s across-the-board MacBook Air upgrade to 16GB of RAM standard, Apple has dropped prices on clearance 13″ 8GB M3 MacBook Airs, Certified Refurbished, to a new low starting at only $829... Read more
Price drop! Apple 15-inch M3 MacBook Airs now...
With yesterday’s release of 15-inch M3 MacBook Airs with 16GB of RAM standard, Apple has dropped prices on clearance Certified Refurbished 15″ 8GB M3 MacBook Airs to a new low starting at only $999.... Read more
Apple has clearance 15-inch M2 MacBook Airs a...
Apple has clearance, Certified Refurbished, 15″ M2 MacBook Airs now available starting at $929 and ranging up to $410 off original MSRP. These are the cheapest 15″ MacBook Airs for sale today at... Read more
Apple drops prices on 13-inch M2 MacBook Airs...
Apple has dropped prices on 13″ M2 MacBook Airs to a new low of only $749 in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty... Read more
Clearance 13-inch M1 MacBook Airs available a...
Apple has clearance 13″ M1 MacBook Airs, Certified Refurbished, now available for $679 for 8-Core CPU/7-Core GPU/256GB models. Apple’s one-year warranty is included, shipping is free, and each... Read more

Jobs Board

Seasonal Cashier - *Apple* Blossom Mall - J...
Seasonal Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Seasonal Fine Jewelry Commission Associate -...
…Fine Jewelry Commission Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) Read more
Seasonal Operations Associate - *Apple* Blo...
Seasonal Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Read more
Hair Stylist - *Apple* Blossom Mall - JCPen...
Hair Stylist - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.