[comp.sys.mac.programmer] Prototyper

elwell@tut.cis.ohio-state.edu (Clayton Elwell) (03/18/88)

Well, folks, on Monday I ordered Prototyper, and yesterday it arrived.
After a couple days of playing with it, I'm very impressed.  It seems
to be well worth the money.  It's not perfect, but it's much better
than any alternative I've found.

It actually makes user interface hacking pleasant :-).

Although it generates code that's a little large, it really does what
they say it does, and it's a lot easier to take working code and slim
it down than to start from scratch.  The dialog handling features are
quite nice in this respect.  I think I'm going to like icon buttons...

Anyway, I would recommend this product to anyone who has better things
to do than page through Inside Mac while they are trying to get a
program working.

-- 
			      Clayton M. Elwell <elwell@tut.cis.ohio-state.edu>

	The Ohio State University, Department of Computer & Information Science
		      2036 Neil Avenue Mall, Columbus OH 43210 / (614) 292-6546

dave@emerald.PRC.Unisys.COM (David Lee Matuszek) (03/21/89)

In article <7540@boulder.Colorado.EDU> fozzard@boulder.Colorado.EDU (Richard Fozzard) writes:

>Has any one used the Prototyper program from Smethers Barnes? It seems a
>wonderful way to learn AND get automatic code examples for a variety of 
>things. And will it only work with Pascal or can it also generate C code
>(eg for Lightspeed C)?

I am a (relatively new) user of Prototyper.

Prototyper 2.0 provides a MacDraw-like environment for constructing
windows (all the standard types, including Dialogs), controls, and
menus (including hierarchical menus).  This includes all the standard
radio buttons, check boxes, icons in menus, etc.--basically the whole
range of interface stuff.  It then generates the resources and the
Pascal or C programs (Lightspeed, MPW, Turbo), fully commented, to put
up the menu and the windows.  The places where you drop in code to
actually DO something with the menu items, etc., are clearly marked.

Suggested retail is $249, so I expect the discount price is somewhere
near $175 (just a guess).  I don't know exactly because I upgraded
from Prototyper 1.0.

Prototyper 1.0 was buggy, and only did Pascal.  P 2.0 does C, but I
don't, so I have no opinions on that.  P 2.0 seems to have a better
interface, and I haven't hit any bugs yet, but I've been to busy to
give it a thorough workout.

For beginning programmers, I strongly recommend Prototyper.  Macintosh
programming has a very steep learning curve, and this program helps a
great deal in getting over that hump.  (At least, it helped me.)  The
code it produces is standalone and well commented, so it serves very
well for examples as well as actual use.

What Prototyper DOES do:

It creates the code to open and close windows.  It creates the code to
recognize mouse clicks and command-key presses.  It creates the code
to put up the menu.  It writes the main event loop.  Stuff like that.

What Prototyper DOESN'T do:

It does not put things into windows.  It does not do your basic
input-output operations for you.  It does not check or gray menu
items.  It does not do text editing.  It does not write reasonable
code for dealing with scroll bars or other controls.  In short, it
provides the interface, but everything behind the interface is still
your responsibility.

So I found Prototyper a great help in getting started, but it is NOT a
substitute for reading Inside Macintosh several times; and there are
very many things I still do not know how to do that Prototyper is no
help with.  After you have Lightspeed C and/or Pascal, and Inside
Macintosh, then this is the next thing to get.

[No connection with SmetherBarnes except as a semisatisfied user.]



-- Dave Matuszek (dave@prc.unisys.com)
-- Unisys Corp. / Paoli Research Center / PO Box 517 / Paoli PA  19301
-- Standard disclaimer:  Any resemblance between my opinions and those of my
   employer is strictly coincidental.

rdsesq@Jessica.stanford.edu (Rob Snevely) (03/22/89)

Hello Net-Land,

Having used Prototyper off and on for almost a year, Here are my thoughts and
opinions on it. For doing generic user-interface stuff it's ok. The code it
puts out seems more than a bit verbose, and sometimes hard to read. It does due
a main event-loop structure thats ok but I perfer mine a bit more modular. 
(this is a personal preference that others may hate). It is good for building
a prototype ( as the name inplies ). I used it to prototype a simple program
that I am working on, however I found that I needed to rewrite the event-loop
for clarity. The best thing that it does is generate resources. Thats what I 
use it for the most. A more graphical Res-Edit. So if you are a new programmer
(like me), it is a helpful tool. It won't allow you to skip inside mac and
if you want good code examples, check with another Mac programmer or maybe
the USENET guide. An ok tool (I got it at an educational Discount) but its
not the answer to my screams in the night. If you do alot of prototyping,
it might also be worth a look.
It's only my opinion. I have no connection with Smethers-Barnes except I got
an OK product at a decent price.

