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

Viber 11.9.1 - Send messages and make fr...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device, so... Read more
Vallum 3.3.2 - $15.00
Vallum is a little tool that helps you monitor and block apps connections and throttle apps bandwidth. It is able to intercept connections at the application layer, and hold them while you decide... Read more
Microsoft OneNote 16.31 - Free digital n...
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
Apple Pages 8.2.1 - Apple's word pr...
Apple Pages is a powerful word processor that gives you everything you need to create documents that look beautiful. And read beautifully. It lets you work seamlessly between Mac and iOS devices, and... Read more
Numbers 6.2.1 - Apple's spreadsheet...
With Apple Numbers, sophisticated spreadsheets are just the start. The whole sheet is your canvas. Just add dramatic interactive charts, tables, and images that paint a revealing picture of your data... Read more
f.lux 39.9873 - Adjusts the color of you...
f.lux makes the color of your computer's display adapt to the time of day, warm at night and like sunlight during the day. Ever notice how people texting at night have that eerie blue glow? Or wake... Read more
Deeper 2.5.0 - Enable hidden features in...
Deeper is a personalization utility for macOS which allows you to enable and disable the hidden functions of the Finder, Dock, QuickTime, Safari, iTunes, login window, Spotlight, and many of Apple's... Read more
NTFS 15.5.71 - Provides full read and wr...
NTFS breaks down the barriers between Windows and macOS. Paragon NTFS effectively solves the communication problems between the Mac system and NTFS. Write, edit, copy, move, delete files on NTFS... Read more
MTR 5.3.0.0 - The Mac's oldest and...
MTR (was MacTheRipper)--the Mac's oldest and smartest DVD-backup app. MTR - the complete toolbox, not a one-trick, point-and-click extractor. MTR is intended for making fair-use, backup copies of... Read more
Keynote 9.2.1 - Apple's presentatio...
Easily create gorgeous presentations with the all-new Keynote, featuring powerful yet easy-to-use tools and dazzling effects that will make you a very hard act to follow. The Theme Chooser lets you... Read more

Latest Forum Discussions

See All

Black Desert Mobile gets an official rel...
Pearl Abyss has just announced that its highly-anticipated MMO, Black Desert Mobile, will launch globally for iOS and Android on December 11th. [Read more] | Read more »
Another Eden receives new a episode, cha...
Another Eden, WFS' popular RPG, has received another update that brings new story content to the game alongside a few new heroes to discover. [Read more] | Read more »
Overdox guide - Tips and tricks for begi...
Overdox is a clever battle royale that changes things up by adding MOBA mechanics and melee combat to the mix. This new hybrid game can be quite a bit to take in at first, so we’ve put together a list of tips to help you get a leg up on the... | Read more »
Roterra Extreme - Great Escape is a pers...
Roterra Extreme – Great Escape has been described by developers Dig-It Games as a mini-sequel to their acclaimed title Roterra: Flip the Fairytale. It continues that game's tradition of messing with which way is up, tasking you with solving... | Read more »
Hearthstone: Battlegrounds open beta lau...
Remember earlier this year when auto battlers were the latest hotness? We had Auto Chess, DOTA Underlords, Chess Rush, and more all gunning for our attention. They all had their own reasons to play, but, at least from where I'm standing, most... | Read more »
The House of Da Vinci 2 gets a new gamep...
The House of Da Vinci launched all the way back in 2017. Now, developer Blue Brain Games is gearing up to deliver a second dose of The Room-inspired puzzling. Some fresh details have now emerged, alongside the game's first official trailer. [Read... | Read more »
Shoot 'em up action awaits in Battl...
BattleBrew Productions has just introduced another entry into its award winning, barrelpunk inspired, BattleSky Brigade series. Whilst its previous title BattleSky Brigade TapTap provided fans with idle town building gameplay, this time the... | Read more »
Arcade classic R-Type Dimensions EX blas...
If you're a long time fan of shmups and have been looking for something to play lately, Tozai Games may have just released an ideal game for you on iOS. R-Type Dimensions EX brings the first R-Type and its sequel to iOS devices. [Read more] | Read more »
Intense VR first-person shooter Colonicl...
Our latest VR obsession is Colonicle, an intense VR FPS, recently released on Oculus and Google Play, courtesy of From Fake Eyes and Goboogie Games. It's a pulse-pounding multiplayer shooter which should appeal to genre fanatics and newcomers alike... | Read more »
PUBG Mobile's incoming update bring...
PUGB Mobile's newest Royale Pass season they're calling Fury of the Wasteland arrives tomorrow and with it comes a fair chunk of new content to the game. We'll be seeing a new map, weapon and even a companion system. [Read more] | Read more »

