home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Mac Game Programming Gurus
/
TricksOfTheMacGameProgrammingGurus.iso
/
Information
/
CSMP Digest
/
volume 2
/
csmp-v2-017.txt
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
Text File
|
1994-12-08
|
52.1 KB
|
1,287 lines
|
[
TEXT/R*ch
]
C.S.M.P. Digest Fri, 26 Feb 93 Volume 2 : Issue 17
Today's Topics:
Is the Finder's name always "Finder"?
Keeping a resource file open forever from an INIT
Shareware summary (long)
The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
The digest is a collection of article threads from the usenet newsgroup
comp.sys.mac.programmer. It is designed for people who read c.s.m.p. semi-
regularly and want an archive of the discussions. If you don't know what a
newsgroup is, you probably don't have access to it. Ask your systems
administrator(s) for details. If you don't have access to news, you can
post articles to any newsgroup by mailing your article to
newsgroup@cs.utexas.edu
So, to post an article to comp.sys.mac.programmer, mail your article to
comp-sys-mac-programmer@cs.utexas.edu
Note the '-' instead of '.' in the newsgroup name. Be sure to ask that
replies be emailed to you instead of posted to the group, and give your
email address.
Each issue of the digest contains one or more sets of articles (called
threads), with each set corresponding to a 'discussion' of a particular
subject. The articles are not edited; all articles included in this digest
are in their original posted form (as received by our news server at
cs.uoregon.edu). Article threads are not added to the digest until the last
article added to the thread is at least one month old (this is to ensure that
the thread is dead before adding it to the digest). Article threads that
consist of only one message are generally not included in the digest.
The entire digest is available for anonymous ftp from ftp.cs.uoregon.edu
[128.223.8.8] in the directory /pub/mac/csmp-digest. Be sure to read the
file /pub/mac/csmp-digest/README before downloading any files. The most
recent issues are available from sumex-aim.stanford.edu [36.44.0.6] in the
directory /info-mac/digest/csmp. If you don't have ftp capability, the sumex
archive has a mail server; send a message with the text '$MACarch help' (no
quotes) to LISTSERV@ricevm1.rice.edu for more information.
The digest is also available via email. Just send a note saying that you
want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
automatically receive each new issue as it is created. Sorry, back issues
are not available through the mailing list.
Send administrative mail to mkelly@cs.uoregon.edu.
-------------------------------------------------------
From: walkerj@math.scarolina.edu (Jim Walker)
Subject: Is the Finder's name always "Finder"?
Organization: USC Department of Computer Science
Date: 21 Jan 93 19:20:25 GMT
I see that Finder's name is locked (under System 7), but is that always the
name, even under foreign system software? If not, what is the best way to
get the name? (I know how to read it from the boot blocks, and I know that
there is a low-memory global FinderName, but I wonder if there is a better
way.)
- --
-- Jim Walker USC Dept. of Math. walkerj@math.scarolina.edu
+++++++++++++++++++++++++++
From: edw@distant.uucp (Ed Watkeys)
Date: Sun, 24 Jan 93 09:13:15 EST
Organization: Distant Software
In article <walkerj.727644025@milo.math.scarolina.edu> (comp.sys.mac.programmer), walkerj@math.scarolina.edu (Jim Walker) writes:
>
> I see that Finder's name is locked (under System 7), but is that always the
> name, even under foreign system software? If not, what is the best way to
> get the name? (I know how to read it from the boot blocks, and I know that
> there is a low-memory global FinderName, but I wonder if there is a better
> way.)
>
Since the signature stays the same (I assume), you can get it's name by
cycling through GetNextProcess() (IM VI 29-11) until you find the Finder's
process serial number and then use GetProcessInformation() (IM VI 29-10)
to get its name. Of course, if the Finder isn't running, you're screwed in
this case.
Using PBCatSearch() (IM VI 25-40) would work in all cases, as far as I can
see. Just set the criteria to be the Finder's type/creator, and let it go.
> -- Jim Walker USC Dept. of Math. walkerj@math.scarolina.edu
Ed
- --
Edwin H. Watkeys III edw@distant.uucp
Distant Software dsinc!jabber!distant!edw
+1 215 387 7971 edw%distant@bts.com
+++++++++++++++++++++++++++
From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
Date: 25 Jan 93 01:57:43 GMT
Organization: University of Waikato, Hamilton, New Zealand
In article <01050133.og3hb4@distant.uucp>, edw@distant.uucp (Ed Watkeys) writes:
>
> In article <walkerj.727644025@milo.math.scarolina.edu> (comp.sys.mac.programmer), walkerj@math.scarolina.edu (Jim Walker) writes:
>>
>> I see that Finder's name is locked (under System 7), but is that always the
>> name, even under foreign system software? If not, what is the best way to
>> get the name? (I know how to read it from the boot blocks, and I know that
>> there is a low-memory global FinderName, but I wonder if there is a better
>> way.)
>>
>
> Since the signature stays the same (I assume), you can get it's name by
> cycling through GetNextProcess() (IM VI 29-11) until you find the Finder's
> process serial number and then use GetProcessInformation() (IM VI 29-10)
> to get its name. Of course, if the Finder isn't running, you're screwed in
> this case.
>
> Using PBCatSearch() (IM VI 25-40) would work in all cases, as far as I can
> see. Just set the criteria to be the Finder's type/creator, and let it go.
I would say: stick with the low-memory global approach. If you do anything
more complicated, you risk coming up with a different answer from what the
system would. For example, a catalog search could be confused by multiple
Finders on the boot disk.
On the other hand, the right answer really depends on what you want to do
with it. If you use the FinderName, then you will also respect any substitutions
of the standard Finder by alternative special-purpose programs. If the Finder
substitute lacks some function that you're assuming is present, you may be
in trouble.
Lawrence D'Oliveiro fone: +64-7-856-2889
Computer Services Dept fax: +64-7-838-4066
University of Waikato electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand 37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
---------------------------
From: pbrande1@cc.swarthmore.edu (Philip Brandenberger)
Subject: Keeping a resource file open forever from an INIT
Organization: Swarthmore College Computing Center
Date: Sun, 24 Jan 1993 01:24:14 GMT
Hello all-- I hope this is blatantly FAQ.
I am working on an INIT in which I'd like to keep my resource file open
forever much as Suitcase/MasterJuggler does for itself and its suitcases and
as Carpetbag does also.
I gather that the way to do this is to hack at the FCBs, but the whole
process is a bit cloudy. If anyone has sample code or a basic description
that would be great.
Thanks,
Phil
- --
Phil Brandenberger
phil@cs.swarthmore.edu
+++++++++++++++++++++++++++
From: evans@Apple.COM (John Evans)
Date: 25 Jan 93 01:13:51 GMT
Organization: Apple Computer Inc, Cupertino, CA
The way I did this years ago (when I wrote Polly MacBeep) was something like
this:
1) open the file you want to keep around
2) use the TopMapHndl variable to get the resource map of the file
3) change TopMapHndl to point at the next resource map in the chain
(usually the resource map of the init) This eliminates that file
from the resource chain.
4) use SysMapHndl to find the resource map of the system.
5) follow the NextMap links (described on page 129 of IM-1) until
you find the LAST resource map in the chain.
6) add your resource map beyond the last map.
You may also (before re-adding your map to the resource chain) have to
copy the resource map into the system heap. (I don't have the code with me.)
This should add you to the resource chain, and make you system 7.1
friendly.
Good luck.
- --
+========================+===============================================+
| John S. Evans | These opinions are mine. Apple's opinions are |
| Collaborative Systems | Apple's. Any similarity is coincidental. |
| Apple Computer, Inc | "They've given you a number, and taken away |
| evans@apple.com | your name." -Johnny Rivers |
+========================+===============================================+
+++++++++++++++++++++++++++
From: keith@taligent.com (Keith Rollin)
Organization: Taligent
Date: Mon, 25 Jan 1993 02:21:29 GMT
In article <2L9WB4WS@cc.swarthmore.edu>, pbrande1@cc.swarthmore.edu (Philip
Brandenberger) wrote:
>
> Hello all-- I hope this is blatantly FAQ.
>
> I am working on an INIT in which I'd like to keep my resource file open
> forever much as Suitcase/MasterJuggler does for itself and its suitcases and
> as Carpetbag does also.
>
> I gather that the way to do this is to hack at the FCBs, but the whole
> process is a bit cloudy. If anyone has sample code or a basic description
> that would be great.
Here's how I do it:
// --------------------
// A macro for patching traps. Follows my own naming conventions, so it
// may not be useful for you. But I include it for completeness.
#define PatchTheTrap(trapName, type) \
old##trapName = (trapName##Proc) Get##type##TrapAddress(_##trapName); \
Set##type##TrapAddress((long) My##trapName, _##trapName)
// --------------------
// The relevent parts of my INIT's startup code. I strip the PC according
// to Technote #245 (I don't know its name under the new TN scheme). I then
// roll my own RememberA0/SetUpA4, since it saves a few bytes. Next, I
patch
// InitAllPacks and remember what file I came from for later. Finally, I
// restore A4 and leave.
void main()
{
Ptr ourAddress;
Handle ourHandle;
Handle show;
asm {
lea @continue,A0 ; Fix up the PC (TN #245)
move.l A0,D0
StripAddress ; clean the PC
move.l D0,A0
jmp (A0) ; use the new PC
@continue
move.l A4,-(sp) ; save orig A4
bsr __GetA4 ; get pointer to save location into A1
lea main,A4 ; get our A4
move.l A4,(A1) ; save it so SetUpA4() will work
move.l A4, ourAddress ; for the RecoverHandle, later
}
PatchTheTrap(InitAllPacks, Tool);
RememberMe();
RestoreA4();
}
// --------------------
// Remembers the name and location of the file owning the currently active
// resource map. This is stored in a global variable, which is a snap under
// THINK C. If you are using MPW, read Technote #256 or develop #12.
static void RememberMe()
{
FCBPBRec pb;
OSErr err;
pb.ioCompletion = nil;
pb.ioNamePtr = gOurName;
pb.ioVRefNum = 0;
pb.ioRefNum = CurResFile();
pb.ioFCBIndx = 0;
err = PBGetFCBInfoSync(&pb);
gOurVRefNum = pb.ioFCBVRefNum;
gOurDirID = pb.ioFCBParID;
}
// --------------------
// InitAllPacks is called during the launching of an application. I take
this
// opportunity to re-open my INIT (since the system closes it after it was
// called during boot-up time).
static pascal void MyInitAllPacks(void)
{
SetUpA4();
oldInitAllPacks();
if (gMyRefNum == 0)
OpenAndAddMe();
RestoreA4();
}
// --------------------
// Tricky routine that opens a resource file and places the resource map
// BEHIND the system's. I want it behind the system resource file because I
// want it available even if the program calls UseResFile(0). Doing it this
// way also means that I only have to open the resource file once instead
of
// once per application.
pascal short InlineHOpenResFile(short vRefNum,long dirID,ConstStr255Param
fileName,
char permission) = 0xA81A;
static void OpenAndAddMe()
{
THz currentZone;
short oldFile;
short refNum;
ResMapHandle current = nil;
ResMapHandle previous = nil;
ResMapHandle ourParent = nil;
ResMapHandle us = nil;
ResMapHandle system = nil;
currentZone = GetZone();
SetZone(SystemZone());
oldFile = CurResFile();
refNum = InlineHOpenResFile(gOurVRefNum, gOurDirID, gOurName, fsRdPerm);
UseResFile(oldFile);
if (refNum != -1) {
current = (ResMapHandle) TopMapHndl;
// First, find us (we should be on top)
while ((current != nil) && ((**current).refNum != refNum)) {
previous = current;
current = (**current).nextMap;
}
if (current != nil) {
ourParent = previous;
us = current;
}
// Second, find the System
system = (ResMapHandle) SysMapHndl;
if ((us == nil) || (system == nil)) {
CloseResFile(refNum);
} else {
if (ourParent != system) {
//
// Be sure to perform all these steps so that the
// resource chain is never inconsistant or circular.
// If that happens, debuggers like TMON will detonate.
//
if ((ResMapHandle) TopMapHndl == us)
TopMapHndl = (void*) (**us).nextMap;
if (ourParent)
(**ourParent).nextMap = (**us).nextMap;
(**us).nextMap = (**system).nextMap;
(**system).nextMap = us;
}
gMyRefNum = refNum;
}
}
SetZone(currentZone);
}
- -----
Keith Rollin
Phantom Programmer
Taligent, Inc.
---------------------------
From: kurisuto@chopin.udel.edu (Sean J. Crist)
Subject: Shareware summary (long)
Date: 17 Jan 93 16:37:03 GMT
Organization: University of Delaware
Here is a summary of some of the many interesting responses I've
gotten to my question about the number of payments which shareware
authors typically receive. Since nobody specifically gave me permission
to use their name in my summary, I've stripped out all names as well as
names of shareware products. There were so many responses to my
question that I haven't been able to include quotes from everyone's
mailing, nor bring up every point; I'll do my best to bring up the major
ones.
I'll start with the amount people have charged, and the amount they have made:
One person wrote:
>I made about $500 off of one program that had a $2 shareware fee with a $8
>option to buy the source code. I have made less off of more expensive
>programs.
Another wrote:
>I ask $5. Several users have said this is too low. However, I make $3
>per copy after expenses which I consider to be appropriate for such a
>simple (yet addictive) utility.
>I have gotten 153 shareware orders in the 11 months [program] has been
>available. Statistically, 95% of orders placed are paid. I have
>marketed it only be uploading it to three online services. As it becomes
>available from BMUG, AppleLink CD, EduCorp and other non-online services, I
>expect orders to increase.
>By my calculations, I've made $459 after expenses. Far more than my
>goal of paying for my [phone] which I also use with my
>computer to keep from annoying others in the house with long calls.
Another wrote:
>Lets see, I've written three shareware programs, [A, B, and C]. I asked for
>$5 for each, and $150 for site licenses. I've made a total of around
>$1000, about $800 in site licenses. Do most people pay? Very hard to
>tell, I doubt it. The only number I can go by is the number of people who
>downloaded each of the programs from sumex-aim (which is around 3000 for
>each program).
>Of the 3000 people for each program, I've only recieved around a total of
>perhaps 40 or 50 payments (including site licenses).
Probably the most successful shareware writer of all wrote:
>I wrote [program], a shareware graphics adventure game for the Macintosh,
>about six years ago... [program] is complete in one file, with full
>on-line help. I ask $10.
>In six years, [program] has accumulated between 450 and 500 customers. It has
>usually averaged around one and a half checks a week, though that figure has
>been both higher and lower at various times. (The best average was around
>three checks a week.) The gross is therefore something over $4500, which
>doesn't really pay me back for the time I spent writing it.
$4500. As a starving student, I could deal!
Several people look at the number of downloads from a host machine, and
at the number of shareware responses they have received, and infer from
this ratio that many people are not being honest. For example, one person
wrote:
>Based on the number of downloads of my software from GEnie and CompuServe
>and the number of response I got, I calculated somewhere between 7% and 10%
>of people payed for the program. Once EduCorp ripped it off and stuck it on
>their CDs, I had no way to gauge responses.
>My guess is that most people take advantage of the shareware system and
>just pretend it's free.
However, as someone else pointed out:
>I cannot answer your questions, as I have never released any shareware,
>however, I would like to point out that if you release software as
>shareware, you can expect that substantially more people will look at it
>than will use it. I find that I typically examine 50-100 times as much
>shareware as I find the need to use and so pay for. I routinely see
>"flames" on the network about the fact that "300 people downloaded my
>software yet I received only 2 payments..." as evidence that shareware does
>not work. I believe that these observations are in error.
On the level of honesty among the public, there were various views offered:
>Based on the number of downloads of my software from GEnie and CompuServe
>and the number of response I got, I calculated somewhere between 7% and 10%
>of people payed for the program. Once EduCorp ripped it off and stuck it on
>their CDs, I had no way to gauge responses.
Another wrote:
>Many people, I'm sure, are not deliberately dishonest: they may intend to
>pay, but it's very hard to "get around to" writing the check and
>addressing the envelope. (I know, I'm that way myself.) I also suspect
>that many people simply don't quite realize what shareware is. If it never
>occurs to them to select "About [program]" from the Apple menu, they will
>never see my shareware request. (I could make the request more intrusive,
>and I might in a new release I am planning; but in general I don't like "in
>your face" reminders, and I won't write software like that.)
Another wrote:
>I get a disproportionate number of orders from churches and schools. I don't
>know why this is, my theories are...
> 1) These people [need program X more].
> 2) These people are more 'honest'.
> 3) These people don't just expense a $35 program from the local
> software vendor. The $20 makes a difference to them.
Another wrote:
>interesting questions! Here is my personal experiences. A couple of years
>ago I wrote [a useful-sounding piece of Hyperware] for a
>$15 shareware fee. I still haven't seen one shareware payment and the stack
>is pretty well done with a simple and elegant interface (IMHO). I also
>wonder if people are just less likely to pay for stackware vs other "real"
>software???
Another wrote:
>I firmly believe in the good intentions of most shareware users to pay.
>(I didn't design [program] for those with bad intentions.) Most people
>are honest and concerned enough to WANT TO pay. Whether they get
>around to paying is directly related to how hard it is to pay. Myself,
>having only average organization and willpower, would find it hard to
>get out an envelope, locate the address, write the address, get out the
>checkbook, write the check, get out the paper and pen, write an
>explanatory note, find and stamp and mail it off. Many people,
>including myself, have done this occasionally.
There was difference of opinion on the question of protection schemes,
such as refusing to run on the same machine for more than two weeks
until a registration number has been entered. Some have used this
approach, and it might be a good idea. Other have noted, though, that
this isn't very user-friendly, and that it can be the source of griping in the magazine
software reviews. One person had this idea:
>I took a different, user oriented approach. [Program] reminds the user
>in several places to call my ... phone number, [number], to request
>a digit master disk for $5 before their 2-week shareware period ends.
>Making the call is easy and they are then free of shareware guilt with
>minimal effort. I send them the disk with full [program], demo [program]
>and some other Shareware along with a bill and return envelope. I hope
>they use the disk and stick my bill with their rent, electric and Macy's
>bills to pay next month. That's when they'll have their checks and
>stamps handy.
There seems to be a consensus that you should not write shareware
expecting to get rich. The reason for writing shareware is to just enjoy
the experience of creating something for the public, and maybe making a few
extra bucks as a bonus:
>Let's put it this way: don't quit your job to become a full-time shareware
>author. It really depends on how useful your program is. Even if you create
>a popular shareware program, I would estimate only 1% of the people who keep
>your program pay for it. Don't write shareware to make money, write it for
>your personal enlightenment. As long as you are satisfied with your
creation,
>that's all that matters, so if you expect no registrations, each registration
>is a pleasant bonus that you can use as spending money. Also, in my and my
>partner's experience, a disproportionate number of registrations will come
>from outside the United States. Europeans and Australians seem to appreciate
>shareware more than Americans, despite the fact that they have to go to way
>more trouble to get American currency and mail it to you.
Another wrote:
>The bottom line: don't write shareware thinking that you'll get rich from the
>payments. Nobody ever has, although there are one or two cases of people who
>worked *very hard* producing, maintaining, and upgrading a really useful tool
>over a long period of time, who made a fair amount of money. But they
made their
>product their day job, and put huge amounts of time into it: they didn't just
>write it and release it and wait for the checks.
>There are other benefits than money. If your product is good, you will
>get a lot of pleasant and interesting mail from all around the world. Your
>name may become known to a wide variety of people you've never met. I am
>also the author of a [program] which I released as freeware. I didn't
>think many people would pay for it, but I wanted lots of people to use
>it. [Program] was favorably reviewed in Byte magazine and in a number of
>books [...], and they all mentioned my name. It's a nice thing to put on
>your resume.
>Finally, a really good program may attract the attention of a legitimate
>software publisher. (It will certainly attract the attention of less
>legitimate publishers, but you should ignore them.) You may then be able
>to sell the rights and source for a respectable sum. (Don't ask me how
>much, or on what terms; this has never happened to me! But it has happened
>to the author of the game "Glider" and to the virtual terminal program "Red
>Ryder", now known as "White Knight".)
>My advice: don't write shareware for the money. Write it because you want to
>write the program anyway, and because you want to see your software used, and
>because you'd enjoy a little positive notoriety and some fan mail. Don't
>worry about the cheaters; you can't do much about them anyway. Chalk them
>up to the price of doing business.
Thanks to all who responded!
- --Kurisuto
+++++++++++++++++++++++++++
From: d88-jwa@dront.nada.kth.se (Jon Wtte)
Date: 17 Jan 93 18:10:55 GMT
Organization: Royal Institute of Technology, Stockholm, Sweden
In <C10BHr.E15@news.udel.edu> kurisuto@chopin.udel.edu (Sean J. Crist) writes:
>>partner's experience, a disproportionate number of registrations will come
>>from outside the United States. Europeans and Australians seem to appreciate
>>shareware more than Americans, despite the fact that they have to go to way
>>more trouble to get American currency and mail it to you.
On the other hand, there are only 230 million people in the US,
and about 5 billion people in the rest of the world; something which
US software writers seem to neglect :-)
Anyway, one problem with paying for shareware is that you don't
use Giro in the US. At least here in Europe, everybode has a
cheque account with a Giro attached, and everyone who wants to
get paid has some Giro-accessible account. Paying then becomes
a matter of filling out a short transaction notice (often pre-
printed on the bills you get) and send it to thebank signed.
The bank will immediately (the day after) transfer the money
to the indicated account.
I shudder at the thought of having to write a cheque for each
debt, and MAIL it to each place I own money...
The problem with this is that people don't cash cheques much,
so cashing a cheque from a bank other than yours is often
subject to a $4 fee, and if the cheque is from abroad, the fee
is $10. Now, what would that do to a normal shareware payment?
In the same way, when I pay for US shareware, I simply go to
a change office, buy the 15 or 20 bucks in notes, and send them
in an insured shipment - the extra cost is $5, but that's half
of what a wire transfer costs.
Cheers,
/ h+
- --
-- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
Nothing crashes like a Macintosh.
-- Guy Kawasaki
+++++++++++++++++++++++++++
From: ingemar@isy.liu.se (Ingemar Ragnemalm)
Organization: Dept of EE, University of Linkoping
Date: 17 Jan 93 18:23:31 GMT
kurisuto@chopin.udel.edu (Sean J. Crist) writes that someone wrote:
>>Finally, a really good program may attract the attention of a legitimate
>>software publisher. (It will certainly attract the attention of less
>>legitimate publishers, but you should ignore them.)
Now, how do I tell a legitimate publisher from a "less legitimate" one?
Does anyone on the net have any really bad experiences with bad publishers?
Personally, I have so far been contacted by one publisher: "BASICC". Does
anyone know them?
- --
Ingemar Ragnemalm
Dept. of Electrical Engineering ...!uunet!mcvax!enea!rainier!ingemar
..
University of Linkoping, Sweden ingemar@isy.liu.se
+++++++++++++++++++++++++++
From: pete@tatjana.rice.edu (Louis Wu)
Organization: Whatsamatta U
Date: Mon, 18 Jan 1993 03:34:34 GMT
> Here is a summary of some of the many interesting responses I've
> gotten to my question about the number of payments which shareware
> authors typically receive.
> ....
I agree that you should only write shareware for the simple satisfaction of
providing good software for general use, otherwise you're probably setting
yourself up for disappointment.
Still, there are more honest people out there than I had originally
thought. I've made enough to pay for my computer, which I certainly never
expected in the beginning. My checks have probably come half from the
states, half from elsewhere. Of the elsewhere, Australia sent the most. But
I've also had checks from Britain, Canada, Denmark, France, Germany,
Holland, Japan, Norway, Sweden, and Switzerland.
My point is, if you do this for a hobby, it can be very rewarding. Maybe
you could make more by going commercial, but getting glowing email from all
over the world is a very neat trip.
- --
=============================================================================
Pete Keleher "Relax! Don't worry! Have a homebrew!" pete@cs.rice.edu
=============================================================================
+++++++++++++++++++++++++++
From: peirce@outpost.SF-Bay.org (Michael Peirce)
Date: 18 Jan 93 17:51:18 GMT
Organization: Peirce Software
In article <1993Jan17.181055.16582@kth.se> (comp.sys.mac.programmer), d88-jwa@dront.nada.kth.se (Jon Wtte) writes:
>
> The problem with this is that people don't cash cheques much,
> so cashing a cheque from a bank other than yours is often
> subject to a $4 fee, and if the cheque is from abroad, the fee
> is $10. Now, what would that do to a normal shareware payment?
>
> In the same way, when I pay for US shareware, I simply go to
> a change office, buy the 15 or 20 bucks in notes, and send them
> in an insured shipment - the extra cost is $5, but that's half
> of what a wire transfer costs.
Most of the overseas shareware payments I get are simply cash in an
envelope. This works best for me. I also get some payments as checks
that state that they are in US funds. I once got a payment from Germany
denoted in DM, unfortunately I cost more to cash the check with my
bank than they payment was worth - I still sent the guy a registration
anyway.
Personally I think I've done well with AppSizer. If you have a useful
utility make sure you offer site licenses - I've gotten a number of
these of late (I offer 1/2 the normal reg. fee ($19.95 -> $10) per
expected machine in the site license).
- -- Michael Peirce -- peirce@outpost.SF-Bay.org
- -- Peirce Software -- Suite 301, 719 Hibiscus Place
- -- -- San Jose, California USA 95117
- -- Makers of: -- voice: (408) 244-6554 fax: (408) 244-6882
- -- Smoothie -- AppleLink: peirce & America Online: AFC Peirce
+++++++++++++++++++++++++++
From: soc1070
Organization: University of Minnesota CIS
Date: Mon, 18 Jan 1993 20:21:00 GMT
I am a beginning programmer and I am getting ready to release my first
little program as shareware, so I have been following this thread with
great interest.
I have decided that the best approach for me, based on what i have read
here, is to have a small, tastefull dialog pop up at launch as a reminder.
I was also interested in the pre-registered aspect, i.e. when the fee is
paid, I send them a program with their registration already on the program.
My question is: What is the best way to implement pre-registration? Use
a resource containing the name & number of the user? (Making it easy for
anyone with a limited knowledge of mac programs and a copy of resedit to
modify...). Or hard code it and re-compile the program? This seems like
it would take alot of time better spent.
Is there a better method than those two that, as a newbie, I'm unaware of?
- ------
Tim Harincar A skunk is better company than
soc1070@vx.cis.umn.edu someone who prides themselves on
being frank. -Lazerus Long
+++++++++++++++++++++++++++
From: rmh@taligent.com (Rick Holzgrafe)
Date: 18 Jan 93 21:35:58 GMT
Organization: Semicolon Software
In article <ingemar.727295011@isy>, ingemar@isy.liu.se (Ingemar Ragnemalm)
writes:
>
>
> kurisuto@chopin.udel.edu (Sean J. Crist) writes that someone wrote:
>
> >>Finally, a really good program may attract the attention of a legitimate
> >>software publisher. (It will certainly attract the attention of less
> >>legitimate publishers, but you should ignore them.)
>
> Now, how do I tell a legitimate publisher from a "less legitimate" one?
I'm the someone who wrote that note. I had in mind some group of weasels from
the American midwest who sent me a nine-page contract, in quintuplicate, out of
the blue. I don't remember the details, but it essentially said that they owned
my program while I owned any and all responsibility for bugs and maintenance.
There was no cover letter, no discussion of their marketing or business plans or
other products, nothing! I made no reply and I never heard from them again.
But if I got an offer from, say, Broderbund, I'd sit up and pay attention. :-)
> Ingemar Ragnemalm
- -- Rick Holzgrafe
Semicolon Software
rmh@taligent.com
+++++++++++++++++++++++++++
From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy)
Organization: Kalamazoo College
Date: Mon, 18 Jan 1993 22:34:27 GMT
Tim Harincar (soc1070@vx.cis.umn.edu) writes:
>
>I have decided that the best approach for me, based on what i have read
>here, is to have a small, tastefull dialog pop up at launch as a reminder.
>
>My question is: What is the best way to implement pre-registration? Use
>a resource containing the name & number of the user?
>... Or hard code it and re-compile the program?
No, don't hard-code it. Use a resource with the user's name and other
identifying information. But put a quick checksum into the resource as
well; that will prevent people from typing in their own name. Better,
allow your customer to send you a name etc.; you compute the checksum
and return it to them as their "password"; they enter the information
and their password and click "register." It only works if the
password's right. (Of course, they have to type their name etc. exactly
as they reported it to you.)
Takes a little extra effort, but you don't even have to mail a new disk
to a customer. Plus, you get to come up with your own custom
checksumming algorithm, and no one can tell you "you're doing it wrong!"
My $0.02 on this whole discussion: I registered Compact Pro many moons
ago, but have misplaced my password to turn off the "register me"
screen. I don't even bother looking for it; it's easier to just keep
clicking the "Not Yet" button. A "would you like to register now?"
splash screen is _not_ that much of a hassle; don't feel guilty if you
write one into your app.
- --
Jamie McCarthy Internet: k044477@kzoo.edu AppleLink: j.mccarthy
"This sounds like a semantico-psychological backwardization of the
real world image." - Dave Bloom
+++++++++++++++++++++++++++
Organization: Royal Institute of Technology, Stockholm, Sweden
Date: Mon, 18 Jan 1993 22:45:11 GMT
In <18JAN199315212067@vx.cis.umn.edu> soc1070 writes:
>here, is to have a small, tastefull dialog pop up at launch as a reminder.
>I was also interested in the pre-registered aspect, i.e. when the fee is
>paid, I send them a program with their registration already on the program.
>Is there a better method than those two that, as a newbie, I'm unaware of?
Well, the thing you could do is have a "register" dialog;
have the user send you his name, and send him back his name
and a checksum based on the name; in the "register" dialog
you will record the name & sum entered, if they match, you
will add the name & checksum in a resource. Upon startup,
check for this resource, check that the checksum is OK, if
one of these fails, display the dialog, else display a
splash screen saying "This program registered to John Doe"
Be sure to handle non-us letters in names. The benefit of
this system is that only information, not any program needs
to be passed on.
CHeers,
/ h+
- --
-- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
Engineering: "How will this work?" Science: "Why will this work?" Management:
"When will this work?" Liberal Arts: "Do you want fries with that?"
-- Jesse N. Schell
+++++++++++++++++++++++++++
From: ehanson@umbc.edu (Mr. Erik Hanson)
Date: 18 Jan 1993 22:28:31 -0500
Organization: Univ. of MD, Baltimore County
In article <1993Jan18.223427.29931@hobbes.kzoo.edu>,
k044477@hobbes.kzoo.edu (Jamie R. McCarthy) writes:
>My $0.02 on this whole discussion: I registered Compact Pro many moons
>ago, but have misplaced my password to turn off the "register me"
>screen. I don't even bother looking for it; it's easier to just keep
>clicking the "Not Yet" button. A "would you like to register now?"
>splash screen is _not_ that much of a hassle; don't feel guilty if you
>write one into your app.
It is in fact _no_ hassle to QuicKeys users who can set QuicKeys
to click the "not yet" button every time the app starts up. I personally
dislike such splash screens, but I also partially dislike the shareware
concept (I'm not saying I don't pay for shareware programs that I use, but
I don't think I'd release one of my programs as shareware). These annoying
splash screens are very prominent on MS Windows shareware. You get _very_
sick of using these products, which is suppose is the point. But I don't
want to write software that will piss people off.
One of the problems with shareware is that people charge money for programs
that aren't worth any money at all, so either people don't use the programs
or they use the programs illegally, and feel a bit guilty.
Some shareware programs really are worth the money the author is requesting,
and sometimes much more. But it's tough for a software author to realize that
his or her piece of software isn't the coolest thing in the world, and might
not be worth the amount of money that he or she wants for it. (You'll have
a hard time convincing me of that, to be sure. That's one of the reasons I
think my programs will be freeware.)
Seeya!
Erk
___________ _______________________________ ________________________
Erik Hanson Computer Science Student Computer Science Coop
U. of Maryland Baltimore County National Geodetic Survey
ehanson@umbc.edu erik@isis.ngs.noaa.gov
+++++++++++++++++++++++++++
From: gdl1000@cus.cam.ac.uk (G.D. Landweber)
Date: 19 Jan 93 10:34:30 GMT
Organization: U of Cambridge, England
Just my $0.02. If you're planning some elaborate scheme to remind users
to register their shareware, particularly one involving you calculating
a password or registration code and sending it back to them, don't bother!
Spend that time improving your product and adding features so that people
will WANT to register. I'm a shareware author. I know this works.
I'm in England, so it takes a while for me to get back a registration code
if I send in a shareware fee across the Atlantic. Once I decide to send
in that check, I still have to wait two weeks (often more), enduring that
"This is shareware, you're 15 days have expired and you have not yet sent
in your registration fee. You are an evil person and should be destroyed."
message. Be nice to the user. Shareware has a personal touch that most
commercial software doesn't have. You want the user to think of you as a
nice guy rather than some entrepreneur.
Finally, make sure your program is worth the money before you pound the
user over the head with requests to register. In particular, it is VERY
annoying for a control panel to display a shareware message and then
crash when the user tries to change one of the options! People will not
want to pay money for bug-ridden software (sure it works on YOUR machine),
no matter how much you tell them they should.
- -- Greg "Buttons" Landweber
+++++++++++++++++++++++++++
From: sainaney@unixg.ubc.ca (Narayan R. Sainaney)
Date: 19 Jan 1993 21:44:29 GMT
Organization: University of British Columbia, Vancouver, B.C., Canada
RE: Using "Register" splash screens and User name w/ checksum
No offence intended but it would take an experienced MacsBugs user less
than 10 minutes to by-pass the checksum routine in your Application. Has anybody
thought of that??
Just wondering...
sainaney@unixg.ubc.ca
+++++++++++++++++++++++++++
From: bowman@reed.edu (BoBolicious)
Date: 20 Jan 93 01:34:12 GMT
Organization: Reed College, Portland, OR
In article <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
> RE: Using "Register" splash screens and User name w/ checksum
> No offence intended but it would take an experienced MacsBugs user less
>than 10 minutes to by-pass the checksum routine in your Application. Has anybody
>thought of that??
An experience MacsBug user can do lots of things. For example, my evil twin
once got annoyed with a registration dialog, so he set a trap break on
ModalDialog, jumped into the assembly, found where the program read in
the registration number, found the routine that determined whether it was
a suitable registration number, then dumped the disassembled routine in to
MPW Assembly, & wrote a routine to pass it every possible character combination
until a suitable registration number was found.
This worked great, until he needed a bug-fixed version, at which point he
just payed the damn fee. :-)
You can't worry too much about what "experienced Macsbug" users can do, because
they can probably break any scheme you implement. Fortunately, most people
don't fall into this category, and effort is far better spent creating a decent
piece of software rather than obsessing about people breaking your scheme.
cheers,
bobo In seeking the unattainable,
bowman@reed.edu simplicity only gets in the way.
"On Monday, numbers floated everywhere, and the world was full of
approximations." -- Spencer Heinz, _The Oregonian_, 1/5/93
+++++++++++++++++++++++++++
From: peter@cujo.curtin.edu.au (Peter N Lewis)
Organization: NCRPDA, Curtin University
Date: Wed, 20 Jan 1993 01:54:59 GMT
In article <18JAN199315212067@vx.cis.umn.edu>, soc1070 wrote:
> My question is: What is the best way to implement pre-registration? Use
> a resource containing the name & number of the user? (Making it easy for
> anyone with a limited knowledge of mac programs and a copy of resedit to
> modify...). Or hard code it and re-compile the program? This seems like
> it would take alot of time better spent.
Just use a resource. Its so easy to hack out the dialogs anyway (delete
the dialog resource, nope that crashes, NMI, atb GetNewDialog, g, sc, nop
out the call, no more dialog) its hardly worth the effort - if the user is
going to use the programs and not pay, then they are going to do it no
matter what you do (unless you put a LOT of effort in to it).
Actually, I was thinking of putting an even simpler scheme into one of my
programs - simply a "I have registered" Check Box in the preferences
dialog, let the user click it when they send off the money. But then, my
software is fully functional and free of anoying dialogs anyway, so the
users don't really get anything for registering, except to have me keep
writing programs. But hey, if you're not going to trust your users, don't
bother writing shareware...
Peter.
_______________________________________________________________________
Peter N Lewis <peter@cujo.curtin.edu.au> Ph: +61 9 368 2055
+++++++++++++++++++++++++++
From: walrath@faw.uni-ulm.de (Wayne K. Walrath)
Organization: FAW (Research Institute For Applied Knowledge Processing, Ulm, Germany)
Date: Fri, 22 Jan 1993 14:23:21 GMT
In article <PETE.93Jan17213434@tatjana.rice.edu>, pete@tatjana.rice.edu (Louis Wu) writes:
|
|> Still, there are more honest people out there than I had originally
|> thought. I've made enough to pay for my computer, which I certainly never
|> expected in the beginning. My checks have probably come half from the
|> states, half from elsewhere. Of the elsewhere, Australia sent the most. But
|> I've also had checks from Britain, Canada, Denmark, France, Germany,
|> Holland, Japan, Norway, Sweden, and Switzerland.
It would seem not such a bad idea to have an option for people
to pay their shareware fees closer to their home (country). For example,
let's say that a Belgium-based company/person
receives all payments from users in Europe
who want to register their program (necessitating of course, that shareware
authors have designated this company/person to be a legitimate (spelling?)
recipient for that program's fees), then periodically this C/P takes off
a pre-arranged commission for the service, then converts
and transfers all the money going to the States (as well as all
money destined for New Zealand, etc.), splits the cost of doing
this proportionately among the recipients in that country, takes
off their commission for the service (which could be
a small added cost that the users should be requested to
pay---as in, send me $x or else pay $x+2 to so-and-so in Belgium).
The initial problems I see with this are the following: 1) trusting the
agent (because contracts and trying to sue people across borders is
probably not worth it for the amounts involved--if you are receiving so
much from your programs than maybe you are ready to go commercial);
and 2) if the Author has promised something to those who register (disks,
numbers to unlock features/stop showing splash screen, etc.), then they
would need to get the information at regular, and timely intervals from the
agent.
It would definately add a new layer of organization and headaches to
what is supposed to be a streamlined, simple concept (the shareware concept,
I mean, for those of you not paying attention... ;-) ), but on
the other hand, it is already more complicated for users to pay their fees
to authors living in other countries.
Anyone care to add to these thoughts, or if someone knows about
organizations already established for this purpose, I would enjoy
hearing how they are working. So far, I have never seen a program that
mentioned such an organization.
|>
|> --
|> =============================================================================
|> Pete Keleher "Relax! Don't worry! Have a homebrew!" pete@cs.rice.edu
|> =============================================================================
|>
- -wayne / Wayne K. Walrath \
/ walrath@faw.uni-ulm.de \
\ The Rsrch. Institute for Applied /
\ Knowledge Processing & AI-Ulm, Germany /
+++++++++++++++++++++++++++
Organization: Royal Institute of Technology, Stockholm, Sweden
Date: Wed, 20 Jan 1993 16:18:57 GMT
In <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
> No offence intended but it would take an experienced MacsBugs user less
>than 10 minutes to by-pass the checksum routine in your Application. Has
>anybody thought of that??
Yes, and I won't tell you how I solve i, but it involves the
network and encrypted code resources :-)
Seriously, for shareware, who would bother? And a determined
hacker will ALWAYS be able to bypass anything you can throw
at him. Just make it hard for the average user who has ResEdit
but can't read M68000 assembly, and you've done enough.
Cheers,
/ h+
- --
-- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
_/~| Yellow
/ * \_ Shark (This signature has won the "Worst ASCII
~~~~\/ Software Logo of the Year" award)
+++++++++++++++++++++++++++
From: zz1bb@impending.ucsd.edu (Barry Brown)
Date: 20 Jan 93 16:58:47 GMT
In <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
> RE: Using "Register" splash screens and User name w/ checksum
> No offence intended but it would take an experienced MacsBugs user less
>than 10 minutes to by-pass the checksum routine in your Application. Has anybody
>thought of that??
I kind of like the method used by GIFConverter. The application creates a
Prefs file which contains the registration information. If that file is
deleted or replaced (even with a duplicate of itself), GIFConverter
recognizes that the file has potentially been altered and asks for the
registration serial number again. This means that even if you copy the
application and the prefs file to another computer, it will ask to be
re-registered. The only problem it causes is when a hard drive is restored
from a backup. Since the directory entry for the prefs file has changed, it
will ask to have the serial number entered again. But I don't have to
restore from a backup more than, oh, once every two years, so it doesn't
cause me any hardship. I'll have other, more important things to worry
about if my hard drive crashes.
- --
Barry E. Brown -- \ UCSD Instructional Computing Center
bebrown@ucsd.{edu,uucp,bitnet} \ Anime Stuff FTP Server administrator
Somewhere in San Diego, CA..... \ (ftp network.ucsd.edu [132.239.254.203])
"Stimpy, sometimes your wealth of ignorance astounds me." -- Ren
+++++++++++++++++++++++++++
From: peter@cujo.curtin.edu.au (Peter N Lewis)
Organization: NCRPDA, Curtin University
Date: Sat, 23 Jan 1993 10:11:57 GMT
In article <1993Jan22.142321.16278@wega.rz.uni-ulm.de>,
walrath@faw.uni-ulm.de (Wayne K. Walrath) wrote:
>
> In article <PETE.93Jan17213434@tatjana.rice.edu>, pete@tatjana.rice.edu (Louis Wu) writes:
> |
> |> Still, there are more honest people out there than I had originally
> |> thought. I've made enough to pay for my computer, which I certainly never
> |> expected in the beginning. My checks have probably come half from the
> |> states, half from elsewhere. Of the elsewhere, Australia sent the most. But
> |> I've also had checks from Britain, Canada, Denmark, France, Germany,
> |> Holland, Japan, Norway, Sweden, and Switzerland.
>
> It would seem not such a bad idea to have an option for people
> to pay their shareware fees closer to their home (country). For example,
> let's say that a Belgium-based company/person
> receives all payments from users in Europe
A simpler alternative, the one I took, is simply to open a bank account in
the relevent country, and then accept checks drawn on banks in that
country, and when you receive them, mail them to the bank. Of course,
opening a bank account in a country you're not in is often a non-trivial
exercise (fortunately I had help from a good friend over there).
Actually, its probably close to impossible to get an Australian bank
account set up without being here, I can check if anyone is interested.
Its nearly impossible to get one even if you are here these days! besides,
with the Australian dollar sinking as fast as it is, you wouldnt want to
leave the money here long (makes my ammerican dollars look good though :-).
I'm always amazed by shareware authors who say they get lots of payments
from Australia, I live here, and Australia makes up only a small percentage
of shareware payments I've recieved (like, I think about 4 or 5 total,
ever!)
> Anyone care to add to these thoughts, or if someone knows about
> organizations already established for this purpose, I would enjoy
> hearing how they are working. So far, I have never seen a program that
> mentioned such an organization.
I've never heard of one. I'd offer to help anyone who gets lots of
Australian shareware payments, but a) I'm so disorganized myself it would
be a bad idea, and b) I'd probably get jealous :-)
Have fun all,
Peter.
_______________________________________________________________________
Peter N Lewis <peter@cujo.curtin.edu.au> Ph: +61 9 368 2055
+++++++++++++++++++++++++++
From: mikeh@kralizec.zeta.org.au (Michael Hore)
Date: 22 Jan 1993 09:05:44 +1100
Organization: Kralizec Dialup Unix Sydney: +61-2-837-1183 V.42bis
>> [Program] was favorably reviewed in Byte magazine and in a number of
>>books [...], and they all mentioned my name. It's a nice thing to put on
>>your resume.
That's for sure. My freeware offering had a couple of good mentions
in MacTutor (now MacTech). As a result, a prospective employer, a
respected Mac software house, had me in quite quickly for an interview.
At the interview they had just 3 questions:
"What do you want to do?
Here are our projects, -- which one are you interested in?
When can you start?"
:-)
Cheers, Mike.
- ----------------------------------------------------------
Mike Hore mikeh@kralizec.zeta.org.au
.sig deliberately kept short to minimize .sig/noise ratio.
- ----------------------------------------------------------
+++++++++++++++++++++++++++
From: fixer@faxcsl.dcrt.nih.gov (Chris Bearded Guacamole Tate)
Organization: Computer Systems Laboratory, DCRT, NIH
Date: Mon, 25 Jan 1993 15:30:53 GMT
Kurisuto, you may wish to contact the Association of Shareware Professionals
(ASP) and see what they have to say about the success of their members'
efforts.
The ASP is an interesting organization. I've only seen MS-DOS products
released under their auspices, but those that I've seen are *quite* impressive.
The 4-DOS replacement for the MS-DOS command shell and the Brother's Keeper
genealogy program are ASP products.
>From what I gather, member developers have pledged a significant amount of
support for their shareware, in return for the "prestige" of claiming ASP
affiliation, negotiation/arbitration services conducted by the ASP (e.g.
ombudsman arbitration between customer and developer in the case of conflict),
etc.
I think it might be worthwhile to find out what the ASP's findings about
customer honesty are.
One thing I don't know is whether or not ASP members are permitted to be
commercial developers as well. I would imagine so, however. My impression is
that shareware products must be supported to an extent comparable to commercial
support - ASP membership is not a frivolity.
The one ASP product that I know the shareware fee for is Brother's Keeper (an
impressive genealogy program - the only one for MS-DOS, as far as I'm aware,
that can handle international character sets). Its shareware fee is $45 US.
Compared to "independant" shareware, this seems pretty steep to me - but it's
an impressive product, and the author's support is *excellent*.
- ------------------------------------------------------------------------------
Christopher Tate | Return of the CryptoSig (tm):
Management Systems Designers | XHGVMFCV GBGNKJ KJ LFJG X CXZB, KG GBXIVBJ
| DMF GVKJ: QVXGBTBN DMF AM, AMP'G ZKJJ.
fixer@faxcsl.dcrt.nih.gov |
---------------------------
End of C.S.M.P. Digest
**********************