rob

rdsesq@jessica.stanford.edu

oster@dewey.soe.berkeley.edu (David Phillip Oster) (03/22/89)

Beware of Prototyper! As a macdraw-y environment for creating user 
interfaces, you can do most of what it does using Resedit and MacDraw
(paste those picts into your dialogs for things like bracketing boxes
around groups of buttons.)

The code that it generates is not only so verbose it is hard to read
(for example, each menu item in a .r file has a useless comment:

File		;;Menu title
  New/n		;;menu item
  Open/O	;;menu item

) it is also wrong: the code generates app1 events. Under multifinder, 
since there is one global event queue, these events stand a good chance
of being delivered to some other application. If it was also written
with prototyper, it will misbehave, and so will your application, since
it isn't seeing the events it needs.

--- David Phillip Oster            --"When we replace the mouse with a pen,
Arpa: oster@dewey.soe.berkeley.edu --3 button mouse fans will need saxophone
Uucp: {uwvax,decvax}!ucbvax!oster%dewey.soe.berkeley.edu --lessons." - Gasee

drc@claris.com (Dennis Cohen) (03/22/89)

David is only partially correct in his complaints concerning Prototyper.  The
complaint is valid against version 1.0 of the product, but not 2.0 (the
currently shipping version).  The level of commentary is left to user
preference and the 2.0 release does not generate MF-incompatible code.  A
lot more capability is there than simply generating a resource file --
if that's all people wanted it for, they would be better off using ResEdit.
With Prototyper you can link menu items, buttons, and so forth to dialogs,
windows, and other objects and the code generated will reflect that.  In
short, you can generate the application shell for your program with Prototyper
and then implement whatever algorithms are necessary to do the grunt work
of your application.

Prototyper is a very useful program, but it is overkill as a resource editor.

Dennis Cohen
Claris Corp.
------------
Disclaimer:  Any opinions expressed above are _MINE_!

ewing@tramp.Colorado.EDU (EWING DAVID JAMES) (03/23/89)

True, Prototype 2.0 is vastly improved, but it isn't complete (and may
never be).  First, it contains as many bugs as version 1.0.  However
SmethersBarnes has decided that they will fix them.  Registered users
can get a free update by calling there tech. support line.  I know this
update is coming because I am currently testing a prerelease version
of it (and I haven't crashed it yet).

The basic problems I have with Prototyper is its basic purpose (implied
by its name).  It is best for prototyping applications, not building real
ones.  There is no easy way of adding new user I/F features after you
have already generated code and modified it for your own purposes.  You
have go in and make all your changes again every time you generate new
code.  SmethersBarnes says they will probably fix this by calling routines
that you supply instead of having you insert code directly into the files
that it generates.  However, this won't be in the next update.

It needs to support scrolling views inside of windows.  Either text or
graphical.  It allows windows to be prototyped which look like they
should work, but they don't.

Also, it doesn't support MacApp.  Although I don't use MacApp, I would
consider it if Prototyper supported it.   Basically I'm sick of writting
the same code over and over again, and the combination of Prototyper and
an object-oriented language would be perfect ;-).

Minor problems include:  Its support of hierarchical menus is icky (for
lack of a better term).  Scrolling lists need to be filled with arbitrary
information of arbitrary lengths.

Oh well.  That's enough for now.
				-dave-

oster@dewey.soe.berkeley.edu (David Phillip Oster) (03/23/89)

In article <9136@claris.com> drc@claris.com (Dennis Cohen) writes:
>David is only partially correct in his complaints concerning Prototyper.  The
>complaint is valid against version 1.0 of the product, but not 2.0 (the
>currently shipping version).  The level of commentary is left to user
>preference and the 2.0 release does not generate MF-incompatible code.  

No Dennis, I've been working with output of Version 2. It definately
generates code that has a high probability of failing under
multi-finder.  Read my posting! It generates app1Events, and expects to
receive them. This is a definate no-no under multifinder.

I'll concede that comment levels may be under user control, but that isn't
the point.

david.dmytryshyn@f428.n250.z1.fidonet.org (david dmytryshyn) (07/21/89)

