To order Alpha Four or Alpha Five, click above to go directly to Alpha, or call 800.451.1018 or 781.229.4500

             

Sunday, September 1, 2002 VOLUME 1 ISSUE 7  
HOME
TOPICS
News & Notes
Learn Alpha Five
Tips & Tricks
Tech Corner
Developer Spotlight
ARTICLES
So, You Want to be a Developer
So, You Want to be a Developer
by Bill Warner

So, you want to be a developer??

Editor's note: I'd like to thank Cal Locklin and Jim Chapman for their suggestions.

LIVE THE AMERICAN DREAM -- GO INTO BUSINESS!

OK, you've learned how to use Alpha Five pretty well.  You've even designed an app for yourself, or maybe for your company.  Now you're ready for the big time.  You'd like to create a new app for a customer, and actually sell it!

Fine, so you design an app, and sell it.  Just like that.  Yeah, right.

Now wait, don't get discouraged.  Obviously, it's not that simple.  But then again, it's not really terribly hard, either.  You just need some of the basics.

The intent of this article is to show you some of the things you'll need to know, and some things that will make your life easier as a developer.  And, if all goes well, you could be on your way to actually selling what you've created!

THE ESSENTIALS - First of all, I have listed the items I feel are pretty essential for running a business:

GET A UPS!!!!!

No, this isn't a delivery system, it's an Uninterruptible Power Source.  It will keep your computer running if you have a black-out or a brown-out.  A black-out is sort of like hitting the power switch -- not a recommended procedure (especially when you're in the middle of something), but not always harmful.  A brown-out is much worse.  That's when the power goes below 120 volts, but is still there.  Motherboards hate this!!

Also, the UPS will protect against power surges, which can fry things in the computer.  No, don't trust a power strip with a surge protector -- they're just too wimpy to handle a major strike.

GIVE YOURSELF A COMPANY NAME

While this isn't absolutely necessary, remember that appearance plays a significant role is business today.  If your customer feels like they are dealing with a company instead of an individual, they are likely to feel more comfortable.

INSTALL A SECOND PHONE LINE

The most obvious reason for a second line is to have one that isn't being used for other purposes, such as personal calls (you don't want to miss a business call because your teenager is having a phone marathon with his/her friend).  Also, having a separate line allows you to more easily identify and deduct business phone expenses.

GET A PAGER

Your customers need to be able to reach you.  A simple pager is a good choice.  A better choice is a pager with voice mail.  This way, a customer can call the pager and leave a voice message, which could save you a return call, or even a trip to their site.  Or, their message could alert you to a problem, which you might be able to solve before returning their call.

Another smart use for a pager is to reduce cell phone calls.  When you get paged, you can decide if it's worth an immediate call on your cell, or if the call can wait a few minutes until you can call from a land line.

GET VOICE MAIL

This could be as simple as a good quality answering machine.  If you do this, make sure the message capacity is long enough so your customer's message doesn't get cut off at a crucial point (remember, customers can be long-winded!).  

Another good alternative is voice mail through your local phone company.  This service usually has very long (if not unlimited) message capacity, plus they usually have services that are more extensive than those found in an answering machine.  Plus, if a customer calls when you're on the phone, they will get the voice mail, and not a busy signal.  Here are some hints for using voice mail:

 

Your voice mail message should be complete, and brief (people will get bored with a long message).

 

In the message, identify yourself (so they know they dialed correctly), and give them your pager number or other way to reach you if they need your immediate help.


GET A CELL PHONE

You probably won't need one right away (unless you're on the road a lot for reasons other than business).  But then again, cell phones have become so cheap that it's hard not to be able to justify one.

GET A FAX MACHINE OR FAX MAIL BOX

Faxing is still important in business, even with the popularity of e-mail.   You can buy a fax machine for around $100.  However, you'll need a phone line for it.  You can use your fax on your business line, but this will tie up the line anytime you send or receive.  If you only get a few faxes, this isn't too bad.

Another alternative is a fax mailbox.  This is similar to voice mail, in that the faxes sent to you are actually sent to a remote location, and you retrieve them using fax software such as WinFax.  One advantage is that you don't need an extra line (or you don't have to share with your business line).  Another advantage is that you can retrieve faxes no matter where you are, as long as you have your computer with you.  Fax mailbox companies usually have a service that pages you when a fax is received.

