America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, January 15, 1991  10:00 p.m. Eastern Time
Topic:  Marketing Your Software and Open Topic
Forum Leader:  Gary Jacobson (AFA Gary J)


AFA Gary J Welcome to the Apple II Development Forum.  Tonight's topic is
          Marketing Your
AFA Gary J Software.   We'll not use protocol (yet) with this small group
          (unless we get
AFA Gary J larger and unrowdy :), so if anyone has a question to start out
          this evening,
AFA Gary J then go for it :)
AFA Gary J Anyone here have software they NEED to market?  :)
AFA Gary J Many people are going shareware these days.
AFA Gary J Ok, if nobody has questions on our topic tonight, we can open it
          up to general
AFA Gary J questions :)
ShanoJ     I have some kinda general questions about marketing software....
Foreigner1 what's the topic?
AFA Gary J The topic tonight is Marketing your software.
AFA Gary J Ok Jonah, GA
ShanoJ     Well, I guess my questions are really about selling to publishing
          companies...
ShanoJ     Is there a 'going rate' for selling programs to publishing
          companies?
Mac Hater  5-10% royalties
ShanoJ     Even a rough ball-park figure would be nice... I have just about
          no idea now...
Nuzz       Johah, I think that would depend on how broad a base the program
          is aimed at
Nuzz       and how ambitiuos the program is, But 10% sounds about right to
          me
AFA Gary J GA, Scott
AFL Scott  I really think royalties should be on a case basis and calculated
          on the value the application
ShanoJ     (which means for me about 0%? :)
AFL Scott  brings to the host computer.
AFL Scott  GA
AFA Gary J :)
AFA Gary J Thanks, any other comments?
Mac Hater  the bigger the manufacturer, the smaller cut you'll get.
AFA Gary J Allright, any other questions?  (Marketing, toolbox, BASIC, how
          to turn on the
AFA Gary J computer, etc )
Mac Hater  I can't figure out how to turn it off.  :(
AFA Gary J :)
AFA Gary J I have that problem too, Mac Hater :)
WinkieJim  too many variables..:)
AFA Gary J GA, Foreigner
Foreigner1 Did the general way to set up icon controls in windows change over
          this summer?
Foreigner1 I keep getting interesting errors when I use the Toolbox mans
          1&2.
ShanoJ     Do you mean in dialog boxes?
Foreigner1 No, I mean everwhere.
AFA Gary J GA, Matt
Matt DTS   Icon button controls are not and never have been discussed in
          Toolbox Reference #1 or #2.
Matt DTS   Those controls are new to 5.0 and are only in Toolbox Reference
          #3.
Matt DTS   Icons, as in QDAux _DrawIcon, have been around virtually forever
          and have not changed.  GA.
Foreigner1 they are in the dialog mananger.  Or maybe I have the terminology
          wrong.
AFA Gary J GA, Dave
Dave Lyons What toolbox calls are you making and what error codes are you
          getting back?
Foreigner1 Hang on a sec...
Dave Lyons (None of this stuff changed for 5.0.3 or 5.0.4.)
ShanoJ     I think they're not supported in dialog boxes (which is what you'd
          be using the
ShanoJ     dialog manager for....)
Foreigner1 I'm trying to set them up using an itemtemplate.
Foreigner1 The routine refuses to recognize my icon handles.
Dave Lyons For what toolbox call?  GetNewModalDialog??
Foreigner1 All the icon stuff that used to be in the dialog.h file has now
          been changed...
Foreigner1 No, just for setting the itemtemplates up: compiler error.
Dave Lyons Hmm--could be that the interface file changed.  But I know that
          the Dialog Manager itself did not
Dave Lyons change.  What C compiler are you using, and what error do you get
          from the compiler?
Foreigner1 Orca/c 1.1.
Foreigner1 The iconitem type is not #def'd anymore.
Dave Lyons Okay, that's because (see TB Ref volume 3)
Dave Lyons iconItems in Dialog Manger dialogs are not officially supported
          (it says they never worked
Dave Lyons at all--in fact, I think they never worked -reliably-).
Dave Lyons You might consider putting in a userItem instead, and having
          your
