I’m sorry to report that we will not be going ahead with a true web-based version of DONATION. There was enough support for such a version from the respondents to our survey, though the financial calculations made it only a marginal gain for our business. (Of course, we could not estimate how many additional users we would get who would never previously have considered DONATION, because they were only looking for web-based solutions.)
Unfortunately, when we actually starting trying to use the technology that was supposed to give us an almost automatic conversion of our software to a web version there were just too many problems and we had to give up on it.
So, we are moving on to “plan B”, which I am tentatively calling the “Cloud Storage” option. This plan has some of the advantages of the web version, in that it allows multiple users (or the same user on multiple computers in multiple locations) to use DONATION, without worrying about transferring the database around by using one of the methods in our Help topic “Transfer your Data between Computers”. The users would always have automatic access to the latest version of the data. However, unlike the proposed web version (and our current Network version, which would still be available) only one user could use the program at a time. And you would still have to install the program on each computer using it, which has to be a Windows PC (or a Mac running Windows), and do upgrades (if and when you wished, and of course assuming you kept your payments current).
The basic idea builds on the current Internet backups functionality, by automating its use. We would have an option in DONATION where every time the program starts, it first automatically downloads and restores the latest Internet backup, and uses that as its database. And every time the program exits, it automatically uploads an Internet backup. (And the extensive messaging on restoring an Internet backup would be decreased with this setup, to make it less annoying!)
Once you turned that option on, as long as you had the Internet backups configured with the same Unique ID on multiple computers on which DONATION was installed, that would completely eliminate the need for any manual mechanism for transferring your data between computers, and allow you to seamlessly move from one computer to another, and use the same data.
In addition, every time a user started using DONATION before downloading the current backup to use, a small “reservation” file would also be uploaded to their Internet storage area, recording the fact that they were currently using the database. That would prevent other users from using it at the same time, and making inconsistent changes. (I.e. the program would check for someone else having a reservation, and not let you start DONATION if they did.) After a user finished using DONATION and successfully re-uploaded the backup to the Internet storage, that reservation would be cancelled.
The reservation files could also indicate which user, on which computer, last used the data. That information could be quickly retrieved on startup of DONATION so that if it was the same user on the same computer that last uploaded the data, they wouldn’t have to bother downloading it again. That would be great for the situation where there is one frequent user, and other infrequent users.
A big advantage of this design over a true web-based version is that you just have a brief delay on program startup and shutdown, but after that, you are using a local database, so it is extremely fast. With true web-based software, you are always transmitting data over the Internet, which even with fast Internet connections is always noticeably slower for virtually everything you do.
Of course, we would not recommend considering using this option to anyone that did not have fast, extremely reliable Internet connections on every computer they were going to use it on! Problems could occur, for instance if a user downloaded the backup, did some work, and then their Internet connection was lost so they could not re-upload the backup and release their reservation. There would have to be protections put in place so that (a) on the next startup of DONATION that user didn’t download the previous Internet backup again, eliminating their work during the previous session, and (b) if absolutely necessary, there could be a way to clear the reservation so other users could use the program (in which case that user’s work would be lost!).
In addition, we would add a feature (for all users of every version) that has been desirable for a long time, which is storing both edited letter and receipt templates, and memorized reports, in the database. (Currently those have to be shared between users independently from sharing backups, even for users of the Network version who are using the same database.) There will be a separate blog post explaining this idea, which would probably come out in a release prior the release of the main “cloud storage” version explained in this blog post.
All users would also have to know and use the same encryption password for Internet backups, and supply it on program startup. There would be stronger warnings against changing the password (e.g. if you forgot it), though that would still be an option – you’d then just have to communicate it to all other users. There would also be strong warnings against changing the Unique ID for Internet Backups once it had been initially set.
Another technical detail that we wouldn’t want to forget is that if a user has multiple databases, through the Database -> Switch Databases menu option, switching databases is equivalent to exiting and restarting the program. So the same steps would have to be taken: upload the database and release your reservation on the one you are switching away from, and then make a reservation and download the database that you are switching to. (Having said that, the setup for this cloud storage option would be per database, so it’s possible that you would have that configured for some databases but not others.)
A few concerns were raised about this by one expert user we shared this idea with a few months ago. The first was whether there would be a problem if some users upgraded DONATION and others didn’t. The concern would only really be relevant if that upgrade did one of our periodic changes to the database structure. Fortunately, almost all such changes just involve adding something – a new database table, or new columns to an existing table, so older versions of the program using such an updated database would almost certainly still operate perfectly correctly, because they would just ignore any new data.
A second concern was what would happen if a user also had local backups, and restored an older one for some reason. There would have to be serious warnings to the user about that, making it clear that if they continued using that restored older backup until they exited the program, it would become the new database for all users. (There might also be an option offered to the user to turn off their reservation, and not upload the database on program exit, if they restored a different backup.)
Because this is really just a convenience feature, simplifying the “Transfer your Data between Computers” mechanisms (and preventing problems with that where users get out of synchronization on who has the latest copy!) I do not anticipate that we would charge anything extra for it. It would just become part of the feature set of the regular Standalone version. Of course, it would not be available in the free feature-limited Lite version.
If you have any comments, questions or other reactions, please share them either as a comment to the blog, or directly back to us by email. Thank you!