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

Splash Cars guide - How to paint the tow...
Splash Cars is an arcade driving game that feels like a hybrid between Dawn of the Plow and Splatoon. In it, you'll need to drive a car around to repaint areas of a town that have lost all of their color. Check out these tips to help you perform... | Read more »
The best video player on mobile
We all know the stock video player on iOS is not particularly convenient, primarily because it asks us to hook a device up to iTunes to sync video in a world that has things like Netflix. [Read more] | Read more »
Four apps to help improve your Super Bow...
Super Bowl Sunday is upon us, and whether you’re a Panthers or a Broncos fan you’re no doubt gearing up for it. [Read more] | Read more »
LooperSonic (Music)
LooperSonic 1.0 Device: iOS Universal Category: Music Price: $4.99, Version: 1.0 (iTunes) Description: LooperSonic is a multi-track audio looper and recorder that will take your loops to the next level. Use it like a loop pedal to... | Read more »
Space Grunts guide - How to survive
Space Grunts is a fast-paced roguelike from popular iOS developer, Orange Pixel. While it taps into many of the typical roguelike sensibilities, you might still find yourself caught out by a few things. We delved further to find you some helpful... | Read more »
Dreii guide - How to play well with othe...
Dreii is a rather stylish and wonderful puzzle game that’s reminiscent of cooperative games like Journey. If that sounds immensely appealing, then you should immediately get cracking and give it a whirl. We can offer you some tips and tricks on... | Read more »
Kill the Plumber World guide - How to ou...
You already know how to hop around like Mario, but do you know how to defeat him? Those are your marching orders in Kill the Plumber, and it's not always as easy as it looks. Here are some tips to get you started. This is not a seasoned platform... | Read more »
Planar Conquest (Games)
Planar Conquest 1.0 Device: iOS Universal Category: Games Price: $12.99, Version: 1.0 (iTunes) Description: IMPORTANT: Planar Conquest is compatible only with iPad 3 & newer devices, iPhone 5 & newer. It’s NOT compatible with... | Read more »
We talk to Cheetah Mobile about its plan...
Piano Tiles 2 is a fast-paced rhythm action high score chaser out now on iOS and Android. You have to tap a series of black tiles that appear on the screen in time to the music, being careful not to accidentally hit anywhere else. Do that and it's... | Read more »
Ultimate Briefcase guide - How to dodge...
Ultimate Briefcase is a simple but tricky game that’s highly dependent on how fast you can react. We can still offer you a few tips and tricks on how to survive though. Guess what? That’s exactly what we’re going to do now. Take it easy [Read more... | Read more »

Price Scanner via MacPrices.net

12-inch 1.2GHz Silver Retina MacBook on sale...
B&H Photo has the 12″ 1.2GHz Silver Retina MacBook on sale for $1399 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price for this model from... Read more
iPads on sale at Target: $100 off iPad Air 2,...
Target has WiFi iPad Air 2s and iPad mini 4s on sale for up to $100 off MSRP on their online store for a limited time. Choose free shipping or free local store pickup (if available). Sale prices for... Read more
Target offers Apple Watch for $100 off MSRP
Target has Apple Watches on sale for $100 for a limited time. Choose free shipping or free local store pickup (if available). Sale prices for online orders only, in-store prices may vary: - Apple... Read more
Apple refurbished 2014 13-inch Retina MacBook...
Apple has Certified Refurbished 2014 13″ Retina MacBook Pros available for up to $400 off original MSRP, starting at $979. An Apple one-year warranty is included with each model, and shipping is free... Read more
Macs available for up to $300 off MSRP, $20 o...
Purchase a new Mac or iPad using Apple’s Education Store and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and... Read more
Watch Super Bowl 50 Live On Your iPad For Fre...
Watch Super Bowl 50 LIVE on the CBS Sports app for iPad and Apple TV. Get the app and then tune in Sunday, February 7, 2016 at 6:30 PM ET to catch every moment of the big game. The CBS Sports app is... Read more
Two-thirds Of All Smart Watches Shipped In 20...
Apple dominated the smart watch market in 2015, accounting for over 12 million units and two-thirds of all shipments according to Canalys market research analysts’ estimates. Samsung returned to... Read more
12-inch 1.2GHz Retina MacBooks on sale for up...
B&H Photo has 12″ 1.2GHz Retina MacBooks on sale for $180 off MSRP. Shipping is free, and B&H charges NY tax only: - 12″ 1.2GHz Gray Retina MacBook: $1499 $100 off MSRP - 12″ 1.2GHz Silver... Read more
12-inch 1.1GHz Gray Retina MacBook on sale fo...
B&H Photo has the 12″ 1.1GHz Gray Retina MacBook on sale for $1199 including free shipping plus NY sales tax only. Their price is $100 off MSRP, and it’s the lowest price available for this model... Read more
Apple now offering full line of Certified Ref...
Apple now has a full line of Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Subject Matter Expert - Experis (Uni...
This position is for an Apple Subject Matter Expert to assist in developing the architecture, support and services for integration of Apple devices into the domain. Read more
*Apple* Macintosh OSX - Net2Source Inc. (Uni...
…: * Work Authorization : * Contact Number(Best time to reach you) : Skills : Apple Macintosh OSX Location : New York, New York. Duartion : 6+ Months The associate would Read more
Computer Operations Technician ll - *Apple*...
# Web Announcement** Apple Technical Liaison**The George Mason University, Information Technology Services (ITS), Technology Support Services, Desktop Support Read more
Restaurant Manager - Apple Gilroy Inc./Apple...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.