Dave Lyons user item routine just call DrawIcon.  This way you can use
          DrawIcon-format icons instead of iconItem
Dave Lyons format icons, which means you can use up-to-date icon editors or
          whatever to draw them.
Foreigner1 Alright, let's go about this the other way, how do I put an icon
          in a window
Foreigner1 that responds to a click?  (I need it to set a flag)
Dave Lyons (If you have a really complex dialog, abandon the Dialog Mgr
          completely!)
Foreigner1 Not complex. I just want a few icons and some stattext things.
Dave Lyons The most "obvious" way to put an icon in a window and
Dave Lyons make it respond to a click is:  (1) Draw the icon in the wContDraw
          routine for your window; (2) when
Dave Lyons your program gets a wInContent event back from TaskMaster, check
          the coordinates to see where they
Dave Lyons clicked in your window (use SetPort to set the port to your
          window, then GlobalToLocal on the
Dave Lyons point to get it into the window's coordinates).
Foreigner1 Okay, I was just hoping for a more graceful way.  Thanx again
          Dave.  GA
Dave Lyons (If your window can scroll, use StartDrawing instead of SetPort,
          and use SetOrigin(0,0) when
Dave Lyons you're through.)
Dave Lyons Wait, there *is* a more graceful way, in 5.0
Dave Lyons and later!  Use NewControl2 to create an Icon Button control.
          Call TaskMaster with the
Dave Lyons wContentControl bit set in the task mask, and it will find and
          track controls for you--it will
Dave Lyons tell you the control ID of the extended control they clicked in
          (see TB Ref 3, Control Manager and
Dave Lyons Window Manager chapters).
Foreigner1 Don't have Vol 3 yet- sometime this week! :)
Dave Lyons (Ack! :)  ga
AFA Gary J :)  Ok, WinkieJim had the next question.  GA
WinkieJim  Ok, I finaly have a problem on tuesday night! :)
AFA Gary J oh-oh :)
WinkieJim  Ok, I have this NDA with it's nice window onscreen.
WinkieJim  I then call the Standard File Operations toolkit to put up a
          SFGetFile dialog
WinkieJim  box
WinkieJim  Everything works beautifuly with the dialog, except
WinkieJim  if the first thing I do is hit the down arrow key to scroll
          through the list
WinkieJim  of filenames.
WinkieJim  If I do then the List is drawn in my NDAs window instead of the
          dialog box.
WinkieJim  another keypress and it is drawn in the dialog box as normal.
AFA Gary J GA, Dave
Dave Lyons Kawanga!  *Sounds* like a Standard File bug, doesn't it?  But I've
          never seen that happen
Dave Lyons before.  Do you have to hit the key *before* the dialog gets drawn
          completely, or what?
Dave Lyons Is it the list's frame, the scroll bar, or some actual items
          inside the list that are getting
Dave Lyons drawn in your window?
WinkieJim  no, the dialog is drawn on the screen adn I press the down arrow
          key and it
WinkieJim  draws the list in the NDA's window. Any other action does
          everythign normaly
Dave Lyons The whole list gets drawn in your window, including the frame,
          scroll bar, and some filenames?
WinkieJim  The frame the scroll bar and the first two items in the list
          (first normal
WinkieJim  second highlighted) get drawn in the nda window
Dave Lyons Nasty.  But why just *your* NDA?  Has anybody else seen this
          behavior?
WinkieJim  I check out a couple other NDAs that use standard file boxes and
          it doesn't
WinkieJim  seem to do it in them
Mac Hater  do you have any list controls in your nda?
WinkieJim  Nope. It has a menu bar though.
Dave Lyons Don't see why either of those would cause problems; how 'bout you
          email me a copy of the DA--I'd
WinkieJim  I do have other controls in the window though...
Dave Lyons really like to see this happen so I can make sure it's not *my*
          bug. :-)  *And* of course I want
