#!/usr/bin/perl -w # # Copyright 2000 by Michael Coyle # Released under GPL. # # Call it with: # [an error occurred while processing this directive] # # Get the file name from the browser... $file_name = $ENV{'QUERY_STRING'}; # Open the file... open (EP, $file_name); # Print to the browser... print "Content-Type: text/html \n\n"; # Load the file and keep spitting it out to the browser... while () { chomp; print "$_ "; } # Close the file and go home... close EP #!/usr/bin/perl -w # # Copyright 2000 by Michael Coyle # Released under GPL. # # Call it with: # [an error occurred while processing this directive] # # Get the file name from the browser... $file_name = $ENV{'QUERY_STRING'}; # Open the file... open (EP, $file_name); # Print to the browser... print "Content-Type: text/html \n\n"; # Load the file and keep spitting it out to the browser... while () { chomp; print "$_ "; } # Close the file and go home... close EP

3D
3D Photo Gallery (Part 1)
3D Photo Gallery (Part 2)

Audio
Poor Man's MIDI
Make A Metronome
iPod Tricks (Part 1)
iPod Tricks (Part 2)
iPod Tricks (Part 3)
Laugh Track Machine
Audio Player with Reverb
Shepard Melody
RB Phone Home
Build a Drum Machine

Custom Controls and Windows
Double Click Listbox
Draggable Metal Window
Double Click Canvas
Custom Buttons
Custom Buttons Part II
iTunes-style Listboxes
Custom Controls


General RB
Scrolling Windows
Using Mesage Dialogs
Case-Sensitive Word Finder
Introduction to Stacks
Wiggle Window
JPEG in PDF
Listbox Checkboxes
Background Applications
Listbox Auto-Find
Virtual Volumes
Time Tracker
Software Distribution (Part 1)
Software Distribution (Part 2)
Software Distribution (Part 3)
Software Distribution (Part 4)
Exceptions
Tips and Tricks
Text Clippings Made Easy

Graphics
Drawing a Simple Gradient
The SpriteSurface: Space Game
Image Spinner
Cropping Graphics (Part 1)
Cropping Graphics (Part 2)
Cropping Graphics (Part 3)
Cropping Graphics (Part 4)
Shimmer Graphics
Lissajous Figures
Simple Screen Capture
Vector Graphics
Kaleidoscope Images
Stegonography
Spirals!
Image Table
RB Magnifying Lens
Screen Capture
Color Picker Tutorial

Hacks
Ghost Grab
Speedy Mouse Extension
iTunes Plugins
iTunes Skinner

Mac OS X
Global Hot Key Event (Carbon Events)
Login Welcomer (Carbon Events)
Add/Remove Buttons
Resizable Sheets
Mac OS X Preferences Window
Using Sheets in REALbasic
Build a Bundle (Part 1)
Build a Bundle (Part 2)
Dock Your Passwords
Mac OS X Debugging
REALbasic Mac OS X Icon Tutorial
Animate Your Dock
RB and the Command Line

Menus
Window Menu
Templates Menu
Listbox Menu

Novelty
Guessing Game
Calendar Trivia
Tile Mixer
Zip Code Finder
Happy Valentine's Day
Merlin Simulator (Part 1)
Merlin Simulator (Part 2)
Merlin Simulator (Part 3)
Buzzword Machine
AppleSoft BASIC

Printing
Print to PDF

Registration
Registration Code Validation
Network Registration Codes

Resources
Picture Extractor (Part 1)
Picture Extractor (Part 2)

Serial
Caller ID (Part 1)
Caller ID (Part 2)
Caller ID (Part 3)

Speech
Speech Recognition

Socket Communication
Easy Peer-to-Peer File Sharing
MacPAD Version Checking
Display Web Image In Canvas
HTML IMG Tags
Version Tracking
Even Smarter Instant Messaging
Web Tiler
JavaScript and REALbasic
Stock Ticker (Part I)
Stock Ticker (Part 2)
AIM Mate

XML Manipulation
Simple XML Introduction

Video
Big Brother Video Capture

Note: All articles without a byline were written by Erick Tejkowski. When cleaning the site I removed them because the code differed from page to page, and I have yet to put them back in.

resexc2.gif (20k)




REALbasic for Dummies
by Erick Tejkowski

$19.99 @ Amazon





Files are in Stuffit 6.5 or earlier, or ZIP format.
Download Stuffit Expander

