The very long way to ForeverSave 1.0

Development of ForeverSave started after we noticed the interest in the free version (EverSave). Many users were asking us for the destination folder of the saved documents. But that’s simply not part of EverSave’s set of features since it automatically overwrites the files. The missing feature is called ‘Versioning’. So I went to the Apple documentations and found out that it is, in theory, a possible job to do. The first version of ForeverSave (which was at that point of time not called ForeverSave) wasn’t compatible with all apps I had in my applications folder. I spent many nights on finding a universal way and there were many times I was about to cancel everything. It was a real frustrating software project and I realized why there’s no app out there that does the exact same thing or sth. like that. Some earlier versions (0.1-0.5) had a totally different user interface with different tables, windows, buttons and even one version with a Cover Flow view.

I removed it one version later for both being private (undocumented class, reserved for Apple) and having memory leaks I wasn’t able to fix.
When reviewing ForeverSave now, lots of people may ask me: What’s the difference between it and Time Machine?
First off, I am working on a Mac Pro with a second hard disk (1 TB) which I wanted to use as a Time Machine backup. After some weeks I took a look at my backup disk which was almost completely full of TM backups. I noticed a few things during this time: First, my backup disk and startup disk were both very busy which makes work in e.g. Xcode half as fast, second Time Machine wasn’t always able to backup all my Xcode projects (file xyz is in use or sth. like that) and third Time Machine’s process is pretty inefficient since it only makes backups every hour and doesn’t recognize files that haven’t been changed.
I had a few application crashes (Photoshop, Keynote, Pages) and wasn’t able to restore my lost documents. During development, I often change or delete lines of code and then afterwards want to undelete them again which I wasn’t able to do. And think about the fact that Time Machine creates a several gigabytes large backup of your hard disk so you can restore a single source or photoshop file which is 80 kilobytes in size. I am pretty sure not everyone’s got a RAID of 5 or more hard disks to store backups on. Time Machine is great for backing up your hard disk in case of large data loss (hard disk failures) but not for document-based applications such as BBEdit, Photoshop, the iWork Suite or the Developer Tools. This is were ForeverSave comes in. I’ve used alpha versions of it during its development and restored several source files of its own project. A month ago or so I had a very large data loss in two source files, the Xcode project and my Interface Builder files.
By the way, I am storing all of my software projects on separate disk images (sparseimages). What has caused the crash was Time Machine not coming along with backing up images that are still open which was in this case the ForeverSave project. All currently open files were overwritten with unreadable characters from the internal memory of each application. Xcode says XML parsing failed while Interface Builder says ‘The file could not be opened’.
This is where I stopped Time Machine from creating any new backups.
I am using ForeverSave with Dreamweaver, Illustrator, Photoshop, BBedit, Interface Builder, Keynote, Numbers, Pages, TextEdit, Xcode and Mail (save only) and it works great. I can’t see any large performance limitations here (Mac Pro 2×2.66, Mac Mini 1.83).
First version:

Second version:

Third version:

And this isn’t everything. I don’t have all versions on disk, the first one had an own backup utility for restoring documents…
This is what ForeverSave looks like right now:

Remember, ForeverSave is NOT a Time Machine replacement and Time Machine is not a ForeverSave alternative.
Ironically, I lost my original lengthy comment due to another kernel panic since I upgraded to Snow L… still searching the culprit among the more or less compatible.
Anyway, I’ve been using EverSave for quite some time. I’m really looking forward to test FS ‘Heavy’, but here’s some of the questions I had some hours ago:
1. QuickLook works fine for the file types relevant for me, but how do I spot the differences between versions? Just thinking about ordinary 20 pages (I spotted ‘difference in bytes’ on the first screenshot)
I’m fine with a comparison in the app, but then the direct appeal of a central versioning system is reduced.
I’m aware that file comparison (in real/conventional versioning systems and elsewhere) works best with straightforward text files and the like, and ‘Universal Compare (via QuickLook or else)’ is far out of reach of ordinary human Apple users.
1a. a bug: I just tried to compare three versions of a file. All look the same in QuickLook. Apparently, QuickLook is caught with a single file, rather than three different ones.
2. Where are the backups saved? I couldn’t find that out. I really like to be able to fiddle around with files – unless they’re part of a special format, of course.
Anyway, I want to be sure that Time Machine doesn’t start to backup those backups; on the other hand, I’d like the thought of backing up the FS backups by another backup app… (if you know what I mean)
3. On versions: is it a gradual system or are the files saved as a whole? I could take ‘difference in bytes’ in the early version as a hint. If I use FS with, say, PDFs with graphics, this would matter for my small amount of spare space on my main HD.
(20MB * 50 versions = around1GB and that would be definitely too much…)
4. versioning, part 2:
My favorite scenario is saving every minute or so.
Let’s say I choose 50 versions (assuming my calculation above is wrong).
Do I understand it correctly that the last 50 versions are saved?
That’d be around 50 minutes of backups and that’s far away from a real versioning system (or the imitation via Hazel e.g.). (of course, in combination with Time Machine, that still works out, with one TM backup per hour)
5. On the trial conditions:
Totally fine with 30 days.
Okayish with a reminder every 3 hours (Why quitting? Why not a nice nagging reminder? It’d be much more comfortable to see that the app’s still running…)
Having to look 10+ seconds at the activation screen, which only works with FS as active app: mmh, less so. I guess that’s a bug, isn’t it?
For the wish list: a visible overview of backup patterns, possibility to copy them – I’d take a simple spreadsheet if possible, distinction of file types (for OpenOffice), default patterns.
Well, I hope my comments look as interested as I am.
Grüße aus Schöneberg,
Thomas
I have a quick suggestion for a future version of ForeverSave.
Sometimes I do not want to save changes I make to a document. Could you add an option to NOT initially save an opened (but previously saved) document?
For example, let’s say that yesterday I typed and saved a document. Today I open it but don’t want to save any changes. Can I set it up so that it will treat an opened document as if it had not been saved before, and just give me the animated cursor until I do manually save it once?
Thanks, and I love this app. It completes iWork.
There seems to be a small problem with Pages. If one is editing the content of a cell and FoveverSave jumps in to do its job in the background the current position in the text gets lost as the cursor focus. Instead, the cell as a whole receives focus. Consequently, as soon as you continue to type, the whole cell content gets overwritten with the newly typed text. This unfortunately renders FS rather useless in Pages documents tables (and, possibly, other embedded objects).
Can you please verify and fix this? (Using FS 1.1.3 on OS X 10.6.2).
I’ve just got the new release of ForeverSave (Feb 24th 2010) which has the fix in it for drawing lines in Photoshop.
This bug only seems partly fixed.
As I understand the fix currently waits till the user releases the mouse button, preventing any lines being drawn towards the top left corner of the screen whilst drawing.
However if the user is tapping the mouse button while drawing, which is a fairly common procedure. ForeverSave jumps in between button taps and again ends up producing a line drawn from the mouse location to the lop left hand side of the screen.
I like the fix waiting for the mouse button to be released, but it might be better if the mouse could be disabled just before the save function is called. So the user cannot begin to perform a drawing action.
Good luck with the software.