Dave Lyons to solve your problem, too.... :)  ga
WinkieJim  :)
AFA Gary J of course :)
AFA Gary J Anything else, Winkie?
WinkieJim  Nope, that's my big problem...
AFA Gary J Ok :)  The next question goes to Windrider.  GA
Windrider5 How does TaskMasterDA differ from TaskMaster?
AFA Gary J GA, Dave
Dave Lyons They're almost identical, and they share most of their code.
          TaskMasterDA does not call
Dave Lyons GetNextEvent, because you're already passing it a Task Record with
          the Event Record portion filled
Dave Lyons in (i.e., you're giving it an event that SystemEvent gave to your
          NDA).  And TaskMasterDA
Dave Lyons skips the SystemTask call that calls Run Queue tasks and gives Run
          events to NDAs.  ga
AFA Gary J Does that answer it for you, Windrider?
Windrider5 Can TaskMaster work in an NDA?
WinkieJim  That's what it's for.
AFA Gary J Yes, GA Dave
Dave Lyons (Sorry, was reading mail)  Yes, you can use TaskMaster from an NDA
          in *modal* situations
Dave Lyons only.  To be clear: when you get an eventAction, you copy the
          event record to an extended task
Dave Lyons record and call TaskMasterDA.  Completely separate from that, if
          your NDA puts up a window and wants
Dave Lyons to do modal stuff in there (a modal window on top of your NDA
          window) you should use regular
Dave Lyons TaskMaster from there (just like, say, ChooseFont does).
WinkieJim  opps, didn't see he left off the DA part.
WinkieJim  <---loves Taskmaster DA
Dave Lyons Caution:  You have to be sure to
Dave Lyons leave *off* certain Task Mask bits, like tmUpdate, to prevent
          TaskMaster from calling the wContDefProc
Dave Lyons routines for Application windows.  If you allowed it to do that,
          the system could crash, because
Dave Lyons the App might expect the right ResourceApp to be current (which it
          certainly will not be if your
Dave Lyons NDA uses resources).  This restriction may be lifted in future
          system software.  ga
AFA Gary J Thanks, Dave.
Windrider5 thanks Dave, that was exactly the info I needed to know.
AFA Gary J And, that brings us to Jonah's question. GA, Jonah
ShanoJ     Okay, can I ask two completely unrelated questions? No? Oh, guess
          I wasted my
ShanoJ     question then.... :)
AFA Gary J Ok, Next?
ShanoJ     Seriously though...
AFA Gary J :)
ShanoJ     This one is for the DTS guys: are custom popup menus 'supported',
          'legal', and
ShanoJ     all of that good stuff? I know they WORK (pretty much), I just
          don't know
ShanoJ     whether they're allowed....
Matt DTS   Well...
ShanoJ     Oh, that reminded me, the pretty much comes from the fact that
          they dont seem
ShanoJ     to call the getMID routine. They call EVERYTHING else, but they
          don't get the
ShanoJ     final ACTUAL ID of the item selected....
Matt DTS   ...they're legal as far as we know, but they don't support
          scrolling (no custom menus do).
ShanoJ     This is easily fixable, though.... (Big grin.... :)
Matt DTS   (Unless Dave knows something I don't.  I've never written one.)
          GA.
Dave Lyons Strange--like Matt said, custom menus can't scroll, but I thought
          they worked okay otherwise.  I
Dave Lyons don't know of any sample code, but at one point there was going to
          be one in 5.0.3 Standard File,
Dave Lyons and it seemed to work just fine there.
WinkieJim  Pop-up directory pathname?
ShanoJ     Well, I managed to put one in a SF dialog too, and the standard
          popup worked
ShanoJ     fine, but the custom one didn't get the item returned
          (PopUpMenuSelect always
ShanoJ     returned 0).
Dave Lyons I will have to play with them sometime & see what, if anything, is
          wrong.
Dave Lyons (No, it was going to be a pop-up volume menu, but it would up with
          the Volumes level instead.  A
Dave Lyons pathname pop-up would be cool, though.)
ShanoJ     Jim: That's EXACTLY what I did.... :)
ShanoJ     If anyone wants it I have almost working wsource that does a SF
          dialog like on