Price Scanner via MacPrices.net

Weekend Sale: Apple AirPods Pro for $234.98 a...
Abt Electronics has Apple’s new AirPods Pro in stock and on sale today for $234.98 including free shipping and free returns. Their price is $15 off Apple’s MSRP for these AirPods and tie Amazon... Read more
New 2019 16″ MacBook Pros on sale for $100 of...
Apple Authorized Reseller Adorama has new 2019 16″ MacBook Pros on sale today for $100 off Apple’s MSRP, each including free shipping. In addition, Adorama charges sales tax for NY & NJ residents... Read more
Apple Watch Series 3 GPS models on sale for l...
Amazon has Apple Watch Series 3 GPS models on sale starting at only $179. There prices are the lowest we’ve ever seen for these models from any Apple reseller. Choose Amazon as the seller rather than... Read more
iOS Bug In Facebook News Feed Lets Device Ca...
NEWS: 11.15.19- Users of the Facebook social media platform’s mobile app running on iOS devices won’t, like, this piece of news one bit in where a bug in the News Feed gave access to the camera... Read more
16″ MacBook Pros on sale! Preorder at Amazon...
Apple’s new 16″ MacBook Pros were only introduced yesterday, but Amazon is already offering a $100 discount on preorders. Prices for the base 6-Core 16″ MacBook Pros start at $2299: – 2019 16″ 2.6GHz... Read more
Use our exclusive MacBook Price Trackers to f...
Our Apple award-winning MacBook price trackers are the best place to look for the best sales & lowest prices on new and clearance MacBook Airs and MacBook Pros–including Apple’s new 16″ MacBook... Read more
New November Verizon iPhone deal: Get an iPho...
Verizon has the 64GB iPhone Xr on sale for 50% off for a limited time, plus they will include a free $200 prepaid MasterCard and a free Amazon Echo Dot. That reduces their price for the 64GB iPhone... Read more
Apple cuts prices on clearance, refurbished 2...
Apple has clearance 2018 15″ 6-Core Touch Bar MacBook Pros, Certified Refurbished, now available starting at only $1829. Each model features a new outer case, shipping is free, and an Apple 1-year... Read more
Up to $450 price drop on clearance 15″ MacBoo...
B&H Photo has dropped prices Apple’s 2019 15″ 6-Core and 8-Core MacBook Pros by $400-$450 off original MSRP, starting at $1999, with free overnight shipping available to many addresses in the US... Read more
Here’s how to save $200 on Apple’s new 16″ Ma...
Apple has released details of their Education discount associated with the new 2019 16″ 6-Core and 8-Core MacBook Pros. Take $200 off the price of the new 8-Core model (now $2599) and $200 off the 16... Read more

Jobs Board

Best Buy *Apple* Computing Master - Best Bu...
**746887BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Store Associates **Store NUmber or Department:** 001512-Ankeny-Store **Job Read more
Best Buy *Apple* Computing Master - Best Bu...
**746836BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Store NUmber or Department:** 000341-Scranton-Store **Job Description:** **What Read more
QA Manager, *Apple* - CBS Corporation (Unit...
# QA Manager, Apple **REF#:** 35331 **CBS BUSINESS UNIT:** CBS Interactive **JOB TYPE:** Full-Time Staff **JOB SCHEDULE:** **JOB LOCATION:** Burbank, CA **ABOUT Read more
*Apple* Mobility Pro - Best Buy (United Stat...
**744315BR** **Job Title:** Apple Mobility Pro **Job Category:** Store Associates **Store NUmber or Department:** 000662-Auburn AL-Store **Job Description:** At Best Read more
Nurse Practitioner - Field Based (San Bernard...
Nurse Practitioner - Field Based (San Bernardino, CA, Apple Valley, Hesperia) **Location:** **United States** **New** **Requisition #:** PS30312 **Post Date:** 4 Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.