One disadvantage to a fax mailbox is that, while you can receive faxes on your computer (and print them as necessary), and send faxes from your computer, you cannot send a hard copy fax.  If you have a scanner, you can scan the document, and send it that way.

GET AN E-MAIL ADDRESS THAT SOUNDS "PROFESSIONAL"

If your e-mail address is something that you thought was really clever when you first got it (like "EZ4ME2CU"), your customers probably won't share your opinion.  Once again, appearance can be important, so you want an address that won't make a customer uneasy about dealing with you.  Most e-mail services offer multiple screen names; if you can get one that is the same (or very close) to your business name, it will improve your credibility.

FIND A QUIET PLACE TO WORK

Aside from the obvious benefit of few disturbances, you really don't want your customer to hear the family in the background.  If you can justify a spare room (or part of a large room) for your home office, you can also deduct expenses incurred for this office.

FIGURE OUT HOW MUCH TO CHARGE FOR YOUR TIME

This can be a sticky issue, but let's face it - you're in this to make money, as well as have fun.  You have to charge enough to make it worth your while (and to give a credible appearance - many customers would be suspicious of someone who only charged $25/hour), but not so much that no one will buy your app.  Here are some things to consider:


 

Determine an hourly rate to charge customers.  When designing an app, you can use the rate, combined with your estimate of how long it will take, to come up with the price for the app.  As a rough guideline, many developers charge from $50 to $100 per hour.

 

When estimating the time for the app, remember that designing it is only part of the total package.  You need to add time for working with the customer to understand their needs, creating the installation routine, debugging and testing the app, and some additional time for unforeseen things that always come up.

 

Not all of your time will be billable - far from it!  Especially when you set up a business, you will spend a lot of non-productive time.  For example, you'll need time to do some of the things mentioned in this article.  You'll also need time for paying bills, contacting potential customers, writing quotations, etc.  It can add up to perhaps 20-40% of the total time you spend.  Therefore, you need to factor this time into your hourly rate.

 

Establish a policy for phone support, and let your customers know this policy up front.  That can reduce misunderstandings, and help assure that you'll be able to charge for time that is justifiably billable.


BECOME FAMILIAR WITH COMPUTERS AND COMMON PROGRAMS

Remember that everyone's computer is different than yours.  This means that the app that runs great on your computer might not do so on your customer's.  Therefore, it's a good idea to become familiar with different operating systems (Win 95 & 98 will react slightly differently than NT, 2000, or XP).

Remember also that your customer will expect you to solve problems related to the program, and this won't be limited to the functions in the app.  If something goes wrong with the installation, or the program crashes, they will expect you to know how to solve these problems, too.  As a starting point, see the Troubleshooting article in the July issue of the newsletter.

It's also a good idea to have some programs that many people use.  For example, some customers might want you to convert their old data (for use in the new app), and they have it in Access or Excel.  If you don't have these programs, you'll need them to do the conversion.

THE OPTIONS - Now, here are some "options" - things that make running a business easier or more "professional" but aren't absolutely necessary:

GET A WEB SITE

This has some value for appearance, since you're in the "computer industry" and people seem to expect it.  Then again, there are plenty of small businesses out there that don't have one, and might never need one.

If you have a web site, you can use it many ways.  As one example, I post updates to a program that multiple customers are using, so they can download the updates as needed.  Of course, a suitable alternative is to e-mail the updates to them.

GET A HIGH-SPEED MODEM

If it's available in your area (cable, DSL, satellite), and you are sending new programs or updates fairly often, this is a very nice option.  I don't think you'll fully appreciate a high-speed modem until you've used one, then have to go back to a phone modem.

SET UP YOUR COMPUTER ON A NETWORK

If you have more than one computer in your home, this is very handy.  The cost isn't too bad (most computers have network cards in them, the cable isn't too expensive, and the setup isn't too tricky), and the potential benefits are great.  Having a network allows you to trouble-shoot problems that occur on your customer's network.  This can be important, because a few problems cannot be duplicated on a single machine.

THE APPLICATION - Now you need to do some things you probably haven't done when creating an application for yourself (or for the company you work for):

BUY THE RUNTIME VERSION

When you sell an app to a customer, the last thing you need is to have them start tinkering with it!  With Runtime, they have to come to you to make any changes to the program.