ShanoJ     the Mac with the popup menu...
ShanoJ     It still needs a little bit of tweaking, but it's pretty good...
WinkieJim  No thanks I had enough problems adding one button to a SF dialog
          :)
AFA Gary J :)
Matt DTS   Using Standard File, Jonah?
ShanoJ     Well then Jim, watch for my article in 8/16-Central on how to do
          this stuff!!:)
ShanoJ     Matt: Ya, SFPxxxx
WinkieJim  Sure, now that I'm done :)
Matt DTS   I realize such things are cool and necessary but I'd just as soon
          people left the major parts of the
Matt DTS   human interface in Standard File to us.  If we majorly wacko make
          it better, people using custom
Matt DTS   dialogs don't get the benefit of it.
Dave Lyons ShanoJ, did you put little icons next to your items, or what?
          (That's why it had to be custom?)
ShanoJ     Dave and Matt: if you want some sample code that (I think) proves
          that the
ShanoJ     custom popups don't work, I'll send it to you...
Dave Lyons (Unclear--in many cases people using custom SFP templates *do* get
          the benefit of revved
Dave Lyons standard file versions.)
ShanoJ     I know, Matt... I mainly wrote it to see if it'd be done--I don't
          think I'll
ShanoJ     ever use it in a program...
ShanoJ     Dave: Ya, I wrote a menu proc that put a little icon next to each
          item...
ShanoJ     Scott says I should tell you I also did nested menus, too, while I
          was at it...
ShanoJ     There, however, you're out of luck as I _DO_ plan to use them in a
          program...
A2GS       Nested menus?
Matt DTS   Hierarchicals.  Ack.
ShanoJ     Albert: Ya, like on the Mac, with the litte |> to the side...
WinkieJim  Shano, that sound like a lot of fub :)
WinkieJim  fub=fun
AFA Gary J fub too :)
ShanoJ     No, you were right the first time. It was a lot of fub... :)
Foreigner1 :)
Matt DTS   (Had the Volumes pop-up gone in 5.0.3, it was not going to appear
          in SFPxxxx dialogs.  Only in the
Matt DTS   standard ones.  We had no way of knowing whether developers wanted
          the standard behavior or whether
Matt DTS   they really wanted a "disk" button, so SFPxxxx calls were left
          alone.)
Nuzz       I like the disk button
ShanoJ     Ugg! I love the volumes button... I even wrote a fake SF call
          that's I named
ShanoJ     SFVoulmes that JUST does what the volumes button does....
WinkieJim  I'm glad you kept the tab key going to the next volume
A2GS       I thought DTS decided against doing hierarchicals for the GS
          because they
A2GS       turned out to be more of a headache then an improvement.
ShanoJ     With 8 volumes on line, that disk button is a killer.... :)
WinkieJim  Platinum  paint could use hierarchicals...:)
Nuzz       I meant Volume Button
Matt DTS   Some programs (like Platinum Paint) could benefit from
          hierarchicals.  However...
Matt DTS   Apple's experience has been that most uses of hierarchical menus
          simply make the menu organization
Matt DTS   more efficient for the programmer and a lot harder for the user
          (case in point: Microsoft PowerPoint).
ShanoJ     I agree that they're a bad interface design....
Matt DTS   Lots of people use hierarchical menus just to make their
          ill-organized applications fit in the menu
Matt DTS   bar instead of reorganizing the application to work better.
          That's why we're in no hurry to see them
Matt DTS   as part of the IIgs Menu Manager.
WinkieJim  I saw a ad there they showed off about 4-5 nested menus :)
ShanoJ     I only wrote them because I wanted the GS to be able to do what
          the Mac
ShanoJ     could.... :)
Dave Lyons (DTS does not write the system software, but they don't like
          hierarchical menus very much; neither
Dave Lyons do I, because they're kinda clumsy & easy to abuse badly.)
AFA Gary J They are kind of a pain sometimes.
AFA Gary J Winkie, did you have a question still?
WinkieJim  yes
AFA Gary J GA, then :)
WinkieJim  How many of you would:
ShanoJ     I would!
WinkieJim  a) like to read an article on creating custom extended controls
WinkieJim  b) Be interested in a custom control that could display a bar
          (like the
WinkieJim  boot status bar) with only a few calls?
WinkieJim  ga?
Foreigner1 Sounds interesting.
ShanoJ     I would... Then again, I'm also writing an article like that, so I
          guess I
