Newsgroups: comp.sys.amiga.advocacy
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!mintaka!geech.gnu.ai.mit.edu!rjc
From: rjc@geech.gnu.ai.mit.edu (Ray Cromwell)
Subject: Re: IAC (was Re: Clipboard (was Re: The Amiga's Future))
Message-ID: <1991Jun8.090052.12906@mintaka.lcs.mit.edu>
Sender: news@mintaka.lcs.mit.edu
Organization: The Internet
References: <1991Jun8.030855.18976@neon.Stanford.EDU> <1991Jun8.044840.1404@mintaka.lcs.mit.edu> <1991Jun8.074935.781@neon.Stanford.EDU>
Date: Sat, 8 Jun 91 09:00:52 GMT
Lines: 196

In article <1991Jun8.074935.781@neon.Stanford.EDU> torrie@cs.stanford.edu (Evan Torrie) writes:
>rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>
>
>>In article <1991Jun8.030855.18976@neon.Stanford.EDU> torrie@cs.stanford.edu (Evan Torrie) writes:
>>>rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>>  Standardization. The Amiga has had interprocess communication from
>>day 1. It will be awhile before the Mac catches up. 
>
>  Yes, but as you mention in your clipboard example, this is not really
>a technical advantage.  Indeed, Apple (as they have done with most things)
>have set pretty strong standards for things like AppleEvents (with
>required, core, functional-area and finally custom events), so I would
>expect all major developers to have a very strong incentive to build
>IAC into their programs.

  Commodore defines the "events" (message classes that arrive on your
window message port) but they don't enforce any amount of events
you should handle if I recall correctly. This is the reason some
Amiga programs have no GUI at all and merely input/output from the 
stdin/out of the console. However, most programs do implement
the standard open, close, about, quit, save, cut, paste, and so on.

  The problem on the Amiga wasn't that developers didn't follow the rules,
it was that there was no interface guidelines at all. Now that has changed,
C= has put out the Amiga interface style guide.

>  Just as a question, to what extent is Amiga IPC standardised?  I take it
>that Arexx is the method of standardisation?  Who defines Arexx?  How does 
>one program know what messages another program can accept?  Are there 
>set messages defined for things like "Drag this object to this location"?

  Arexx is now the "standard" format for IPC messages not only
because it is flexible, but because you get an interpreted language
to boot. Until recently, Arexx command names were left up to 
the implementator (for instance, almost all Amiga editors have an
Arexx port, but most of them had different names for the commands
that do the same thing on each ,like mark a block of text, etc)

  It's not an easy problem to solve. Sure you can standardize some
commands, but what about really localized features. Suppose a paint
program had a command to "draw a closed bezier curve with parameters
foo,bar,baz and fill it with the inverse of the background behind it."
How is a word processor supposed to know about this feature and
use it ? SImple, it can't. A lot of Amiga programs boast over 100
arexx commands and there simply isn't a way to standardize every
function every type of program could have (editors, compilers, paint
programs, renderers, publishers, image processors, etc). Imagine
the frustration of a programmer who would have to implemented
support for that many functions. The simply solution is to define
a small set of Arexx commands every program should accept
(open file, save file, print file, help, close file, quit, cut, paste)
The rest is left up to the user to create simple macros that use
the more complex commands that are not standardized.
  Will Mac programmers add more IAC commands other than the small
standardized set?

>>  Speed. Amiga messages are not copied, only pointers are passed, and
>>messages are reused.
>
>  Does Amiga IPC work across a network (I'm asking, I don't know)?
>i.e. can one Amiga program send a low-level message to a program on
>another machine?  That's one of the more powerful features of System 7
>IAC vs for example, Microsoft's DDE.  IAC is totally transparent
>across the network.

  I call as evidence, Parnet/Sernet on the Amiga, also Matt Dillon's
NFS-Handler NF0: which lets me mount the entire Unix device list
on my Amiga and access it as a normal device. (e.g. I can
cp dh0:myfile to nf0:home/users/mydir, or use it from workbench)

  In short, Exec doesn't care where the message came from just so
long as it gets there. There is zero networking support in the OS
however so if you want to network Amiga's, you either buy
an ethernet card with AS225 software, Dale Luck's X11R4 for AmigaDOS,
or grab Dnet/Parnet/Sernet off a fish disk and have networking for free.
All of the networking is transparent(you can access remote devices
perfectly). (Note you can also get DoubleTalk which allows you to fileshare
with Macs on Appletalk, or hook doubletalk to doubletalk and get twice
the speed of Appletalk.) 
  There is a network standard, it is called SANA.

>>  Arexx. Nuff said. Let me give an example. Any Amiga user could take
>>a bbs with an Arexx port, add a menu to the board called "Process a
>>bitmap", he could then set up a front end to ASDG's Art Department
>>and offer (optionally at a price) Color/Printer processing. Or one could
>>set up a fast machine with Arexx serial server and allow user to
>>upload 3d objects and have them rendered by your favorite ray-tracer.
>
>  There are equivalent products for Mac IAC, such as ControlTower,
>Frontier, and eventually AppleScript, all based on top of AppleEvents.
>So, Arexx has a head start, but once again, I don't think it's a
>technical advantage.  Using your "there's no reason why it shouldn't
>be able to surpass the other in the future" applies here.

  I never said it couldn't surpass the Amiga in the future, at the moment
IAC is slightly inferior to Exec's messaging scheme.

>>  Exactly my point. I'm trying to point out the flaw in Marc's
>>arguement. His article said that no matter _how_ good the Amiga's
>>clipboard got in the future it would never surpass the Mac's because
>>the current apps don't support it. 
>
>  I think the whole question here is how strictly enforced these
>"standards" are.  You're right in that there's no reason why the
>clipboard couldn't be better than the Mac's.  But Marc's also right
>in saying that if applications don't support it, then the technical
>superiority is wasted.

  No, Marc said no matter how good it was, it could never surpass the
Mac because all Mac apps support the clipboard and hardly any
Amiga apps do. Regardless of whether developers start to support it,
Marc's arguement boils down to 'the Mac is too far ahead, the number of
Amiga apps which support the clipboard will never catch the
number of Mac apps that do.' Yes, I'm putting words in Marc's mouth,
but his arguement definately sounds like a doublestandard. Applying
the same thing to the Amiga, so many apps support Arexx and they have
so many commands (usually over 100, minumum 40) that the number of
IAC commands and apps that support them will never catch up to the
Amiga functionality.

>  So the question is:  will applications support it?  Apple has a
>reasonably good track history of "telling" developers what they,
>at the minimum, must support.  For example, the style guidelines, 
>the standard Edit menu, support of a clipboard, a standard file
>open dialog box, printing, support of PICT and TEXT formats, etc.  

  The Amiga doesn't have a track record to compare. There was no
style guide until recently. The Amiga does enforce IFF universally
because CBM did tell the developers to use it. Apple and Microsoft
seem to be adopting deritatives of IFF now that it's getting
popular (MIFF, AIFF, etc)


>  Commodore does not seem to have such a good track record with the 
>Amiga [e.g. the clipboard/a standard file requester].

  There was no standard file requester prior to 2.0 however
the ARP requester and the requester.library became an unofficial standard.

>  For example, as mentioned above, Apple has enforced a standard that
>all applications being developed now and in the future should support
>at the very least required and core Apple events.  Is there any such
>standard on the Amiga, or is it left up to the developer?

  Amiga events don't say 'Open','Close', 'Quit'. Amiga events say
'MENUPICK, the user pressed MENU X' or 'CLOSEWINDOW' or 'GADGETUP/DOWN'
Before C= produced the style guide developers were free to
implement any menu structure they choose. However, most of them
did implement a main menu (open/close/quit/save/about), an edit menu, and
a preferences menu.

>  There's also a difference in market, which will tend to compel Mac
>applications developers to include a sophisticated feature like IAC,
>namely, that there are more high-powered productivity applications
>users on Macs than there are on Amigas.  

  Amiga developers will support new features simply because it will
make their application better and they make money by selling an
upgrade. Typical examples are ASDG's Art Department, ProWrite,
HASH's JourneyMan, Turbo Silver/Imagine, Sculpt 3d/4d, even SuperBase
which also sells on MS-DOS/Windows updated to AmigaDOS 2.0 and Arexx.
 
>  Is the market for Amiga users as large?  If not, will applications 
>developers be so compelled to support it?   

  Sure, size has little to do with the Amiga market. Many companies
still support the AMiga although I feel they haven't been selling as
much as they would on another platform. 

>  If the OS developer acts as the central repository and driving force
>behind these standards, you're likely to end up with more support for
>the feature than leaving it to individual developers to work it out
>for themselves.

  Before ADOS 2.0, C= didn't bother with 'human interface' standards
much, now they do. A lot of great Amiga features have come from
developers thinking up standards themselves, and C= ends up licensing it.
(Commodities Exchange[Jim], pipe-handler[Matt], conman[Bill] (2.0 con: has its 
features now), Snap (Conclip), iffparse.library[Leo], asl.library[Charlie],
Arexx[Bill],Screenshare.library[Willy] (2.0 PubScreens) and so on)
 Let's not forget Dale Luck and SANA, or the software distillery's
NET:.

 
>-- 
>------------------------------------------------------------------------------
>Evan Torrie.  Stanford University, Class of 199?       torrie@cs.stanford.edu   
>"And remember, whatever you do, DON'T MENTION THE WAR!"


--
/ INET:rjc@gnu.ai.mit.edu     *   // The opinions expressed here do not      \
| INET:r_cromwe@upr2.clu.net  | \X/  in any way reflect the views of my self.|
\ UUCP:uunet!tnc!m0023        *                                              /