Their changing the program isn't just an annoyance - if they make a change that they really want without telling you, and then you make a change and send it to them, their change is gone.

What's even worse, they might change something that screws up the program, and then call you to complain that "the program doesn't work."  Even though you know it's their fault, it might be hard to convince the boss that one of their people is responsible for it, let alone convincing him that they should pay you to correct the problem.  

As far as I'm concerned, there are very few reasons good enough (for the customer to have a full version of Alpha) to outweigh the potential damage they could do not only to the program, but to your relationship with the customer.

MANAGE MULTIPLE CUSTOMERS' APPS ON YOUR COMPUTER

Hopefully, you'll be successful enough that you'll have more than one customer.  However, this means you need to have a strategy for keeping multiple apps on your hard drive.  A strategy that I use (and I'm sure there are others that are equally as valid):
 

Keep every app in a separate folder.  I give each customer's main folder a name that identifies them to me.  I then create a sub-folder called DATA, which is where I store their app (all *.ADB, *.AL*, *.SE*, *.DD*, and data files).  Note that I do not put the program files (*.EXE, *.DLL, etc.) in this folder.

 

I have additional sub-folders in the main folder; ZIP (for zipped files), INSTALL (to hold the original installation file I used), UPDATE (to store the updates sent to the customer), and HOLD (which is a catch-all for times that I want to save something before I change it - just in case the change doesn't turn out as planned).


CREATE AN INSTALLATION CD

Once you have designed an app, you have to install it on your customer's computer.  If you have to go to the customer's site to do so, you're limiting your customer base (unless you enjoy traveling all over the country!).  It's much more efficient to give the customer a CD, and let them install the program.

Now, this doesn't mean you'll never have to go to their site, but it's nice if you can eliminate unnecessary trips.

I use Wise InstallMaker for my installation CD, and also for updates that I send.  It is relatively easy to use and, more importantly, easy for the customer to use.  It creates a self-extracting file that installs the installation or update wherever you specify, including the icon (complete with the command line!).  Which brings me to:

SPECIFY THE PROGRAM FOLDER ON THE CUSTOMER'S COMPUTER

Whenever I sell an app, I install it in the same folder (C:\COMPUNIQ\DATA), regardless of the customer.1  There are several reasons for this:

 

The app is always in the DATA sub-folder, just like on my computer.  This means that (with only a few exceptions2), I can create the app on my machine and be confident that it will run the same on my customer's machine.

 

By keeping the main folder name the same, I don't have to worry about what went where for whom.  This also means that my installation and update routines are easily interchangeable.

 

This also allows me to hard-code certain scripts that I use to protect the program against unlicensed use.3


Then I put the program files in C:\COMPUNIQ.

MAKE CUSTOMER SUPPORT YOUR NUMBER 1 PRIORITY

Good customer support is probably the most important aspect of any business (just think back to the last time you tried to get support for something, and you came away mad because the support was so bad!).  With software, it's even more important.  This is a product that most people don't understand well, and as a result tend to use it in ways that you (as a developer) would never anticipate.  Therefore, you have to be prepared to test your app thoroughly, and then deal with the customer's questions.  

This also means that you might have to alter the program, not because it is flawed, but because it's not customer-friendly.  I discussed phone support earlier, but this is a little different.  Unless a customer is being extremely unreasonable, I won't charge for making these types of changes.  (This is just one reason that you have to add additional time to your estimate of how long the app will take to develop.)

ARE WE HAVING FUN YET???

Obviously, there are more details to deal with.  Also, going into business for yourself is not for everyone. But if, after reading this article, you're still excited about selling apps, keep in mind that you've got one of the best tools you could ever ask for - Alpha Five! 



1Remember that the installation for computers on a network is slightly different than for a single computer.  Among other things, you have to have a routine to allow the workstation computers to "find" the server.  For more information, see the Code Archive, or look for an article on Network Optimizing in a future issue.

2In some rare cases with certain operations on a network, I have to define paths a little differently.  This is why having a network at home can be a real life-saver.

3True, you could use additional scripting to determine the folder in which the customer installed the program, but since I'm inherently efficient (??), I prefer not to give them that option.  In selling apps for over 9 years, I've never found this to be an significant problem.


[PRINTER FRIENDLY VERSION]
Powered by iMakeNews.com