pugh jon%e.mfenet@LLL-MFE.ARPA (03/14/86)
Last night (3/13) I got to see Andy Hertzfeld give a demo of his latest and greatest program, Servant. It was under half done, but still impressive. It is intended as a replacement for the Finder and Switcher, which makes him a little uneasy about fixing Switcher. Servant looks similar to MultiMac in that when you start up an application like MacWrite, you can move the window and, lo and behold, the Servant and the desktop are right behind it. You can then start another application, and so on. There is no real concurrency in that switches only occur when you select windows, there is no running in the background. The reason for this is hardware, pure and simple. Andy says that he has to move blocks of 3K around and to do context switching without an MMU creates a very nasty bottleneck that kills the whole idea. Alas and alack, the Mac will never be a multitasker. There are a number of other niceties involved that may seem trivial, but are very nice and slick. One is the elimination of the scroll bars. He now uses a hand to slide all the icons around. He provides a zoom out icon so that you can see all the icons at once and move your window around like you do in the showpage mode of MacPaint. There is also an icon that shows which direction the off window icons are so that you know where to look for them. It has a very nice feel to it. He also improved a very minor thing that turned out to be a significant hassle to program. When you pick up an icon now, you get a 32 pixel square with a rectangle for the text under it. Servant picks up an exact outline of the icon. It looks very nice. Servant will also allow you to place any MacPaint picture on the desktop as the background instead of just a pattern. Like I said, this is a partial program right now. Andy outlined plans for the rest of it that included; background demons (complete with appropriate icons), the elimination of desk accessories (who needs little programs that run on top of other programs when you can run ANY program on top of another program; not to mention the fact that Andy created them, he can damn well get rid of them if he wants), the integration of a Friendly resource editor so that normal people (not just us hackers) can edit resources, and a scripting capability (not journaling; a real iconic command language supporting parameter passing, completion codes, variables, if structures, and loops). The details for many of these features are not worked out yet. Andy says that he is an evolutionary programmer in that he puts something together and then sees how well it works and modifies it. This beats the heck out of writing a complete spec and then having to change it. Apple said that they wanted a spec before they would put any money toward this and it shows how good Andy is that he refused and they went along with it. He has already sold Servant to Apple for an undisclosed 6 figure amount. Apple will recieve the source code in 6 to 8 months and they will incorporate the features they like into the Finder. Then Andy will decide if he likes the way Apple has done it and when he decides that he doesn't he will finish and polish it himself and release it on his own. Servant appears to suffer from exceeding "desktop clutter." There can be too many windows open at one time for a person to optimally manage. He intends to place an open window list under the Apple menu instead of the DAs. The DAs will become icons, just like programs and can go anywhere. The resource editor will be built in and will be completely icon based so that you can take a font icon and place it into your system icon or remove it from your system icon. It is intended to be very simple. Needless to say, the intended target machine for this program is the Mac+. Andy stressed that this is a very memory intensive program. It has quite a few extra bit map buffers that take up room. He says that he will be able to manage the caching mechanism more efficiently too because he will be doing a lot of the memory manipulation himself. Also, Servant is up to 10 times faster than the Finder. He makes this speedup by bypassing the Resource Manager completely. He says he just slaps the resource block from the Desktop file into an array and manipulates it himself instead of using the manager. It is, also of course, intended to be run under HFS, although he is going to retrofit it all so that it will run on an "old" 512 Mac. You 128 owners are SOL, so hop on the boat (I don't see how ANYONE could live on a 128K machine; for that matter, how did I ever write that Star Trek program in 4K of Basic?) At any rate, Servant looks great. And that's all I can really say about that. Oh yeah, one more thing. Andy said he was giving away Switcher 4.6 at the Apple expo in January and that the current version is 4.9. It includes bug fixes galore, including a bug that has been there since it was written but since it was NEVER used it was never noticed. This concerned the ability of a program to cause a switch to occur. He cited an example during which the Freudian slip "Microso.." came out before he switched to a MacWrite example. Suppose you are in MacWrite and you have a MacDraw picture there. By double clicking on the MacDraw picture, you should be able to select that picture, switch to MacDraw and edit it, and then switch back to MacWrite and have the picture replaced. Sounds nifty, huh? Watch for it in an undisclosed program. Jon