[plt-scheme] Imroving 'Create Executable' command on Mac OS X to be less bewildering?

From: Danny Yoo (dyoo at hkn.eecs.berkeley.edu)
Date: Thu Aug 11 02:34:04 EDT 2005

Hi everyone,

I finally figured out how to used the Create Executable command on Mac OS
X, but there are elements in the user interface that led me very
off-track.  I might as well rant a little bit, in hopes that I get some
sort of sympathy.  *grin*

In particular, on Mac OS X, it was not clear at first why a directory
chooser, rather than a file chooser, was being brought up.  In hindsight,
I see that the dialog box is asking me to choose a new folder directory
because Mac OS X applications are actually directories in disguise.

But Mac OS X abstracts an application as a single file-like thing through
its Finder.  By that illusion, I was tricked and very confused at what the
dialog box expected me to do.

The error message on directory selection doesn't make this completely
clear either.  On an incorrect selection, the dialog says:

    "The filename ~a is illegal.  Under Mac OS X, executables must end
    with .app".

And this is perfectly true, but it can be improved to make it explicit
that it really means for the user to choose (or create) a directory.  I'd
like this to be reworded as:

    "The filename ~a is illegal.  Under Mac OS X, applications are
     really directories whose names must end with .app"

or something like that.  Anything to make it more clear that what is being
asked for is a directory name because of the way that Mac OS X implements
applications.

A mention of this peculiar situation would be nice in the DrScheme docs
too.  I just want to make sure no one else wastes the time I did staring
blindly at collects/drscheme/private/language.ss and futily cursing the
put-executable/defaults function for doing get-directory instead of
put-file.  *grin*


The following diff makes this message change to the
string-constants/english-string-constants.ss:

##################################################################
mumak:~/local/plt dyoo$ svn diff
Index: collects/string-constants/english-string-constants.ss
===================================================================
--- collects/string-constants/english-string-constants.ss	(revision
578)
+++ collects/string-constants/english-string-constants.ss	(working
copy)
@@ -865,7 +865,7 @@
  (windows-executables-must-end-with-exe
   "The filename\n\n  ~a\n\nis illegal. Under Windows, executables must
end with .exe.")
  (macosx-executables-must-end-with-app
-  "The filename\n\n  ~a\n\nis illegal. Under MacOS X, executables must
end with .app.")
+  "The filename\n\n  ~a\n\nis illegal. Under MacOS X, executables are
really directories whose names must end with .app.")
  (warning-directory-will-be-replaced
   "WARNING: the directory:\n\n  ~a\n\nwill be replaced. Proceed?")
##################################################################


Hope this helps!



Posted on the users mailing list.