home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / csmpdigest / csmp-digest-v3-030 < prev    next >
Text File  |  2010-09-21  |  203KB  |  5,124 lines

  1. Received-Date: Wed, 25 May 1994 10:42:28 +0200
  2. From: pottier@clipper.ens.fr (Francois Pottier)
  3. Subject: csmp-digest-v3-030
  4. To: csmp-digest@ens.fr
  5. Date: Wed, 25 May 94 10:42:16 MET DST
  6. X-Mailer: ELM [version 2.3 PL11]
  7. Errors-To: listman@ens.fr
  8. Reply-To: pottier@clipper.ens.fr
  9. X-Sequence: 33
  10.  
  11. C.S.M.P. Digest             Wed, 25 May 94       Volume 3 : Issue 30
  12.  
  13. Today's Topics:
  14.  
  15.         Apple's blatant disregard for User Interface Guidelines
  16.         List Manager clikLoop problem... but whose it?
  17.         Opening a file with C standard i-o routines
  18.         Sym CDK vs CodeWarrior PPC: first impressions
  19.         Where is the inheritance in AE objects?
  20.         [Q] How to prevent _DragWindow from selecting the window?
  21.         [Q] casting Str255 <--> (char*)
  22.  
  23.  
  24.  
  25. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  26. (pottier@clipper.ens.fr).
  27.  
  28. The digest is a collection of article threads from the internet newsgroup
  29. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  30. regularly and want an archive of the discussions.  If you don't know what a
  31. newsgroup is, you probably don't have access to it.  Ask your systems
  32. administrator(s) for details.  If you don't have access to news, you may
  33. still be able to post messages to the group by using a mail server like
  34. anon.penet.fi (mail help@anon.penet.fi for more information).
  35.  
  36. Each issue of the digest contains one or more sets of articles (called
  37. threads), with each set corresponding to a 'discussion' of a particular
  38. subject.  The articles are not edited; all articles included in this digest
  39. are in their original posted form (as received by our news server at
  40. nef.ens.fr).  Article threads are not added to the digest until the last
  41. article added to the thread is at least two weeks old (this is to ensure that
  42. the thread is dead before adding it to the digest).  Article threads that
  43. consist of only one message are generally not included in the digest.
  44.  
  45. The digest is officially distributed by two means, by email and ftp.
  46.  
  47. If you want to receive the digest by mail, send email to listserv@ens.fr
  48. with no subject and one of the following commands as body:
  49.     help                        Sends you a summary of commands
  50.     subscribe csmp-digest Your Name    Adds you to the mailing list
  51.     signoff csmp-digest            Removes you from the list
  52. Once you have subscribed, you will automatically receive each new
  53. issue as it is created.
  54.  
  55. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  56. Questions related to the ftp site should be directed to
  57. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  58. digest are available there.
  59.  
  60. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  61.  
  62.  
  63. -------------------------------------------------------
  64.  
  65. >From jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka)
  66. Subject: Apple's blatant disregard for User Interface Guidelines
  67. Date: 2 May 94 15:26:59 GMT
  68. Organization: Chevron, La Habra, CA
  69.  
  70. Hello,
  71. I've been working on a presentation on Human Factors Engineering.
  72. I am using Apple's User Interface Guidelines as an example.  
  73. What I would like to know is:
  74.   Does Apple violate it's own Guidelines in any of it's System 7  
  75.   software?
  76.   If so, can I easily demonstrate it?
  77.  
  78. Thanks in advance,
  79. John
  80. jjvbl@chevron.com
  81.  
  82. -- 
  83. ===================================================================
  84. John Blyzka                      | jjvbl@chevron.com
  85. "the BLITZ"                      | "only the good die young"
  86.  
  87.  
  88. +++++++++++++++++++++++++++
  89.  
  90. >From cwiltgen@mcs.com (Charles Wiltgen)
  91. Date: Tue, 03 May 1994 19:54:07 -0600
  92. Organization: Lederhosen 'R' Us - Worldwide Leaders in Lederhosen
  93.  
  94. In article <16674@lhdsy1.lahabra.chevron.com>,
  95. jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  96.  
  97. > Hello,
  98. > I've been working on a presentation on Human Factors Engineering.
  99. > I am using Apple's User Interface Guidelines as an example.  
  100. > What I would like to know is:
  101. >   Does Apple violate it's own Guidelines in any of it's System 7  
  102. >   software?
  103. >   If so, can I easily demonstrate it?
  104.  
  105. How 'bout dragging a disk to the trash to eject it?
  106.  
  107. -- 
  108. Charles Wiltgen    "Love is a snowmobile racing across the tundra and
  109. cwiltgen@mcs.com    then suddenly it flips over, pinning you underneath.
  110. (INTP)              At night, the ice weasels come." - Nietzsche (Groening)
  111. World Wide Web      http://venus.mcs.net/~cwiltgen/home.html
  112.  
  113. +++++++++++++++++++++++++++
  114.  
  115. >From rmah@panix.com (Robert S. Mah)
  116. Date: Tue, 03 May 1994 21:57:11 -0500
  117. Organization: One Step Beyond
  118.  
  119. cwiltgen@mcs.com (Charles Wiltgen) wrote:
  120.  
  121. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  122. > > I've been working on a presentation on Human Factors Engineering.
  123. > > I am using Apple's User Interface Guidelines as an example.  
  124. > > What I would like to know is:
  125. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  126. > >   software?  If so, can I easily demonstrate it?
  127. > How 'bout dragging a disk to the trash to eject it?
  128.  
  129. That is, in fact, a wonderful example of the _process_ of iterative
  130. user interface design.  Complete with pragmatic compromises and soul
  131. searching about paradigm stability and all that.
  132.  
  133. There was a thread over in comp.human-factors about this where one of
  134. Apple's Human Interface people stopped by and asked for suggestions.
  135. The winner got a T-shirt.  Suffice it to say that no one could come up
  136. with anything better, given the constraints at hand.  It's a pretty
  137. damn tough problem.
  138.  
  139. Cheers,
  140. Rob
  141. ___________________________________________________________________________
  142. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  143.  
  144. +++++++++++++++++++++++++++
  145.  
  146. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  147. Date: Wed, 4 May 1994 11:13:39 GMT
  148. Organization: PRZ TU-Berlin
  149.  
  150. jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) asked:
  151. >>   Does Apple violate it's own Guidelines in any of it's System 7  
  152. >>   software?
  153. >>   If so, can I easily demonstrate it?
  154.  
  155. cwiltgen@mcs.com (Charles Wiltgen) replied:
  156. >How 'bout dragging a disk to the trash to eject it?
  157.  
  158. Although the semantics and history of this gesture have been
  159. much debated, I find myself asking "What Human Interface
  160. Principle does this violate?" It certainly supports the
  161. principles Direct Manipulation, See-and-Point, and User
  162. Control. Admittedly, it weakens the metaphor of trashcan-
  163. as-device-of-destruction, but since that's not what the
  164. trash can is (it's more a metaphor of device-to-get-things
  165. -off-my-desktop) and metaphors are meant to be *extensible*
  166. ("Metaphors in the computer interface suggest a use for
  167. something, but that use doesn't define or limit the 
  168. implementation of the metaphor", _Macintosh Human Interface
  169. Guidelines_ p. 5), that's not really the problem. 
  170.  
  171. In short, although dragging a disk to the trash (as an
  172. alternative to the Put Away command) may seem to be
  173. a strange gesture, it's not a violation.
  174.  
  175. As far was the original question is concerned, you
  176. can find a number of violations if you want to nit-pick.
  177. For instance, ResEdit 2.1.1 does not use the new,
  178. canonical layout for its "Maybe you want to save
  179. before closing/quitting?" dialog. Also, some of
  180. the recommendations regarding movabale modal
  181. dialogs and modeless dialogs were slow in percolating
  182. through to the entire system software. 
  183.  
  184. I think, however, you will be hard-pressed to find
  185. a violation in the Finder.
  186.  
  187. Hope this helps,
  188.  
  189. -- 
  190. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  191. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  192. - ---------------------------------| Schwerdt nimmt, der soll durchs
  193.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  194.  
  195. +++++++++++++++++++++++++++
  196.  
  197. >From u9119523@sys.uea.ac.uk (Graham Cox)
  198. Date: Wed, 4 May 1994 20:24:52 GMT
  199. Organization: School of Information Systems, UEA, Norwich
  200.  
  201. In article <cwiltgen-030594195407@cwiltgen.pr.mcs.net>, cwiltgen@mcs.com
  202. (Charles Wiltgen) wrote:
  203.  
  204. > In article <16674@lhdsy1.lahabra.chevron.com>,
  205. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  206. > > Hello,
  207. > > I've been working on a presentation on Human Factors Engineering.
  208. > > I am using Apple's User Interface Guidelines as an example.  
  209. > > What I would like to know is:
  210. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  211. > >   software?
  212. > >   If so, can I easily demonstrate it?
  213. > How 'bout dragging a disk to the trash to eject it?
  214.  
  215.  
  216. Oh, THAT old chestnut! Be honest- could YOU live without it?
  217.  
  218. Here's a trivial example- not in the system but in most graphics programs,
  219. including MacDraw and ClarisWorks- the guidelines say that the cursor keys
  220. should never be used to position graphic elements, but most programs do
  221. this. However, in my opinion, it is the guideline that's stupid- WHY NOT!!!
  222.  
  223.  
  224.  
  225. > -- 
  226. > Charles Wiltgen    "Love is a snowmobile racing across the tundra and
  227. > cwiltgen@mcs.com    then suddenly it flips over, pinning you underneath.
  228. > (INTP)              At night, the ice weasels come." - Nietzsche (Groening)
  229. > World Wide Web      http://venus.mcs.net/~cwiltgen/home.html
  230.  
  231. - ------------------------------------------------------------------------
  232. Love & BSWK, Graham
  233.  
  234. -Everyone is entitled to their opinion, no matter how wrong they may be...
  235. - ------------------------------------------------------------------------
  236.  
  237. +++++++++++++++++++++++++++
  238.  
  239. >From zz1bb@impending.ucsd.edu (Barry Brown)
  240. Date: 4 May 94 17:17:18 GMT
  241. Organization: (none)
  242.  
  243. In <1994May4.111339.29072@prz.tu-berlin.de> pcastine@jake.prz.tu-berlin.de (Peter Castine) writes:
  244.  
  245. >jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) asked:
  246. >>>   Does Apple violate it's own Guidelines in any of it's System 7  
  247. >>>   software?
  248. >>>   If so, can I easily demonstrate it?
  249.  
  250. >cwiltgen@mcs.com (Charles Wiltgen) replied:
  251. >>How 'bout dragging a disk to the trash to eject it?
  252.  
  253. >Although the semantics and history of this gesture have been
  254. >much debated, I find myself asking "What Human Interface
  255. >Principle does this violate?" It certainly supports the
  256. >principles Direct Manipulation, See-and-Point, and User
  257. >Control.
  258.  
  259. I believe it violates the (perhaps unwritten) "no surprises" and the "one
  260. object, one action" rules.
  261.  
  262. A novice user is surprised to find out that trashing a disk doesn't erase
  263. it, but ejects it instead.  S/he also discovers that selecting Eject from
  264. the Special menu doesn't remove the disk image from the desktop and may even
  265. ask him/her for the disk again in the future!
  266.  
  267. Second, the Trash can is used for two purposes: removing files and ejecting
  268. disks -- two very different actions.  The Trash is just a folder (albeit a
  269. special one); trashed files show up in its window before you empty it.  Why
  270. don't trashed disks show up in it, either?
  271.  
  272. -- 
  273. Barry E. Brown                          Internet: bbrown@ucsd.edu
  274. UCSD Academic Computing Services        AOL:      BarryBrown
  275. Student Consultant
  276. <a href="http://www-cse.ucsd.edu/users/bbrown">My WWW Home Page</a>
  277.  
  278. +++++++++++++++++++++++++++
  279.  
  280. >From sjb8502@ucs.usl.edu (Bienvenu Jay )
  281. Date: Wed, 4 May 1994 18:06:50 GMT
  282. Organization: Univ. of Southwestern La., Lafayette
  283.  
  284.  
  285. Does Claris count as part of Apple?  If so, I've got one:
  286. MacWrite does not display a watch cursor while saving a file.
  287.  
  288. Jay Bienvenu
  289. sjb8502@usl.edu
  290.  
  291. +++++++++++++++++++++++++++
  292.  
  293. >From Paul Ferguson <pferguson@kaleida.com>
  294. Date: 4 May 1994 23:48:17 GMT
  295. Organization: Kaleida Labs, Inc.
  296.  
  297. In article <16674@lhdsy1.lahabra.chevron.com> John V. Blzka,
  298. jjvbl@lhdsy1.lahabra.chevron.com writes:
  299. > Does Apple violate it's own Guidelines in any of it's System 7  
  300. > software?
  301.  
  302. One classic example that comes to mind is the Alarm Clock, which
  303. suffers from a bunch of violations:  non-standard controls,
  304. non-standard title bar (not to mention using the title bar to
  305. display the time), non-standard close box, a cross-hair cursor to
  306. select a field, the big-small display modes, flashing the Apple
  307. menu forever when the alarm goes off (how many people at some
  308. point in their life were mystified to see a flashing alarm clock
  309. where the Apple menu is?)  It's hard to find anything about the
  310. alarm clock that doesn't violate the HIG.
  311.  
  312. Rumor has it that this DA was originally developed by Microsoft,
  313. which might explain some of it.  It has not evolved at all from
  314. it's earliest incarnation, which is pretty lame on Apple's part.
  315. How hard is it to write an alarm clock?
  316.  
  317. --fergy
  318.  
  319. +++++++++++++++++++++++++++
  320.  
  321. >From Brad Koehn <koehn@macc.wisc.edu>
  322. Date: 5 May 1994 01:35:32 GMT
  323. Organization: University of Wisconsin
  324.  
  325. In article <1994May4.111339.29072@prz.tu-berlin.de> Peter Castine,
  326. pcastine@jake.prz.tu-berlin.de writes:
  327. >I think, however, you will be hard-pressed to find
  328. >a violation in the Finder.
  329.  
  330. Oh, let's see, where to start:
  331. If you get info on a file on a server, or on a local volume with file
  332. sharing turned on, clicking on the name changes it to it's DOS equivilant.
  333.  
  334. It doesn't give background applications any time (hardly). I know this
  335. probably isn't spelled out in the HIG, but it should be.
  336.  
  337. When copying files, the menus don't dim. If you click in the menu bar
  338. during a copy, the dim all of a sudden.
  339.  
  340. With the sharing box open, there's now way to save changes. You have to
  341. hit the close box, and dismiss the (up to three) annoying dialogs.
  342.  
  343. Dragging items onto a system folder that's not the one you booted with
  344. doesn't put them in the right place, even if the icons in the folder
  345. (e.g. apple menu items folder) show correctly.
  346.  
  347. You may call these bugs, but I say bugs are the most obvious form of HIG
  348. violation.
  349. _________________________________________________________________________
  350. Brad Koehn          Data Transformations, Inc.        koehn@macc.wisc.edu
  351.  
  352. +++++++++++++++++++++++++++
  353.  
  354. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  355. Date: Thu, 05 May 1994 10:03:13 +0800
  356. Organization: Department of Computer Science, The University of Western Australia
  357.  
  358. In article <1994May4.111339.29072@prz.tu-berlin.de>,
  359. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  360.  
  361. >I think, however, you will be hard-pressed to find
  362. >a violation in the Finder.
  363.  
  364. OK, I've got a good one!  Why, when you drag a file into a folder where
  365. there already exists a file of the same name, do you have the option of
  366. replacing the original.  Why doesn't the Finder move it to the Trash??? 
  367. OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  368. and consistency is one of the central precepts of the HIG.
  369.  
  370. Other (more obvious) problems become apparent when you install PowerTalk. 
  371. Try the following...
  372.  
  373. 1) Open your catalogue.
  374. 2) Drag a file into the catalogue window.
  375. 3) See Finder highlight catalogue window.
  376. 4) Let go.
  377. 5) See file zoom back to its original position.
  378.  
  379. Or try this...
  380.  
  381. 1) Open your catalogue.
  382. 2) Find a user record (either in your Personal Catalogue or in a
  383. PowerShare catalogue) and drag it to the catalogue window.
  384. 3) See Finder highlight catalogue window.
  385. 4) Let go.
  386. 5) Read dialog telling you that you can't do it because you don't have
  387. privileges.
  388.  
  389. Question #1 Why does it highlight the window (in both cases)?
  390. Question #2 Why does it have different behaviour when it finally realises
  391.             that it's failed?
  392.  
  393. Basically AOCE's HI is severely broken in a lot of places.  Unfortunately
  394. it's a Finder extension, which means that these problems appear to be
  395. Finder problems.
  396. -- 
  397. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  398. Department of Computer Science, The University of Western Australia
  399.  
  400. +++++++++++++++++++++++++++
  401.  
  402. >From alister@netcom.com (Rick Reynolds aka GreenGoo)
  403. Date: Thu, 5 May 1994 06:32:08 GMT
  404. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  405.  
  406. >How 'bout dragging a disk to the trash to eject it?
  407.  
  408.  
  409. I never really thought much about this issue but I think there should
  410. have been a disk drive icon on the desktop, always visable but somehow
  411. conveying to the user that a disk is inserted. When the user wants
  412. to change disks they can press an "eject" button on the icon. But alas
  413. that brings up the problem of having a control (which woule have to be
  414. smaller then other controls) on a Finder icon.
  415.  
  416. Hmmm...
  417. -- 
  418. Richard Reynolds
  419. alister@netcom.com
  420.  
  421.  "Most dreams are made of glass. You throw just one stone and then there
  422. goes your last window" -RJD
  423.  
  424.  
  425. +++++++++++++++++++++++++++
  426.  
  427. >From deguzman@binkley.math.uiuc.edu (Alan DeGuzman)
  428. Date: 5 May 1994 13:17:32 GMT
  429. Organization: Calculus&Mathematica at UIUC
  430.  
  431. alister@netcom.com (Rick Reynolds aka GreenGoo) writes:
  432.  
  433. >>How 'bout dragging a disk to the trash to eject it?
  434.  
  435.  
  436. >I never really thought much about this issue but I think there should
  437. >have been a disk drive icon on the desktop, always visable but somehow
  438. >conveying to the user that a disk is inserted.
  439.  
  440. Uh, what about the disk's icon? Granted, it can be hidden behind windows,
  441. but I'd rather have what *I* want to stay on top of the desktop layer
  442. rather than some floating icons or whatever.
  443.  
  444. >When the user wants
  445. >to change disks they can press an "eject" button on the icon. But alas
  446. >that brings up the problem of having a control (which woule have to be
  447. >smaller then other controls) on a Finder icon.
  448.  
  449. Now you're on to something. How about letting every icon that is a volume
  450. have a 'switch' or 'button' drawn on (or near) the icon that let's you
  451. eject the volume (eject in the sense of "Put Away"). It could even be dimmed
  452. out for volumes that can't be "Put Away", like the startup volume.
  453. --
  454. Alan A. DeGuzman          "The problem with people is that they're only human."
  455. Calculus&Mathematica
  456. DISCLAIMER: "The University         - Hobbes to Calvin from
  457. can't afford my opinions."           'The Indispensible Calvin and Hobbes'
  458.  
  459. +++++++++++++++++++++++++++
  460.  
  461. >From tzs@u.washington.edu (Tim Smith)
  462. Date: 5 May 1994 13:52:44 GMT
  463. Organization: University of Washington School of Law, Class of '95
  464.  
  465. > I've been working on a presentation on Human Factors Engineering.
  466. > I am using Apple's User Interface Guidelines as an example.  
  467. > What I would like to know is:
  468. >   Does Apple violate it's own Guidelines in any of it's System 7  
  469. >   software?
  470. >   If so, can I easily demonstrate it?
  471.  
  472. In the thingy that is used to select a color (get it by selecting "other..."
  473. for your highlight color in the Colors control panel, or double clicking
  474. on a palette entry in the pattern editor in the General control panel),
  475. they use a scroll bar to set brightness.  I think this violates something
  476. in the User Interface Guidelines.
  477.  
  478. --Tim Smith
  479.  
  480. +++++++++++++++++++++++++++
  481.  
  482. >From Thomas Reed <reed@medicine.wustl.edu>
  483. Date: 5 May 1994 15:00:06 GMT
  484. Organization: Washington University
  485.  
  486. In article <2q9ih4$nhs@news.doit.wisc.edu> Brad Koehn,
  487. koehn@macc.wisc.edu writes:
  488. >It doesn't give background applications any time (hardly). I know this
  489. >probably isn't spelled out in the HIG, but it should be.
  490.  
  491. I don't think that this kind of stuff is in the interface guidelines,
  492. though I can't say that for sure.  Actually, the amount of time
  493. background applications get depends on the background application.  Any
  494. application can grab as much or as little of the CPU time as it needs. 
  495. That's how the Mac's cooperative multitasking works.
  496.  
  497. >When copying files, the menus don't dim. If you click in the menu bar
  498. >during a copy, the dim all of a sudden.
  499.  
  500. I think my menus dim, all except the Apple, Balloon Help, and Application
  501. (you know, the one on the far right) menus.  If they don't dim, it's
  502. probably for one of two reasons:  1)  you can use them even during a
  503. copy, or 2)  you have an extension or control panel installed that does
  504. something with your menus.
  505.  
  506. >With the sharing box open, there's now way to save changes. You have to
  507. >hit the close box, and dismiss the (up to three) annoying dialogs.
  508.  
  509. Agreed on this one.  It'd be nice if there was a friendlier way to do
  510. sharing stuff.  Though I'm not going to complain too much -- I don't mind
  511. the way it's done now.
  512.  
  513. >Dragging items onto a system folder that's not the one you booted with
  514. >doesn't put them in the right place, even if the icons in the folder
  515. >(e.g. apple menu items folder) show correctly.
  516.  
  517. Yes, I've often done this.  However, there's really only one way for the
  518. computer to know that a folder is the system folder without doing more
  519. stuff than it should have to do -- if it has the active system in it.  If
  520. every time you dropped something in a folder, the system had to search
  521. that folder for a copy of the Finder, then all your moves would take a
  522. little longer.  Not only that, but it wouldn't be reliable -- sometimes I
  523. keep copies of the Finder around in different places to play with them.
  524.  
  525. -Thomas
  526. =====================================================
  527. Thomas Reed                    Washington University
  528. Reed@telesphere.wustl.edu          Medical School
  529. (also:  Reed@medicine.wustl.edu)
  530. - ---------------------------------------------------
  531. Clothes make the man.  Naked people have little or no
  532. influence on society.  -- Mark Twain
  533. =====================================================
  534.  
  535. +++++++++++++++++++++++++++
  536.  
  537. >From Paul Ferguson <pferguson@kaleida.com>
  538. Date: 5 May 1994 15:30:12 GMT
  539. Organization: Kaleida Labs, Inc.
  540.  
  541. In article <2qatnc$bon@news.u.washington.edu> Tim Smith, tzs@u.washington.edu
  542. writes:
  543. > In the thingy that is used to select a color (get it by
  544. > selecting "other..." for your highlight color in the Colors
  545. > control panel, or double clicking on a palette entry in the
  546. > pattern editor in the General control panel), they use a scroll
  547. > bar to set brightness.  I think this violates something in the
  548. > User Interface Guidelines.
  549.  
  550. HIG page 215: "Use scroll bars only for representing the relative
  551. position of the visible portion of a document and in scrolling
  552. lists."  I suppose one could argue that in the color picker, the
  553. "document" is the entire color space and that you are scrolling
  554. through it to see different views.  On the other hand, what the
  555. slider is doing is changing the brightness from 0-65535, which
  556. is exactly what the example shown on that page says is an incorrect
  557. use of a scroll bar.
  558.  
  559. This does raise the issue of why Apple explicitly talks about
  560. sliders (in a section entitled "Controls Not Supported by the
  561. Macintosh Toolbox") and gives guidelines as to their use, but have
  562. never provided any sort of standard slider controls for programmers
  563. to use.  Other environments like Motif provide slider widgets with
  564. the same look and feel as their scroll bars, check boxes, etc.  I
  565. think Apple's OS and UI groups have failed by not providing the
  566. same.  Hence the scroll bar often does get misused because it is
  567. much easier to use what's there than write it from scratch (and
  568. writing a smooth slider is not a trivial task).
  569.  
  570. --fergy
  571.  
  572. - ------------------------------------------------------------------
  573.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  574.   pferguson@kaleida.com |  
  575. - ------------------------------------------------------------------
  576.  
  577. +++++++++++++++++++++++++++
  578.  
  579. >From hades@coos.dartmouth.edu (Brian V. Hughes)
  580. Date: 5 May 1994 17:33:26 GMT
  581. Organization: Dartmouth College, Hanover, NH, USA
  582.  
  583. Thomas Reed <reed@medicine.wustl.edu> writes:
  584.  
  585. >Brad Koehn, koehn@macc.wisc.edu writes:
  586. >>It doesn't give background applications any time (hardly). I know this
  587. >>probably isn't spelled out in the HIG, but it should be.
  588.  
  589. >I don't think that this kind of stuff is in the interface guidelines,
  590. >though I can't say that for sure.
  591.  
  592.     No it's not in the HIG, but that's because there is no human
  593. interface involved with background applications getting CPU time.
  594.  
  595. >Actually, the amount of time background applications get depends on the
  596. >background application.  Any application can grab as much or as little
  597. >of the CPU time as it needs.  That's how the Mac's cooperative
  598. >multitasking works.
  599.  
  600.     Nope, sorry. There's this little routine called WaitNextEvent() that
  601. must be called, at a decent interval, by the forgroung application so
  602. that when the background application calls GetNextEvent() there's
  603. something there to be gotten. Applications have to be written to perform
  604. as both foreground and background apps, nicely, so that the Mac
  605. cooporative scheme works the way it's supposed to.
  606.  
  607. -Hades
  608.  
  609. +++++++++++++++++++++++++++
  610.  
  611. >From Chuck Simciak <simciac@ccsmtp.ccf.org>
  612. Date: Thu, 5 May 1994 17:28:00 GMT
  613. Organization: Cleveland Clinic Foundation
  614.  
  615. In article <2qatnc$bon@news.u.washington.edu> Tim Smith,
  616. tzs@u.washington.edu writes:
  617. >> I've been working on a presentation on Human Factors Engineering.
  618. >> I am using Apple's User Interface Guidelines as an example.  
  619. >> What I would like to know is:
  620. >>   Does Apple violate it's own Guidelines in any of it's System 7  
  621. >>   software?
  622. >>   If so, can I easily demonstrate it?
  623.  
  624. I'm not sure if this counts as breaking an interface guideline but it is
  625. very annonying.  Say I go to save a file, the StandardPutFile dialog
  626. emerges and I have to navigate several folders to get to my desitination.
  627.  The file name field has already been filled with a defualt.  Here's the
  628. catch.  Upon having navigated the multiple folders to place the file, the
  629. SAVE button is now an OPEN button.  I then have to click in the filename
  630. text field to cause the button to CHANGE to SAVE.  This "feature" was
  631. introduced in System 7 and has been a source of nuisance ever since.
  632.  
  633. later....
  634.  
  635.  
  636.     Chuck Simciak      !"The broken image of Man moves in minute by minute
  637.    wxs@po.cwru.edu     ! and cell by cell... Poverty, hatred, war, police-
  638. simciac@ccsmtp.ccf.org ! criminals, bureaucracy, insanity, all symptoms of
  639. WRUW 91.1 FM Cleveland ! The Human Virus."          - William S. Burroughs
  640.  
  641. +++++++++++++++++++++++++++
  642.  
  643. >From dn_crow@bean.open.ac.uk (dn_crow)
  644. Date: Thu, 5 May 1994 18:43:00 GMT
  645. Organization: (none)
  646.  
  647. An example that has always rather amused me is the one about switching
  648. between applications. The guidlines state that if I click outside any
  649. window belonging to my application, this action should switch me to the
  650. application whose window I have clicked over (e.g. the Finder). The
  651. only action of this click, or indeed double-click, should be to switch
  652. applications. In particular, the guidelines state that the clicks
  653. should *not* be sent to the application being clicked upon.
  654.  
  655. However, the Finder disregards this: try loading an application and
  656. bringing it to the front, while still being able to see a finder window
  657. behind it. If you now click over a visible finder icon, the appropriate
  658. Finder window is brought to the front (correct) but the icon is
  659. selected (incorrect).
  660.  
  661. This, along with most of the other problems mentioned in this thread,
  662. is pretty minor, so if, as your rather biased title suggests, you're
  663. trolling for Apple-bashing material, I think you'll have a pretty weak
  664. case...
  665.  
  666. Dan
  667.  
  668. +++++++++++++++++++++++++++
  669.  
  670. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  671. Date: Thu, 5 May 1994 19:48:30 GMT
  672. Organization: PRZ TU-Berlin
  673.  
  674. quinn@cs.uwa.edu.au (Quinn "The Eskimo!") writes:
  675. >pcastine@jake.prz.tu-berlin.de (that's me) wrote:
  676. >
  677. >>I think, however, you will be hard-pressed to find
  678. >>a violation in the Finder.
  679. >
  680. >OK, I've got a good one!  Why, when you drag a file into a folder where
  681. >there already exists a file of the same name, do you have the option of
  682. >replacing the original.  Why doesn't the Finder move it to the Trash??? 
  683. >OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  684.  
  685. Inconsistent with what?
  686.  
  687. >and consistency is one of the central precepts of the HIG.
  688.  
  689. Consistency is, IMHO, a secondary concern. Smith et.al. discuss the
  690. practical issues of maintaining consistency in real world applications
  691. in their 1982 article "Designing the Star user interface." (Originally
  692. printed in Byte 7(4), reprinted in Baecker & Buxton's _Readings in 
  693. Human-Computer Interaction_, the paper is a must-read). Short
  694. precis: consistency is the hobgoblin of small minds.
  695.  
  696. >Other (more obvious) problems become apparent when you install PowerTalk. 
  697.  
  698. This is cheating--PowerTalk extensions aren't the Finder. I suppose
  699. they look that way, though.
  700.  
  701. >Try the following...
  702. >
  703. >1) Open your catalogue.
  704. >2) Drag a file into the catalogue window.
  705. >3) See Finder highlight catalogue window.
  706. >4) Let go.
  707. >5) See file zoom back to its original position.
  708. >
  709.  
  710. This example comes practically straight from the discussion in
  711. the above-mentioned article. Geez--maybe I should just violate
  712. copyright and type in the entire paper.
  713.  
  714. :-)
  715.  
  716. >Or try this...
  717. >
  718. >1) Open your catalogue.
  719. >2) Find a user record (either in your Personal Catalogue or in a
  720. >PowerShare catalogue) and drag it to the catalogue window.
  721. >3) See Finder highlight catalogue window.
  722. >4) Let go.
  723. >5) Read dialog telling you that you can't do it because you don't have
  724. >privileges.
  725. >
  726. >Question #1 Why does it highlight the window (in both cases)?
  727.  
  728. For performance reasons? (Checking privileges might slow down
  729. feedback, direct manipulation. I'm obviously guessing on this one).
  730.  
  731. >Question #2 Why does it have different behaviour when it finally realises
  732. >            that it's failed?
  733.  
  734. What's it supposed to do? Not tell you that it failed? Disregard
  735. privileges?
  736.  
  737. >Basically AOCE's HI is severely broken in a lot of places.  
  738.  
  739. Severely? Well, I'll let that pass before a flame war breaks out.
  740.  
  741. > Unfortunately
  742. >it's a Finder extension, 
  743.  
  744. Like I said, cheating.
  745.  
  746. >which means that these problems appear to be
  747. >Finder problems.
  748.  
  749. Well, touche.
  750.  
  751. -- 
  752. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  753. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  754. - ---------------------------------| Schwerdt nimmt, der soll durchs
  755.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  756.  
  757. +++++++++++++++++++++++++++
  758.  
  759. >From Thomas Reed <reed@medicine.wustl.edu>
  760. Date: 5 May 1994 20:31:38 GMT
  761. Organization: Washington University
  762.  
  763. In article <1994May5.172800.22102@bme.ri.ccf.org> Chuck Simciak,
  764. simciac@ccsmtp.ccf.org writes:
  765. > The file name field has already been filled with a defualt.  Here's the
  766. >catch.  Upon having navigated the multiple folders to place the file, the
  767. >SAVE button is now an OPEN button.  I then have to click in the filename
  768. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  769. >introduced in System 7 and has been a source of nuisance ever since.
  770.  
  771. I believe this problem is caused not by the system, but by Directory
  772. Assistance II.  (Or a similar program.)  My System 7.x machine never did
  773. this until I installed Directory Assistance II, so...
  774.  
  775. -Thomas
  776. =====================================================
  777. Thomas Reed                    Washington University
  778. Reed@telesphere.wustl.edu          Medical School
  779. (also:  Reed@medicine.wustl.edu)
  780. - ---------------------------------------------------
  781. Clothes make the man.  Naked people have little or no
  782. influence on society.  -- Mark Twain
  783. =====================================================
  784.  
  785. +++++++++++++++++++++++++++
  786.  
  787. >From Thomas Reed <reed@medicine.wustl.edu>
  788. Date: 5 May 1994 20:48:08 GMT
  789. Organization: Washington University
  790.  
  791. In article <2qbal6$3tu@dartvax.dartmouth.edu> Brian V. Hughes,
  792. hades@coos.dartmouth.edu writes:
  793. >>Actually, the amount of time background applications get depends on the
  794. >>background application.  Any application can grab as much or as little
  795. >>of the CPU time as it needs.  That's how the Mac's cooperative
  796. >>multitasking works.
  797. >
  798. >    Nope, sorry. There's this little routine called WaitNextEvent() that
  799. >must be called, at a decent interval, by the forgroung application so
  800. >that when the background application calls GetNextEvent() there's
  801. >something there to be gotten.
  802.  
  803. Yes, it's true that there has to be "something to be gotten", but I think
  804. most applications these days, background or not, call WaitNextEvent, so
  805. they can control directly how much time they get by giving different
  806. numbers for the sleep value.  A low value causes the app to be given time
  807. more often, a high value causes the app to be given time less often. 
  808. Plus, if the background app doesn't call WaitNextEvent AT ALL for a
  809. while, they get ALL of that processing time.  WaitNextEvent is the key
  810. behind applications getting CPU time.
  811.  
  812. -Thomas
  813. =====================================================
  814. Thomas Reed                    Washington University
  815. Reed@telesphere.wustl.edu          Medical School
  816. (also:  Reed@medicine.wustl.edu)
  817. - ---------------------------------------------------
  818. Clothes make the man.  Naked people have little or no
  819. influence on society.  -- Mark Twain
  820. =====================================================
  821.  
  822. +++++++++++++++++++++++++++
  823.  
  824. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  825. Date: Thu, 5 May 1994 20:39:17 GMT
  826. Organization: PRZ TU-Berlin
  827.  
  828. Chuck Simciak <simciac@ccsmtp.ccf.org> writes:
  829. >
  830. >I'm not sure if this counts as breaking an interface guideline but it is
  831. >very annonying.  Say I go to save a file, the StandardPutFile dialog
  832. >emerges and I have to navigate several folders to get to my desitination.
  833. > The file name field has already been filled with a defualt.  Here's the
  834. >catch.  Upon having navigated the multiple folders to place the file, the
  835. >SAVE button is now an OPEN button.  I then have to click in the filename
  836. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  837. >introduced in System 7 and has been a source of nuisance ever since.
  838.  
  839. I like this one, because the Standard Save File dialog is being
  840. *consistent* (that's right, folks!).
  841.  
  842. The Save button only changes to Open when you've selected a folder
  843. in the directory list. When this is the case, the EditText field
  844. with the document name is no longer the active item in the dialog,
  845. the directory list is the active item (highlighted with an extra
  846. two-pixel thick box surrounding it). So, the Save button is being
  847. context-sensitive, changes to 'Open' and behaves the same way
  848. a double-click on the currently selected item would behave.
  849.  
  850. BTW, you don't need to click on the document name, you only have
  851. to deselect any folder, for the button to change back to Open.
  852.  
  853. I'm just waiting for someone to say "Why don't they add another
  854. button, so you've got one for Save and one for Open?" Before you
  855. ask that question, read Tognazzini's article on Consistency in
  856. _The Art of Human-Computer Interface Design_ ;-q
  857.  
  858. -- 
  859. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  860. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  861. - ---------------------------------| Schwerdt nimmt, der soll durchs
  862.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  863.  
  864. +++++++++++++++++++++++++++
  865.  
  866. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  867. Date: Fri, 06 May 1994 10:41:44 +0800
  868. Organization: Department of Computer Science, The University of Western Australia
  869.  
  870. In article <2qatnc$bon@news.u.washington.edu>, tzs@u.washington.edu (Tim
  871. Smith) wrote:
  872.  
  873. >In the thingy that is used to select a color (get it by selecting "other..."
  874. >for your highlight color in the Colors control panel, or double clicking
  875. >on a palette entry in the pattern editor in the General control panel),
  876. >they use a scroll bar to set brightness.  I think this violates something
  877. >in the User Interface Guidelines.
  878.  
  879. Actually it violates the letter, *but not IMHO the spirit*, of the
  880. guideline that states that you should only put settings, as opposed to
  881. commands, in a popup menu.
  882. -- 
  883. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  884. Department of Computer Science, The University of Western Australia
  885.  
  886. +++++++++++++++++++++++++++
  887.  
  888. >From jfinete@cats.ucsc.edu (Joseph Manuel Finete)
  889. Date: 6 May 1994 03:04:26 GMT
  890. Organization: University of California; Santa Cruz
  891.  
  892.  
  893. In article <1994May5.203917.29612@prz.tu-berlin.de> pcastine@jake.prz.tu-berlin.de (Peter Castine) writes:
  894. >
  895. >I like this one, because the Standard Save File dialog is being
  896. >*consistent* (that's right, folks!).
  897. >
  898. >The Save button only changes to Open when you've selected a folder
  899. >in the directory list. When this is the case, the EditText field
  900. >with the document name is no longer the active item in the dialog,
  901. >the directory list is the active item (highlighted with an extra
  902. >two-pixel thick box surrounding it). So, the Save button is being
  903. >context-sensitive, changes to 'Open' and behaves the same way
  904. >a double-click on the currently selected item would behave.
  905. >
  906. >BTW, you don't need to click on the document name, you only have
  907. >to deselect any folder, for the button to change back to Open.
  908.  
  909. Also, hitting the TAB key will let you cycle through the dialog items.
  910. So if the file list is selected, hit TAB and then the EditText field
  911. will be selected. My problem is that its not obvious enough that the
  912. file list is selected or that the Edit Text field is not selected,
  913. although, I really don't have a good idea on how to alleviate this.
  914.  
  915. -- 
  916. Joe Finete
  917. jfinete@cats.ucsc.edu
  918.  
  919. +++++++++++++++++++++++++++
  920.  
  921. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  922. Date: 6 May 1994 08:34:14 GMT
  923. Organization: The Royal Institute of Technology
  924.  
  925. In <1994May5.172800.22102@bme.ri.ccf.org> Chuck Simciak <simciac@ccsmtp.ccf.org> writes:
  926.  
  927. >catch.  Upon having navigated the multiple folders to place the file, the
  928. >SAVE button is now an OPEN button.  I then have to click in the filename
  929. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  930.  
  931. Or you can press TAB. This is so you can actually type-select
  932. folder names in the list, instead of having to use arrow keys.
  933.  
  934. Cheers,
  935.  
  936.                     / h+
  937. -- 
  938.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  939.  
  940.    What we need is a good GNU [...] licence manager implementation.
  941.                      -- Raphael Manfredi
  942.  
  943. +++++++++++++++++++++++++++
  944.  
  945. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  946. Date: 6 May 1994 08:36:21 GMT
  947. Organization: The Royal Institute of Technology
  948.  
  949. In <1994May5.184300.25982@leeds.ac.uk> dn_crow@bean.open.ac.uk (dn_crow) writes:
  950.  
  951. >only action of this click, or indeed double-click, should be to switch
  952. >applications. In particular, the guidelines state that the clicks
  953. >should *not* be sent to the application being clicked upon.
  954.  
  955. This recommendation is going away with the new, direct manipulation,
  956. Drag Manager, and AOCE which uses it (or its cousin) and it will DEFINATELY
  957. not be the case when you run OpenDoc.
  958.  
  959. Cheers,
  960.  
  961.                     / h+
  962. -- 
  963.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  964.  
  965.    What we need is a good GNU [...] licence manager implementation.
  966.                      -- Raphael Manfredi
  967.  
  968. +++++++++++++++++++++++++++
  969.  
  970. >From sw@network-analysis-ltd.co.uk (Sak Wathanasin)
  971. Date: Fri, 6 May 94 09:47:25 GMT
  972. Organization: Network Analysis Ltd
  973.  
  974.  
  975. In article <1994May5.184300.25982@leeds.ac.uk> (comp.sys.mac.advocacy,comp.sys.mac.programmer), dn_crow@bean.open.ac.uk (dn_crow) writes:
  976.  
  977. > applications. In particular, the guidelines state that the clicks
  978. > should *not* be sent to the application being clicked upon.
  979.  
  980. As with all guidelines, this is not meant to be slavishly adhered to.
  981. It's up to the appl whether to accept the first click, and in the case
  982. of the Finder what it does makes a lot of sense. Although the desktop
  983. is a window in some sense, in a way it isn't. You have to select a piece
  984. of paper (window) to write in it, but surely you don't expect to
  985. "select" your desk to pick something up or put it down. (I'd also argue
  986. that you should be able to "click through" to most appls, just like I can
  987. scribble a note in the margin of a sheet of paper without having to move it
  988. to the front, but that's another story.)
  989.  
  990. The Finder also does the same with folder windows. Does anyone remember
  991. what it used to be like? When you wanted to drag a file from one folder
  992. to another, you clicked on the src icon which would bring its window to
  993. the front. This would sometimes cover up the window you wanted to drag
  994. to, so you'd have to go back and move it out from underneath (then move
  995. it back after the drag if you're obsessively tidy like me :-). The way
  996. it does it now is MUCH better, and I'm pleased to see that the Drag Mgr
  997. supports this way of working. If the guidelines say that you can't do
  998. this, then the guidelines should be changed.
  999.  
  1000.  
  1001. Sak Wathanasin
  1002. Network Analysis Limited
  1003. 178 Wainbody Ave South, Coventry CV3 6BX, UK
  1004.  
  1005. Internet: sw@network-analysis-ltd.co.uk 
  1006. uucp:     ...!uknet!nan!sw                       AppleLink: NAN.LTD
  1007. Phone: (+44) 203 419996 Mobile:(+44) 850 587411  Fax: (+44) 203 690690
  1008.  
  1009. +++++++++++++++++++++++++++
  1010.  
  1011. >From Willie Abrams <willie-abrams@uokhsc.edu>
  1012. Date: 5 May 1994 15:02:28 GMT
  1013. Organization: OU Health Sciences Center
  1014.  
  1015. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn,
  1016. quinn@cs.uwa.edu.au writes:
  1017. >Basically AOCE's HI is severely broken in a lot of places.  Unfortunately
  1018.  
  1019. AOCE is real screwed up as far as HIG goes. If we are going to
  1020. flame its flaws, here are my complaints:
  1021.  
  1022. The standard mailer is a specific size, which means if you
  1023. make the window smaller, it cuts off the damn mailer, and
  1024. if you make the window bigger, you can't take advantage
  1025. of the extra space to the right of the mailer.
  1026.  
  1027. The way the mailer is shaped, You can only see about three
  1028. enclosures...
  1029.  
  1030. AppleMail has a real sluggish event loop. I know this isn't
  1031. necessarily a HIG flaw, but it is a real UI flaw. I end up
  1032. reading mail in ClarisWorks, since it responds to my stimulus
  1033. faster.
  1034.  
  1035. PowerShare admin stuff is just plain ugly. Chicago and Geneva
  1036. are the System and Application typefaces for a reason - they
  1037. are readable on screen. This Palatino stuff, with fixed sixed
  1038. panes are a real pain. At least with AppleShare, you had nice
  1039. resizeable and movable lists that allowed you to manage it.
  1040. (although it didn't remember window positions...ugh!)
  1041.  
  1042. I can move the keys off the desktop, but I can't move the
  1043. catalogs (I guess I can sort of see that) - QuickDraw GX
  1044. suffers there too, with all of those desktop printers...a
  1045. real pain in the butt for those of use who move frequently
  1046. from enviroment to enviroment with the same system.
  1047.  
  1048. Another UI problem - Symantec/Think C - I can't open a source
  1049. file without opening a project. Great! Modal Functionality...
  1050. Probably why I like Metrowerks...
  1051.  
  1052. Is there a forum where people can talk and discuss about
  1053. UI issues? Would that be a thread that should be here in csmp?
  1054.  
  1055. I think we have a real opportunity to jolt some people back
  1056. into thinking about how software is used. There are real
  1057. usability issues that are not related to functionality that
  1058. need to be addressed.
  1059.  
  1060. We as programmers need to address these head on, as we implement
  1061. the great (or horrid) user interfaces.
  1062.  
  1063. I will stop now. I am getting incensed.
  1064.  
  1065. Willie Abrams                
  1066. Telemedicine Software Guy  Internet:  willie-abrams@uokhsc.edu
  1067. OU Health Sciences Center  AppleLink: Willie
  1068.  
  1069. +++++++++++++++++++++++++++
  1070.  
  1071. >From John Hamilton Slye <jsbr+@andrew.cmu.edu>
  1072. Date: Fri,  6 May 1994 12:55:38 -0400
  1073. Organization: Junior, Electrical and Computer Engineering, Carnegie Mellon, Pittsburgh, PA
  1074.  
  1075. On 06-May-94 in Re: Apple's blatant disrega..
  1076. user Joseph Manuel Finete@cat writes:
  1077. >Also, hitting the TAB key will let you cycle through the dialog items.
  1078. >So if the file list is selected, hit TAB and then the EditText field
  1079. >will be selected. My problem is that its not obvious enough that the
  1080. >file list is selected or that the Edit Text field is not selected,
  1081. >although, I really don't have a good idea on how to alleviate this.
  1082.  
  1083. When the test field is not selected, the caret isn't in it anymore...and
  1084. when the file list is selected, there is an outline box around it...
  1085.  
  1086.  
  1087. O------------------O---------------------O----------------------------------O
  1088. |                  | jsbr@andrew.cmu.edu | "I know that there are people in |
  1089. | J. Hamilton Slye |                     | the world who do not love their  |
  1090. |                  |   ham@ece.cmu.edu   | fellow human beings...and I HATE |
  1091. O------------------O---------------------O people like that!"               |
  1092. |          1071 Morewood Ave.            |              - Tom Lehrer        |
  1093. |         Pittsburgh, Pa. 15213          O----------------------------------O
  1094. |            (412) 862-3739              |       THIS SPACE FOR RENT!       |
  1095. O----------------------------------------O----------------------------------O
  1096.  
  1097. +++++++++++++++++++++++++++
  1098.  
  1099. >From Robert Hess <robert_hess@macweek.ziff.com>
  1100. Date: Fri, 6 May 1994 18:44:40 GMT
  1101. Organization: MacWEEK
  1102.  
  1103. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn, quinn@cs.uwa.edu.au writes:
  1104. >Other (more obvious) problems become apparent when you install PowerTalk. 
  1105.  
  1106. Oh, I have an even better one...
  1107.  
  1108. A letter sits in the In Tray. I drag it out of the In Tray into a folder. Have I
  1109. moved the letter? No, I've copied it.
  1110.  
  1111. The copied letter and the letter remaining in the In Tray, appear to be identical
  1112. (same icon, same name). In one window I can see the sender date sent, etc. In
  1113. another window I see size, date modified, etc. Can I modify the name of something
  1114. in the In Tray? No. How about in a folder? Yes. Can I move something from a
  1115. folder back into the In Tray? No.
  1116.  
  1117. I love PowerTalk but it imposes a whole set of new (i.e. inconsistent) rules on
  1118. new users and, like you said, makes the Finder seem awkward.
  1119.  
  1120. ========================================================================
  1121. Robert Hess, WEEKgeek                      robert_hess@macweek.ziff.com
  1122. MacWEEK                                    AppleLink: WNDZSX
  1123. 301 Howard                                 CompuServe: 72511,333
  1124. San Francisco, Calif. 94105                America Online: MacWEEK
  1125. (415) 243-3576 days                        MCI: RHESS
  1126. (415) 243-3651 fax
  1127. (415) 647-5549 nights                      I speak for myself.
  1128. now doesn't that make you feel better?     And sometimes not even that.
  1129. ========================================================================
  1130.  
  1131. +++++++++++++++++++++++++++
  1132.  
  1133. >From Robert Hess <robert_hess@macweek.ziff.com>
  1134. Date: Fri, 6 May 1994 18:46:25 GMT
  1135. Organization: MacWEEK
  1136.  
  1137. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn, quinn@cs.uwa.edu.au writes:
  1138. >1) Open your catalogue.
  1139. >2) Find a user record (either in your Personal Catalogue or in a
  1140. >PowerShare catalogue) and drag it to the catalogue window.
  1141. >3) See Finder highlight catalogue window.
  1142. >4) Let go.
  1143. >5) Read dialog telling you that you can't do it because you don't have
  1144. >privileges.
  1145.  
  1146. Or, better yet, drag a user record into the "mount points" list of the File
  1147. Sharing Monitor. It hightlights, indicating it is willing to accept a drag. Why
  1148. on Earth would it do that? (Or, for that matter, why would someone try to do
  1149. this? But that's not the point. ;)
  1150.  
  1151. ========================================================================
  1152. Robert Hess, WEEKgeek                      robert_hess@macweek.ziff.com
  1153. MacWEEK                                    AppleLink: WNDZSX
  1154. 301 Howard                                 CompuServe: 72511,333
  1155. San Francisco, Calif. 94105                America Online: MacWEEK
  1156. (415) 243-3576 days                        MCI: RHESS
  1157. (415) 243-3651 fax
  1158. (415) 647-5549 nights                      I speak for myself.
  1159. now doesn't that make you feel better?     And sometimes not even that.
  1160. ========================================================================
  1161.  
  1162. +++++++++++++++++++++++++++
  1163.  
  1164. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  1165. Date: Fri, 6 May 1994 19:43:02 GMT
  1166. Organization: PRZ TU-Berlin
  1167.  
  1168. Willie Abrams <willie-abrams@uokhsc.edu> writes:
  1169. >
  1170. >Is there a forum where people can talk and discuss about
  1171. >UI issues? Would that be a thread that should be here in csmp?
  1172. >
  1173.  
  1174. How about comp.human-factors? That might have been a more appropriate
  1175. place to follow-up.
  1176.  
  1177. -- 
  1178. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  1179. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  1180. - ---------------------------------| Schwerdt nimmt, der soll durchs
  1181.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  1182.  
  1183. +++++++++++++++++++++++++++
  1184.  
  1185. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  1186. Date: Fri, 6 May 1994 20:03:56 GMT
  1187. Organization: PRZ TU-Berlin
  1188.  
  1189. Joseph Manuel Finete@cat writes:
  1190. >>Also, hitting the TAB key will let you cycle through the dialog items.
  1191. >>So if the file list is selected, hit TAB and then the EditText field
  1192. >>will be selected. My problem is that its not obvious enough that the
  1193. >>file list is selected or that the Edit Text field is not selected,
  1194. >>although, I really don't have a good idea on how to alleviate this.
  1195.  
  1196. John Hamilton Slye <jsbr+@andrew.cmu.edu> responded:
  1197. >
  1198. >When the test field is not selected, the caret isn't in it anymore...and
  1199. >when the file list is selected, there is an outline box around it...
  1200.  
  1201. I think Joseph may have been aware of this behavior. It is, however, a
  1202. bit on the subtle side. It becomes more obvious when the EditText
  1203. field is entirely selected, because it highlights/unhighlights when
  1204. you tab in and out of it.
  1205. -- 
  1206. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  1207. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  1208. - ---------------------------------| Schwerdt nimmt, der soll durchs
  1209.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  1210.  
  1211. +++++++++++++++++++++++++++
  1212.  
  1213. >From jaeger@kunikpok.icus.com (Jaeger)
  1214. Date: Fri, 06 May 94 13:20:30 CDT
  1215. Organization: Kunikpok Kennels and Komputers (Pet Project)
  1216.  
  1217. Here's a blatantly diregarded interface guidline.  When formatting 
  1218. floppies there is no progress indicator.  Anything that takes as long as 
  1219. formatting a floppy should have a progress bar.
  1220.  
  1221. Brian  Stern  :-{)}
  1222. Jaeger@fquest.com
  1223.  
  1224. +++++++++++++++++++++++++++
  1225.  
  1226. >From mikec@mv.mv.com (Mike Callaghan)
  1227. Date: Fri, 6 May 1994 21:51:04 GMT
  1228. Organization: MV Communications, Inc.
  1229.  
  1230. In article <1994May5.184300.25982@leeds.ac.uk>,
  1231. dn_crow <dn_crow@bean.open.ac.uk> wrote:
  1232. >However, the Finder disregards this: try loading an application and
  1233. >bringing it to the front, while still being able to see a finder window
  1234. >behind it. If you now click over a visible finder icon, the appropriate
  1235. >Finder window is brought to the front (correct) but the icon is
  1236. >selected (incorrect).
  1237.  
  1238. If I'm not mistaken, this is simple to correct with ResEdit by changing
  1239. the Finder's SIZE resource (Get Front Clicks, I believe). Personally, I
  1240. like it, and wish more programs did it.
  1241.  
  1242. MikeC
  1243. -- 
  1244. Michael D. Callaghan                             Nashua, New Hampshire
  1245. - --------------------------------------------------------------------
  1246. RULE: "(sqrt(-1)) before (2.71828), except after (186,000 miles/sec)."
  1247.             [THE DANGERS OF MIXING GRAMMAR AND SCIENCE]
  1248.  
  1249. +++++++++++++++++++++++++++
  1250.  
  1251. >From scgkr@mucc.mahidol.ac.th (Graham Keith Rogers - SCLG)
  1252. Date: 7 May 1994 02:06:49 GMT
  1253. Organization: Mahidol University, Thailand.
  1254.  
  1255. Paul Ferguson (pferguson@kaleida.com) wrote:
  1256. : select a field, the big-small display modes, flashing the Apple
  1257. : menu forever when the alarm goes off (how many people at some
  1258. : point in their life were mystified to see a flashing alarm clock
  1259. : where the Apple menu is?)  It's hard to find anything about the
  1260.  
  1261. Is *that* what that is.  Jeez, how do I turn it off?  Please....
  1262.  
  1263. Graham
  1264.  
  1265. +++++++++++++++++++++++++++
  1266.  
  1267. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1268. Date: 7 May 1994 09:03:08 GMT
  1269. Organization: The Royal Institute of Technology
  1270.  
  1271. In <CpE9EG.5Ep@zcias2.ziff.com> Robert Hess <robert_hess@macweek.ziff.com> writes:
  1272.  
  1273. >A letter sits in the In Tray. I drag it out of the In Tray into a folder. Have I
  1274. >moved the letter? No, I've copied it.
  1275.  
  1276. Of course! It's the same thing as "a file is sitting on a floppy
  1277. disk, and I drag it to a folder on my hard disk."
  1278.  
  1279. However, QuickDraw GX desktop printers are another thing:
  1280.  
  1281. A file sits in the printer queue, and I drag it to the desktop.
  1282. It is MOVED there.
  1283. I then drag it to the printer again, and it is COPIED into the
  1284. printer.
  1285. It makes sense, of course, since moving it to the printer would
  1286. delete it once it was printed, but it's still eerie.
  1287.  
  1288. -- 
  1289.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  1290.   "Anyone who tries to make a distinction between education and
  1291.    entertainment doesn't know the first thing about either"
  1292.                      -- Trip Hawkins
  1293.  
  1294. +++++++++++++++++++++++++++
  1295.  
  1296. >From tzs@u.washington.edu (Tim Smith)
  1297. Date: 7 May 1994 09:46:06 GMT
  1298. Organization: University of Washington School of Law, Class of '95
  1299.  
  1300. Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1301. >>In the thingy that is used to select a color (get it by selecting "other..."
  1302. >>for your highlight color in the Colors control panel, or double clicking
  1303. >>on a palette entry in the pattern editor in the General control panel),
  1304. >>they use a scroll bar to set brightness.  I think this violates something
  1305. >>in the User Interface Guidelines.
  1306. >
  1307. >Actually it violates the letter, *but not IMHO the spirit*, of the
  1308. >guideline that states that you should only put settings, as opposed to
  1309. >commands, in a popup menu.
  1310.  
  1311. I was thinking of page 215, where it says that scroll bars are *only* to
  1312. be used to manipulate the relative position in a document or list.  They
  1313. explicitly say that scroll bars are not to be used where sliders should
  1314. be used.  Thus, the color selector is a blatant violation.
  1315.  
  1316. --Tim Smith
  1317.  
  1318. +++++++++++++++++++++++++++
  1319.  
  1320. >From hall_j@sat.mot.com (Joseph Hall)
  1321. Date: Fri, 6 May 1994 17:11:28 GMT
  1322. Organization: Motorola Inc., Satellite Communications
  1323.  
  1324. Seems it was dn_crow@bean.open.ac.uk (dn_crow) who said:
  1325. >An example that has always rather amused me is the one about switching
  1326. >between applications. The guidlines state that if I click outside any
  1327. >window belonging to my application, this action should switch me to the
  1328. >application whose window I have clicked over (e.g. the Finder). The
  1329. >only action of this click, or indeed double-click, should be to switch
  1330. >applications. In particular, the guidelines state that the clicks
  1331. >should *not* be sent to the application being clicked upon.
  1332.  
  1333. Is this correct?  There is one of the finder flags (the application
  1334. bits you can change with ResEdit) that can be set so that the click 
  1335. will be delivered to the application after it is brought to the front.  
  1336. I have found this a very appropriate behavior in the case of apps like 
  1337. THINK Reference.  You click on the "thinker" icon in the background, and
  1338. wham, there's THINK Reference for you.
  1339.  
  1340. -- 
  1341. Joseph Nathan Hall | Joseph's Law of Interface Design: Never give your users
  1342. Software Architect | a choice between the easy way and the right way.
  1343. Gorca Systems Inc. |                 joseph@joebloe.maple-shade.nj.us (home)
  1344. (on assignment)    | (602) 732-2549 (work)  Joseph_Hall-SC052C@email.mot.com
  1345.  
  1346. +++++++++++++++++++++++++++
  1347.  
  1348. >From derek@netcom.com (Derek LeLash)
  1349. Date: Sat, 7 May 1994 18:07:00 GMT
  1350. Organization: Corner of Walk & Don't Walk
  1351.  
  1352. In article <johan.solve-060594152443@js_mac.hh.se> johan.solve@itn.hh.se (Johan Solve) writes:
  1353. >
  1354. >Metaphors that needs to be explained (as the trashcan in the remove-disk
  1355. >case) are not good metaphors. Picture a new user who has never seen a Mac
  1356. >before. He inserts a disk and wants to get it out again. I don't think he
  1357. >even dare to think of dragging it to the trash. There has to be a Mac guru
  1358. >around to explain to him that "in this special case, nothing gets deleted.
  1359. >But the disk will disappear from the desktop (and reappear on the real life
  1360. >desktop...)"
  1361. >
  1362. >Not good. 
  1363.  
  1364. No.  The user selects the disk icon and chooses "Put Away" from the File menu.
  1365. Anything else is an optional short cut.  Does the fact that *everyone* drags
  1366. disks to the Trash *regardless* of how "pure" the metaphor is tell you anything
  1367. about how the Finder was designed to give users multiple ways to perform an
  1368. action, so that they can pick the one they want?  I guarantee you that five
  1369. minutes after someone learns that you *can* (not *must*) eject a disk by
  1370. throwing it in the trash, that will be the only method they ever use.  Who
  1371. cares if the metaphor is perfect?
  1372.  
  1373. Derek
  1374. -- 
  1375. Derek LeLash, SrTechWriter/INFP | "Everyone lays off their Prozac for a week
  1376. BASYS Automation Systems, Inc.  |  before I come to town.  Nothing serious,
  1377. home: derek@netcom.com          |  just enough to get a little dip going."
  1378. work: derek@scooter.amc.dec.com |                            -- Shawn Colvin
  1379.  
  1380. +++++++++++++++++++++++++++
  1381.  
  1382. >From de19@umail.umd.edu (Dana S Emery)
  1383. Date: Sat, 07 May 1994 15:54:44 -0500
  1384. Organization: Botany, UMCP
  1385.  
  1386. In article <2qb1lmINNh21@medicine.wustl.edu>, Thomas Reed
  1387. <reed@medicine.wustl.edu> wrote:
  1388.  
  1389. > >Dragging items onto a system folder that's not the one you booted with
  1390. > >doesn't put them in the right place, even if the icons in the folder
  1391. > >(e.g. apple menu items folder) show correctly.
  1392. > Yes, I've often done this.  However, there's really only one way for the
  1393. > computer to know that a folder is the system folder without doing more
  1394. > stuff than it should have to do -- if it has the active system in it.
  1395.  
  1396. disagree, the Finder already knows if a viable system is inside, it has to 
  1397. in order to show the proper icon for a system folder. 
  1398.  
  1399. The rest is simply a matter of searching for tagged folders and directing 
  1400. the files, and I, as a user would expect that behaviour to be consistant 
  1401. for any folder showing the blessed system icon, no matter if it was in fact
  1402.  
  1403. the booted system.
  1404. --
  1405.  
  1406. Dana S Emery <de19@umail.umd.edu>
  1407.  
  1408. +++++++++++++++++++++++++++
  1409.  
  1410. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1411. Date: 8 May 1994 10:09:08 GMT
  1412. Organization: The Royal Institute of Technology
  1413.  
  1414. In <de19-070594155445@hjpatt-91.umd.edu> de19@umail.umd.edu (Dana S Emery) writes:
  1415.  
  1416. >disagree, the Finder already knows if a viable system is inside, it has to 
  1417. >in order to show the proper icon for a system folder. 
  1418.  
  1419. So far so good.
  1420.  
  1421. >The rest is simply a matter of searching for tagged folders and directing 
  1422. >the files, and I, as a user would expect that behaviour to be consistant 
  1423. >for any folder showing the blessed system icon, no matter if it was in fact
  1424. >the booted system.
  1425.  
  1426. Exactly how would the Swedish Finder know about the names of the
  1427. Hindu special folders?
  1428.  
  1429. Cheers,
  1430.  
  1431.                     / h+
  1432. -- 
  1433.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  1434.  
  1435.    There's no sex act that can't be made better with Jell-O.
  1436.  
  1437. +++++++++++++++++++++++++++
  1438.  
  1439. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1440. Date: Mon, 09 May 1994 10:34:31 +0800
  1441. Organization: Department of Computer Science, The University of Western Australia
  1442.  
  1443. In article <2qfo0u$7kn@news.u.washington.edu>, tzs@u.washington.edu (Tim
  1444. Smith) wrote:
  1445.  
  1446. >Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1447. >>Someone else wrote:
  1448. >>>In the thingy that is used to select a color (get it by selecting "other..."
  1449. >>>for your highlight color in the Colors control panel, or double clicking
  1450. >>>on a palette entry in the pattern editor in the General control panel),
  1451. >>>they use a scroll bar to set brightness.  I think this violates something
  1452. >>>in the User Interface Guidelines.
  1453. >>
  1454. >>Actually it violates the letter, *but not IMHO the spirit*, of the
  1455. >>guideline that states that you should only put settings, as opposed to
  1456. >>commands, in a popup menu.
  1457. >
  1458. >I was thinking of page 215, where it says that scroll bars are *only* to
  1459. >be used to manipulate the relative position in a document or list.
  1460.  
  1461. True enough.  [Whoops, forgot to *read* the post!]  I was talking about
  1462. the "Other..." on the popup menu, not the scroll bars for selecting
  1463. values.  The scroll bars are obviouly broken.
  1464.  
  1465. btw This "thingy" is called the Colour Picker.
  1466. -- 
  1467. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1468. Department of Computer Science, The University of Western Australia
  1469.   Repeat 100 times... I will read the post before replying.
  1470.  
  1471. +++++++++++++++++++++++++++
  1472.  
  1473. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1474. Date: Mon, 09 May 1994 10:56:32 +0800
  1475. Organization: Department of Computer Science, The University of Western Australia
  1476.  
  1477. In article <1994May5.194830.28693@prz.tu-berlin.de>,
  1478. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  1479.  
  1480. >quinn@cs.uwa.edu.au (Quinn "The Eskimo!") writes:
  1481. >>pcastine@jake.prz.tu-berlin.de (that's me) wrote:
  1482. >>
  1483. >>>I think, however, you will be hard-pressed to find
  1484. >>>a violation in the Finder.
  1485. >>
  1486. >>OK, I've got a good one!  Why, when you drag a file into a folder where
  1487. >>there already exists a file of the same name, do you have the option of
  1488. >>replacing the original.  Why doesn't the Finder move it to the Trash??? 
  1489. >>OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  1490. >
  1491. >Inconsistent with what?
  1492.  
  1493. Inconsistent with the fact that every other time you try to delete a file
  1494. in the Finder you have a chance to undo that action by dragging it out of
  1495. the Trash.
  1496.  
  1497. >>and consistency is one of the central precepts of the HIG.
  1498. >
  1499. >Consistency is, IMHO, a secondary concern. Smith et.al. discuss the
  1500. >practical issues of maintaining consistency in real world applications
  1501. >in their 1982 article "Designing the Star user interface." (Originally
  1502. >printed in Byte 7(4), reprinted in Baecker & Buxton's _Readings in 
  1503. >Human-Computer Interaction_, the paper is a must-read). Short
  1504. >precis: consistency is the hobgoblin of small minds.
  1505.  
  1506. No, *mindless* adherence to consistency is the hobgoblin of small minds.
  1507.  
  1508. Actually I'd like to know where you precis comes from because my copy of
  1509. Smitch et al says...
  1510.  
  1511. %Everyone agrees that consistency is an admirable goal.  However, it
  1512. %is perhaps the single hardest characterist of all to achieve in a
  1513. %a computer system.  In fact, in systems of even moderate complexity,
  1514. %consistency may not be well defined.
  1515.  
  1516. The fact that seemingly inconsistent behaviour may be good for the user
  1517. (eg their classic drog document on printer example, also dragging floppies
  1518. to the Trash) doesn't imply that you shouldn't evaluate your behaviour in
  1519. terms of the consistent environment you're creating.  Besides the
  1520. behaviour I advocate (moving replaced files to the Trash) is simply better
  1521. than the alternative (deleting them).  Are you arguing otherwise?
  1522.  
  1523. If so then you're arguing directly with the HIG, which advocate
  1524. "Forgiveness" (p10) and says...
  1525.  
  1526. #You can encourage people to explore your application by building in
  1527. #forgiveness.  Forgiveness means that actions on the computer are
  1528. #generally reversible.  People need to feel that they can try things
  1529. #without damaging the system; /create safety nets/ for people so that
  1530. #they feel comfortable learning and using your product. [my italics]
  1531.  
  1532. >>Question #1 Why does it highlight the window (in both cases)?
  1533. >
  1534. >For performance reasons? (Checking privileges might slow down
  1535. >feedback, direct manipulation. I'm obviously guessing on this one).
  1536.  
  1537. Personally I think that's crap -- but I don't know enough about AOCE
  1538. programming to prove it (:
  1539.  
  1540. >>Question #2 Why does it have different behaviour when it finally realises
  1541. >>            that it's failed?
  1542. >
  1543. >What's it supposed to do? Not tell you that it failed? Disregard
  1544. >privileges?
  1545.  
  1546. Yeah, but why *2* different behaviours?
  1547.  
  1548. >>Basically AOCE's HI is severely broken in a lot of places.  
  1549. >
  1550. >Severely? Well, I'll let that pass before a flame war breaks out.
  1551.  
  1552. Well I've got some support out there; see the comments by Willie Abrams
  1553. <willie-abrams@uokhsc.edu>.
  1554. -- 
  1555. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1556. Department of Computer Science, The University of Western Australia
  1557.  
  1558. +++++++++++++++++++++++++++
  1559.  
  1560. >From howden@munta.cs.mu.OZ.AU (Nicholas James HOWDEN)
  1561. Date: Mon, 9 May 1994 04:16:44 GMT
  1562. Organization: Computer Science, University of Melbourne, Australia
  1563.  
  1564. Paul Ferguson <pferguson@kaleida.com> writes:
  1565.  
  1566. >In article <16674@lhdsy1.lahabra.chevron.com> John V. Blzka,
  1567. >jjvbl@lhdsy1.lahabra.chevron.com writes:
  1568. >> Does Apple violate it's own Guidelines in any of it's System 7  
  1569. >> software?
  1570.  
  1571. >One classic example that comes to mind is the Alarm Clock, which
  1572. >suffers from a bunch of violations:  non-standard controls,
  1573.     ...
  1574. >point in their life were mystified to see a flashing alarm clock
  1575. >where the Apple menu is?)  It's hard to find anything about the
  1576. >alarm clock that doesn't violate the HIG.
  1577.  
  1578. Another good one is when someone sets the alarm clock, but then removes the
  1579. item from the apple menu after it goes off. You then have a flashing alarm
  1580. clock in the apple menu with no way to turn it off (this certainly sounds
  1581. like a Micro$oft 'feature' to me ;-)
  1582.  
  1583. Nick.
  1584. -- 
  1585.  
  1586. - -----------------------------------------------------------------------------
  1587. ********   I F   Y O U   Q U I T ,   Y O U ' L L   N E V E R   W I N   ********
  1588. - -----------------------------------------------------------------------------
  1589.  
  1590. +++++++++++++++++++++++++++
  1591.  
  1592. >From tzs@u.washington.edu (Tim Smith)
  1593. Date: 9 May 1994 07:49:53 GMT
  1594. Organization: University of Washington School of Law, Class of '95
  1595.  
  1596. Thomas Reed  <reed@medicine.wustl.edu> wrote:
  1597. >>Dragging items onto a system folder that's not the one you booted with
  1598. >>doesn't put them in the right place, even if the icons in the folder
  1599. >>(e.g. apple menu items folder) show correctly.
  1600. >
  1601. >Yes, I've often done this.  However, there's really only one way for the
  1602. >computer to know that a folder is the system folder without doing more
  1603. >stuff than it should have to do -- if it has the active system in it.  If
  1604. >every time you dropped something in a folder, the system had to search
  1605. >that folder for a copy of the Finder, then all your moves would take a
  1606. >little longer.  Not only that, but it wouldn't be reliable -- sometimes I
  1607.  
  1608. It would only have to do this when you dropped an extension, control panel,
  1609. or other magic file into a folder.  For most dropping, it doesn't matter
  1610. if the destination is a System Folder, so it would not have to do more
  1611. work in the vast majority of cases.
  1612.  
  1613. --Tim Smith
  1614.  
  1615. +++++++++++++++++++++++++++
  1616.  
  1617. >From dn_crow@bean.open.ac.uk (dn_crow)
  1618. Date: Mon, 9 May 1994 08:43:17 GMT
  1619. Organization: (none)
  1620.  
  1621. In article <jmiller-080594123607@fastlane.com>
  1622. jmiller@connected.com (James Miller) writes:
  1623.  
  1624. > In article <1994May5.184300.25982@leeds.ac.uk>, dn_crow@bean.open.ac.uk
  1625. > (dn_crow) wrote:
  1626. > > However, the Finder disregards this: try loading an application and
  1627. > > bringing it to the front, while still being able to see a finder window
  1628. > > behind it. If you now click over a visible finder icon, the appropriate
  1629. > > Finder window is brought to the front (correct) but the icon is
  1630. > > selected (incorrect).
  1631. > The Finder is not really an application in Apple's eyes, it is the user
  1632. > interface to the system.  The reason an icon will stay selected when
  1633. > another window is brought to the front, is to allow it to more easily copy
  1634. > files from one window to another.
  1635.  
  1636. I'm not arguing that Apple is *wrong* to make the Finder work this way:
  1637. personally, I would like all applications to work like this as I find
  1638. it very useful. OTOH, I can also see why you don't want to do this:
  1639. there are some applications where I need to see the whole window before
  1640. deciding where I click on it, and having to click on the window border
  1641. to bring it to the front would be a pain. Sigh. An insoluable problem,
  1642. probably.
  1643.  
  1644. However right Apple may be in their decision, they are still
  1645. inconsitent with their own HIGs (which apply to the User Interface of
  1646. the whole system: Finder and applications alike).
  1647.  
  1648. Dan
  1649.  
  1650.  
  1651. +++++++++++++++++++++++++++
  1652.  
  1653. >From leblonk@netcom.com (Marcel Blonk)
  1654. Date: Mon, 9 May 1994 09:51:40 GMT
  1655. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1656.  
  1657. Maybe this should come under the header of "Apple's blatant disregard for 
  1658. User Opinions"
  1659.  
  1660. In this thread there have been many complaints about the AOCE UI. Not at 
  1661. all unwaranted IMO. My $.02 on this: before AOCE was released, it was 
  1662. shown a couple of times on the WWDC. I, and many others that I've talked 
  1663. to, always found that the interface needed *major* changes (desktop 
  1664. clutter/finderlookalikebutnotthesameafterall type things). These concerns 
  1665. were often voiced, in the different AOCE forums and workgroups. To apple 
  1666. in general and to the development team in particular. Yet, it was released 
  1667. with all the same UI problems that people (in this case, developers 
  1668. mostly) complained about.
  1669.  
  1670. What up with that????
  1671.  
  1672. To me it seems that Apple has entered a stage, in which the big company 
  1673. mentality is slowly creeping in, in which each little department has it's 
  1674. own little territory to defend and defend it they shall, against every one 
  1675. who'd dare challenge them on their terrain (just one example: how come 
  1676. something like AppendDITL is part of the comm toolbox! It's a generic 
  1677. routine, that has NOTHING to do with communications. If the CTB group 
  1678. wanted this routine to be added, it should have been added in a generic 
  1679. place, NOT the CTB toolbox. What if the already poorly supported CTB 
  1680. becomes extinct or replaced by something better? Would the system still 
  1681. have to support CTB just for the xxxDITL routines (which probably are 
  1682. being used by programs that have nothing to do with the CTB, since they 
  1683. are documented as dialog manager extensions)). We see it all the time, 
  1684. different systems extensions are released, and each uses its own ( 
  1685. different) interface philosophy. There is no consistancy between them 
  1686. anymore.
  1687.  
  1688. In several workgroup discussions at the WWDC, I found that the teams 
  1689. showed a certain resistance to remarks coming from the developers like: 
  1690. "wouldn't it be better to combine/make consistant/integrate x with y" 
  1691. where x was developed by a different group than y (again, the AOCE group 
  1692. showed this quite distinctively).
  1693.  
  1694. Is this the end of the Apple we once knew and loved? Is Apple after all, 
  1695. just another company grown big, rigid and more guided by internal politics 
  1696. than by the drive for a better product? I don't know, but that is what I 
  1697. fear is happening.
  1698.  
  1699. Oops, guess I dropped a few cents more then I was planning to.
  1700.  
  1701. mb
  1702.  
  1703. +++++++++++++++++++++++++++
  1704.  
  1705. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  1706. Date: Mon, 09 May 1994 11:15:33 -0500
  1707. Organization: University of Illinois at Urbana-Champaign
  1708.  
  1709. In article <u9119523-040594132452@case4.sys.uea.ac.uk>,
  1710. u9119523@sys.uea.ac.uk (Graham Cox) wrote:
  1711.  
  1712. >Here's a trivial example- not in the system but in most graphics programs,
  1713. >including MacDraw and ClarisWorks- the guidelines say that the cursor keys
  1714. >should never be used to position graphic elements, but most programs do
  1715. >this.
  1716.  
  1717. That's simply false. From the Macintosh Human Interface Guidlines, chapter 10:
  1718.  
  1719.     In a graphics application, the arrow keys can be used for fine movement of
  1720.     selected objects, particularly since graphics applications typically have
  1721.     no insertion point. If a graphics application uses arrow keys, it should
  1722.     be only to move the selected object by the smallest possible increment
  1723.     (one pixel or one grid unit). For example, the user could select an object
  1724.     and use the arrow keys to move one pixel per keystroke in the direction of
  1725.     the arrow key pressed.
  1726.  
  1727. pr
  1728. -- 
  1729. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  1730. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  1731. System manager - Cognitive Science Group, Beckman Institute, UIUC
  1732. Internet: resnick@cogsci.uiuc.edu
  1733.  
  1734. +++++++++++++++++++++++++++
  1735.  
  1736. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  1737. Date: Mon, 09 May 1994 11:23:16 -0500
  1738. Organization: University of Illinois at Urbana-Champaign
  1739.  
  1740. In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1741. wrote:
  1742.  
  1743. >In <de19-070594155445@hjpatt-91.umd.edu> de19@umail.umd.edu (Dana S
  1744. Emery) writes:
  1745. >
  1746. >>disagree, the Finder already knows if a viable system is inside, it has to 
  1747. >>in order to show the proper icon for a system folder. 
  1748. >
  1749. >So far so good.
  1750. >
  1751. >>The rest is simply a matter of searching for tagged folders and directing 
  1752. >>the files, and I, as a user would expect that behaviour to be consistant 
  1753. >>for any folder showing the blessed system icon, no matter if it was in fact
  1754. >>the booted system.
  1755. >
  1756. >Exactly how would the Swedish Finder know about the names of the
  1757. >Hindu special folders?
  1758.  
  1759. The same way it knows what the names of the Swedish special folders are:
  1760.  
  1761.     GetResource('fld#', 0);
  1762.  
  1763. pr
  1764. -- 
  1765. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  1766. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  1767. System manager - Cognitive Science Group, Beckman Institute, UIUC
  1768. Internet: resnick@cogsci.uiuc.edu
  1769.  
  1770. +++++++++++++++++++++++++++
  1771.  
  1772. >From jfw@ksr.com (John F. Woods)
  1773. Date: 9 May 1994 20:36:43 GMT
  1774. Organization: Kendall Square Research
  1775.  
  1776. johan.solve@itn.hh.se (Johan Solve) writes:
  1777. >etaphors that needs to be explained (as the trashcan in the remove-disk
  1778. <case) are not good metaphors. Picture a new user who has never seen a Mac
  1779. >before. He inserts a disk and wants to get it out again. I don't think he
  1780. <even dare to think of dragging it to the trash. There has to be a Mac guru
  1781. >around to explain to him that "in this special case, nothing gets deleted.
  1782. <But the disk will disappear from the desktop (and reappear on the real life
  1783. >desktop...)"
  1784.  
  1785. Let's remember how this came about.  Originally you ejected disks by selecting
  1786. Eject from the menu (or typing command-E); this left a ghost image that had
  1787. to be thrown away.  A lot of people asked for a short cut, and the obvious one
  1788. was the one chosen.  Of course, if you don't KNOW what it's a shortcut for,
  1789. it does seem to mean something else.
  1790.  
  1791. On the other hand, if you had an Ejector on the desktop, what would it mean to
  1792. drag an ordinary file onto it?
  1793.  
  1794. +++++++++++++++++++++++++++
  1795.  
  1796. >From maynard@elwing.otago.ac.nz (Maynard James Handley)
  1797. Date: Mon, 9 May 1994 22:49:13 GMT
  1798. Organization: University of Otago
  1799.  
  1800. Tim Smith (tzs@u.washington.edu) wrote:
  1801. > Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1802. > >>In the thingy that is used to select a color (get it by selecting "other..."
  1803. > >>for your highlight color in the Colors control panel, or double clicking
  1804. > >>on a palette entry in the pattern editor in the General control panel),
  1805. > >>they use a scroll bar to set brightness.  I think this violates something
  1806. > >>in the User Interface Guidelines.
  1807. > >
  1808. > >Actually it violates the letter, *but not IMHO the spirit*, of the
  1809. > >guideline that states that you should only put settings, as opposed to
  1810. > >commands, in a popup menu.
  1811.  
  1812. > I was thinking of page 215, where it says that scroll bars are *only* to
  1813. > be used to manipulate the relative position in a document or list.  They
  1814. > explicitly say that scroll bars are not to be used where sliders should
  1815. > be used.  Thus, the color selector is a blatant violation.
  1816.  
  1817. > --Tim Smith
  1818.  
  1819. I just want to add two point.
  1820. Firstly, this use of a scroll bar to select the color may seem a minor matter,
  1821. but I have found it really irritating over and over. It should be fixed by 
  1822. Apple even if it seems silly.
  1823. Secondly, Apple have been really dumb by not releasing the slider CDEF inti
  1824. the system, like they did with the PopupMenu CDEF. If they added this to the
  1825. system so that programmers could trivially access and use it, problems like 
  1826. this would go away.
  1827.  
  1828. Maynard Handley
  1829.  
  1830. +++++++++++++++++++++++++++
  1831.  
  1832. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1833. Date: Tue, 10 May 1994 11:23:03 +0800
  1834. Organization: Department of Computer Science, The University of Western Australia
  1835.  
  1836. In article <leblonkCpJ4q4.Dou@netcom.com>, leblonk@netcom.com (Marcel
  1837. Blonk) wrote:
  1838.  
  1839. >Is this the end of the Apple we once knew and loved? Is Apple after all, 
  1840. >just another company grown big, rigid and more guided by internal politics 
  1841. >than by the drive for a better product?
  1842.  
  1843. I thought "guided by internal politics" *was* the Apple we once knew and
  1844. loved (:
  1845. -- 
  1846. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1847. Department of Computer Science, The University of Western Australia
  1848.  
  1849. +++++++++++++++++++++++++++
  1850.  
  1851. >From rmah@panix.com (Robert S. Mah)
  1852. Date: Tue, 10 May 1994 01:48:31 -0500
  1853. Organization: One Step Beyond
  1854.  
  1855. maynard@elwing.otago.ac.nz (Maynard James Handley) wrote:
  1856.  
  1857. > Secondly, Apple have been really dumb by not releasing the slider CDEF 
  1858. > into the system, like they did with the PopupMenu CDEF. If they added
  1859. > this to the system so that programmers could trivially access and use
  1860. > it, problems like this would go away.
  1861.  
  1862. Agreed.  Also why were the little up/down arrow thingies never rolled into
  1863. the system?  I guess we'll never know...
  1864.  
  1865. Also, I never did quite understand why both push buttons, radio buttons,
  1866. check boxes and scroll bars were all rolled into one CDEF.  If _I_ were 
  1867. designing things, I would have put buttons into 1, radio buttons and check
  1868. boxes in another and scroll bars in a third.  Good thing they didn't let
  1869. me do this :-).
  1870.  
  1871. Cheers,
  1872. Rob
  1873. ___________________________________________________________________________
  1874. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  1875.  
  1876. +++++++++++++++++++++++++++
  1877.  
  1878. >From deguzman@binkley.math.uiuc.edu (Alan DeGuzman)
  1879. Date: 10 May 1994 07:21:34 GMT
  1880. Organization: Calculus&Mathematica at UIUC
  1881.  
  1882. jfw@ksr.com (John F. Woods) writes:
  1883.  
  1884. [snip]
  1885.  
  1886. >On the other hand, if you had an Ejector on the desktop, what would it mean to
  1887. >drag an ordinary file onto it?
  1888.  
  1889. Nothing. If this Ejector was written only to eject volumes, the Ejector's
  1890. icon would not darken if a file was dragged onto it.
  1891. --
  1892. Alan A. DeGuzman                  "The problem with the future is that it
  1893. Calculus&Mathematica               keeps turning into the present."
  1894. DISCLAIMER: "The University 
  1895. can't afford my opinions."                     - Calvin to Hobbes
  1896.  
  1897. +++++++++++++++++++++++++++
  1898.  
  1899. >From Greg_Marriott@genmagic.com (Greg Marriott)
  1900. Date: Tue, 10 May 1994 09:09:44 -0800
  1901. Organization: General Magic, Inc.
  1902.  
  1903. rmah@panix.com (Robert S. Mah) wrote:
  1904.  
  1905. > Also, I never did quite understand why both push buttons, radio buttons,
  1906. > check boxes and scroll bars were all rolled into one CDEF.
  1907.  
  1908. They weren't.  Buttons are in one CDEF and the scrollbar is in another.
  1909.  
  1910. > I would have put buttons into 1, radio buttons and check
  1911. > boxes in another and scroll bars in a third.
  1912.  
  1913. Separating the buttons would have been a good idea, but it's not so bad the
  1914. way it is since there's a bunch of common code that is shared.
  1915.  
  1916. -- 
  1917. Greg Marriott
  1918. Just Some Guy
  1919. General Magic, Inc.
  1920.  
  1921. Disclaimer: My opinions are not necessarily the same as General Magic's.
  1922.             (can a company even HAVE an opinion?)
  1923.  
  1924. +++++++++++++++++++++++++++
  1925.  
  1926. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1927. Date: Tue, 10 May 1994 17:47:24 GMT
  1928. Organization: Apple Computer
  1929.  
  1930. Thomas Reed, reed@medicine.wustl.edu writes:
  1931. > Yes, it's true that there has to be "something to be gotten", but I think
  1932. > most applications these days, background or not, call WaitNextEvent, so
  1933. > they can control directly how much time they get by giving different
  1934. > numbers for the sleep value.
  1935.  
  1936. Yes, but if the front app is calling WNE with a very small sleep time -- like
  1937. zero -- then there will be much less time for bg apps to run unless they do
  1938. something evil like running for several seconds at a time without calling WNE.
  1939.   The foreground app should always use a sleep time of infinity unless it
  1940. needs to be doing something periodically like blink an i-beam or check for
  1941. modifier key changes, and even then it should sleep at least 15 ticks or so
  1942. at a time (depending on GetCaretTime, of course.)
  1943.  
  1944. That said, does the Finder really call WNE with a zero sleep time? I'd be
  1945. surprised if it did.
  1946.  
  1947. --Jens Alfke
  1948.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1949.             .apple.com              Rebel girl you are the queen of my world
  1950.  
  1951. +++++++++++++++++++++++++++
  1952.  
  1953. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1954. Date: Tue, 10 May 1994 18:17:22 GMT
  1955. Organization: Apple Computer
  1956.  
  1957. Paul Ferguson, pferguson@kaleida.com writes:
  1958. > On the other hand, what the
  1959. > slider is doing is changing the brightness from 0-65535, which
  1960. > is exactly what the example shown on that page says is an incorrect
  1961. > use of a scroll bar.
  1962.  
  1963. That's the old color picker. If you install ColorSync you get the New &
  1964. Improved, All Singing All Dancing color picker, which is much, much nicer and
  1965. features sliders instead of scrollbars.
  1966.  
  1967. --Jens Alfke
  1968.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1969.             .apple.com              Rebel girl you are the queen of my world
  1970.  
  1971. +++++++++++++++++++++++++++
  1972.  
  1973. >From platypus@cirrus.som.cwru.edu (Gary Kacmarcik)
  1974. Date: 10 May 1994 22:11:36 GMT
  1975. Organization: Case Western Reserve University, Cleveland, Ohio (USA)
  1976.  
  1977.  
  1978. In article <rmah-100594014831@rmah.dialup.access.net> rmah@panix.com (Robert S. Mah) writes:
  1979. > Also, I never did quite understand why both push buttons, radio buttons,
  1980. > check boxes and scroll bars were all rolled into one CDEF.  If _I_ were 
  1981. > designing things, I would have put buttons into 1, radio buttons and check
  1982. > boxes in another and scroll bars in a third.  Good thing they didn't let
  1983. > me do this :-).
  1984.  
  1985. push buttons, check boxes and radio buttons are in one CDEF (CDEF 0, with
  1986. variation codes of 0, 1 and 2, respectively)
  1987.  
  1988. scrollbars are in a separate CDEF (CDEF 1)
  1989.  
  1990. -gary j kacmarcik
  1991. platypus@cirrus.som.cwru.edu
  1992.  
  1993.  
  1994. +++++++++++++++++++++++++++
  1995.  
  1996. >From rmah@panix.com (Robert S. Mah)
  1997. Date: Tue, 10 May 1994 19:10:18 -0500
  1998. Organization: One Step Beyond
  1999.  
  2000. Greg_Marriott@genmagic.com (Greg Marriott) wrote:
  2001.  
  2002. > rmah@panix.com (Robert S. Mah) wrote:
  2003. > > Also, I never did quite understand why both push buttons, radio buttons,
  2004. > > check boxes and scroll bars were all rolled into one CDEF.
  2005. > They weren't.  Buttons are in one CDEF and the scrollbar is in another.
  2006.  
  2007. Woops!  You are quite right.  I don't know why I thought that until you
  2008. pointed out the error of my ways...
  2009.  
  2010.  
  2011. > > I would have put buttons into 1, radio buttons and check
  2012. > > boxes in another and scroll bars in a third.
  2013. > Separating the buttons would have been a good idea, but it's not so bad 
  2014. > the way it is since there's a bunch of common code that is shared.
  2015.  
  2016. Yes, I understand that many compromises had to be made to fit the original 
  2017. Mac OS into a scant 64K of ROM and 128K of RAM.  That they did it was a 
  2018. marvel.
  2019.  
  2020. Cheers,
  2021. Rob
  2022. ___________________________________________________________________________
  2023. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  2024.  
  2025. +++++++++++++++++++++++++++
  2026.  
  2027. >From DACRXL01.OURX124@tcp30.dx.deere.com (Juan Ingles)
  2028. Date: Wed, 11 May 1994 15:28:57 GMT
  2029. Organization: Proteus Ventures, Inc.
  2030.  
  2031. In article <2qkpv1$e9o@news.u.washington.edu>
  2032. tzs@u.washington.edu (Tim Smith) writes:
  2033.  
  2034. > It would only have to do this when you dropped an extension, control panel,
  2035. > or other magic file into a folder.  For most dropping, it doesn't matter
  2036. > if the destination is a System Folder, so it would not have to do more
  2037. > work in the vast majority of cases.
  2038. > --Tim Smith
  2039.  
  2040. Yes it would: It would have to check every single file to see if it was
  2041. an extension, control panel, or other magic file.
  2042.  
  2043. Juan Ingles
  2044. <DACRXL01.OURX124@tcp30.dx.deere.com>
  2045. --
  2046. Proteus Ventures, Inc. - Computer Software Consulting and Development
  2047.     1514 Oriole Ave * Waterloo, IA 50701 * (319) 232-0985
  2048.  
  2049. +++++++++++++++++++++++++++
  2050.  
  2051. >From mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop)
  2052. Date: 11 May 1994 18:00:02 GMT
  2053. Organization: University of Michigan
  2054.  
  2055. John F. Woods (jfw@ksr.com) wrote:
  2056.  
  2057. : johan.solve@itn.hh.se (Johan Solve) writes:
  2058. : >etaphors that needs to be explained (as the trashcan in the remove-disk
  2059. : <case) are not good metaphors. Picture a new user who has never seen a Mac
  2060. : >before. He inserts a disk and wants to get it out again. I don't think he
  2061. : <even dare to think of dragging it to the trash. There has to be a Mac guru
  2062. : >around to explain to him that "in this special case, nothing gets deleted.
  2063. : <But the disk will disappear from the desktop (and reappear on the real life
  2064. : >desktop...)"
  2065.  
  2066. : Let's remember how this came about.  Originally you ejected disks by selecting
  2067. : Eject from the menu (or typing command-E); this left a ghost image that had
  2068. : to be thrown away.  A lot of people asked for a short cut, and the obvious one
  2069. : was the one chosen.  Of course, if you don't KNOW what it's a shortcut for,
  2070. : it does seem to mean something else.
  2071.  
  2072. : On the other hand, if you had an Ejector on the desktop, what would it mean to
  2073. : drag an ordinary file onto it?
  2074.  
  2075.  
  2076. Here's what I think Apple should do. Let me know if you think it is good 
  2077. or bad.
  2078.  
  2079. -- after I installed the Hardware system update on my powerbook, when I
  2080. hit the power button, it performed the same command as if I had selected
  2081. "Shut Down". It's the old "hardware/software integration" genius that
  2082. Apple is famous for. 
  2083.  
  2084. Why don't they do this for the disk drive? Why don't they make a button 
  2085. that when pushed performs the same command as if the user selected "Put 
  2086. Away" from the File menu?
  2087.  
  2088. People expect there to be an eject button like on a PC. Putting a button 
  2089. which triggers the software is the best compromise, I believe because it 
  2090. still allows Apple to do that cool hardware integration stuff but is 
  2091. still intuitive to the user.
  2092.  
  2093. I personally *hate* having to select Shut Down to turn of my mac so the 
  2094. Hardware update was genius and much needed IMO.
  2095.  
  2096. --
  2097. _____________________________________________________________________________
  2098.  Michael Bishop     "The best way to predict the future is to invent it."
  2099.  mbishop@umich.edu                        - Alan Kay
  2100.  
  2101. +++++++++++++++++++++++++++
  2102.  
  2103. >From Ron_Hunsinger@bmug.org (Ron Hunsinger)
  2104. Date: Wed, 11 May 94 06:26:41 PST
  2105. Organization: Berkeley Macintosh Users Group
  2106.  
  2107. To: resnick@cogsci.uiuc.edu (Pete Resnick),UUCP
  2108.  
  2109. >In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  2110. >wrote:
  2111. >
  2112. >>Exactly how would the Swedish Finder know about the names of the
  2113. >>Hindu special folders?
  2114. >
  2115. >The same way it knows what the names of the Swedish special folders are:
  2116. >
  2117. >    GetResource('fld#', 0);
  2118. >
  2119.  
  2120. Wouldn't work.  This would only tell the Swedish Finder the names of the 
  2121. *Swedish* special folders.  Although...
  2122.  
  2123. If Apple was hard-pressed, I suppose the active Finder could look in
  2124. the boot blocks of the other System Folder's volume to get the name of
  2125. the other Finder, then open the other Finder's resource fork and get the 
  2126. folder names from it.  And do all this only if the destination folder 
  2127. matches the id of the blessed folder (available from vcbFndrInfo).  Might 
  2128. actually be doable in reasonable time, because you would only have to open 
  2129. the other Finder if you actually had files to disburse into special folders.
  2130.  
  2131. >pr
  2132. >-- 
  2133. >Pete Resnick    (...so what is a mojo, and why would one be rising?)
  2134.  
  2135. According to "The Official Scrabble Players Dictionary (Second Edition)":
  2136.  
  2137.     MOJO   n,  pl. -JOS or -JOES,  a magic charm.
  2138.  
  2139. I believe this is New Orleans slang, possibly of Cajun origin.
  2140.  
  2141. In any event, "Mr. Mojo Risin" is an anagram for "Jim Morrison".
  2142.  
  2143. Just so you'll know...
  2144. -Ron Hunsinger
  2145.  
  2146. +++++++++++++++++++++++++++
  2147.  
  2148. >From ruhl@du.edu (ROBERT A. UHL )
  2149. Date: Wed, 11 May 1994 22:04:07 GMT
  2150. Organization: University of Denver
  2151.  
  2152. In article <2qarlc$e1n@vixen.cso.uiuc.edu> aad@uiuc.edu writes:
  2153. >alister@netcom.com (Rick Reynolds aka GreenGoo) writes:
  2154. >
  2155. >>>How 'bout dragging a disk to the trash to eject it?
  2156. >
  2157. >
  2158. >>I never really thought much about this issue but I think there should
  2159. >>have been a disk drive icon on the desktop, always visable but somehow
  2160. >>conveying to the user that a disk is inserted.
  2161. >
  2162. >Uh, what about the disk's icon? Granted, it can be hidden behind windows,
  2163. >but I'd rather have what *I* want to stay on top of the desktop layer
  2164. >rather than some floating icons or whatever.
  2165. >
  2166. >>When the user wants
  2167. >>to change disks they can press an "eject" button on the icon. But alas
  2168. >>that brings up the problem of having a control (which woule have to be
  2169. >>smaller then other controls) on a Finder icon.
  2170. >
  2171. >Now you're on to something. How about letting every icon that is a volume
  2172. >have a 'switch' or 'button' drawn on (or near) the icon that let's you
  2173. >eject the volume (eject in the sense of "Put Away"). It could even be dimmed
  2174. >out for volumes that can't be "Put Away", like the startup volume.
  2175. >--
  2176. >Alan A. DeGuzman
  2177.  
  2178. Here's another idea:
  2179. I've always thought that ejecting the disk should get rid of it; you
  2180. know, if it's out, I can put it in the box and forget about it. Also,
  2181. the 'Eject' button in the SF dialogs is not a true (IMO) eject;
  2182. nothing is more annoying to be flipping through floppies on the SF
  2183. dialog (which I do a lot) and, when you quit, finding a whole mess of
  2184. grey floppy icons.
  2185. So... I propose that 'Eject' take the place of the current 'Put Away',
  2186. and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2187. renamed. Not only would this be helpful in the above mentioned ways,
  2188. but command-E would truly eject the ?!*% disk.
  2189.  
  2190. -- 
  2191. - -------------------------------------------------------
  2192. | Bob Uhl | Spectre                  | Christos Anesti! |
  2193. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  2194. - -------------------------------------------------------
  2195.  
  2196. +++++++++++++++++++++++++++
  2197.  
  2198. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  2199. Date: 12 May 94 17:14:12 +1200
  2200. Organization: University of Waikato, Hamilton, New Zealand
  2201.  
  2202. In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte) writes:
  2203. >
  2204. > Exactly how would the Swedish Finder know about the names of the
  2205. > Hindu special folders?
  2206.  
  2207. I guess the same way it would know about the Muslim special folders, or
  2208. the Christian special folders, or the Jewish ones, or the atheist ones. :-)
  2209.  
  2210. Lawrence
  2211. (born in a place long influenced by Indian culture)
  2212.  
  2213. +++++++++++++++++++++++++++
  2214.  
  2215. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2216. Date: Thu, 12 May 1994 11:10:49 GMT
  2217. Organization: PRZ TU-Berlin
  2218.  
  2219. In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2220. >
  2221. >So... I propose that 'Eject' take the place of the current 'Put Away',
  2222. >and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2223. >renamed. Not only would this be helpful in the above mentioned ways,
  2224. >but command-E would truly eject the ?!*% disk.
  2225.  
  2226. No, no, no, no.
  2227.  
  2228. You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2229. to copy disks on Macs with only one floppy drive (which is surely
  2230. the vast majority of machines out there). 
  2231.  
  2232. There is NOTHING to be gained by renaming menu commands in 1994. There
  2233. are people out there who have been happily dragging disks to the
  2234. trash for over ten years. To quote Tog: "An imporant aspect of
  2235. consistency was defined by Smith et al. [1983] in this way: 'Consistency
  2236. asserts that mechanisms should be used in the same way wherever they
  2237. occur.' I would add, by inference, 'and _when_ever they occur':
  2238. first release or fifth release." (from "Consistency", in The Art
  2239. of Human-Computer Interface Design, Addison-Wesley 1990, Tog's emphasis.)
  2240.  
  2241. We now have in the current system:
  2242.  
  2243. 1) A menu command (w/ command-key equivalent) for ejecting a disk.
  2244. 2) A menu command (w/ command-key equivalent) for ejecting AND unmounting
  2245.    a disk.
  2246. 3) A simple mouse gesture for ejecting AND unmounting a disk.
  2247.  
  2248. I honestly can *NOT* understand all this bitching about (3) above. If
  2249. you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2250. Command-Y and shut up. 
  2251.  
  2252. (BTW, despite my current .sig, this is one point where there is simply
  2253. nothing to be gained by negating the principle of consistency.)
  2254.  
  2255.  
  2256. -- 
  2257. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2258. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2259. - -----------------------------| b) hobgoblin of little minds
  2260.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2261.  
  2262. +++++++++++++++++++++++++++
  2263.  
  2264. >From gjw2824@hertz.njit.edu (Greg Weston)
  2265. Date: 12 May 94 05:04:11 GMT
  2266. Organization: New Jersey Institute of Technology, Newark, New Jersey
  2267.  
  2268. In article <1994May5.172800.22102@bme.ri.ccf.org>,
  2269. Chuck Simciak <simciac@ccsmtp.ccf.org> wrote:
  2270. >I'm not sure if this counts as breaking an interface guideline but it is
  2271. >very annonying.  Say I go to save a file, the StandardPutFile dialog
  2272. >emerges and I have to navigate several folders to get to my desitination.
  2273. > The file name field has already been filled with a defualt.  Here's the
  2274. >catch.  Upon having navigated the multiple folders to place the file, the
  2275. >SAVE button is now an OPEN button.  I then have to click in the filename
  2276. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  2277. >introduced in System 7 and has been a source of nuisance ever since.
  2278.  
  2279. I find it tedious, too. But it is a little easier (I find) to press
  2280. tab, which toggles between manipulating the list and the field, than
  2281. to grab the mouse and click. (Since in that situation, I've usually
  2282. had my hands on the keyboard up til then anyway.)
  2283.     Greg
  2284.  
  2285. +++++++++++++++++++++++++++
  2286.  
  2287. >From gt7344b@prism.gatech.edu (MMMMM MMMMM)
  2288. Date: 12 May 1994 11:57:20 -0400
  2289. Organization: Georgia Institute of Technology
  2290.  
  2291. In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2292. >In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2293. >I honestly can *NOT* understand all this bitching about (3) above. If
  2294. >you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2295. >Command-Y and shut up. 
  2296. >
  2297.  
  2298. I think you're forgetting the original point of this thread.  Yes,
  2299. dragging a disk to the trash is quick, easy, and we all do it.  But it
  2300. does violate the Mac HIG.  
  2301.  
  2302. It's unintuitive.  And I'm willing to admit that I was terrified the first
  2303. time I tried dragging a floppy to the trash. 
  2304.  
  2305.  
  2306.  
  2307. -- 
  2308.   /////////\    /////////\    /////////\    /////////\    /////////\    
  2309.   \_____// /   //\____// /   //\____// /   //\____// /   //\____// /   
  2310.        ///////// /   ///////// /   ///////// /   ///////// /   /////////\
  2311.        \_______\/    \_______\/    \_______\/    \_______\/    \_______\/ 
  2312.  
  2313. +++++++++++++++++++++++++++
  2314.  
  2315. >From mxmora@unix.sri.com (Matt Mora)
  2316. Date: 12 May 1994 08:54:10 -0700
  2317. Organization: SRI International, Menlo Park, CA
  2318.  
  2319. In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2320.  
  2321. >No, no, no, no.
  2322. >
  2323. >You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2324. >to copy disks on Macs with only one floppy drive (which is surely
  2325. >the vast majority of machines out there). 
  2326.  
  2327. nah, what we need to implement is Andy Herzfeld (sp?) velocity
  2328. feature. Pick up a disk icon with the mouse and throw it off the desktop
  2329. to eject it. :-) The disk icon would then glide across the desktop and when it
  2330. the icon was completly off the desktop, it would eject. Kind of like when
  2331. a disk falls off your desk. 
  2332.  
  2333. If you didn't throw it hard enough it would glide to a halt some where on 
  2334. your desktop.
  2335.  
  2336. Ejecting a disk should be fun!
  2337.  
  2338.  
  2339. Xavier
  2340.  
  2341. -- 
  2342. ___________________________________________________________
  2343. Matthew Xavier Mora                       Matt_Mora@sri.com
  2344. SRI International                       mxmora@unix.sri.com
  2345. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  2346.  
  2347. +++++++++++++++++++++++++++
  2348.  
  2349. >From sbb@panix.com (Steve Baumgarten)
  2350. Date: 12 May 94 12:51:39
  2351. Organization: PANIX Public Access Unix, NYC
  2352.  
  2353. In article <2qtjl0$ob9@acme.gatech.edu> gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  2354.  
  2355.    I think you're forgetting the original point of this thread.  Yes,
  2356.    dragging a disk to the trash is quick, easy, and we all do it.  But
  2357.    it does violate the Mac HIG.
  2358.  
  2359. No it doesn't.  It's a shortcut you don't have to use.  Try selecting
  2360. "Put Away" from the menu; or select "Eject", and then with the disk in
  2361. your hand you should have no fear of dragging the dimmed icon to the
  2362. trash.
  2363.  
  2364.    It's unintuitive.  And I'm willing to admit that I was terrified
  2365.    the first time I tried dragging a floppy to the trash.
  2366.  
  2367. Should have tried using the menus first; that's what they're there
  2368. for. 
  2369.  
  2370. If it were the Mac's sole means of ejecting a floppy, then yes, I'd
  2371. agree that it's not intuitive.  But a menu choice labeled "Eject" is
  2372. pretty intuitive, you have to admit...
  2373.  
  2374. --
  2375.     Steve Baumgarten       |  "New York... when civilization falls apart,
  2376.     PANIX, New York, NY    |   remember, we were way ahead of you."
  2377.                            |  
  2378.     Email: sbb@panix.com   |                            - David Letterman
  2379.  
  2380. +++++++++++++++++++++++++++
  2381.  
  2382. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2383. Date: Thu, 12 May 1994 17:11:36 GMT
  2384. Organization: PRZ TU-Berlin
  2385.  
  2386. gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  2387. >
  2388. >pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2389. >>I honestly can *NOT* understand all this bitching about (3) above. If
  2390. >>you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2391. >>Command-Y and shut up. 
  2392. >>
  2393. >
  2394. >I think you're forgetting the original point of this thread.  Yes,
  2395. >dragging a disk to the trash is quick, easy, and we all do it.  But it
  2396. >does violate the Mac HIG.  
  2397.  
  2398. No it doesn't. It's an extension of the Finder's interface.
  2399.  
  2400. Take a look at HIG p. 38 ('When to go beyond the guidelines'):
  2401.  
  2402.     There are times when the standard user interface doesn't cover the
  2403.     needs of your application. This is true in the following situations:
  2404.  
  2405.     o Your are creating a new feature for which no element or behavior
  2406.       exists. In this case, you can extend the Macintosh user interface
  2407.       in a prescribed way.
  2408.  
  2409.     o  An existing element does almost everything you need it to, but
  2410.        a little modification that improves its functions makes the 
  2411.        difference to your application.
  2412.  
  2413. The drag-disk-to-trash convention is *built on an existing interface
  2414. convention.* (Cf. HIG p. 39) To repeat: the original method was to Eject 
  2415. (or Command-E) the disk and drag the off-line icon to the trash. 
  2416.  
  2417. >It's unintuitive.  And I'm willing to admit that I was terrified the first
  2418. >time I tried dragging a floppy to the trash. 
  2419.  
  2420. Gee, I dunno. I seem to remember way back in spring of '84 wondering
  2421. "how do I get rid of this disk?", checking out the menus and finding
  2422. Eject. Sure, I was a little surprised when the shadow of the disk
  2423. stayed on the desk, but since there didn't seem to be any other
  2424. appropriate menu items, I dragged the outline to the trash. A day
  2425. or two later, I thought "Why not combine the two steps and drag the
  2426. disk straight to the trash? This is a Mac, before something aweful
  2427. happens, one of these funny message window thingies is sure to pop
  2428. up and let me back out." (How many people remember the funny alert
  2429. icons Apple used back then? Now, *those* were worth changing.)
  2430.  
  2431. Nowadays, I think a lot of beginners click on that funny question
  2432. mark thingie at the top right of the screen. Guess what Balloon
  2433. Help says about the trash?
  2434.  
  2435. BTW, the adjective should be 'unintuitable'. See _Tog on Interface_.
  2436. Sorry, I'm getting pedantic.
  2437.  
  2438. Admittedly, naive Mac users sometimes get nervous when they see me
  2439. dragging a disk to the trash. When this happens, I also go into
  2440. teacher mode, do the two-step Eject/Trash Outline procedure,
  2441. demonstrate the Put Away command, and then show the one-step
  2442. Trash shortcut. But I'd bet they hit on the idea in a couple
  2443. of weeks on their own.
  2444.  
  2445. Wonder which people work out faster--dragging a disk to the trash
  2446. or the 'xp' trick in vi?
  2447.  
  2448.  
  2449. -- 
  2450. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2451. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2452. - -----------------------------| b) hobgoblin of little minds
  2453.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2454.  
  2455. +++++++++++++++++++++++++++
  2456.  
  2457. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  2458. Date: Thu, 12 May 1994 16:34:49 -0400
  2459. Organization: Carnegie Mellon, Pittsburgh, PA
  2460.  
  2461. Excerpts from netnews.comp.sys.mac.programmer: 12-May-94 Re: Apple's
  2462. blatant disrega.. by Peter Castine@tubprz.prz 
  2463. > Take a look at HIG p. 38 ('When to go beyond the guidelines'):
  2464. >         There are times when the standard user interface doesn't cover the
  2465. >         needs of your application. This is true in the following situations:
  2466. >         o Your are creating a new feature for which no element or behavior
  2467. >           exists. In this case, you can extend the Macintosh user interface
  2468. >           in a prescribed way.
  2469. >         o  An existing element does almost everything you need it to, but
  2470. >            a little modification that improves its functions makes the 
  2471. >            difference to your application.
  2472. >
  2473. >The drag-disk-to-trash convention is *built on an existing interface
  2474. >convention.* (Cf. HIG p. 39) To repeat: the original method was to Eject 
  2475. >(or Command-E) the disk and drag the off-line icon to the trash.
  2476.  
  2477.  
  2478.     If Apple had added a close box to disk icons, people wouldn't be
  2479. declaring this a violation of HIG. The problem is, the trash icons most
  2480. common analogy is that of a place one puts items in order to
  2481. *PERMANENTLY DESTROY THEM*. Putting a disk in the trash, does not do
  2482. this. This violates peoples expectations. Thus, it is a poor UI design
  2483. decision. Whereas, a close box is used to remove an item from the
  2484. desktop. Putting a close box on disk icons would have built on an
  2485. existing interface convention without violating any preexisting ones (I
  2486. think:).
  2487.  
  2488. Tony
  2489.  
  2490. +++++++++++++++++++++++++++
  2491.  
  2492. >From Stephen Jonke <jonke@gsfc.nasa.gov>
  2493. Date: 12 May 1994 22:09:24 GMT
  2494. Organization: NASA GSFC
  2495.  
  2496. Sorry if this is a repeat, but you can use "Put Away" (Command-Y) in the
  2497. "File" menu to unmount a disk.  I can't remember when this capabilit was
  2498. added to Put Away - some version of System 7 in any case.  This concept
  2499. is somewhat intuitive, except that "Eject Disk" seems like it should do
  2500. this and it draws the users attention.  My sister has been using Eject
  2501. Disk when she wants to just get the disk out and I can understand why as
  2502. this seems the intuitive thing to do.  Does anyone every use "Eject Disk"
  2503. in its current form intentionally any more?  Seems like the simple
  2504. solution is to change it's functionality so that it unmounts the disk
  2505. without leaving the ghost icon on the desktop, as one would expect.  Keep
  2506. the drag to trash alternative since lots of Mac users are use to that. 
  2507. And then have it so that if you select a floppy disk and pick "Duplicate"
  2508. it does the floppy copying shennanigans.  Doesn't this make a heck of a
  2509. lot more sense?
  2510.  
  2511. Steve
  2512.  
  2513. - -------------------
  2514.  jonke@gsfc.nasa.gov
  2515. - -------------------
  2516.  
  2517. +++++++++++++++++++++++++++
  2518.  
  2519. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2520. Date: Fri, 13 May 1994 08:38:56 GMT
  2521. Organization: PRZ TU-Berlin
  2522.  
  2523. mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop) writes:
  2524. >
  2525. >Here's what I think Apple should do. Let me know if you think it is good 
  2526. >or bad.
  2527. >
  2528. >-- after I installed the Hardware system update on my powerbook, when I
  2529. >hit the power button, it performed the same command as if I had selected
  2530. >"Shut Down". It's the old "hardware/software integration" genius that
  2531. >Apple is famous for. 
  2532. >
  2533. >Why don't they do this for the disk drive? Why don't they make a button 
  2534. >that when pushed performs the same command as if the user selected "Put 
  2535. >Away" from the File menu?
  2536. >
  2537. >People expect there to be an eject button like on a PC. Putting a button 
  2538. >which triggers the software is the best compromise, I believe because it 
  2539. >still allows Apple to do that cool hardware integration stuff but is 
  2540. >still intuitive to the user.
  2541.  
  2542. There is a question of cost. 
  2543.  
  2544. Anyone care to estimate what that would add to the price of a Mac?
  2545. A simple mechanical switch isn't going to do the trick, you need
  2546. something that will send a signal to the logic board, etc.
  2547.  
  2548. And don't forget that adding, say $5, to manufacturing costs means
  2549. a three digit price increse for the consumer.
  2550.  
  2551. Still, it's not a bad idea. But see my next comment.
  2552.  
  2553. >I personally *hate* having to select Shut Down to turn of my mac so the 
  2554. >Hardware update was genius and much needed IMO.
  2555.  
  2556. Using the power switch as a shortcut for Shut Down makes sense on a
  2557. PowerBook for two reasons: 1) the switch already has the necessary
  2558. connections to the logic board (you couldn't do this on an SE, where
  2559. the power switch simply cuts of the power supply) and 2) you can
  2560. normally reach the switch on a PB without any inconvenience. Many
  2561. Quadra and Mac II boxes are stuck under a desk (and with them the
  2562. diskette drives)--in this configuration, menu commands are considerably
  2563. more convenient. And, although I use the PowerKey extension so I
  2564. can drop into MacsBugs from the keyboard, I don't really want to
  2565. have the Shut Down command anywhere on my keyboard--too easy
  2566. to hit by accident (of course, some people *do* map some key
  2567. combinations to the Shut Down command... and one of them wrote
  2568. an extension so that Shut Down produces an Alert "Do you really
  2569. want to shut down now?" because he hit the key combination by
  2570. accident too often. This is progress :-? )
  2571.  
  2572. I'm not sure if it's possible for an extension to catch the signal
  2573. sent by the power switch on the Mac II family and cause it to 
  2574. initiate the Shut Down sequence. Now that the subject has been on 
  2575. the net, I expect somebody will try. ;-)
  2576.  
  2577. -- 
  2578. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2579. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2580. - -----------------------------| b) hobgoblin of little minds
  2581.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2582.  
  2583. +++++++++++++++++++++++++++
  2584.  
  2585. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2586. Date: Fri, 13 May 1994 09:07:26 GMT
  2587. Organization: PRZ TU-Berlin
  2588.  
  2589. Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  2590. >
  2591. >    If Apple had added a close box to disk icons, people wouldn't be
  2592. >declaring this a violation of HIG. The problem is, the trash icons most
  2593. >common analogy is that of a place one puts items in order to
  2594. >*PERMANENTLY DESTROY THEM*. 
  2595.  
  2596. *NO IT DOES NOT*. Drag some files to the trash. See the trash can
  2597. get fat. Open the trash. There are your files. Select a file. Use
  2598. the Put Away command. Hey, presto-the file is back where it came
  2599. from. Drag another file onto the desktop. There it is--this is
  2600. not permanent destruction.
  2601.  
  2602. This is a Mac, not an Atari.
  2603.  
  2604. Selecting "Empty Trash" permanently destroys the file (well, for
  2605. most users it's close enough to destruction). You also get
  2606. an alert warning you of this (just like HIG advises).
  2607.  
  2608. > Putting a disk in the trash, does not do
  2609. >this. This violates peoples expectations. Thus, it is a poor UI design
  2610. >decision. Whereas, a close box is used to remove an item from the
  2611. >desktop. Putting a close box on disk icons would have built on an
  2612. >existing interface convention without violating any preexisting ones (I
  2613. >think:).
  2614.  
  2615. A disk icon is a fairly small object. 32x32 pixels. A close box is also
  2616. a small object. 10x10 pixels. That's 10% of a disk icon. 10% is actually
  2617. a lot (particularly nowadays, with custom disk icons that have rockets
  2618. shooting out of them). 
  2619.  
  2620. [As a footnote, Fitt's law would indicate that it takes about three
  2621. times as long to move the mouse to a close box as it does to move
  2622. the mouse to grab a disk icon for dragging. Someone want to do
  2623. a comparison of these two alternatives for un-mounting a disk
  2624. a la Card et.al.'s _The Psychology of Human-Computer Interaction_?]
  2625.  
  2626. I'm not saying that the suggestion to add a close box is a bad one.
  2627. However, I think it needs to be thought through more thoroughly.
  2628.  
  2629. -- 
  2630. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2631. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2632. - -----------------------------| b) hobgoblin of little minds
  2633.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2634.  
  2635. +++++++++++++++++++++++++++
  2636.  
  2637. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2638. Date: Fri, 13 May 1994 09:28:02 GMT
  2639. Organization: PRZ TU-Berlin
  2640.  
  2641. Stephen Jonke <jonke@gsfc.nasa.gov> writes:
  2642. >Sorry if this is a repeat, but you can use "Put Away" (Command-Y) in the
  2643. >"File" menu to unmount a disk.  I can't remember when this capabilit was
  2644. >added to Put Away - some version of System 7 in any case.  
  2645.  
  2646. 7.0d1, if I'm not mistaken. As far as users are concerned, since day
  2647. 1 A.S. (anno septimum, or whatever the Latin would be :)
  2648.  
  2649. > This concept
  2650. >is somewhat intuitive, except that "Eject Disk" seems like it should do
  2651. >this and it draws the users attention.  My sister has been using Eject
  2652. >Disk when she wants to just get the disk out and I can understand why as
  2653. >this seems the intuitive thing to do.  Does anyone every use "Eject Disk"
  2654. >in its current form intentionally any more?  
  2655.  
  2656. Yes!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2657. Constantly.
  2658.  
  2659. > Seems like the simple
  2660. >solution is to change it's functionality 
  2661.  
  2662. No. 
  2663.  
  2664. Changing functionality of commands between software versions
  2665. is one of the worst possible violations of human interface design
  2666. concievable. Think about it--what would happen if Ford swapped the
  2667. position of the emergency brake and the gear shift. Or, if you're
  2668. using automatic transmission, how about swapping the gas pedal
  2669. and the brake. Think about it--do you really want to have to check
  2670. the system software version every time you sit down at a new Mac
  2671. so that you know which command configuration you've got?
  2672.  
  2673. >so that it unmounts the disk
  2674. >without leaving the ghost icon on the desktop, as one would expect.  Keep
  2675. >the drag to trash alternative since lots of Mac users are use to that. 
  2676. >And then have it so that if you select a floppy disk and pick "Duplicate"
  2677. >it does the floppy copying shennanigans.  Doesn't this make a heck of a
  2678. >lot more sense?a
  2679.  
  2680. System 8 might extend Duplicate to copying disks. I rather expect not,
  2681. since the current trend in the interface is towards enhanced use of
  2682. mouse gestures (there will be less Cut/COpy/Paste as drag-and-drop
  2683. is implemented in more and more applications). In fact, the mouse
  2684. gesture for copying disks was one of the earliest implementations
  2685. of drag-and-drop on Macintosh.
  2686.  
  2687. -- 
  2688. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2689. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2690. - -----------------------------| b) hobgoblin of little minds
  2691.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2692.  
  2693. +++++++++++++++++++++++++++
  2694.  
  2695. >From D.A.G.Gillies@bradford.ac.uk (David Gillies)
  2696. Date: Fri, 13 May 1994 12:25:46 GMT
  2697. Organization: Unseen University, Ankh-Morpork
  2698.  
  2699. In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2700. >Here's another idea:
  2701. >I've always thought that ejecting the disk should get rid of it; you
  2702. >know, if it's out, I can put it in the box and forget about it. Also,
  2703. >the 'Eject' button in the SF dialogs is not a true (IMO) eject;
  2704. >nothing is more annoying to be flipping through floppies on the SF
  2705. >dialog (which I do a lot) and, when you quit, finding a whole mess of
  2706. >grey floppy icons.
  2707. >So... I propose that 'Eject' take the place of the current 'Put Away',
  2708. >and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2709. >renamed. Not only would this be helpful in the above mentioned ways,
  2710. >but command-E would truly eject the ?!*% disk.
  2711. >
  2712. Of course 'Eject' ejects the disk. It enables you to remove it from the disk
  2713. drive, doesn't it? That fits any reasonable definiton of eject in my book.
  2714. It takes most people with an IQ higher than that of a potato to realise
  2715. the difference between 'Eject', and 'Put Away'. For those amongst us who are
  2716. not completely illiterate, the distinction is also pointed out in *the manual*
  2717. (you know, that big thick ring-bound thing that is put on one side by MacBozos
  2718. and never read, thereby generating 98% of tech support traffic, and giving
  2719. rise to those 'Tricks'n'Tips' columns in magazines, full of things like "did
  2720. you know that if you hold down the option key when opening a folder, the
  2721. parent folder will disappear?")
  2722.  
  2723. Changing the way this works now would only serve to confuse the people who
  2724. extracted their heads from their arses long enough to actually understand
  2725. how to use a Mac.
  2726.  
  2727. Keeping volumes mounted is a time-saving feature. If you had to wait the
  2728. twenty seconds or so it takes to mount a floppy every time you popped one out
  2729. of the slot in the Standard File dialog, you'd go mad. It's not perfect, but
  2730. until someone comes up with abetter solution we're stuck with it. 
  2731.  
  2732. ______________________________________________________________________
  2733. David A. G. Gillies                     (D.A.G.Gillies@bradford.ac.uk)
  2734.       University of Bradford, Bradford, West Yorkshire, England
  2735. (c) 1994 Wittgenstein and The Furniture Depository of The Living Dead
  2736.  
  2737. A little learning is a dangerous thing - but not half as dangerous as a
  2738. lot of ignorance.
  2739. - ---------------------REPLIES VIA EMAIL PLEASE-----------------------
  2740. _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2741.  
  2742. +++++++++++++++++++++++++++
  2743.  
  2744. >From D.A.G.Gillies@bradford.ac.uk (David Gillies)
  2745. Date: Fri, 13 May 1994 12:30:48 GMT
  2746. Organization: Unseen University, Ankh-Morpork
  2747.  
  2748. In article <2qtjf2$4us@unix.sri.com> mxmora@unix.sri.com (Matt Mora) writes:
  2749. >In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2750. >
  2751. >>No, no, no, no.
  2752. >>
  2753. >>You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2754. >>to copy disks on Macs with only one floppy drive (which is surely
  2755. >>the vast majority of machines out there). 
  2756. >
  2757. >nah, what we need to implement is Andy Herzfeld (sp?) velocity
  2758. >feature. Pick up a disk icon with the mouse and throw it off the desktop
  2759. >to eject it. :-) The disk icon would then glide across the desktop and when it
  2760. >the icon was completly off the desktop, it would eject. Kind of like when
  2761. >a disk falls off your desk. 
  2762. >
  2763. >If you didn't throw it hard enough it would glide to a halt some where on 
  2764. >your desktop.
  2765. >
  2766. >Ejecting a disk should be fun!
  2767. >
  2768. Great idea! Anyone want to write this? It could be a bit tricky...
  2769.  
  2770. ______________________________________________________
  2771. David A. G. Gillies     (D.A.G.Gillies@bradford.ac.uk)
  2772. (c) 1994 Wittgenstein's Amazing Underwater Supermarket
  2773. _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2774.  
  2775. +++++++++++++++++++++++++++
  2776.  
  2777. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  2778. Date: Fri, 13 May 1994 09:30:06 -0400
  2779. Organization: Carnegie Mellon, Pittsburgh, PA
  2780.  
  2781. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  2782. blatant disrega.. by Peter Castine@tubprz.prz 
  2783. > >    If Apple had added a close box to disk icons, people wouldn't be
  2784. > >declaring this a violation of HIG. The problem is, the trash icons most
  2785. > >common analogy is that of a place one puts items in order to
  2786. > >*PERMANENTLY DESTROY THEM*. 
  2787. > *NO IT DOES NOT*. Drag some files to the trash. See the trash can
  2788. > get fat. Open the trash. There are your files. Select a file. Use
  2789. > the Put Away command. Hey, presto-the file is back where it came
  2790. > from. Drag another file onto the desktop. There it is--this is
  2791. > not permanent destruction.
  2792.  
  2793. I think you misread my post. I said "in order to *PERMANENTLY DESTOY
  2794. THEM*", not "so that they are *IMMEDIATELY DESTROYED*". To further the
  2795. analogy, if I put an object from my desk into the rubish bin, it is not
  2796. immediately destroyed. If I choose, I can take the object out any time
  2797. before the cleaning staff comes. This is the correct analogy, and it is
  2798. followed consistently with file icons. Putting a floppy disk into the
  2799. trash in order to eject it does not follow this analogy. This is the
  2800. point of my previous post.
  2801.  
  2802. Tony
  2803.  
  2804. +++++++++++++++++++++++++++
  2805.  
  2806. >From dowdy@apple.com (Tom Dowdy)
  2807. Date: Fri, 13 May 1994 15:40:32 GMT
  2808. Organization: Apple Computer, Inc.
  2809.  
  2810. In article <cwiltgen-030594195407@cwiltgen.pr.mcs.net>, cwiltgen@mcs.com
  2811. (Charles Wiltgen) wrote:
  2812. > In article <16674@lhdsy1.lahabra.chevron.com>,
  2813. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  2814. > > Hello,
  2815. > > I've been working on a presentation on Human Factors Engineering.
  2816. > > I am using Apple's User Interface Guidelines as an example.  
  2817. > > What I would like to know is:
  2818. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  2819. > >   software?
  2820. > >   If so, can I easily demonstrate it?
  2821. > How 'bout dragging a disk to the trash to eject it?
  2822.  
  2823. I'm not sure how this is a direct violation of the UI guidelines
  2824. (and maybe it is)...It *is* probably a non-intuative feature,
  2825. that wasn't well thought out for first implementation.
  2826.  
  2827. However, I'd like to ask you if you now use the "Put Away" menu
  2828. item in System 7, which performs the same function.  Or, do
  2829. you continue to drag the disk to the trash.  If you continue
  2830. to drag the disk to the trash -- why?  If we took away
  2831. that feature, would you complain?
  2832.  
  2833. -- 
  2834.  Tom Dowdy                  Internet: dowdy@apple.COM
  2835.  Apple Computer MS:302-3KS  UUCP: {sun,voder,amdahl,decwrl}!apple!dowdy
  2836.  1 Infinite Loop            AppleLink: DOWDY1
  2837.  Cupertino, CA 95014       
  2838.  "The 'Ooh-Ah' Bird is so called because it lays square eggs."
  2839.  
  2840. +++++++++++++++++++++++++++
  2841.  
  2842. >From mbishop@ovid.ccs.itd.umich.edu (Michael J. Bishop)
  2843. Date: 13 May 1994 16:28:51 GMT
  2844. Organization: University of Michigan
  2845.  
  2846. Peter Castine (pcastine@tubprz.prz.tu-berlin.de) wrote:
  2847. : mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop) writes:
  2848.  
  2849. : Anyone care to estimate what that would add to the price of a Mac?
  2850. : A simple mechanical switch isn't going to do the trick, you need
  2851. : something that will send a signal to the logic board, etc.
  2852.  
  2853. : And don't forget that adding, say $5, to manufacturing costs means
  2854. : a three digit price increse for the consumer.
  2855.  
  2856. : Still, it's not a bad idea. But see my next comment.
  2857.  
  2858. : >I personally *hate* having to select Shut Down to turn of my mac so the 
  2859. : >Hardware update was genius and much needed IMO.
  2860.  
  2861. : Using the power switch as a shortcut for Shut Down makes sense on a
  2862. : PowerBook for two reasons: 1) the switch already has the necessary
  2863. : connections to the logic board (you couldn't do this on an SE, where
  2864. : the power switch simply cuts of the power supply) and 2) you can
  2865. : normally reach the switch on a PB without any inconvenience. Many
  2866. : Quadra and Mac II boxes are stuck under a desk (and with them the
  2867. : diskette drives)--in this configuration, menu commands are considerably
  2868. : more convenient. And, although I use the PowerKey extension so I
  2869. : can drop into MacsBugs from the keyboard, I don't really want to
  2870. : have the Shut Down command anywhere on my keyboard--too easy
  2871. : to hit by accident (of course, some people *do* map some key
  2872. : combinations to the Shut Down command... and one of them wrote
  2873. : an extension so that Shut Down produces an Alert "Do you really
  2874. : want to shut down now?" because he hit the key combination by
  2875. : accident too often. This is progress :-? )
  2876.  
  2877. Ah ha! I can build on that. The ergonomic keyboard comes with an 
  2878. extension which allows the keyboard to switch the volume up and down. How 
  2879. hard would it be to use one of those "new" keys to eject the disk? Then 
  2880. both the power key and the "put away" key are both accessible from the 
  2881. keyboard. Apple adds new keys all the time that do cool new things. I 
  2882. think they could have added a "put away" key.
  2883.  
  2884. : -- 
  2885. : Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2886. : pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2887. : -------------------------------| b) hobgoblin of little minds
  2888. :    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2889.  
  2890. --
  2891. _____________________________________________________________________________
  2892.  Michael Bishop     "The best way to predict the future is to invent it."
  2893.  mbishop@umich.edu                        - Alan Kay
  2894.  
  2895. +++++++++++++++++++++++++++
  2896.  
  2897. >From mwalker@netcom.com (Mel Walker)
  2898. Date: Fri, 13 May 1994 16:37:17 GMT
  2899. Organization: Committee to Elect Dan Quayle Lord of the Cosmos
  2900.  
  2901. Antoine Paul Brusseau (ab2y+@andrew.cmu.edu) wrote:
  2902. :     If Apple had added a close box to disk icons, people wouldn't be
  2903. : declaring this a violation of HIG. The problem is, the trash icons most
  2904. : common analogy is that of a place one puts items in order to
  2905. : *PERMANENTLY DESTROY THEM*.
  2906.  
  2907. No, the common analogy is that one puts items into a trash can in order 
  2908. to *GET RID OF THEM*. Thus, when I want to get rid of a disk, I throw it 
  2909. in the trash. I does not violate my expectations in the slightest.
  2910.  
  2911. : Putting a disk in the trash, does not do
  2912. : this. This violates peoples expectations. Thus, it is a poor UI design
  2913. : decision. Whereas, a close box is used to remove an item from the
  2914. : desktop. Putting a close box on disk icons would have built on an
  2915. : existing interface convention without violating any preexisting ones (I
  2916. : think:).
  2917.  
  2918. What happens when you double-click on the disk to open it, and hit the 
  2919. close box? Since the close box would take a sizeable amount of the disk 
  2920. icon, I figure that it would happen quite a bit. In addition, the close 
  2921. box would interfere with my cool custom icons. :-)
  2922.  
  2923. Just out of curiousity, are there any GUIs that put close boxes on a disk 
  2924. icon?
  2925. -- 
  2926. Mel Walker                                     mwalker@netcom.com
  2927.  
  2928. +++++++++++++++++++++++++++
  2929.  
  2930. >From Stephen Jonke <jonke@gsfc.nasa.gov>
  2931. Date: 13 May 1994 17:47:43 GMT
  2932. Organization: NASA GSFC
  2933.  
  2934. In article <1994May13.092802.16931@prz.tu-berlin.de> Peter Castine,
  2935. pcastine@tubprz.prz.tu-berlin.de writes:
  2936. >Changing functionality of commands between software versions
  2937. >is one of the worst possible violations of human interface design
  2938. >concievable. Think about it--what would happen if Ford swapped the
  2939. >position of the emergency brake and the gear shift. Or, if you're
  2940. >using automatic transmission, how about swapping the gas pedal
  2941. >and the brake.
  2942.  
  2943. I disagree with this opinion.  You can't compare these two things,
  2944. because the consequences are quite drastically different.  If you do what
  2945. you suggest with cars, people can be killed.  If you do what I suggest
  2946. with Empty Trash and duplicate, you risk people being annoyed once or
  2947. twice, then seeing that it's better and being happy with it.  That's not
  2948. much of risk and there is great reward.  If lots of people use the
  2949. current Eject Disk functionality for things other then copying, then they
  2950. could throw in a new command that does this (offhand I can't think of a
  2951. name) that is NOT "Eject Disk".
  2952.  
  2953. You can go overboard with consistency and this is a perfect example.  You
  2954. are being consistent with something that was wrong to start with.  That
  2955. is a greater mistake, IMHO.  Plus, Apple's goal these days is to attract
  2956. NEW Mac users and if there are quirks like the Eject Disk "feature", they
  2957. are going to pick these out and say "boy, this is stupid, I'm going back
  2958. to my PC which is just as good" (not that this is true, but we are
  2959. talking about PC users who are confinced their PCs are just as good!  :)
  2960.  
  2961. Actually, here's another alternative that would be a better, but not as
  2962. good as my first suggestion.  Keep Eject Disk and have it appear to do
  2963. the same as usual, but make it so that it no longer asks you to put the
  2964. disk in if you shutdown (or whatever.)  Also, you should be able to drag
  2965. the greyed disk icon to the trash similarly.  This is actually the way it
  2966. use to work anyway, right?
  2967.  
  2968. Steve
  2969.  
  2970. - -------------------
  2971.  jonke@gsfc.nasa.gov
  2972. - -------------------
  2973.  
  2974. +++++++++++++++++++++++++++
  2975.  
  2976. >From David Casseres <casseres@apple.com>
  2977. Date: Fri, 13 May 1994 17:46:08 GMT
  2978. Organization: Apple Computer, Inc.
  2979.  
  2980. In article <dowdy-130594083624@17.202.72.12> Tom Dowdy, dowdy@apple.com writes:
  2981. > I'm not sure how this is a direct violation of the UI guidelines
  2982. > (and maybe it is)...It *is* probably a non-intuative feature,
  2983. > that wasn't well thought out for first implementation.
  2984. > However, I'd like to ask you if you now use the "Put Away" menu
  2985. > item in System 7, which performs the same function.  Or, do
  2986. > you continue to drag the disk to the trash.  If you continue
  2987. > to drag the disk to the trash -- why?  If we took away
  2988. > that feature, would you complain?
  2989.  
  2990. I bet anything that if we took away that feature there would be howls of rage
  2991. from so many people that we'd put it right back in as quickly as possible.
  2992.  
  2993. I was around when this was invented, and I guarantee that everyone knew it was
  2994. unintuitive, and thought hard about it.  But everyone also knew that there
  2995. really had to be a way to eject a diskette with just a simple mouse gesture,
  2996. and no one could come up with a better way to do it.
  2997.  
  2998. There are lots of things about GUI design that simply can't be accounted for
  2999. in guidelines.  For example, when you drag a file from one folder to another,
  3000. it disappears from its original location and appears in the new location.
  3001.  
  3002. *Except*... if you are dragging it from one disk to another then it doesn't
  3003. disappear from the original location.  It's completely inconsistent and not
  3004. even intuitive, but it's *right*.
  3005.  
  3006. We know this because on the Lisa it worked the other way, and the file was
  3007. erased from its original disk after being copied to the new one.  And this
  3008. turned out to be *wrong*, even though it was consistent and intuitive.
  3009.  
  3010. Sometimes even the best guidelines need to be blatantly disregarded.
  3011.  
  3012. - -----------
  3013.  
  3014. David Casseres
  3015. Exclaimer: Hey!
  3016.  
  3017. +++++++++++++++++++++++++++
  3018.  
  3019. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  3020. Date: 13 May 1994 18:44:39 GMT
  3021. Organization: University of Illinois at Urbana
  3022.  
  3023. Ron_Hunsinger@bmug.org (Ron Hunsinger) writes:
  3024.  
  3025. >resnick@cogsci.uiuc.edu (Pete Resnick) writes:
  3026.  
  3027. >>In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  3028. >>wrote:
  3029. >>
  3030. >>>Exactly how would the Swedish Finder know about the names of the
  3031. >>>Hindu special folders?
  3032. >>
  3033. >>The same way it knows what the names of the Swedish special folders are:
  3034. >>
  3035. >>    GetResource('fld#', 0);
  3036. >>
  3037.  
  3038. >Wouldn't work.  This would only tell the Swedish Finder the names of the 
  3039. >*Swedish* special folders.  Although...
  3040.  
  3041. >If Apple was hard-pressed, I suppose the active Finder could look in
  3042. >the boot blocks of the other System Folder's volume to get the name of
  3043. >the other Finder, then open the other Finder's resource fork and get the 
  3044. >folder names from it.  And do all this only if the destination folder 
  3045. >matches the id of the blessed folder (available from vcbFndrInfo).
  3046.  
  3047. I think you are getting confused here. The question is, if I drag to a
  3048. non-blessed system folder, why can't the Finder figure out where to
  3049. put the files? To realize it's a legitamate (albeit unblessed) system
  3050. folder in the first place, you must *already* notice that there is a
  3051. System and a Finder in that folder. You don't need to go looking in
  3052. boot blocks to figure that out; you simply need to look at file types.
  3053. Once you discover that there are appropriate System and Finder files
  3054. using the file types, you can then open the appropriate one (I forget
  3055. whether the fld# is in the System or the Finder; I believe it's the
  3056. former) and do the GetResource from that file (I guess using
  3057. Get1Resource instead of GetResource actually). You won't get the ones
  3058. from the Swedish system since the Hindu (or whatever) system is the
  3059. current resource file. It doesn't have to be the blessed folder since
  3060. any system folder will be reasonable to put things into appropriate
  3061. places.
  3062.  
  3063. Right?
  3064.  
  3065. pr
  3066. -- 
  3067. Pete Resnick             (...so what is a mojo, and why would one be rising?)
  3068. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  3069. System manager - Cognitive Science Group, Beckman Institute, UIUC
  3070. Internet: resnick@cogsci.uiuc.edu
  3071.  
  3072. +++++++++++++++++++++++++++
  3073.  
  3074. >From peirce@outpost.SF-Bay.org (Michael Peirce)
  3075. Date: 13 May 94 00:44:48 GMT
  3076. Organization: Peirce Software, Inc.
  3077.  
  3078.  
  3079. In article <zig.768162596@wc.novell.com> (comp.sys.mac.advocacy,comp.sys.mac.programmer), zig@wc.novell.com (Zig Zichterman) writes:
  3080. > One place Apple violates its suggested guidelines in in the Finder's
  3081. > "About This Macintosh..." menu item. The Mac HI Guidelines book (pages 67-70)
  3082. > suggests that the ellipsis (...) should appear only on menu items that 
  3083. > require *additional* information before they can complete (such as
  3084. > choosing a file from an Open... dialog, or setting up options in a
  3085. > Preferences... dialog, and so on). For menu items that execute without
  3086. > further information from the user, such as Cut, Copy, showing an About
  3087. > box, and so on, the ellipsis should not appear.
  3088. > After 10 years of tradition, who's going to really remove the ellipsis
  3089. > from their "About..." menu?
  3090.  
  3091. I've always interpretted the presence of an ellipsis to mean a dialog
  3092. will be called up, i.e. something will interupt you focus on the current
  3093. window.  Or more specifically, you'll have to do something to get
  3094. back to where you were.
  3095.  
  3096. With this interpretation, the About... is correct.
  3097.  
  3098. __ Michael Peirce        __ peirce@outpost.sf-bay.org
  3099. __ Peirce Software, Inc. __ 719 Hibiscus Place, Suite 301
  3100. __                       __ San Jose, California USA 95117-1844
  3101. __ Makers of: Smoothie & __ voice: +1.408.244.6554 fax: +1.408.244.6882
  3102. __    Peirce Print Tools __ AppleLink: peirce & AOL: AFC Peirce
  3103.  
  3104. +++++++++++++++++++++++++++
  3105.  
  3106. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  3107. Date: Fri, 13 May 1994 15:42:40 -0400
  3108. Organization: Carnegie Mellon, Pittsburgh, PA
  3109.  
  3110. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3111. blatant disrega.. by Mel Walker@netcom.com 
  3112. > No, the common analogy is that one puts items into a trash can in order 
  3113. > to *GET RID OF THEM*. Thus, when I want to get rid of a disk, I throw it 
  3114. > in the trash. I does not violate my expectations in the slightest.
  3115.  
  3116. Unfortunately, the most common consequence of getting rid of something
  3117. is that it is permanently destroyed (i.e., the trash icon is most often
  3118. used to destroy files). Thus, the association in many peoples' minds is
  3119. a place where one puts an item in order to permanently destroy it. The
  3120. reason I bring this up, is that more than a few people that I've taught
  3121. to use Apple computers have been shocked that putting a disk in the
  3122. trash can is the easiest way of ejecting a disk. Several non-technically
  3123. oriented people I know actively balk at using this feature because they
  3124. are afraid their data is going to be erased (no matter how many times I
  3125. reassure them it isn't). Philosophically and empirically, the evidence
  3126. indicates that this feature is more than a little dubious as a UI
  3127. shortcut.
  3128.  
  3129. Since many people including myself make extended use of this feature, it
  3130. is obviously desirible to have a UI shortcut for ejecting a disk (menus
  3131. are just too incovenient and command-y is too arcane). That's why I
  3132. think some other method (that doesn't violate common expectations), such
  3133. as having a close button on ejectable media volumes or dragging
  3134. ejectable media icons off the desktop, as a way of ejecting them is
  3135. preferable.
  3136.  
  3137. Tony
  3138.  
  3139. +++++++++++++++++++++++++++
  3140.  
  3141. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  3142. Date: Fri, 13 May 1994 15:55:08 -0400
  3143. Organization: Carnegie Mellon, Pittsburgh, PA
  3144.  
  3145. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3146. blatant disrega.. by David Casseres@apple.com 
  3147. > Sometimes even the best guidelines need to be blatantly disregarded.
  3148.  
  3149. That's by far the best argument I've heard in support of dragging icons
  3150. into the trash. But what about putting a close box on (or near) floppy
  3151. icons, or dragging them off the desktop in order to eject them? Both of
  3152. these methods sound intuitive and consistent (at least superficially).
  3153.  
  3154. Tony
  3155.  
  3156. +++++++++++++++++++++++++++
  3157.  
  3158. >From 103t_english@west.cscwc.pima.edu
  3159. Date: 14 May 94 04:04:01 MST
  3160. Organization: (none)
  3161.  
  3162. In article <Uhod=du00UzxE3WloB@andrew.cmu.edu>, Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  3163. >     If Apple had added a close box to disk icons, people wouldn't be
  3164. > declaring this a violation of HIG. The problem is, the trash icons most
  3165. > common analogy is that of a place one puts items in order to
  3166. > *PERMANENTLY DESTROY THEM*. Putting a disk in the trash, does not do
  3167. > this. This violates peoples expectations. Thus, it is a poor UI design
  3168. > decision. Whereas, a close box is used to remove an item from the
  3169. > desktop. Putting a close box on disk icons would have built on an
  3170. > existing interface convention without violating any preexisting ones (I
  3171. > think:).
  3172. > Tony
  3173.  
  3174.  
  3175. Now figger out how to make sure that the close box was clicked on and the user
  3176. wasn't trying to either select or open the file...
  3177.  
  3178.  
  3179. Lawson
  3180.  
  3181. +++++++++++++++++++++++++++
  3182.  
  3183. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  3184. Date: Sat, 14 May 1994 10:31:04 GMT
  3185. Organization: PRZ TU-Berlin
  3186.  
  3187. Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  3188. >...more than a few people that I've taught
  3189. >to use Apple computers have been shocked that putting a disk in the
  3190. >trash can is the easiest way of ejecting a disk. Several non-technically
  3191. >oriented people I know actively balk at using this feature because they
  3192. >are afraid their data is going to be erased (no matter how many times I
  3193. >reassure them it isn't). 
  3194.  
  3195. So, what do the people do instaed of dragging the disk to the trash?
  3196. Before System 7.0, the alternative was to Eject and then trash the
  3197. shadow. Did users back then (or the 40% of machines still running
  3198. System <7) keep on doing this? Or did they get used to the idea of
  3199. the shortcut? (Anybody have any data on this? Experience? Anecdotes?)
  3200.  
  3201. Do new users running System 7.x still keep to the Put Away command 
  3202. (or the keyboard equivalent)? Or do they find the mouse gesture more
  3203. convenient?
  3204.  
  3205. When I've done Mac training (this is, admittedly, a while ago), I always
  3206. demonstrated the two-step method first, which seemed not to bother
  3207. people (except that it took two steps). *THEN* I showed the disk-to-trash
  3208. shortcut. SOme people like it. Some people get used to it. Others don't.
  3209.  
  3210. HIG lists no less than five different flavors of consistency. Only
  3211. one of these is consistency with people's expectations. Meeting the
  3212. expectations of ALL users is impossible (HIG is coy on this one, and
  3213. just says "it's difficult to meet the expectations of everyone."
  3214. It ain't difficult. It's 'mpossible.)
  3215.  
  3216. Take the following example:
  3217.  
  3218. I've trained people who expected the backspace key to work
  3219. like the left arrow (move the I-beam cursor to the left
  3220. in text editing without deleting characters). Why? Because that's
  3221. the way most typewriters work. 
  3222.  
  3223. How about this: Teach people who've never worked with a computer
  3224. before how to use a spreadsheet. They will invariably
  3225. type 'x' instead of '*' for multiplication.
  3226.  
  3227. Sorry for the continuing sermon. I really just wanted to know
  3228. how long it takes people to become comfortable with the disk-
  3229. to-trash shortcut. I suspect that (with the exception of
  3230. those who have been forced to work with a Mac and are determined
  3231. to hate any aspect of it they can), the time is resonably short.
  3232. -- 
  3233. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  3234. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  3235. - -----------------------------| b) hobgoblin of little minds
  3236.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  3237.  
  3238. +++++++++++++++++++++++++++
  3239.  
  3240. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  3241. Date: Sat, 14 May 1994 10:39:02 GMT
  3242. Organization: PRZ TU-Berlin
  3243.  
  3244. >Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3245. >blatant disrega.. by David Casseres@apple.com 
  3246. >> Sometimes even the best guidelines need to be blatantly disregarded.
  3247.                                                  ~~~~~~~~~
  3248.  
  3249. No. The guidelines (all eleven of 'em, as well as a few other unstated
  3250. concerns such as efficiency and convenience for the user, as well as cost
  3251. and time for the developers) have to be balanced with one another.
  3252.  
  3253.  
  3254. -- 
  3255. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  3256. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  3257. - -----------------------------| b) hobgoblin of little minds
  3258.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  3259.  
  3260. +++++++++++++++++++++++++++
  3261.  
  3262. >From bizarre@leland.stanford.edu (Bruce Templeton)
  3263. Date: Sat, 14 May 1994 13:51:42 -0800
  3264. Organization: Stanford University
  3265.  
  3266. In article <1994May14.103104.5587@prz.tu-berlin.de>,
  3267. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  3268. > So, what do the people do instaed of dragging the disk to the trash?
  3269. > Before System 7.0, the alternative was to Eject and then trash the
  3270. > shadow. Did users back then (or the 40% of machines still running
  3271. > System <7) keep on doing this? Or did they get used to the idea of
  3272. > the shortcut? (Anybody have any data on this? Experience? Anecdotes?)
  3273. <deleted>
  3274. > Sorry for the continuing sermon. I really just wanted to know
  3275. > how long it takes people to become comfortable with the disk-
  3276. > to-trash shortcut. I suspect that (with the exception of
  3277. > those who have been forced to work with a Mac and are determined
  3278. > to hate any aspect of it they can), the time is resonably short.
  3279.  
  3280. I'm embarassed to admit, I had my Mac Plus for *two years* before I
  3281. realized that you could get rid of the ghost disk by dragging it to 
  3282. the trash.  I just sat there and swapped disks until it let me go.
  3283. When I got too many ghost disks on my desktop, I restarted my computer.
  3284. Note that I was a very novice user, and did not know anyone else who 
  3285. had a Macintosh.  I was very jealous of my friends who had eject 
  3286. buttons on their PC's.
  3287.  
  3288. When I got to college, someone dragged my disk with a paper on it to 
  3289. the trash and I almost had a heart attack.
  3290.  
  3291. As far as shortcuts go, Apple actually removed the one I really liked
  3292. with the introduction of System 7.  You could type Command-Option-E
  3293. and hold the option key down until the disk ejected and the ghost 
  3294. would disappear.  With the Put Away command, you have to select the 
  3295. disk with the mouse before it works.
  3296.  
  3297. Yup, Apple screwed up ejecting pretty bad.
  3298.  
  3299. -Bruce
  3300.  
  3301. -- 
  3302. |*Bruce Templeton                                      ______________ *|
  3303. |*bizarre@leland.stanford.edu                 DFOTB  /______________/|*|
  3304. |*Disclaimer:  The statements above reflect the      |  o   o   o  | |*|
  3305. |*opinions of virtually everyone I have ever met.    |_____________|/ *|
  3306.  
  3307. +++++++++++++++++++++++++++
  3308.  
  3309. >From oster@netcom.com (David Phillip Oster)
  3310. Date: Sat, 14 May 1994 23:02:06 GMT
  3311. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  3312.  
  3313.  
  3314. After all these years, surely the finder could have a little more Undo for
  3315.  
  3316. +++++++++++++++++++++++++++
  3317.  
  3318. >From tzs@u.washington.edu (Tim Smith)
  3319. Date: 14 May 1994 05:39:07 GMT
  3320. Organization: University of Washington School of Law, Class of '95
  3321.  
  3322. Speaking of how manipulating things on the screen should be fun, surely I'm
  3323. not the only one who wants to be able to move the cursor by having commands
  3324. for "rotate left", "rotate right", and "thrust", am I?
  3325.  
  3326. --Tim Smith
  3327.  
  3328. +++++++++++++++++++++++++++
  3329.  
  3330. >From shimpei@leland.Stanford.EDU (Shimpei Yamashita)
  3331. Date: 15 May 1994 09:32:28 GMT
  3332. Organization: Stanford University, CA 94305, USA
  3333.  
  3334. In article <1994May13.122546.950@bradford.ac.uk>,
  3335. David Gillies <D.A.G.Gillies@bradford.ac.uk> wrote:
  3336. :Of course 'Eject' ejects the disk. It enables you to remove it from the disk
  3337. :drive, doesn't it? That fits any reasonable definiton of eject in my book.
  3338. :It takes most people with an IQ higher than that of a potato to realise
  3339. :the difference between 'Eject', and 'Put Away'. For those amongst us who are
  3340. :not completely illiterate, the distinction is also pointed out in *the manual*
  3341.  
  3342. I've been using System 6 on a Plus since 1988. I saw System 7 for the first
  3343. time when I came to college, and I freely admit that it took me about
  3344. six months to realize that "Put Away" is the menu equivalent of dragging
  3345. the disk to the trash. It *is* counterintuitive that "ejecting the disk"
  3346. and "restoring files to their original folders" fall under the same command,
  3347. IMHO. And no, I could not have read the manual since they don't have 
  3348. System 7 manuals lying around in the computer clusters....
  3349.  
  3350.  
  3351. -- 
  3352. Shimpei Yamashita, Stanford University           shimpei@leland.stanford.edu
  3353.  
  3354. +++++++++++++++++++++++++++
  3355.  
  3356. >From stk@uropax.contrib.de (Stefan Kurth)
  3357. Date: 9 May 1994 02:13:04 +0200
  3358. Organization: Contributed Software GbR
  3359.  
  3360. Speaking of arrow keys in lists: what would be the correct behaviour when
  3361. the user types down-arrow, but nothing is currently selected? Should the
  3362. topmost or the bottom-most item be selected? The standard file package
  3363. behaves different from finder windows in this regard, which is a really
  3364. annoying inconsistency, if you ask me.
  3365.  
  3366. _____________________________________________________________________
  3367. Stefan Kurth              Berlin, Germany              stk@contrib.de
  3368.  
  3369. +++++++++++++++++++++++++++
  3370.  
  3371. >From gdl@stlawrence.maths (Greg Landweber)
  3372. Date: 15 May 1994 21:41:25 GMT
  3373. Organization: (none)
  3374.  
  3375. In article <2qjv6g$cj4@uropax.contrib.de> stk@uropax.contrib.de (Stefan Kurth) writes:
  3376.    Speaking of arrow keys in lists: what would be the correct behaviour when
  3377.    the user types down-arrow, but nothing is currently selected? Should the
  3378.    topmost or the bottom-most item be selected? The standard file package
  3379.    behaves different from finder windows in this regard, which is a really
  3380.    annoying inconsistency, if you ask me.
  3381.  
  3382. I'm not 100% sure, but I think that in such a situation the arrow keys
  3383. do nothing.  I'm using the ArrowKeyInList routine straight out of More
  3384. Macintosh Toolbox, and it returns empty handed when passed a list with
  3385. no current selection.  Of course, the sample code and the
  3386. documentation may not agree (and I seem to recall that the sample code
  3387. had a few bugs).
  3388.  
  3389. -- Greg
  3390.    gdl@maths.ox.ac.uk
  3391.  
  3392. +++++++++++++++++++++++++++
  3393.  
  3394. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  3395. Date: Mon, 16 May 1994 16:41:52 +1200 (NZST)
  3396. Organization: (none)
  3397.  
  3398. dowdy@apple.com (Tom Dowdy) writes:
  3399. > However, I'd like to ask you if you now use the "Put Away" menu
  3400. > item in System 7, which performs the same function.  Or, do
  3401. > you continue to drag the disk to the trash.
  3402.  
  3403. I can't remember the last time I dragged a disk to the trash.  It's
  3404. always <apple>-Y for me.
  3405.  
  3406. +++++++++++++++++++++++++++
  3407.  
  3408. >From ruhl@du.edu (ROBERT A. UHL )
  3409. Date: Mon, 16 May 1994 17:24:43 GMT
  3410. Organization: University of Denver
  3411.  
  3412. In article <2qtjl0$ob9@acme.gatech.edu> gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  3413. >In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  3414. >>In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  3415. >>I honestly can *NOT* understand all this bitching about (3) above. If
  3416. >>you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  3417. >>Command-Y and shut up. 
  3418. >>
  3419. I'd like to say that the above quote belongs to Peter castine, not me;
  3420. the poster misquoted. The quote is not at all my style.
  3421. -- 
  3422. - -------------------------------------------------------
  3423. | Bob Uhl | Spectre                  | Christos Anesti! |
  3424. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  3425. - -------------------------------------------------------
  3426.  
  3427. +++++++++++++++++++++++++++
  3428.  
  3429. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  3430. Date: Tue, 17 May 1994 18:14:49 +1200 (NZST)
  3431. Organization: (none)
  3432.  
  3433. stk@uropax.contrib.de (Stefan Kurth) writes:
  3434. > Speaking of arrow keys in lists: what would be the correct behaviour when
  3435. > the user types down-arrow, but nothing is currently selected? Should the
  3436. > topmost or the bottom-most item be selected? The standard file package
  3437. > behaves different from finder windows in this regard, which is a really
  3438. > annoying inconsistency, if you ask me.
  3439.  
  3440. It annoys me too.  I much prefer getting the topmost item in this situation,
  3441. and that's how I write my own programs.
  3442.  
  3443. I think Finder windows are the *only* place it happens the other way around,
  3444. and it's stupid.
  3445.  
  3446. Think how you select the third (say) item in a list.  In the Finder you need
  3447. to hit the up arrow once, then down twice.  Anywhere else you just hit down
  3448. three times (or hold the key down for items further down the list).
  3449.  
  3450. -- Bruce
  3451.  
  3452. +++++++++++++++++++++++++++
  3453.  
  3454. >From jdc0864@u.cc.utah.edu (Jeff Croft)
  3455. Date: 17 May 1994 01:31:02 -0600
  3456. Organization: University Of Utah Computer Center
  3457.  
  3458. David Gillies (D.A.G.Gillies@bradford.ac.uk) wrote:
  3459.  
  3460. : Keeping volumes mounted is a time-saving feature. If you had to wait the
  3461. : twenty seconds or so it takes to mount a floppy every time you popped one out
  3462. : of the slot in the Standard File dialog, you'd go mad. It's not perfect, but
  3463. : until someone comes up with abetter solution we're stuck with it. 
  3464.  
  3465. Gee. It's too bad that it takes that long to mount a floppy.
  3466.  
  3467.                  Jeff
  3468.  
  3469.  
  3470. +++++++++++++++++++++++++++
  3471.  
  3472. >From Ron_Hunsinger@bmug.org (Ron Hunsinger)
  3473. Date: Tue, 17 May 94 06:50:16 PST
  3474. Organization: Berkeley Macintosh Users Group
  3475.  
  3476. resnick@cogsci.uiuc.edu (Pete Resnick) writes:
  3477.  
  3478. >Ron_Hunsinger@bmug.org (Ron Hunsinger) writes:
  3479. >
  3480. >>If Apple was hard-pressed, I suppose the active Finder could look in
  3481. >>the boot blocks of the other System Folder's volume to get the name of
  3482. >>the other Finder, then open the other Finder's resource fork and get the 
  3483. >>folder names from it.  And do all this only if the destination folder 
  3484. >>matches the id of the blessed folder (available from vcbFndrInfo).
  3485. >
  3486. >I think you are getting confused here. The question is, if I drag to a
  3487. >non-blessed system folder, why can't the Finder figure out where to
  3488. >put the files? To realize it's a legitamate (albeit unblessed) system
  3489. >folder in the first place, 
  3490.  
  3491. You're right, I was confused here.  I had forgotten that it is now
  3492. permitted again to have more than one system folder on a volume.  I
  3493. still think it's spooky to do so, though.
  3494.  
  3495. >you must *already* notice that there is a
  3496. >System and a Finder in that folder. You don't need to go looking in
  3497. >boot blocks to figure that out; you simply need to look at file types.
  3498.  
  3499. Well, I think that looking at vcbFndrInfo for the directory id of the
  3500. blessed folder is easier than looking at file types.  But yeah, if you
  3501. want to support unblessed system folders, you will have to scan the 
  3502. files inside the folder.
  3503.  
  3504. I hadn't realized that the System and Finder files now had their own
  3505. unique type/creator.  Back on system 3 or so it was not uncommon for
  3506. people to create files with the same type/creator as the Finder, so
  3507. they wouldn't have to hassle with BNDL resources to give the file an
  3508. icon.  Apple started it (if memory serves me right, but I could be
  3509. wrong) by doing this with the Clipboard File and the Scrapbook File,
  3510. and then other vendors did the same with their "just-as-important"
  3511. data and preference files.
  3512.  
  3513. In light of that, are you sure that identifying the files by type/creator
  3514. is reliable?  I still find ZSYS/MACS and ZSYS/ERIK files on my disk that 
  3515. were put there by current non-Apple software.  I know that System 7 now 
  3516. uses zsys/MACS and FNDR/MACS for the System and Finder, but are you 
  3517. sure that nobody is going to try to get a free icon out of the new codes
  3518. like they did out of the old ones?  And like many people do now by giving
  3519. their preferences files a type of 'pref'?
  3520.  
  3521. Related Question That May Answer This Question: How do the utility 
  3522. programs that let you switch between system folders on the same volume
  3523. deal with the possibility that the folders might be in different
  3524. languages?  If they ignore the problem, using the System/Finder names
  3525. from the boot blocks, then you should also.  If they identify System/
  3526. Finder by their type/creator, as you are suggesting, and copy the
  3527. names to the boot blocks, then your argument gains a lot of support.
  3528.  
  3529. Similar Question:  What happens now when you copy files that have the
  3530. "wrong" names but the "right" type/creator into a folder on a volume
  3531. that does not already have a blessed folder?  That is, if I rename
  3532. System and Finder to something else, say "System copy" and "Finder copy",
  3533. and copy them into a folder on an otherwise blank disk, does that folder 
  3534. get blessed?  Should it?  Do those names get copied to the boot blocks?  
  3535. What if the names are longer than 15 bytes?  If the folder gets blessed, 
  3536. that bolsters your contention that a system folder is defined in terms of 
  3537. the types of the files within it, rather than their names.  And if not, 
  3538. you are of course free to argue that this is yet another oversight that
  3539. ought to be corrected, but you will then have the additional burden of
  3540. convincing us that this would be the correct behavior.  You would have
  3541. to answer questions like: What if I have two finders in the same folder 
  3542. under different names?  Which one is the real one?  What if I remove
  3543. one of them from the blessed folder?  Does the folder become unblessed,
  3544. or does the other finder get selected?  Which other one if I started
  3545. with more than two?
  3546.  
  3547. >Once you discover that there are appropriate System and Finder files
  3548. >using the file types, you can then open the appropriate one (I forget
  3549. >whether the fld# is in the System or the Finder; I believe it's the
  3550. >former) and do the GetResource from that file (I guess using
  3551. >Get1Resource instead of GetResource actually). You won't get the ones
  3552. >from the Swedish system since the Hindu (or whatever) system is the
  3553. >current resource file. It doesn't have to be the blessed folder since
  3554. >any system folder will be reasonable to put things into appropriate
  3555. >places.
  3556.  
  3557. You're right about the fld# resource being in the System file.  Too bad.
  3558. The resource map for the System file is huge, and it takes a while to
  3559. open it.  Of course, you only need to open it to get the folder names,
  3560. and you only need those if you are actually going to disburse files
  3561. into the appropriate subfolders, and you aren't going to do that until
  3562. the user responds to the dialog that comes up asking the user whether 
  3563. it's OK to do so.  All of which means you could hide the time it takes 
  3564. by doing it while the user is reading the dialog.
  3565.  
  3566. -Ron Hunsinger
  3567.  
  3568. +++++++++++++++++++++++++++
  3569.  
  3570. >From ruhl@du.edu (ROBERT A. UHL )
  3571. Date: 11 May 94 21:53:07 GMT
  3572. Organization: University of Denver
  3573.  
  3574. In article <zig.768162596@wc.novell.com> zig@wc.novell.com (Zig Zichterman) writes:
  3575. >One place Apple violates its suggested guidelines in in the Finder's
  3576. >"About This Macintosh..." menu item. The Mac HI Guidelines book (pages 67-70)
  3577. >suggests that the ellipsis (...) should appear only on menu items that 
  3578. >require *additional* information before they can complete (such as
  3579. >choosing a file from an Open... dialog, or setting up options in a
  3580. >Preferences... dialog, and so on). For menu items that execute without
  3581. >further information from the user, such as Cut, Copy, showing an About
  3582. >box, and so on, the ellipsis should not appear.
  3583.  
  3584. Oops...
  3585. I thought that the ellipsis indicated a dialog box (and, as far as I
  3586. know, that item is a dialog box).
  3587.  
  3588. >--Zig Zichterman
  3589. >ziggr@eWorld.com 
  3590. >
  3591.  
  3592.  
  3593. -- 
  3594. - -------------------------------------------------------
  3595. | Bob Uhl | Spectre                  | Christos Anesti! |
  3596. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  3597. - -------------------------------------------------------
  3598.  
  3599. ---------------------------
  3600.  
  3601. >From egurney@vcd.hp.com (Eddy J. Gurney)
  3602. Subject: List Manager clikLoop problem... but whose it?
  3603. Date: Mon, 9 May 1994 22:02:04 GMT
  3604. Organization: Hewlett-Packard VCD
  3605.  
  3606. Over the weekend, I was adding some new features to some lists I have
  3607. in my app, and came across an interesting problem.  Running under Think
  3608. C 7, all optimizations on.
  3609.  
  3610. I have a List Manager click loop, declared as follows (yes, it is declared
  3611. pascal Boolean; I know a Pascal boolean is 1 bit and a C boolean is 16
  3612. bits... and that Think C should take care of everything for me :-)...
  3613.  
  3614. pascal Boolean MyClickLoop(void);
  3615.  
  3616. now, if MyClickLoop looks like this:
  3617.  
  3618. pascal Boolean MyClickLoop(void)
  3619. {
  3620.     Boolaen result = true;
  3621.  
  3622.     return true;
  3623. }
  3624.  
  3625. everything works as expected.
  3626.  
  3627. BUT if MyClickLoop uses something like this:
  3628.  
  3629. pascal Boolean MyClickLoop(void)
  3630. {
  3631.     Boolean result = true;
  3632.  
  3633.     return result;
  3634. }
  3635.  
  3636. it *DOESN'T* work.  I compared the disassembly of the two; nothing
  3637. out of the ordinary, really:
  3638.  
  3639. First version (at least the important parts):
  3640.  
  3641. LINK    A6
  3642.  ...
  3643. MOVE.B  #$01,$0008(A6)
  3644. UNLK    A6
  3645. RTS
  3646.  
  3647. Second version:
  3648.  
  3649. LINK    A6
  3650. MOVE.L  D7,-(A7)
  3651. MOVEQ   #$01,D7
  3652.  ...
  3653. MOVE.B  D7,$0008(A6)
  3654. MOVE.L  (A7)+,D7
  3655. UNLK    A6
  3656. RTS
  3657.  
  3658. Now, this shouldn't make any difference, EXCEPT that the List Manager
  3659. (_Pack0) calls the user-defined clikLoop routine with the following 
  3660. code:
  3661.  
  3662. JSR     (A0)
  3663. BEQ     ...
  3664.  
  3665. As you can see, it immediately checks the Z condition code after the
  3666. routine finishes... which assumes that the last command executed in
  3667. the user-defined clikLoop routine sets that condition code correctly.
  3668. This is NOT the case in the second version, since the MOVE.L (A7)+,D7
  3669. (to restore the value of D7) clobbers the condition code set by the
  3670. MOVE.B D7,$0008(A6).  [If more than one register needed to be saved on
  3671. the stack and a MOVEM was used, this wouldn't matter since it doesn't
  3672. change the condition codes.  So this is kind of a "special" case (but
  3673. it SHOULD still work!)]  So my real clikLoop routine has a bunch of
  3674. "return true" and "return false" all over it, instead of a bunch of
  3675. "result = true" and "result = false" with one "return result" at the
  3676. end... 
  3677.  
  3678. Anyway... whose problem is this?  Should Think C be "smart" enough to
  3679. work around this, or is the List Manager doing a Bad Thing by assuming
  3680. the condition codes are valid without first popping something off the
  3681. stack?
  3682.  
  3683. --
  3684. Eddy J. Gurney N8FPW   Hewlett-Packard Company, Vancouver (USA!) Division
  3685. egurney@vcd.hp.com                       #include <standard-disclaimer.h>
  3686. "Failures are divided into two classes-- those who thought and never did,
  3687.       and those who did and never thought."     John Charles Salak
  3688.  
  3689. +++++++++++++++++++++++++++
  3690.  
  3691. >From sears@netcom.com (Daniel Sears)
  3692. Date: Tue, 10 May 1994 05:23:17 GMT
  3693. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  3694.  
  3695. Eddy,
  3696.  
  3697. your summary of the clikLoop problem was very good.
  3698. I've been having problems porting my clickLoop to the PPC
  3699. with its mixed mode madness and your summary clarified things.
  3700.  
  3701. On page 4-101 of Mo' Mac Toolbox, it says:
  3702.  
  3703.     A click-loop procedure should ordinarily set the Z flag to 1
  3704.     just before returning.  If a click-loop sets the Z flag to 0,
  3705.     then the LClick function immediately returns.
  3706.  
  3707. It later says in the Assembly Language Information section:
  3708.  
  3709.     Your click-loop procedure should ordinarily set register d0 to 1.
  3710.     To stop the LClick function from calling your procedure for the
  3711.     current mouse-down event, set register d0 to 0.
  3712.  
  3713. This second section could be a docubug or it could mean shut up,
  3714. just stop calling me.
  3715.  
  3716. As for whose problem this is, it sounds like a ThinkC code generation bug.
  3717. I can't think of any reason why
  3718.  
  3719.     return true; and result = true; return result; should be different.
  3720.  
  3721. Hope this helps.
  3722.  
  3723. Dan
  3724. -- 
  3725.  
  3726. E-mail:     sears@netcom.com
  3727. Phone:      415.695.0650
  3728. Address:    2440 16th Street #283
  3729.             San Francisco, CA 94103-4211
  3730.  
  3731. +++++++++++++++++++++++++++
  3732.  
  3733. >From leblonk@netcom.com (Marcel Blonk)
  3734. Date: Tue, 10 May 1994 08:32:14 GMT
  3735. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  3736.  
  3737. : As for whose problem this is, it sounds like a ThinkC code generation bug.
  3738. : I can't think of any reason why
  3739.  
  3740. It's definitely not a Think C bug, since C compilers don't have anything 
  3741. to do with returning condition codes as function results. Maybe the 
  3742. Think C manual says somewhere that the CC return values are undefined (but 
  3743. not likely, since there is NO reason at all to assume that the CC should 
  3744. have any significance)
  3745.  
  3746. so:
  3747.  
  3748. :         return true; and result = true; return result; should be different.
  3749.  
  3750. are EXACTLY equal in C terms.
  3751.  
  3752. Who to blaim? Apple I'd have to say. Their documentation says to declare 
  3753. the ClickLoop proc as a pascal Boolean returning function (in fact, the 
  3754. assembly-language note only reasserts that). So, if in this case, the 
  3755. ClickLoop is supposed to return with the Z-bit set appropiately, the 
  3756. documentation should have said so (and should have indicated that this 
  3757. routine can only be written with the appropiate assembler glue code) 
  3758. (It's a strange peace of programming interface anyway, since it also 
  3759. states that D5 contains the current mouse point "for your convenience". 
  3760. That's a real no-no, if you ask me. The least they could have done, is 
  3761. move D5 to D1 (it is eg. impossible to declare D5 as a pragma parameter, 
  3762. only D0-D1 and A0-A1 (maybe one more), since that is the convention that 
  3763. is used throughout the system)
  3764.  
  3765. Anyway, to conclude, seeing that the Z-bit has to be set appropiately, the 
  3766. only way to write a proper ClickLoop function, is to add assembler glue 
  3767. code. You can in no way rely on the C compiler to do this for you.
  3768.  
  3769. mb
  3770.  
  3771.  
  3772. +++++++++++++++++++++++++++
  3773.  
  3774. >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
  3775. Date: Wed, 11 May 1994 14:06:00 +0800
  3776. Organization: NCRPDA, Curtin University
  3777.  
  3778. >On page 4-101 of Mo' Mac Toolbox, it says:
  3779. >
  3780. >        A click-loop procedure should ordinarily set the Z flag to 1
  3781. >        just before returning.  If a click-loop sets the Z flag to 0,
  3782. >        then the LClick function immediately returns.
  3783.  
  3784. This is correct for the 68k machines, at least in my experience.
  3785. >
  3786. >It later says in the Assembly Language Information section:
  3787. >
  3788. >        Your click-loop procedure should ordinarily set register d0 to 1.
  3789. >        To stop the LClick function from calling your procedure for the
  3790. >        current mouse-down event, set register d0 to 0.
  3791.  
  3792. This works only in that it sets the Z flag above.  My solution (in Pascal)
  3793. was to do it like this:
  3794.  
  3795. {$PUSH}
  3796. {$D-}
  3797.    function MyClickLoop: boolean; 
  3798. { returns the bloody equal flag for gods sake! }
  3799.    begin
  3800.       MyClickLoop := MyClickLoop2; { BE VERY CAREFUL!  Returns the equal flag! }
  3801.    end;
  3802. {$POP}
  3803.  
  3804. Comments left unchanged :-)
  3805.    Peter.
  3806. _______________________________________________________________________
  3807. Peter N Lewis <peter.lewis@info.curtin.edu.au>       Ph: +61 9 368 2055
  3808.  
  3809. +++++++++++++++++++++++++++
  3810.  
  3811. >From Dave Allcott <davidall@bedford.symantec.com>
  3812. Date: 11 May 1994 14:32:18 GMT
  3813. Organization: Symantec Corporation
  3814.  
  3815. In article <searsCpKMyu.Avp@netcom.com> Daniel Sears, sears@netcom.com writes:
  3816. >As for whose problem this is, it sounds like a ThinkC code generation bug.
  3817. >I can't think of any reason why
  3818. >
  3819. >    return true; and result = true; return result; should be different.
  3820. >
  3821. >Hope this helps.
  3822.  
  3823. I thinks it's still arguable but I'll see what we can do about it in the future.
  3824. We should at least have oddities like this documented.
  3825.  
  3826. Dave
  3827.  
  3828. Depending on condition codes between function calls. tsk tsk. :)
  3829.  
  3830. ---------------------------
  3831.  
  3832. >From Mark A. Saper <saper@umich.edu>
  3833. Subject: Opening a file with C standard i-o routines
  3834. Date: 9 May 1994 15:41:13 GMT
  3835. Organization: Biophysic, Univ. of Michigan
  3836.  
  3837. This is a question from a novice:
  3838.  
  3839. I am writing a drag and drop routine that handles AE's to open a
  3840. document.  The result from this is an FSSpec.  How can I use this to open
  3841. a file and read it with Think C's standard I/O routines like gets?  I can
  3842. open the file, read it into a buffer with Toolbox functions, but is there
  3843. any way to link the standard I/O stream with my allocated buffer?
  3844.  
  3845. Thanks for your help.
  3846.                                                                                                                         Mark Saper, saper@umich.edu
  3847.  
  3848. +++++++++++++++++++++++++++
  3849.  
  3850. >From rmah@panix.com (Robert S. Mah)
  3851. Date: Mon, 09 May 1994 19:01:12 -0500
  3852. Organization: One Step Beyond
  3853.  
  3854. Mark A. Saper <saper@umich.edu> wrote:
  3855.  
  3856. > I am writing a drag and drop routine that handles AE's to open a
  3857. > document.  The result from this is an FSSpec.  How can I use this to open
  3858. > a file and read it with Think C's standard I/O routines like gets?  I can
  3859. > open the file, read it into a buffer with Toolbox functions, but is there
  3860. > any way to link the standard I/O stream with my allocated buffer?
  3861.  
  3862. Translate the FSSpec to a full pathname and then send that to fopen.
  3863. Code to do this is on the developer CD's and on ftp.apple.com in 
  3864. /dts/mac/snippets/files/ (or somewhere like that)
  3865.  
  3866. Cheers,
  3867. Rob
  3868. ___________________________________________________________________________
  3869. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3870.  
  3871. +++++++++++++++++++++++++++
  3872.  
  3873. >From marks77@aol.com (MarkS77)
  3874. Date: 9 May 1994 20:46:07 -0400
  3875. Organization: America Online, Inc. (1-800-827-6364)
  3876.  
  3877. This may not be the solution you want, but I've been extracting the file name,
  3878. using toolbox calls to set the current directory and just using the standard
  3879. C++ stream techniques to access the file.
  3880.  
  3881. Mark
  3882.  
  3883.  
  3884.  
  3885. +++++++++++++++++++++++++++
  3886.  
  3887. >From rmah@panix.com (Robert S. Mah)
  3888. Date: Tue, 10 May 1994 01:44:48 -0500
  3889. Organization: One Step Beyond
  3890.  
  3891. marks77@aol.com (MarkS77) wrote:
  3892.  
  3893. > This may not be the solution you want, but I've been extracting the file
  3894. > name, using toolbox calls to set the current directory and just using the
  3895. > standard C++ stream techniques to access the file.
  3896.  
  3897. Don't use working directory functions.  The main reason they exist is to
  3898. ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3899. system).
  3900.  
  3901. If you need to use standard ANSI (or UNIX or C++ streams) files use the
  3902. full
  3903. pathname.  This is 100% safe and guaranteed to always work.  All it takes
  3904. is
  3905. the addition of 1 function to create the path name from the FSSpec.
  3906.  
  3907. Cheers,
  3908. Rob
  3909. ___________________________________________________________________________
  3910. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3911.  
  3912. +++++++++++++++++++++++++++
  3913.  
  3914. >From marks77@aol.com (MarkS77)
  3915. Date: 10 May 1994 23:42:02 -0400
  3916. Organization: America Online, Inc. (1-800-827-6364)
  3917.  
  3918. In article <rmah-090594190112@rmah.dialup.access.net>, rmah@panix.com (Robert
  3919. S. Mah) writes:
  3920.  
  3921. Don't use working directory functions.  The main reason they exist is to
  3922. ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3923. system).
  3924.  
  3925.  
  3926. Actually, I usually get an SFReply from Standard File and use the 
  3927. vRefNum to do a SetVol call. After this all I need is the file name 
  3928. to do use standard C++ I/O. Are we talking about the same thing?
  3929.  
  3930. Mark
  3931.  
  3932. +++++++++++++++++++++++++++
  3933.  
  3934. >From rmah@panix.com (Robert S. Mah)
  3935. Date: Wed, 11 May 1994 01:06:17 -0500
  3936. Organization: One Step Beyond
  3937.  
  3938. marks77@aol.com (MarkS77) wrote:
  3939.  
  3940. > rmah@panix.com (Robert S. Mah) writes:
  3941. > Don't use working directory functions.  The main reason they exist is to
  3942. > ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3943. > system).
  3944. > Actually, I usually get an SFReply from Standard File and use the 
  3945. > vRefNum to do a SetVol call. After this all I need is the file name 
  3946. > to do use standard C++ I/O. Are we talking about the same thing?
  3947.  
  3948. Yes, that's what I mean.  Don't use SetVol.  There's a tech note on it
  3949. that explains why and the inherent dangers.  Convert it to the full 
  3950. pathname, it's much safer.
  3951.  
  3952. Cheers,
  3953. Rob
  3954. ___________________________________________________________________________
  3955. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3956.  
  3957. +++++++++++++++++++++++++++
  3958.  
  3959. >From Daniel C. Flatin <dcf@mps.ohio-state.edu>
  3960. Date: 11 May 1994 15:49:05 GMT
  3961. Organization: Physics Dept., The Ohio State University
  3962.  
  3963. Here is how I use the Mac FSSpec and the standard io calls. I think I
  3964. got some of this information from "The Mac Programming Public Domain FAQ"
  3965.  
  3966.  
  3967. Dan Flatin
  3968. Physics Department
  3969. The Ohio State University
  3970. dcf@mps.ohio-state.edu
  3971.  
  3972. /* ----------------------------------------------------------------------
  3973.     This is an fopen which uses a folder FSSpec for the file path instead
  3974.     of a full path name.
  3975. - -------------------------------------------------------------------- */
  3976. FILE    *fopenFS( char *name, FSSpec folder, const char *mode )
  3977. {
  3978.     FILE        *cFile;
  3979.     short       oldWDVol, oldTrueVol;
  3980.     long        oldDir, oldProc, folderID;
  3981.  
  3982.     cFile = nil;
  3983.     
  3984.     /* save current working directory */
  3985.     if ( GetVol( nil, &oldWDVol ) )
  3986.         return( nil );
  3987.     /* save current default volume info */
  3988.     if ( GetWDInfo( oldWDVol, &oldTrueVol, &oldDir, &oldProc ) )
  3989.         return( nil );
  3990.     FolderFFSpecToDirID( folder, &folderID );
  3991.     /* set selected info as default */
  3992.     if ( HSetVol( nil, folder.vRefNum, folderID ) )
  3993.         return( nil );
  3994.     
  3995.     fflush( nil );                      // flush all buffers
  3996.     
  3997.     cFile = fopen( name, mode );        // open the file
  3998.     
  3999.     HSetVol( nil, oldTrueVol, oldDir ); // restore default volume info
  4000.     
  4001.     SetVol( nil, oldWDVol );            // restore working directory
  4002.     return( cFile );
  4003. }
  4004.  
  4005.  
  4006. /* ----------------------------------------------------------------------
  4007.     This version of GetFOpen does not require a full path name to open
  4008.     the file. The use of full path names to identify files is frowned
  4009.     upon by Apple.
  4010. - -------------------------------------------------------------------- */
  4011. FILE    *GetFOpen( void )
  4012. {
  4013.     FILE                *cFile;
  4014.     StandardFileReply   mySFR;
  4015.     SFTypeList          myTypeList;
  4016.     char                name[64];
  4017.     short               oldWDVol, oldTrueVol;
  4018.     long                oldDir, oldProc;
  4019.  
  4020.     cFile = nil;
  4021.     
  4022.     myTypeList[0] = 'TEXT';
  4023.     StandardGetFile( nil, 1, myTypeList, &mySFR );
  4024.     
  4025.     if ( mySFR.sfGood )
  4026.     {
  4027.         /* save current working directory */
  4028.         if ( GetVol( nil, &oldWDVol ) )
  4029.             return( nil );
  4030.         /* save current default volume info */
  4031.         if ( GetWDInfo( oldWDVol, &oldTrueVol, &oldDir, &oldProc ) )
  4032.             return( nil );
  4033.         /* set selected info as default */
  4034.         if ( HSetVol( nil, mySFR.sfFile.vRefNum, mySFR.sfFile.parID ) )
  4035.             return( nil );
  4036.         
  4037.         PascalStrCpy( name, (char *)mySFR.sfFile.name );
  4038.         p2cstr( (unsigned char *)name );
  4039.         
  4040.         fflush( nil );                      // flush all buffers
  4041.         
  4042.         cFile = fopen( name, "r" );         // open the file
  4043.         
  4044.         HSetVol( nil, oldTrueVol, oldDir ); // restore default volume info
  4045.         
  4046.         SetVol( nil, oldWDVol );            // restore working directory
  4047.     }
  4048.     return( cFile );
  4049. }
  4050.  
  4051.  
  4052. /* ----------------------------------------------------------------------
  4053.     the folder FSSpec contains the volume reference number and the name.
  4054.     We need PBGetCatInfo() to get the directory ID. This routine does not
  4055.     (yet) check to see that the FFSpec does indeed describe a folder.
  4056. - -------------------------------------------------------------------- */
  4057. OSErr   FolderFFSpecToDirID( FSSpec folder, long *theDirID )
  4058. {
  4059.     CInfoPBRec              pb;
  4060.     OSErr                   err;
  4061.     
  4062.     pb.hFileInfo.ioCompletion = NULL;
  4063.     pb.hFileInfo.ioNamePtr = folder.name;
  4064.     pb.hFileInfo.ioVRefNum = folder.vRefNum;
  4065.     pb.hFileInfo.ioFDirIndex = 0;
  4066.     pb.hFileInfo.ioDirID = folder.parID;
  4067.  
  4068.     err = PBGetCatInfo( &pb, FALSE);
  4069.     
  4070.     if (  err == noErr)
  4071.         *theDirID = pb.dirInfo.ioDrDirID;
  4072.     else
  4073.         *theDirID = 0;
  4074.     
  4075.     return ( err );
  4076. }
  4077.  
  4078.  
  4079. /* ----------------------------------------------------------------------
  4080.     PascalStrCpy
  4081.  
  4082.     Just like strcpy except that it takes pascal strings as arguments.
  4083. - -------------------------------------------------------------------- */
  4084. char *PascalStrCpy( char *s1, char *s2 )
  4085. {
  4086.     *s1 = *s2;
  4087.     return( (char *)memcpy( s1+1, s2+1, *s1 ) );
  4088. }
  4089.  
  4090. ---------------------------
  4091.  
  4092. >From scouten@maroon.tc.umn.edu (Eric Scouten)
  4093. Subject: Sym CDK vs CodeWarrior PPC: first impressions
  4094. Date: Tue, 10 May 1994 14:23:26 GMT
  4095. Organization: University of Minnesota, Student Affairs
  4096.  
  4097. Just got my copy of Symantec's CDK yesterday and ran some tests of it
  4098. against CodeWarrior PPC on a large application. (Don't consider these tests
  4099. scientific by any means; it's just a first glance.)
  4100.  
  4101. The application was the Art Class demo from Symantec's TCL 2.0 demos. For
  4102. SC++ I used it unmodified from the TCL 2.0.1 disks; for CW, I used the
  4103. version that was patched in my CW TCL port (see my earlier post on
  4104. comp.sys.mac.oop.tcl for details). Here are the stats:
  4105.  
  4106.  
  4107.  SC++ CDK    CW/PPC
  4108.  --------   --------
  4109.     10         12     Compile project from scratch (160+ files)
  4110.      4          1     Link/build application
  4111.  
  4112.    330K       415K    Final application size
  4113.     85K       1.5M    Number of lines compiled* (see explanation below)
  4114.  
  4115.  
  4116. Tests were conducted on my PowerMac 6100/60, 16MB RAM, 160MB disk, virtual
  4117. memory off, very few extensions (only those required for debugging).
  4118.  
  4119.  
  4120. Getting the CDK to run in 16MB is a hassle. I have to maintain two copies
  4121. of the Think Project Manager on my disk; one set for 5MB partition (for
  4122. compiling), the other set for 3.5MB (for linking, to share with the 8.5MB
  4123. ToolServer partition).
  4124.  
  4125. To me, the CDK package is *much* less attractive than the Symantec 68K
  4126. compiler or either CodeWarrior compiler. It lacks the quick
  4127. compile-link-run turnaround that the others have, and debugging is a step
  4128. down from awful.
  4129.  
  4130. I don't have two Macs sitting side-by-side to do debugging, so the Apple
  4131. debugger that's included with the package is completely useless. Even if I
  4132. could convince another debugger to work with the CDK-built apps, it would
  4133. be only minimally useful, since there's no access to symbolic information
  4134. -- the CDK compiler emits line numbers only.
  4135.  
  4136. To its credit, the CDK package produces much smaller code (note the almost
  4137. 25% difference in app size above). I haven't tested execution speed between
  4138. the two compilers.
  4139.  
  4140.  
  4141. *Number of lines compiled: I attribute the relatively slow compile time for
  4142. CodeWarrior to the fact that most of the TCL headers couldn't be
  4143. precompiled. (CW doesn't allow class definitions in precompiled headers.
  4144. <hint, hint> ) Thus, CodeWarrior was compiling 17 times more code in only
  4145. 20% more time. (!)
  4146.  
  4147. When CW is able to manage class definitions in the headers, there will be
  4148. no comparison! <hint, hint>
  4149.  
  4150.  
  4151. BTW, the Bedrock Exception Library is pretty flaky when compiled under
  4152. either PPC compiler. Fairly simple things, like opening too many new
  4153. documents, cause fatal crashes. (It does seem to be more stable when
  4154. compiled under Symantec's 68K compiler.)
  4155.  
  4156.  
  4157. -Eric
  4158.  
  4159.  
  4160. -- 
  4161. Eric Scouten * Univ of Minn * Student Affairs * Minneapolis, MN 55455 USA
  4162.              *  <scouten@maroon.tc.umn.edu>   * +1 612 626 0746
  4163.  
  4164. I always thought that 'Intel Inside' was a warning required by
  4165. Truth in Advertising laws...
  4166.    -Anonymous
  4167.  
  4168. ---------------------------
  4169.  
  4170. >From cwat03@cs.aukuni.ac.nz (Christopher James F Waters)
  4171. Subject: Where is the inheritance in AE objects?
  4172. Date: 26 Apr 1994 23:19:37 GMT
  4173. Organization: University of Auckland
  4174.  
  4175. I am writing my first scriptable application. After coming to grips with IM
  4176. InterApplication Communications and the AE registry it isn't really as 
  4177. difficult as I expected. However there is one thing that puzzles me. The 
  4178. registry talks about inheritance all the time and it is mentioned briefly in
  4179. IM but there doesn't seem to be any way that inheritance is enforced. Is it
  4180. up to me to ensure that all subclasses include the properties and elements
  4181. of their superclass? I would have thought that there would be a field in the
  4182. aete resource for specifying the superclass, then it wouldn't be necessary to
  4183. redfine properties and elements that have been defined previously.
  4184.  
  4185. Also, am I right in thinking that the aete shouldn't contain definitions for
  4186. abstract classes?
  4187.  
  4188. Chris Waters.
  4189. Department of Electrical & Electronic Engineering
  4190. University of Auckland.
  4191.  
  4192. +++++++++++++++++++++++++++
  4193.  
  4194. >From rmah@panix.com (Robert S. Mah)
  4195. Date: Tue, 26 Apr 1994 21:13:01 -0500
  4196. Organization: One Step Beyond
  4197.  
  4198. cwat03@cs.aukuni.ac.nz (Christopher James F Waters) wrote:
  4199.  
  4200. > registry talks about inheritance all the time and it is mentioned briefly 
  4201. > in IM but there doesn't seem to be any way that inheritance is enforced.
  4202. > Is it up to me to ensure that all subclasses include the properties and 
  4203. > elements of their superclass? 
  4204.  
  4205. Yes.  The inheritance is conceptual only.
  4206.  
  4207. Cheers,
  4208. Rob
  4209. ___________________________________________________________________________
  4210. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  4211.  
  4212. +++++++++++++++++++++++++++
  4213.  
  4214. >From paul@ctalk.exnet.com (Paul G Smith)
  4215. Date: Wed, 27 Apr 94 12:49:03 GMT
  4216. Organization: commstalk, & Full Moon Software Inc
  4217.  
  4218.  
  4219. In article <2pk7i9$ffl@ccu2.auckland.ac.nz> (comp.sys.mac.programmer), cwat03@cs.aukuni.ac.nz (Christopher James F Waters) writes:
  4220. > I am writing my first scriptable application. After coming to grips with IM
  4221. > InterApplication Communications and the AE registry it isn't really as 
  4222. > difficult as I expected. However there is one thing that puzzles me. The 
  4223. > registry talks about inheritance all the time and it is mentioned briefly in
  4224. > IM but there doesn't seem to be any way that inheritance is enforced. Is it
  4225. > up to me to ensure that all subclasses include the properties and elements
  4226. > of their superclass? I would have thought that there would be a field in the
  4227. > aete resource for specifying the superclass, then it wouldn't be necessary to
  4228. > redfine properties and elements that have been defined previously.
  4229. > Also, am I right in thinking that the aete shouldn't contain definitions for
  4230. > abstract classes?
  4231. > Chris Waters.
  4232. > Department of Electrical & Electronic Engineering
  4233. > University of Auckland.
  4234.  
  4235. As it happens, the AppleScript 1.1 headers do define a constant you
  4236. can use to indicate object inheritance (this from ASRegistry.h):
  4237.  
  4238.     pInherits    = 0x6340235e,    //  'c@#^'  //
  4239.  
  4240. You can define a property, using this constant, to indicate an object
  4241. inherits the properties and elements of another class. Here is an
  4242. example of the aete definition for a sub-class:
  4243.  
  4244.         /* [4] */
  4245.         "my subclass",
  4246.         cSubClass,
  4247.         "A radio button",
  4248.         {    /* array Properties: 1 elements */
  4249.             /* [1] */
  4250.             "<inheritance>",
  4251.             pInherits,
  4252.             cSuperClass,
  4253.             "subclass of my superclass",
  4254.             reserved,
  4255.             singleItem,
  4256.             notEnumerated,
  4257.             readWrite,
  4258.             reserved, reserved, reserved, reserved,
  4259.             reserved, reserved, reserved, reserved, reserved,
  4260.             notFeminine,
  4261.             notMasculine,
  4262.             singular,
  4263.         },
  4264.         {    /* array Elements: 0 elements */
  4265.         },
  4266.  
  4267. The definition will say, to the user who examines your program
  4268. Dictionary using a Script Editor, that the class inherits from another;
  4269. the Dictionary display will format the property as something like:
  4270.     <inheritance> superclass name
  4271.  
  4272. The above is not the whole story. You do NOT have to duplicate all the
  4273. properties class by class, and the 'pInherits' property is no more than
  4274. a hint to the user, because AppleScript will allow any property,
  4275. declared anywhere in the aete, to be specified for 'get data' or 'set
  4276. data' for any class. In other words, AppleScript doesn't know or care
  4277. what object classes support what properties: it is up to the program
  4278. that is asked to resolve those properties to complain if an incorrect
  4279. property is specified. However, because users look to the Dictionary
  4280. to tell them what properties are valid for what object classes, you
  4281. should use the 'pInherits' mechanism to tell them what's going on.
  4282.  
  4283. Lastly, you might want to look out for the next issue of 'develop'
  4284. magazine, which includes an article I wrote about developing
  4285. OSA-savvy programs. It doesn't cover the 'pInherits' property, but it
  4286. does come with a lot of sample code that will be helpful to newcomers
  4287. to the OSA. ('develop' magazine is published by Apple Computer Inc.)
  4288.  
  4289.  
  4290. best regards, Paul
  4291.  
  4292. - --------------------------------------------------------------
  4293. Paul G Smith, Commstalk HQ          ||  UK ph: +44 727 844232
  4294. P O Box 116, ST ALBANS              ||    fax: +44 727 856139
  4295. Hertfordshire. AL1 2RL. UK          ||  US ph: 408 253 7199
  4296. & Full Moon Software, Inc           ||    fax: 408 252 2378
  4297. P O Box 700237, SAN JOSE, CA 95170  ||  AppleLink: COMMSTALK.HQ 
  4298.  
  4299. +++++++++++++++++++++++++++
  4300.  
  4301. >From Alan_B._Harper@bmug.org (Alan B. Harper)
  4302. Date: Tue,  3 May 94 10:41:34 PST
  4303. Organization: Berkeley Macintosh Users Group
  4304.  
  4305. As far as I can tell, the "inheritance" in apple-event objects is purely for 
  4306. the solopsistic inconvenience of the designer of the classes.  There seems to be
  4307.  
  4308. no support for inheritance, and there is no reason at all for abstract classes. 
  4309.  
  4310. I have been proceeding by ignoring inheritance, and it doesn't seem to be a 
  4311. problem.  I haven't written my aete yet, though.
  4312.  
  4313. BTW, is your application recordable?  How do you handle open events for 
  4314. files?  As far as I can tell, the only way to send yourself an "open file" apple
  4315.  
  4316. event is to parse the FSSpec into an absolute file name and then send it to
  4317. yourself.  
  4318. Do you know if there is a better way?
  4319.  
  4320. Alan
  4321.  
  4322. +++++++++++++++++++++++++++
  4323.  
  4324. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  4325. Date: 4 May 1994 07:40:33 GMT
  4326. Organization: The Royal Institute of Technology
  4327.  
  4328. In <001479A1.fc@bmug.org> Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4329.  
  4330. >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4331.  
  4332. >event is to parse the FSSpec into an absolute file name and then send it to
  4333. >yourself.  
  4334. >Do you know if there is a better way?
  4335.  
  4336. Definately. You can put the FSSpec in the array of files, or you
  4337. can put aliases there, created by NewAlias. The latter is the most
  4338. preferrable.
  4339. -- 
  4340.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  4341.  
  4342.    "Just because you're paranoid(P) doesn't mean they aren't after(A) you"
  4343.           !(P -> !A) == !(!P | !A) == !(!(P & A)) == P & A
  4344.  
  4345. +++++++++++++++++++++++++++
  4346.  
  4347. >From leonardr@netcom.com (Leonard Rosenthol)
  4348. Date: Wed, 4 May 1994 17:42:46 GMT
  4349. Organization: Aladdin Systems, Inc.
  4350.  
  4351. In article <2q7jhh$gqr@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  4352. wrote:
  4353.  
  4354. > In <001479A1.fc@bmug.org> Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4355. > >files?  As far as I can tell, the only way to send yourself an "open
  4356. file" apple
  4357. > >event is to parse the FSSpec into an absolute file name and then send it to
  4358. > >yourself.  
  4359. > >Do you know if there is a better way?
  4360. > Definately. You can put the FSSpec in the array of files, or you
  4361. > can put aliases there, created by NewAlias. The latter is the most
  4362. > preferrable.
  4363. >
  4364.    Yup,  that's the way.  And here is the code from my DropShell that
  4365. shows how to do it...
  4366.  
  4367. Leonard
  4368. - ---
  4369. /*
  4370.    This routine is the low level routine used by the SendODOCToSelf
  4371.    routine.  It gets passed the list of files (in an AEDescList)
  4372.    to be sent as the data for the 'odoc', builds up the event
  4373.    and sends off the event.  
  4374.  
  4375.    It is broken out from SendODOCToSelf so that a SendODOCListToSelf could
  4376.    easily be written and it could then call this routine - but that is left
  4377.    as an exercise to the reader.
  4378.    
  4379.    Read the comments in the code for the order and details
  4380. */
  4381. void _SendDocsToSelf (AEDescList *aliasList)
  4382. {
  4383.    OSErr       err;
  4384.    AEAddressDesc  theTarget;
  4385.    AppleEvent     openDocAE, replyAE;
  4386.  
  4387. /*
  4388.    First we create the target for the event.   We call another
  4389.    utility routine for creating the target.
  4390. */
  4391.    err = GetTargetFromSelf(&theTarget);
  4392.    if (err == noErr) {
  4393.       /* Next we create the Apple event that will later get sent. */
  4394.       err = AECreateAppleEvent(kCoreEventClass, kAEOpenDocuments,
  4395. &theTarget, kAutoGenerateReturnID, kAnyTransactionID, &openDocAE);
  4396.  
  4397.       if (err == noErr) {
  4398.          /* Now add the aliasDescList to the openDocAE */
  4399.          err = AEPutParamDesc(&openDocAE, keyDirectObject, aliasList);
  4400.  
  4401.          if (err == noErr) {
  4402.             /*
  4403.                and finally send the event
  4404.                Since we are sending to ourselves, no need for reply.
  4405.             */
  4406.             err = AESend(&openDocAE, &replyAE, kAENoReply +
  4407. kAECanInteract, kAENormalPriority, 3600, NULL, NULL);
  4408.  
  4409.             /*
  4410.                NOTE: Since we are not requesting a reply, we do not need to
  4411.                need to dispose of the replyAE.  It is there simply as a 
  4412.                placeholder.
  4413.             */
  4414.          }
  4415.  
  4416.       /* 
  4417.          Dispose of the aliasList descriptor
  4418.          We do this instead of the caller since it needs to be done
  4419.          before disposing the AEVT
  4420.       */
  4421.          err = AEDisposeDesc(aliasList);
  4422.       }
  4423.  
  4424.    /*and of course dispose of the openDoc AEVT itself*/
  4425.       err = AEDisposeDesc(&openDocAE);
  4426.    }
  4427. }
  4428.  
  4429. /*
  4430.    This is the routine called by SelectFile to send a single odoc to ourselves.
  4431.    
  4432.    It calls the above low level routine to do the dirty work of sending
  4433. the AEVT -
  4434.    all we do here is build a AEDescList of the file to be opened.
  4435. */
  4436. void SendODOCToSelf (FSSpec *theFileSpec) {
  4437.  
  4438.    OSErr    err;
  4439.    AEDescList  aliasList;
  4440.    AEDesc      aliasDesc;
  4441.    AliasHandle aliasH;
  4442.    
  4443.    /*Create the descList to hold the list of files*/
  4444.    err = AECreateList(NULL, 0, false, &aliasList);
  4445.  
  4446.    if (err == noErr) {
  4447.       /* First we setup the type of descriptor */
  4448.       aliasDesc.descriptorType = typeAlias;
  4449.  
  4450.       /*
  4451.          Now we add the file to descList by creating an alias and then
  4452.          adding it into the descList using AEPutDesc
  4453.       */
  4454.       err = NewAlias(NULL, theFileSpec, &aliasH);
  4455.       aliasDesc.dataHandle = (Handle)aliasH;
  4456.       err = AEPutDesc(&aliasList, 0, &aliasDesc);
  4457.       DisposHandle((Handle)aliasH);
  4458.  
  4459.       /*Now call the real gut level routine to do the dirty work*/
  4460.       _SendDocsToSelf(&aliasList);
  4461.  
  4462.       /*_SendDocsToSelf will dispose of aliasList for me*/
  4463.    }
  4464. }
  4465. - ------------------------------------------------------------------------
  4466. Leonard Rosenthol                      Internet:       leonardr@netcom.com
  4467. Director of Advanced Technology        AppleLink:      MACgician
  4468. Aladdin Systems, Inc.                  GEnie:          MACgician
  4469.  
  4470. +++++++++++++++++++++++++++
  4471.  
  4472. >From isis@netcom.com (Mike Cohen)
  4473. Date: Wed, 4 May 1994 17:45:41 GMT
  4474. Organization: ISIS International
  4475.  
  4476. Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4477.  
  4478. >BTW, is your application recordable?  How do you handle open events for 
  4479. >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4480. >event is to parse the FSSpec into an absolute file name and then send it to
  4481. >yourself.  
  4482. >Do you know if there is a better way?
  4483.  
  4484. >Alan
  4485.  
  4486. No, the open file event takes an alias, not a file name. It's very easy to
  4487. create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4488. there's a built-in coercion handler for alias <-> FSSpec.
  4489. -- 
  4490. Mike Cohen - isis@netcom.com
  4491. NewtonMail, eWorld: MikeC / ALink: D6734 / AOL: MikeC20
  4492.  
  4493. +++++++++++++++++++++++++++
  4494.  
  4495. >From greer@utdallas.edu (Dale M. Greer)
  4496. Date: 4 May 1994 19:57:23 GMT
  4497. Organization: The University of Texas at Dallas
  4498.  
  4499. Mike Cohen (isis@netcom.com) wrote:
  4500. > Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4501.  
  4502. > >BTW, is your application recordable?  How do you handle open events for 
  4503. > >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4504. > >event is to parse the FSSpec into an absolute file name and then send it to
  4505. > >yourself.  
  4506. > >Do you know if there is a better way?
  4507.  
  4508. > >Alan
  4509.  
  4510. > No, the open file event takes an alias, not a file name. It's very easy to
  4511. > create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4512. > there's a built-in coercion handler for alias <-> FSSpec.
  4513.  
  4514. It works with full file path names too.
  4515.  
  4516. --
  4517.  
  4518. Dale Greer, greer@utdallas.edu
  4519.  
  4520.  
  4521. +++++++++++++++++++++++++++
  4522.  
  4523. >From jwbaxter@olympus.net (John W. Baxter)
  4524. Date: Wed, 04 May 1994 20:30:55 -0700
  4525. Organization: Internet for the Olympic Peninsula
  4526.  
  4527. In article <2q8un3$he@news.utdallas.edu>, greer@utdallas.edu (Dale M.
  4528. Greer) wrote:
  4529.  
  4530. > Mike Cohen (isis@netcom.com) wrote:
  4531. > > Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4532. > > >BTW, is your application recordable?  How do you handle open events for 
  4533. > > >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4534. > > >event is to parse the FSSpec into an absolute file name and then send it to
  4535. > > >yourself.  
  4536. > > >Do you know if there is a better way?
  4537. > > >Alan
  4538. > > No, the open file event takes an alias, not a file name. It's very easy to
  4539. > > create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4540. > > there's a built-in coercion handler for alias <-> FSSpec.
  4541. > It works with full file path names too.
  4542.  
  4543. "It" only works with full path names if the application has prepared itself
  4544. for non-standard forms of the open document event, or something has
  4545. installed a system coercion for TEXT to FSSpec (TEXT to alias wouldn't help
  4546. typical applications).  Recently, "something" has indeed added a system
  4547. handler for TEXT to FSSpec...I believe that the something is AppleScript,
  4548. but it could be one of the apps running at this moment in my Mac.  But
  4549. there is one, which is why full path name works...relative path name
  4550. probably works, too.
  4551.  
  4552. The definition of the open document event calls for a list of aliases in
  4553. the direct parameter.  Since (a) an alias isn't what the application
  4554. ultimately wants (it wants an FSSpec) and (b) the Apple Event Manager will
  4555. coerce the alias to an FSSpec for you, and (c) even if something
  4556. [incorrectly] sends a single alias rather than a list of one alias, the
  4557. event handler should
  4558.  
  4559. 1.  ask for the direct parameter as a list (if a single item was there, you
  4560. get a list of that one item, courtesy of the AE Manager)
  4561. 2.  count the number of items in the list
  4562. 3a.  ask for each item from the list, as an FSSpec (since that's how you
  4563. want them).
  4564. 3b.  do something with each item.
  4565.  
  4566. The extended form of the open event has a list of object specifiers. 
  4567. Conveniently, the needed coercions are in place so that you can ask for
  4568. those, instead of the above, if you support the extended form.  That too is
  4569. new since the beginning (again probably it is AppleScript doing it...easy
  4570. to test by starting without AppleScript).
  4571. -- 
  4572. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  4573.    jwbaxter@pt.olympus.net
  4574.  
  4575. +++++++++++++++++++++++++++
  4576.  
  4577. >From jonpugh@netcom.com (Jon Pugh)
  4578. Date: Wed, 11 May 1994 07:58:17 GMT
  4579. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  4580.  
  4581. Alan B. Harper (Alan_B._Harper@bmug.org) wrote:
  4582. > As far as I can tell, the "inheritance" in apple-event objects is purely for 
  4583. > the solopsistic [sic] inconvenience of the designer of the classes.  There 
  4584. > seems to be no support for inheritance, and there is no reason at all for 
  4585. > abstract classes. 
  4586.  
  4587. > I have been proceeding by ignoring inheritance, and it doesn't seem to be a 
  4588. > problem.  I haven't written my aete yet, though.
  4589.  
  4590. This is essentially correct.  You do not need to worry about abstract classes
  4591. and there is no support for any objects, only their resolution.  Your OSL
  4592. callbacks do all the object stuff and they can be object oriented.  I'm doing
  4593. some abstract inherited objects in my current project.  I have an app with
  4594. two document types.  Since I want to be able to talk about documents, docfoos
  4595. and docbars, it makes sense to subclass them and implement them as inherited
  4596. objects.
  4597.  
  4598. As usual, all the work is on my shoulders, but I'm used to that.  ;)
  4599.  
  4600. Jon
  4601.  
  4602.  
  4603. ---------------------------
  4604.  
  4605. >From perlis_a@math.lsu.edu (Alexander Perlis)
  4606. Subject: [Q] How to prevent _DragWindow from selecting the window?
  4607. Date: 9 May 1994 20:32:29 GMT
  4608. Organization: Louisiana State University InterNetNews Site
  4609.  
  4610. The _DragWindow trap follows the mouse with an outline of a window and  
  4611. then moves the window to the new location when the user releases the  
  4612. mouse. After moving the window, unless the user held down the command-key  
  4613. when initiating the drag, the window is also selected.
  4614.  
  4615. I would like to let users move non-frontmost windows around even when the  
  4616. frontmost window is modal and must remain frontmost. If I could fake  
  4617. _DragWindow into thinking that the command-key had been held down on the  
  4618. previous mouseDown event, I'd be in business. Or if I could patch into  
  4619. _DragWindow in the appropriate place to prevent the window selection, I  
  4620. would also be in business.
  4621.  
  4622. However, tracing through the _DragWindow code is hopeless for my  
  4623. less-than-perfect abilities because this routine is in various pieces  
  4624. which involve calls to the infamous Layer Manager which we are not  
  4625. supposed to touch and not even supposed to try to understand. Patching  
  4626. _DragWindow seems to be a bad idea.
  4627.  
  4628. How can I convince _DragWindow that the command-key was held down? Or is  
  4629. there a better or more obvious way to prevent _DragWindow from selecting  
  4630. the window after the drag?
  4631.  
  4632. Mystified,
  4633. Alexander Perlis
  4634. perlis_a@math.lsu.edu
  4635.  
  4636. +++++++++++++++++++++++++++
  4637.  
  4638. >From dean@genmagic.com (Dean Yu)
  4639. Date: 10 May 1994 02:36:17 GMT
  4640. Organization: General Magic, Inc.
  4641.  
  4642. In article <2qm6kt$2m8h@te6000.otc.lsu.edu>, perlis_a@math.lsu.edu
  4643. (Alexander Perlis) wrote:
  4644. > How can I convince _DragWindow that the command-key was held down? Or is  
  4645. > there a better or more obvious way to prevent _DragWindow from selecting  
  4646. > the window after the drag?
  4647.  
  4648.   How about not calling DragWindow, and calling DragGrayRgn instead? If you
  4649. want to be really cool, you can call ClipAbove first so that the region is
  4650. clipped behind any window that is above the one that you're dragging. When
  4651. the user lets up, you can then call MoveWindow to move the window, passing
  4652. false in the front parameter to keep the window where it is.
  4653.  
  4654. -- Dean Yu
  4655.    Negative Ethnic Role Model
  4656.    General Magic, Inc.
  4657.  
  4658. +++++++++++++++++++++++++++
  4659.  
  4660. >From Guenther Blaschek <blaschek@jk.uni-linz.ac.at>
  4661. Date: Tue, 10 May 1994 10:16:02 CDT
  4662. Organization: University of Linz, Austria
  4663.  
  4664. In article <dean-090594193343@dean_yu.genmagic.com> Dean Yu, dean@genmagic.com
  4665. writes:
  4666. >> How can I convince _DragWindow that the command-key was held down? Or is
  4667. >> there a better or more obvious way to prevent _DragWindow from selecting
  4668. >> the window after the drag?
  4669. >
  4670. >  How about not calling DragWindow, and calling DragGrayRgn instead? If you
  4671. >want to be really cool, you can call ClipAbove first so that the region is
  4672. >clipped behind any window that is above the one that you're dragging. When
  4673. >the user lets up, you can then call MoveWindow to move the window, passing
  4674. >false in the front parameter to keep the window where it is.
  4675.  
  4676. Here's how I did it:
  4677.  
  4678. VAR
  4679.   windH,windV:Integer; {global variables}
  4680.  
  4681. PROCEDURE MyMoveWindow (theWindow: WindowPtr; h, v: Integer; front: Boolean);
  4682.   BEGIN
  4683.     windH := h;
  4684.     windV := v
  4685.   END;
  4686.  
  4687. PROCEDURE MyDragWindow (w: WindowPtr; pt: Point; bounds: Rect);
  4688.   VAR
  4689.     oldA5, oldMove: LongInt;
  4690.   BEGIN
  4691.     oldA5 := SetCurrentA5;
  4692.     oldMove := GetTrapAddress($A91B); {MoveWindow}
  4693.     SetTrapAddress(LongInt(@MyMoveWindow), $A91B); {patch MoveWindow}
  4694.     windH := -32000;
  4695.     DragWindow(w, pt, bounds);
  4696.     SetTrapAddress(oldMove, $A91B); {restore the patch}
  4697.     IF windH <> -32000 THEN {only if MyMoveWindow was called}
  4698.       MoveWindow(w, windH, windV, FALSE); {never move the window to front}
  4699.     oldA5 := SetA5(oldA5)
  4700.   END;
  4701.  
  4702. Call MyDragWindow instead of DragWindow.
  4703. MyDragWindow temporarily patches MoveWindow by replacing it with MyMoveWindow.
  4704. MyMoveWindow simply remembers the position where the window should be moved.
  4705. If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4706. original MoveWindow is called with the last parameter set to FALSE, which
  4707. makes MoveWindow behave as if the command key had been pressed.
  4708.  
  4709.  e -- Guenther Blaschek                Tel.:   +43-732-2468-521
  4710. gu -- Johannes Kepler University Linz  Fax:    +43-732-2468-426
  4711.         Institute of Computer Science  e-Mail: gue@soft.uni-linz.ac.at
  4712.                   Software Department          Blaschek@jk.uni-linz.ac.at
  4713.                    Altenbergerstr. 69
  4714.                  A-4040 Linz, Austria
  4715.  
  4716. +++++++++++++++++++++++++++
  4717.  
  4718. >From Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce)
  4719. Date: Tue, 10 May 1994 12:23:16 -0400
  4720. Organization: NASA/GSFC
  4721.  
  4722. perlis_a@math.lsu.edu (Alexander Perlis) wrote:
  4723.  
  4724. > The _DragWindow trap follows the mouse with an outline of a window and  
  4725. > then moves the window to the new location when the user releases the  
  4726. > mouse. After moving the window, unless the user held down the command-key  
  4727. > when initiating the drag, the window is also selected.
  4728.  
  4729. Here's some code that does what Dean Yu suggested (without using ClipAbove
  4730. -- that would add to the coolness).  This is a part of my DoMouseDown
  4731. routine.
  4732.  
  4733.  
  4734.     short        windowPart;
  4735.     WindowPtr    whichWindow;
  4736.     RgnHandle    rgn, clipRgn;
  4737.     Rect        r;
  4738.     long        lDistVH;
  4739.     short        h,v;
  4740.     GrafPtr        savePort;
  4741.     
  4742.     ...
  4743.     
  4744.     windowPart = FindWindow(evp->where, &whichWindow);
  4745.     switch(windowPart)
  4746.     {
  4747.     case inDrag:
  4748.         if( progDialog == whichWindow || psStopped == processingState )
  4749.         {
  4750.             /*
  4751.              * Just do a normal drag.
  4752.              */
  4753.             DragWindow(whichWindow, evp->where, &dragRect);
  4754.         }
  4755.         else
  4756.         {
  4757.             /*
  4758.              * If we're processing, and trying to drag the main window,
  4759.              * drag it but don't select it.  (We don't want to allow the user
  4760.              * to change any settings while processing.)  Calling DragWindow()
  4761.              * generates an activate event (and activates the frame) unless
  4762.              * the command key is held down.  Turning on cmdKey in the event
  4763.              * (*evp) doesn't help; DragWindow must check the keyboard.  Yuck.
  4764.              * So I drag it by hand.
  4765.              */
  4766.             GetPort( &savePort );
  4767.             SetPort( WMgrPort );
  4768.             rgn = NewRgn();
  4769.             clipRgn = NewRgn();
  4770.             GetClip( clipRgn );
  4771.             ClipRect( &screenBits.bounds );
  4772.             r = (*((WindowPeek)whichWindow)->strucRgn)->rgnBBox;
  4773.             RectRgn( rgn, &r );
  4774.             r = (*((WindowPeek)whichWindow)->contRgn)->rgnBBox;
  4775.             h = r.left - evp->where.h;
  4776.             v = r.top - evp->where.v;
  4777.             lDistVH = DragGrayRgn( rgn, evp->where, &dragRect, &dragRect, 0, nil );
  4778.             if( lDistVH != 0x80008000 )
  4779.             {
  4780.                 h += evp->where.h + ( lDistVH & 0xFFFF );
  4781.                 v += evp->where.v + ( (lDistVH & 0xFFFF0000) >> 16 );
  4782.                 MoveWindow( whichWindow, h, v, FALSE );
  4783.             }
  4784.             SetClip( clipRgn );
  4785.             SetPort( savePort );
  4786.             DisposeRgn( rgn );
  4787.             DisposeRgn( clipRgn );
  4788.         }
  4789.         break;
  4790.  
  4791. It works in my program, on my machine, with my system.  Anything else is
  4792. not guaranteed.  But at least it gets the local<->global coordinate
  4793. transformation right.
  4794. -- 
  4795. Kevin      Kevin.R.Boyce@gsfc.nasa.gov
  4796. You can blow out a candle, but you can't blow out a fire.
  4797. Once the flame begin to catch, the wind will blow it higher.
  4798.            --Peter Gabriel, 1980  _Biko_
  4799.  
  4800. +++++++++++++++++++++++++++
  4801.  
  4802. >From dean@genmagic.com (Dean Yu)
  4803. Date: 10 May 1994 16:47:56 GMT
  4804. Organization: General Magic, Inc.
  4805.  
  4806. In article <19940510.101602449417.NETNEWS@ALIJKU11>, Guenther Blaschek
  4807. <blaschek@jk.uni-linz.ac.at> wrote:
  4808. > Call MyDragWindow instead of DragWindow.
  4809. > MyDragWindow temporarily patches MoveWindow by replacing it with MyMoveWindow.
  4810. > MyMoveWindow simply remembers the position where the window should be moved.
  4811. > If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4812. > original MoveWindow is called with the last parameter set to FALSE, which
  4813. > makes MoveWindow behave as if the command key had been pressed.
  4814.  
  4815.   This is really gross and is exactly why I tell people not to patch
  4816. things. This code assumes that DragWindow calls MoveWindow to move the
  4817. window after the drag is done. Sure, it's true today but it might not be
  4818. tomorrow. If someone like Microsoft makes this assumption, it shackles
  4819. system software from ever changing.
  4820.   Roll your own. Don't patch.
  4821.  
  4822. -- Dean Yu
  4823.    Negative Ethnic Role Model
  4824.    General Magic, Inc.
  4825.  
  4826. +++++++++++++++++++++++++++
  4827.  
  4828. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  4829. Date: 10 May 1994 17:25:26 GMT
  4830. Organization: The Royal Institute of Technology
  4831.  
  4832. In <Kevin.R.Boyce-100594122316@sofa.gsfc.nasa.gov> Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce) writes:
  4833.  
  4834. >            GetClip( clipRgn );
  4835. >            ClipRect( &screenBits.bounds );
  4836.  
  4837. This won't work when you have more than one screen.
  4838. You should use
  4839.             SetClip ( GetGrayRgn ( ) ) ;
  4840. instead.
  4841.  
  4842. Interesting trivia: you can pass something "sufficiently close" to
  4843. what screenBits . bounds is as a limnitRect to DragWindow; the
  4844. toolbox will check for that case and figure out you mean to drag
  4845. the window within the whole gray region instead. Talk about
  4846. compatibility hack...
  4847.  
  4848. -- 
  4849.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  4850.    The word "politics" is derived from the word "poly", meaning
  4851.    "many", and the word "ticks", meaning "blood sucking parasites".
  4852.                      -- Larry Hardiman
  4853.  
  4854. +++++++++++++++++++++++++++
  4855.  
  4856. >From Guenther Blaschek <blaschek@jk.uni-linz.ac.at>
  4857. Date: Wed, 11 May 1994 09:29:07 CDT
  4858. Organization: University of Linz, Austria
  4859.  
  4860. In article <dean-100594094430@dean_yu.genmagic.com> Dean Yu, dean@genmagic.com
  4861. writes:
  4862. >> Call MyDragWindow instead of DragWindow.
  4863. >> MyDragWindow temporarily patches MoveWindow by replacing it with
  4864. MyMoveWindow.
  4865. >> MyMoveWindow simply remembers the position where the window should be moved.
  4866. >> If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4867. >> original MoveWindow is called with the last parameter set to FALSE, which
  4868. >> makes MoveWindow behave as if the command key had been pressed.
  4869. >
  4870. >  This is really gross and is exactly why I tell people not to patch
  4871. >things. This code assumes that DragWindow calls MoveWindow to move the
  4872. >window after the drag is done. Sure, it's true today but it might not be
  4873. >tomorrow. If someone like Microsoft makes this assumption, it shackles
  4874. >system software from ever changing.
  4875. >  Roll your own. Don't patch.
  4876.  
  4877. It is correct that the code assumes that DragWindow calls MoveWindow,
  4878. but I did not guess that or get this knowledge thru experiments.
  4879. Rather, IT'S DOCUMENTED IN INSIDE MACINTOSH!
  4880.  
  4881. IM Vol. I, p. 289:
  4882. "... When the mouse button is released, DragWindow calls MoveWindow to move
  4883. theWindow to the location to which it was dragged. If theWindow isn't the
  4884. active window (and the Command key wasn't being held down), DragWindow
  4885. makes it the active window by passing TRUE for the front parameter when
  4886. calling MoveWindow. ..."
  4887.  
  4888. I believe that temporarily patching MoveWindow is actually safer than
  4889. re-implementing DragWindow. If, for some reason, the mechanism to move
  4890. windows changed, the re-implementation would not work any longer, whereas
  4891. my solution would still work because the new DragWindow would be called
  4892. which would then call MoveWindow -- and that's guaranteed because it is
  4893. documented.
  4894.  
  4895.  e -- Guenther Blaschek                Tel.:   +43-732-2468-521
  4896. gu -- Johannes Kepler University Linz  Fax:    +43-732-2468-426
  4897.         Institute of Computer Science  e-Mail: gue@soft.uni-linz.ac.at
  4898.                   Software Department          Blaschek@jk.uni-linz.ac.at
  4899.                    Altenbergerstr. 69
  4900.                  A-4040 Linz, Austria
  4901.  
  4902. ---------------------------
  4903.  
  4904. >From parkb@bigbang.Stanford.EDU (Brian Park)
  4905. Subject: [Q] casting Str255 <--> (char*)
  4906. Date: 6 May 1994 21:07:07 GMT
  4907. Organization: Stanford University
  4908.  
  4909. I'm having a little problem understanding casting a (char*) to
  4910. (Str255), with strict prototype checks.
  4911. Consider the following small code segment in THNIK C 7.0:
  4912.  
  4913. void do_pascal(Str255 p);
  4914. void do_c(char *c)
  4915. {
  4916.     char t[256];
  4917.  
  4918.     strcpy(t, c);
  4919.     CtoPStr(t);
  4920.     do_pascal(t);    /* gives compile time error here */
  4921. }
  4922.  
  4923. It gives an error, saying prototype doesn't match.  Now I try
  4924.  
  4925.     do_pascal((Str255)t);    /* error */
  4926.     do_pascal((Str255*)t);    /* error */
  4927.     do_pascal(*(Str255*)t); /* compiles */
  4928.  
  4929. Obviously, I thought I understood C strings/arrays, but I don't.
  4930. Shouldn't the first one work?  I don't even understand what the
  4931. third one is saying, "convert t into a pointer to a pointer to array
  4932. of 256 characters, then convert it to a pointer to an array of 256 char"?
  4933. That's what I said in the first one. :-)
  4934.  
  4935. Brian Park
  4936.  
  4937. +++++++++++++++++++++++++++
  4938.  
  4939. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  4940. Date: Fri, 6 May 1994 00:16:10 GMT
  4941. Organization: National Renewable Energy Laboratory
  4942.  
  4943. In article <2qebhr$2lk@nntp2.Stanford.EDU> Brian Park,
  4944. parkb@bigbang.Stanford.EDU writes:
  4945. >I'm having a little problem understanding casting a (char*) to
  4946. >(Str255), with strict prototype checks.
  4947. >Consider the following small code segment in THNIK C 7.0:
  4948. >
  4949. >void do_pascal(Str255 p);
  4950. >void do_c(char *c)
  4951. >{
  4952. >    char t[256];
  4953. >
  4954. >    strcpy(t, c);
  4955. >    CtoPStr(t);
  4956. >    do_pascal(t);    /* gives compile time error here */
  4957. /****argument does not match prototype****/
  4958. >}
  4959. >
  4960. >It gives an error, saying prototype doesn't match.  Now I try
  4961. >
  4962. >    do_pascal((Str255)t);    /* error */
  4963. /****illegal cast****/
  4964. >    do_pascal((Str255*)t);    /* error */
  4965. /****argument does not match prototype****/
  4966. >    do_pascal(*(Str255*)t); /* compiles */
  4967.  
  4968. The Macintosh header files define Pascal strings with _unsigned chars_,
  4969. like:
  4970.   unsigned char Str255[256], Str63[64], Str31[32], *StringPtr;
  4971.  
  4972. So the argument to do_pascal is really a pointer to an unsigned char. 
  4973. Your first attempt to call do_pascal is rejected because t is a pointer
  4974. to a normal c char.  The second fails because you are trying to cast a
  4975. pointer into an array.  The third fails because you cast a pointer to an
  4976. unsigned char into a pointer to an array, which is different to the
  4977. compiler.  The last one works (compiles) because you dereference the
  4978. pointer to an array.  I don't think it will give the right answer,
  4979. though.  So, you can change the do_pascal call to:
  4980.   do_pascal( (unsigned char *)t );
  4981.  
  4982. Better yet, change the argument to do_pascal to a StringPtr, and you end
  4983. up with:
  4984. void do_pascal(StringPtr p);
  4985. void do_c(char *c)
  4986. {
  4987.     char t[256];
  4988.  
  4989.     strcpy(t, c);
  4990.     CtoPStr(t);
  4991.     do_pascal( (StringPtr)t );
  4992. }
  4993.  
  4994. +++++++++++++++++++++++++++
  4995.  
  4996. >From Shahid Alam <shahid@mail.utexas.edu>
  4997. Date: 7 May 1994 00:07:25 GMT
  4998. Organization: UT Austin/General Libraries/Library Systems
  4999.  
  5000. In article <2qebhr$2lk@nntp2.Stanford.EDU> Brian Park,
  5001. parkb@bigbang.Stanford.EDU writes:
  5002. > I'm having a little problem understanding casting a (char*) to
  5003. > (Str255), with strict prototype checks.
  5004. > Consider the following small code segment in THNIK C 7.0:
  5005. > void do_pascal(Str255 p);
  5006. > void do_c(char *c)
  5007. > {
  5008. >     char t[256];
  5009. >     strcpy(t, c);
  5010. >     CtoPStr(t);
  5011. >     do_pascal(t);    /* gives compile time error here */
  5012. > }
  5013.  
  5014. The definition of Str255 is
  5015.  
  5016.     typedef unsigned char Str255[256];
  5017.             ^^^^^^^^
  5018. It's that unsigned that's causing this statement to be flagged as an
  5019. error:
  5020.  
  5021.     char[256]   <>    unsigned char[256]
  5022.  
  5023. With complete typechecking this conversion must be explicit. However,
  5024. explicit conversion is also a problem since, you cannot typecast to
  5025. array.  Arrays, while glorified pointers, are special in that they
  5026. cannot represent an lvalue, and similarly cannot be cast to. Which is
  5027. what your problem in the next statement is:
  5028.  
  5029. > It gives an error, saying prototype doesn't match.  Now I try
  5030. >     do_pascal((Str255)t);    /* error */
  5031.  
  5032. In order to cast to an array you must cast to the pointer to the array.
  5033. The following does not work however, because here you are basically
  5034. typecasting a "char[256]", conceptually same as "char*" in C, which is
  5035. what t is, to a "unsigned char[256]*", conceptually "unsigned char**",
  5036. thus the problem.
  5037.  
  5038.  
  5039. >     do_pascal((Str255*)t);    /* error */
  5040.  
  5041. And the following typecast, "char[256]*" (pointer to t, or pointer to
  5042. array of char) to "unsigned char[256]*" (String255*, or pointer to an
  5043. array of unsigned char), works:
  5044.  
  5045. >     do_pascal(*(Str255*)t); /* compiles */
  5046. >
  5047. > Obviously, I thought I understood C strings/arrays, but I don't.
  5048. > Shouldn't the first one work?  I don't even understand what the
  5049. > third one is saying, "convert t into a pointer to a pointer to array
  5050. > of 256 characters, then convert it to a pointer to an array of 256 char"?
  5051. > That's what I said in the first one. :-)
  5052.  
  5053. This is all as I understand it.  I don't have K&R handy.  If I am mistaken,
  5054. I'm sure somebody will be kind enough to point it out.
  5055.  
  5056. > Brian Park
  5057. _____________________________________________________________________________
  5058. Shahid M. Alam                                        
  5059. shahid@mail.utexas.edu
  5060.  
  5061. +++++++++++++++++++++++++++
  5062.  
  5063. >From parkb@bigbang.Stanford.EDU (Brian Park)
  5064. Date: 9 May 1994 02:12:33 GMT
  5065. Organization: Stanford University
  5066.  
  5067. Carl R. Osterwald  <carl_osterwald@nrel.gov> wrote:
  5068. >So the argument to do_pascal is really a pointer to an unsigned char. 
  5069. [...]
  5070. >  do_pascal( (unsigned char *)t );
  5071.  
  5072. yes, yes!  Now I get it!  I did know that (char *) != (unsigned char *), 
  5073. but didn't connect it to this problem.  Feel pretty stupid now.  
  5074. I still think that casting to (Str255) should be legal but who am I to
  5075. argue with a compiler?  As Carl suggested, the proper way around all
  5076. this is to use the pre-defined type StringPtr.  Thanks all.
  5077.  
  5078. Brian Park
  5079.  
  5080. ---------------------------
  5081.  
  5082. End of C.S.M.P. Digest
  5083. **********************
  5084.  
  5085.  
  5086.