The other day, I received a demo copy of Prototyper.  I played with
it for a while, and said to myself, gee, I could get into this.  I
then read a review on it in MacGuide (which I'm sorry to see die) and
it was quite favourable.  Is anybody using this or something similar
to build their user interfaces with?

[Background info...  I'm moderately fluent in C, but do not as of yet
have a compiler for the Macintosh, but have already decided on Lightspeed,
but am waiting for moderately object oriented version to come out, which
according to a previous message is sometime this fall.  I'm trying to
reduce the pain of transition...]



David..

Send mail to:  Djd@ziebmef.uucp or whatever the fido one is...


[I think the fido address is below, is it?  The gateway software adds it,
I think]

--- FD 2.00
 * Origin: Synaptic Communications (1:250/428)

hildreth@cg-atla.UUCP (Lon Hildreth) (07/21/89)

In article <89072022020433@masnet.uucp> david.dmytryshyn@f428.n250.z1.fidonet.org (david dmytryshyn) writes:
>The other day, I received a demo copy of Prototyper.  I played with
>it for a while, and said to myself, gee, I could get into this.  I
>then read a review on it in MacGuide (which I'm sorry to see die) and
>it was quite favourable.  Is anybody using this or something similar
>to build their user interfaces with?
>
I spent some time with Prototyper the other day.  When I was drawing my
first dialog, I got a Bus Error.  Twice.  If you don't give a dialog the
right name when you create it, it can't be changed.  I accidently created
a dialog as a window.  There's no way to change its window type.  I had
to delete it and redraw the entire dialog contents.  When I canceled out
of the Load Resource dialog, it bombed with an Illegal Instruction.

Prototyper produces resources in two formats: one as a separate resource file
(perfect for THINK C), the other is in antiquated RMaker format.  Does anyone
still use RMaker?  How about a Rez format version, guys?  When I DeRez'd the
resource file, all of the DITL's contained "additional data" that was shown
in comments.  What is this?  Is it important?

Prototyper provides absolutely no code for standard menu items.  AppMaker,
a recently released code generator from Bowers Development, provides a lot
of code for standard menu items.  Some of it, of course, has to be application
specific.  Prototyper generated code is a lot more obscure, cryptic, and 
harder to read than AppMaker generated code.

I had Prototyper produce C code for MPW 3.0 and Think C, and Pascal code for
MPW.  The C code did compile, link, and run OK for both.  However, the Pascal
compiled and linked OK, but encountered a Bus Error immediately when I ran it.

I cannot recommend a product that crashes as often as Prototyper does.  For
whatever it's worth, I was running it on IIcx.  Mayber it's friendlier on
other machines.  If it weren't for the crashes, it would be a nice prototyping
environment.  I would not use the generated code, though.  But it allows you
to run a prototype without having to compile anything.  We're also experimenting
with SuperCard as a prototyping tool.  It looks pretty good, although it's
very slow on anything less than an 030 machine.

For someone without the bucks to get into the MacApp world, I would suggest
AppMaker with Think C.

Disclaimer:  I have no affiliation with any of the above mentioned companies.
I just want to have a nice development environment.



-- 
Lon Hildreth		...!{decvax,ulowell,ginosko}!cg-atla!hildreth
Agfa Compugraphic	
Wilmington, MA		A Cub fan, but not a Bud man.

joe@gistdev.UUCP (07/24/89)

I have used Prototyper (2.0) on both a Plus and a IIcx.  While I read the review
in MacGuide, I'm afraid I can't agree with it.  I found Prototyper very buggy,
hard to use, and it often didn't seem to do what I want.  I agree with a
previous poster that the code it generates is quite cryptic, so I'm not sure
that the MacGuide assertion that it is "a useful learning tool" for learning
Mac programming is at all true.

Since the first thing I did in Prototyper caused a system bomb (not in the
code it generated -- in Prototyper itself), I have had nothing but trouble
with it.  A recent free upgrade acknowledged problems with the quality of the
2.0 version, but I have not found the patch to be a significant improvement.

Protoyper may be useful in some limited applications, but I'm afraid I can't
recommend it, either.

-------------------------------------------------------------------------------
Joe Brownlee       | Captain, please -- not in front of the Klingons.
GIST, Inc.         |                                -- Mr. Spock, Star Trek V
1800 Woodfield Dr. | Pay attention to what I say, and you might start a trend.
Savoy, IL 61874	   | ARPANET: joe%gistdev@uxc.cso.uiuc.edu
(217) 352-1165	   | UUCP   : {uunet,pur-ee,convex}!uiucuxc!gistdev!joe
-------------------------------------------------------------------------------

arvidson@euclid.MATH.ColoState.Edu (John Arvidson) (07/25/89)

> for "resources only" and write my own code.  At $149 (MacConnection price,
> $259 retail), if you're designing UIs, I think Prototyper is a usefull tool,

Also if you are in school call SmethersBarnes directly about there educational
discount: $75.  They're number is 800-237-3611.  Don't you love educational 
discounts?!!  (I just hate finding out about them after I already bought the
product somewhere else :-)

John Arvidson

bezanson@adobe.COM (Brian Bezanson) (07/25/89)

In article <7443@cg-atla.UUCP> hildreth@cg-atla.UUCP (Lon Hildreth) writes:
>I spent some time with Prototyper the other day.  When I was drawing my
>first dialog, I got a Bus Error.  Twice.  If you don't give a dialog the
>right name when you create it, it can't be changed.  I accidently created
>a dialog as a window.  There's no way to change its window type.  I had
>to delete it and redraw the entire dialog contents.  When I canceled out
>of the Load Resource dialog, it bombed with an Illegal Instruction.

I haven't had a lot of errors - try version 2.1
To change a windows name/type, select the menu option or type command-W to
change them.

>Prototyper provides absolutely no code for standard menu items.  AppMaker,
>a recently released code generator from Bowers Development, provides a lot
>of code for standard menu items.  Some of it, of course, has to be application
>specific.  Prototyper generated code is a lot more obscure, cryptic, and 
>harder to read than AppMaker generated code.

The demo of AppMaker didn't impress me because the interface and features
of ProtoTyper were nicer (tool palatte, grid for drags). In this way,
ProtoTyper is a nicer version of ResEdit for cleaning up dialogs. I use
ProtoTyper more for the resource creation and building demos. I haven't
seen AppMaker have the ability to produce a runtime demo.

>I cannot recommend a product that crashes as often as Prototyper does.  For
>whatever it's worth, I was running it on IIcx.  Mayber it's friendlier on
>other machines.  If it weren't for the crashes, it would be a nice prototyping
>environment.  I would not use the generated code, though.  But it allows you

I haven't had as many major crashes as you infer on my IIcx. I think
ProtoTyper is a great time saver if you don't try and make it the end
all in programming. But for doing quick mockups, creating resources, and
flipping a Mac interface onto code samples, it does the job.

--------
Brian Bezanson				bezanson@adobe.com

hildreth@cg-atla.UUCP (Lon Hildreth) (07/28/89)

In article <1009@adobe.UUCP> bezanson@adobe.UUCP (Brian Bezanson) writes:
>
>I haven't had a lot of errors - try version 2.1
In fact, I just got version 2.1.  I re-did what I had done before and it
did not crash at all.  I don't see how they could have released 2.0, but
so far, at least, 2.1 seems OK.

>To change a windows name/type, select the menu option or type command-W to
>change them.
>
Ah yes.  Several people have pointed this out.  I just missed the Window Info.
I retract my statement on this.  However, I still would like to be able to
change the name when I have the window name selected.  My instinct is to do it
there via Get Info, but that doesn't do it.  You have to open the window and
select Window Info.  OK, you can do it, but I'd like a different interface.

>The demo of AppMaker didn't impress me because the interface and features
>of ProtoTyper were nicer (tool palatte, grid for drags). In this way,
>ProtoTyper is a nicer version of ResEdit for cleaning up dialogs. I use
>ProtoTyper more for the resource creation and building demos. I haven't
>seen AppMaker have the ability to produce a runtime demo.

OK, another interface peference.  AppMaker's tools are in a menu.  But I
like the fact that once you select a tool you don't have to go back to the
menu and pick it again if you want to create the same type of item.  (What
do I mean by that?)  Say you pick the radio button tool.  You can then go
click the mouse three times in you dialog and you have three radio buttons.
In Prototyper, you have to go back and pick the radio button tool for each
radio button you want to create.

AppMaker by itself cannot produce a runtime demo.  I admit that's a nice
feature of Prototyper.  However, AppMaker can produce C and Pascal code
for MPW and Think that can be easily compiled and linked to create an
application that can then be used as a prototype that can be easily
distributed.  Of course, Prototyper can do that too, so I'm not really
sure why I mentioned it.




-- 
Lon Hildreth		...!{decvax,ulowell,ginosko}!cg-atla!hildreth
Agfa Compugraphic	
Wilmington, MA		A Cub fan, but not a Bud man.

bezanson@adobe.COM (Brian Bezanson) (07/29/89)

In article <7472@cg-atla.UUCP> hildreth@cg-atla.UUCP (Lon Hildreth) writes:
>In article <1009@adobe.UUCP> bezanson@adobe.UUCP (Brian Bezanson) writes:
>But I
>like the fact that once you select a tool you don't have to go back to the
>menu and pick it again if you want to create the same type of item.  (What

In ProtoTyper I do the same by typing command-d, duplicate. So I draw my
radio button, it is now highlighted, a command-d creates a duplicate that
I position, then another command-d for the third, etc...

ProtoTyper still has a way to go in both bug fixes, feature fixes, and code
fixes, but it does a nice job given those limitations. I use it now as
a resource creater/cleaner-upper, and for making quick applications where I
can throw in sample code. I have plenty of body shells around for apps, but
it's fun to whip something out in prototyper, attach you test code, and
run it all. Now on to MacApp (when my 2.0b9 arrives)...

------
Brian Bezanson
Adobe Systems Inc.					  bezanson@adobe.com