Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!usc!hacgate!ashtate!dbase!awd From: awd@dbase.UUCP (Alastair Dallas) Newsgroups: comp.sys.mac.programmer Subject: Re: System 7.0 question Summary: HotPaste and Undo Message-ID: <119@dbase.UUCP> Date: 17 Jun 89 20:32:31 GMT References: <964@cnetlu.UUCP> Organization: Ashton Tate Devlopment Center Glendale, Calif. Lines: 61 In article <964@cnetlu.UUCP>, ranson@cnetlu.UUCP (Ranson) writes: > > How does Apple see the interaction between dynamic cut&paste and undo? > Imagine I have a graph hot-pasted from a server file in my letter. I > then delete a paragraph. I can always undo delete if I made a mistake. > Now someone modifies the graph on the server, and I receive the new ^^^^^^^^^ > version, that update (and modifies) my letter automatically. Can I still > undo the paragraph deletion after that? If no, this is extremely unfriendly. > If yes, the undo schemes used currently (eg. by MacApp) need to be reworked. > I guess most commands don't expect the document to be modified between Do > and Undo! > Daniel Ranson > ranson@cnetlu.fr > ...!mcvax!inria!cnetlu!ranson I hope we'll see a lot of discussion here about IAC. I, for one, am very interested in it. Let's see if I'm just revealing my ignorance here, but I don't think Daniel's point is a real problem. As I understand it, the system receives updates from, in this case, the graph program, and makes them available to applications manipulating documents containing links, such as the letter document in question. The sequence is: user uses wp app to view document containing link to graph program. Then user deletes paragraph containing graph. Then the graph program reports a change in the graph to the system. At this point, the wp app's view of the document is out of date. The wp app asks the system if anything has changed, the system mentions the graph, and the wp app modifies its private undo scrap. Now the user says Undo. Result: the updated graph is replaced. Magic. But the point is, the wp app is in charge--it decides when to ask the system about updates and it decides what to do with updates when it gets them. Apps can provide various levels of support for Undo. Many Unix and PC apps support Undo stacks, but these are rare on Macs (for good reason). MacDraw II actually stores Undo data in the document (Dear Claris: I figured this out before I signed your non-disclosure). That's amazing persistence for an Undo buffer, if you ask me. A reduced level of Undo persistence is tolerated by the users of many apps--often, Saving a document wipes out the Undo buffer, for example. So, it is not unreasonable to say that updating a link with one app may flush a reader app's Undo buffer. Not wildly friendly, but not unreasonable and only non-intuitive in multi-user situations (I mean, a single-user switching apps can figure out that his actions caused Undo to get grayed out). One last thing: it may be that hot updates are like automatic recalc in a spreadsheet--if they are slow or otherwise disruptive, users may want to be able to turn off dynamic updates (particularly in a multi-user situation). In that case, asking for an update (like Saving the file) might not be a bad checkpoint at which to flush the Undo buffer. As I said, I'd like to read a lot more discussion about the issues surrounding IAC, and I would be happy to have my misconceptions here corrected. As software gets more and more complex, user's expectations get harder to intuit. Nonetheless, that's our job... /alastair/ Disclaimer: I write IBM PC code for Ashton-Tate and they are nice enough to give me usenet access to discuss real systems:-). That is, these are my opinions, not A-T's.