Tell us about a bad link.

Software Distribution Part I
04-04-02




So you've built the perfect utility, game, or widget using REALbasic and you want to unleash it on some victims. What do you do next? Today we begin a short multi-week series about the process of releasing software. We will discuss the different kinds of "wares", open source, how to protect your software, and some other goodies. The goal behind this tutorial series is to look at the various avenues you can follow to share your REALbasic creations with the world.

Introduction

After spending hours crafting a REALbasic masterpiece, you might find yourself wanting to share your work with other people. Entrepreneurs as well as philanthropists will enjoy the many facets of software distribution.

Kinds of Software

How and why you will distribute your REALbasic masterpiece are the first questions you should answer when you decide it's time to release some software. Most Mac users have a hard drive loaded with software that falls into one of these categories:

  • Freeware - Free-to-use application
  • Shareware - Free to pass around, but requires a (usually small) payment to "register" the software
  • "Gimme something"-ware - Programmers are goofy. Sometimes they accept postcards, bumper stickers, coffee mugs, or even beer for payment to use their software.
  • Open source - Some programmers like to share... not just their applications, but even the source code.
  • Commercial - Some applications are sold by businesses.
Keep in mind that this list isn't comprehensive. It's simply meant to illustrate that software distribution comes in many formats.

Some questions you might consider before making a decision about software distribution:

  • Are you going at this alone or with a small group of friends? If so, you might prefer one of the first four groups in the above list.
  • Is your application unique, complex, or perform a useful task? If so, maybe you can make some money from it. Commerical applications typically cost much more than shareware, but often provide more professional quality. Shareware applications, on the other hand, can often be of very high quality, cost much less, and outperform commercial applications.
  • Hobbyists might prefer the lower cost of establishing a "business" by selling software the shareware way.
  • Maybe your project is a nice example of source code and you want to share it with other developers. There are numerous types of source code licenses that you can use when releasing source code.
The fun part about this proces is that you decide. It's your software, afterall! Do with it as you see fit.

How to Distribute Software

Once you've decided what kind of software or code you will distribute, you need to figure out how to distibute it. These days, software distribution is centered around the internet. It allows you to offer easy accessibility, current updates, and low distribution costs. In fact, your distribution costs can range anywhere from FREE to hundreds or even thousands of dollars. If you're interested in free, you can post software on your iDisk or one of countless other free web servers. Don't try this, though, if you plan to make money. Many free sites have rules regarding moneymaking ventures. If you want to start selling shareware or commercial software, a suitable web site can be had for under 100 dollars per year. Again, the choice is your's. Your costs will vary depending on a few factors: amount of traffic, size of your web server, number of email accounts, programming features. The internet gives you a wide selection to choose from, so you can be as choosy as you wish.

If you decide to release your software as a commercial or shreware venture, you have another factor to consider. How will you collect your loot? Like web services, there are many solutions available for selling your product. There are services who will help you establish a web store, accept payments for you, and even send registration codes to your customers. Shareware developers on the Mac are fond of Kagi. Many commercial vendors are also available. These businesses typically collect your payments and send you a monthly check minus a service fee.

Conclusion

That's it for this week. As you can see, releasing software is loaded with possibilities. There are many options from which to choose, but only you can decide which is right for you. Next time we'll look at some source code examples you can use to "protect" your software. See you then!






Please support ResExcellence by Visiting our Sponsors. One click makes a difference.


Download REALbasic and create your own software!

#!/usr/bin/perl -w # # Copyright 2000 by Michael Coyle # Released under GPL. # # Call it with: # [an error occurred while processing this directive] # # Get the file name from the browser... $file_name = $ENV{'QUERY_STRING'}; # Open the file... open (EP, $file_name); # Print to the browser... print "Content-Type: text/html \n\n"; # Load the file and keep spitting it out to the browser... while () { chomp; print "$_ "; } # Close the file and go home... close EP #!/usr/bin/perl -w # # Copyright 2000 by Michael Coyle # Released under GPL. # # Call it with: # [an error occurred while processing this directive] # # Get the file name from the browser... $file_name = $ENV{'QUERY_STRING'}; # Open the file... open (EP, $file_name); # Print to the browser... print "Content-Type: text/html \n\n"; # Load the file and keep spitting it out to the browser... while () { chomp; print "$_ "; } # Close the file and go home... close EP