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:
Text File  |  1994-12-08  |  52.1 KB  |  1,287 lines  |  [TEXT/R*ch]

  1. C.S.M.P. Digest             Fri, 26 Feb 93       Volume 2 : Issue 17
  2.  
  3. Today's Topics:
  4.  
  5.     Is the Finder's name always "Finder"?
  6.     Keeping a resource file open forever from an INIT
  7.     Shareware summary (long)
  8.  
  9.  
  10.  
  11. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  12.  
  13. The digest is a collection of article threads from the usenet newsgroup
  14. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  15. regularly and want an archive of the discussions.  If you don't know what a
  16. newsgroup is, you probably don't have access to it.  Ask your systems
  17. administrator(s) for details.  If you don't have access to news, you can
  18. post articles to any newsgroup by mailing your article to
  19.     newsgroup@cs.utexas.edu
  20. So, to post an article to comp.sys.mac.programmer, mail your article to
  21.     comp-sys-mac-programmer@cs.utexas.edu
  22. Note the '-' instead of '.' in the newsgroup name.  Be sure to ask that
  23. replies be emailed to you instead of posted to the group, and give your
  24. email address.
  25.  
  26. Each issue of the digest contains one or more sets of articles (called
  27. threads), with each set corresponding to a 'discussion' of a particular
  28. subject.  The articles are not edited; all articles included in this digest
  29. are in their original posted form (as received by our news server at
  30. cs.uoregon.edu).  Article threads are not added to the digest until the last
  31. article added to the thread is at least one month old (this is to ensure that
  32. the thread is dead before adding it to the digest).  Article threads that
  33. consist of only one message are generally not included in the digest.
  34.  
  35. The entire digest is available for anonymous ftp from ftp.cs.uoregon.edu
  36. [128.223.8.8] in the directory /pub/mac/csmp-digest.  Be sure to read the
  37. file /pub/mac/csmp-digest/README before downloading any files.  The most
  38. recent issues are available from sumex-aim.stanford.edu [36.44.0.6] in the
  39. directory /info-mac/digest/csmp.  If you don't have ftp capability, the sumex
  40. archive has a mail server; send a message with the text '$MACarch help' (no
  41. quotes) to LISTSERV@ricevm1.rice.edu for more information.
  42.  
  43. The digest is also available via email.  Just send a note saying that you
  44. want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
  45. automatically receive each new issue as it is created.  Sorry, back issues
  46. are not available through the mailing list.
  47.  
  48. Send administrative mail to mkelly@cs.uoregon.edu.
  49.  
  50.  
  51. -------------------------------------------------------
  52.  
  53. From: walkerj@math.scarolina.edu (Jim Walker)
  54. Subject: Is the Finder's name always "Finder"?
  55. Organization: USC  Department of Computer Science
  56. Date: 21 Jan 93 19:20:25 GMT
  57.  
  58.  
  59. I see that Finder's name is locked (under System 7), but is that always the
  60. name, even under foreign system software?  If not, what is the best way to
  61. get the name?  (I know how to read it from the boot blocks, and I know that
  62. there is a low-memory global FinderName, but I wonder if there is a better
  63. way.)
  64.  
  65. - --
  66.  
  67.  -- Jim Walker  USC Dept. of Math.  walkerj@math.scarolina.edu
  68.  
  69. +++++++++++++++++++++++++++
  70.  
  71. From: edw@distant.uucp (Ed Watkeys)
  72. Date: Sun, 24 Jan 93 09:13:15 EST
  73. Organization: Distant Software
  74.  
  75.  
  76. In article <walkerj.727644025@milo.math.scarolina.edu> (comp.sys.mac.programmer), walkerj@math.scarolina.edu (Jim Walker) writes:
  77. > I see that Finder's name is locked (under System 7), but is that always the
  78. > name, even under foreign system software?  If not, what is the best way to
  79. > get the name?  (I know how to read it from the boot blocks, and I know that
  80. > there is a low-memory global FinderName, but I wonder if there is a better
  81. > way.)
  82. >
  83.  
  84. Since the signature stays the same (I assume), you can get it's name by
  85. cycling through GetNextProcess() (IM VI 29-11) until you find the Finder's
  86. process serial number and then use GetProcessInformation() (IM VI 29-10)
  87. to get its name. Of course, if the Finder isn't running, you're screwed in
  88. this case.
  89.  
  90. Using PBCatSearch() (IM VI 25-40) would work in all cases, as far as I can
  91. see. Just set the criteria to be the Finder's type/creator, and let it go.
  92.  
  93. >  -- Jim Walker  USC Dept. of Math.  walkerj@math.scarolina.edu
  94.  
  95. Ed
  96.  
  97. - --
  98. Edwin H. Watkeys III                                   edw@distant.uucp
  99. Distant Software                               dsinc!jabber!distant!edw
  100. +1 215 387 7971                                     edw%distant@bts.com
  101.  
  102. +++++++++++++++++++++++++++
  103.  
  104. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  105. Date: 25 Jan 93 01:57:43 GMT
  106. Organization: University of Waikato, Hamilton, New Zealand
  107.  
  108. In article <01050133.og3hb4@distant.uucp>, edw@distant.uucp (Ed Watkeys) writes:
  109. >
  110. > In article <walkerj.727644025@milo.math.scarolina.edu> (comp.sys.mac.programmer), walkerj@math.scarolina.edu (Jim Walker) writes:
  111. >>
  112. >> I see that Finder's name is locked (under System 7), but is that always the
  113. >> name, even under foreign system software?  If not, what is the best way to
  114. >> get the name?  (I know how to read it from the boot blocks, and I know that
  115. >> there is a low-memory global FinderName, but I wonder if there is a better
  116. >> way.)
  117. >>
  118. >
  119. > Since the signature stays the same (I assume), you can get it's name by
  120. > cycling through GetNextProcess() (IM VI 29-11) until you find the Finder's
  121. > process serial number and then use GetProcessInformation() (IM VI 29-10)
  122. > to get its name. Of course, if the Finder isn't running, you're screwed in
  123. > this case.
  124. >
  125. > Using PBCatSearch() (IM VI 25-40) would work in all cases, as far as I can
  126. > see. Just set the criteria to be the Finder's type/creator, and let it go.
  127.  
  128. I would say: stick with the low-memory global approach. If you do anything
  129. more complicated, you risk coming up with a different answer from what the
  130. system would. For example, a catalog search could be confused by multiple
  131. Finders on the boot disk.
  132.  
  133. On the other hand, the right answer really depends on what you want to do
  134. with it. If you use the FinderName, then you will also respect any substitutions
  135. of the standard Finder by alternative special-purpose programs. If the Finder
  136. substitute lacks some function that you're assuming is present, you may be
  137. in trouble.
  138.  
  139. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  140. Computer Services Dept                     fax: +64-7-838-4066
  141. University of Waikato            electric mail: ldo@waikato.ac.nz
  142. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  143.  
  144. ---------------------------
  145.  
  146. From: pbrande1@cc.swarthmore.edu (Philip Brandenberger)
  147. Subject: Keeping a resource file open forever from an INIT
  148. Organization: Swarthmore College Computing Center
  149. Date: Sun, 24 Jan 1993 01:24:14 GMT
  150.  
  151. Hello all-- I hope this is blatantly FAQ.
  152.  
  153. I am working on an INIT in which I'd like to keep my resource file open
  154. forever much as Suitcase/MasterJuggler does for itself and its suitcases and
  155. as Carpetbag does also.  
  156.  
  157. I gather that the way to do this is to hack at the FCBs, but the whole
  158. process is a bit cloudy.  If anyone has sample code or a basic description
  159. that would be great.
  160.  
  161. Thanks,
  162. Phil
  163. - -- 
  164. Phil Brandenberger
  165. phil@cs.swarthmore.edu
  166.  
  167. +++++++++++++++++++++++++++
  168.  
  169. From: evans@Apple.COM (John Evans)
  170. Date: 25 Jan 93 01:13:51 GMT
  171. Organization: Apple Computer Inc, Cupertino, CA
  172.  
  173. The way I did this years ago (when I wrote Polly MacBeep) was something like
  174. this:
  175.  
  176. 1) open the file you want to keep around
  177. 2) use the TopMapHndl variable to get the resource map of the file
  178. 3) change TopMapHndl to point at the next resource map in the chain
  179.    (usually the resource map of the init)  This eliminates that file
  180.    from the resource chain.
  181. 4) use SysMapHndl to find the resource map of the system.
  182. 5) follow the NextMap links (described on page 129 of IM-1) until
  183.    you find the LAST resource map in the chain.
  184. 6) add your resource map beyond the last map.
  185.  
  186. You may also (before re-adding your map to the resource chain) have to
  187. copy the resource map into the system heap.  (I don't have the code with me.)
  188.  
  189. This should add you to the resource chain, and make you system 7.1
  190. friendly.
  191.  
  192. Good luck.
  193.  
  194. - -- 
  195. +========================+===============================================+
  196. | John S. Evans          | These opinions are mine. Apple's opinions are |
  197. | Collaborative Systems  | Apple's.  Any similarity is coincidental.     |
  198. | Apple Computer, Inc    | "They've given you a number, and taken away   |
  199. | evans@apple.com        |  your name."                  -Johnny Rivers  | 
  200. +========================+===============================================+
  201.  
  202. +++++++++++++++++++++++++++
  203.  
  204. From: keith@taligent.com (Keith Rollin)
  205. Organization: Taligent
  206. Date: Mon, 25 Jan 1993 02:21:29 GMT
  207.  
  208. In article <2L9WB4WS@cc.swarthmore.edu>, pbrande1@cc.swarthmore.edu (Philip
  209. Brandenberger) wrote:
  210. > Hello all-- I hope this is blatantly FAQ.
  211. > I am working on an INIT in which I'd like to keep my resource file open
  212. > forever much as Suitcase/MasterJuggler does for itself and its suitcases and
  213. > as Carpetbag does also.  
  214. > I gather that the way to do this is to hack at the FCBs, but the whole
  215. > process is a bit cloudy.  If anyone has sample code or a basic description
  216. > that would be great.
  217.  
  218. Here's how I do it:
  219.  
  220. // --------------------
  221. // A macro for patching traps. Follows my own naming conventions, so it
  222. // may not be useful for you. But I include it for completeness.
  223.  
  224. #define PatchTheTrap(trapName, type) \
  225.     old##trapName = (trapName##Proc) Get##type##TrapAddress(_##trapName); \
  226.     Set##type##TrapAddress((long) My##trapName, _##trapName)
  227.  
  228. // --------------------
  229. // The relevent parts of my INIT's startup code. I strip the PC according
  230. // to Technote #245 (I don't know its name under the new TN scheme). I then
  231. // roll my own RememberA0/SetUpA4, since it saves a few bytes. Next, I
  232. patch
  233. // InitAllPacks and remember what file I came from for later. Finally, I
  234. // restore A4 and leave.
  235.  
  236. void    main()
  237. {
  238.     Ptr            ourAddress;
  239.     Handle        ourHandle;
  240.     Handle        show;
  241.     
  242.     asm {
  243.         lea        @continue,A0        ; Fix up the PC (TN #245)
  244.         move.l    A0,D0
  245.         StripAddress                ; clean the PC
  246.         move.l    D0,A0
  247.         jmp        (A0)                ; use the new PC
  248.     @continue
  249.  
  250.         move.l    A4,-(sp)            ; save orig A4
  251.         bsr        __GetA4                ; get pointer to save location into A1
  252.         lea        main,A4                ; get our A4
  253.         move.l    A4,(A1)                ; save it so SetUpA4() will work
  254.         move.l    A4, ourAddress        ; for the RecoverHandle, later
  255.     }
  256.  
  257.     PatchTheTrap(InitAllPacks, Tool);
  258.     RememberMe();
  259.  
  260.     RestoreA4();
  261. }
  262.  
  263. // --------------------
  264. // Remembers the name and location of the file owning the currently active
  265. // resource map. This is stored in a global variable, which is a snap under
  266. // THINK C. If you are using MPW, read Technote #256 or develop #12.
  267.  
  268. static void    RememberMe()
  269. {
  270.     FCBPBRec    pb;
  271.     OSErr        err;
  272.  
  273.     pb.ioCompletion = nil;
  274.     pb.ioNamePtr = gOurName;
  275.     pb.ioVRefNum = 0;
  276.     pb.ioRefNum = CurResFile();
  277.     pb.ioFCBIndx = 0;
  278.     
  279.     err = PBGetFCBInfoSync(&pb);
  280.     
  281.     gOurVRefNum = pb.ioFCBVRefNum;
  282.     gOurDirID = pb.ioFCBParID;
  283. }
  284.  
  285. // --------------------
  286. // InitAllPacks is called during the launching of an application. I take
  287. this
  288. // opportunity to re-open my INIT (since the system closes it after it was
  289. // called during boot-up time).
  290.  
  291. static pascal void    MyInitAllPacks(void)
  292. {
  293.     SetUpA4();
  294.     
  295.     oldInitAllPacks();
  296.     
  297.     if (gMyRefNum == 0)
  298.         OpenAndAddMe();
  299.         
  300.     RestoreA4();
  301. }
  302.  
  303. // --------------------
  304. // Tricky routine that opens a resource file and places the resource map
  305. // BEHIND the system's. I want it behind the system resource file because I
  306. // want it available even if the program calls UseResFile(0). Doing it this
  307. // way also means that I only have to open the resource file once instead
  308. of
  309. // once per application.
  310.  
  311. pascal short InlineHOpenResFile(short vRefNum,long dirID,ConstStr255Param
  312. fileName,
  313.     char permission) = 0xA81A; 
  314.  
  315. static void    OpenAndAddMe()
  316. {
  317.     THz                currentZone;
  318.  
  319.     short            oldFile;
  320.     short            refNum;
  321.     ResMapHandle    current = nil;
  322.     ResMapHandle    previous = nil;
  323.     ResMapHandle    ourParent = nil;
  324.     ResMapHandle    us = nil;
  325.     ResMapHandle    system = nil;
  326.     
  327.     currentZone = GetZone();
  328.     SetZone(SystemZone());
  329.  
  330.     oldFile = CurResFile();
  331.     refNum = InlineHOpenResFile(gOurVRefNum, gOurDirID, gOurName, fsRdPerm);
  332.     UseResFile(oldFile);
  333.     
  334.     if (refNum != -1) {
  335.  
  336.         current = (ResMapHandle) TopMapHndl;
  337.         
  338.         // First, find us (we should be on top)
  339.  
  340.         while ((current != nil) && ((**current).refNum != refNum)) {
  341.             previous = current;
  342.             current = (**current).nextMap;
  343.         }
  344.         if (current != nil) {
  345.             ourParent = previous;
  346.             us = current;
  347.         }
  348.         
  349.         // Second, find the System
  350.         
  351.         system = (ResMapHandle) SysMapHndl;
  352.         
  353.         if ((us == nil) || (system == nil)) {
  354.             CloseResFile(refNum);
  355.         } else {
  356.             if (ourParent != system) {
  357.             
  358.             //
  359.             // Be sure to perform all these steps so that the
  360.             // resource chain is never inconsistant or circular.
  361.             // If that happens, debuggers like TMON will detonate.
  362.             //
  363.                 if ((ResMapHandle) TopMapHndl == us)
  364.                     TopMapHndl = (void*) (**us).nextMap;
  365.                 if (ourParent)
  366.                     (**ourParent).nextMap = (**us).nextMap;
  367.                 (**us).nextMap = (**system).nextMap;
  368.                 (**system).nextMap = us;
  369.             }
  370.             gMyRefNum = refNum;
  371.         }
  372.     }
  373.     SetZone(currentZone);
  374. }
  375.  
  376.  
  377. - -----
  378. Keith Rollin
  379. Phantom Programmer
  380. Taligent, Inc.
  381.  
  382. ---------------------------
  383.  
  384. From: kurisuto@chopin.udel.edu (Sean J. Crist)
  385. Subject: Shareware summary (long)
  386. Date: 17 Jan 93 16:37:03 GMT
  387. Organization: University of Delaware
  388.  
  389. Here is a summary of some of the many interesting responses I've 
  390. gotten to my question about the number of payments which shareware 
  391. authors typically receive.  Since nobody specifically gave me permission 
  392. to use their name in my summary, I've stripped out all names as well as 
  393. names of shareware products.  There were so many responses to my 
  394. question that I haven't been able to include quotes from everyone's
  395. mailing, nor bring up every point; I'll do my best to bring up the major 
  396. ones.
  397.  
  398. I'll start with the amount people have charged, and the amount they have made:
  399.  
  400. One person wrote:
  401.  
  402. >I made about $500 off of one program that had a $2 shareware fee with a $8
  403. >option to buy the source code. I have made less off of more expensive
  404. >programs.
  405.  
  406. Another wrote:
  407.  
  408. >I ask $5.  Several users have said this is too low.  However, I make $3 
  409. >per copy after expenses which I consider to be appropriate for such a 
  410. >simple (yet addictive) utility.
  411.  
  412. >I have gotten 153 shareware orders in the 11 months [program] has been 
  413. >available.  Statistically, 95% of orders placed are paid.  I have
  414. >marketed it only be uploading it to three online services.  As it becomes
  415. >available from BMUG, AppleLink CD, EduCorp and other non-online services, I 
  416. >expect orders to increase.
  417.  
  418. >By my calculations, I've made $459 after expenses.  Far more than my 
  419. >goal of paying for my [phone] which I also use with my 
  420. >computer to keep from annoying others in the house with long calls.
  421.  
  422. Another wrote:
  423.  
  424. >Lets see, I've written three shareware programs, [A, B, and C].  I asked for
  425. >$5 for each, and $150 for site licenses.  I've made a total of around
  426. >$1000, about $800 in site licenses.  Do most people pay?  Very hard to
  427. >tell, I doubt it.  The only number I can go by is the number of people who
  428. >downloaded each of the programs from sumex-aim (which is around 3000 for
  429. >each program).
  430.  
  431. >Of the 3000 people for each program, I've only recieved around a total of
  432. >perhaps 40 or 50 payments (including site licenses).
  433.  
  434. Probably the most successful shareware writer of all wrote:
  435.  
  436. >I wrote [program], a shareware graphics adventure game for the Macintosh,
  437. >about six years ago... [program] is complete in one file, with full
  438. >on-line help. I ask $10.
  439.  
  440. >In six years, [program] has accumulated between 450 and 500 customers. It has
  441. >usually averaged around one and a half checks a week, though that figure has
  442. >been both higher and lower at various times. (The best average was around
  443. >three checks a week.) The gross is therefore something over $4500, which
  444. >doesn't really pay me back for the time I spent writing it.
  445.  
  446. $4500.  As a starving student, I could deal!
  447.  
  448. Several people look at the number of downloads from a host machine, and 
  449. at the number of shareware responses they have received, and infer from 
  450. this ratio that many people are not being honest.  For example, one person 
  451. wrote:
  452.  
  453. >Based on the number of downloads of my software from GEnie and CompuServe
  454. >and the number of response I got, I calculated somewhere between 7% and 10%
  455. >of people payed for the program. Once EduCorp ripped it off and stuck it on
  456. >their CDs, I had no way to gauge responses.
  457.  
  458. >My guess is that most people take advantage of the shareware system and
  459. >just pretend it's free.
  460.  
  461. However, as someone else pointed out:
  462.  
  463. >I cannot answer your questions, as I have never released any shareware,
  464. >however, I would like to point out that if you release software as
  465. >shareware, you can expect that substantially more people will look at it
  466. >than will use it.  I find that I typically examine 50-100 times as much
  467. >shareware as I find the need to use and so pay for.  I routinely see
  468. >"flames" on the network about the fact that "300 people downloaded my
  469. >software yet I received only 2 payments..." as evidence that shareware does
  470. >not work.  I believe that these observations are in error.
  471.  
  472. On the level of honesty among the public, there were various views offered:
  473.  
  474. >Based on the number of downloads of my software from GEnie and CompuServe
  475. >and the number of response I got, I calculated somewhere between 7% and 10%
  476. >of people payed for the program. Once EduCorp ripped it off and stuck it on
  477. >their CDs, I had no way to gauge responses.
  478.  
  479. Another wrote:
  480.  
  481. >Many people, I'm sure, are not deliberately dishonest: they may intend to
  482. >pay, but it's very hard to "get around to" writing the check and
  483. >addressing the envelope. (I know, I'm that way myself.) I also suspect
  484. >that many people simply don't quite realize what shareware is. If it never
  485. >occurs to them to select "About [program]" from the Apple menu, they will
  486. >never see my shareware request. (I could make the request more intrusive,
  487. >and I might in a new release I am planning; but in general I don't like "in
  488. >your face" reminders, and I won't write software like that.)
  489.  
  490. Another wrote:
  491.  
  492. >I get a disproportionate number of orders from churches and schools.  I don't
  493. >know why this is, my theories are...
  494. >   1) These people [need program X more].
  495. >   2) These people are more 'honest'.
  496. >   3) These people don't just expense a $35 program from the local
  497. >      software vendor.  The $20 makes a difference to them.
  498.  
  499. Another wrote:
  500.  
  501. >interesting questions!  Here is my personal experiences.  A couple of years
  502. >ago I wrote [a useful-sounding piece of Hyperware]  for a
  503. >$15 shareware fee.  I still haven't seen one shareware payment and the stack
  504. >is pretty well done with a simple and elegant interface (IMHO).  I also
  505. >wonder if people are just less likely to pay for stackware vs other "real"
  506. >software???
  507.  
  508. Another wrote:
  509.  
  510. >I firmly believe in the good intentions of most shareware users to pay.  
  511. >(I didn't design [program] for those with bad intentions.)  Most people
  512. >are honest and concerned enough to WANT TO pay.  Whether they get 
  513. >around to paying is directly related to how hard it is to pay.  Myself, 
  514. >having only average organization and willpower, would find it hard to 
  515. >get out an envelope, locate the address, write the address, get out the 
  516. >checkbook, write the check, get out the paper and pen, write an 
  517. >explanatory note, find and stamp and mail it off.  Many people, 
  518. >including myself, have done this occasionally.  
  519.  
  520.  
  521. There was difference of opinion on the question of protection schemes, 
  522. such as refusing to run on the same machine for more than two weeks 
  523. until a registration number has been entered.  Some have used this
  524. approach, and it might be a good idea.  Other have noted, though, that
  525. this isn't very user-friendly, and that it can be the source of griping in the magazine
  526. software reviews.  One person had this idea:
  527.  
  528. >I took a different, user oriented approach.  [Program] reminds the user
  529. >in several places to call my ... phone number, [number], to request 
  530. >a digit master disk for $5 before their 2-week shareware period ends.  
  531. >Making the call is easy and they are then free of shareware guilt with 
  532. >minimal effort.  I send them the disk with full [program], demo [program]
  533. >and some other Shareware along with a bill and return envelope.  I hope 
  534. >they use the disk and stick my bill with their rent, electric and Macy's 
  535. >bills to pay next month.  That's when they'll have their checks and 
  536. >stamps handy.
  537.  
  538.  
  539. There seems to be a consensus that you should not write shareware 
  540. expecting to get rich.  The reason for writing shareware is to just enjoy
  541. the experience of creating something for the public, and maybe making a few 
  542. extra bucks as a bonus:
  543.  
  544. >Let's put it this way:  don't quit your job to become a full-time shareware
  545. >author.  It really depends on how useful your program is.  Even if you create
  546. >a popular shareware program, I would estimate only 1% of the people who keep
  547. >your program pay for it.  Don't write shareware to make money, write it for
  548. >your personal enlightenment.  As long as you are satisfied with your
  549. creation,
  550. >that's all that matters, so if you expect no registrations, each registration
  551. >is a pleasant bonus that you can use as spending money.  Also, in my and my
  552. >partner's experience, a disproportionate number of registrations will come
  553. >from outside the United States.  Europeans and Australians seem to appreciate
  554. >shareware more than Americans, despite the fact that they have to go to way
  555. >more trouble to get American currency and mail it to you.
  556.  
  557. Another wrote:
  558.  
  559. >The bottom line: don't write shareware thinking that you'll get rich from the
  560. >payments. Nobody ever has, although there are one or two cases of people who
  561. >worked *very hard* producing, maintaining, and upgrading a really useful tool
  562. >over a long period of time, who made a fair amount of money. But they
  563. made their
  564. >product their day job, and put huge amounts of time into it: they didn't just
  565. >write it and release it and wait for the checks.
  566.  
  567. >There are other benefits than money. If your product is good, you will
  568. >get a lot of pleasant and interesting mail from all around the world. Your
  569. >name may become known to a wide variety of people you've never met. I am
  570. >also the author of a [program] which I released as freeware. I didn't
  571. >think many people would pay for it, but I wanted lots of people to use
  572. >it.  [Program] was favorably reviewed in Byte magazine and in a number of
  573. >books [...], and they all mentioned my name. It's a nice thing to put on
  574. >your resume.
  575.  
  576. >Finally, a really good program may attract the attention of a legitimate
  577. >software publisher. (It will certainly attract the attention of less
  578. >legitimate publishers, but you should ignore them.) You may then be able
  579. >to sell the rights and source for a respectable sum. (Don't ask me how
  580. >much, or on what terms; this has never happened to me! But it has happened
  581. >to the author of the game "Glider" and to the virtual terminal program "Red
  582. >Ryder", now known as "White Knight".)
  583.  
  584. >My advice: don't write shareware for the money. Write it because you want to
  585. >write the program anyway, and because you want to see your software used, and
  586. >because you'd enjoy a little positive notoriety and some fan mail. Don't
  587. >worry about the cheaters; you can't do much about them anyway. Chalk them
  588. >up to the price of doing business.
  589.  
  590. Thanks to all who responded!
  591.  
  592. - --Kurisuto
  593.  
  594. +++++++++++++++++++++++++++
  595.  
  596. From: d88-jwa@dront.nada.kth.se (Jon Wtte)
  597. Date: 17 Jan 93 18:10:55 GMT
  598. Organization: Royal Institute of Technology, Stockholm, Sweden
  599.  
  600. In <C10BHr.E15@news.udel.edu> kurisuto@chopin.udel.edu (Sean J. Crist) writes:
  601. >>partner's experience, a disproportionate number of registrations will come
  602. >>from outside the United States.  Europeans and Australians seem to appreciate
  603. >>shareware more than Americans, despite the fact that they have to go to way
  604. >>more trouble to get American currency and mail it to you.
  605.  
  606. On the other hand, there are only 230 million people in the US,
  607. and about 5 billion people in the rest of the world; something which
  608. US software writers seem to neglect :-)
  609.  
  610. Anyway, one problem with paying for shareware is that you don't
  611. use Giro in the US. At least here in Europe, everybode has a
  612. cheque account with a Giro attached, and everyone who wants to
  613. get paid has some Giro-accessible account. Paying then becomes
  614. a matter of filling out a short transaction notice (often pre-
  615. printed on the bills you get) and send it to thebank signed.
  616. The bank will immediately (the day after) transfer the money
  617. to the indicated account.
  618.  
  619. I shudder at the thought of having to write a cheque for each
  620. debt, and MAIL it to each place I own money...
  621.  
  622. The problem with this is that people don't cash cheques much,
  623. so cashing a cheque from a bank other than yours is often
  624. subject to a $4 fee, and if the cheque is from abroad, the fee
  625. is $10. Now, what would that do to a normal shareware payment?
  626.  
  627. In the same way, when I pay for US shareware, I simply go to
  628. a change office, buy the 15 or 20 bucks in notes, and send them
  629. in an insured shipment - the extra cost is $5, but that's half
  630. of what a wire transfer costs.
  631.  
  632. Cheers,
  633.  
  634.                             / h+
  635. - -- 
  636.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
  637.  
  638.    Nothing crashes like a Macintosh.
  639.                      -- Guy Kawasaki
  640.  
  641. +++++++++++++++++++++++++++
  642.  
  643. From: ingemar@isy.liu.se (Ingemar Ragnemalm)
  644. Organization: Dept of EE, University of Linkoping
  645. Date: 17 Jan 93 18:23:31 GMT
  646.  
  647.  
  648. kurisuto@chopin.udel.edu (Sean J. Crist) writes that someone wrote:
  649.  
  650. >>Finally, a really good program may attract the attention of a legitimate
  651. >>software publisher. (It will certainly attract the attention of less
  652. >>legitimate publishers, but you should ignore them.)
  653.  
  654. Now, how do I tell a legitimate publisher from a "less legitimate" one?
  655. Does anyone on the net have any really bad experiences with bad publishers?
  656.  
  657. Personally, I have so far been contacted by one publisher: "BASICC". Does
  658. anyone know them?
  659.  
  660. - -- 
  661. Ingemar Ragnemalm
  662. Dept. of Electrical Engineering         ...!uunet!mcvax!enea!rainier!ingemar
  663.                   ..
  664. University of Linkoping, Sweden         ingemar@isy.liu.se
  665.  
  666. +++++++++++++++++++++++++++
  667.  
  668. From: pete@tatjana.rice.edu (Louis Wu)
  669. Organization: Whatsamatta U
  670. Date: Mon, 18 Jan 1993 03:34:34 GMT
  671.  
  672.  
  673. > Here is a summary of some of the many interesting responses I've 
  674. > gotten to my question about the number of payments which shareware 
  675. > authors typically receive.  
  676. > ....
  677.  
  678. I agree that you should only write shareware for the simple satisfaction of
  679. providing good software for general use, otherwise you're probably setting
  680. yourself up for disappointment.
  681.  
  682. Still, there are more honest people out there than I had originally
  683. thought.  I've made enough to pay for my computer, which I certainly never
  684. expected in the beginning. My checks have probably come half from the
  685. states, half from elsewhere. Of the elsewhere, Australia sent the most. But
  686. I've also had checks from Britain, Canada, Denmark, France, Germany,
  687. Holland, Japan, Norway, Sweden, and Switzerland.
  688.  
  689. My point is, if you do this for a hobby, it can be very rewarding. Maybe
  690. you could make more by going commercial, but getting glowing email from all
  691. over the world is a very neat trip.
  692.  
  693. - --
  694. =============================================================================
  695. Pete Keleher   "Relax! Don't worry! Have a homebrew!"        pete@cs.rice.edu
  696. =============================================================================
  697.  
  698.  
  699. +++++++++++++++++++++++++++
  700.  
  701. From: peirce@outpost.SF-Bay.org (Michael Peirce)
  702. Date: 18 Jan 93 17:51:18 GMT
  703. Organization: Peirce Software
  704.  
  705.  
  706. In article <1993Jan17.181055.16582@kth.se> (comp.sys.mac.programmer), d88-jwa@dront.nada.kth.se (Jon Wtte) writes:
  707. > The problem with this is that people don't cash cheques much,
  708. > so cashing a cheque from a bank other than yours is often
  709. > subject to a $4 fee, and if the cheque is from abroad, the fee
  710. > is $10. Now, what would that do to a normal shareware payment?
  711. > In the same way, when I pay for US shareware, I simply go to
  712. > a change office, buy the 15 or 20 bucks in notes, and send them
  713. > in an insured shipment - the extra cost is $5, but that's half
  714. > of what a wire transfer costs.
  715.  
  716. Most of the overseas shareware payments I get are simply cash in an
  717. envelope.  This works best for me.  I also get some payments as checks
  718. that state that they are in US funds.  I once got a payment from Germany
  719. denoted in DM, unfortunately I cost more to cash the check with my
  720. bank than they payment was worth - I still sent the guy a registration
  721. anyway.
  722.  
  723. Personally I think I've done well with AppSizer.  If you have a useful
  724. utility make sure you offer site licenses - I've gotten a number of
  725. these of late (I offer 1/2 the normal reg. fee ($19.95 -> $10) per
  726. expected machine in the site license).
  727.  
  728. - --  Michael Peirce      --   peirce@outpost.SF-Bay.org
  729. - --  Peirce Software     --   Suite 301, 719 Hibiscus Place
  730. - --                      --   San Jose, California USA 95117
  731. - --  Makers of:          --   voice: (408) 244-6554 fax: (408) 244-6882
  732. - --             Smoothie --   AppleLink: peirce & America Online: AFC Peirce
  733.  
  734. +++++++++++++++++++++++++++
  735.  
  736. From: soc1070                         
  737. Organization: University of Minnesota CIS
  738. Date: Mon, 18 Jan 1993 20:21:00 GMT
  739.  
  740. I am a beginning programmer and I am getting ready to release my first 
  741. little program as shareware, so I have been following this thread with 
  742. great interest.
  743.  
  744. I have decided that the best approach for me, based on what i have read
  745. here, is to have a small, tastefull dialog pop up at launch as a reminder.
  746. I was also interested in the pre-registered aspect, i.e. when the fee is
  747. paid, I send them a program with their registration already on the program.
  748.  
  749. My question is: What is the best way to implement pre-registration? Use
  750. a resource containing the name & number of the user? (Making it easy for
  751. anyone with a limited knowledge of mac programs and a copy of resedit to
  752. modify...). Or hard code it and re-compile the program? This seems like
  753. it would take alot of time better spent.
  754.  
  755. Is there a better method than those two that, as a newbie, I'm unaware of?
  756.  
  757.  
  758. - ------
  759. Tim Harincar                A skunk is better company than
  760. soc1070@vx.cis.umn.edu            someone who prides themselves on
  761.                      being frank. -Lazerus Long    
  762.  
  763. +++++++++++++++++++++++++++
  764.  
  765. From: rmh@taligent.com (Rick Holzgrafe)
  766. Date: 18 Jan 93 21:35:58 GMT
  767. Organization: Semicolon Software
  768.  
  769. In article <ingemar.727295011@isy>, ingemar@isy.liu.se (Ingemar Ragnemalm)
  770. writes:
  771. > kurisuto@chopin.udel.edu (Sean J. Crist) writes that someone wrote:
  772. > >>Finally, a really good program may attract the attention of a legitimate
  773. > >>software publisher. (It will certainly attract the attention of less
  774. > >>legitimate publishers, but you should ignore them.)
  775. > Now, how do I tell a legitimate publisher from a "less legitimate" one?
  776.  
  777. I'm the someone who wrote that note. I had in mind some group of weasels from
  778. the American midwest who sent me a nine-page contract, in quintuplicate, out of
  779. the blue. I don't remember the details, but it essentially said that they owned
  780. my program while I owned any and all responsibility for bugs and maintenance.
  781. There was no cover letter, no discussion of their marketing or business plans or
  782. other products, nothing! I made no reply and I never heard from them again.
  783.  
  784. But if I got an offer from, say, Broderbund, I'd sit up and pay attention. :-)
  785.  
  786. > Ingemar Ragnemalm
  787.  
  788. - -- Rick Holzgrafe
  789.    Semicolon Software
  790.    rmh@taligent.com
  791.  
  792. +++++++++++++++++++++++++++
  793.  
  794. From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy)
  795. Organization: Kalamazoo College
  796. Date: Mon, 18 Jan 1993 22:34:27 GMT
  797.  
  798. Tim Harincar (soc1070@vx.cis.umn.edu) writes:
  799. >
  800. >I have decided that the best approach for me, based on what i have read
  801. >here, is to have a small, tastefull dialog pop up at launch as a reminder.
  802. >
  803. >My question is: What is the best way to implement pre-registration? Use
  804. >a resource containing the name & number of the user?
  805. >... Or hard code it and re-compile the program?
  806.  
  807. No, don't hard-code it.  Use a resource with the user's name and other
  808. identifying information.  But put a quick checksum into the resource as
  809. well;  that will prevent people from typing in their own name.  Better,
  810. allow your customer to send you a name etc.;  you compute the checksum
  811. and return it to them as their "password";  they enter the information
  812. and their password and click "register."  It only works if the
  813. password's right.  (Of course, they have to type their name etc. exactly
  814. as they reported it to you.)
  815.  
  816. Takes a little extra effort, but you don't even have to mail a new disk
  817. to a customer.  Plus, you get to come up with your own custom
  818. checksumming algorithm, and no one can tell you "you're doing it wrong!"
  819.  
  820. My $0.02 on this whole discussion:  I registered Compact Pro many moons
  821. ago, but have misplaced my password to turn off the "register me"
  822. screen.  I don't even bother looking for it;  it's easier to just keep
  823. clicking the "Not Yet" button.  A "would you like to register now?"
  824. splash screen is _not_ that much of a hassle;  don't feel guilty if you
  825. write one into your app.
  826. - -- 
  827.  Jamie McCarthy      Internet: k044477@kzoo.edu      AppleLink: j.mccarthy
  828.  "This sounds like a semantico-psychological backwardization of the
  829.   real world image."                                   - Dave Bloom
  830.  
  831. +++++++++++++++++++++++++++
  832.  
  833. Organization: Royal Institute of Technology, Stockholm, Sweden
  834. Date: Mon, 18 Jan 1993 22:45:11 GMT
  835.  
  836. In <18JAN199315212067@vx.cis.umn.edu> soc1070                          writes:
  837.  
  838. >here, is to have a small, tastefull dialog pop up at launch as a reminder.
  839. >I was also interested in the pre-registered aspect, i.e. when the fee is
  840. >paid, I send them a program with their registration already on the program.
  841.  
  842. >Is there a better method than those two that, as a newbie, I'm unaware of?
  843.  
  844. Well, the thing you could do is have a "register" dialog;
  845. have the user send you his name, and send him back his name
  846. and a checksum based on the name; in the "register" dialog
  847. you will record the name & sum entered, if they match, you
  848. will add the name & checksum in a resource. Upon startup,
  849. check for this resource, check that the checksum is OK, if
  850. one of these fails, display the dialog, else display a
  851. splash screen saying "This program registered to John Doe"
  852.  
  853. Be sure to handle non-us letters in names. The benefit of
  854. this system is that only information, not any program needs
  855. to be passed on.
  856.  
  857. CHeers,
  858.  
  859.                     / h+
  860. - -- 
  861.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
  862.  Engineering: "How will this work?" Science: "Why will this work?" Management:
  863.  "When will this work?"  Liberal Arts: "Do you want fries with that?"
  864.                      -- Jesse N. Schell
  865.  
  866. +++++++++++++++++++++++++++
  867.  
  868. From: ehanson@umbc.edu (Mr. Erik Hanson)
  869. Date: 18 Jan 1993 22:28:31 -0500
  870. Organization: Univ. of MD, Baltimore County
  871.  
  872. In article <1993Jan18.223427.29931@hobbes.kzoo.edu>,
  873. k044477@hobbes.kzoo.edu (Jamie R. McCarthy) writes:
  874.  
  875. >My $0.02 on this whole discussion:  I registered Compact Pro many moons
  876. >ago, but have misplaced my password to turn off the "register me"
  877. >screen.  I don't even bother looking for it;  it's easier to just keep
  878. >clicking the "Not Yet" button.  A "would you like to register now?"
  879. >splash screen is _not_ that much of a hassle;  don't feel guilty if you
  880. >write one into your app.
  881.  
  882. It is in fact _no_ hassle to QuicKeys users who can set QuicKeys
  883. to click the "not yet" button every time the app starts up. I personally
  884. dislike such splash screens, but I also partially dislike the shareware
  885. concept (I'm not saying I don't pay for shareware programs that I use, but
  886. I don't think I'd release one of my programs as shareware). These annoying
  887. splash screens are very prominent on MS Windows shareware. You get _very_
  888. sick of using these products, which is suppose is the point. But I don't
  889. want to write software that will piss people off.
  890.  
  891. One of the problems with shareware is that people charge money for programs
  892. that aren't worth any money at all, so either people don't use the programs
  893. or they use the programs illegally, and feel a bit guilty.
  894.  
  895. Some shareware programs really are worth the money the author is requesting,
  896. and sometimes much more. But it's tough for a software author to realize that
  897. his or her piece of software isn't the coolest thing in the world, and might
  898. not be worth the amount of money that he or she wants for it.  (You'll have 
  899. a hard time convincing me of that, to be sure. That's one of the reasons I
  900. think my programs will be freeware.)
  901.  
  902.  
  903. Seeya!
  904. Erk
  905.  
  906. ___________   _______________________________   ________________________
  907. Erik Hanson   Computer Science Student          Computer Science Coop
  908.               U. of Maryland Baltimore County   National Geodetic Survey
  909.               ehanson@umbc.edu                  erik@isis.ngs.noaa.gov
  910.  
  911. +++++++++++++++++++++++++++
  912.  
  913. From: gdl1000@cus.cam.ac.uk (G.D. Landweber)
  914. Date: 19 Jan 93 10:34:30 GMT
  915. Organization: U of Cambridge, England
  916.  
  917. Just my $0.02.  If you're planning some elaborate scheme to remind users
  918. to register their shareware, particularly one involving you calculating
  919. a password or registration code and sending it back to them, don't bother!
  920. Spend that time improving your product and adding features so that people
  921. will WANT to register.  I'm a shareware author.  I know this works.
  922.  
  923. I'm in England, so it takes a while for me to get back a registration code
  924. if I send in a shareware fee across the Atlantic.  Once I decide to send
  925. in that check, I still have to wait two weeks (often more), enduring that
  926. "This is shareware, you're 15 days have expired and you have not yet sent
  927. in your registration fee.  You are an evil person and should be destroyed."
  928. message.  Be nice to the user.  Shareware has a personal touch that most
  929. commercial software doesn't have.  You want the user to think of you as a
  930. nice guy rather than some entrepreneur.
  931.  
  932. Finally, make sure your program is worth the money before you pound the
  933. user over the head with requests to register.  In particular, it is VERY
  934. annoying for a control panel to display a shareware message and then
  935. crash when the user tries to change one of the options!  People will not
  936. want to pay money for bug-ridden software (sure it works on YOUR machine),
  937. no matter how much you tell them they should.
  938.  
  939. - -- Greg "Buttons" Landweber
  940.  
  941. +++++++++++++++++++++++++++
  942.  
  943. From: sainaney@unixg.ubc.ca (Narayan R. Sainaney)
  944. Date: 19 Jan 1993 21:44:29 GMT
  945. Organization: University of British Columbia, Vancouver, B.C., Canada
  946.  
  947.     RE: Using "Register" splash screens and User name w/ checksum
  948.  
  949.     No offence intended but it would take an experienced MacsBugs user less
  950. than 10 minutes to by-pass the checksum routine in your Application. Has anybody
  951. thought of that??
  952.  
  953. Just wondering...
  954. sainaney@unixg.ubc.ca
  955.  
  956.  
  957. +++++++++++++++++++++++++++
  958.  
  959. From: bowman@reed.edu (BoBolicious)
  960. Date: 20 Jan 93 01:34:12 GMT
  961. Organization: Reed College, Portland, OR
  962.  
  963. In article <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
  964. >    RE: Using "Register" splash screens and User name w/ checksum
  965. >    No offence intended but it would take an experienced MacsBugs user less
  966. >than 10 minutes to by-pass the checksum routine in your Application. Has anybody
  967. >thought of that??
  968.  
  969. An experience MacsBug user can do lots of things.  For example, my evil twin
  970. once got annoyed with a registration dialog, so he set a trap break on
  971. ModalDialog, jumped into the assembly, found where the program read in
  972. the registration number, found the routine that determined whether it was
  973. a suitable registration number, then dumped the disassembled routine in to
  974. MPW Assembly, & wrote a routine to pass it every possible character combination
  975. until a suitable registration number was found.
  976.  
  977. This worked great, until he needed a bug-fixed version, at which point he
  978. just payed the damn fee.  :-)
  979.  
  980. You can't worry too much about what "experienced Macsbug" users can do, because
  981. they can probably break any scheme you implement.  Fortunately, most people
  982. don't fall into this category, and effort is far better spent creating a decent
  983. piece of software rather than obsessing about people breaking your scheme.
  984.  
  985. cheers,
  986. bobo              In seeking the unattainable,
  987. bowman@reed.edu            simplicity only gets in the way.
  988. "On Monday, numbers floated everywhere, and the world was full of 
  989. approximations."  -- Spencer Heinz, _The Oregonian_, 1/5/93
  990.  
  991. +++++++++++++++++++++++++++
  992.  
  993. From: peter@cujo.curtin.edu.au (Peter N Lewis)
  994. Organization: NCRPDA, Curtin University
  995. Date: Wed, 20 Jan 1993 01:54:59 GMT
  996.  
  997. In article <18JAN199315212067@vx.cis.umn.edu>, soc1070 wrote:
  998.  
  999. > My question is: What is the best way to implement pre-registration? Use
  1000. > a resource containing the name & number of the user? (Making it easy for
  1001. > anyone with a limited knowledge of mac programs and a copy of resedit to
  1002. > modify...). Or hard code it and re-compile the program? This seems like
  1003. > it would take alot of time better spent.
  1004.  
  1005. Just use a resource.  Its so easy to hack out the dialogs anyway (delete
  1006. the dialog resource, nope that crashes, NMI, atb GetNewDialog, g, sc, nop
  1007. out the call, no more dialog) its hardly worth the effort - if the user is
  1008. going to use the programs and not pay, then they are going to do it no
  1009. matter what you do (unless you put a LOT of effort in to it).
  1010.  
  1011. Actually, I was thinking of putting an even simpler scheme into one of my
  1012. programs - simply a "I have registered" Check Box in the preferences
  1013. dialog, let the user click it when they send off the money.  But then, my
  1014. software is fully functional and free of anoying dialogs anyway, so the
  1015. users don't really get anything for registering, except to have me keep
  1016. writing programs.  But hey, if you're not going to trust your users, don't
  1017. bother writing shareware...
  1018.    Peter.
  1019.  
  1020. _______________________________________________________________________
  1021. Peter N Lewis <peter@cujo.curtin.edu.au>             Ph: +61 9 368 2055
  1022.  
  1023. +++++++++++++++++++++++++++
  1024.  
  1025. From: walrath@faw.uni-ulm.de (Wayne K. Walrath)
  1026. Organization: FAW (Research Institute For Applied Knowledge Processing, Ulm, Germany)
  1027. Date: Fri, 22 Jan 1993 14:23:21 GMT
  1028.  
  1029. In article <PETE.93Jan17213434@tatjana.rice.edu>, pete@tatjana.rice.edu (Louis Wu) writes:
  1030. |> Still, there are more honest people out there than I had originally
  1031. |> thought.  I've made enough to pay for my computer, which I certainly never
  1032. |> expected in the beginning. My checks have probably come half from the
  1033. |> states, half from elsewhere. Of the elsewhere, Australia sent the most. But
  1034. |> I've also had checks from Britain, Canada, Denmark, France, Germany,
  1035. |> Holland, Japan, Norway, Sweden, and Switzerland.
  1036.  
  1037. It would seem not such a bad idea to have an option for people 
  1038. to pay their shareware fees closer to their home (country). For example, 
  1039. let's say that a Belgium-based company/person 
  1040. receives all payments from users in Europe
  1041. who want to register their program (necessitating of course, that shareware
  1042. authors have designated this company/person to be a legitimate (spelling?)
  1043. recipient for that program's fees), then periodically this C/P takes off
  1044. a pre-arranged commission for the service, then converts
  1045. and transfers all the money going to the States (as well as all 
  1046. money destined for New Zealand, etc.), splits the cost of doing
  1047. this proportionately among the recipients in that country, takes 
  1048. off their commission for the service (which could be 
  1049. a small added cost that the users should be requested to 
  1050. pay---as in, send me $x or else pay $x+2 to so-and-so in Belgium).
  1051.  
  1052. The initial problems I see with this are the following: 1) trusting the 
  1053. agent (because contracts and trying to sue people across borders is 
  1054. probably not worth it for the amounts involved--if you are receiving so 
  1055. much from your programs than maybe you are ready to go commercial); 
  1056. and 2) if the Author has promised something to those who register (disks,
  1057. numbers to unlock features/stop showing splash screen, etc.), then they
  1058. would need to get the information at regular, and timely intervals from the
  1059. agent. 
  1060.  
  1061. It would definately add a new layer of organization and headaches to 
  1062. what is supposed to be a streamlined, simple concept (the shareware concept,
  1063. I mean, for those of you not paying attention...  ;-)   ), but on
  1064. the other hand, it is already more complicated for users to pay their fees
  1065. to authors living in other countries.
  1066.  
  1067. Anyone care to add to these thoughts, or if someone knows about 
  1068. organizations already established for this purpose, I would enjoy
  1069. hearing how they are working. So far, I have never seen a program that
  1070. mentioned such an organization.
  1071.  
  1072.  
  1073.  
  1074. |> 
  1075. |> --
  1076. |> =============================================================================
  1077. |> Pete Keleher   "Relax! Don't worry! Have a homebrew!"        pete@cs.rice.edu
  1078. |> =============================================================================
  1079. |> 
  1080.  
  1081. - -wayne             / Wayne K. Walrath                      \
  1082.             / walrath@faw.uni-ulm.de                   \
  1083.             \ The Rsrch. Institute for Applied         /
  1084.              \ Knowledge Processing & AI-Ulm, Germany /
  1085.  
  1086.  
  1087. +++++++++++++++++++++++++++
  1088.  
  1089. Organization: Royal Institute of Technology, Stockholm, Sweden
  1090. Date: Wed, 20 Jan 1993 16:18:57 GMT
  1091.  
  1092. In <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
  1093.  
  1094. >    No offence intended but it would take an experienced MacsBugs user less
  1095. >than 10 minutes to by-pass the checksum routine in your Application. Has
  1096. >anybody thought of that??
  1097.  
  1098. Yes, and I won't tell you how I solve i, but it involves the
  1099. network and encrypted code resources :-)
  1100.  
  1101. Seriously, for shareware, who would bother? And a determined
  1102. hacker will ALWAYS be able to bypass anything you can throw
  1103. at him. Just make it hard for the average user who has ResEdit
  1104. but can't read M68000 assembly, and you've done enough.
  1105.  
  1106. Cheers,
  1107.  
  1108.                             / h+
  1109. - -- 
  1110.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
  1111.   _/~|   Yellow
  1112.  / * \_  Shark                      (This signature has won the "Worst ASCII
  1113.  ~~~~\/  Software                    Logo of the Year" award)
  1114.  
  1115. +++++++++++++++++++++++++++
  1116.  
  1117. From: zz1bb@impending.ucsd.edu (Barry Brown)
  1118. Date: 20 Jan 93 16:58:47 GMT
  1119.  
  1120. In <1jhsntINNabr@skeena.ucs.ubc.ca> sainaney@unixg.ubc.ca (Narayan R. Sainaney) writes:
  1121.  
  1122. >    RE: Using "Register" splash screens and User name w/ checksum
  1123.  
  1124. >    No offence intended but it would take an experienced MacsBugs user less
  1125. >than 10 minutes to by-pass the checksum routine in your Application. Has anybody
  1126. >thought of that??
  1127.  
  1128. I kind of like the method used by GIFConverter.  The application creates a
  1129. Prefs file which contains the registration information.  If that file is
  1130. deleted or replaced (even with a duplicate of itself), GIFConverter
  1131. recognizes that the file has potentially been altered and asks for the
  1132. registration serial number again.  This means that even if you copy the
  1133. application and the prefs file to another computer, it will ask to be
  1134. re-registered.  The only problem it causes is when a hard drive is restored
  1135. from a backup.  Since the directory entry for the prefs file has changed, it
  1136. will ask to have the serial number entered again.  But I don't have to
  1137. restore from a backup more than, oh, once every two years, so it doesn't 
  1138. cause me any hardship.  I'll have other, more important things to worry 
  1139. about if my hard drive crashes.
  1140.  
  1141. - -- 
  1142. Barry E. Brown        --        \  UCSD Instructional Computing Center
  1143. bebrown@ucsd.{edu,uucp,bitnet}   \   Anime Stuff FTP Server administrator
  1144. Somewhere in San Diego, CA.....   \    (ftp network.ucsd.edu [132.239.254.203])
  1145. "Stimpy, sometimes your wealth of ignorance astounds me." -- Ren
  1146.  
  1147. +++++++++++++++++++++++++++
  1148.  
  1149. From: peter@cujo.curtin.edu.au (Peter N Lewis)
  1150. Organization: NCRPDA, Curtin University
  1151. Date: Sat, 23 Jan 1993 10:11:57 GMT
  1152.  
  1153. In article <1993Jan22.142321.16278@wega.rz.uni-ulm.de>,
  1154. walrath@faw.uni-ulm.de (Wayne K. Walrath) wrote:
  1155. > In article <PETE.93Jan17213434@tatjana.rice.edu>, pete@tatjana.rice.edu (Louis Wu) writes:
  1156. > | 
  1157. > |> Still, there are more honest people out there than I had originally
  1158. > |> thought.  I've made enough to pay for my computer, which I certainly never
  1159. > |> expected in the beginning. My checks have probably come half from the
  1160. > |> states, half from elsewhere. Of the elsewhere, Australia sent the most. But
  1161. > |> I've also had checks from Britain, Canada, Denmark, France, Germany,
  1162. > |> Holland, Japan, Norway, Sweden, and Switzerland.
  1163. > It would seem not such a bad idea to have an option for people 
  1164. > to pay their shareware fees closer to their home (country). For example, 
  1165. > let's say that a Belgium-based company/person 
  1166. > receives all payments from users in Europe
  1167.  
  1168. A simpler alternative, the one I took, is simply to open a bank account in
  1169. the relevent country, and then accept checks drawn on banks in that
  1170. country, and when you receive them, mail them to the bank.  Of course,
  1171. opening a bank account in a country you're not in is often a non-trivial
  1172. exercise (fortunately I had help from a good friend over there).
  1173.  
  1174. Actually, its probably close to impossible to get an Australian bank
  1175. account set up without being here, I can check if anyone is interested. 
  1176. Its nearly impossible to get one even if you are here these days!  besides,
  1177. with the Australian dollar sinking as fast as it is, you wouldnt want to
  1178. leave the money here long (makes my ammerican dollars look good though :-).
  1179.  
  1180. I'm always amazed by shareware authors who say they get lots of payments
  1181. from Australia, I live here, and Australia makes up only a small percentage
  1182. of shareware payments I've recieved (like, I think about 4 or 5 total,
  1183. ever!)
  1184.  
  1185. > Anyone care to add to these thoughts, or if someone knows about 
  1186. > organizations already established for this purpose, I would enjoy
  1187. > hearing how they are working. So far, I have never seen a program that
  1188. > mentioned such an organization.
  1189.  
  1190. I've never heard of one.  I'd offer to help anyone who gets lots of
  1191. Australian shareware payments, but a) I'm so disorganized myself it would
  1192. be a bad idea, and b) I'd probably get jealous :-)
  1193.  
  1194. Have fun all,
  1195.    Peter.
  1196.  
  1197. _______________________________________________________________________
  1198. Peter N Lewis <peter@cujo.curtin.edu.au>             Ph: +61 9 368 2055
  1199.  
  1200. +++++++++++++++++++++++++++
  1201.  
  1202. From: mikeh@kralizec.zeta.org.au (Michael Hore)
  1203. Date: 22 Jan 1993 09:05:44 +1100
  1204. Organization: Kralizec Dialup Unix Sydney: +61-2-837-1183 V.42bis
  1205.  
  1206.  
  1207. >>  [Program] was favorably reviewed in Byte magazine and in a number of
  1208. >>books [...], and they all mentioned my name. It's a nice thing to put on
  1209. >>your resume.
  1210.  
  1211. That's for sure.  My freeware offering had a couple of good mentions
  1212. in MacTutor (now MacTech).  As a result, a prospective employer, a
  1213. respected Mac software house, had me in quite quickly for an interview.
  1214. At the interview they had just 3 questions:
  1215.  
  1216. "What do you want to do?
  1217. Here are our projects, -- which one are you interested in?
  1218. When can you start?"
  1219.  
  1220. :-)
  1221.  
  1222. Cheers,  Mike.
  1223.  
  1224. - ----------------------------------------------------------
  1225. Mike Hore          mikeh@kralizec.zeta.org.au
  1226. .sig deliberately kept short to minimize .sig/noise ratio.
  1227. - ----------------------------------------------------------
  1228.  
  1229. +++++++++++++++++++++++++++
  1230.  
  1231. From: fixer@faxcsl.dcrt.nih.gov (Chris Bearded Guacamole Tate)
  1232. Organization: Computer Systems Laboratory, DCRT, NIH
  1233. Date: Mon, 25 Jan 1993 15:30:53 GMT
  1234.  
  1235. Kurisuto, you may wish to contact the Association of Shareware Professionals
  1236. (ASP) and see what they have to say about the success of their members'
  1237. efforts.
  1238.  
  1239. The ASP is an interesting organization.  I've only seen MS-DOS products
  1240. released under their auspices, but those that I've seen are *quite* impressive. 
  1241. The 4-DOS replacement for the MS-DOS command shell and the Brother's Keeper
  1242. genealogy program are ASP products.
  1243.  
  1244. >From what I gather, member developers have pledged a significant amount of
  1245. support for their shareware, in return for the "prestige" of claiming ASP
  1246. affiliation, negotiation/arbitration services conducted by the ASP (e.g.
  1247. ombudsman arbitration between customer and developer in the case of conflict),
  1248. etc.
  1249.  
  1250. I think it might be worthwhile to find out what the ASP's findings about
  1251. customer honesty are.
  1252.  
  1253. One thing I don't know is whether or not ASP members are permitted to be
  1254. commercial developers as well.  I would imagine so, however.  My impression is
  1255. that shareware products must be supported to an extent comparable to commercial
  1256. support - ASP membership is not a frivolity.
  1257.  
  1258. The one ASP product that I know the shareware fee for is Brother's Keeper (an
  1259. impressive genealogy program - the only one for MS-DOS, as far as I'm aware,
  1260. that can handle international character sets).  Its shareware fee is $45 US. 
  1261. Compared to "independant" shareware, this seems pretty steep to me - but it's
  1262. an impressive product, and the author's support is *excellent*.
  1263.  
  1264. - ------------------------------------------------------------------------------
  1265. Christopher Tate             | Return of the CryptoSig (tm):
  1266. Management Systems Designers |    XHGVMFCV GBGNKJ KJ LFJG X CXZB, KG GBXIVBJ
  1267.                              |    DMF GVKJ: QVXGBTBN DMF AM, AMP'G ZKJJ.
  1268. fixer@faxcsl.dcrt.nih.gov    |    
  1269.  
  1270. ---------------------------
  1271.  
  1272. End of C.S.M.P. Digest
  1273. **********************
  1274.