ShanoJ     should probably vote against yours.... :)
Nuzz       I'd like to see it too
WinkieJim  8/16 most probably...
WinkieJim  Author would be me
AFA Gary J Oh, then Ok! :)
ShanoJ     ...except I'm not doing thermometer controls, though.
WinkieJim  Good :)
Mac Hater  how many would like to see... an article on emulating a macintosh
          with a IIgsa
Mac Hater  and paperclip?
AFA Gary J :)  Where, in the funny section?  :)
AFA Gary J (cartoons, that is :)
WinkieJim  Mac, why I did that a year ago...old stuff...
ShanoJ     I got two more questions....
AFA Gary J Ok, GA Jonah
ShanoJ     1) Is there ANY way to know when a GS/OS call is made, short of
          patching the
ShanoJ     dispatch vectors? This is the only thing stopping my SF menus from
          working
ShanoJ     PERFECTLY.... :(
ShanoJ     and while I'm at it....
ShanoJ     2) Does anyone know how the new SSSi editor compares to MAX/Edit
          and the
ShanoJ     standard ORCA editor?
ShanoJ     Oh, in case it matters I'm only looking for SetPrefix calls in
          #1
Nuzz       SSSI has a demo of Edit 16 in the library
AFA Gary J GA, Winkie
WinkieJim  Shano, I;ve used a little trick to see if Prefixes have
          changed...
Dave Lyons ShanoJ, why does your SF menu need to kow when a GS/OS call is
          made??
ShanoJ     Dave: It has to update the menu in the SF dialog....
WinkieJim  What I do is make a small output buffer (4-6 bytes long) and
WinkieJim  do a SetPrefix call for the 0-31 preifxes and add up the
          lengths...
WinkieJim  if the value changes from the last time I checked, the prefixes
          have changed...
WinkieJim  (not totaly reliable if the prefix length doesn't change
          though...)
Dave Lyons And if I changed prefix 0 from :H1:Food to :H1:Beef, you don't
          notice that it changed??
ShanoJ     Jim: I see what you're saying, but it won't work in this
          instance... My code
ShanoJ     only gets control when a button is hit (or I interrupt the SF
          toolset some
ShanoJ     other way)... See the problem?
WinkieJim  Right...nothings perfext
WinkieJim  (including my spelling)
Dave Lyons Maybe I'm missing something, guys, but why don't you just get the
          prefix you want and compare it
Dave Lyons against what it used to be??
Dave Lyons (WJ, I don't agree!  A lot of things are pefect in the appropriate
          context. :-)
WinkieJim  Dave, think of the memory needed to store 32 prefixes that can be
          $2000 long :)
Dave Lyons WJ, the memory needed is exactly 32*4 bytes longer than the
          *actual* size of the prefixes (prefixi?).
A2GS       prefixis
Dave Lyons ShanoJ, where is your menu again?  Why can't you check it right
          before you pull it down?
WinkieJim  Previa? :)
Dave Lyons Eh?
A2GS       previece
ShanoJ     It's on top of the list in a SF dialog... It won't work to check
          right before
ShanoJ     it's poped (although I do that, too) because the following might
          happen:
ShanoJ     Use opens SF dialog, pop up menu is set properly. Then double
          clicks a folder.
ShanoJ     The folder is opened, and the name shown in the popup should be
          changed. I get
ShanoJ     an itemHit call when the list is hit, but this is BEFORE the
          prefix is changed.
ShanoJ     So, I either need to have some way to be called AGAIN, after the
          prefix is
