Very interesting topic on which I like to post some thoughts. As I don’t like to write 5 single answers, I’ll answer the posts of several people here:
kjmatthews wrote:ecbrown wrote:What is the origin of the "hit apple-s" every ten seconds mentality?
I lived in an apartment for a year where the power went out unexpectedly at least once a month. I had a desktop computer. Lost many a research paper that way.
One important thing to keep in mind during this discussion. People don’t like to “save” a document that often but they like to ensure that not a single character will be lost no matter what happens to the computer.
kjmatthews wrote:
So the more useful question is what relationship users expect to exist between undo buffers and saving, in order to try not to subvert it. I think most users would agree that there is no implicit or intuitive connection between the two things…
I agree. A user can’t see or guess what happens to the undo buffer if he saves or prints a document. Both features are provided by Mellel and they should work independent from each other.
ecbrown wrote:
kjmatthews wrote:
I more recently (while writing final papers last semester) lived with a new laptop with bad pre-installed memory for about a month before I was able to leave it at the Apple Store for them to diagnose and correct the problem. I had six kernel panics in one two-day period, but didn't lose any work thanks to reflexive cmd-S-ing every time I paused to think.
These are unfortunate circumstances. Ones does have Autosave in case one needs it. If you use undo a lot, change the Autosave frequency.
This isn’t a helpful suggestion. One uses auto-saves to ensure that no part of the document will be lost. If I change the frequency but have to live with circumstances that could cause my computer to crash or to power off, I have to save a document more often. Even with a reduced auto-save rate, the exact time when the document will be saved is not transparent to the user. If you work on a paragraph, read it again, decide to delete it and the auto-save jumps in, you don’t have a chance to undo the deletion. That’s a bad behavior, no matter how low you set the auto-save frequency.
ecbrown wrote:
This is a Discussion forum, and the subject is "Undo or not to Undo..." In order to answer this question, we should flesh out the advantages and disadvantages of having essentially infinite Undo. You know the Redlers can do it, but they made a decision to clear upon Save. I suspect that it is because keeping an Undo buffer eats up resources. These resources are hard-pressed on my 700 MHz EMac with 512 of RAM.
These resources really aren’t hard-pressed on a eMac with 512 MB of RAM. One example. A very good writer could write about 500 keystrokes per minute. If you or a team of people match to write those 500 keystrokes every single hour, 24 hours a day, the result will be 720.000 written characters (taken as the most optimistic – or worst case). This equals 154 A4 pages with 12pt, single line spaced Times New Roman. That amount of characters equals 703 KB of RAM, saved in a uncompressed Mellel document, it’ll use 830 KB of hard disk space, saved in compressed Mellel format, it’ll be 12 KB on your HD. So even if you match to write that much a day, it will not even scratch your 512 MB of RAM. If you write 24 hours a day with a constantly speed of 500 characters per minute, you’ll have to write nearly two years (every single day, every single minute) to fill up your RAM with written text. If you write only 8 hours a day, you’ll need about 6 years for this. Nothing else will then fit into your RAM but the example above only should visualize how hard it is to fill you RAM with written text. So a unlimited undo doesn’t hurt your Mac. Every Mac that could run OS X 10.2 (the lowest requirement to run Mellel) easily could manage a unlimited undo. Nobody will have to buy a new machine because of this.
ecbrown wrote:
What's the point? Mellel lets me do more with less. I can run it on my clunky old machine while working with files over a slow network connection (.Mac) without copying to the local machine.
The second Mellel opens your document, you have copied it over to your local machine as Mellel reads the whole document before you could work on it. So you’ll only notice the slow connection the first time you open a document and every time you save it. As backup copies are saved on your local machine (if set in the preferences), the undo history could be saved there too. This way a slow network connection couldn’t slow down the felt speed of Mellel.
ecbrown wrote:
p.s. no, please don't let undo be infinitely persistent--I don't want someone to get my document and be able to undo it. They might see something that they should not see.
There are different possibilities of implementing a infinite undo. Storing the information inside the Mellel document is one of them, saving the information to a undo history file on your hard disk is another. I would prefer the latter so that there’s nothing inside your document that shouldn’t be there. This means that the unlimited undo will not be available if you move to another machine, but that may be something that one could live with (or that could be solved by a mobile Mellel package, that stores your Library/Application Support/Mellel and Library/Application Support/Fonts folders and your Mellel preference file on a USB Stick so that you could run Mellel with all the set up contents on any machine – but that’s another story).
As the performance of older Macs would not be harmed by a unlimited undo, I don’t see a reason not to enable it by default and forget about that “disable” checkbox.
ecbrown wrote:Also, the manual should say that Undo is flushed upon save. This would avoid any surprises for new users.
If you take a look at the questions asked in the forum and in the mailing list, you could roughly estimate how much people actually read the manual. Therefore I think your suggestion isn’t really a good one. It may be the same if a car manufacturer writes a sentence in the car’s manual: “caution: the breaks doesn’t work if you’ve use the windshield wiper a minute before!” That wouldn’t be that useful.
ecbrown wrote:
I could be completely wrong here. But I would like to discern whether unlimited undo is mostly a luxury item which contributes to bloat and forced hardware upgrades. This is a serious issue for people who oversee underfunded school/academic labs. It is also a big problem in places which are lucky enough to have an old donated computer. And my mother (pauses, smiles fondly) would freak out if she had to buy a new computer.
As written above, nobody that could run Mellel today would have to buy a new machine because of a unlimited undo feature. Did you know, that the Mellel icon in your dock (assumed it is in your dock) uses 5 times the disk space than the 154 pages text mentioned above? So you should rather delete this icon instead of being frightened of a unlimited undo.
ecbrown wrote:
When is a good time to clear the Undo Buffer? How about when you save to disk? This is the current behavior, and I think that it takes advantage of the psychology of users and their tendency to save frequently. Therefore, I suggest to those who must have "unlimited undo" do two things: 1) increase the time between autosaves 2) stop hitting Apple-S all the time.
The question should be: why should the undo buffer be cleared at all? As explained above, the users like to be sure, that everything that they’ve written will be securely stored. That’s why they hit Apple-S and that's why they tend to decrease the time between auto-saves or backups. The possibility to undo a action, a word, a sentence, a change or something else is something completely different. It may be possible to clear the undo buffer, if a user hit the “save milestone” or ”save final document” command but most saves or auto-saves aren’t done because the saved document shouldn’t be modified anymore but to save (protect, backup, secure) the lines that have been written. Therefore it isn’t a good idea to clear the undo buffer in such cases.
aechallu wrote:I'd rather have Mellel act as it does now, but implement a versioning mechanism - which could be as simple as just setting back the clock to a previous [saved] version. I hope Time Machine would allow the developers to implement such feature with relative ease.
If versioning is out of the question, then (optional?) persistent undo would be a consolation price.
As far as I know, TimeMachine only copies modified files once a day (maybe that could be changed) to the external hard drive. With such a low frequency, it’s hardly possible to build a good and useful versioning feature. But I like the idea of flying through the time and browse back to see the whole undo history and saved milestones (versions) as well.
zoul wrote:
this page that says: “In just about all applications the undo history is lost the moment you close the document. There is really no reason for this since the undo history (if it is properly implemented) hardly takes up any space, and there is no guarantee that you won’t need it at a later time.”
The linked text contains some nice ideas that would fit in a word processor as well. Even if I don’t like the way the undo/milestone history is displayed, I think the idea behind is the way to go. Especially the branch thing could be really helpful.
That’s my comments so let’s got to the wishlist