Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!purdue!bu-cs!dartvax!eleazar.dartmouth.edu!ari From: ari@eleazar.dartmouth.edu (Ari Halberstadt) Newsgroups: comp.sys.mac.programmer Subject: Subtantiatng my criticism (was: simple text interface) Message-ID: <14834@dartvax.Dartmouth.EDU> Date: 4 Aug 89 04:29:57 GMT References: <9674@phoenix.Princeton.EDU> <43528@bbn.COM> <14780@dartvax.Dartmouth.EDU> <183@dbase.UUCP> Sender: news@dartvax.Dartmouth.EDU Reply-To: ari@eleazar.dartmouth.edu (Ari Halberstadt) Organization: Dartmouth College, Hanover, NH Lines: 136 >In article <14780@dartvax.Dartmouth.EDU>, ari@eleazar.dartmouth.edu (Ari Halberstadt) writes: >> Now, for the flame part. The apple interface is truly lousy for certain >> things. > >Could we please have a little more scientific method here? I'm getting >sick and tired of unsubstantiated opinions. Ok, ok. I can explain, but first let me note: I was tired when I sent the message out, and about 2 minutes later realized parts of it were somewhat inapropriate. Sadly, my system could not locate 'inews' in order to cancel my posting. I have tried contacting my operator, but haven't received a reply. So, the message went out in a not-quite-finished state. Still, the claims I made are valid, and I can substantiate them. Unfortunately, I can not bring to bear scientific studies of the effectiveness of one interface over the other. I'm sure some are available, but I'm really talking about my perspective as a computer programmer. First, the apple interface is very nice for a number of reasons. It is simple, it's consistent from application to application, and it handles some tasks adequately. In addition, I was truly impressed when I first started learning the Mac OS from Inside Macintosh. Apple did a very good job documenting the 1000 or so ToolBox calls, except for the file manager in vol IV...very confusing chapter. This last chapter is really more complicated than it need be: UNIX, a far more involved system than the mac, with many more devices and directories, manages to use just a small number of commands to do file IO, and even directory structures are simpler than those in Inside Mac. There are certain tasks where a symbolic language, or a command line interface, is more powerful and more efficient. For instance, who would prefer programming with a mouse than with C? Furthermore, just any symbolic language is not enough. The language should be extendible, flexible, and allow easy integration of many tools. This is where my UNIX experience comes in handy. UNIX offers a superb combination of tools, which can all be stringed together to form even more powerful tools, either by using pipes, or by using the shell. Another bonus in UNIX is the uniformity of the file types: nearly all files are text only. This means that you can run a program such as grep, and send its output directly to a sort, or to awk, or what have you. Files can be instantly viewed on the screen with only one program. There is no need to start up MacWrite, find out the file is in the wrong format, quit, wait for the finder to start up [ok, no startup time with multifinder], find some file conversion utility which hopefully will convert whatever the file is into something MacWrite can read, quit, start up macrwrite...etc. Why not just type "more file"? And, UNIX programs are written to be easilly integrated with other programs; mac programs are written to be standalone, and try to do everything in the world, but usually end up doing a few things well, and wasting a lot of space for other things, instead of sticking them in a general purpose utility (consider MS Word...) A major blunder of the Macintosh designers was to run the mac in supervisor mode all the time. This means that any silly program can do anything it wants to the rest of the system. Today, this creates horrible problems when working under multi-finder, since the smallest bug in a program can cause the whole system to bomb, causing you to lose tons of work. This would never happen on UNIX. UNIX is also more robust in the structure of its file system, which means system crashes will be less harmful [see "The Design and Implementation of the 4.3bsd UNIX Operating System"]. I could go on, but I don't have the time right now. I think my point is obvious. Besides, I realize menus and dialogs are easier to learn, but once you get past them, and really want to integrate your system, how do you do it? On the mac it's difficult to impossible. >> So, now I've got this big chunk of code, but, being a single hacker, >> I can't possibly compete with apple's resources, and whoever makes >> MPW. Besides, I wrote my program as a private project, not for >> someone who was paying me. Working now with MPW, I'm amazed at the >> design and implementation errors that its creators made! I'm amassing >> a list of complaints which I shall eventually mail off to its creators. >> Besides, version 3 is damn full of BUGS! It's hanging for no good >> reason, quite often too. I've even found one completely reproducible >> bug, which I shall also mail to MPW's creators [hey, you guys reading this?] >> >I get a little torqued when I hear people describe software like MPW, which >thousands of people are using with great success, described as "damn full >of BUGS!" by someone who the moment before seemed to be apologizing for the >sorry state of his own code. I know that reasonable people in netland >(including me, I like to think) read statements like "it's hanging for no >good reason" and just mentally translate that to "I don't know what I'm >doing, much less what I'm talking about." But, nonetheless, in my opinion >this newsgroup should not tolerate such irresponsible posting. >If you have a specific user interface criticism, Mr. Halberstadt, please >state your case and be prepared for rebuttal. If you have discovered a >bug, describe it and be ready for someone to explain what you did wrong. Ok, perhaps the bug I found is due to my ignorance. But what happens is that all the commands and nearly all the menu items on MPW v 3.0 stop functioning! Since I can't send a kill signal to the process, I have to reboot my mac. I've discovered I can save changes if I click on the close box of unsaved files. Anyone got a sollution? I've saved a shell script which seems to cause the bug consistently, but the bug also appears at random times during my work. Now to the design errors. It is obvious to anyone who has used UNIX that MPW is simply a take off on it. The commands make, search, reg-expressions, etc. But, unfortunately, MPW was too lazy to implement these features fully. I would like to tell you that MAKE and RCS and GREP and SED and AWK and PERL and...are much more powerful than their counterparts in MPW. It would have taken MPW little more effort to fully implement these programs. Also, they seem to have decided to modify these programs just enough, so that they are not quite like their UNIX counterparts. They've invented a whole new set of regular expression characters, yet another shell language, new options and names for standard commands, etc. My question is, since there are so many UNIX users out there, and since most UNIX tools have been proven effective after numerous years, why did MPW have to tinker with a good design? Ok, so they wanted to take advantage of the extended character set of the mac. Fine. But they should have provided the standard metacharacters as well, for the benefit of the thousands (hundreds of thousands?) of users who are already familiar with them. The same applies to the command names: admitadly, UNIX command names can be cryptic, and it's probably a good idea to provide things such as search instead of grep; well, at least MPW didn't screw this last thing up: they did remember to provide an alias mechanism. Now, to the command line interface of MPW. Very very annoying. I think a prompt based system like the csh would have been much better. My main gripe is that I'm a lefty, and I always have to reach way-yonder to get to the "enter" key just to execute the simplest command. Geesh! Now, it is nice to be able to select text and then execute it, but they still could have done that with a command line interface. Another problem with the MPW command entry is that I'm always going back and selecting a command inorder to execute it, but in the meantime the output from the command keeps placing my cursor further and further away from the command. Finding the command in a morrass of output gets quite tedious. In the csh, I can simply type '!c' or whatever, and the command is reexecuted. There is more, and as I said, I am still collecting data. But the above should give the reader a general idea of the types of complaints I have. -- Ari Halberstadt '91, "Long live succinct signatures" E-mail: ari@eleazar.dartmouth.edu Telephone: (603)640-5687 Mailing address: HB1128, Dartmouth College, Hanover NH 03755