ShanoJ     changed, or to be called WHEN the prefix is changed....
Dave Lyons Are you doing this for SFPxxx calls, or just SFxxx calls?
ShanoJ     SFPxxx calls only (couldn't put it in the SF dialog....)
WinkieJim  Shano, can't you put a RunQ task in that checks if the prefix
          changed and
WinkieJim  update the popup?
ShanoJ     There's a thought....
Dave Lyons So why don't you override the standard Path item, and update it
          whenever your filter proc gets
Dave Lyons called?  Or doesn't it get called at all when they double-click a
          folder?
Dave Lyons (wait, I haven't read everything you said)
ShanoJ     Well, it does get called when the thing is double clicked, but
          that's before
ShanoJ     the path has changed... What do you mean by 'override the standard
          path item'?
Dave Lyons I guess you're already overriding it--I meant putting in your own
          code to replace the
Dave Lyons standard Path Item drawing the pathname above the list.
Dave Lyons (That doesn't solve the problem, since it's not changing the
          prefix at the most convenient
Dave Lyons time for you.  There may be no clean way to do it at present.)
WinkieJim  Shano, Dave did have another idea, put the check for prefix
          changing in your
WinkieJim  filetype filter proc...
ShanoJ     Jim: thought of that. It won't work for SFPPutFile2, because there
          IS no filter
ShanoJ     proc...
WinkieJim  ahhh Put...
ShanoJ     I think the RunQ is the best idea so far....
ShanoJ     Though that's a bit on the kludgy side....
AFA Gary J I have a question (I probably should have asked earlier)
AFA Gary J Anyone know of any "super macro" macros available for ORCA/M,
          like the ones
AFA Gary J used in Merlin 16+?
ShanoJ     How hard would it be to convert Merlin's to APW format?
AFA Gary J I dunno, never really looked at them.  I have a friend who's
          trying to convert to ORCA/M.
WinkieJim  Somewhat tricky...about the same as converting Merlin source to
          APW
ShanoJ     I just got Merlin (thanks, Marty!!), so I don't know enough about
          it to know...
AFA Gary J :)
WinkieJim  <---merlin Maniac, I love my super macros...only
WinkieJim  wish they'd update them for 5.0 already
AFA Gary J Do you use Merlin all the time, Winkie?  Have you had any
          problems doing
AFA Gary J resources, and that sort of thing with Merlin?
WinkieJim  It's all I use.
WinkieJim  Not really I do all my resource creation and editing in Genesys
          and
WinkieJim  Merlin save the final object fine just to the data fork, leaving
          the resource
WinkieJim  fork ok.
ShanoJ     Ya, anyone know about Merlin supporting resources eventually?
WinkieJim  Shano, supposilly the next update will have resource stuff in it
WinkieJim  Brendon does tend to go off on his own course.
AFA Gary J I have Merlin 16, but never upgraded to 16+.
AFA Gary J (I used to use Merlin all the time, for 8-bit stuff)
ShanoJ     Is it just me, or is much of the Merlin interface backwards? It
          seems that he
ShanoJ     likes to use 'Esc' to confirm and 'Return' to cancel.... :(
ShanoJ     "No Jonah, just you're backwards.... " :)
AFA Gary J Well, I thought I saw a 3rd party someplace that had super-macros
          for ORCA, but
AFA Gary J I could be wrong.
WinkieJim  BTw, for a sample of weather resources can be acieved using Merlin
          16+ and
WinkieJim  Genesys just check out Super info II
AFA Gary J Yes, I thought you were heavily into resources, that's why I
          asked :)
ShanoJ     It is nice and fast though....  But with my new Zip, so is APW....
          :)
AFA Gary J What's your speed, Jonah?
A2GS       Yes....but Merlin is still faster  :)
AFA Gary J Merlin is fast, that's for sure.
AFA Gary J Zip Chip GS?
WinkieJim  I might have a problem doing Cdevs if I ever get a chance to try
          my hand at
WinkieJim  them though...I have no way of making Code resources with Merlin
ShanoJ     8 Mhz on the Zip... Anyone know now to upgrade to 12?!
WinkieJim  <---zip is at Zip getting updated for my RamFast
A2GS       get a 12 Mhz 65816 maybe?   :-)
AFA Gary J I'd settle for 10 Mhz.
A2GS       I'd settle for 20