[comp.sys.mac.programmer] Apple ignoring its own standards

tim@hoptoad.uucp (Tim Maroney) (04/09/89)

In article <6915@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes:
>Why is that Apple's software (e.g., Hypercard, Finder, Font/DA Mover,
>ResEdit, original MacPaint) is so cavalier about the Mac interface
>standards, while any of us who dare to violate them get our little
>wrists slapped?

In article <28602@apple.Apple.COM> keith@Apple.COM (Keith Rollin) writes:
>Apple has to take a responsible position and not encourage you to do anything
>that might cause your programs to break in the future.

First off, I appear to have been unclear.  I was not discussing Apple's
technical guidelines for future compatibility, but its interface
guidelines for interacting with the user now.  So a certain amount of
this discussion consists of non sequitur.

>Using the example of MacPaint wasn't really fair. That was one of the first
>programs ever written for the Mac, well before all of the guidelines had been
>established. As you well know, MacPaint has been revised to work well within
>today's current standards.

I don't see how I would know that MacPaint has been revised to use
scroll bars, multiple windows, movable and resizable windows, and so
on, if in fact it has: I don't own a copy.  However, these were already
established standard elements of the Mac interface at the time of the
Mac's release.  Are you referring to technical standards or interface
standards?

>I don't know what you are referring to when you mention ResEdit. I think that
>the current version (1.2b3 or b4) works fairly well. Earlier versions didn't 
>follow all of the rules, and as you have probably noticed, they failed with 
>newer releases of the System. By not following the rules, even we get bit.

Again, I think you've missed the point.  Sure, ResEdit used to save
screen bitmaps and other such nasty things.  But the overall interface
is of much greater concern.  ResEdit uses nonstandard interpretations
of most standard elements of the Mac: the Open command, the New
command, the presentation of the file hierarchy, the ability to resize
windows, and so on, and so on.  At least it now has Save and Revert
(earlier versions didn't even have those), but it still is a very
non-conforming application.

>F/DA Mover and the Finder are System Software. I think that F/DA Mover is the
>only program that we say is OK to modify the System file (actually, there is
>the Installer, too). As such, it gets to have a little carnal knowledge of the
>System.

And to require that knowledge of naive users?  Again, the important
issue is the interface, not the program's internal structure.  How
about the fact that it doesn't have a menu bar or document windows?
How about the fact that it's not MultiFinder friendly, consisting
solely of a modal dialog?  How about the nonstandard implementations of
the Open and Close commands, as well as the Copy command?  How about
the fact that no naive user has the slightest idea that they need to
open their System file with it, since that is developer-type
information?  (All naive users I've spoken with about Font/DA Mover,
and there are have been a good number, agree that it is a very
confusing program.)  I have no trouble imagining a Font/DA Mover that
conforms to the interface standard, but this one's not even close.

>The Finder, obviously, is integral to the working of your Macintosh.
>Asking why it gets to know about MultiFinder is a bit like asking why Multi-
>Finder gets to know about the Finder. However, I personally think that some
>thought might have to go into this Desktop drawing thing. Right now, its little
>hiney is covered by Macintosh Technote #194, which says that the Window Manager
>port is reserved for the system (ie, Finder), but it sets a bad example to all
>the developers out there.

And fails to work properly with their programs, because of the already
mentioned need to move other windows out of the way under MultiFinder.
Again we have a totally gratuitous violation of the interface standard,
whether Apple tries to special-case itself out of the picture or not.
The reason drawing into the desktop is forbidden is because it makes
the computer harder to use under MultiFinder, and Finder fails this test.

There is also a nonstandard implementation of the Open command; in the
Finder, Open is what other people have called Open Selection.  Further,
it rearranges commands in the File menu.  *Everyone* adds a command or
two, but rearranging them -- no way.  (At least it does have the
standard Show Clipboard command, which some other Apple software is
missing in contravention of the standard for the Edit menu.  However,
it is silly to use System rather than Application font in the clipboard
window....)

>Finally, there's HyperCard. On that one, I take the Fifth. HyperCard hides and
>draws directly into the menubar, plays around with locating the mouse, draws 
>directly to the screen when it can, doesn't have a grow box or scrollbars, is 
>limited to just one window, and probably knows how to sublaunch. As a member
>of Apple's Developer Technical Support group, I am not the one to defend this.
>All I can say is that they did it without help from us! If you want to use any
>of these techniques, you are in the same boat as Bill Atkinson.

No, I don't want to use such techniques; they would confuse my users.
And I don't want Apple to use them either.  Nor does Apple want me to
use them.  It seems Apple does want to use them itself, though.

I really don't think that, if I wrote an application as maniacally
unconcerned about the Mac standards as Atkinson's MacPaint and
HyperCard, I would be in the same boat as Atkinson as far as Apple is
concerned.  I think it would be more likely that Apple would publically
call my program a bad example of third-party Mac software, than that
Apple would tout it all over the planet as the greatest thing since
sliced silicon.  But then, HyperCard is from Apple, so the standards
don't apply.  Right.
-- 
Tim Maroney, Consultant, Eclectic Software, sun!hoptoad!tim
"Feminism that refuses to use the word 'patriarchy' is kin to abolitionism
 that refuses to use the word 'slavery'." -- Tim Maroney

mjohnson@Apple.COM (Mark B. Johnson) (04/10/89)

In article <6936@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes:
>
>I really don't think that, if I wrote an application as maniacally
>unconcerned about the Mac standards as Atkinson's MacPaint and
>HyperCard, I would be in the same boat as Atkinson as far as Apple is
>concerned.  I think it would be more likely that Apple would publically
>call my program a bad example of third-party Mac software, than that
>Apple would tout it all over the planet as the greatest thing since
>sliced silicon.  But then, HyperCard is from Apple, so the standards
>don't apply.  Right.

Wrong.
As far as DTS is concerned, you would be in the same boat.  You must
remember that Apple is not necessarily of one mind concerning many
issues, especially those concerning human interface and programming
techniques.  The same standards apply in DTS as well as some other
groups within Apple, and they are applied across the board to third-party
developers and Apple employees.  It is damn difficult to keep telling
developers that they should or should not do this or that when others
within Apple contradict what we say with their products, etc., but we
do it because it is our job and we know the problems you will face in
the future if you don't follow the guidelines we try to provide.


Mark B. Johnson                                            AppleLink: mjohnson
Developer Technical Support                         domain: mjohnson@Apple.com
Apple Computer, Inc.         UUCP:  {amdahl,decwrl,sun,unisoft}!apple!mjohnson

"You gave your life to become the person you are right now.  Was it worth it?"
                                                         - Richard Bach, _One_