DONATION Web Version Results and Proposal

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!

16 thoughts on “DONATION Web Version Results and Proposal

  1. Dan:
    While it is unfortunate that you will not be creating a true cloud based version of the database I can understand your reasoning. You have also pointed out a number of areas where end-users are going to have to show great concern when uploading and downloading the files so that older versions are not overwriting new versions. This concern will probably happen only with the ‘key’ user as others may not be as comfortable switching databases (yearly or company). Training will be the real issue. And proper local backups.

    • Hi Clyde. Really this process should be completely automatic and virtually never need users to “show great concern”, if we do it right. And there is no special care to be taken when switching between multiple databases – that paragraph was just a note to ourselves really to remember that point when programming the feature! The only real danger (other than from flaky Internet connections) that we have identified is if a user chooses to restore an older backup for some reason. That should be very unusual, of course!

  2. Dan.. I think this is a very workable and reasonable solution. My co-treasurer and I have been manually sharing a common database by using the online backup and restore for about 6 months and it has worked quite well. Having that same methodology automated sounds great. Thanks for continuing to look for the best solution and for your great attention to the details…. David

    • Thanks Dan. While we understand your cost concern on developing a web based application, this option will not work for us. We are looking for opportunity of a multi users application without having to keep our own server. Any other technology /idea that you can leverage on to make this possible will be appreciated … Kay

      • It depends whether you need multiple simultaneous users or not Kay. If not, this technique will work perfectly for you. (So would some of our current methods, as explained in the Help topic “Transfer your Data between Computers”, just with less automation.) If you need simultaneous users, then you definitely need our network version (or someone else’s web version).
        The network version of DONATION does NOT need a real Windows Server – our Network Server version can work on any computer. The only issue is that that computer has to be turned on for other computers to access it.
        Normally the network version is meant to be run on a local area network (e.g. within one building) but it is possible to run it over the Internet. There’s a discussion of that in the Help topic “Network Versions of DONATION”.

  3. Hi Dan, at this time, there is only one computer/person using the program, so the simple back-up of data is all that is needed. Thanks for providing this information and allowing our comments on your progress.

  4. Dan,

    Thanks for this update. It is a needed and wise step closer towards cloud-based – fully mobile software. We use a lot of cloud-based software and found the transfer of data (manually) to be quite inconvenient. Businesses and consumers need ease & convenience – in this already too busy world. Thanks again.

    Question: Is there a way to allow ‘restricted access’ to the ‘cloud data’ for the Treasurer/Bookkeeper – or church – to access certain reports – like the “Summary Reports”…?

    Weekly (as financial secretary – counting/recording the giving) – I send a PDF of the Week’s offerings – Summary Report with the totals for the given categories – to the Treasurer for bookkeeping recording and to the finance board. With the ‘Cloud Storage’ – it would be more ‘convenient’ to simply allow the Treasurer – or Finance Board…to have access to the Summary Reports…when needed…(not the individual giving reports – due to confidentiality) – so updated ‘non-confidential’ reports can be accessed without creating gobs of PDFs…or requiring additional involvement from me each time. I have other software – that allows ME to check a box if I want it viewable through their given Portal. Thoughts?

    • While I can see the benefits of that, JDR, we have actually had something of a variety of different requests for security/password options. We may do something about that in the future, but for the moment just getting this cloud storage feature working properly is a big enough goal! We’re also trying to stick to our “keep it simple” philosophy.

  5. Hi Dan,

    I am also one of those single users with a small database and using the desktop or network version. I don’t think the upload / download over the net to be problem, however my connection can be sketchy at times due to our rural location, and therefore I wonder if the program would run if the download did not occur or was corrupted?
    Thanks for detailed explanation.


    • As I said in this blog post, Bob, I would not encourage anyone who didn’t have completely reliable and fast Internet to turn on this feature. Exactly what would happen if you did turn the feature on, and the program couldn’t download the current database on startup, will have to be decided.

      Most likely the default action would be that it would NOT run, and tell you to try again later, but with an override option to run but understand that you were taking your chances that someone else’s work had been lost because of that choice!

  6. Thanks for this. One suggestion. Allow some kind of read only access to the data if the file is already in use by another person.

    • Interesting idea, will have to consider that. Of course, what they would have access to was the last backup, before that user started using it (and possibly making changes).

Comments are closed.