Signal: How would automatic searching have been accomplished?
Smith: That feature wasn't fully specified, but it would be primarily by specifying certain attributes about the item you were looking for, whether it was simply the title of the document you were looking for, or some key words in the document, almost like a database query. Something to make a search a lot less painful.
Signal: What other desktop capabilities never made it into your final model?
Smith: One was the ability to allow new applications to be added, which could operate on documents not of their type. Suppose somebody wanted to add a new compare program that compared two text files for example, and gave you the differences. With the user interface model we had, simply clicking on a document opened that document, or clicking on an application opened that tool. There was no real clear way of specifying documents of different types as essentially parameters to another program. Probably the biggest single feature missing in both the Lisa and Macintosh is the ability to automatically remember a series of actions and play those over again. One of the things the desktop did was to make most operations very simple to do, which is a great benefit to first-time computer users. But computer users expect the ability to give the computer a series of commands and have the computer record those, and save them from the drudgery of having to repeat those over and over again. Primarily because of not having quite the right user interface for it, and the technical problems involved, that particular feature was never fully implemented in the Lisa or the Macintosh.
Signal: Were there any schemes that would allow repeatable commands?
Smith: There were a couple. One that comes to mind that was actually done with limited success was to simply record all the actions of the user on a real low level: the user moved the mouse from here to here, clicked the button, typed keys at this point. That allowed us to do little demos where the machine appeared to be running under automatic control. The problem with that approach is it requires you be in the exact same state every time you run this little script, even down to the exact position that icons are on the screen or within their folders. That situation turns out to be very rare, so that approach is flawed. It's also not something you can easily parameterize. You pretty much specify an absolute action.
Signal: Programmers were disappointed to find that this beautiful, iconic, straightforward, user-friendly, state-of-the-art desktop was built with a fairly old programming language and tools. The Macintosh didn't come with any new, powerful systems to make programming a Mac as easy as using one. Is there a lack of tools for developers to easily implement new Macintosh programs?
Smith: There's no question that implementing a Macintosh type of user interface is difficult, and the initial implementation on the Lisa and the Macintosh was done in pretty traditional form. What we've tried to move towards is more of an object-oriented implementation that involves extensions to existing languages. In the long run, that's really going to be the way to develop software for this type of a system. The problem you typically have with object-oriented software is performance and size. Since it's a general system, you tend to get a lot more software than you actually want because everything is built in, and you may be only using a subset. The size of any application tends to be quite a bit bigger, and the performance often can be quite a bit sluggish.
Signal: Has object-oriented programming really been proven? Both the Lisa and Macintosh have demonstrated excellent user software, but only using traditional, non-object-oriented programming. Apple's object-oriented systems always seem to arrive a day late and a dollar short and have never really been used to implement anything of commercial significance.
Smith: That's certainly been true up to this point. Whether you can use that approach or not depends on how much horsepower you have behind you. Smalltalk is heavily object-oriented. Depending on what kind of machine you're running on, Smalltalk is a wonderful system to use, or it's just horribly slow and painful. So it's a combination of the hardware you have, and the software implementation. Programmers who use an object-oriented system are really pleased with it, because of the amount of work that's already done for them. Developers will gravitate towards that type of a programming solution once it's implemented in the most efficient possible way, and there's sufficient hardware behind it to make the performance acceptable.
Signal: Why were the tools that Apple used to implement its first desktop applications never released to developers?
Smith: Great question. The reason is we didn't have the object-oriented extensions made to any of our languages at the time we were developing the product.
Signal: If the Apple programmers didn't need finished object-oriented extensions to complete their applications, why did you think third party developers would have to wait for the extensions to be completed before they could get tools for their products?
Smith: The primary reason was because of the difficulty we all faced while developing the applications. We were all working at Apple on a daily basis, and had access to everyone on the project on a face to face basis, and we were still having difficulties in the amount of time it took to implement just a standard user interface. Each of the applications had to implement scrolling, and the menus, and all of the appropriate things, according to the standard user interface and specification. It turned out to be just incredibly difficult to do, and incredibly time consuming.
Signal: Couldn't Apple programmers borrow each others code and algorithms?
Smith: Well, we tried to some degree, but there would be these slight little differences. It was very difficult at times to trade some of that stuff, because of the way an application was structured. We were essentially pioneering all of those techniques, even the basic design of an application being event driven, as opposed to reading in a little command line and a carriage return and spitting out the answer. It was all quite a bit different from the programming experience of most people there. We just realized way too much effort went into developing desktop applications, and something better had to be done for outside developers.
END OF PART 4a
> Regards,
> David T. Craig
>
> ###########################################################
> # David T. Craig -- CyberWolf Inc. -- ACI 4D Developer #5
> # Aspen Plaza, 1596 Pacheco, Suite 203
> # Santa Fe, NM 87505 USA
> # voice 505.983.6463 ext 15 -- fax 505.988.2580
> # dcraig_at_email.domain.hidden
> ###########################################################
>
>
> Regards,
> David T. Craig
>
> ###########################################################
> # David T. Craig -- CyberWolf Inc. -- ACI 4D Developer #5
> # Aspen Plaza, 1596 Pacheco, Suite 203
> # Santa Fe, NM 87505 USA
> # voice 505.983.6463 ext 15 -- fax 505.988.2580
> # dcraig_at_email.domain.hidden
> ###########################################################
MacResQ Specials: LaCie SCSI CDR From $99! PowerBook 3400/200 Only $879! Norton AntiVirus 6 Only $19! We Stock PARTS! <http://www.macresq.com>
Shop buy.com and save. <http://click.linksynergy.com/fs-bin/ stat?id=O7sajHhUCjc&offerid=13541.10000001&type=1&subid=0>
/ Buy books, CDs, videos, and more from Amazon.com \
/ <http://www.amazon.com/exec/obidos/redirect-home/lowendmac> \
- - - - - - - - - -
This message is sent to you because you are subscribed to LisaList.
List info <http://lowendmac.net/lists/lisa.html> Send list messages to: <mailto:lisalist_at_email.domain.hidden> To unsubscribe, email: <mailto:lisalist-off_at_email.domain.hidden> For digest mode, email: <mailto:lisalist-digest_at_email.domain.hidden> Subscription questions: <mailto:listmom_at_email.domain.hidden> List archive: <http://mail.maclaunch.com/lists/>
Host your mailing list for free at Maclaunch http://www.maclaunch.com/forms/list.shtml Received on 2001-01-05 16:47:53
This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:18 EST