home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Information / Digests / CSMP Digest / volume 3 / csmp-digest-v3-105 < prev    next >
Encoding:
Text File  |  1995-12-31  |  211.9 KB  |  5,446 lines  |  [TEXT/R*ch]

  1. C.S.M.P. Digest             Tue, 25 Jul 95       Volume 3 : Issue 105
  2.  
  3. Today's Topics:
  4.  
  5.         BlockMove replacement?
  6.         Can ResEdit or Resorcerer generate ID header file?
  7.         Components and A5
  8.         Converting a string with numbers to an integer?
  9.         Does anyone have code to get Ethernet Address?
  10.         FutureBasic Mailing List?
  11.         How do you write 'TMPL' resources?
  12.         How much of a sound has played so far?
  13.         How to "rubber bands"?
  14.         How to use TSM floating windows?
  15.         Standalone Code Resources
  16.         Which sndCommands are safe at interrupt time?
  17.         Why fuss over OpenDoc?
  18.  
  19.  
  20.  
  21. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  22. (pottier@clipper.ens.fr).
  23.  
  24. The digest is a collection of article threads from the internet newsgroups
  25. comp.sys.mac.programmer.help, csmp.tools and csmp.misc. It is designed for
  26. people who read news semi-regularly and want an archive of the discussions.
  27. If you don't know what a newsgroup is, you probably don't have access to
  28. it. Ask your systems administrator(s) for details. If you don't have access
  29. to news, you may still be able to post messages to the group by using a
  30. mail server like anon.penet.fi (mail help@anon.penet.fi for more
  31. information).
  32.  
  33. Each issue of the digest contains one or more sets of articles (called
  34. threads), with each set corresponding to a 'discussion' of a particular
  35. subject.  The articles are not edited; all articles included in this digest
  36. are in their original posted form (as received by our news server at
  37. nef.ens.fr).  Article threads are not added to the digest until the last
  38. article added to the thread is at least two weeks old (this is to ensure that
  39. the thread is dead before adding it to the digest).  Article threads that
  40. consist of only one message are generally not included in the digest.
  41.  
  42. The digest is officially distributed by two means, by email and ftp.
  43.  
  44. If you want to receive the digest by mail, send email to listserv@ens.fr
  45. with no subject and one of the following commands as body:
  46.     help                                Sends you a summary of commands
  47.     subscribe csmp-digest Your Name     Adds you to the mailing list
  48.     signoff csmp-digest                 Removes you from the list
  49. Once you have subscribed, you will automatically receive each new
  50. issue as it is created.
  51.  
  52. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  53. Questions related to the ftp site should be directed to
  54. scott.silver@dartmouth.edu.
  55.  
  56. -------------------------------------------------------
  57.  
  58. >From howard@acns.fsu.edu (Sean Howard)
  59. Subject: BlockMove replacement?
  60. Date: Mon, 26 Jun 1995 16:27:26 -0400
  61. Organization: FSU Academic Computing & Network Services
  62.  
  63.   Ok, I want to know if there is a way to either speed BlockMove
  64. up considerably, or a way to do what it does completely bypassing
  65. it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  66. saving up) doesn't recognize it as a function.  I'd really like
  67. to learn assembly, but can't find any material on it.  If some-
  68. one could post or email an asm routine that does exactly what
  69. BlockMove does with less overhead I'd be forever thankful.
  70.  
  71.   For those of you that care, I'm tring to write a game using
  72. a sort of RLE type coding of graphics for the sprites. This
  73. would allow me to perform a number of functions (scaling, clip-
  74. ping, reversing,etc...) with less effort, and hopefully faster.
  75. Only problem is BlockMove makes it slower than CopyMask, at least
  76. I think it is BlockMove.
  77.  
  78.       Sean Howard
  79.       howard@acns.fsu.edu
  80.  
  81. +++++++++++++++++++++++++++
  82.  
  83. >From scaine@world.std.com (Steve Caine)
  84. Date: Tue, 27 Jun 1995 01:00:57 GMT
  85. Organization: The World @ Software Tool & Die
  86.  
  87. In article <howard-260695162726@sysmac1.cc.fsu.edu>, howard@acns.fsu.edu
  88. (Sean Howard) wrote:
  89.  
  90. >   Ok, I want to know if there is a way to either speed BlockMove
  91. > up considerably, or a way to do what it does completely bypassing
  92. > it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  93. > saving up) doesn't recognize it as a function.  
  94.  
  95. BlockMoveData is essentially the same code as BlockMove except that it
  96. doesn't flush the instruction caches on 68040 machines. It calls the same
  97. trap as BlockMove, but an extra bit is set that only later versions of
  98. System software recognize; earlier versions treat BlockMoveData the same
  99. as standard BlockMove.
  100.  
  101. You say THINK C 5 doesn't recognize BlockMoveData as a function. Probably
  102. all you need to do is steal a function prototype from a later version of
  103. Apple's headers, such as:
  104.  
  105. #pragma parameter BlockMoveData(__A0, __A1, __D0)
  106. extern pascal void BlockMoveData(const void *srcPtr, void *destPtr, Size
  107. byteCount)
  108. = 0xA22E;
  109.  
  110. to match the following already in the Mac #includes folder:
  111. #pragma parameter BlockMove(__A0,__A1,__D0)
  112. pascal void BlockMove(const void *srcPtr,void *destPtr,Size byteCount)
  113.     = 0xA02E; 
  114.  
  115. You might try writing your own BlockMove that does long-to-long copying of
  116. data except for the few bytes on either end that aren't long-word aligned.
  117. A little assembly, and knowing you're running on 68040 machines, could
  118. take advantage of the 16-byte copy instruction the '40 offers; I'm not an
  119. assembly guru to say just what that would look like.
  120.  
  121. --
  122. Steve Caine
  123. Cascade Systems Inc.
  124.  
  125. +++++++++++++++++++++++++++
  126.  
  127. >From hnsngr@sirius.com (Ron Hunsinger)
  128. Date: Wed, 28 Jun 1995 23:35:55 -0700
  129. Organization: ErsteSoft
  130.  
  131. In article <howard-260695162726@sysmac1.cc.fsu.edu>, howard@acns.fsu.edu
  132. (Sean Howard) wrote:
  133.  
  134. >   Ok, I want to know if there is a way to either speed BlockMove
  135. > up considerably, or a way to do what it does completely bypassing
  136. > it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  137. > saving up) doesn't recognize it as a function.  I'd really like
  138. > to learn assembly, but can't find any material on it.  If some-
  139. > one could post or email an asm routine that does exactly what
  140. > BlockMove does with less overhead I'd be forever thankful.
  141.  
  142. Don't bother. Except on very small blocks of data (under 12 bytes or so),
  143. you just aren't going to be able to beat BlockMove. It's already optimized
  144. to within an inch of its life. And since it's in the ROM, and the ROM is
  145. machine-specific, it can use the best instructions for the current
  146. processor (even MOVE16 on the 68040) without having to take the time to
  147. ask what processor that might me. The only inefficiency is in the trap
  148. overhead to get there. 
  149.  
  150. >   For those of you that care, I'm tring to write a game using
  151. > a sort of RLE type coding of graphics for the sprites. 
  152.  
  153. Do you mean you're using BlockMove to do the RLE expansion? That means
  154. you're moving very small pieces of data most of the time. You'd be better
  155. off just copying the data with the normal C idioms:  while (cnt--) *dest++
  156. = *srce++;  for example.
  157.  
  158. > This
  159. > would allow me to perform a number of functions (scaling, clip-
  160. > ping, reversing,etc...) with less effort, and hopefully faster.
  161. > Only problem is BlockMove makes it slower than CopyMask, at least
  162.  
  163. BlockMove and CopyMask are for different problem areas. BlockMove is for
  164. moving contiguous chunks of arbitrary data from one place to another.
  165. CopyMask is for moving pixels from one image to another. An image is
  166. generally not contiguous, and has to take into account things like pixel
  167. depth, rowBytes, clipping, other graphics-related issues. BlockMove has
  168. nothing to do with graphics.
  169.  
  170. > I think it is BlockMove.
  171.  
  172. Maybe not. Why don't you check, and get back to us?
  173.  
  174. -Ron Hunsinger
  175.  
  176. +++++++++++++++++++++++++++
  177.  
  178. >From wysocki@netcom.com (Chris Wysocki)
  179. Date: Fri, 30 Jun 1995 19:38:23 GMT
  180. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  181.  
  182. In article <hnsngr-2806952335550001@slip4046.sirius.com>,
  183. Ron Hunsinger <hnsngr@sirius.com> wrote:
  184.  
  185. >Don't bother. Except on very small blocks of data (under 12 bytes or so),
  186. >you just aren't going to be able to beat BlockMove. It's already optimized
  187. >to within an inch of its life. And since it's in the ROM, and the ROM is
  188. >machine-specific, it can use the best instructions for the current
  189. >processor (even MOVE16 on the 68040) without having to take the time to
  190. >ask what processor that might me. The only inefficiency is in the trap
  191. >overhead to get there. 
  192.  
  193. I used to think this until I wrote a tool to compare the efficiency of
  194. _BlockMove and _BlockMoveData to the standard ANSI routines memmove
  195. and memcopy.  The results were a bit surprising: on my Quadra 800, the
  196. MPW implementations of memmove and memcopy were signficantly faster
  197. than _BlockMove(Data) for block sizes up to about 2k.  Of course, the
  198. reverse was true when I turned on my PowerPC upgrade card, where
  199. _BlockMove (which is implemented directly in the emulator) trounced
  200. the emulated versions of memmove and memcopy.  Also, the performance
  201. of memmove and memcpy is dependent on the particular implementation
  202. being used.  The MPW versions of memmove and memcpy that I tested are
  203. rather intelligent and use both longword moves and unrolled loops; the
  204. last time I checked, the Symantec and Metrowerks versions of these
  205. functions did simple byte moves and were considerably slower.
  206.  
  207. Chris.
  208.  
  209.  
  210. +++++++++++++++++++++++++++
  211.  
  212. >From shopsinm@interport.net (shopsinm)
  213. Date: 2 Jul 1995 16:08:28 GMT
  214. Organization: Quill Program
  215.  
  216. I've written code using BlockMove on graphics with interesting results. 
  217. When I checked my codes custom blit against CopyBits in scrCopy mode
  218. CopyBits was still faster for 32x32 pixmaps.  Apple has done some very
  219. good optimization on their calls and I generaly find that for general
  220. purposes I stick to Toolbox calls.  On the other hand I did get a good 30%
  221. speedup over PlotCIcon by creating a GWorld and then calling CopyBits
  222. twice with srcOr and xor.
  223.  
  224. -- 
  225. Michael Falk Shopsin
  226. shopsinm@interport.net
  227.  
  228. "If it's not on fire then it's a software problem."
  229.  
  230. +++++++++++++++++++++++++++
  231.  
  232. >From David A Lyons <dlyons@apple.com>
  233. Date: Fri, 7 Jul 1995 19:13:03 GMT
  234. Organization: Apple Computer, Inc.
  235.  
  236. In article <scaine-2606952101340001@192.0.2.1> Steve Caine,
  237. scaine@world.std.com writes:
  238.  
  239. >BlockMoveData is essentially the same code as BlockMove except that it
  240. >doesn't flush the instruction caches on 68040 machines. It calls the same
  241. >trap as BlockMove, but an extra bit is set that only later versions of
  242. >System software recognize; earlier versions treat BlockMoveData the same
  243. >as standard BlockMove.
  244.  
  245. Perfectly true for 68K machines.  Two refinements if we include Power
  246. Macintosh models:
  247.  
  248. (1) PowerPC code that calls BlockMove or BlockMoveData does not go
  249. through the trap table at all.  These are just similar routines in
  250. InterfaceLib.
  251.  
  252. (2) In general, the difference is whether you flush "the 68K
  253. instruction cache" on a machine where there is one.  On a 68020/030,
  254. the I-cache isn't big enough to be concerned about for a BlockMove,
  255. and it always gets flushed.  On a 68040 it's worthwhile to avoid
  256. unnecessary flushes, so BlockMoveData is helpful.
  257.  
  258. On a Power Macintosh 9500 (for example), there's a *much larger* 68K
  259. instruction cache.  If you use BlockMove where you could have used
  260. BlockMoveData, you'll be throwing away a large amount of PowerPC code
  261. that had been dynamically compiled from 68K code, and that code will
  262. have to get compiled again the next time it runs.
  263.  
  264. Dave Lyons
  265. Mr Tangent
  266.  
  267. ---------------------------
  268.  
  269. >From rguttman@aol.com (Robert H Guttman)
  270. Subject: Can ResEdit or Resorcerer generate ID header file?
  271. Date: Wed, 21 Jun 1995 19:22:35 -0700
  272. Organization: Arizona State University
  273.  
  274. My Question:
  275.  
  276. Does ResEdit or Resorcerer offer the option to generate a header
  277. file (*.h) of resource IDs?
  278.  
  279.  
  280. The History:
  281.  
  282. A while back, I did some Windows 3.1 programming using Borland C++.
  283. [He pauses for the flames to subside...]  It contained a program
  284. called (something like) Workbench that would let you define some
  285. Windows resources that would later get linked in with the rest of
  286. your code (if I remember correctly).  Anyway, one of the things
  287. this application did was generate a *.h header file that contained
  288. all of the IDs of the resources as #define directives.  All modules
  289. that needed to access a resource would #include this header file
  290. for the IDs.
  291.  
  292. This approach allowed me to define my resource IDs in one place
  293. (in the resource editor) instead of both within the resource editor
  294. and then again within my source code.  This was a "good thing".  If
  295. I renamed one or more resources, I would get compile-time errors
  296. (as opposed to run-time errors - a "bad thing") if my source code
  297. didn't match up.  If I just renumbered some resources, I didn't
  298. need to go back to modify any code.  Once the new header file was
  299. generated, all references were updated automatically.
  300.  
  301. [The only down-side of this approach was that more modules needed
  302. to be recompiled than was necessary.  However, my application was
  303. small enough and the compiler fast enough that the benefit of this
  304. approach outwayed any negative impact to the execute-fix-compile-
  305. execute cycle. - IMHO]
  306.  
  307. I was disappointed not to see this capability in ResEdit.  Am I
  308. missing something?  Does Resorcerer provide this capability?
  309.  
  310. Thanks in advance for any info.
  311. - Rob Guttman
  312.   home: rguttman@aol.com
  313.   work: rguttman@epidigm.geg.mot.com
  314.   Motorola GSTG, Scottsdale, AZ (USA)
  315.   Artificial Intelligence Applications
  316.  
  317. +++++++++++++++++++++++++++
  318.  
  319. >From mhl@icf.hrb.com (Mark H. Linton)
  320. Date: 23 Jun 95 09:06:28 EST
  321. Organization: HRB Systems, Inc.
  322.  
  323. In article <rguttman-2106951922350001@ppp1-09.inre.asu.edu>, rguttman@aol.com (Robert H Guttman) writes:
  324. > My Question:
  325. > Does ResEdit or Resorcerer offer the option to generate a header
  326. > file (*.h) of resource IDs?
  327.  
  328. I don't think so but it sure would be a great idea...
  329.  
  330. HELLO, IS ANYBODY LISTENING?
  331.  
  332. I do most of my work in Rez format (I like to be able to print out
  333. and review my work--I guess everybody else just gets it right the
  334. first time =^). Actually this is one of the reasons I still use SC
  335. (I use CW also, but wish they had REAL Rez support). It is also
  336. very convinient because the Rez file listens to my
  337. ResourceDefinitions.h header for resource IDs, etc, while the
  338. strictly graphical stuff (that I create with ResEdit, Resourcerer
  339. is way to $$$, IMHO) is FIXED IN STONE, which makes it less than
  340. portable from project to project.
  341.  
  342. An additional suggestion I might add would be to have Res*
  343. ACTUALLY PAY ATTENTION to the *.h file and allow the use of
  344. symbols instead of numeric constants in the definitions. This woud
  345. get rid of the FIXED IN STONE problem as well.
  346.  
  347. -- 
  348. Hope this helps.
  349.  
  350. Mark H. Linton
  351. ____________________________________________________________________
  352. mark \'mdrk\ n [ME, fr. OE mearc boundary, march, sign; akin to OHG
  353. marha boundary, L margo] 1 a : a conspicuous object serving as a guide
  354. for travelers 2 : A standard or criterion of quality 3 : An object or
  355. point that serves as a guide --idiom. mark time. 1 : To make little or
  356. no progress
  357.  
  358. +++++++++++++++++++++++++++
  359.  
  360. >From pottier@chaland.ens.fr (Francois Pottier)
  361. Date: 23 Jun 1995 17:08:54 GMT
  362. Organization: Ecole Normale Superieure, Paris
  363.  
  364. In article <1995Jun23.090628.23402@hrbicf>,
  365. Mark H. Linton <mhl@icf.hrb.com> wrote:
  366.  
  367. >> Does ResEdit or Resorcerer offer the option to generate a header
  368. >> file (*.h) of resource IDs?
  369. >
  370. >HELLO, IS ANYBODY LISTENING?
  371.  
  372. Yup :-)
  373.  
  374. I have encountered the same problem. I would be willing to try and
  375. write a small tool to do that. Something scriptable but without a user
  376. interface, for instance.
  377.  
  378. We would have to agree on the format of the generated header files.
  379. Something like
  380.  
  381. const ResType resty_<Name> = '<TYPE>';
  382. const short   resid_<Name> = <ID>;
  383.  
  384. where <Name>, <TYPE> and <ID> are placeholders for the resource's
  385. name, type and ID? Would that suit you? Let's discuss it. I might
  386. then try to program the thing in my spare time.
  387.  
  388.  
  389. -- 
  390. Francois Pottier                                            pottier@dmi.ens.fr
  391. - ----------------------------------------------------------------------------
  392. Check my WWW page at http://acacia.ens.fr:8080/home/pottier/ ...
  393.  
  394. +++++++++++++++++++++++++++
  395.  
  396. >From ckt@best.com (Chris Thomas)
  397. Date: Sat, 24 Jun 1995 18:47:55 -0800
  398. Organization: Echo Software
  399.  
  400. In article <3sesf6$fgt@nef.ens.fr>, pottier@chaland.ens.fr (Francois
  401. Pottier) wrote:
  402.  
  403. > In article <1995Jun23.090628.23402@hrbicf>,
  404. > Mark H. Linton <mhl@icf.hrb.com> wrote:
  405. > >> Does ResEdit or Resorcerer offer the option to generate a header
  406. > >> file (*.h) of resource IDs?
  407. > >
  408. > >HELLO, IS ANYBODY LISTENING?
  409. > Yup :-)
  410. > I have encountered the same problem. I would be willing to try and
  411. > write a small tool to do that. Something scriptable but without a user
  412. > interface, for instance.
  413. > We would have to agree on the format of the generated header files.
  414. > Something like
  415. > const ResType resty_<Name> = '<TYPE>';
  416. > const short   resid_<Name> = <ID>;
  417. > where <Name>, <TYPE> and <ID> are placeholders for the resource's
  418. > name, type and ID? Would that suit you? Let's discuss it. I might
  419. > then try to program the thing in my spare time.
  420.  
  421. What's the point of listing the type, though?  I can't think of one
  422. case where I wouldn't know it.  Which only means that I can't think
  423. of one.  Can you?
  424.  
  425. In any case, this idea struck me as incredibly useful, and I had
  426. the existing source code/concepts lying around to handle most of
  427. it, so I wrote it last night.  I call it ResAnomaly, and I'm just
  428. about to post it to alt.sources.mac, comp.sources.mac, and
  429. macgifts.
  430.  
  431. It doesn't have a user interface yet, but it's very easy to
  432. configure using a resource editor and a compiler...
  433.  
  434. This is sample output:
  435.  
  436. /*
  437.    Resource information for file Nyet 68k!
  438.  
  439.    This file was autogenerated by ResAnomaly.
  440.    ckt@best.com for more information.
  441. */
  442.  
  443. const short kResRamblin__ALRT_ID = 128;
  444. const short kResError_2_ALRT_ID = 129;
  445. const short kResAbout_ALRT_ID = 200;
  446. const short kResRequired_Suite_aedt_ID = 128;
  447.  
  448. Source code/project file is included.
  449.  
  450. -- 
  451. Chris Thomas, ckt@best.com
  452. "And the moral of this episode is: Gene Roddenberry's dead, so let's just suck."
  453.  
  454. +++++++++++++++++++++++++++
  455.  
  456. >From pottier@felouque.ens.fr (Francois Pottier)
  457. Date: 27 Jun 1995 10:37:41 GMT
  458. Organization: Ecole Normale Superieure, Paris
  459.  
  460. In article <ckt-2406951847550001@ckt.vip.best.com>,
  461. Chris Thomas <ckt@best.com> wrote:
  462.  
  463. >What's the point of listing the type, though?  I can't think of one
  464. >case where I wouldn't know it.  Which only means that I can't think
  465. >of one.  Can you?
  466.  
  467. Actually, yes. When I store settings in my preferences file I use
  468. resources with various types which I choose more or less randomly
  469. so it would be useful to have the program generate a constant for
  470. the type. Well, at least optionally.
  471.  
  472.  
  473.  
  474. -- 
  475. Francois Pottier                                            pottier@dmi.ens.fr
  476. - ----------------------------------------------------------------------------
  477. Check my WWW page at http://acacia.ens.fr:8080/home/pottier/ ...
  478.  
  479. +++++++++++++++++++++++++++
  480.  
  481. >From radix@efn.org (Gregory Jorgensen)
  482. Date: Fri, 23 Jun 1995 14:29:29 -0800
  483. Organization: Radix Consulting Inc.
  484.  
  485. In article <1995Jun23.090628.23402@hrbicf>, mhl@icf.hrb.com (Mark H.
  486. Linton) wrote:
  487.  
  488. > > Does ResEdit or Resorcerer offer the option to generate a header
  489. > > file (*.h) of resource IDs?
  490. > >
  491.  
  492. Resorcerer has a built-in script language; it could probably be made to do
  493. this for you.
  494.  
  495. Referring to resources by name works for me. Fewer than half of my
  496. resources are gotten by ID. When I don't care about the ID or order I use
  497. GetIndResource to just get them all. I have a nifty little function that
  498. gets the ID of each resource of a specific type, then sorts the IDs (which
  499. GetIndResource won't do).
  500.  
  501. > I don't think so but it sure would be a great idea...
  502. > HELLO, IS ANYBODY LISTENING?
  503. > I do most of my work in Rez format (I like to be able to print out
  504. > and review my work--I guess everybody else just gets it right the
  505. > first time =^). Actually this is one of the reasons I still use SC
  506. > (I use CW also, but wish they had REAL Rez support). It is also
  507. > very convinient because the Rez file listens to my
  508. > ResourceDefinitions.h header for resource IDs, etc, while the
  509. > strictly graphical stuff (that I create with ResEdit, Resourcerer
  510. > is way to $$$, IMHO) is FIXED IN STONE, which makes it less than
  511. > portable from project to project.
  512.  
  513. Resorcerer is only too expensive until you use it. Then you wonder how you
  514. got along without it.
  515.  
  516. -- 
  517. Gregory Jorgensen
  518. radix consulting inc
  519. radixinc@aol.com, radix@efn.org
  520.  
  521. "I would consent to have a limb amputated to recover my spirits." -- Samuel Johnson
  522.  
  523. +++++++++++++++++++++++++++
  524.  
  525. >From rguttman@aol.com (Robert H Guttman)
  526. Date: Tue, 27 Jun 1995 23:07:15 -0700
  527. Organization: Arizona State University
  528.  
  529. In article <3son1l$g7@nef.ens.fr>, pottier@felouque.ens.fr (Francois
  530. Pottier) wrote:
  531.  
  532. > In article <ckt-2406951847550001@ckt.vip.best.com>,
  533. > Chris Thomas <ckt@best.com> wrote:
  534. > >What's the point of listing the type, though?  I can't think of one
  535. > >case where I wouldn't know it.  Which only means that I can't think
  536. > >of one.  Can you?
  537. > Actually, yes. When I store settings in my preferences file I use
  538. > resources with various types which I choose more or less randomly
  539. > so it would be useful to have the program generate a constant for
  540. > the type. Well, at least optionally.
  541. > -- 
  542. > Francois Pottier
  543.  
  544. Chris, have you posted your "ResAnomaly" to alt.sources.mac or
  545. comp.sources.mac yet?   Francois, have you worked on your version?
  546. (BTW, nice home page.)  I'm looking forward to trying them out.
  547.  
  548. One comment: You two were discussing naming conventions for the
  549. outputed constants.  In that Windows 3.1/Borland C++ Workbench
  550. tool, the *name* of the ID was used as the constant's name.
  551. While this may not be the universal solution (especially since
  552. ResEdit ID names can be multiple words), perhaps it can be an
  553. option.  I guess what I had envisioned was something like this:
  554.  
  555.    Let's say that I've defined the following resources:
  556.  
  557.       Resource    ID    Name
  558.       --------    -----------------
  559.         STR#      128   iAlerts
  560.                   129   iMessages
  561.         WIND      128   iDocWind
  562.  
  563.    I would expect as output, in some res.h file:
  564.    
  565.       /* STR# resources */
  566.       #define  iAlerts        128
  567.       #define  iMessages      129
  568.  
  569.       /* WIND resources */
  570.       #define  iDocWind       128
  571.  
  572. As you know, the whole point is to complement the standard way
  573. of defining resources (not to change it) via a tool that can
  574. generate a resource ID header file.  This would replace the need
  575. to duplicate resource information in our source code.  I believe
  576. that resource information should be defined in one place, namely
  577. the resource file.  Currently, this is not the standard practice.
  578.  
  579. Thanks.
  580. - Rob (rguttman@aol.com)
  581.  
  582. +++++++++++++++++++++++++++
  583.  
  584. >From resorcerer@aol.com (Resorcerer)
  585. Date: 30 Jun 1995 01:37:05 -0400
  586. Organization: America Online, Inc. (1-800-827-6364)
  587.  
  588. Question:
  589.  
  590. Although it doesn't happen very often, it is perfectly legal for a
  591. resource file to have multiple resources with the same ID.  You have to
  592. access the resources by unique resource name, rather than ID.
  593.  
  594. How would you propose to handle this situation (aside from punting, which
  595. is not an unreasonable situation).
  596.  
  597. Doug McKenna
  598. Mathemaesthetics, Inc.
  599. Developers of Resorcerer
  600.  
  601. +++++++++++++++++++++++++++
  602.  
  603. >From rguttman@epidigm.geg.mot.com (Robert H Guttman)
  604. Date: Fri, 30 Jun 1995 11:30:00 -0700
  605. Organization: Motorola GSTG
  606.  
  607. In article <radix-2306951429290001@dynip43.efn.org>, radix@efn.org
  608. (Gregory Jorgensen) wrote:
  609.  
  610. > > > Does ResEdit or Resorcerer offer the option to generate a header
  611. > > > file (*.h) of resource IDs?
  612. > Resorcerer has a built-in script language; it could probably be made to do
  613. > this for you.
  614.  
  615. I'm sure it could.  But Chris Thomas just created an excellent little
  616. utility called ResAnonamly to do just this.  It's customizable, too:
  617.  
  618.     <ftp://mirrors.aol.com:/pub/info-mac/dev/res-anomaly-10.hqx>
  619.  
  620. Just drop your resource file onto ResAnonamly and save the newly generated
  621. header file of resource IDs.  It's that easy.
  622.  
  623. - Rob Guttman
  624.   email: rguttman@epidigm.geg.mot.com
  625.   phone: 602-441-2364, fax: 602-441-2533
  626.   Motorola GSTG, Scottsdale, AZ  (USA)
  627.   Artificial Intelligence Applications
  628.  
  629. +++++++++++++++++++++++++++
  630.  
  631. >From rguttman@aol.com (Robert H Guttman)
  632. Date: Sat, 01 Jul 1995 13:56:57 -0700
  633. Organization: Arizona State University
  634.  
  635. In article <3t02i1$iv4@newsbf02.news.aol.com>, resorcerer@aol.com
  636. (Resorcerer) wrote:
  637.  
  638. > Question:
  639. > Although it doesn't happen very often, it is perfectly legal for a
  640. > resource file to have multiple resources with the same ID.  You have to
  641. > access the resources by unique resource name, rather than ID.
  642. > How would you propose to handle this situation (aside from punting, which
  643. > is not an unreasonable situation).
  644. > Doug McKenna
  645. > Mathemaesthetics, Inc.
  646. > Developers of Resorcerer
  647.  
  648. Like many types of software tools, certain conventions need to be followed
  649. for their optimal use.  You can think of these as limitations of the tools
  650. although oftentimes, they help improve the reliability or maintainability
  651. of the code.
  652.  
  653. As for having multiple resources with the same ID, this shouldn't pose as
  654. a problem for a tool such as ResAnomaly.  If we had two window resources
  655. with the same ID, for example, a possible output of ResAnomaly could be:
  656.  
  657.    #define iMyDocumentWIND 128
  658.    #define iMyDialogWIND 128
  659.  
  660. It should be noted that while having the same ID for same-type resources
  661. may be permissible, it is discouraged.  The problem case, however, occurs
  662. when two resources of the same type have the same name (regardless of
  663. their IDs).  This practice is not necessarily discouraged and more likely
  664. to occur than redundant IDs.
  665.  
  666. In this case, a tool like ResAnomaly could simply "punt", simply append
  667. consecutive numbers to the existing name, or a number of other solutions.
  668. However, this is where a certain programming convention could (optionally)
  669. be enforced.  As a user of such a tool, I would prefer that, in this case,
  670. ResAnomaly (or similar tool) warn me of the name conflict and abort the
  671. generation of the resource header file.
  672.  
  673. I welcome the option of having a convention forced upon me if it could
  674. potentially improve the reliability or maintainability of my code.  I
  675. would even put this type of protection up there with local file locking
  676. when using configuration management systems.  Such conventions, while
  677. perhaps limiting us in some way, exist to help prevent us from shooting
  678. ourselves in the foot.
  679.  
  680.    [For those of you not familiar with ResAnomaly, it is an excellent
  681.    utility recently written by Chris Thomas for automatically generating
  682.    a header file of resource IDs by simply drag and dropping any file
  683.    with a resource fork onto it.  The output of the program can be
  684.    customized to your style.  See the included readme file.  It can be
  685.    found: <ftp://mirrors.aol.com//pub/info-mac/dev/res-anomaly-10.hqx>]
  686.  
  687. Just my thoughts.
  688. - Rob Guttman
  689.   home: rguttman@aol.com
  690.   work: rguttman@epidigm.geg.mot.com
  691.   Motorola GSTG, Scottsdale, AZ (USA)
  692.   Artificial Intelligence Applications
  693.   (standard disclaimer)
  694.  
  695. +++++++++++++++++++++++++++
  696.  
  697. >From ckt@best.com (Chris Thomas)
  698. Date: Sun, 02 Jul 1995 18:22:46 -0800
  699. Organization: Echo Software
  700.  
  701. In article <rguttman-0107951356570001@ppp1-12.inre.asu.edu>,
  702. rguttman@aol.com (Robert H Guttman) wrote:
  703.  
  704. [...multiple id's etc...]
  705.  
  706. > As for having multiple resources with the same ID, this shouldn't pose as
  707. > a problem for a tool such as ResAnomaly.  If we had two window resources
  708. > with the same ID, for example, a possible output of ResAnomaly could be:
  709. >    #define iMyDocumentWIND 128
  710. >    #define iMyDialogWIND 128
  711. > It should be noted that while having the same ID for same-type resources
  712. > may be permissible, it is discouraged.  The problem case, however, occurs
  713. > when two resources of the same type have the same name (regardless of
  714. > their IDs).  This practice is not necessarily discouraged and more likely
  715. > to occur than redundant IDs.
  716. > In this case, a tool like ResAnomaly could simply "punt", simply append
  717. > consecutive numbers to the existing name, or a number of other solutions.
  718. > However, this is where a certain programming convention could (optionally)
  719. > be enforced.  As a user of such a tool, I would prefer that, in this case,
  720. > ResAnomaly (or similar tool) warn me of the name conflict and abort the
  721. > generation of the resource header file.
  722.  
  723. Once this checking is added, it's not hard to make the options upon
  724. catching a duplicate flexible.
  725.  
  726. What ResAnomaly will do is warn you of the conflict, give you the
  727. option of skipping the resource, stopping altogether, or writing it
  728. to the file anyway.  Memory reqs will increase, but we're using temp
  729. memory anyway. 
  730.  
  731. No promises as to time of completion, but might be this week.
  732.  
  733. [...etc...]
  734.  
  735. -- 
  736. Chris Thomas, ckt@best.com
  737. A hollow laugh rings out.  "Fool!"
  738.  
  739. +++++++++++++++++++++++++++
  740.  
  741. >From resorcerer@aol.com (Resorcerer)
  742. Date: 3 Jul 1995 15:26:26 -0400
  743. Organization: America Online, Inc. (1-800-827-6364)
  744.  
  745. Rob Guttman
  746.  
  747. >>Just my thoughts.
  748.  
  749. Much appreciated, and many thanks for them.
  750.  
  751. The only problem I have with the ResAnomoly scheme is that I always feel
  752. that algorithmically-generated symbolic names are always going to be less
  753. readable and less easier to use than the one's you create for yourself.  I
  754. can understand why it might be a time-saving thing to create the
  755. definitions once from a large resource file for which there are no
  756. definitions, but my experience as a developer has been that I'll typically
  757. add only a couple of resources (at most) at a time to a resource file, and
  758. adding my own symbolic constants to my initially empty "ResourceIDs.h"
  759. file takes only a few seconds.
  760.  
  761. I think a better solution would be for the resource editor to go to the
  762. effort of understanding one's header file, rather than the resource editor
  763. forcing you to understand its header file.  This is a much harder problem,
  764. but one which (the great god of development willing) the next version of
  765. Resorcerer will hopefully solve.  Once that's done, having the resource
  766. editor generate an initial file of symbolic definitions would be just
  767. frosting on the cake.
  768.  
  769. Doug McKenna
  770. Mathemaesthetics, Inc.
  771.  
  772.  
  773. +++++++++++++++++++++++++++
  774.  
  775. >From ckt@best.com (Chris Thomas)
  776. Date: Tue, 04 Jul 1995 00:10:21 -0800
  777. Organization: Echo Software
  778.  
  779. In article <3t9g92$mib@newsbf02.news.aol.com>, resorcerer@aol.com
  780. (Resorcerer) wrote:
  781.  
  782. > Rob Guttman
  783. > >>Just my thoughts.
  784. > Much appreciated, and many thanks for them.
  785. > The only problem I have with the ResAnomoly scheme is that I always feel
  786. > that algorithmically-generated symbolic names are always going to be less
  787. > readable and less easier to use than the one's you create for yourself.  I
  788. > can understand why it might be a time-saving thing to create the
  789. > definitions once from a large resource file for which there are no
  790. > definitions, but my experience as a developer has been that I'll typically
  791. > add only a couple of resources (at most) at a time to a resource file, and
  792. > adding my own symbolic constants to my initially empty "ResourceIDs.h"
  793. > file takes only a few seconds.
  794.  
  795. Well, the _ResAnomaly_ (hey, I thought you were the Mathemaesthetics
  796. Spelling Wizard) scheme is more flexible than it might be.
  797.  
  798. > I think a better solution would be for the resource editor to go to the
  799. > effort of understanding one's header file, rather than the resource editor
  800. > forcing you to understand its header file.  This is a much harder problem,
  801. > but one which (the great god of development willing) the next version of
  802. > Resorcerer will hopefully solve.  Once that's done, having the resource
  803. > editor generate an initial file of symbolic definitions would be just
  804. > frosting on the cake.
  805.  
  806. That _does_ sound interesting.  Run through the
  807. header file, parsing macros, enums, and const declarations.  Then
  808. apply to the resource file.  I see two problems:  how are you 
  809. going to determine the resource type?  Requiring a standard
  810. format doesn't seem right.  Also, ResAnomaly, by default, writes the
  811. string as const short kMyResource_DLOG_ID = 128;  What if the
  812. user decides to use English?  kMyResourceDialogID = 128?  New
  813. preferences for english to filetype translation?
  814.  
  815. -- 
  816. Chris Thomas, ckt@best.com
  817.  
  818. +++++++++++++++++++++++++++
  819.  
  820. >From stepanek@iconz.co.nz (George Stepanek)
  821. Date: 4 Jul 1995 07:35:37 GMT
  822. Organization: N/A
  823.  
  824. In article <ckt-0207951823240001@0.0.0.0>
  825. ckt@best.com (Chris Thomas) writes:
  826.  
  827. > What ResAnomaly will do is warn you of the conflict, give you the
  828. > option of skipping the resource, stopping altogether, or writing it
  829. > to the file anyway.  Memory reqs will increase, but we're using temp
  830. > memory anyway. 
  831. > No promises as to time of completion, but might be this week.
  832.  
  833. Ahem, while you're about it, could I make another suggestion? I find
  834. the listing of the resource IDs to be extremely useful, and the only
  835. thing that would be more useful would be if it also listed MENU and
  836. DITL items as well. Is this possible? Is this desirable?
  837.  
  838. George Stepanek         (stepanek@iconz.co.nz)
  839.  
  840. +++++++++++++++++++++++++++
  841.  
  842. >From resorcerer@aol.com (Resorcerer)
  843. Date: 5 Jul 1995 14:43:44 -0400
  844. Organization: America Online, Inc. (1-800-827-6364)
  845.  
  846. Chris -
  847.  
  848. >>(hey, I thought you were the Mathemaesthetics Spelling Wizard) 
  849.  
  850. Mea culpa.
  851.  
  852. >>I see two problems:  how are you 
  853. going to determine the resource type?  Requiring a standard
  854. format doesn't seem right.  
  855.  
  856. One possibility is to use a #pragma to give special attributes to certain
  857. definitions and enums that would be ignored by the C compiler.
  858.  
  859. Doug McKenna
  860. Mathemaesthetics, Inc.
  861.  
  862. +++++++++++++++++++++++++++
  863.  
  864. >From rguttman@epidigm.geg.mot.com (Robert H Guttman)
  865. Date: Wed, 05 Jul 1995 15:08:48 -0700
  866. Organization: Motorola GSTG
  867.  
  868. In article <3t9g92$mib@newsbf02.news.aol.com>, resorcerer@aol.com
  869. (Resorcerer) wrote:
  870. > The only problem I have with the ResAnomoly scheme is that I always feel
  871. > that algorithmically-generated symbolic names are always going to be less
  872. > readable and less easier to use than the one's you create for yourself.  I
  873. > can understand why it might be a time-saving thing to create the
  874. > definitions once from a large resource file for which there are no
  875. > definitions, but my experience as a developer has been that I'll typically
  876. > add only a couple of resources (at most) at a time to a resource file, and
  877. > adding my own symbolic constants to my initially empty "ResourceIDs.h"
  878. > file takes only a few seconds.
  879.  
  880. In my experience, the problem is not when adding new resources but when
  881. modifying existing resources.  When resource IDs change, all header files
  882. and/or source code references must be manually updated.  The more changed
  883. IDs, the more updating required, thus the more chance for run-time errors
  884. (not compile-time errors).  Hopefully, these would be caught via testing.
  885.  
  886. > I think a better solution would be for the resource editor to go to the
  887. > effort of understanding one's header file, rather than the resource editor
  888. > forcing you to understand its header file.  This is a much harder problem,
  889. > but one which (the great god of development willing) the next version of
  890. > Resorcerer will hopefully solve.  Once that's done, having the resource
  891. > editor generate an initial file of symbolic definitions would be just
  892. > frosting on the cake.
  893.  
  894. This *is* a much harder problem.  If I understand you correctly, I would
  895. be able to use Resorcerer to generate an initial header file, add anything
  896. else I wanted to the file (i.e., comments, other constants, etc.), and
  897. then have Resorcerer update the file with the latest resource IDs (and/or
  898. names) without disrupting the extra info that I had added.  This would be
  899. comparable to GUI builders that can effectively manipulate previous output
  900. that had callbacks added (for example) or CASE tools that can read back in
  901. previous source code output (for example) to continue design work.
  902.  
  903. This would be a highly welcome addition to Resorcerer.
  904.  
  905. +++++++++++++++++++++++++++
  906.  
  907. >From nick+@pitt.edu ( nick.c )
  908. Date: 6 Jul 1995 14:15:00 GMT
  909. Organization: The Pitt, Chemistry
  910.  
  911. In article <rguttman-0507951508500001@137.124.91.131>,
  912. rguttman@epidigm.geg.mot.com (Robert H Guttman) wrote:
  913.  
  914. >If I understand you correctly, I would
  915. >be able to use Resorcerer to generate an initial header file, add anything
  916. >else I wanted to the file (i.e., comments, other constants, etc.), and
  917. >then have Resorcerer update the file with the latest resource IDs (and/or
  918. >names) without disrupting the extra info that I had added.  
  919.  
  920.  
  921.     I think I would keep the Resorcerer generated header as a 
  922.       separate header file, and add my own constants with 
  923.       a different file.  That way less risk of the computer
  924.       generated file choking on or mulching my own additions.
  925.  
  926.  
  927.  ---------------------= Nicholas C. DeMello =--------------------
  928.  
  929.  Internet: nick+@pitt.edu            _/   _/  _/  _/_/_/   _/   _/  
  930.    eWorld: nick                     _/_/ _/  _/  _/   _/  _/_/_/ 
  931.       CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  932.      http://www.pitt.edu/~nick/   _/   _/  _/   _/_/_/  _/   _/     
  933.                     
  934.  
  935. ---------------------------
  936.  
  937. >From William_Turner@lamg.com (William Turner)
  938. Subject: Components and A5
  939. Date: 04 Jul 1995 07:19:24 GMT
  940. Organization: Los Angeles Macintosh Group BBS
  941.  
  942.  
  943. Is anyone making globally-registered components? I'm confused about this
  944. business of SetComponentInstanceA5... do I set a value for this? Do I just
  945. drop to assembly, move.l a5, d0, then pass the d0 value to
  946. SetComponentInstanceA5? Does this have to come BEFORE
  947. SetComponentInstanceStorage? (I've seen some production code where Set...A5
  948. came AFTER Set...Storage.) And what about the PowerPC; I don't have the
  949. microprocessor book for that chip...
  950.  
  951. Thanks in advance...
  952.  
  953. -- William Turner (william_turner@lamg.com)
  954.  
  955.  
  956. +++++++++++++++++++++++++++
  957.  
  958. >From Matt Slot <fprefect@umich.edu>
  959. Date: 4 Jul 1995 20:25:01 GMT
  960. Organization: University of Michigan
  961.  
  962. William Turner, William_Turner@lamg.com writes:
  963.  > Is anyone making globally-registered components? I'm confused about this
  964.  > business of SetComponentInstanceA5... do I set a value for this? Do I just
  965.  > drop to assembly, move.l a5, d0, then pass the d0 value to
  966.  > SetComponentInstanceA5? Does this have to come BEFORE
  967.  > SetComponentInstanceStorage? (I've seen some production code where Set...A5
  968.  > came AFTER Set...Storage.) And what about the PowerPC; I don't have the
  969.  > microprocessor book for that chip...
  970.  
  971. One great use for SetComponentA5() would be if you have a background-only
  972. application that offers plug-in services for other programs or inside other
  973. A5-contexts. You can use SetA5() to do what you are looking for.
  974.  
  975.     long SetA5(long);  Sets A5 to a particular value, and returns the old
  976.                        value to the caller.
  977.                        
  978. Try this snippet from your components home context:
  979.  
  980.  
  981.         long saveA5;
  982.         
  983.         SetA5(saveA5 = SetA5(0);
  984.         SetComponentInstanceA5(saveA5);
  985.         
  986.  
  987. Saving A5 does not depend on saving component storage, so calling in either
  988. order should be fine. Also, since you don't need to worry about globals in
  989. PowerPC code (because the CFM manages it for you), SetA5() doesn't need to 
  990. do anything -- in fact its #define'd to 0.
  991.  
  992. If you haven't checked NIM:More Toolbox, that is a great place to start. It
  993. took me a few readings to feel comfortable with the workings of the Component
  994. Manager. You might even check out the snippets or Q+A documents that Apple
  995. has online:
  996.  
  997.     ftp://ftp.info.apple.com/Apple.Support.Area/Developer_Services/
  998.        /Sample_Code/Snippets/Snippets_-_Toolbox.sit.hqx
  999.  
  1000.     ftp://sam.austin.apple.com/Apple.Support.Area/Developer_Services/
  1001.        //Technical_Documentation/Mac_Tech_Notes/TB-Toolbox/TN-Toolbox.sit.hqx
  1002.           
  1003.  
  1004. I even have a (poorly written) shell component that I keep around. It was
  1005. my first attempt, and it doesn't maintain global information across its
  1006. instances... but it does seem to work.
  1007.  
  1008. Matt
  1009.  
  1010. +++++++++++++++++++++++++++
  1011.  
  1012. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1013. Date: Thu, 06 Jul 1995 10:46:59 +0800
  1014. Organization: Department of Computer Science, University of Western Australia
  1015.  
  1016. In article <3tc82t$5j3@lastactionhero.rs.itd.umich.edu>, Matt Slot
  1017. <fprefect@umich.edu> wrote:
  1018.  
  1019. >I even have a (poorly written) shell component that I keep around. It was
  1020. >my first attempt, and it doesn't maintain global information across its
  1021. >instances... but it does seem to work.
  1022.  
  1023. Talking about components, Internet Config has lots of, shall we say...
  1024. fascinating, component source code, that deals with creating a component
  1025. and creating override components.  Source code is available as part of the
  1026. IC programmer's kit on...
  1027.  
  1028.   <ftp://redback.cs.uwa.edu.au/Others/Quinn/Config/>
  1029.   <ftp://ftp.share.com/internet-configuration/>
  1030.  
  1031. Share and Enjoy.
  1032. --
  1033. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  1034.                           for a space army about now."
  1035.  
  1036. ---------------------------
  1037.  
  1038. >From oylerb@tdkt.skypoint.net (Bill A. Oyler)
  1039. Subject: Converting a string with numbers to an integer?
  1040. Date: Wed, 05 Jul 1995 23:18:50 -0500
  1041. Organization: The Dark Knight's Table BBS
  1042.  
  1043. Hello,
  1044.  
  1045. I have a (hopefully) simple question regarding THINK Pascal.  In my
  1046. program, I use the toolbox call GetIText to get the contents of a text
  1047. edit field into a string/str255.  But all I want to get from that text
  1048. edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1049. edit field, all I want is the "4".  I also need to make sure a number
  1050. greater than 0 is entered.
  1051.  
  1052. Does anyone know how I can easily accomplish this?
  1053.  
  1054. =====================================================
  1055. Bill A. Oyler               People usually get what's
  1056. Minnetonka, MN, USA         coming to them ... unless
  1057. oylerb@tdkt.skypoint.net            it's been mailed.
  1058. =====================================================
  1059.  
  1060. +++++++++++++++++++++++++++
  1061.  
  1062. >From Helge Ziegler <hziegler@zinc.chem.ucalgary.ca>
  1063. Date: 6 Jul 1995 16:39:46 GMT
  1064. Organization: University of Calgary Chemistry Departement
  1065.  
  1066. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  1067. >Hello,
  1068. >
  1069. >I have a (hopefully) simple question regarding THINK Pascal.  In my
  1070. >program, I use the toolbox call GetIText to get the contents of a text
  1071. >edit field into a string/str255.  But all I want to get from that text
  1072. >edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1073. >edit field, all I want is the "4".  I also need to make sure a number
  1074. >greater than 0 is entered.
  1075. >
  1076. >Does anyone know how I can easily accomplish this?
  1077.  
  1078. Hi,
  1079.         There are two routines that might be usefull for you, NumToString and
  1080. StringToNum. They are both listed on pp. 489-490 in IM Vol. 1. (I don't
  1081. know where they would be listed in the new IM books).
  1082.  
  1083. PROCEDURE NumToString( theNum: LONGINT; VAR theString: Str255);
  1084. PROCEDURE StringToNum( theString: Str255,; VAR theNum: LONGINT);
  1085.  
  1086.  
  1087.  
  1088.  
  1089. +++++++++++++++++++++++++++
  1090.  
  1091. >From oylerb@tdkt.skypoint.net (Bill A. Oyler)
  1092. Date: Thu, 06 Jul 1995 22:46:33 -0500
  1093. Organization: The Dark Knight's Table BBS
  1094.  
  1095. In article <3th3ki$kt6@ds2.acs.ucalgary.ca>, Helge Ziegler
  1096. <hziegler@zinc.chem.ucalgary.ca> wrote:
  1097.  
  1098. >         There are two routines that might be usefull for you, NumToString and
  1099. > StringToNum. They are both listed on pp. 489-490 in IM Vol. 1. (I don't
  1100. > know where they would be listed in the new IM books).
  1101.  
  1102. Thanks, that's JUST what I needed to know!
  1103.  
  1104. =====================================================
  1105. Bill A. Oyler               People usually get what's
  1106. Minnetonka, MN, USA         coming to them ... unless
  1107. oylerb@tdkt.skypoint.net            it's been mailed.
  1108. =====================================================
  1109.  
  1110. +++++++++++++++++++++++++++
  1111.  
  1112. >From jimnash@his.com (Jim Nash)
  1113. Date: 7 Jul 1995 20:51:53 GMT
  1114. Organization: SRS
  1115.  
  1116. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  1117. > >Hello,
  1118. > >
  1119. > >I have a (hopefully) simple question regarding THINK Pascal.  In my
  1120. > >program, I use the toolbox call GetIText to get the contents of a text
  1121. > >edit field into a string/str255.  But all I want to get from that text
  1122. > >edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1123. > >edit field, all I want is the "4".  I also need to make sure a number
  1124. > >greater than 0 is entered.
  1125. > >
  1126. > >Does anyone know how I can easily accomplish this?
  1127.  
  1128. I am putting together a toolbox extender that has what you want.  So that
  1129. you do not have to buy the whole thing, here is the part that extracts the
  1130. "word" "4".  Then use StringToNum.  Another routine in my toolbox extender
  1131. library calls GetNextWord and includes a test that the number is really a
  1132. number:
  1133.  
  1134.  procedure RemoveLeadingSpace (var stg: Str255);
  1135.   var
  1136.    i, len: integer;
  1137.  begin
  1138.   len := length(stg);
  1139.   i := 1;
  1140.   if len > 0 then
  1141.    begin
  1142.     while (stg[i] in [' ', TAB]) and (i < len) do
  1143.      i := i + 1;
  1144.     if (stg[i] in [' ', TAB]) then
  1145.      i := i + 1;
  1146.    end;
  1147.   if i > len then
  1148.    stg := ''
  1149.   else if i > 1 then
  1150.    stg := copy(stg, i, 999);
  1151.  end;
  1152.  
  1153.  
  1154.  procedure RemoveTrailingCR (var stg: Str255);
  1155.   var
  1156.    len: integer;
  1157.  begin
  1158.   len := length(stg);
  1159.   if stg[len] = CR then
  1160.    stg := copy(stg, 1, len - 1);
  1161.  end;
  1162.  
  1163.  
  1164.  procedure GetNextWord (var stg, wrd: Str255);
  1165.   var
  1166.    len, len1: integer;
  1167.  begin
  1168.   RemoveLeadingSpace(stg);
  1169.   RemoveTrailingCR(stg);
  1170.   len := pos(' ', stg);
  1171.   len1 := pos(TAB, stg);
  1172.   if (len1 > 0) and ((len1 < len) or (len = 0)) then
  1173.    len := len1;   {Use either tab or space, whichever encountered first}
  1174.   if len = 0 then
  1175.    len := length(stg)
  1176.   else
  1177.    len := len - 1;
  1178.   wrd := copy(stg, 1, len);
  1179.   stg := copy(stg, len + 2, 99);
  1180.   if len > 0 then
  1181.    while (pos(' ', stg) = 1) do
  1182.     stg := copy(stg, 2, 99);
  1183.  end;
  1184.  
  1185. ____________________________________________________________________
  1186. James W. Nash, Synergistic Research Systems
  1187. 4409 Mahan Court, Silver Spring, MD 20906, USA
  1188. (301) 942-6601, fax: (301) 942-6656
  1189. ____________________________________________________________________
  1190.  
  1191. +++++++++++++++++++++++++++
  1192.  
  1193. >From z044304 (James Derrick)
  1194. Date: Sun, 09 Jul 1995 12:31:18 +0800
  1195. Organization: The Chinese University of Hong Kong
  1196.  
  1197. In article <oylerb-0507952318500001@msp1-8.nas.mr.net>,
  1198. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  1199.  
  1200. > Hello,
  1201. > I have a (hopefully) simple question regarding THINK Pascal.  In my
  1202. > program, I use the toolbox call GetIText to get the contents of a text
  1203. > edit field into a string/str255.  But all I want to get from that text
  1204. > edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1205. > edit field, all I want is the "4".  I also need to make sure a number
  1206. > greater than 0 is entered.
  1207. > Does anyone know how I can easily accomplish this?
  1208.  
  1209. Be careful of StringToNum.  It will not extract letters properly, and you
  1210. will get garbage numbers.
  1211.  
  1212. -- 
  1213. James Derrick
  1214.  
  1215. ---------------------------
  1216.  
  1217. >From eclement@bdm.com (Eric Clements)
  1218. Subject: Does anyone have code to get Ethernet Address?
  1219. Date: Sat, 01 Jul 1995 10:52:56 -0500
  1220. Organization: BDM International, Inc.
  1221.  
  1222. I have to write a small install program that tracks the hardware ethernet
  1223. address as the key to where it has been installed.  Does anyone have any
  1224. code, or the function calls I need to look up a Ethernet Hardware
  1225. address.  Please Help.  Very important.
  1226.  
  1227. Thank you in advance.
  1228.  
  1229. - ------------------------------------------------------------------
  1230. Eric R. Clements <eclement@bdm.com>
  1231. Corporate Information Systems, Network Engineer
  1232. BDM International, Inc.
  1233.  
  1234. This is my opinion, not necessarily the opinion of my Employer.
  1235.  
  1236. +++++++++++++++++++++++++++
  1237.  
  1238. >From andrew.willmott@cs.cmu.edu (Andrew J. Willmott)
  1239. Date: Sun, 02 Jul 1995 13:10:47 -0400
  1240. Organization: CMU SCS
  1241.  
  1242. In article <eclement-0107951052560001@ger98-144.ger.bdm.com>,
  1243. eclement@bdm.com (Eric Clements) wrote:
  1244.  
  1245. > I have to write a small install program that tracks the hardware ethernet
  1246. > address as the key to where it has been installed.  Does anyone have any
  1247. > code, or the function calls I need to look up a Ethernet Hardware
  1248. > address.  Please Help.  Very important.
  1249. > Thank you in advance.
  1250.  
  1251. This is from an old hack of mine to do that kind of thing. I think the
  1252. original code was from Rich Kubota of DTS. It runs under Metrowerks';
  1253. you'll have to change CallLAPMgr to the Think C Asm style to get it to run
  1254. under that compiler.
  1255.  
  1256. - -
  1257. File: GetEtherAddress.c
  1258.  
  1259. #include <Types.h>
  1260. #include <ENET.h>
  1261. #include <Devices.h>
  1262. #include <AppleTalk.h>
  1263.  
  1264. #define LGetATalkInfo   0x09    /* Get AppleTalk info */
  1265. #define kSPConfig       0x1FB   /* low nibble of global byte indicates
  1266. whether AppleTalk active */
  1267.  
  1268. #define ETalkPh1        2       /* Ethernet Phase 1 ADEV resource ID */
  1269. #define ETalkPh2        10      /* Ethernet Phase 2 ADEV resource ID */
  1270.  
  1271. #include "GetEtherAddr.h"
  1272.  
  1273. long        CallLAPMgr(short selector);
  1274.  
  1275. int FindEthernetAddress(char *eNetAddress)
  1276. {
  1277.     EParamBlock pb;
  1278.     OSErr       err;
  1279.     long        result;
  1280.     char        adevType;
  1281.     char        slot;
  1282.     short       buffer[39];     // 78/2
  1283.     Ptr         spConfigPtr;
  1284.     
  1285.     result = CallLAPMgr(LGetATalkInfo);     /* get current connection setting */
  1286.     adevType = result & 0x000000FF;         /* atlk resource id is return
  1287. in LSB */
  1288.     slot = result >> 24;                    /* card slot returned in MSB */
  1289.  
  1290.     spConfigPtr = (Ptr)kSPConfig;
  1291.     if ((*spConfigPtr & 0x0F) != 1)  /* Check whether AppleTalk is enabled */
  1292.         return(kNoAppleTalkErr);
  1293.     
  1294.     if ((adevType != ETalkPh1) && (adevType != ETalkPh2)) 
  1295.         return(kNoEthernetErr);
  1296.     
  1297.     /* now we know that AppleTalk is active and that EtherTalk is already
  1298. open */
  1299.     
  1300.     if ((err = OpenDriver("\p.ENET", &pb.EParms1.ioRefNum)) == noErr) 
  1301.     {
  1302.         pb.EParms1.ePointer = (char *) buffer;
  1303.         pb.EParms1.eBuffSize = sizeof(buffer);
  1304.         err = EGetInfo(&pb, false);
  1305.         
  1306.         BlockMove(buffer, eNetAddress, 6);
  1307.         
  1308.         return(kNoErr);
  1309.     }
  1310.     else
  1311.         return(kCantOpenDriverErr);
  1312. }
  1313.  
  1314. asm long CallLAPMgr(short selector)
  1315. {
  1316. #define LAPMgrPtr   0xB18
  1317. #define LAPMgrCall  2
  1318.  
  1319.         LINK        A6,#0           // set up stack frame
  1320.         MOVE.W      8(A6),D0        // move selector parameter into D0
  1321.         MOVE.L      A2,-(A7)        // store A2 on stack
  1322.         MOVEA.L     LAPMgrPtr,A2    // Set A2 to address of LAP Mgr.
  1323.         JSR         LAPMgrCall(A2)  // Call LAP Manager
  1324.         MOVE.L      D1,D0           // Place result onto stack
  1325.         MOVE.L      (A7)+,A2        // Restore A2
  1326.         UNLK        A6              // restore stack frame
  1327.         RTS
  1328. }
  1329.  
  1330. - -
  1331.  
  1332. Cheers,
  1333.  
  1334. Andrew
  1335.  
  1336. - -------------------------------------------------------------------
  1337.                    In the caves all cats are grey.       
  1338. - - mailto:a.willmott@cs.cmu.edu ----- http://www.cs.cmu.edu/~ajw ---
  1339.  
  1340. +++++++++++++++++++++++++++
  1341.  
  1342. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1343. Date: Mon, 03 Jul 1995 09:53:38 +0800
  1344. Organization: Department of Computer Science, University of Western Australia
  1345.  
  1346. In article <eclement-0107951052560001@ger98-144.ger.bdm.com>,
  1347. eclement@bdm.com (Eric Clements) wrote:
  1348.  
  1349. >I have to write a small install program that tracks the hardware ethernet
  1350. >address as the key to where it has been installed.  Does anyone have any
  1351. >code, or the function calls I need to look up a Ethernet Hardware
  1352. >address.
  1353.  
  1354. I don't have my source archive handy at the moment but this is all
  1355. documented in NIM:Networking.  Just read the docs, it's about 20 lines of
  1356. code.
  1357.  
  1358. Share and Enjoy.
  1359. --
  1360. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  1361.                           for a space army about now."
  1362.  
  1363. ---------------------------
  1364.  
  1365. >From conner@wolfe.net (<===Conner===>)
  1366. Subject: FutureBasic Mailing List?
  1367. Date: 7 Jul 1995 17:47:47 GMT
  1368. Organization: Wolfe Internet Access, L.L.C.
  1369.  
  1370. Does anyone know or have the address for a FutureBasic Mailing List? I 
  1371. have several problems that I need to discuss with avid FB programmers.
  1372.  
  1373. Thanks
  1374.  
  1375. Conner
  1376.  
  1377.  
  1378. +++++++++++++++++++++++++++
  1379.  
  1380. >From mel@direct.ca (Mel Patrick)
  1381. Date: Fri, 07 Jul 1995 12:14:23 -0700
  1382. Organization: Wabbit Wangler
  1383.  
  1384. In article <3tjs03$1u6@news1.wolfe.net>, conner@wolfe.net (<===Conner===>)
  1385. wrote:
  1386.  
  1387. >Does anyone know or have the address for a FutureBasic Mailing List? I 
  1388. >have several problems that I need to discuss with avid FB programmers.
  1389. >
  1390. Sorry to report the list server for FutureBasic is more down than up
  1391. lately. Here is the info if and when it gets resurrected...
  1392.  
  1393. To join the Futurebasic list list, please use the following.
  1394.  
  1395.         mail listserv@geko.com.au
  1396.         Subject: anything can go here..
  1397.  
  1398.         subscribe futurebasic YourFirstName YourLastName
  1399.  
  1400.  
  1401. Please make sure you use your real name and not the example above.
  1402.  
  1403. To unsubscribe, again...
  1404.  
  1405.         mail listserv@geko.com.au
  1406.         Subject: anything can go here..
  1407.  
  1408.         unsubscribe futurebasic
  1409.  
  1410.  
  1411. To post comments or queries about FB, to the list:
  1412. futurebasic@geko.com.au
  1413.  
  1414. Anonymous ftp facilities are available at:
  1415.         ftp://ftp.geko.com.au//pub/future-basic (only if you're in AU!)
  1416. There is another ftp site at: 
  1417.         ftp://tirpitz.ibg.uit.no
  1418. also try:
  1419.         ftp://ingrimayne.saint.joe.edu
  1420.  
  1421. If you have any questions, or problems with the mail-list, please e-mail me.
  1422.  
  1423. Enjoy.
  1424.  
  1425. Kind Regards,
  1426.  
  1427. William Bullock
  1428. willb@geko.com.au
  1429.  
  1430. ___________________
  1431. This is all the info I have, but when the list is running, there are about
  1432. 200 of us on it.
  1433.  
  1434. -- 
  1435. Mel Patrick
  1436. mel@direct.ca
  1437.  
  1438. ---------------------------
  1439.  
  1440. >From hsoi@tamu.edu (John C. Daub)
  1441. Subject: How do you write 'TMPL' resources?
  1442. Date: 23 Jun 1995 17:22:55 GMT
  1443. Organization: Texas A&M University
  1444.  
  1445.  
  1446. Hola y'all :)
  1447.  
  1448. How do you write 'TMPL' (template) resources?  I've tried looking through
  1449. a lot of examples and also looking around the net for something that
  1450. might document or give an example of how to write them, but so far
  1451. i've found nothing that really helps.
  1452.  
  1453. anyone know of where i could find documentation, tutorials, etc?
  1454.  
  1455. books, URL's, anything would be greately appreciated :)
  1456.  
  1457. Please email me any replies (or if you can, both email the reply to me
  1458. and post it too cause i'm sure there are probably other people out there
  1459. that might find this information useful) :)
  1460.  
  1461. Thanx in advance!
  1462.  
  1463. -- 
  1464. * John C. Daub (Hsoi) * Grad Student,TA * Speech Communication * Texas A&M *
  1465. *    mailto: hsoi@tamu.edu             http://tam2000.tamu.edu/~jcd7106/   *
  1466. * "Don't waste your time on me, I got my own direction.  Watch me close,   *
  1467. *  just wait and see, I'm looking for perfection"        - Ted Nugent      *
  1468.  
  1469. +++++++++++++++++++++++++++
  1470.  
  1471. >From greg_manning@gdt.com (Greg Manning)
  1472. Date: Fri, 23 Jun 1995 14:37:32 -0700
  1473. Organization: GDT Softworks Inc.
  1474.  
  1475. In article <hsoi-2306951224250001@ppp04-02.rns.tamu.edu>, hsoi@tamu.edu wrote:
  1476.  
  1477. > How do you write 'TMPL' (template) resources?
  1478.  
  1479. John,
  1480.  
  1481. TMPL's are described in the "ResEdit Reference" book, which you get when you
  1482. buy ResEdit.  If you buy ResEdit on MPW Pro you get "ResEdit Reference" in
  1483. DocViewer format on the CD.
  1484.  
  1485. Resourceror add some extensions to TMPLs which are, naturally, described in
  1486. the Resourceror manual.
  1487.  
  1488. Greg
  1489.  
  1490. -- 
  1491. greg_manning@gdt.com
  1492.  
  1493. +++++++++++++++++++++++++++
  1494.  
  1495. >From webers@primenet.com (Jacob Weber)
  1496. Date: Sat, 24 Jun 1995 22:17:33 -0700
  1497. Organization: Primenet
  1498.  
  1499. In article <hsoi-2306951224250001@ppp04-02.rns.tamu.edu>, hsoi@tamu.edu wrote:
  1500.  
  1501. >Hola y'all :)
  1502. >
  1503. >How do you write 'TMPL' (template) resources?  I've tried looking through
  1504. >a lot of examples and also looking around the net for something that
  1505. >might document or give an example of how to write them, but so far
  1506. >i've found nothing that really helps.
  1507.  
  1508. A good book for learning this kind of thing is ResEdit Complete (published
  1509. by Addison-Wesley). It gives instructions for creating TMPLs and various
  1510. other things, including writing your own editors.
  1511.  
  1512. Basically, a TMPL is just a list of fields, each with a label and a type.
  1513. Labels can be anything you want. Types can include DBYT (byte), DWRD
  1514. (word), P0FF (Pascal string), and several others. The name of the TMPL
  1515. resource must be the same as the resource type it will be used for.
  1516.  
  1517. For example, if you have a resource with two words followed by a string,
  1518. your TMPL could look like this:
  1519.  
  1520.   1) ***
  1521.   Label: First Word
  1522.   Type:  DWRD
  1523.  
  1524.   2) ***
  1525.   Label: Second Word
  1526.   Type:  DWRD
  1527.  
  1528.   3) ***
  1529.   Label: String
  1530.   Type:  P0FF
  1531.  
  1532. Then, when you edit your resource, it will look like this:
  1533.  
  1534.   First Word   [....]
  1535.   Second Word  [....]
  1536.   String       [.................]
  1537.  
  1538. - --------------------------------------------------------
  1539. Produced, Arranged, Composed, and Performed by Jacob Weber
  1540. webers@primenet.com                        CIS: 72303,3540
  1541.  
  1542. +++++++++++++++++++++++++++
  1543.  
  1544. >From phew@tartarus.uwa.edu.au (Patrick C Hew)
  1545. Date: 25 Jun 1995 08:04:14 GMT
  1546. Organization: The University of Western Australia
  1547.  
  1548. This material is summarized in obiwan, which can
  1549. be found in the info-mac archive (info-mac/dev).
  1550.  
  1551. Version 5 requires System 7.1, though I think
  1552. Version 4 can run under System 6 (it certainly
  1553. runs under 7.0).
  1554.  
  1555. The keyword for templates is "template" (I think
  1556. from memory... it may be TMPL). Also note that
  1557. the THINK Class Library defines some TMPLs for use
  1558. with the Library, and you may want to look at these
  1559. as an example (Don't copy them exactly, of course :)
  1560.  
  1561. Hope this helps,
  1562.  
  1563. Patrick
  1564.  
  1565. Patrick Hew
  1566. phew@tartarus.uwa.edu.au
  1567.  
  1568. +++++++++++++++++++++++++++
  1569.  
  1570. >From shay@cs.uwa.edu.au (Shay Telfer)
  1571. Date: Wed, 05 Jul 1995 10:58:19 +0800
  1572. Organization: Black Sun Systems
  1573.  
  1574. In article <3sj59u$okh@styx.uwa.edu.au>, phew@tartarus.uwa.edu.au (Patrick
  1575. C Hew) wrote:
  1576.  
  1577. > This material is summarized in obiwan, which can
  1578. > be found in the info-mac archive (info-mac/dev).
  1579. > Version 5 requires System 7.1, though I think
  1580. > Version 4 can run under System 6 (it certainly
  1581. > runs under 7.0).
  1582. > The keyword for templates is "template" (I think
  1583. > from memory... it may be TMPL).
  1584.  
  1585. ResEditTemplates
  1586.  
  1587. Have fun,
  1588. Shay
  1589.  
  1590. -- 
  1591. =========================== Shay  Telfer ============================
  1592.  Perth, Western Australia.  Technomancer "He's probably one of those
  1593.  Opinions for hire.             [POQ]      people who thinks that
  1594.  shay@cs.uwa.edu.au                         Elvis is dead" Fox Mulder
  1595.  
  1596. ---------------------------
  1597.  
  1598. >From roger.brown@dartmouth.edu (Roger Brown)
  1599. Subject: How much of a sound has played so far?
  1600. Date: 27 Jun 1995 14:11:15 GMT
  1601. Organization: Dartmouth College, Hanover, NH
  1602.  
  1603. I want to play a sound from a file and know how much has played at any
  1604. one time. I have a controlling device and want to be able to "rewind"
  1605. and "fast forward" through the sound. To do that, It would help to know
  1606. what the current position is.
  1607.  
  1608. A call to SndChannelStatus pretends to do what I want, giving me access
  1609. to a SCStatus record having a scCurrentTime field, but it is rarely
  1610. close to correct. The Inside Mac Sound volume admits that this value is
  1611. not updated very often and is not to be relied upon.
  1612.  
  1613. So how can I tell how much sound has played, short of tracking the time
  1614. independently?
  1615.  
  1616. Any suggests are appreciated.
  1617.  
  1618. - ------------------------------------------------------------------
  1619. Roger Brown                                roger.brown@dartmouth.edu
  1620. Software Development
  1621. Kiewit Computation Center, Dartmouth College, Hanover, NH, USA
  1622.  
  1623. +++++++++++++++++++++++++++
  1624.  
  1625. >From Maf Vosburgh <maf@mmcorp.com>
  1626. Date: 27 Jun 1995 17:45:00 GMT
  1627. Organization: MMC
  1628.  
  1629. In article <3sp3i4$b05@dartvax.dartmouth.edu> Roger Brown,
  1630. roger.brown@dartmouth.edu writes:
  1631. >
  1632. >So how can I tell how much sound has played, short of tracking the time
  1633. >independently?
  1634.  
  1635.  
  1636. Jim Reekes told me at the WWDC (namedrop alert) that the recommended
  1637. way to play AIFF files from disk is now to use QuickTime. Version 2.0
  1638. of QT will let you open and play an AIFF file as if it was a movie.
  1639. That gives you much finer time resolution. 
  1640.  
  1641. - -------------------------------------------------------------
  1642. Real QT experts just use MoviePlayer, Dumpster & ConvertToMovie.
  1643. Real C programmers use [0]-> (and it's called "sprong").
  1644.  
  1645. +++++++++++++++++++++++++++
  1646.  
  1647. >From tinyjohn@harrier.sasknet.sk.ca (tinyjohn)
  1648. Date: 27 Jun 1995 16:22:29 GMT
  1649. Organization: complex
  1650.  
  1651. In article <3sp3i4$b05@dartvax.dartmouth.edu>
  1652. roger.brown@dartmouth.edu (Roger Brown) writes:
  1653.  
  1654. > A call to SndChannelStatus pretends to do what I want, giving me access
  1655. > to a SCStatus record having a scCurrentTime field, but it is rarely
  1656. > close to correct. The Inside Mac Sound volume admits that this value is
  1657. > not updated very often and is not to be relied upon.
  1658.  
  1659. When I was writing BigSound I noticed that the accuracy of the value
  1660. returned by SndChannelStatus increases when you use a smaller buffer
  1661. with SndStartFilePlay.  However, using a smaller buffer seemed to
  1662. break up the sound on slower hardware.
  1663.  
  1664. Just an observation, I dunno if it's true for all versions of the sound
  1665. manager or on all makes and models.
  1666.  
  1667. -john
  1668.  
  1669. - -------------------------------------------------------------------
  1670. -     John Montbriand             P.O. Box. 1133                    -
  1671. -     tinyjohn@sasknet.sk.ca      Saskatoon Saskatchewan Canada     -
  1672. -     (306) 955-5189              S7K 3N2                           -
  1673. - -------------------------------------------------------------------
  1674.  
  1675. +++++++++++++++++++++++++++
  1676.  
  1677. >From h+@bga.com (Jon W{tte)
  1678. Date: Tue, 27 Jun 1995 19:43:01 -0500
  1679. Organization: Borg
  1680.  
  1681.  
  1682. In article <3sp3i4$b05@dartvax.dartmouth.edu>,
  1683. roger.brown@dartmouth.edu (Roger Brown) wrote:
  1684.  
  1685. > So how can I tell how much sound has played, short of tracking the time
  1686. > independently?
  1687.  
  1688. You track the time independently.
  1689.  
  1690. Or you use a professional sound system, like Digidesigns stuff, which come
  1691. with their own interface which is more capable (and more cumbersome) than
  1692. the Sound Manager. They still work with the Sound Manager, though.
  1693.  
  1694. Cheers,
  1695.  
  1696.                                 / h+
  1697.  
  1698.  
  1699. --
  1700.  Jon Wdtte, 11266 Taylor Draper Ln #2517, Austin
  1701.  Work: h+@metrowerks.com  Play: h+@bga.com          News != Work
  1702.  
  1703.  
  1704. +++++++++++++++++++++++++++
  1705.  
  1706. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  1707. Date: Thu, 06 Jul 1995 12:10:36 -0700
  1708. Organization: Apple Computer, Inc.
  1709.  
  1710. In article <3spg2s$jju@news.bt.net>, Maf Vosburgh <maf@mmcorp.com> wrote:
  1711.  
  1712. > In article <3sp3i4$b05@dartvax.dartmouth.edu> Roger Brown,
  1713. > roger.brown@dartmouth.edu writes:
  1714. > >
  1715. > >So how can I tell how much sound has played, short of tracking the time
  1716. > >independently?
  1717. > Jim Reekes told me at the WWDC (namedrop alert) that the recommended
  1718. > way to play AIFF files from disk is now to use QuickTime. Version 2.0
  1719. > of QT will let you open and play an AIFF file as if it was a movie.
  1720. > That gives you much finer time resolution. 
  1721.  
  1722. Yes, the best way to play sound files is with QuickTime. This can play
  1723. AIFF, .au, .wav, and of course movie files. The SCStatus struct is only
  1724. update when the buffer is filled. This means that a large buffer is update
  1725. less often. The smallest buffer allowed is about 20k, and this means for a
  1726. 22kHz sound you'll get at best 1 second of resolution in timing.
  1727.  
  1728. -- 
  1729. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  1730.                             |        Sound Manager Expert
  1731. Apple Computer, Inc.        | "All opinions expressed are mine, and
  1732. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  1733. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  1734.  
  1735. +++++++++++++++++++++++++++
  1736.  
  1737. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  1738. Date: Mon, 10 Jul 1995 16:44:19 -0700
  1739. Organization: Apple Computer, Inc.
  1740.  
  1741. In article <AC160FC5966848BA@ivy-a3.ip.realtime.net>, h+@bga.com (Jon
  1742. W{tte) wrote:
  1743.  
  1744. > In article <3sp3i4$b05@dartvax.dartmouth.edu>,
  1745. > roger.brown@dartmouth.edu (Roger Brown) wrote:
  1746. > > So how can I tell how much sound has played, short of tracking the time
  1747. > > independently?
  1748. > You track the time independently.
  1749. > Or you use a professional sound system, like Digidesigns stuff, which come
  1750. > with their own interface which is more capable (and more cumbersome) than
  1751. > the Sound Manager. They still work with the Sound Manager, though.
  1752.  
  1753. Also, just use QuickTime to play the AIFF, .wav, or .au files and ask
  1754. QuickTime for the time.
  1755.  
  1756. -- 
  1757. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  1758.                             |        Sound Manager Expert
  1759. Apple Computer, Inc.        | "All opinions expressed are mine, and
  1760. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  1761. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  1762.  
  1763. ---------------------------
  1764.  
  1765. >From mneylon@engin.umich.edu (Michael K. Neylon)
  1766. Subject: How to "rubber bands"?
  1767. Date: Thu, 06 Jul 1995 11:41:49 GMT
  1768. Organization: University of Michigan
  1769.  
  1770. Does there exist any Toolbox calls to draw the animated dash line that
  1771. appears when one does a "rubber band" selection (ie dragging a
  1772. rectangle on the Finder to select multiple items).  I only need to do
  1773. this for a rectangular region, although I suspect that this does not
  1774. matter.
  1775.  
  1776. TIA...
  1777.  
  1778.   Michael K. Neylon, Graduate Student           | "It was a dark and stormy
  1779.   Dept. of ChE, Univ. of Michigan               |   night...I had just 
  1780.   mneylon@engin.umich.edu                       |   taken a creative 
  1781.   http://www.engin.umich.edu/~mneylon           |   writing course..." MST3K
  1782.  
  1783.  
  1784. +++++++++++++++++++++++++++
  1785.  
  1786. >From kagnor@ffg.com (Katy Agnor)
  1787. Date: Thu, 6 Jul 1995 13:53:02 GMT
  1788. Organization: The ForeFront Group
  1789.  
  1790. In article <3tgi63$66j@srvr1.engin.umich.edu>, mneylon@engin.umich.edu
  1791. (Michael K. Neylon) wrote:
  1792.  
  1793. > Does there exist any Toolbox calls to draw the animated dash line that
  1794. > appears when one does a "rubber band" selection (ie dragging a
  1795. > rectangle on the Finder to select multiple items).  I only need to do
  1796. > this for a rectangular region, although I suspect that this does not
  1797. > matter.
  1798. > TIA...
  1799. >   Michael K. Neylon, Graduate Student           | "It was a dark and stormy
  1800. >   Dept. of ChE, Univ. of Michigan               |   night...I had just 
  1801. >   mneylon@engin.umich.edu                       |   taken a creative 
  1802. >   http://www.engin.umich.edu/~mneylon           |   writing course..." MST3K
  1803.  
  1804. There is no one-liner in the Toolbox to do this, but here's some code that
  1805. does it just fine.  It even handles dragging the mouse in any direction
  1806. (ooooh - ahh).  Anyway, its trivial code... enjoy!
  1807.  
  1808. Katy
  1809.  
  1810. Rect RubberBandIt(Point anchorPt)
  1811. {
  1812.    Point curMousePt;
  1813.    Rect  rubberRect;
  1814.  
  1815.    curMousePt.h = 0;
  1816.    curMousePt.v = 0;
  1817.    
  1818.    PenMode(srcXor);                       /* Set pen mode to exclusive or.*/
  1819.    PenPat(&qd.gray);
  1820.  
  1821.    GetMouse(&curMousePt);                    /* Get current mouse pos.     */
  1822.  
  1823.    rubberRect.top = anchorPt.v;              /* Draw initial rectangle.    */
  1824.    rubberRect.left = anchorPt.h;
  1825.    rubberRect.bottom = curMousePt.v;
  1826.    rubberRect.right = curMousePt.h;
  1827.    DrawStuff(&rubberRect);
  1828.  
  1829.    while (Button())
  1830.    {
  1831.       GetMouse(&curMousePt);                 /* Get current mouse pos
  1832.  
  1833.       if (curMousePt.h != rubberRect.right ||      /* If mouse
  1834. moved
  1835.          curMousePt.v != rubberRect.bottom)
  1836.       {
  1837.          DrawStuff(&rubberRect);             /* Erase old
  1838.          rubberRect.bottom = curMousePt.v;
  1839.          rubberRect.right = curMousePt.h;
  1840.          DrawStuff(&rubberRect);             /* and draw new.           */
  1841.       }
  1842.    }
  1843.    
  1844.    DrawStuff(&rubberRect);                   // Erase old at end.       */
  1845.    CheckRect(&rubberRect);
  1846.  
  1847.    PenMode(srcCopy);
  1848.    PenPat(&qd.black);
  1849.  
  1850.    return(rubberRect);
  1851. }
  1852.  
  1853. void DrawStuff(rubberRect)
  1854. Rect  *rubberRect;
  1855. {
  1856.    Rect  curRect;
  1857.    
  1858.    curRect = *rubberRect;
  1859.    FrameRect(CheckRect(&curRect));
  1860. }
  1861.  
  1862.  
  1863. Rect *CheckRect(theRect)
  1864. Rect  *theRect;
  1865. {
  1866.    short temp;
  1867.  
  1868.    if (theRect->top > theRect->bottom)    /* Need to reverse top and bottom? */
  1869.    {
  1870.       temp = theRect->top;
  1871.       theRect->top = theRect->bottom;
  1872.       theRect->bottom = temp;
  1873.    }
  1874.  
  1875.    if (theRect->left > theRect->right)    /* Need to reverse left and right? */
  1876.    {
  1877.       temp = theRect->left;
  1878.       theRect->left = theRect->right;
  1879.       theRect->right = temp;
  1880.    }
  1881.    
  1882.    return theRect;                     /* This makes nested calls easier.  */
  1883. }
  1884.  
  1885. /---------------------------------------------------------/
  1886. Katy Agnor                     e-mail: kagnor@ffg.com
  1887. The ForeFront Group, Inc.      www:    http://www.ffg.com/
  1888. /---------------------------------------------------------/
  1889.  
  1890. +++++++++++++++++++++++++++
  1891.  
  1892. >From jordanz@altura.com (Jordan Zimmerman)
  1893. Date: Sun, 09 Jul 1995 16:49:37 -0800
  1894. Organization: Altura Software, Inc.
  1895.  
  1896. > There is no one-liner in the Toolbox to do this, but here's some code that
  1897. > does it just fine.  It even handles dragging the mouse in any direction
  1898. > (ooooh - ahh).  Anyway, its trivial code... enjoy!
  1899. [code snipped]
  1900.  
  1901. However, if you want your rubber band selection rects to look like the
  1902. Finder, you'll have to do some more work.  The previously posted code
  1903. works well for most situations; however, it causes some annoying flashing
  1904. of areas that don't change as you move the mouse.  If you look at the
  1905. Finder (use Macsbug's SS 0), you'll notice it only redraws areas that need
  1906. to be redrawn.
  1907.  
  1908. If there's demand, I'll gladly post some code that does a Finder style
  1909. rubber band selection.
  1910.  
  1911. -- 
  1912. Jordan Zimmerman, Altura Software
  1913. home page: http://www.altura.com/jordanz/home.html
  1914. Who is John Galt?
  1915.  
  1916. +++++++++++++++++++++++++++
  1917.  
  1918. >From jordanz@altura.com (Jordan Zimmerman)
  1919. Date: 11 Jul 1995 23:14:12 GMT
  1920. Organization: Altura Software, Inc.
  1921.  
  1922. > > If there's demand, I'll gladly post some code that does a Finder style
  1923. > > rubber band selection.
  1924. > > 
  1925. > Post it! Post it! (or atleast e-mail me a copy :-) )
  1926.  
  1927. It's posted to AOL, alt.sources.mac, and InfoMac.  It's called Finder
  1928. Marquee Rects or something like that.
  1929.  
  1930. -- 
  1931. Jordan Zimmerman, Altura Software
  1932. home page: http://www.altura.com/jordanz/home.html
  1933. Who is John Galt?
  1934.  
  1935. ---------------------------
  1936.  
  1937. >From rmeadows@aol.com (Rmeadows)
  1938. Subject: How to use TSM floating windows?
  1939. Date: 7 Jul 1995 10:57:44 -0400
  1940. Organization: America Online, Inc. (1-800-827-6364)
  1941.  
  1942. I'm trying to use the Text Services Manager (TSM) to use floating windows
  1943. (as described in IM:Text 7-79).  My application has the TSM and HLE bits
  1944. set, and I call InitTSMAwareApplication().  The window comes up in the
  1945. floating layer, but that's the end of the expected "normal" behavior.  I
  1946. have to do a HiliteWindow() to get the drag region drawn correctly
  1947. (SelectWindow() doesn't do it);  I get no update events at all (or any
  1948. other events for that matter) destined for the floating window.
  1949.  
  1950. I'm using WaitNextEvent() in my event loop, and use FindServiceWindow() to
  1951. catch mouseDown events in the floater (and it works) but it's kind of hard
  1952. to tell where to click when the window never gets drawn ('cause no update
  1953. events ever got there).  (I'm running 7.5.1 on a PPC 6100.)
  1954.  
  1955. I want to use this floater as a tool palette, not as a text input method; 
  1956. so I pass "kCurrentProcess" as the "ts" parameter to NewServiceWindow() as
  1957. documented in IM.
  1958.  
  1959. Is there something that I'm missing here?  Is there something missing in
  1960. the IM documentation?
  1961.  
  1962. PLEASE PLEASE cc: a copy of your reply to "meadowsr@fgm.com", as I 
  1963. don't have a news feed, and have to check news via AOL.  THANKS!
  1964.  
  1965. Thanks in advance!
  1966. Randall Meadows
  1967. FGM, Inc.
  1968. meadowsr@fgm.com
  1969.  
  1970. +++++++++++++++++++++++++++
  1971.  
  1972. >From Matt Slot <fprefect@umich.edu>
  1973. Date: 8 Jul 1995 05:54:22 GMT
  1974. Organization: University of Michigan
  1975.  
  1976. Rmeadows, rmeadows@aol.com writes:
  1977.  > I'm trying to use the Text Services Manager (TSM) to use floating windows
  1978.  > (as described in IM:Text 7-79).  My application has the TSM and HLE bits
  1979.  > set, and I call InitTSMAwareApplication().  The window comes up in the
  1980.  > floating layer, but that's the end of the expected "normal" behavior.  I
  1981.  > have to do a HiliteWindow() to get the drag region drawn correctly
  1982.  > (SelectWindow() doesn't do it);  I get no update events at all (or any
  1983.  > other events for that matter) destined for the floating window.
  1984.  > ...
  1985.  > Is there something that I'm missing here?  Is there something missing in
  1986.  > the IM documentation?
  1987.  
  1988. The IM documentation neglects to tell you how to get events, such as
  1989. clicks, keydowns, and updates for the TSM window. This is the *perfect*
  1990. opportunity for me to point out my "Appe Windows" source... a demo program
  1991. that creates and manages a TSM Floater.
  1992.  
  1993. To get the source, you can FTP it from Mac-Archives or Sumex mirrors...
  1994. or send me Email at fprefect@umich.edu
  1995.  
  1996. Matt
  1997.  
  1998. +++++++++++++++++++++++++++
  1999.  
  2000. >From Dirk.Dierckx@ping.be (Dirk Dierckx)
  2001. Date: Sat, 08 Jul 1995 17:02:35 +0200
  2002. Organization: H20 Systems
  2003.  
  2004. In article <3tji18$nmp@newsbf02.news.aol.com>,
  2005. rmeadows@aol.com (Rmeadows) wrote:
  2006.  
  2007. >I'm using WaitNextEvent() in my event loop, and use FindServiceWindow() to
  2008. >catch mouseDown events in the floater (and it works) but it's kind of hard
  2009. >to tell where to click when the window never gets drawn ('cause no update
  2010. >events ever got there).  (I'm running 7.5.1 on a PPC 6100.)
  2011.  
  2012. You don't get update events for TSM windows.  The easiest way to check if a
  2013. floater needs an update is to check its updateRgn everytime you go through
  2014. your eventloop. 
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020. +++++++++++++++++++++++++++
  2021.  
  2022. >From rmeadows@aol.com (Rmeadows)
  2023. Date: 10 Jul 1995 10:02:33 -0400
  2024. Organization: America Online, Inc. (1-800-827-6364)
  2025.  
  2026. >You don't get update events for TSM windows.  The easiest way to check 
  2027. >if a floater needs an update is to check its updateRgn everytime you go 
  2028. >through your eventloop. 
  2029.  
  2030. Is this documented anywhere (like in IM, or a tech note)?  Perhaps there's
  2031. more "tricks" I need to find out about this?
  2032.  
  2033. +++++++++++++++++++++++++++
  2034.  
  2035. >From Dirk.Dierckx@ping.be (Dirk Dierckx)
  2036. Date: Tue, 11 Jul 1995 18:49:41 +0200
  2037. Organization: H20 Systems
  2038.  
  2039. In article <3trbtp$p3c@newsbf02.news.aol.com>,
  2040. rmeadows@aol.com (Rmeadows) wrote:
  2041.  
  2042. >>You don't get update events for TSM windows.  The easiest way to check 
  2043. >>if a floater needs an update is to check its updateRgn everytime you go 
  2044. >>through your eventloop. 
  2045. >
  2046. >Is this documented anywhere (like in IM, or a tech note)?  Perhaps there's
  2047. >more "tricks" I need to find out about this?
  2048.  
  2049. I don't know if it's documented by Apple but it's fully explained in an
  2050. application named "AppeWin" or something like that.  As Matt Slot has
  2051. pointed out in his reply.  You can find it on Info-Mac somewhere in the
  2052. "dev" directory.  You'll also need the TSMFix INIT that comes with AppeWin
  2053. because there is a bug in the TSM that sometimes bypasses the jGNEFilters
  2054. when there is an event.  Resulting in lost clicks/keys.
  2055.  
  2056.  
  2057.  
  2058.  
  2059. ---------------------------
  2060.  
  2061. >From dwilliss@tnt (Dave Williss)
  2062. Subject: Standalone Code Resources
  2063. Date: 10 Jul 1995 14:14:49 GMT
  2064. Organization: MicroImages, Inc.
  2065.  
  2066. I'm having a problem creating a standalone code resource to be used
  2067. as part of an install script (Using the Install SDK).
  2068.  
  2069. My problem is global data.  I can't seem to figure out how to set
  2070. it up.  There is some confusion as to whether I should be trying to
  2071. set A4 or setup an "A5 World".  
  2072.  
  2073. I found reference to a Technote #256 that should tell about setting
  2074. up an A5 world, but on the Developer CD I have, the technotes are
  2075. not numbered that way.  
  2076.  
  2077. I have followed what instructions I have found for setting up an A5
  2078. world, but now when I link (MPW linker), I get an error that says
  2079.  
  2080.         "Data to Code reference not supported (No Jump Table)"
  2081.  
  2082. or something like that.  Any idea what this means and how to solve it?
  2083. I've tracked it down to trying to preinitialize a global structure 
  2084. with pointers to functions.  I tried temporarly not initializing the
  2085. structure and the link error just moved from my module to Runtime.o.
  2086.  
  2087. I assume there is just something I have to call when setting up my 
  2088. A5 world which will resolve these things, but I don't know what.
  2089.  
  2090. --
  2091. David C. Williss                            #include <standard.disclaimer>
  2092. Software Engineer -- MicroImages, Inc.          dwilliss@microimages.com
  2093. WWW: http://tnt.microimages.com/~dwilliss       dwilliss@csealumni.unl.edu
  2094. -- PGP Public Key available via finger from: dwilliss@csealumni.unl.edu --
  2095.  
  2096. +++++++++++++++++++++++++++
  2097.  
  2098. >From pandhphot@aol.com (PandH Phot)
  2099. Date: 10 Jul 1995 17:33:39 -0400
  2100. Organization: America Online, Inc. (1-800-827-6364)
  2101.  
  2102. Assuming you're using TC or CW, both provide macros for setting up and
  2103. breaking down *A4*, which will stand in for A5 in your Code Resource.
  2104. Basically, you just bracket any routine which acts as an entry point in
  2105. the code with the following (assuming CW is your environment):
  2106.  
  2107. At the start of the routine
  2108. long oldA4;
  2109. oldA4 = SetCurrentA4();
  2110.  
  2111. At the end of the routine
  2112. (void)SetA4(oldA4);
  2113.  
  2114. These are functionally equivalent to the Toolbox's A5 routines of the same
  2115. name, but act on A4 instead.
  2116.  
  2117. Happy coding!
  2118. Paul
  2119.  
  2120. ---------------------------
  2121.  
  2122. >From apm3g@darwin.clas.Virginia.EDU (andrew meggs)
  2123. Subject: Which sndCommands are safe at interrupt time?
  2124. Date: Sat, 24 Jun 1995 20:54:13 GMT
  2125. Organization: University of Virginia
  2126.  
  2127.  
  2128. My life would be much happier if I could call SndDoCommand from
  2129. a Sound callback to tell a sound channel what to do next. The problem
  2130. is, IM-Sound offers the incredibly useless advice that "MOST of
  2131. the available sound commands do not cause SndDoCommand to move
  2132. memory and can therefore be issued at interrupt time."
  2133.  
  2134. I have a deep suspicion that bufferCmd might not fall under the
  2135. category of "most", since they talk about using soundCmd before
  2136. interrupt time to preconfigure the channel. Can anyone confirm or
  2137. deny this?
  2138.  
  2139. I also want to use waitCmd and callbackCmd, but I'm less concerned
  2140. about those than I am about bufferCmd.
  2141.  
  2142. --
  2143. andrew meggs
  2144. meggs@virginia.edu
  2145.  
  2146. +++++++++++++++++++++++++++
  2147.  
  2148. >From rjacks@austlcm.sps.mot.com (rodney jacks/vlk9)
  2149. Date: Mon, 26 Jun 1995 15:43:42 GMT
  2150. Organization: Motorola Inc., Austin, Texas
  2151.  
  2152. In article <DAp3ED.H2z@murdoch.acc.virginia.edu>,
  2153. andrew meggs <apm3g@darwin.clas.Virginia.EDU> wrote:
  2154. >
  2155. >My life would be much happier if I could call SndDoCommand from
  2156. >a Sound callback to tell a sound channel what to do next. The problem
  2157. >is, IM-Sound offers the incredibly useless advice that "MOST of
  2158. >the available sound commands do not cause SndDoCommand to move
  2159. >memory and can therefore be issued at interrupt time."
  2160. >
  2161. >I have a deep suspicion that bufferCmd might not fall under the
  2162. >category of "most", since they talk about using soundCmd before
  2163. >interrupt time to preconfigure the channel. Can anyone confirm or
  2164. >deny this?
  2165. >
  2166. >I also want to use waitCmd and callbackCmd, but I'm less concerned
  2167. >about those than I am about bufferCmd.
  2168.  
  2169. My game, Jewelbox issues bufferCmds during a sound callback proc.
  2170. It's been out now for 3+ years and no one has ever reported a
  2171. problem with the game playing background music.  It even works
  2172. on the latest PowerMac's and Mac Application Environment (MAE).
  2173.  
  2174. Cheers,
  2175. Rodney
  2176. -- 
  2177. Rodney (rjacks@austlcm.sps.mot.com)
  2178.  
  2179. +++++++++++++++++++++++++++
  2180.  
  2181. >From h+@metrowerks.com (Jon W{tte)
  2182. Date: Mon, 26 Jun 1995 19:01:18 -0500
  2183. Organization: Random
  2184.  
  2185.  
  2186. In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2187. apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2188.  
  2189. > I have a deep suspicion that bufferCmd might not fall under the
  2190. > category of "most", since they talk about using soundCmd before
  2191. > interrupt time to preconfigure the channel. Can anyone confirm or
  2192. > deny this?
  2193.  
  2194. A bufferCmd to play a buffer in a channel whose callback you're servicing
  2195. is always guaranteed to work. In fact; that's how QuickTime does it. I have
  2196. this directly from Jim Reeks, who wrote the Sound Manager, and he should
  2197. know :-)
  2198.  
  2199. Cheers,
  2200.  
  2201.                                 / h+
  2202.  
  2203.  
  2204. --
  2205.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  2206.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  2207.  Pre-release reports due       3/1/95
  2208.              -- Quote from unnamed product status report
  2209.  
  2210.  
  2211. +++++++++++++++++++++++++++
  2212.  
  2213. >From sistest@ictp.trieste.it (Daniele Terdina)
  2214. Date: 28 Jun 1995 18:44:16 GMT
  2215. Organization: ICTP-Trieste-Italy
  2216.  
  2217. In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2218. apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2219.  
  2220. > My life would be much happier if I could call SndDoCommand from
  2221. > a Sound callback to tell a sound channel what to do next. The problem
  2222. > is, IM-Sound offers the incredibly useless advice that "MOST of
  2223. > the available sound commands do not cause SndDoCommand to move
  2224. > memory and can therefore be issued at interrupt time."
  2225. > I have a deep suspicion that bufferCmd might not fall under the
  2226. > category of "most", since they talk about using soundCmd before
  2227. > interrupt time to preconfigure the channel. Can anyone confirm or
  2228. > deny this?
  2229.  
  2230. I don't know if it can be done (officially), however I use bufferCmd in
  2231. the sound callback routine and I've never had any problems.
  2232.  
  2233. -- 
  2234. Daniele Terdina                   e-mail: sistest@ictp.trieste.it
  2235.  
  2236. +++++++++++++++++++++++++++
  2237.  
  2238. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  2239. Date: Thu, 06 Jul 1995 12:48:51 -0700
  2240. Organization: Apple Computer, Inc.
  2241.  
  2242. In article <sistest-2806952045590001@mac-44.ictp.trieste.it>,
  2243. sistest@ictp.trieste.it (Daniele Terdina) wrote:
  2244.  
  2245. > In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2246. > apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2247. > > My life would be much happier if I could call SndDoCommand from
  2248. > > a Sound callback to tell a sound channel what to do next. The problem
  2249. > > is, IM-Sound offers the incredibly useless advice that "MOST of
  2250. > > the available sound commands do not cause SndDoCommand to move
  2251. > > memory and can therefore be issued at interrupt time."
  2252. > > 
  2253. > > I have a deep suspicion that bufferCmd might not fall under the
  2254. > > category of "most", since they talk about using soundCmd before
  2255. > > interrupt time to preconfigure the channel. Can anyone confirm or
  2256. > > deny this?
  2257. > I don't know if it can be done (officially), however I use bufferCmd in
  2258. > the sound callback routine and I've never had any problems.
  2259.  
  2260. You can use the bufferCmd (which is the same as soundCmd) as long as you
  2261. do not change the format of the sound being played. For example, you are
  2262. playing a non-compressed sound. During the CallBackProc() you cannot then
  2263. play a compressed sound because it would attempt to load a decompressor
  2264. into memory. This is also true when switching between 8 and 16 bit data.
  2265.  
  2266. -- 
  2267. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  2268.                             |        Sound Manager Expert
  2269. Apple Computer, Inc.        | "All opinions expressed are mine, and
  2270. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  2271. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  2272.  
  2273. ---------------------------
  2274.  
  2275. >From alain@cs.uchicago.edu (Alain Roy)
  2276. Subject: Why fuss over OpenDoc?
  2277. Date: Sun, 25 Jun 1995 17:56:23 GMT
  2278. Organization: None
  2279.  
  2280. Recently, while on vacataion, I had time to do some catch up reading. I
  2281. read a little about OpenDoc. 
  2282.  
  2283. I can understand why OpenDoc is cool--for people that wish to create
  2284. compound documents. It seems like a neat concept.
  2285.  
  2286. However, I'm a programmer and a student. I rarely create compound
  2287. documents. Once in a while, I'll write a paper with a single graphic in
  2288. it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2289. edit a program's source files. I post occaisonally to the net. I write
  2290. some email. None of these things seems to me to benefit from having the
  2291. ability to edit compound documents.
  2292.  
  2293. People seem to be getting very excited about OpenDoc. Could someone
  2294. explain to a person like me (who doesn't create complicated documents with
  2295. charts and pictures) what there is to get excited about OpenDoc? I have a
  2296. feeling that there is something, but I'm not sure what.
  2297.  
  2298. This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2299.  
  2300. -alain
  2301.  
  2302. +++++++++++++++++++++++++++
  2303.  
  2304. >From jim@melongem.com (Jim Lloyd)
  2305. Date: Sun, 25 Jun 1995 12:49:53 -0700
  2306. Organization: MelonGem Productions
  2307.  
  2308. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2309. alain@cs.uchicago.edu (Alain Roy) wrote:
  2310.  
  2311. >Recently, while on vacataion, I had time to do some catch up reading. I
  2312. >read a little about OpenDoc. 
  2313. >
  2314. >I can understand why OpenDoc is cool--for people that wish to create
  2315. >compound documents. It seems like a neat concept.
  2316. >
  2317. >However, I'm a programmer and a student. I rarely create compound
  2318. >documents. Once in a while, I'll write a paper with a single graphic in
  2319. >it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2320. >edit a program's source files. I post occaisonally to the net. I write
  2321. >some email. None of these things seems to me to benefit from having the
  2322. >ability to edit compound documents.
  2323. >
  2324. >People seem to be getting very excited about OpenDoc. Could someone
  2325. >explain to a person like me (who doesn't create complicated documents with
  2326. >charts and pictures) what there is to get excited about OpenDoc? I have a
  2327. >feeling that there is something, but I'm not sure what.
  2328. >
  2329. >This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2330.  
  2331. There are (at least) two possible directions for answers to take:
  2332.  
  2333. 1) You don't use compound documents very much right now because it's too
  2334. difficult to do so.  If it was made simple and natural, you'd find
  2335. yourself using compound documents much more often.
  2336.  
  2337. 2) Thinking of OpenDoc as exclusively a compound document architecture is
  2338. a mistake.  OpenDoc provides a mechanism for creating custom applications
  2339. from off-the-shelf components.  Think of OpenDoc as a more of a Hypercard
  2340. or Visual Basic done right.  Even this viewpoint is somewhat limiting, I
  2341. expect, but it's in the right direction.
  2342.  
  2343. OpenDoc is a paradigm shift.  It takes a while to fully appreciate what it
  2344. can do. I don't claim I've finished making the shift myself, but I've gone
  2345. far enough that I can see that many applications that originally didn't
  2346. seem appropriate for OpenDoc actually are well-suited when looked at from
  2347. the right angle.
  2348.  
  2349. Let me provide just one example.  To me, the term "compound document"
  2350. somehow makes me want to think of the final printed output.  Compound
  2351. documents are created, and then distributed in some static form, most
  2352. likely on paper.  Perhaps I'm the only person who reads this connotation
  2353. into the term "compound document", but I expect the opposite is true: most
  2354. people think of compound documents as being relatively static entities.
  2355.  
  2356. OpenDoc documents are living documents.  Each component in the document
  2357. can be interactive, not just for the creator of the document, but for all
  2358. recipients of the document as well.
  2359.  
  2360. Here's an idea for a suite of OpenDoc components (parts) that I'm starting
  2361. to work on.  I don't mind giving away this idea, since I expect I may
  2362. never have time to do it right (but I would appreciate it if anyone who
  2363. tries to do this would notify me).  The idea is inspired by the book
  2364. "Design Patterns, Elements of Reusable Object-Oriented Software", by E.
  2365. Gamma, R. Helm, R. Johnson, and J. Vlissides (highly recommended!).
  2366.  
  2367. In this book, a couple dozen "design patterns" are documented in a
  2368. consistent manner.  A chapter is devoted to each pattern.  Each chapter is
  2369. structured the same way, with a standard layout of sections, diagrams,
  2370. etc.  The layout for describing design patterns has been adopted by a
  2371. growing community of computer scientists and engineers for cataloging
  2372. design patterns.
  2373.  
  2374. My idea is to create three component editors for each of the three diagram
  2375. notations that occur in the book (Class Diagram Notation, Object Diagram
  2376. Notation, and Interaction Diagram Notation).  A fourth component editor is
  2377. required: a styled text editor that supports embedding, though I assume I
  2378. won't need to create this component editor, somebody else will do that for
  2379. me, allowing me to focus on the diagram editors.
  2380.  
  2381. Now, if I simply created each of the three diagram editors, anyone who
  2382. wanted to document a new design pattern could simply open a stationery
  2383. document that I would provide, and start documenting.  This would be
  2384. useful by itself.  However, this results in a static compound document. 
  2385. The pattern documentor creates a document, and then distributes it. 
  2386. Recipients of the document might as well just recieve a printed copy,
  2387. since the only thing they might do with the document is correct typos, add
  2388. notes, etc.
  2389.  
  2390. However, suppose each of the diagram editors could use the Open Scripting
  2391. Architecture (OSA) to communicate with an application (or OpenDoc
  2392. component) like Object Master.  If a design pattern document were shipped
  2393. with the Object Master project for the sample code shown in the pattern,
  2394. then recipients of the pattern document could use it as a browser to
  2395. further explore the sample code.
  2396.  
  2397. I am currently working on the OpenDoc Development Framework (ODF), a
  2398. cross-platform C++ framework for OpenDoc.  There are numerous design
  2399. patterns that occur in ODF.  It would be really cool if each one was
  2400. documented in the style described by the book Design Patterns.  If each
  2401. pattern was included in our printed documentation, it would be a valuable
  2402. addition to our documentation suite.  But if each pattern document was
  2403. shipped on the CD along with Object Master projects for all of ODF, it
  2404. would provide an ideal way to explore and learn ODF.
  2405.  
  2406. - ---------------------------------------------------------------------
  2407. Jim Lloyd                                              jim@melongem.com
  2408. Software Consultant                                     v. 415-964-8500
  2409. MelonGem Productions                                    f. 415-964-6888
  2410.                  "At our convenience, at your expense."
  2411.  
  2412. +++++++++++++++++++++++++++
  2413.  
  2414. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  2415. Date: Sun, 25 Jun 1995 16:47:48 -0800
  2416. Organization: In Phase Consulting
  2417.  
  2418. alain@cs.uchicago.edu (Alain Roy) wrote:
  2419.  
  2420. > This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2421.  
  2422. OpenDoc's purpose is to allow the editing of compound documents.
  2423. That's it.
  2424.  
  2425. The point about OpenDoc is that it is a new programming and user
  2426. interface paradigm which is ideally suited to the editing of
  2427. documents.
  2428.  
  2429. OpenDoc does not address task-oriented issues (such as reading your
  2430. on-line mail--though I suppose someone will create a mailer OpenDoc
  2431. part), nor does it address 'filter' tasks (tasks which involve the
  2432. conversion of input data--say some C source--to output data--say, an
  2433. executable program). However, OpenDoc does not make any effort
  2434. to address these issues; for such things Apple has in mind preserving
  2435. the windowing paradigm. (Though the possibility exists that if
  2436. OpenDoc catches on big time, a lot of pressure will exist to
  2437. convert even task-oriented programs into OpenDoc parts.)
  2438.  
  2439. Personally I don't think OpenDoc is going to catch on in the
  2440. way that Apple hopes. Apple has in mind that OpenDoc is the
  2441. technological "Microsoft Killer"--that is, they have in mind that
  2442. a hundred little developers developing a hundred little parts
  2443. will pick Microsoft's monolithic monopoly on office software
  2444. (Microsoft Word, Excel, and other packages) to pieces.
  2445.  
  2446. Frankly, I don't think that is going to happen. Why? Three reasons.
  2447. First, people buy *solutions*, not individual software packages.
  2448. And they like to buy all the solutions pre-bundled in one place.
  2449. (If that weren't the case, why then is Microsoft Office such
  2450. a success?) The idea that a hundred little developers will pick
  2451. Microsoft's market apart is absurd--people for the most part are
  2452. not going to go out and buy a container part here, a graph
  2453. part there, a spread sheet calculator engine over yonder. They
  2454. are going to buy a single solution--a single package, maintained
  2455. by a single developer house, in a single box. So OpenDoc may serve 
  2456. as the API gluing Microsoft Office v6 together; so what?
  2457.  
  2458. Second, the economic reality of the software market dictates that
  2459. only a Microsoft is going to command the resources to advertise,
  2460. get shelf space, and provide a distribution channel to sell a lot
  2461. of software. That's why Microsoft is so successful--because Bill
  2462. Gates has put a lot of time, money, and effort into building
  2463. the resources necessary for the advertisements, shelf space, and
  2464. distribution channels.
  2465.  
  2466. So Microsoft will subcontract even more of it's development
  2467. efforts out--so what? Yeah, there are going to be a hundred little
  2468. independant contractors building a hundred little OpenDoc parts;
  2469. they all will just subcontract for Microsoft. And Novell. And
  2470. Apple.
  2471.  
  2472. In fact, the economic reality dictates that as more and more
  2473. pressure is put on the software development fields by accelerated
  2474. technological advances, and by the drive to get even more software
  2475. for less money will force large companies like Microsoft,
  2476. Apple, Novel and the rest to subcontract more and more of their
  2477. work out to independant developers. OpenDoc will help accelerate
  2478. this process by providing a unified API for developing the
  2479. components of the software.
  2480.  
  2481. But the software on the shelf is still going to have "Microsoft"
  2482. written all over it.
  2483.  
  2484. The third reason why I don't think OpenDoc is going to catch
  2485. on is that the market it addresses is so dominated by the
  2486. Microsofts of the world that independant developers are not going
  2487. to risk losing their shirt in that field, anyways.
  2488.  
  2489. Look at me--I do games. I have done a CAD-style editor, but for
  2490. the acoustical market. I make my living working for the vertical
  2491. markets too small for the Microsofts of the world to make a go
  2492. at. Granted, my CAD editor engine is as fine as I have seen
  2493. in any commercial CAD package, there is no way in hell I'm going
  2494. to pitch the engine up against AutoDesk's AutoCAD. Not because
  2495. I couldn't compete technically; I just couldn't compete market-wise.
  2496.  
  2497. Do you think I'm going to risk a pretty good living trying to
  2498. take on Microsoft? Get real. If Microsoft approaches me and says
  2499. "Bill, we need you to develop a new graphing widget for OpenDoc
  2500. for the Macintosh and for Windows which can draw cool 3D
  2501. bar graphs and allow you to fly through them", then yes, I'll
  2502. produce the tool. And I'll produce a damned fine tool, and
  2503. I'll be happy when I know that my fine tool appeared in Microsoft's
  2504. Office product.
  2505.  
  2506. But do you think I'm going to develop the tool on my own and try
  2507. to sell it in today's market (with the big players hiring
  2508. BBD&O to do their television ads)? Are you crazy?
  2509.  
  2510. I *like* putting food on my table.
  2511.  
  2512.  
  2513. The upshot of this is that OpenDoc, while a wonderful new programming
  2514. and user interface paradigm, probably won't affect many of us
  2515. on the net. Unless we really do put together complex, compound
  2516. documents for a living.
  2517.  
  2518.                                                 - Bill
  2519.  
  2520. I'm really not this pessimistic, really I'm not! I'm actually a
  2521. pretty nice person once you get to know me.
  2522.  
  2523. -- 
  2524. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  2525. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  2526. 337 W. California #4  |  Fax:    (818) 502-1467
  2527. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  2528.  
  2529. +++++++++++++++++++++++++++
  2530.  
  2531. >From nagle@netcom.com (John Nagle)
  2532. Date: Mon, 26 Jun 1995 03:15:46 GMT
  2533. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  2534.  
  2535. woody@alumni.cco.caltech.edu (William Edward Woody) writes:
  2536. >alain@cs.uchicago.edu (Alain Roy) wrote:
  2537. >> This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2538.  
  2539. >OpenDoc's purpose is to allow the editing of compound documents.
  2540. >That's it.
  2541. ...
  2542. >Personally I don't think OpenDoc is going to catch on in the
  2543. >way that Apple hopes. ...
  2544.  
  2545. >Frankly, I don't think that is going to happen. ...
  2546.  
  2547.      There's an active market in Visual Basic buttons (now called
  2548. OLE Controls).  That, in fact, is the only software "parts" area that
  2549. has developed into a real market.  OpenDoc is supposed to create
  2550. a comparable market in the Mac world.
  2551.  
  2552.      Unfortunately for Apple, the reason there's a market for OLE Controls
  2553. is because people use them to build business applications.  These aren't
  2554. typically oriented towards compound documents; they're usually application
  2555. specific front ends to databases accessed via SQL or a similar mechanism.
  2556. (After all, the primary visual object in the Visual Basic world is the
  2557. "form").  So the additional power of OpenDoc over OLE may not be that valuable.
  2558. Macs aren't a major platform for semi-custom business applications anyway.
  2559.  
  2560.     Remember Publish and Subscribe?  We have limited compound document 
  2561. capability now, and nobody uses it.  Nor has there been any visible 
  2562. demand for extensions to it from the user community.
  2563.  
  2564.     As a final nail in the coffin, the usual suggestion for "compound
  2565. documents" involves tying together spreadsheets and word processor documents.
  2566. And who makes the leading spreadsheet and the leading word processor for
  2567. the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  2568.      
  2569.                                         John Nagle
  2570.  
  2571. +++++++++++++++++++++++++++
  2572.  
  2573. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  2574. Date: Mon, 26 Jun 1995 15:12:04 GMT
  2575. Organization: BSD -- Academic Computing
  2576.  
  2577. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2578. alain@cs.uchicago.edu (Alain Roy) wrote:
  2579.  
  2580. > Recently, while on vacataion, I had time to do some catch up reading. I
  2581. > read a little about OpenDoc. 
  2582. > I can understand why OpenDoc is cool--for people that wish to create
  2583. > compound documents. It seems like a neat concept.
  2584. > However, I'm a programmer and a student. I rarely create compound
  2585. > documents. Once in a while, I'll write a paper with a single graphic in
  2586. > it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2587. > edit a program's source files. I post occaisonally to the net. I write
  2588. > some email. None of these things seems to me to benefit from having the
  2589. > ability to edit compound documents.
  2590.  
  2591. Say you are a student in biology. And you are writing a paper on say,
  2592. protien folding. And your have a neat OpenDoc Part that does molecular
  2593. graphics. You can include, instead of a series of pictures in your paper,
  2594. a molecular graphic, that can be manipulated in real time. And if DSOM
  2595. ever comes around you could do real time dynamics on Cray, or some other
  2596. big time iron machine so that your reader can read you paper and your
  2597. simulation will be tightly coupled with the words. The idea of to allow
  2598. for new modes of combing data.
  2599.  
  2600. > People seem to be getting very excited about OpenDoc. Could someone
  2601. > explain to a person like me (who doesn't create complicated documents with
  2602. > charts and pictures) what there is to get excited about OpenDoc? I have a
  2603. > feeling that there is something, but I'm not sure what.
  2604.  
  2605. You are allowing yourself to be confined by what can be done today.
  2606. Personally I can think of hundreds of uses of this. By combining things
  2607. that don't normally go together.
  2608.  
  2609. Jer,
  2610.  
  2611. -- 
  2612. Jerome Jahnke
  2613. BSD Academic Computing
  2614. University of Chicago
  2615. j-jahnke@uchicago.edu
  2616.  
  2617. +++++++++++++++++++++++++++
  2618.  
  2619. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  2620. Date: Mon, 26 Jun 1995 15:25:37 GMT
  2621. Organization: BSD -- Academic Computing
  2622.  
  2623. In article <woody-2506951647480001@192.0.2.1>,
  2624. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  2625.  
  2626. > alain@cs.uchicago.edu (Alain Roy) wrote:
  2627. > > This isn't a flame against OpenDoc at all. I just want to understand
  2628. the fuss.
  2629. [ stuff deleted ]
  2630. > The upshot of this is that OpenDoc, while a wonderful new programming
  2631. > and user interface paradigm, probably won't affect many of us
  2632. > on the net. Unless we really do put together complex, compound
  2633. > documents for a living.
  2634.  
  2635. You are missing the point. While OpenDoc is NOT the silver bullet the
  2636. ideas that folks will come up with for parts WILL be. Wether or not it
  2637. will actually be a Microsoft killer remains to be seen. We are currently
  2638. limited by our vision, but it has never been the OS that has sold
  2639. computers (despite what Apple and Microsoft say). It has always been
  2640. applications. Granted the OS is what makes the apps cool. OpenDoc has a
  2641. great deal of potential, but it is also a move away from the target of our
  2642. documents ending up on paper. There are lots of smart folks out there who
  2643. have an idea of what OpenDoc can do, and I am sure in a few years folks
  2644. will wonder how we lived without it (as we do with Windowed Event Driven
  2645. OS's now.)
  2646.  
  2647. Jer,
  2648.  
  2649. -- 
  2650. Jerome Jahnke
  2651. BSD Academic Computing
  2652. University of Chicago
  2653. j-jahnke@uchicago.edu
  2654.  
  2655. +++++++++++++++++++++++++++
  2656.  
  2657. >From jim@melongem.com (Jim Lloyd)
  2658. Date: Mon, 26 Jun 1995 09:13:52 -0700
  2659. Organization: MelonGem Productions
  2660.  
  2661. In article <woody-2506951647480001@192.0.2.1>,
  2662. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  2663.  
  2664. >alain@cs.uchicago.edu (Alain Roy) wrote:
  2665. >
  2666. >> This isn't a flame against OpenDoc at all. I just want to understand
  2667. the fuss.
  2668. >
  2669. >OpenDoc's purpose is to allow the editing of compound documents.
  2670. >That's it.
  2671.  
  2672. No, that's not it.  It's a common misconception, but compound documents
  2673. are only part of the picture, the part easiest to describe and latch onto.
  2674.  
  2675. >The point about OpenDoc is that it is a new programming and user
  2676. >interface paradigm which is ideally suited to the editing of
  2677. >documents.
  2678.  
  2679. OpenDoc provides a mechanism for presenting a componentized
  2680. user-interface.  The interface may have state that is stored in a
  2681. "document".  This will result in "compound documents", but it will also
  2682. result in other kinds of applications.
  2683.  
  2684. >OpenDoc does not address task-oriented issues (such as reading your
  2685. >on-line mail--though I suppose someone will create a mailer OpenDoc
  2686. >part), nor does it address 'filter' tasks (tasks which involve the
  2687. >conversion of input data--say some C source--to output data--say, an
  2688. >executable program). However, OpenDoc does not make any effort
  2689. >to address these issues; for such things Apple has in mind preserving
  2690. >the windowing paradigm.
  2691.  
  2692. OpenDoc itself may not address some of these issues, but it does not
  2693. preclude them.  The same can be said for the "windowing paradigm". 
  2694. Apple's "windowing paradigm" does not addressing filtering, does it?
  2695.  
  2696. >Personally I don't think OpenDoc is going to catch on in the
  2697. >way that Apple hopes. Apple has in mind that OpenDoc is the
  2698. >technological "Microsoft Killer"--that is, they have in mind that
  2699. >a hundred little developers developing a hundred little parts
  2700. >will pick Microsoft's monolithic monopoly on office software
  2701. >(Microsoft Word, Excel, and other packages) to pieces.
  2702.  
  2703. I don't know where you got this picture.  Is there some marketing material
  2704. from Apple that led you to believe this?  It doesn't match my picture of
  2705. what Apple is trying to do at all.
  2706.  
  2707. >Frankly, I don't think that is going to happen. Why? Three reasons.
  2708. >First, people buy *solutions*, not individual software packages.
  2709.  
  2710. Software integrators will be able to take a set of part editors, package
  2711. them together as some stationery, applescripts, etc., and package them
  2712. into a solution, addessed to vertical markets.  Horizontal markets will be
  2713. addressed by developers who develop well-crafted parts for common tasks
  2714. like word processing, graphics, and (surprise!) CAD.
  2715.  
  2716. >Second, the economic reality of the software market dictates that
  2717. >only a Microsoft is going to command the resources to advertise,
  2718. >get shelf space, and provide a distribution channel to sell a lot
  2719. >of software. That's why Microsoft is so successful--because Bill
  2720. >Gates has put a lot of time, money, and effort into building
  2721. >the resources necessary for the advertisements, shelf space, and
  2722. >distribution channels.
  2723.  
  2724. Man, is this a pessimistic point of view!  How long were you in traction
  2725. when the Microsoft steam roller crushed all of the bones in your body?
  2726.  
  2727. Last time I walked into any software store, or flipped through any
  2728. software catalog, Microsoft products were certainly prominent, but they
  2729. had a small percentage of total shelf space or catalog pages.
  2730.  
  2731. >In fact, the economic reality dictates that as more and more
  2732. >pressure is put on the software development fields by accelerated
  2733. >technological advances, and by the drive to get even more software
  2734. >for less money will force large companies like Microsoft,
  2735. >Apple, Novel and the rest to subcontract more and more of their
  2736. >work out to independant developers. OpenDoc will help accelerate
  2737. >this process by providing a unified API for developing the
  2738. >components of the software.
  2739.  
  2740. Aha! I see a ray of hope!
  2741.  
  2742. >But the software on the shelf is still going to have "Microsoft"
  2743. >written all over it.
  2744.  
  2745. Whoops! How long did you say you were in traction?
  2746.  
  2747. >The third reason why I don't think OpenDoc is going to catch
  2748. >on is that the market it addresses is so dominated by the
  2749. >Microsofts of the world that independant developers are not going
  2750. >to risk losing their shirt in that field, anyways.
  2751. >
  2752. >Look at me--I do games. I have done a CAD-style editor, but for
  2753. >the acoustical market. I make my living working for the vertical
  2754. >markets too small for the Microsofts of the world to make a go
  2755. >at. Granted, my CAD editor engine is as fine as I have seen
  2756. >in any commercial CAD package, there is no way in hell I'm going
  2757. >to pitch the engine up against AutoDesk's AutoCAD. Not because
  2758. >I couldn't compete technically; I just couldn't compete market-wise.
  2759.  
  2760. Man, have you missed the boat! If I were you with a CAD editor that was
  2761. "as fine as any commercial CAD package", I'd be seriously looking to turn
  2762. it into a part editor.  Then, any software integrator who needs a CAD
  2763. element might turn to you for that portion of their package.  Here's your
  2764. chance to beat the big market players to a new market.  Sure, Apple or
  2765. Novell (or even Microsoft) might release *your* CAD editor with *their*
  2766. name on the box, but *your* name will still be in the about box, and *you*
  2767. will receive royalties from *their* sales and marketing efforts.  What's
  2768. wrong with that, Mr. Pessimisism?
  2769.  
  2770. >Do you think I'm going to risk a pretty good living trying to
  2771. >take on Microsoft? Get real. If Microsoft approaches me and says
  2772. >"Bill, we need you to develop a new graphing widget for OpenDoc
  2773. >for the Macintosh and for Windows which can draw cool 3D
  2774. >bar graphs and allow you to fly through them", then yes, I'll
  2775. >produce the tool. And I'll produce a damned fine tool, and
  2776. >I'll be happy when I know that my fine tool appeared in Microsoft's
  2777. >Office product.
  2778.  
  2779. Aha! I see the glass is only half empty after all.  Hey Bill, what's the
  2780. chance that Microsoft will ask you to develop a new widget for them, as
  2781. opposed to them asking you to use the widget you've already created? 
  2782. Multiply this now by a factor of one hundred or more to take into account
  2783. the the rest of the world that may have a need for your widget, but
  2784. doesn't have the time or resources to create it on their own.
  2785.  
  2786. >But do you think I'm going to develop the tool on my own and try
  2787. >to sell it in today's market (with the big players hiring
  2788. >BBD&O to do their television ads)? Are you crazy?
  2789.  
  2790. If you already have a CAD engine, converting it to OpenDoc is probably not
  2791. a major effort (take a look at the ODFDraw part example, included with the
  2792. OpenDoc Development Framework).  Then, all you have to do is take the
  2793. effort to appear in the part catalogs that will appear, and send a demo
  2794. version of your part editor to macgifts.  Then, with luck, one of the big
  2795. players will decide to use your part in one of their packages, and you'll
  2796. get a free ride from the BBD&O adds.
  2797.  
  2798. >I'm really not this pessimistic, really I'm not! I'm actually a
  2799. >pretty nice person once you get to know me.
  2800.  
  2801. Glad to hear it!
  2802.  
  2803. -Jim
  2804.  
  2805. - ---------------------------------------------------------------------
  2806. Jim Lloyd                                              jim@melongem.com
  2807. Software Consultant                                     v. 415-964-8500
  2808. MelonGem Productions                                    f. 415-964-6888
  2809.                  "At our convenience, at your expense."
  2810.  
  2811. +++++++++++++++++++++++++++
  2812.  
  2813. >From BrianS@pbcomputing.com (Brian Stern)
  2814. Date: 26 Jun 1995 16:07:57 GMT
  2815. Organization: The University of Texas at Austin, Austin, Texas
  2816.  
  2817. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2818. alain@cs.uchicago.edu (Alain Roy) wrote:
  2819.  
  2820. < Recently, while on vacataion, I had time to do some catch up reading. I
  2821. < read a little about OpenDoc. 
  2822. < I can understand why OpenDoc is cool--for people that wish to create
  2823. < compound documents. It seems like a neat concept.
  2824. < However, I'm a programmer and a student. I rarely create compound
  2825. < documents. Once in a while, I'll write a paper with a single graphic in
  2826. < it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2827. < edit a program's source files. I post occaisonally to the net. I write
  2828. < some email. None of these things seems to me to benefit from having the
  2829. < ability to edit compound documents.
  2830. < People seem to be getting very excited about OpenDoc. Could someone
  2831. < explain to a person like me (who doesn't create complicated documents with
  2832. < charts and pictures) what there is to get excited about OpenDoc? I have a
  2833. < feeling that there is something, but I'm not sure what.
  2834. < This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2835. < -alain
  2836.  
  2837. Imagine being able to have a spell checker part and grammer checker part
  2838. that you can use easily in your newsreader and mailreader apps.  Sheesh,
  2839. just imagine only having to have one spell checker on your machine,
  2840. instead of the three or four many people now have on their machines.
  2841.  
  2842. I think that we may see control panel type parts.  Things that do
  2843. something that you might want to put together in a single container.  I
  2844. think that apple is working on network controls and internet parts that
  2845. you will be able to mix and match.
  2846.  
  2847. ____________________________________________________________________
  2848. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  2849. Toolbox commando and Menu bard.             Will FlushCache for Cash
  2850.  
  2851. +++++++++++++++++++++++++++
  2852.  
  2853. >From alain@cs.uchicago.edu (Alain Roy)
  2854. Date: Mon, 26 Jun 1995 17:04:22 GMT
  2855. Organization: None
  2856.  
  2857. In article <BrianS-2606951105340001@slip-12-4.ots.utexas.edu>,
  2858. BrianS@pbcomputing.com (Brian Stern) wrote:
  2859.  
  2860. >Imagine being able to have a spell checker part and grammer checker part
  2861. >that you can use easily in your newsreader and mailreader apps.  Sheesh,
  2862. >just imagine only having to have one spell checker on your machine,
  2863. >instead of the three or four many people now have on their machines.
  2864.  
  2865. That sounds excellent to me.
  2866.  
  2867. I thought that Apple Events/Applescripting were supposed to provide that
  2868. already. Can you explain how OpenDoc makes it easier to add than just
  2869. sending an AppleEvent? I believe you, I'm just not sure why it's easier,
  2870. or people are more likely to use it.
  2871.  
  2872. -alain
  2873.  
  2874. +++++++++++++++++++++++++++
  2875.  
  2876. >From rshapiro@bbn.com (R Shapiro)
  2877. Date: Mon, 26 Jun 1995 13:26:44 -0400
  2878. Organization: Bolt Beranek & Newman
  2879.  
  2880. In article <jim-2606950913520001@melongem.vip.best.com>, jim@melongem.com
  2881. (Jim Lloyd) wrote:
  2882.  
  2883. >OpenDoc provides a mechanism for presenting a componentized
  2884. >user-interface.  The interface may have state that is stored in a
  2885. >"document".  This will result in "compound documents", but it will also
  2886. >result in other kinds of applications.
  2887.  
  2888.  
  2889. I'm assuming, since we're talking Apple vs MSoft here, that this will be
  2890. cleaner than Ole. Is it? How does it differ functionally?
  2891.  
  2892. -- 
  2893. rs/rshapiro@bbn.com
  2894.  
  2895. +++++++++++++++++++++++++++
  2896.  
  2897. >From Malcolm Pradhan <pradhan@camis.stanford.edu>
  2898. Date: 26 Jun 1995 18:08:53 GMT
  2899. Organization: Section on Medical Informatics, Stanford University
  2900.  
  2901. In article <alain-2506951256230001@hammer.cs.uchicago.edu> Alain Roy,
  2902. alain@cs.uchicago.edu writes:
  2903. > I can understand why OpenDoc is cool--for people that wish to create
  2904. > compound documents. It seems like a neat concept.
  2905.  
  2906. I must agree with Jim Lloyd's OpenDoc vision. When I first saw an
  2907. OpenDoc demo I yawned and thought "ClarisWorks already does this!" and
  2908. wandered off. A few weeks ago I sat through another demo (which was
  2909. mainly motivated by my interest in SOM), and I have completely turned
  2910. around on OpenDoc.
  2911.  
  2912. The demo began with the usual compound document stuff, and it was still
  2913. boring. The really interesting stuff came with the custom solution
  2914. demos, eg. linking a database part with a graph part, and some button
  2915. parts which sent queries to the database part. I suppose this is still
  2916. a compound document but not in the usual interpretation.
  2917.  
  2918. The thing that was really exciting was Claris' virtual controls (?).
  2919. Claris had removed the user interface from their "work" code, in this
  2920. case a drawing program. The user interface communicated to the drawing
  2921. program via a set of semantic events (same as an AppleScript suite), so
  2922. the user interface parts could be changed to create custom solutions.
  2923. First they slotted in a power user interface to their drawing part
  2924. (similar to ClarisDraw), then dragged another user interface part from
  2925. a palette to create a child's drawing package (including animated teddy
  2926. bears, crayons for choosing colors etc). Meanwhile, the underlying
  2927. drawing code remained the same.
  2928.  
  2929. Cyberdog was also an interesting demo, but I found the custom solution
  2930. stuff more useful than better ways to jump around the net. OpenDoc will
  2931. make any tool that allows embedding to be a kind of super Visual Basic.
  2932. If HyperCard is made into a container (which I understand it will), it
  2933. suddenly becomes an amazingly useful tool -- custom code can share the
  2934. screen, have globals, have persistent storage, and parts can be
  2935. scripted.
  2936.  
  2937. Regarding filters, parts can be faceless (although the standards for
  2938. this are still being sorted out). This means you could write a drag and
  2939. drop script that actives a suite of filter parts which don't have a
  2940. user interface. Even better, you could link together various filter
  2941. icons and save the document as a drag and drop filter. You have to
  2942. shift your view a bit.
  2943.  
  2944. I think OpenDoc is a great move by Apple, but it is up to them to get
  2945. some really cool demonstrations out to destroy the traditional compound 
  2946. document image that limits people's image of this technology.
  2947.  
  2948.  
  2949.  Regards,
  2950.  Malcolm
  2951.  
  2952. +++++++++++++++++++++++++++
  2953.  
  2954. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  2955. Date: Tue, 27 Jun 1995 12:09:39 +1200 (NZDT)
  2956. Organization: (none)
  2957.  
  2958. nagle@netcom.com (John Nagle) writes:
  2959. >      Unfortunately for Apple, the reason there's a market for OLE Controls
  2960. > is because people use them to build business applications.  These aren't
  2961. > typically oriented towards compound documents; they're usually application
  2962. > specific front ends to databases accessed via SQL or a similar mechanism.
  2963. > (After all, the primary visual object in the Visual Basic world is the
  2964. > "form").  So the additional power of OpenDoc over OLE may not be that valuable.
  2965. > Macs aren't a major platform for semi-custom business applications anyway.
  2966.  
  2967. That's true now, although that's what I earn my living doing.
  2968.  
  2969. OpenDoc is not going to make the Mac any less attractive to that market
  2970. than it is now.  It could make it *much* more attractive.  I'm certainly
  2971. hoping to make money from OpenDoc.
  2972.  
  2973.  
  2974. >     Remember Publish and Subscribe?  We have limited compound document 
  2975. > capability now, and nobody uses it.  Nor has there been any visible 
  2976. > demand for extensions to it from the user community.
  2977.  
  2978. The stockbroking firm who's systems I manage uses P&S *extensively* to tie
  2979. together source data from spreadsheets to specialised analysis and graphing
  2980. and report programs (written by me) and then into page layout/word
  2981. processing software to tie it all togther for final printing.
  2982.  
  2983. The P&S implementations in Word and Excel suck in both time and space usage,
  2984. and lose links from time to time, but it enables things you couldn't
  2985. otherwise do.  (Well, maybe with AppleScript, but that's much newer and is
  2986. process-oriented rather than data oriented)
  2987.  
  2988.  
  2989. >     As a final nail in the coffin, the usual suggestion for "compound
  2990. > documents" involves tying together spreadsheets and word processor documents.
  2991. > And who makes the leading spreadsheet and the leading word processor for
  2992. > the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  2993.  
  2994. Well, a) OLE stuff can be used by OpenDoc, and b) maybe that's agood opportunity
  2995. for others to get another toehold for these things on the Mac...
  2996.  
  2997. -- Bruce
  2998.  
  2999. +++++++++++++++++++++++++++
  3000.  
  3001. >From english@primenet.com (Lawson English)
  3002. Date: 26 Jun 1995 20:27:26 GMT
  3003. Organization: Primenet (602)395-1010
  3004.  
  3005. Jerome Jahnke (j-jahnke@uchicago.edu) wrote:
  3006. [snipt]
  3007. : Say you are a student in biology. And you are writing a paper on say,
  3008. : protien folding. And your have a neat OpenDoc Part that does molecular
  3009. : graphics. You can include, instead of a series of pictures in your paper,
  3010. : a molecular graphic, that can be manipulated in real time. And if DSOM
  3011. : ever comes around you could do real time dynamics on Cray, or some other
  3012. : big time iron machine so that your reader can read you paper and your
  3013. : simulation will be tightly coupled with the words. The idea of to allow
  3014. : for new modes of combing data.
  3015. :  
  3016.  
  3017.  
  3018. And things can be even better than most people realize. The OSA is the 
  3019. "standard" model for linking parts. However, OpenDOc allows for custom 
  3020. communication between parts that would go MUCH faster than the 
  3021. AppleScript paradigm would suggest.
  3022.  
  3023. So fast, in fact, that you could create parts that would serve as tools 
  3024. in one collection, but in a slightly different collection, would serve as 
  3025. the display of what you created with the tool-collection.
  3026.  
  3027. The classic example is a Thesaurus. You could have a thesaurus part that 
  3028. would interract with a word-processor and provide "real time" suggestions 
  3029. for alternate words using the OSA. However, this same part could be used 
  3030. as part of the AI engine for a game. If the OSA wasn't fast enough, 
  3031. you could "roll your own" communications method that would allow much 
  3032. faster exchange of data than the human-oriented OSA would provice, and 
  3033. allow parsing of phrases in a Zork-like game that allowed nearly 
  3034. unlimited synonyms.
  3035.  
  3036.  
  3037. : > People seem to be getting very excited about OpenDoc. Could someone
  3038. : > explain to a person like me (who doesn't create complicated documents with
  3039. : > charts and pictures) what there is to get excited about OpenDoc? I have a
  3040. : > feeling that there is something, but I'm not sure what.
  3041.  
  3042. : You are allowing yourself to be confined by what can be done today.
  3043. : Personally I can think of hundreds of uses of this. By combining things
  3044. : that don't normally go together.
  3045.  
  3046.  
  3047. Or combining them in ways that no-one has thought of, because they are 
  3048. still bound by the old paradigm.
  3049.  
  3050. It's object-oriented vs structured programming all over again, but bigger 
  3051. this time.
  3052.  
  3053.  
  3054. --
  3055. - -----------------------------------------------------------------------------
  3056. Lawson English                            __  __     ____  ___       ___ ____
  3057. english@primenet.com                     /__)/__) / / / / /_  /\  / /_    /
  3058.                                         /   / \  / / / / /__ /  \/ /___  /
  3059. - -----------------------------------------------------------------------------
  3060.  
  3061. +++++++++++++++++++++++++++
  3062.  
  3063. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3064. Date: Mon, 26 Jun 1995 13:58:29 -0800
  3065. Organization: In Phase Consulting
  3066.  
  3067. In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3068. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3069.  
  3070. > Say you are a student in biology. And you are writing a paper on say,
  3071. > protien folding. And your have a neat OpenDoc Part that does molecular
  3072. > graphics. You can include, instead of a series of pictures in your paper,
  3073. > a molecular graphic, that can be manipulated in real time. And if DSOM
  3074. > ever comes around you could do real time dynamics on Cray, or some other
  3075. > big time iron machine so that your reader can read you paper and your
  3076. > simulation will be tightly coupled with the words. The idea of to allow
  3077. > for new modes of combing data.
  3078.  
  3079. But (to be contrary), you can do that now.
  3080.  
  3081. Just paste a QuickTime movie into your document.
  3082.  
  3083. Why wait for OpenDoc?
  3084.  
  3085. Oh (he says) you want to do some form of dynamic update from your Cray?
  3086. (Like there are thousands of business users out there who have Crays
  3087. they are just dying to incorporate animations from.)
  3088.  
  3089. Then just make your simulation package compatable with publish and subscribe.
  3090.  
  3091. OpenDoc does not allow you to do things you couldn't before, (like
  3092. dynamic update); it only allows you to create compound documents which
  3093. change the menu bar and the tools (and underlying executing application part)
  3094. when you click on part of a compound document.
  3095.  
  3096. Just like OLE v2.0, it does *not* add features that cannot be added today,
  3097. except for the compound document user interface. (That is, the only thing
  3098. it eliminates is the major task swap and reshuffling of windows--this
  3099. is replaced by a major task swap when you select the picture you
  3100. put into your text document.)
  3101.  
  3102. If we really wanted, needed, and required dynamic update of documents,
  3103. or any of a half-dozen other features that OpenDoc is being touted for,
  3104. we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3105. (Which have been around for over 2 _years_ now.)
  3106.  
  3107.                                                 - Bill
  3108.  
  3109. -- 
  3110. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3111. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3112. 337 W. California #4  |  Fax:    (818) 502-1467
  3113. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3114.  
  3115. +++++++++++++++++++++++++++
  3116.  
  3117. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3118. Date: Mon, 26 Jun 1995 14:00:40 -0800
  3119. Organization: In Phase Consulting
  3120.  
  3121. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3122.  
  3123. > ... There are lots of smart folks out there who
  3124. > have an idea of what OpenDoc can do, and I am sure in a few years folks
  3125. > will wonder how we lived without it (as we do with Windowed Event Driven
  3126. > OS's now.)
  3127.  
  3128. Or publish and subscribe.
  3129.  
  3130. Or AppleEvents.
  3131.  
  3132. Or Apple Scripting.
  3133.  
  3134. Or QuickDraw GX.
  3135.  
  3136. *sigh*
  3137.  
  3138. I can't live with ^H^H^H^H^Hwithout any of them now.
  3139.  
  3140.                                                 - Bill
  3141.  
  3142. -- 
  3143. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3144. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3145. 337 W. California #4  |  Fax:    (818) 502-1467
  3146. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3147.  
  3148. +++++++++++++++++++++++++++
  3149.  
  3150. >From h+@metrowerks.com (Jon W{tte)
  3151. Date: Mon, 26 Jun 1995 17:41:05 -0500
  3152. Organization: Random
  3153.  
  3154.  
  3155. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  3156. alain@cs.uchicago.edu (Alain Roy) wrote:
  3157.  
  3158. > However, I'm a programmer and a student. I rarely create compound
  3159. > documents. Once in a while, I'll write a paper with a single graphic in
  3160. > it, for which MS Word's graphic tool is sufficent. On the other hand, I
  3161. > edit a program's source files. I post occaisonally to the net. I write
  3162. > some email. None of these things seems to me to benefit from having the
  3163. > ability to edit compound documents.
  3164.  
  3165. Yes, you would.
  3166.  
  3167. For e-mail, something like Eudora could be constructed as a collection of
  3168. nickname, mail collection, text editor, and transmission parts. Same thing
  3169. for news reading. Not to mention that the mail you would send could be an
  3170. OpenDoc document.
  3171.  
  3172. The "application" the user buys is a piece of stationery of a document with
  3173. the pieces already put together into something that looks like an
  3174. application. It could even be several pieces of stationery; one for sending
  3175. a new letter, and one for reading mail.
  3176.  
  3177. Similarly; for a web browser, compound documents is what it's all about.
  3178. And, to an extent, even writing applications in a visual editor of some
  3179. kind compounds "parts" in the form of text boxes, scroll bars, radio
  3180. buttons etc.
  3181.  
  3182. Cheers,
  3183.  
  3184.                                 / h+
  3185.  
  3186.  
  3187. --
  3188.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  3189.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  3190.  Pre-release reports due       3/1/95
  3191.              -- Quote from unnamed product status report
  3192.  
  3193.  
  3194. +++++++++++++++++++++++++++
  3195.  
  3196. >From h+@metrowerks.com (Jon W{tte)
  3197. Date: Mon, 26 Jun 1995 17:41:08 -0500
  3198. Organization: Random
  3199.  
  3200.  
  3201. In article <woody-2506951647480001@192.0.2.1>,
  3202. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3203.  
  3204. > OpenDoc does not address task-oriented issues (such as reading your
  3205. > on-line mail--though I suppose someone will create a mailer OpenDoc
  3206. > part), nor does it address 'filter' tasks (tasks which involve the
  3207.  
  3208. I think you are wrong. OpenDoc provides good interfaces for several task-
  3209. and filter-like things, including mail, news and web browsing.
  3210.  
  3211. > Personally I don't think OpenDoc is going to catch on in the
  3212. > way that Apple hopes. Apple has in mind that OpenDoc is the
  3213. > technological "Microsoft Killer"--that is, they have in mind that
  3214. > a hundred little developers developing a hundred little parts
  3215. > will pick Microsoft's monolithic monopoly on office software
  3216. > (Microsoft Word, Excel, and other packages) to pieces.
  3217.  
  3218. That's only part of it.
  3219.  
  3220. > Frankly, I don't think that is going to happen. Why? Three reasons.
  3221. > First, people buy *solutions*, not individual software packages.
  3222.  
  3223. Yes, and with a hundred of different parts to choose from, it's
  3224. substantially easier for small *publishers* to pick out the pieces they
  3225. want, license them, glue them together into stationery and sell highly
  3226. specialized solutions. Say, a corporate lawyer firm word processor, or a
  3227. mortgage lender firm spreadsheet. If the customer has a choise between a
  3228. general-purpose solution, and one already set-up for his individual needs,
  3229. which one does he choose? Can Microsoft really offer 4300 different
  3230. configurations of Office?
  3231.  
  3232. Part developers make money off licensing to publishers. Publishers make
  3233. money off sales. And power users can take the solutions apart; substituting
  3234. and customizing as they wish.
  3235.  
  3236. Cheers,
  3237.  
  3238.                                         / h+
  3239.  
  3240.  
  3241. --
  3242.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  3243.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  3244.  Pre-release reports due       3/1/95
  3245.              -- Quote from unnamed product status report
  3246.  
  3247.  
  3248. +++++++++++++++++++++++++++
  3249.  
  3250. >From BrianS@pbcomputing.com (Brian Stern)
  3251. Date: 26 Jun 1995 22:40:41 GMT
  3252. Organization: The University of Texas at Austin, Austin, Texas
  3253.  
  3254. In article <alain-2606951204220001@hammer.cs.uchicago.edu>,
  3255. alain@cs.uchicago.edu (Alain Roy) wrote:
  3256.  
  3257. < In article <BrianS-2606951105340001@slip-12-4.ots.utexas.edu>,
  3258. < BrianS@pbcomputing.com (Brian Stern) wrote:
  3259. < >Imagine being able to have a spell checker part and grammer checker part
  3260. < >that you can use easily in your newsreader and mailreader apps.  Sheesh,
  3261. < >just imagine only having to have one spell checker on your machine,
  3262. < >instead of the three or four many people now have on their machines.
  3263. < That sounds excellent to me.
  3264. < I thought that Apple Events/Applescripting were supposed to provide that
  3265. < already. Can you explain how OpenDoc makes it easier to add than just
  3266. < sending an AppleEvent? I believe you, I'm just not sure why it's easier,
  3267. < or people are more likely to use it.
  3268. < -alain
  3269.  
  3270. If you want to add spell checking ability to a program like a newsreader
  3271. today the author has to provide hooks for it in the application.  It can
  3272. be done in one of a few ways:
  3273.  
  3274. The newsreader would have to support a spellchecking engine and either
  3275. compile the spellcheck engine into the newsreader or communicate with it
  3276. directly by apple events.  
  3277.  
  3278. It could also be done by an extension that fooled with the clipboard and
  3279. spellchecked text that was selected.   
  3280.  
  3281. It could also be done by a standalone spellcheck app that could
  3282. communicate with the newsreader and get all the text in the frontmost
  3283. window or in the selection.  
  3284.  
  3285. With opendoc the newsreader just has to contain code so that it is a
  3286. container app.  Apparently this is boilerplate code and most likely a lot
  3287. of apps will become container apps with little cost or pain.  Once the
  3288. newsreader is a container app then you just add the spellcheck/grammer
  3289. check part to a window that you are using to compose your message and it
  3290. will just work.
  3291.  
  3292. I think that appleEvents have paved the way for this sort of thing but
  3293. still most apps are based on this monolithic be-all do-all model.  Opendoc
  3294. will allow better communication between code written by different authors
  3295. and make it easier to do things to the data in a document that the authors
  3296. of the container app never planned on.
  3297.  
  3298. ____________________________________________________________________
  3299. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  3300. Toolbox commando and Menu bard.             Will FlushCache for Cash
  3301.  
  3302. +++++++++++++++++++++++++++
  3303.  
  3304. >From BrianS@pbcomputing.com (Brian Stern)
  3305. Date: 26 Jun 1995 22:55:37 GMT
  3306. Organization: The University of Texas at Austin, Austin, Texas
  3307.  
  3308. In article <woody-2606951358290001@192.0.2.1>,
  3309. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3310.  
  3311. < In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3312. < j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3313. < > Say you are a student in biology. And you are writing a paper on say,
  3314. < > protien folding. And your have a neat OpenDoc Part that does molecular
  3315. < > graphics. You can include, instead of a series of pictures in your paper,
  3316. < > a molecular graphic, that can be manipulated in real time. And if DSOM
  3317. < > ever comes around you could do real time dynamics on Cray, or some other
  3318. < > big time iron machine so that your reader can read you paper and your
  3319. < > simulation will be tightly coupled with the words. The idea of to allow
  3320. < > for new modes of combing data.
  3321. < But (to be contrary), you can do that now.
  3322. < Just paste a QuickTime movie into your document.
  3323.  
  3324. Can I paste a QuickTime movie into any document?  How about a NewsWatcher
  3325. document? a CodeWarrior document?
  3326.  
  3327. < Why wait for OpenDoc?
  3328. < Oh (he says) you want to do some form of dynamic update from your Cray?
  3329. < (Like there are thousands of business users out there who have Crays
  3330. < they are just dying to incorporate animations from.)
  3331. < Then just make your simulation package compatable with publish and subscribe.
  3332. < OpenDoc does not allow you to do things you couldn't before, (like
  3333. < dynamic update); it only allows you to create compound documents which
  3334. < change the menu bar and the tools (and underlying executing application part)
  3335. < when you click on part of a compound document.
  3336.  
  3337. What if I don't like the table editor in PageMaker but I like the one in
  3338. Word.  How can I copy my word tables into PageMaker?  Guess what, I
  3339. can't.  Why?  Because they have incompatible formats.  And of course I
  3340. can't rewrite these tow apps to make this work.
  3341.  
  3342. But if I had a table editor part that I liked and PageMaker was a
  3343. container app (like I'm sure it will be) then I can use my table editor
  3344. part in PageMaker or any other app that is a container app.  That is
  3345. something that OpenDoc will allow me to do that you can't do today.
  3346.  
  3347. This huge problem of proprietary formats for data will be vastly reduced.
  3348.  
  3349. < Just like OLE v2.0, it does *not* add features that cannot be added today,
  3350. < except for the compound document user interface. (That is, the only thing
  3351. < it eliminates is the major task swap and reshuffling of windows--this
  3352. < is replaced by a major task swap when you select the picture you
  3353. < put into your text document.)
  3354. < If we really wanted, needed, and required dynamic update of documents,
  3355. < or any of a half-dozen other features that OpenDoc is being touted for,
  3356. < we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3357. < (Which have been around for over 2 _years_ now.)
  3358. <                                                 - Bill
  3359. < -- 
  3360. < William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3361. < In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3362. < 337 W. California #4  |  Fax:    (818) 502-1467
  3363. < Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3364.  
  3365. ____________________________________________________________________
  3366. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  3367. Toolbox commando and Menu bard.             Will FlushCache for Cash
  3368.  
  3369. +++++++++++++++++++++++++++
  3370.  
  3371. >From Karl Armstrong <jonathan.k.armstrong@cdev.com>
  3372. Date: 26 Jun 1995 21:27:08 GMT
  3373. Organization: Computing Devices Int.
  3374.  
  3375. Jim Lloyd wrote:
  3376. >>Look at me--I do games.
  3377.  
  3378. I'm not an expert in OpenDoc, but I am a programmer with some interest in it.
  3379. This statement got me thinking about how OD might apply to games. 
  3380.  
  3381. I think it is very likely that someone will come up with a component based game
  3382. system that can be added to. Think of all the add-ons available for Doom.
  3383. Doom's "open" architecure consists of a maze editor. Now image a game where
  3384. innovative programmers could add new rules or entirely new capabilities. How
  3385. about a strategic type wargame that someone can add a tactical/arcade module
  3386. too? Without getting into anymore specifics, I think you see the point. A OD
  3387. module does not nescesarily have to have a strict visual component; it's really
  3388. an advanced sort of IPC. The possiblities are endless.
  3389.  
  3390. -- 
  3391. Karl Arsmtrong
  3392. Computing Devices Int.
  3393. (303) 779-7702
  3394. (303) 779-7704 (fax)
  3395.  
  3396.  
  3397. +++++++++++++++++++++++++++
  3398.  
  3399. >From kdj@mindspring.com (Kristopher Johnson)
  3400. Date: Mon, 26 Jun 1995 21:04:14 -0400
  3401. Organization: Sleepless Night Software
  3402.  
  3403. In article <woody-2606951358290001@192.0.2.1>,
  3404. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3405.  
  3406. > Just paste a QuickTime movie into your document.
  3407. > Why wait for OpenDoc?
  3408. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3409. > (Like there are thousands of business users out there who have Crays
  3410. > they are just dying to incorporate animations from.)
  3411. > Then just make your simulation package compatable with publish and subscribe.
  3412.  
  3413. Yeah, but an advantage of OpenDoc is that developers won't have to release
  3414. new versions of their software when new technologies like QuickTime,
  3415. Publish/Subscribe, or AppleScript come out.  By creating an OpenDoc part,
  3416. a developer will be able to support features that haven't even been
  3417. invented yet!
  3418.  
  3419. -- 
  3420. Kristopher Johnson
  3421. kdj@mindspring.com
  3422.  
  3423. +++++++++++++++++++++++++++
  3424.  
  3425. >From lwalker@msmail4.hac.com (Lonny Walker)
  3426. Date: 27 Jun 1995 01:26:11 GMT
  3427. Organization: Hughes Aircraft Co. - Radar Systems
  3428.  
  3429. In article <woody-2606951358290001@192.0.2.1>,
  3430. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3431.  
  3432. [snip]
  3433. > Why wait for OpenDoc?
  3434. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3435. > (Like there are thousands of business users out there who have Crays
  3436. > they are just dying to incorporate animations from.)
  3437. > Then just make your simulation package compatable with publish and subscribe.
  3438. > OpenDoc does not allow you to do things you couldn't before, (like
  3439. > dynamic update); it only allows you to create compound documents which
  3440. > change the menu bar and the tools (and underlying executing application part)
  3441. > when you click on part of a compound document.
  3442. > Just like OLE v2.0, it does *not* add features that cannot be added today,
  3443. > except for the compound document user interface. (That is, the only thing
  3444. > it eliminates is the major task swap and reshuffling of windows--this
  3445. > is replaced by a major task swap when you select the picture you
  3446. > put into your text document.)
  3447. > If we really wanted, needed, and required dynamic update of documents,
  3448. > or any of a half-dozen other features that OpenDoc is being touted for,
  3449. > we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3450. > (Which have been around for over 2 _years_ now.)
  3451. >                                                 - Bill
  3452.  
  3453.  
  3454. You're right, most of those things can be done today, but OpenDoc
  3455. potentially offers a better solution. The end product I really want is a
  3456. picture in my presentation; everything else are the steps required to get
  3457. there. Some problems you can't even automate since some software doesn't
  3458. supports scripting or the software may not exist.
  3459.  
  3460. For the custom analysis tasks that I write, OpenDoc provides a frame work
  3461. that allows me to easily achive my goals. Besides the analysis engine, all
  3462. I need to support is drawing, printing, editing of my data, and saving to
  3463. disk. Sure, I could use one of the existing frame works, spend alot of
  3464. time, and write a full blown application, but, thats not the end result I
  3465. need.
  3466.  
  3467. For the small, specialized parts that I'm interested in OpenDoc will fit
  3468. the bill and I'm looking forward to it's final release. Until then I'll
  3469. get the job done as you suggested, but, my eye is on the future.
  3470.  
  3471. Lonny
  3472.  
  3473. -- 
  3474. Lonny Walker                     |  email: lwalker@msmail4.hac.com
  3475. Hughes Aircraft Co.              |
  3476. Radar and Communication Systems  |
  3477.  
  3478. +++++++++++++++++++++++++++
  3479.  
  3480. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  3481. Date: Tue, 27 Jun 1995 02:14:38 GMT
  3482. Organization: BSD -- Academic Computing
  3483.  
  3484. In article <woody-2606951358290001@192.0.2.1>,
  3485. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3486.  
  3487. > In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3488. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3489. > > Say you are a student in biology. And you are writing a paper on say,
  3490. > > protien folding. And your have a neat OpenDoc Part that does molecular
  3491. > > graphics. You can include, instead of a series of pictures in your paper,
  3492. > > a molecular graphic, that can be manipulated in real time. And if DSOM
  3493. > > ever comes around you could do real time dynamics on Cray, or some other
  3494. > > big time iron machine so that your reader can read you paper and your
  3495. > > simulation will be tightly coupled with the words. The idea of to allow
  3496. > > for new modes of combing data.
  3497. > But (to be contrary), you can do that now.
  3498. > Just paste a QuickTime movie into your document.
  3499.  
  3500. Really? Can you take the movie, and more to an abitray angle, say one that
  3501. or change the view? Or can you get interested in what you are looking at
  3502. and click on it and have it hilight a sequence of atoms and point you back
  3503. into your document where those are talked about?? While you can have a
  3504. movie running a canned demo in a movie, educationally it is more powerful
  3505. to take the movie as a jumping off point instead of the end, which is what
  3506. a Quicktime Movie is, you can't re-enter the query stream from a QuickTime
  3507. movie, you can only sit back and watch the movie.
  3508.  
  3509. > Why wait for OpenDoc?
  3510. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3511. > (Like there are thousands of business users out there who have Crays
  3512. > they are just dying to incorporate animations from.)
  3513.  
  3514. You would be suprised the sorts of resources that sit on the net doing
  3515. nothing all day. Here at the U of Chicago in our open access lab we have 6
  3516. SGI Indigo2's hanging out all day doing nothing... Lots of raw processing
  3517. power just sitting there waiting to be used. We will also have an ATM line
  3518. hooked up to a big super computer at the Fermi Institute with a fair bit
  3519. of CPU time on it. The ATM link is being tested next week. And yes, we run
  3520. molecular simulations on the machine.
  3521.  
  3522. Jer,
  3523.  
  3524. -- 
  3525. Jerome Jahnke
  3526. BSD Academic Computing
  3527. University of Chicago
  3528. j-jahnke@uchicago.edu
  3529.  
  3530. +++++++++++++++++++++++++++
  3531.  
  3532. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  3533. Date: Tue, 27 Jun 1995 02:20:31 GMT
  3534. Organization: BSD -- Academic Computing
  3535.  
  3536. In article <woody-2606951400400001@192.0.2.1>,
  3537. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3538.  
  3539. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3540. > > ... There are lots of smart folks out there who
  3541. > > have an idea of what OpenDoc can do, and I am sure in a few years folks
  3542. > > will wonder how we lived without it (as we do with Windowed Event Driven
  3543. > > OS's now.)
  3544. > Or publish and subscribe.
  3545.  
  3546. Which quite a few folks use. I use it quite a bit in software I write.
  3547.  
  3548. > Or AppleEvents.
  3549.  
  3550. Which lots of folks use. I also use this quite a bit becuase I my Apps are
  3551. also Applescriptable AND AppleGuideable. The only problem with this
  3552. technology is that you force your user base to adopt a minimum level of
  3553. software
  3554.  
  3555. > Or Apple Scripting.
  3556.  
  3557. Which goes hand in hand with Apple Events. Most of the applications I use
  3558. use are Applescriptable. And oddly enough I script them all as well. Don't
  3559. know where you have been in regards to this.
  3560.  
  3561. > Or QuickDraw GX.
  3562.  
  3563. How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  3564. then I got 4 years worth of 3D graphics code sitting on my disc that does
  3565. not use much at all of the MacToolbox. However I am considering QuickDraw
  3566. 3D for new stuff if only becuase it will give me access to hardware
  3567. support for 3D as it becomes available on the mac.
  3568.  
  3569. > *sigh*
  3570. > I can't live with ^H^H^H^H^Hwithout any of them now.
  3571.  
  3572. Which is just great. If what you do works, cool. No one is knocking down
  3573. your door forcing you to use it, although your users may in the future, or
  3574. they may not.
  3575.  
  3576. Jer,
  3577.  
  3578. -- 
  3579. Jerome Jahnke
  3580. BSD Academic Computing
  3581. University of Chicago
  3582. j-jahnke@uchicago.edu
  3583.  
  3584. +++++++++++++++++++++++++++
  3585.  
  3586. >From sandvik@apple.com (Kent Sandvik)
  3587. Date: Mon, 26 Jun 1995 19:58:03 -0800
  3588. Organization: Apple Computer, Inc. Developer Technical Support
  3589.  
  3590. In article <BrianS-2606951753120001@slip-22-4.ots.utexas.edu>,
  3591. BrianS@pbcomputing.com (Brian Stern) wrote:
  3592. > Can I paste a QuickTime movie into any document?  How about a NewsWatcher
  3593. > document? a CodeWarrior document?
  3594.  
  3595. Something that would be cool is an OpenDoc document, that actually has
  3596. hooks to various QuickTime tools and graphics presentation views, so that
  3597. I could use the tools for a movie, show statistics and such, and even have
  3598. all this documented on the same page.
  3599.  
  3600. --Kent
  3601.  
  3602. -- 
  3603. Kent Sandvik   sandvik@apple.com                  Working with Multimedia stuff...
  3604. Apple Developer Technical Support.                 Private activities on Internet.
  3605. http://dts.apple.com/sandvik/sandvik.html
  3606.  
  3607. +++++++++++++++++++++++++++
  3608.  
  3609. >From jim@melongem.com (Jim Lloyd)
  3610. Date: Mon, 26 Jun 1995 21:49:27 -0700
  3611. Organization: MelonGem Productions
  3612.  
  3613. In article <woody-2606951358290001@192.0.2.1>,
  3614. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3615.  
  3616. >If we really wanted, needed, and required dynamic update of documents,
  3617. >or any of a half-dozen other features that OpenDoc is being touted for,
  3618. >we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3619. >(Which have been around for over 2 _years_ now.)
  3620.  
  3621. This reminds me of a well-known true story, though I forget some details:
  3622.  
  3623. Once upon a time, some company found itself with a new technology, the
  3624. "dry photocopy process".  The company decided to do some market research
  3625. to decide if it could exploit this technology.  It did a market survey
  3626. based upon the closest competing technology: carbon copies.  It discovered
  3627. that carbon copies weren't used very often, from which they concluded that
  3628. the dry photo copy process would never yield a significant profit.  They
  3629. therefore sold the technology to some fledgling little company.
  3630.  
  3631. That fledgling little company was Xerox.
  3632.  
  3633. OpenDoc builds upon AppleEvents and Publish and Subscribe (and Bento and
  3634. SOM and  other technolgies) and creates something that is more than the
  3635. sum of its parts.  It results in something that has significantly more
  3636. bang for the buck than Publish and Subscribe.  With Publish and Subscribe,
  3637. each subscribing application must fully implement a "part editor" for
  3638. every data type it wishes to subscribe to, or settle with viewing PICTs of
  3639. the data.  With OpenDoc, containers need not known anything about their
  3640. embedded content, with no penalty to the user.  The difference between
  3641. these two technologies is, from my point of view, greater than the
  3642. difference between carbon copies and xerox photocopies.
  3643.  
  3644. - ---------------------------------------------------------------------
  3645. Jim Lloyd                                              jim@melongem.com
  3646. Software Consultant                                     v. 415-964-8500
  3647. MelonGem Productions                                    f. 415-964-6888
  3648.                  "At our convenience, at your expense."
  3649.  
  3650. +++++++++++++++++++++++++++
  3651.  
  3652. >From jim@melongem.com (Jim Lloyd)
  3653. Date: Mon, 26 Jun 1995 22:01:22 -0700
  3654. Organization: MelonGem Productions
  3655.  
  3656. In article <3sn8nc$ri7@magpie.cdev.com>, Karl Armstrong
  3657. <jonathan.k.armstrong@cdev.com> got his attributions wrong:
  3658.  
  3659. >Jim Lloyd wrote:
  3660.  ^^^^^^^^^
  3661. >>>Look at me--I do games.
  3662.  
  3663. No, I didn't say the above. William Edward Woody said it.
  3664.  
  3665. >I'm not an expert in OpenDoc, but I am a programmer with some interest in it.
  3666. >This statement got me thinking about how OD might apply to games. 
  3667. >
  3668. >I think it is very likely that someone will come up with a component based game
  3669. >system that can be added to. Think of all the add-ons available for Doom.
  3670. >Doom's "open" architecure consists of a maze editor. Now image a game where
  3671. >innovative programmers could add new rules or entirely new capabilities. How
  3672. >about a strategic type wargame that someone can add a tactical/arcade module
  3673. >too? Without getting into anymore specifics, I think you see the point. A OD
  3674. >module does not nescesarily have to have a strict visual component; it's really
  3675. >an advanced sort of IPC. The possiblities are endless.
  3676. >
  3677. >-- 
  3678. >Karl Arsmtrong
  3679. >Computing Devices Int.
  3680. >(303) 779-7702
  3681. >(303) 779-7704 (fax)
  3682.  
  3683. - ---------------------------------------------------------------------
  3684. Jim Lloyd                                              jim@melongem.com
  3685. Software Consultant                                     v. 415-964-8500
  3686. MelonGem Productions                                    f. 415-964-6888
  3687.                  "At our convenience, at your expense."
  3688.  
  3689. +++++++++++++++++++++++++++
  3690.  
  3691. >From awiner@us.oracle.com (Adam Winer)
  3692. Date: Mon, 26 Jun 1995 23:41:25 -0800
  3693. Organization: Oracle Corp.
  3694.  
  3695. In article <woody-2606951358290001@192.0.2.1>,
  3696. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3697.  
  3698. >In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3699. >j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3700. >
  3701. >> Say you are a student in biology. And you are writing a paper on say,
  3702. >> protien folding. And your have a neat OpenDoc Part that does molecular
  3703. >> graphics. You can include, instead of a series of pictures in your paper,
  3704. >> a molecular graphic, that can be manipulated in real time. And if DSOM
  3705. >> ever comes around you could do real time dynamics on Cray, or some other
  3706. >> big time iron machine so that your reader can read you paper and your
  3707. >> simulation will be tightly coupled with the words. The idea of to allow
  3708. >> for new modes of combing data.
  3709. >
  3710. >But (to be contrary), you can do that now.
  3711. >
  3712. >Just paste a QuickTime movie into your document.
  3713.  
  3714. That presupposes that your document editor handles QuickTime movies.
  3715. But do you have any document editors that can handle Quickdraw3D
  3716. images?  I think not.  How long will it take before all editors you
  3717. use rev to support Quickdraw 3D?  A damn long time.  How long
  3718. will it be before you can add Quickdraw 3D images into an OpenDoc-enabled
  3719. application?  About 10 seconds.  Extend this to the other 10 billion
  3720. data types around right now, and there's an enormous difference
  3721. between what we have now and OpenDoc.
  3722.  
  3723. >Why wait for OpenDoc?
  3724. >
  3725. >Oh (he says) you want to do some form of dynamic update from your Cray?
  3726. >(Like there are thousands of business users out there who have Crays
  3727. >they are just dying to incorporate animations from.)
  3728. >
  3729. >Then just make your simulation package compatable with publish and subscribe.
  3730.  
  3731. Publish and subscribe doesn't do 1/10th of the things OpenDoc does.
  3732. I'm assuming you're playing devil's advocate here.
  3733.  
  3734. >OpenDoc does not allow you to do things you couldn't before, (like
  3735. >dynamic update); it only allows you to create compound documents which
  3736. >change the menu bar and the tools (and underlying executing application part)
  3737. >when you click on part of a compound document.
  3738.  
  3739. >Just like OLE v2.0, it does *not* add features that cannot be added today,
  3740. >except for the compound document user interface. (That is, the only thing
  3741. >it eliminates is the major task swap and reshuffling of windows--this
  3742. >is replaced by a major task swap when you select the picture you
  3743. >put into your text document.)
  3744.  
  3745. I would argue that's quite a lot, but that's hardly where OpenDoc
  3746. ends.  Can you send AppleScript commands to edition containers?
  3747. Can you have real-time updates on edition containers?  Can you (usefully)
  3748. subscribe to a data type you never knew about.  Can you grab
  3749. a document with a lot of subscriptions, bring it over to another
  3750. computer, and start editting it there, without needing to bring
  3751. over all the miscellaneous edition files.
  3752.  
  3753. Publish and subscribe is and will always be a clumsy interface.
  3754. It was a great idea for it's time, but lets not exaggerate
  3755. it's capabilities.
  3756.  
  3757. >If we really wanted, needed, and required dynamic update of documents,
  3758. >or any of a half-dozen other features that OpenDoc is being touted for,
  3759. >we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3760. >(Which have been around for over 2 _years_ now.)
  3761.  
  3762. Yes, we could have, but it would have been one hell of a lot
  3763. harder.  Kind of like arguing, "The Mac's no big deal, I could
  3764. have written it on top of DOS."  We know what a dumb idea that
  3765. is...
  3766. -- 
  3767. Adam Winer
  3768. awiner@us.oracle.com
  3769. If Oracle has any opinions, these aren't them.
  3770.  
  3771. +++++++++++++++++++++++++++
  3772.  
  3773. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3774. Date: Tue, 27 Jun 1995 03:56:57 -0800
  3775. Organization: In Phase Consulting
  3776.  
  3777. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3778.  
  3779. > > Or QuickDraw GX.
  3780. > How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  3781. > then I got 4 years worth of 3D graphics code sitting on my disc that does
  3782. > not use much at all of the MacToolbox. However I am considering QuickDraw
  3783. > 3D for new stuff if only becuase it will give me access to hardware
  3784. > support for 3D as it becomes available on the mac.
  3785.  
  3786. A gentle reminder.
  3787.  
  3788. QuickDraw GX was advocated as a cutting-edge technology to allow the 
  3789. easier creation of applications which provide typesetting services.
  3790. The add-on market then was endless; it would make it infinitely easier
  3791. to produce page layout programs, typesetting programs, and would allow
  3792. greater flexability in page layout.
  3793.  
  3794. It was the major technological advance which would make things easier
  3795. than ever for developers, allow significant after-market opportunities,
  3796. and it would clean windows, too. (Or at least clean Microsoft Window's
  3797. clock.)
  3798.  
  3799. In fact, much of the hype sounded pretty much the same. Or at least
  3800. enough the same that I actually invested a fair amount of time figuring
  3801. out exactly what QuickDraw GX was. And to be honest, it was a wonderful
  3802. technological advance that was never needed by the market.
  3803.  
  3804.                                                         - Bill
  3805.  
  3806. -- 
  3807. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3808. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3809. 337 W. California #4  |  Fax:    (818) 502-1467
  3810. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3811.  
  3812. +++++++++++++++++++++++++++
  3813.  
  3814. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3815. Date: Tue, 27 Jun 1995 04:06:15 -0800
  3816. Organization: In Phase Consulting
  3817.  
  3818. > Once upon a time, some company found itself with a new technology, the
  3819. > "dry photocopy process".  The company decided to do some market research
  3820. > to decide if it could exploit this technology.  It did a market survey
  3821. > based upon the closest competing technology: carbon copies.  It discovered
  3822. > that carbon copies weren't used very often, from which they concluded that
  3823. > the dry photo copy process would never yield a significant profit.  They
  3824. > therefore sold the technology to some fledgling little company.
  3825.  
  3826. I know that story. It's a wonderful story, full of interesting points
  3827. about the fact that sometimes you need to take a risk with a new
  3828. technology, because often your marketing people are wrong.
  3829.  
  3830. And for every one of those, there are hundreds, if not thousands, of
  3831. stories where the moral of the story is:
  3832.  
  3833.         "And the fledgling little company sank into the black,
  3834.          never to be heard from again."
  3835.  
  3836. Look, I have nothing against OpenDoc. And, to be honest, I'm spending
  3837. a lot of time trying to figure out what OpenDoc is about, and in my
  3838. spare time I'm learning how to write software for OpenDoc.
  3839.  
  3840. Why?
  3841.  
  3842. Because I could be wrong. And because it doesn't cost me anything to
  3843. spend some time learning a new technology.
  3844.  
  3845. However, I honestly don't believe this technology is going to take
  3846. off in the ways that everyone is daydreaming about. And honestly I
  3847. don't think it's going to live up to the high expectations that people
  3848. have of the technology.
  3849.  
  3850. And because I believe that an honest and reasonable analysis of
  3851. the market forces that are currently under way would reveal that all
  3852. of the hopes (OpenDoc as a superior replacement for Visual Basic for
  3853. Windows?) and dreams (filter components which mediate sending e-mail?)
  3854. won't make a significant impact in the overall shape of the market.
  3855.  
  3856.                                                         - Bill
  3857.  
  3858. -- 
  3859. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3860. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3861. 337 W. California #4  |  Fax:    (818) 502-1467
  3862. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3863.  
  3864. +++++++++++++++++++++++++++
  3865.  
  3866. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3867. Date: Tue, 27 Jun 1995 04:08:00 -0800
  3868. Organization: In Phase Consulting
  3869.  
  3870. jim@melongem.com (Jim Lloyd) wrote:
  3871.  
  3872. > In article <3sn8nc$ri7@magpie.cdev.com>, Karl Armstrong
  3873. > <jonathan.k.armstrong@cdev.com> got his attributions wrong:
  3874. > >Jim Lloyd wrote:
  3875. >  ^^^^^^^^^
  3876. > >>>Look at me--I do games.
  3877. > No, I didn't say the above. William Edward Woody said it.
  3878.  
  3879. Am I so antisocial now that no-one wants anything to do with the things
  3880. I say?
  3881.  
  3882. *giggle*
  3883.  
  3884. Remember the first rule of debate: never confuse the devil's advocate
  3885. for the devil himself.
  3886.  
  3887.                                                         - Bill
  3888.  
  3889. -- 
  3890. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3891. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3892. 337 W. California #4  |  Fax:    (818) 502-1467
  3893. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3894.  
  3895. +++++++++++++++++++++++++++
  3896.  
  3897. >From laurent@sw15.com (Laurent Humbert)
  3898. Date: Tue, 27 Jun 1995 13:43:46 +0000
  3899. Organization: SW15 Software
  3900.  
  3901. >[OpenDoc ?]
  3902.  
  3903. OpenDoc is yet another insanely great new technology by Apple, supposed to
  3904. change life as we know it.
  3905.  
  3906. But it's not funny any more....
  3907.  
  3908. FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  3909. ODF.
  3910.  
  3911.  
  3912.  
  3913.  
  3914. +++++++++++++++++++++++++++
  3915.  
  3916. >From chopps@water.emich.edu (Christian E. Hopps)
  3917. Date: Tue, 27 Jun 1995 10:13:02 -0400
  3918. Organization: Eastern Michigan University, Ypsilanti
  3919.  
  3920. In article <woody-2706950406150001@192.0.2.1>,
  3921. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3922. > However, I honestly don't believe this technology is going to take
  3923. > off in the ways that everyone is daydreaming about. And honestly I
  3924. > don't think it's going to live up to the high expectations that people
  3925. > have of the technology.
  3926.  
  3927. I get the same feeling.  Except in my case I haven't done much research.
  3928.  
  3929. I keep getting this image of a user sitting in front of a computer
  3930. with 16 manuals strewn about.  A big question mark floats over the
  3931. users head as the user tries to figure out where to get help.
  3932.  
  3933. Another related image I have is of a responsibility nightmare.  Everyone
  3934. keeps referring to these companies who will be packaging a collection
  3935. of parts to make a general application.  What happens when some of the
  3936. parts are buggy?  I do understand its easier for the user to get it
  3937. fixed (replace buggy parts).  So the user calls the "collection company"
  3938. and they supposedly work with all the part creators to locate the bug.
  3939. Something tells me there are a lot of communication links that can break
  3940. down here.
  3941.  
  3942. What about companies that are expected to actually write the parts?  I
  3943. think a very common feeling among development firms is that they must
  3944. have control over what they release.  That is if something is wrong they
  3945. want to fix it.  A good example of what can go wrong (and what I am saying
  3946. developers may be afraid of) is the debugservices-[compilervendor]debugger-
  3947. ram doubler escapade.  I sat and watched metrowerks (and to a lesser degree
  3948. symantec) get a bunch of news posts asking why the debugger didn't work
  3949. under system 7.5.1.  The generic answer was:  Its not us its company X.
  3950. Users have a way of getting annoyed with that answer no matter how true
  3951. it is.
  3952.  
  3953. Consider a slightly different problem with the current
  3954. [compiler vendor]debugger-debug services setup.  I occasionally see a user
  3955. ask for [compiler-vendor] for a specific addition that would be useful to
  3956. add to the debugger to which the reply is that for now debug-services
  3957. doesn't currently support that.  That is the user identifies company A
  3958. as the one to ask for the addition when its really company B they should
  3959. be asking.  Again the result is: Its not us you need to ask company B.
  3960.  
  3961. Now consider N companies with company 1 supplying a part/container and
  3962. companies 2 through N supplying the market with a needed second part
  3963. to make the overall product useful.  A user requests company A add a
  3964. feature and the feature really belongs to the secondary part.  Except now
  3965. we have a new problem the market for parts 2,N is much larger than this
  3966. specific product and companies 2,N don't see a need to add this feature.
  3967. Company 1 and the user of this product are basically out of luck.
  3968.  
  3969. I guess this boils down to: I feel anxious over the expected amount
  3970. of implicit inter-dependence among developer firms that OpenDoc seems
  3971. to require and expects to create.
  3972.  
  3973. Actually there is a really good model of this.  Consider an application
  3974. framework or even just a OO application where most of the functionality
  3975. has been factored into separate objects.  You decouple the functionality
  3976. of one thing from others to make it more useful -- this sounds like what
  3977. OpenDoc is supposed to do.  However, as anyone who has done this knows,
  3978. the semantics of object interaction becomes harder to document, maintain
  3979. and learn. Overall complexity increases.  This is an okay situation for a
  3980. programmer (or team) because their main goal is then to keep things well
  3981. documented and in sync with the main design, i.e. constantly work at 
  3982. avoiding entropy.  What I am getting at above is that with OpenDoc there
  3983. is no programmer or team in charge of keeping sanity.  Yes some people
  3984. may step into the role but it is not at the same (and possibly needed)
  3985. level.  In the end the users really plays the role of "the invisible glue".
  3986. Left to itself I wonder if the market won't diverge into chaos.
  3987.  
  3988. Sounds scary.
  3989.  
  3990. Chris.
  3991.  
  3992. PS Don't misunderstand me, as a power user I think OpenDoc sounds cool.  I
  3993. would love to be able to move my Mac vim code into a part and use it
  3994. in all my editors.
  3995.  
  3996. +++++++++++++++++++++++++++
  3997.  
  3998. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  3999. Date: Tue, 27 Jun 1995 18:46:03 +0100
  4000. Organization: P&P
  4001.  
  4002. In article <woody-2506951647480001@192.0.2.1>,
  4003. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4004.  
  4005. > The upshot of this is that OpenDoc, while a wonderful new programming
  4006. > and user interface paradigm, probably won't affect many of us
  4007. > on the net. Unless we really do put together complex, compound
  4008. > documents for a living.
  4009.  
  4010. Oh yes? Never heard of Cyberdog, then?
  4011.  
  4012. Paolo
  4013.  
  4014. ======================================================================
  4015. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4016. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4017. software engineer        |             pcordone@homer.itp.ie
  4018. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4019. specialist               |      http://intac.com/~gilesrd/paologc.html
  4020. ======================================================================
  4021.  
  4022. +++++++++++++++++++++++++++
  4023.  
  4024. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  4025. Date: Tue, 27 Jun 1995 18:46:04 +0100
  4026. Organization: P&P
  4027.  
  4028. In article <nagleDArFqA.JD8@netcom.com>,
  4029. nagle@netcom.com (John Nagle) wrote:
  4030.  
  4031. >     As a final nail in the coffin, the usual suggestion for "compound
  4032. > documents" involves tying together spreadsheets and word processor documents.
  4033. > And who makes the leading spreadsheet and the leading word processor for
  4034. > the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  4035.  
  4036. But why are you only considering things like writing papers and doing
  4037. layout jobs? OpenDoc will also address editors for the most different
  4038. tasks, like reading usenet, personal email and WWW.
  4039. Example, you have a container filled with text, you want to send that text
  4040. as mail. All you would have to do is to drag a 'mailer' stationery into
  4041. that container and there you go. A simple text file has been converted to a
  4042. mail which can be sent.
  4043. Something like that.
  4044.  
  4045. Paolo
  4046.  
  4047. ======================================================================
  4048. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4049. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4050. software engineer        |             pcordone@homer.itp.ie
  4051. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4052. specialist               |      http://intac.com/~gilesrd/paologc.html
  4053. ======================================================================
  4054.  
  4055. +++++++++++++++++++++++++++
  4056.  
  4057. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  4058. Date: Tue, 27 Jun 1995 19:12:24 GMT
  4059. Organization: BSD -- Academic Computing
  4060.  
  4061. In article <woody-2706950356570001@192.0.2.1>,
  4062. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4063.  
  4064. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  4065. > > > Or QuickDraw GX.
  4066. > > 
  4067. > > How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  4068. > > then I got 4 years worth of 3D graphics code sitting on my disc that does
  4069. > > not use much at all of the MacToolbox. However I am considering QuickDraw
  4070. > > 3D for new stuff if only becuase it will give me access to hardware
  4071. > > support for 3D as it becomes available on the mac.
  4072. > A gentle reminder.
  4073. > QuickDraw GX was advocated as a cutting-edge technology to allow the 
  4074. > easier creation of applications which provide typesetting services.
  4075. > The add-on market then was endless; it would make it infinitely easier
  4076. > to produce page layout programs, typesetting programs, and would allow
  4077. > greater flexability in page layout.
  4078.  
  4079. And it has not been out for public consumption for very long either. If
  4080. you want to compare it on the merits of the other three (Publish and
  4081. Subscribe, Apple Events, and Apple Script) which have been out for quite a
  4082. bit longer. AppleScript is the newest of the three and has caught on in a
  4083. very short period of time. As developers adopt products folks use them. As
  4084. I said, I personally have no use for typography. GX's largest problem to
  4085. date has been it's phenomonal slip. When I was working for AlphaGraphics
  4086. in the late 80's GX was slated to be part of the impending system 7
  4087. release. At that time I was concerned with Typography, here it is over 5
  4088. years later and GX has arrived.
  4089.  
  4090. > It was the major technological advance which would make things easier
  4091. > than ever for developers, allow significant after-market opportunities,
  4092. > and it would clean windows, too. (Or at least clean Microsoft Window's
  4093. > clock.)
  4094.  
  4095. I hve never stated that any Apple Technology will clean Microsofts clock.
  4096. That job is left to developers NOT folks that write OS's. People don't buy
  4097. computers becuase OS x is better than OS y. They buy them becuase they
  4098. have software that runs great under OS x, as opposed to OK under OS y.
  4099.  
  4100. > In fact, much of the hype sounded pretty much the same. Or at least
  4101. > enough the same that I actually invested a fair amount of time figuring
  4102. > out exactly what QuickDraw GX was. And to be honest, it was a wonderful
  4103. > technological advance that was never needed by the market.
  4104.  
  4105. You seem to be able to accurately peg markets before they have a chance to
  4106. develop. As I stated QuickDraw GX has been out for less than a year now.
  4107. And it is making inroads. I would not count it all the way out yet. I read
  4108. in MacWeek every few weeks that some company or another is going to write
  4109. their next app wiht GX. This coupled with the fact that lotsa folks have
  4110. lots of inherited code that does lots of what GX does which gives them
  4111. less impetious to move to GX. But new product seem to be coming out that
  4112. suppor it, it makes development time shorter.
  4113.  
  4114. Jer,
  4115.  
  4116. -- 
  4117. Jerome Jahnke
  4118. BSD Academic Computing
  4119. University of Chicago
  4120. j-jahnke@uchicago.edu
  4121.  
  4122. +++++++++++++++++++++++++++
  4123.  
  4124. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4125. Date: Tue, 27 Jun 1995 12:29:26 -0800
  4126. Organization: In Phase Consulting
  4127.  
  4128. In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4129. (Laurent Humbert) wrote:
  4130.  
  4131. > >[OpenDoc ?]
  4132. > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4133. > ODF.
  4134.  
  4135. And the really cool part is that if you write your application under
  4136. the MFC framework, you get Macintosh compatability for free.
  4137.  
  4138. (Just like OpenDoc. Er, hang on a sec'; wasn't that one of the Big
  4139. Deals that OpenDoc gave you that you couldn't get anywhere else?
  4140. Hmmmm. Gotta rethink that one, should we.)
  4141.  
  4142.                                                         - Bill
  4143.  
  4144. Who refuses to sing "Cumbya, My Lord" in union with everyone else,
  4145. even if the leader of the band is his favorite computer company, Apple.
  4146.  
  4147. -- 
  4148. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4149. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4150. 337 W. California #4  |  Fax:    (818) 502-1467
  4151. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4152.  
  4153. +++++++++++++++++++++++++++
  4154.  
  4155. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4156. Date: Tue, 27 Jun 1995 12:33:17 -0800
  4157. Organization: In Phase Consulting
  4158.  
  4159. pamolo@internet-eireann.ie (Paolo G. Cordone) wrote:
  4160.  
  4161. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4162. > > The upshot of this is that OpenDoc, while a wonderful new programming
  4163. > > and user interface paradigm, probably won't affect many of us
  4164. > > on the net. Unless we really do put together complex, compound
  4165. > > documents for a living.
  4166. > Oh yes? Never heard of Cyberdog, then?
  4167.  
  4168. Yes I have, and it's the coolest thing in the world! It'll allow
  4169. us to do things we *never* have done before, like, er, post news,
  4170. and like, ummmm..., send e-mail, and even, er, ah, read Web pages,
  4171. hmmmmmmmm...
  4172.  
  4173. *sigh*
  4174.  
  4175. What was Cyberdog again? 
  4176.  
  4177. And what was so insanely special about it that I can't already do with 
  4178. a half a dozen other programs (aside from it's technological coolness 
  4179. and the fact that it is written as separate components inside an OpenDoc 
  4180. framework)?
  4181.  
  4182.                                                 - Bill
  4183.  
  4184. The dont_impress_me_with_technology,_show_me_what_I_can_get_done_with_it
  4185. sorta guy.
  4186.  
  4187. -- 
  4188. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4189. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4190. 337 W. California #4  |  Fax:    (818) 502-1467
  4191. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4192.  
  4193. +++++++++++++++++++++++++++
  4194.  
  4195. >From taggart@scopus.com (J. Taggart Gorman)
  4196. Date: Wed, 28 Jun 1995 00:53:08 GMT
  4197. Organization: Scopus Technology, Inc.
  4198.  
  4199. In article <woody-2706951229260001@192.0.2.1>, woody@alumni.cco.caltech.edu (William Edward Woody) writes:
  4200. >In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4201. >(Laurent Humbert) wrote:
  4202. >
  4203. >> >[OpenDoc ?]
  4204. >> 
  4205. >> FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4206. >> ODF.
  4207. >
  4208. >And the really cool part is that if you write your application under
  4209. >the MFC framework, you get Macintosh compatability for free.
  4210.  
  4211.   I'm not going to hop in on the OpenDoc thread, but I will make nasty noises
  4212. at Bill's statement of "Macintosh compatability for free".
  4213.  
  4214.   I take it you've never actually used the Visual C++ cross compiler, eh?
  4215. If you have, and you've gotten your MFC app to work for free, then either the
  4216. app you compiled must have about 10 lines of code, or you got a better cross
  4217. compiler than me.  ;)
  4218.  
  4219.   VC Cross Compiler for Macintosh is an insult.  I won't say anything more.
  4220.  
  4221. >Who refuses to sing "Cumbya, My Lord" in union with everyone else,
  4222. >even if the leader of the band is his favorite computer company, Apple.
  4223.  
  4224.   Hey, if everyone agreed on everything, we'd still be using MS-DOS.  (Well,
  4225. DOS is still good for Doom...)
  4226.  
  4227. - -
  4228. J. Taggart Gorman
  4229. taggart@scopus.com
  4230. All Hail BEPPE, the "New Age" God of Computers for the 3rd millenium!
  4231.  
  4232.  
  4233.  
  4234. +++++++++++++++++++++++++++
  4235.  
  4236. >From jim@melongem.com (Jim Lloyd)
  4237. Date: Tue, 27 Jun 1995 21:00:58 -0700
  4238. Organization: MelonGem Productions
  4239.  
  4240. In article <woody-2706950406150001@192.0.2.1>,
  4241. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4242.  
  4243. >Look, I have nothing against OpenDoc. And, to be honest, I'm spending
  4244. >a lot of time trying to figure out what OpenDoc is about, and in my
  4245. >spare time I'm learning how to write software for OpenDoc.
  4246. >
  4247. >Why?
  4248. >
  4249. >Because I could be wrong. And because it doesn't cost me anything to
  4250. >spend some time learning a new technology.
  4251. >
  4252. >However, I honestly don't believe this technology is going to take
  4253. >off in the ways that everyone is daydreaming about. And honestly I
  4254. >don't think it's going to live up to the high expectations that people
  4255. >have of the technology.
  4256. >
  4257. >And because I believe that an honest and reasonable analysis of
  4258. >the market forces that are currently under way would reveal that all
  4259. >of the hopes (OpenDoc as a superior replacement for Visual Basic for
  4260. >Windows?) and dreams (filter components which mediate sending e-mail?)
  4261. >won't make a significant impact in the overall shape of the market.
  4262.  
  4263. Ok, I won't argue against this opinion.  I agree that market forces can
  4264. sometimes turn technically superior products into failures, and it's too
  4265. soon to tell what the market will do with OpenDoc.  However, you're
  4266. initial arguments seemed to be on the level of "OpenDoc is just a compound
  4267. document architecture, which we already have, and nobody uses, because
  4268. there is no need".  Even Microsoft doesn't use this kind of argument
  4269. against OpenDoc.
  4270.  
  4271. - ---------------------------------------------------------------------
  4272. Jim Lloyd                                              jim@melongem.com
  4273. Software Consultant                                     v. 415-964-8500
  4274. MelonGem Productions                                    f. 415-964-6888
  4275.                  "At our convenience, at your expense."
  4276.  
  4277. +++++++++++++++++++++++++++
  4278.  
  4279. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  4280. Date: Wed, 28 Jun 1995 05:56:34 GMT
  4281. Organization: BSD -- Academic Computing
  4282.  
  4283. In article <woody-2706951229260001@192.0.2.1>,
  4284. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4285.  
  4286. > In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4287. > (Laurent Humbert) wrote:
  4288. > > >[OpenDoc ?]
  4289. > > 
  4290. > > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4291. > > ODF.
  4292. > And the really cool part is that if you write your application under
  4293. > the MFC framework, you get Macintosh compatability for free.
  4294.  
  4295. Come ON! You are banging Apple Evangalism for their stance on OpenDoc and
  4296. you say something like this?? Have you #1) Tried to do this (MFC program
  4297. under both Mac and Windows) and #2) Seen the results of such efforts??
  4298. Seems to me you are doing our devils advocating a bit more than necessary
  4299. here. There are serious problems with MFC on the Mac side, the least of
  4300. which seems to be a severe memory leak. Now I will say that MFC is a
  4301. rather nice Windows lib, however I like OWL better, it is more my flavor,
  4302. kinda like PowerPlant vs MacApp. MFC is more like MacApp, and OWL is more
  4303. like PowerPlant.
  4304.  
  4305. > (Just like OpenDoc. Er, hang on a sec'; wasn't that one of the Big
  4306. > Deals that OpenDoc gave you that you couldn't get anywhere else?
  4307. > Hmmmm. Gotta rethink that one, should we.)
  4308.  
  4309. OpenDoc is cross platform. And ODF is more so. Both are out and working.
  4310. No amount of cross platform work will EVER be one source file will compile
  4311. for both platforms.
  4312.  
  4313. Jer,
  4314.  
  4315. -- 
  4316. Jerome Jahnke
  4317. BSD Academic Computing
  4318. University of Chicago
  4319. j-jahnke@uchicago.edu
  4320.  
  4321. +++++++++++++++++++++++++++
  4322.  
  4323. >From awiner@us.oracle.com (Adam Winer)
  4324. Date: Tue, 27 Jun 1995 20:17:28 -0800
  4325. Organization: Oracle Corp.
  4326.  
  4327. In article <woody-2706951229260001@192.0.2.1>,
  4328. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4329.  
  4330. >In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4331. >(Laurent Humbert) wrote:
  4332. >
  4333. >> >[OpenDoc ?]
  4334. >> 
  4335. >> FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4336. >> ODF.
  4337. >
  4338. >And the really cool part is that if you write your application under
  4339. >the MFC framework, you get Macintosh compatability for free.
  4340.  
  4341. You don't really believe this, do you?  Even Microsoft doesn't claim
  4342. that you can use Wings, switch to the Mac target, and get anything
  4343. even remotely good enough for a commercial app.  Performance,
  4344. look-and-feel, and feature set (both on the Windows side and Mac
  4345. side) of VC++-ported apps just don't cut it without some serious
  4346. direct-to-Toolbox hacking.  Hell, I've even been told by MS employees
  4347. to avoid using VC++/Wings/MFC if at all possible.
  4348.  
  4349. Seriously, Bill, you don't have to sing "Cumbaya" with us,
  4350. but you also don't have to wield a pitchfork!
  4351. -- 
  4352. Adam Winer
  4353. awiner@us.oracle.com
  4354. If Oracle has any opinions, these aren't them.
  4355.  
  4356. +++++++++++++++++++++++++++
  4357.  
  4358. >From Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews)
  4359. Date: Wed, 28 Jun 1995 10:01:07 -0500
  4360. Organization: Dartmouth College
  4361.  
  4362. In article <woody-2706951233170001@192.0.2.1>,
  4363. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4364.  
  4365. > What was Cyberdog again? 
  4366. > And what was so insanely special about it that I can't already do with 
  4367. > a half a dozen other programs (aside from it's technological coolness 
  4368. > and the fact that it is written as separate components inside an OpenDoc 
  4369. > framework)?
  4370.  
  4371. Off the top of my head:
  4372.  
  4373. * It keeps a unified log and hotlist that is shared between my FTP client,
  4374. gopher client, web browser, etc., without limiting me to software from one
  4375. company.
  4376.  
  4377. * It lets me put real Internet data, as opposed to an ugly URL that must
  4378. be copy/pasted or cmd-clicked, in arbitrary documents.
  4379.  
  4380. * It lets me enhance my browsers incrementally.  If I want my web browser
  4381. to have VRML support I don't have to wait for my browser vendor to get
  4382. around to it, or for someone else to implement the union of the browser
  4383. features I like and VRML; I just have to wait for someone to write a VRML
  4384. part.  Today I can't get inline JPEGs without ditching MacWeb for
  4385. Netscape; with Cyberdog I can choose software with finer granularity.
  4386.  
  4387. * It lets me keep writing Internet software.  For example, I wrote and
  4388. maintain an Internet e-mail program.  These days, an e-mail program should
  4389. allow the inline viewing and editing of any sort of content that has a
  4390. MIME type assigned.  But there's no way I can do that, and with today's
  4391. technology I can either give up or do a half-baked job.  With OpenDoc
  4392. there's an opportunity to harness viewers and editors written by others,
  4393. without giving up the features of my e-mail program that I want to keep. 
  4394. And it's a much saner approach to software engineering: enhancing the
  4395. program to support a new data type won't require new releases, new testing
  4396. cycles, etc.  OpenDoc could let me get off the upgrade treadmill without
  4397. leaving my program to stagnate.
  4398.  
  4399. To me OpenDoc feels a lot like the Mac Toolbox did in 1984.  It was a lot
  4400. to get your mind around, and made programming an order of magnitude
  4401. harder.  A devil's advocate could easily ridicule the payoff from all this
  4402. trouble: what makes a Mac menu so much more powerful than the ones in the
  4403. DOS version of 1-2-3?  But in the final analysis the Toolbox made it
  4404. possible to write programs that we just couldn't have written under DOS,
  4405. and we're the better for it.  OpenDoc may not slay Microsoft, but in 5-10
  4406. years I suspect that non-component software will look like DOS software in
  4407. the early 90s; it just won't seem right.  After seeing Cyberdog at WWDC my
  4408. reaction was "Why isn't the Copland Finder a Cyberdog part?"  The Copland
  4409. Finder looks to be an amazing program, but once you get the OpenDoc bug it
  4410. seems awfully limiting to bottle up that functionality in a single
  4411. application.
  4412.  
  4413. Jim Matthews
  4414. Dartmouth Software Development
  4415. <http://www.dartmouth.edu/pages/softdev/>
  4416.  
  4417. +++++++++++++++++++++++++++
  4418.  
  4419. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4420. Date: Wed, 28 Jun 1995 13:38:17 -0800
  4421. Organization: In Phase Consulting
  4422.  
  4423. In article <DAuyGL.Jtt@scopus.com>, taggart@scopus.com wrote:
  4424.  
  4425. >   I take it you've never actually used the Visual C++ cross compiler, eh?
  4426. > If you have, and you've gotten your MFC app to work for free, then either the
  4427. > app you compiled must have about 10 lines of code, or you got a better cross
  4428. > compiler than me.  ;)
  4429.  
  4430. Ah, yes; let's all pull out our programming phallises and see which one
  4431. is longer. (10 lines of code? Yeah, right...)
  4432.  
  4433. Look, _nothing_ is for free. Even portability when writing code with
  4434. OpenDoc is not for free; not by any stretch of the imagination. And
  4435. the Microsoft Visual C++ cross compiler environment for the Macintosh
  4436. really sucks big time; it produces lousy code, and the MFC framework
  4437. is a real loser, in my book. (Not that it's from Microsoft you understand;
  4438. but because technically it bites big time.)
  4439.  
  4440. On the other hand, with some of the discussion about how wonderful
  4441. OpenDoc is because it provides 'portability for free'--first, it's
  4442. not the only tool out there claiming that, and second, portability
  4443. does not come for free by any stretch of the imagination. And frankly,
  4444. like MFC, OpenDoc may not even be the right answer for portability.
  4445. (Depends on how Novell does in it's port to Windows.)
  4446.  
  4447.                                                 - Bill
  4448.  
  4449. -- 
  4450. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4451. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4452. 337 W. California #4  |  Fax:    (818) 502-1467
  4453. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4454.  
  4455. +++++++++++++++++++++++++++
  4456.  
  4457. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4458. Date: Wed, 28 Jun 1995 13:58:07 -0800
  4459. Organization: In Phase Consulting
  4460.  
  4461. jim@melongem.com (Jim Lloyd) wrote:
  4462.  
  4463. > Ok, I won't argue against this opinion.  I agree that market forces can
  4464. > sometimes turn technically superior products into failures, and it's too
  4465. > soon to tell what the market will do with OpenDoc.  However, you're
  4466. > initial arguments seemed to be on the level of "OpenDoc is just a compound
  4467. > document architecture, which we already have, and nobody uses, because
  4468. > there is no need".  Even Microsoft doesn't use this kind of argument
  4469. > against OpenDoc.
  4470.  
  4471. Nice summary. However, you got it wrong.
  4472.  
  4473. However, let *me* summarize what *I* am saying.
  4474.  
  4475. 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4476.     updates across multiple applications."
  4477.  
  4478. me: If hot-links were so darned important and so darned cool, then why
  4479.     wait for OpenDoc? Use Publish and Subscribe. 
  4480.  
  4481.     If people aren't using Publish and Subscribe, then perhaps it's because
  4482.     hot-links are not all that hyper-special and cool.
  4483.  
  4484. 2)  "OpenDoc provides wonderful interapplication interaction."
  4485.  
  4486. me: If interapplication interaction was do darned cool, then why wait
  4487.     for OpenDoc? Use AppleEvents.
  4488.  
  4489.     If people aren't using AppleEvents, then perhaps it's because
  4490.     interapplication interaction is not all that hyper-special and cool.
  4491.  
  4492. 3)  "OpenDoc provides a compound docoument-centric interface that's really
  4493.     cool."
  4494.  
  4495. me: (Note: I never said compound documents are already here.)
  4496.  
  4497.     That's really a neat idea. However, compound documents are only
  4498.     really useful in the standard business applications--spreadsheets,
  4499.     word processors, project management, etc.
  4500.  
  4501.     Those markets are already fully saturated by the big players, with
  4502.     Microsoft being the biggest.
  4503.  
  4504.     Is OpenDoc going to help us put together really cool business
  4505.     applications? Yes. Will we see any revenue or return from our
  4506.     programming investment from putting together really cool business
  4507.     applications? Only if Microsoft (or another big player already in
  4508.     this fully saturated market) picks up the tool and puts into a
  4509.     new revision of their product.
  4510.  
  4511. 4)  I have been told by some at Apple that "OpenDoc is the Microsoft
  4512.     Killer." (That's why Microsoft is trying to kill OpenDoc.) That is,
  4513.     "OpenDoc will allow smaller software developers to effectively pick
  4514.     Microsoft's choakhold on the business software market apart."
  4515.  
  4516. me: People do not buy individual software tools. They buy pre-packaged
  4517.     software packages. (That's why Microsoft Office is so darned
  4518.     successful--a one stop solution.)
  4519.  
  4520.     So, we basically reduce this argument to the same as for #3, above.
  4521.  
  4522.  
  4523.  
  4524. Now, since making my initial arguments, I have had a number of issues
  4525. brought to my attention. And I honestly do not know enough about the
  4526. heart of the OpenDoc API to be able to make a reasonable judgement if
  4527. what I am being told is hype or honest truth.
  4528.  
  4529. Those people have basically responded to arguments (1) and (2) above:
  4530.  
  4531. 1a) People didn't use Publish and Subscribe, not because on-the-fly
  4532.     updates isn't cool, but because Publish and Subscribe sucks.
  4533.     OpenDoc allows us to do Publish and Subscribe-like things in a
  4534.     much easier and more natural way.
  4535.  
  4536. 2a) People didn't use AppleEvents, not because interapplication linking
  4537.     isn't cool, but because AppleEvents sucks. (Agreed, BTW.) OpenDoc
  4538.     allows us to do interapplication linking-like things in a much
  4539.     easier and more natural way.
  4540.  
  4541. Now I've gotten one interesting bit of e-mail which suggested that
  4542. OpenDoc, like any good paradigm shift, makes things hard at first (because
  4543. you need to bend your brain to fit into the new paradigm).  I have
  4544. nothing against bending my brain (it's good to occassionally crack the
  4545. crust off your brain by twisting it), and so the paradigm shift
  4546. doesn't really bother me. But on the other side, the question in my
  4547. mind still stands:
  4548.  
  4549.     Does OpenDoc really make interapplication operation and Publish-
  4550.     and-Subscribe easier?
  4551.  
  4552. There are two issues which surround this, which I need to answer for
  4553. myself.
  4554.  
  4555. The first is: when getting multiple applications to work together, they
  4556. must agree on what they are talking about in the first place. (It would
  4557. make no sense for a mail-tool to ask Micrsoft Excel to e-mail an outgoing
  4558. message, would it?) Does OpenDoc mediate this? How? And does OpenDoc
  4559. define the standards two applications use on having a conversation?
  4560.  
  4561. If so, then doesn't this also constitute an added level of complications?
  4562. (A good level which we need, regardless if OpenDoc takes off or not.)
  4563. If not, then how are we supposed to get our applications to work
  4564. together? (Shucks we can't even have a conversation about OpenDoc
  4565. before some wise-ass (me) gets in there and pisses people off!)
  4566.  
  4567. The second is: when getting on-the-fly updates to work, I do know that 
  4568. applications can default to sending raw pictures and text if they
  4569. cannot mediate on a common specification language for those updates.
  4570.  
  4571. Does OpenDoc define other types of conversations? Or is that up to us?
  4572. (Basically it's the same question as above, except for applying to
  4573. imbeded applications.)
  4574.  
  4575.  
  4576. Well, I'm off to read the API specifications.
  4577.  
  4578.                                                 - Bill
  4579.  
  4580. -- 
  4581. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4582. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4583. 337 W. California #4  |  Fax:    (818) 502-1467
  4584. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4585.  
  4586. +++++++++++++++++++++++++++
  4587.  
  4588. >From mta@umich.edu (Mike Alexander)
  4589. Date: Wed, 28 Jun 1995 18:15:02 -0400
  4590. Organization: University of Michigan
  4591.  
  4592. In article <Jim.Matthews-2806951001070001@kip-2-sn-103.dartmouth.edu>,
  4593. Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews) wrote:
  4594.  
  4595. > In article <woody-2706951233170001@192.0.2.1>,
  4596. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4597. > > What was Cyberdog again? 
  4598. > > 
  4599. > > And what was so insanely special about it that I can't already do with 
  4600. > > a half a dozen other programs (aside from it's technological coolness 
  4601. > > and the fact that it is written as separate components inside an OpenDoc 
  4602. > > framework)?
  4603. > Off the top of my head:
  4604.  
  4605. I agree with all you said, but one thing you left out is that it will let
  4606. ordinary people create customized documents which contain elements that
  4607. access the net.  You don't really need to know much about the net to do
  4608. this, and the person using the document doesn't really even need to know
  4609. the net exists.  They just know (to pick a random example) that the
  4610. document contains a description of some companies and also happens to
  4611. contain their current stock prices (or buttons to get them).  This is just
  4612. the first thing that comes to mind, lots more interesting and complex
  4613. examples are possible.  Sure it's possible to do this sort of thing now,
  4614. but it will be a heck of a lot easier with Cyberdog and similar things.
  4615.  
  4616. Mike Alexander              Internet:       mta@umich.edu
  4617. University of Michigan      America Online: MAlexander
  4618. ITD - Research Systems      AppleLink:      UMICH
  4619.  
  4620. +++++++++++++++++++++++++++
  4621.  
  4622. >From Richard Wesley <hawkfish@punchdeck.com>
  4623. Date: 29 Jun 1995 15:41:53 GMT
  4624. Organization: Punch Deck Consulting
  4625.  
  4626. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  4627. >In article <woody-2706951229260001@192.0.2.1>,
  4628. >woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4629. >> And the really cool part is that if you write your application under
  4630. >> the MFC framework, you get Macintosh compatability for free.
  4631. >
  4632. >Come ON! You are banging Apple Evangalism for their stance on OpenDoc and
  4633. >you say something like this?? Have you #1) Tried to do this (MFC program
  4634. >under both Mac and Windows) and #2) Seen the results of such efforts??
  4635. >Seems to me you are doing our devils advocating a bit more than necessary
  4636. >here. There are serious problems with MFC on the Mac side, the least of
  4637. >which seems to be a severe memory leak. Now I will say that MFC is a
  4638. >rather nice Windows lib, however I like OWL better, it is more my flavor,
  4639. >kinda like PowerPlant vs MacApp. MFC is more like MacApp, and OWL is more
  4640. >like PowerPlant.
  4641.  
  4642. Not to mention massive code bloat.  I just talked to a group at Microsoft
  4643. who gave up using MFC/Mac because a vanilla application was 1Mb before they
  4644. added their own code!
  4645.  
  4646. http://www.punchdeck.com/hawkfish/Resume.html
  4647.  
  4648. - --------------------------------------------------------------------------
  4649. Richard Wesley  hawkfish@punchdeck.com | "'Hand it round first, and cut it
  4650. Punch Deck Consulting pnchdeck@aol.com |  afterwards.'" - Lewis Carroll,
  4651.      Macintosh Software Development    |    "Through the Looking Glass"
  4652. - --------------------------------------------------------------------------
  4653.  
  4654.  
  4655.  
  4656. +++++++++++++++++++++++++++
  4657.  
  4658. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  4659. Date: Thu, 29 Jun 1995 18:20:52 +0100
  4660. Organization: P&P
  4661.  
  4662. In article <AC15BB92966813C47B@sw15.demon.co.uk>,
  4663. laurent@sw15.com (Laurent Humbert) wrote:
  4664.  
  4665. > OpenDoc is yet another insanely great new technology by Apple, supposed to
  4666. > change life as we know it.
  4667. > But it's not funny any more....
  4668. > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4669. > ODF.
  4670.  
  4671. Mmm, that sounds to me like in a year's time we (Mac users) we'll have to
  4672. wait for a Windoze version of NewsHopper to come out first before the same
  4673. version ships for the Mac...
  4674.  
  4675. To be honest it is a bit like a slap in the face. After supporting a Mac
  4676. only product and make it successful we are told that the developers now
  4677. will rather concentrate on MS technologies than adopting Apple's latest
  4678. innovations.
  4679. Pity.
  4680.  
  4681. Paolo
  4682.  
  4683. ======================================================================
  4684. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4685. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4686. software engineer        |             pcordone@homer.itp.ie
  4687. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4688. specialist               |      http://intac.com/~gilesrd/paologc.html
  4689. ======================================================================
  4690.  
  4691. +++++++++++++++++++++++++++
  4692.  
  4693. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  4694. Date: Thu, 29 Jun 1995 18:20:54 +0100
  4695. Organization: P&P
  4696.  
  4697. In article <woody-2706951233170001@192.0.2.1>,
  4698. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4699.  
  4700. > Yes I have, and it's the coolest thing in the world! It'll allow
  4701. > us to do things we *never* have done before, like, er, post news,
  4702. > and like, ummmm..., send e-mail, and even, er, ah, read Web pages,
  4703. > hmmmmmmmm...
  4704.  
  4705. Why, then, do you have a computer? It allows you to do things we *never*
  4706. have done before, like, er, write memos, letters, do calculations, and all
  4707. sorts of things we have done for decades without computers.
  4708.  
  4709. It's not *what* we can do, it's *how* we can do which matters.
  4710.  
  4711. IMHO at least.
  4712.  
  4713. Paolo
  4714.  
  4715. ======================================================================
  4716. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4717. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4718. software engineer        |             pcordone@homer.itp.ie
  4719. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4720. specialist               |      http://intac.com/~gilesrd/paologc.html
  4721. ======================================================================
  4722.  
  4723. +++++++++++++++++++++++++++
  4724.  
  4725. >From radix@efn.org (Gregory Jorgensen)
  4726. Date: Wed, 28 Jun 1995 14:10:27 -0800
  4727. Organization: Radix Consulting Inc.
  4728.  
  4729. In article <j-jahnke-2706951412240001@bio-38.bsd.uchicago.edu>,
  4730. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  4731.  
  4732. > I hve never stated that any Apple Technology will clean Microsofts clock.
  4733. > That job is left to developers NOT folks that write OS's. People don't buy
  4734. > computers becuase OS x is better than OS y. They buy them becuase they
  4735. > have software that runs great under OS x, as opposed to OK under OS y.
  4736.  
  4737. If you believe this you have never spent any time in a computer store, or
  4738. working for a corporation with lame policies, or studying in a university
  4739. that's on the Apple or IBM dole. And no matter what we would all like to
  4740. believe, people don't think about whether their software (if they even
  4741. have any) will work on the PC they buy until they get it home. Price is a
  4742. big, if not the biggest, deciding factor in PC sales. Availability and
  4743. selection are probably the next biggest factor.
  4744.  
  4745. OpenDoc will matter to developers. It won't matter to end-users no matter
  4746. how cool it is. When we have software that will let someone "who doesn't
  4747. know computer" "punch a button" and "do a report and graph for them" then
  4748. we'll have something. And those users won't care who makes the box (as if
  4749. they do now). [The quotes are a composite of things I regularly hear from
  4750. clients.]
  4751.  
  4752. -- 
  4753. Gregory Jorgensen
  4754. radix consulting inc
  4755. radixinc@aol.com, radix@efn.org
  4756.  
  4757. "I would consent to have a limb amputated to recover my spirits." -- Samuel Johnson
  4758.  
  4759. +++++++++++++++++++++++++++
  4760.  
  4761. >From Karl Armstrong <jonathan.k.armstrong@cdev.com>
  4762. Date: 29 Jun 1995 17:38:58 GMT
  4763. Organization: Computing Devices Int.
  4764.  
  4765. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4766. >3)  "OpenDoc provides a compound docoument-centric interface that's really
  4767. >    cool."
  4768. >
  4769. >me: (Note: I never said compound documents are already here.)
  4770. >
  4771. >    That's really a neat idea. However, compound documents are only
  4772. >    really useful in the standard business applications--spreadsheets,
  4773. >    word processors, project management, etc.
  4774. >
  4775. >    Those markets are already fully saturated by the big players, with
  4776. >    Microsoft being the biggest.
  4777. >
  4778. >    Is OpenDoc going to help us put together really cool business
  4779. >    applications? Yes. Will we see any revenue or return from our
  4780. >    programming investment from putting together really cool business
  4781. >    applications? Only if Microsoft (or another big player already in
  4782. >    this fully saturated market) picks up the tool and puts into a
  4783. >    new revision of their product.
  4784.  
  4785. As I said before, early in this discussion, compound docs are not just for
  4786. business applications. It's not really that hard to image a game system 
  4787. based on component software, where the player's environment is a kind of 
  4788. "compound document". It's a new concept (at least for computer games) but 
  4789. it something that should work naturally. It's also not too hard to think 
  4790. of a software engineering project file (not the individual source files) 
  4791. as a compound document; in fact all the current software development 
  4792. systems depend heavily on IPC. A graphics package based on component 
  4793. software already exists; it's called Photoshop. 
  4794.  
  4795. It's hard to imagine M$ and the other big boys getting all the good
  4796. ideas, and even if they do there's a proven market for plug-ins (Photoshop) 
  4797. that sets a good precedent for small OD developers.
  4798.  
  4799. Do existing solutions already exist?  Partially, but there is a mixture of
  4800. solutions (AppleEvents, Publish&Subscribe, Drag Manager, proprietary plug-ins,
  4801. etc...) and none of them are perfect. OD is a logical next step, and though 
  4802. it won't ever be perfect either, it will give Apple an advantage.
  4803.  
  4804. -- 
  4805. Karl Arsmtrong
  4806. Computing Devices Int.
  4807. (303) 779-7702
  4808. (303) 779-7704 (fax)
  4809.  
  4810.  
  4811. +++++++++++++++++++++++++++
  4812.  
  4813. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  4814. Date: Sun, 02 Jul 1995 14:57:32 +0800
  4815. Organization: Department of Computer Science, University of Western Australia
  4816.  
  4817. In article <Jim.Matthews-2806951001070001@kip-2-sn-103.dartmouth.edu>,
  4818. Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews) wrote:
  4819.  
  4820. >After seeing Cyberdog at WWDC my
  4821. >reaction was "Why isn't the Copland Finder a Cyberdog part?"
  4822.  
  4823. Well the simple answer to that is that the Gershwin Finder *will* be an
  4824. OpenDoc part.  I think Copland development is too far down the track for
  4825. such a crucial component to be dependent on a technology that isn't
  4826. finished yet.
  4827.  
  4828. Share and Enjoy.
  4829. --
  4830. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  4831.                           for a space army about now."
  4832. >From elarson@metronj.org (eric larson)
  4833. Subject: Why fuss over OpenDoc?
  4834. Date: 01 Jul 95 09:39:42 
  4835. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  4836.  
  4837.  > People seem to be getting very excited about OpenDoc. Could someone
  4838.  > explain to a person like me (who doesn't create complicated documents
  4839.  > with charts and pictures) what there is to get excited about OpenDoc?
  4840.  
  4841. The main reason somebody like you would be interested in OpenDoc is that you
  4842. wouldn't have to carry around all the excess baggage that is present in a
  4843. modern monolithic program; say like Word 6. If all you need is a few simple
  4844. tools, that's all you would install.
  4845. >From elarson@metronj.org (eric larson)
  4846. Subject: Why fuss over OpenDoc?
  4847. Date: 01 Jul 95 13:07:14 
  4848. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  4849.  
  4850.  > However, let *me* summarize what *I* am saying.
  4851.  
  4852.  > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4853.  >     updates across multiple applications."
  4854.  
  4855.  > me: If hot-links were so darned important and so darned cool, then why
  4856.  >     wait for OpenDoc? Use Publish and Subscribe.
  4857.  
  4858.  >     If people aren't using Publish and Subscribe, then perhaps it's
  4859.  > because
  4860.  >     hot-links are not all that hyper-special and cool.
  4861.  
  4862. Or it might be because Publish and Subscribe is a bletcherous implementation of
  4863. hot links. Even the name makes one feel sort of woozy around the edges. Why
  4864. call it something impenetrable like "Publish and Subscribe" when it could be
  4865. called something like Hot Links? Similarly to QuickDraw GX. How can the user
  4866. grasp the benefits of a product with a name like that?
  4867.  
  4868. Seriously, the argument that a certain feature idea is bad because nobody uses
  4869. an existing implementation is very weak. There is a long history of success
  4870. following those who fix a broken implementation of a basically good idea.
  4871.  
  4872. It's like Intel stating that floating point isn't important because nobody uses
  4873. it. The real truth of the matter may be that nobody uses floating point on
  4874. Intel machines because Intel floating point bites.
  4875.  
  4876. +++++++++++++++++++++++++++
  4877.  
  4878. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4879. Date: Mon, 03 Jul 1995 12:15:55 -0800
  4880. Organization: In Phase Consulting
  4881.  
  4882. elarson@metronj.org (eric larson) wrote:
  4883.  
  4884. > Seriously, the argument that a certain feature idea is bad because nobody uses
  4885. > an existing implementation is very weak. There is a long history of success
  4886. > following those who fix a broken implementation of a basically good idea.
  4887.  
  4888. I know that. That's what I said at the bottom of the same post you just
  4889. quoted from.
  4890.  
  4891. The thing is, I had no idea how much other people disliked Publish and
  4892. Subscribe, or AppleEvents, until this thread was started and people
  4893. started blasting me.
  4894.  
  4895. > It's like Intel stating that floating point isn't important because 
  4896. > nobody uses it. The real truth of the matter may be that nobody uses 
  4897. > floating point on Intel machines because Intel floating point bites.
  4898.  
  4899. But I use floating point on Intel machines all the time. Code for it
  4900. in assembly language, I do. And while it's a little wierd, once you
  4901. get the hang of it Intel floating point is just fine.
  4902.  
  4903. See, that's my point. Until you told me that people don't write
  4904. floating point on Intel machines because it bit, I would have guessed
  4905. that most people don't do floating point on Intel machines because
  4906. they really didn't need floating point in their programming.
  4907. I would never have guessed that people didn't do floating point
  4908. because they disliked it so much.
  4909.  
  4910.                                                 - Bill
  4911.  
  4912. -- 
  4913. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4914. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4915. 337 W. California #4  |  Fax:    (818) 502-1467
  4916. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4917.  
  4918. +++++++++++++++++++++++++++
  4919.  
  4920. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  4921. Date: Wed, 05 Jul 1995 10:52:27 +1200
  4922. Organization: Victoria University of Wellington
  4923.  
  4924. In article <3suofi$n7s@magpie.cdev.com>, Karl Armstrong
  4925. <jonathan.k.armstrong@cdev.com> wrote:
  4926.  
  4927. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4928. > >3)  "OpenDoc provides a compound docoument-centric interface that's really
  4929. > >    cool."
  4930. > >
  4931. > >me: (Note: I never said compound documents are already here.)
  4932. > >
  4933. > >    That's really a neat idea. However, compound documents are only
  4934. > >    really useful in the standard business applications--spreadsheets,
  4935. > >    word processors, project management, etc.
  4936. > >
  4937. > >    Those markets are already fully saturated by the big players, with
  4938. > >    Microsoft being the biggest.
  4939.  
  4940. > As I said before, early in this discussion, compound docs are not just for
  4941. > business applications.
  4942.  
  4943. Absolutely, I can see a number of ways in which OpenDoc will be useful in
  4944. reseach environments, particularly when data analysis is involved standard
  4945. parts can handle display of graphs, tables and graphics while specialist
  4946. parts can do the actual analysis, given that research is fluid and the
  4947. objectives of the analysis software keep changing with the research, this
  4948. should lead to better software being used by more scientists and students.
  4949.  
  4950. I'm sure the same model can be applied elsewhere.
  4951.  
  4952. Stephen
  4953.  
  4954. -- 
  4955. Macintosh Consultant, Victoria University of Wellington, New Zealand
  4956. Stephen.Marshall@vuw.ac.nz
  4957.  
  4958. It is not permitted for this message, in whole or in part,   
  4959. to appear on The Microsoft Network or affiliated networks.
  4960.  
  4961. +++++++++++++++++++++++++++
  4962.  
  4963. >From uminger@mcs.drexel.edu (Matthew Inger)
  4964. Date: Wed, 5 Jul 95 16:24:15 GMT
  4965. Organization: Drexel University, Dept. of Math. and Comp. Sci.
  4966.  
  4967. eric larson (elarson@metronj.org) wrote:
  4968. :  > However, let *me* summarize what *I* am saying.
  4969.  
  4970. :  > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4971. :  >     updates across multiple applications."
  4972.  
  4973. :  > me: If hot-links were so darned important and so darned cool, then why
  4974. :  >     wait for OpenDoc? Use Publish and Subscribe.
  4975.  
  4976. :  >     If people aren't using Publish and Subscribe, then perhaps it's
  4977. :  > because
  4978. :  >     hot-links are not all that hyper-special and cool.
  4979.  
  4980. : Or it might be because Publish and Subscribe is a bletcherous implementation of
  4981. : hot links. Even the name makes one feel sort of woozy around the edges. Why
  4982.  
  4983. As opposed to Object Linking and Embedding?  Now there'es a really 
  4984. friendly name for you.  I do agree however that's it's a pretty crappy
  4985. implemenatation, (Publish and Subscribe) and that OLE is superior here, 
  4986. but OpenDoc will blow it away. Now both names are accurate, but neither is
  4987. friendly.  
  4988. Publish and subscribe.  When you subscribe to a magazine, yhou get the latest
  4989. edition, when you reach in your magazine rack (or something like that).  Just
  4990. like when you subscribe to something on a mac, you get the latest version that
  4991. was published whenever you call up your document.
  4992. Object Linkning and Embedding.  OK>  You have your object (excel table as
  4993. an example), you link it or embed it into a document, it is now part of the
  4994. document. very  true to it's name. 
  4995.  
  4996. Anyway, OLE is better for one big reason:
  4997.         1) Objects exist within the document that they are embedded in.  When
  4998.                 you publish  and subscribe, you have to have a sepereate document 
  4999.                 for the object.  This can be good however, if more than on e
  5000.                 doc is goign to use the exact same object.  But packages take
  5001.                 care of this problem.
  5002.  
  5003. : call it something impenetrable like "Publish and Subscribe" when it could be
  5004. : called something like Hot Links? Similarly to QuickDraw GX. How can the user
  5005. : grasp the benefits of a product with a name like that?
  5006.  
  5007. PostScript?  There's another stupid name for you.  Think aobut it. Post=after,
  5008. Script=write.  After  writing?  Now that's dumb.
  5009.  
  5010. --
  5011. Matt Inger
  5012. uminger@mcs.drexel.edu
  5013. minger@philly.nosc.mil
  5014. http://www.mcs.drexel.edu/~uminger/
  5015. "Remember when you were young?  You shone like the sun."
  5016.  
  5017. +++++++++++++++++++++++++++
  5018.  
  5019. >From cokenias@mtn-palace.com (Damon Cokenias)
  5020. Date: Wed, 05 Jul 1995 23:00:39 -0700
  5021. Organization: Mountain Palace
  5022.  
  5023. In article <1995Jul5.162415.9934@mcs.drexel.edu>, uminger@mcs.drexel.edu
  5024. (Matthew Inger) wrote:
  5025.  
  5026. > PostScript?  There's another stupid name for you.  Think aobut it. Post=after,
  5027. > Script=write.  After  writing?  Now that's dumb.
  5028.  
  5029. I think PostScript is so called because it uses post-fix notation (aka
  5030. reverse Polish notation).
  5031.  
  5032. For example, the familiar MoveTo (100, 200) looks like this in PS:
  5033.  
  5034. 100 200 moveto
  5035.  
  5036. It's much, much easier to parse (don't have to count parenthesis) and
  5037. arguably more difficult to program in.
  5038.  
  5039. -Damon
  5040.  
  5041. +++++++++++++++++++++++++++
  5042.  
  5043. >From Maynard Handley <maynardh@apple.com>
  5044. Date: 6 Jul 1995 17:19:29 GMT
  5045. Organization: Apple Computer
  5046.  
  5047. it seems to me regrading OpenDoc, people are taking the ``Doc'' pat of 
  5048. the name and the reltaed market hype too seriously and ignoring what it 
  5049. seems the technology could achieve.
  5050. My hope is that OD will allow for a rather stronger separation between 
  5051. the behvior of an app and the user interface of an app. 
  5052. For example my app, Sparkle, is designed to play MPEGs on the mac. That's 
  5053. what I really care about. But in addition to MPEG decoding, I have to 
  5054. deal with all sorts of requests from users that are UI issues---for 
  5055. example requesting a playback mode where all screens are blacked, the 
  5056. menu bar hidden and one MPEG is played full screen. 
  5057. Since this is basically a UI issue that is of no interest to me, it never 
  5058. happens. I would hope that if my code were written as an OpenDoc part, 
  5059. something like that would be handled by the overall app within whch I'm 
  5060. embedded and I can ignore it. 
  5061.  
  5062. This is part of a much wider issue. Consider all the different 
  5063. translation/decoding apps out there, everyone with a different UI most of 
  5064. which aren't great. Again maybe these thingswould be better in OD.
  5065.  
  5066. Now in many cases these things are best written as component software 
  5067. within the existing component frameworks---maybe MPEG as a QT media 
  5068. handler, or translation via Translation Manager. But in some cases no 
  5069. such framework obviously exists---eg for decompression of .zip/arj/.gz 
  5070. tyype docs. In other cases a framework is extant but too 
  5071. limited, or difficult to develop and debug in. Regardless it seems to 
  5072. me the hope is that OD provides yet another component software framework, 
  5073. but one much richer than what we've had before and with the limitations 
  5074. of the current systems examined and corrected.
  5075. With this viewpoint, issues like ``no-one uses publish&subsribe or 
  5076. apple-events, or compound documents'' become irrelevant.
  5077.  
  5078. Maynard
  5079. >From elarson@metronj.org (eric larson)
  5080. Subject: Why fuss over OpenDoc?
  5081. Date: 07 Jul 95 20:22:12 
  5082. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  5083.  
  5084.  > As opposed to Object Linking and Embedding?  Now there'es a really
  5085.  > friendly name for you.  I do agree however that's it's a pretty crappy
  5086.  > implemenatation, (Publish and Subscribe) and that OLE is superior here,
  5087.  > but OpenDoc will blow it away. Now both names are accurate, but neither
  5088.  > is friendly.
  5089.  
  5090.  > Publish and subscribe.  When you subscribe to a magazine, yhou get the
  5091.  > latest edition, when you reach in your magazine rack (or something like that
  5092. ).
  5093.  
  5094. etc.. I'm sure that's how Apple justifies the name internally, too. But I think
  5095. it's poor. Too many syllables. Drag 'n Drop. Now you've got something even a
  5096. user can understand.
  5097.  
  5098.  > : called something like Hot Links? Similarly to QuickDraw GX. How can
  5099.  > the user
  5100.  > : grasp the benefits of a product with a name like that?
  5101.  
  5102.  > PostScript?  There's another stupid name for you.  Think aobut it.
  5103.  
  5104. The deal with Postscript is that you don't have to think about it. Buy the
  5105. Apple Laserwriter. Plug it in. Print. Do you see the word Postscript anywhere?
  5106. Maybe on the test page. Which was trashed long ago.
  5107.  
  5108. If OpenDoc makes the user think, it will flop. If not, it will be a big big
  5109. winner.
  5110.  
  5111. "Civilization advances by reducing the number of operations you have to think
  5112. about to get the job done".
  5113.  
  5114. This is why Apple is a 10 billion dollar company. It could be a lot bigger if
  5115. Apple knew how to sell.
  5116.  
  5117. +++++++++++++++++++++++++++
  5118.  
  5119. >From susser@apple.com (Joshua Susser)
  5120. Date: Mon, 10 Jul 1995 18:46:05 GMT
  5121. Organization: Apple Computer, AppleSoft
  5122.  
  5123. Hi Bill.  It's good to see some thoughtful comments about OpenDoc here,
  5124. even if they are somewhat disdainful.  But I have enough confidence in
  5125. OpenDoc's technology and business planning that I think I can convince you
  5126. that we're not wasting our time here.
  5127.  
  5128. In article <woody-2806951358070001@192.0.2.1>,
  5129. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  5130. > However, let *me* summarize what *I* am saying.
  5131. > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  5132. >     updates across multiple applications."
  5133. > me: If hot-links were so darned important and so darned cool, then why
  5134. >     wait for OpenDoc? Use Publish and Subscribe. 
  5135. >     If people aren't using Publish and Subscribe, then perhaps it's because
  5136. >     hot-links are not all that hyper-special and cool.
  5137.  
  5138. OpenDoc improves on the Edition Manager in several ways.  The most
  5139. important one is that it has a much improved user interface.  It's just a
  5140. variation on "Paste" to create a link - no mucking about with edition
  5141. files.  At the programming level, linking is similar to copy/paste or
  5142. drag&drop - it all used the standard storage API for data transfer.  There
  5143. is some extra stuff you have to support for linking, and it's not
  5144. effortless to program, but it's not that awful either.
  5145.  
  5146. > 2)  "OpenDoc provides wonderful interapplication interaction."
  5147. > me: If interapplication interaction was do darned cool, then why wait
  5148. >     for OpenDoc? Use AppleEvents.
  5149. >     If people aren't using AppleEvents, then perhaps it's because
  5150. >     interapplication interaction is not all that hyper-special and cool.
  5151.  
  5152. But people are using Apple Events.  The Mac is the coolest netsurfing
  5153. platform in the universe, largely because of Apple Events.  For example,
  5154. in Newswatcher I can click on a URL and Netscape will go and browse that
  5155. page for me.  That kind of integration has become pervasive among Mac
  5156. Internet client software.  I agree that AppleScript hasn't become the
  5157. market-dominating behemoth it might have, but the technology there is
  5158. sound.  Check out the AppleScript infomercial sometime, and be very
  5159. impressed at what some publishing folks have done with it - they reduced
  5160. their catalog production process by something like two orders of magnitude
  5161. of time and effort, all with AppleScript automation.
  5162.  
  5163. But the big thing that OpenDoc will do for linking and interapp
  5164. interaction comes with the integration of the technologies into the
  5165. OpenDoc experience.  Linking and scripting will operate synergistically
  5166. with embedding and all the other OpenDoc features.  There will be no "now
  5167. I'm doing linking" mode change to think about.  You should be able to
  5168. create an index part that you can embed at the end of a document, that
  5169. uses scripting to generate an index from a list of words.  It would run
  5170. through the various parts in a document, and generate links back to the
  5171. occurances of the words, showing the keyword in context in the index
  5172. itself, keeping itself up to date automatically.
  5173.  
  5174. So no longer will linking and scripting be lone technologies.  They will
  5175. integrate into the total user experience, and so their value will be
  5176. increased from the synergy of that integration.
  5177.  
  5178. > 3)  "OpenDoc provides a compound docoument-centric interface that's really
  5179. >     cool."
  5180. > me: (Note: I never said compound documents are already here.)
  5181. >     That's really a neat idea. However, compound documents are only
  5182. >     really useful in the standard business applications--spreadsheets,
  5183. >     word processors, project management, etc.
  5184.  
  5185. Where did you get an idea like that?  Compound documents are useful for
  5186. all sorts of things.  Don't get fooled by the word "document" there - you
  5187. can build all sorts of things that don't fit into the traditional
  5188. definition of the term.  One thing I use my Mac for a lot is keeping a
  5189. database of my personal contacts.  It would be great to be able to embed
  5190. graphics like maps to houses, pictures, etc.  I'd also like to be able to
  5191. link Eudora's nicknames to an email address field in my database, so I
  5192. only have to keep that info in one place.  And I'd like to have CyberDog
  5193. links to home pages, etc. there as well.  Okay, admittedly I'm a power
  5194. user to the extreme, but you perhaps begin to get the idea.
  5195.  
  5196. Also think of scientific applications, visualization in particular.  Drop
  5197. some parts into a container, connect them together, and you have an
  5198. instant visualization system.  You can do this today with existing
  5199. systems, but they are all very specialized.  OpenDoc would enable that
  5200. kind of system, and include all the standard OpenDoc features as well.
  5201.  
  5202. >     Those markets are already fully saturated by the big players, with
  5203. >     Microsoft being the biggest.
  5204. >     Is OpenDoc going to help us put together really cool business
  5205. >     applications? Yes. Will we see any revenue or return from our
  5206. >     programming investment from putting together really cool business
  5207. >     applications? Only if Microsoft (or another big player already in
  5208. >     this fully saturated market) picks up the tool and puts into a
  5209. >     new revision of their product.
  5210.  
  5211. One thing OpenDoc will do is allow easy construction of custom solutions
  5212. from standard parts.  Imagine being able to produce software for a
  5213. vertical market of one, but with the functionality and robustness of
  5214. applications that are used by millions.  No, I don't envision my barber
  5215. going out and assembling his business software from parts, but I can see
  5216. him paying a small fee for a consultant to do that.  Then he'd have
  5217. exactly the software he'd need to keep a client list, schedule, product
  5218. inventory, and whatever - all integrated into a seamless whole.  This will
  5219. happen whether or not Microsoft or some other big player leads the way,
  5220. because of market evolution.
  5221.  
  5222. > 4)  I have been told by some at Apple that "OpenDoc is the Microsoft
  5223. >     Killer." (That's why Microsoft is trying to kill OpenDoc.) That is,
  5224. >     "OpenDoc will allow smaller software developers to effectively pick
  5225. >     Microsoft's choakhold on the business software market apart."
  5226. > me: People do not buy individual software tools. They buy pre-packaged
  5227. >     software packages. (That's why Microsoft Office is so darned
  5228. >     successful--a one stop solution.)
  5229. >     So, we basically reduce this argument to the same as for #3, above.
  5230.  
  5231. See my response above.  Yes, people don't buy parts and assemble them. 
  5232. How many PC owners bought a motherboard, a power supply, a hard disk, etc.
  5233. and put them together?  We expect component software to sell the same way
  5234. as apps do today.  Instead of buying ClarisWorks or WordPerfect or
  5235. whatever as one app, I'll buy it as a bunch of parts.  It's no harder for
  5236. me to buy that way, and will probably cost the same, but upgrading the
  5237. drawing component will be much easier for both the developer and the
  5238. buyer.  And extending the existing "application" with new functionality
  5239. will also be easier.
  5240.  
  5241. So given that as the basic environment, imagine I'm a guy who has this
  5242. really cool equation editing software.  Right now, it would be hopeless to
  5243. try to sell a product based on that, because it's useless without the
  5244. whole word processor - nobody *just* want's to edit equations, they want a
  5245. equation here or there in some document - and there's no way I can compete
  5246. with Microsoft or whoever selling a word processor.  But with OpenDoc, I
  5247. can create an equation part editor which will work in any part that allows
  5248. embedding.  Suddenly I can sell my software and make money.  There are a
  5249. lot of questions about distribution channels to consider (will the
  5250. equation editor be sold stand alone, as part of a goodies package, over
  5251. the internet, or what?), but at least it's feasible to make money off the
  5252. thing.
  5253.  
  5254. > The first is: when getting multiple applications to work together, they
  5255. > must agree on what they are talking about in the first place. (It would
  5256. > make no sense for a mail-tool to ask Micrsoft Excel to e-mail an outgoing
  5257. > message, would it?) Does OpenDoc mediate this? How? And does OpenDoc
  5258. > define the standards two applications use on having a conversation?
  5259.  
  5260. There are two main mechanisms OpenDoc parts use to interoperate.  One is
  5261. scripting; this uses the standard terminology stuff to indicate
  5262. functionality.  The other is the Extension mechanism, which is lower level
  5263. and higher performance.  Extensions are classified by a standard naming
  5264. scheme.  CI Labs has ownership of the extension registry.  You don't have
  5265. to register a particular extension to get a name for it, but if you do,
  5266. other part developers will know about it and be able to use it.  If you
  5267. publish the specification, other developers can implement that extension
  5268. on their part editors, and your add-on will work with their parts.
  5269.  
  5270. > If so, then doesn't this also constitute an added level of complications?
  5271. > (A good level which we need, regardless if OpenDoc takes off or not.)
  5272. > If not, then how are we supposed to get our applications to work
  5273. > together?
  5274.  
  5275. This stuff doesn't seem very complicated to me, but then, I helped design
  5276. it.  Even so, the standard reaction from developers looking at Extensions
  5277. is "Cool!", not "Gee, this is complicated."  As for the higher-level issue
  5278. of designing solutions built from cooperating parts, well, if the internet
  5279. stuff we've seen on the Mac is a good example, or the Virtual Suite stuff
  5280. takes off, it will work pretty well.
  5281.  
  5282. > The second is: when getting on-the-fly updates to work, I do know that 
  5283. > applications can default to sending raw pictures and text if they
  5284. > cannot mediate on a common specification language for those updates.
  5285. > Does OpenDoc define other types of conversations? Or is that up to us?
  5286.  
  5287. The OpenDoc storage format allows for writing multiple formats for a piece
  5288. of content.  So your word processor can save its own format, RTF and
  5289. ASCII, for example.  It might also save a PICT or bitmap if formatting is
  5290. important.  Multiple formats can be used not only for saving documents,
  5291. but also for data transfer, since clipboard/drag&drop/linking all use the
  5292. storage API for exchanging data.
  5293.  
  5294. The recipe goes like this: The source of the data transfer puts the
  5295. content on the data transfer draft in multiple formats, in order of
  5296. fidelity.  The destination scans through the formats in order they were
  5297. written, looking for a format it can accept.  If there are no formats that
  5298. can be merged with its own content, it will embed the content as a
  5299. separate part.  (The user also has explicit control over the decision if
  5300. desired.)  This applies to linking as well as moving or copying data.
  5301.  
  5302. > Well, I'm off to read the API specifications.
  5303.  
  5304. You mean you've been harping on OpenDoc all this time without any
  5305. background?  Well, once a Techer, always a Techer... :>
  5306.  
  5307. Joshua Susser, Object Contortionist
  5308. Apple Computer - OpenDoc Engineering
  5309. inet: susser@apple.com | link: susser.j | phone: 408/974-6997
  5310.  
  5311. +++++++++++++++++++++++++++
  5312.  
  5313. >From petrich@netcom.com (Loren Petrich)
  5314. Date: Tue, 11 Jul 1995 20:19:29 GMT
  5315. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  5316.  
  5317.         One last thing:
  5318.  
  5319.         When is OpenDoc supposed to be released? I know it's in beta, and 
  5320. I've seen a MacWeek article suggesting some time in September, but I've 
  5321. yet to see any official announcements from Apple about this. I wonder how 
  5322. much longer OpenDoc will be in the limbo that Windoze 4.0 has been in?
  5323.  
  5324. -- 
  5325. Loren Petrich, the Master Blaster       Happiness is a fast Macintosh
  5326. petrich@netcom.com                      And a fast train
  5327. Visit ftp://ftp.netcom.com/pub/pe/petrich
  5328. Or ftp to ftp.netcom.com, then go to /pub/pe/petrich
  5329.  
  5330. ---------------------------
  5331.  
  5332. End of C.S.M.P. Digest
  5333. **********************
  5334.