4 ms·
I worked on a local first version of an app I sell. I use CouchDB to store user data so it was pretty easy to implement because CouchDB will sync a local CouchD
by oblib 3y ago
I worked on a local first version of an app I sell. I use CouchDB to store user data so it was pretty easy to implement because CouchDB will sync a local CouchDB to the Cloud based CouchDB as soon as any changes are made.
That app is now 20 years old and over those years I've had users who quit using it call me years later to ask if I could give them access to their expired account or a copy of all their data.
CouchDB is easy to install and easy for users to configure for that purpose so I explained the benefits and provided simple step by step instructions.
I explained how this would make the app faster for them, provide a local backup of their data, and that it was possible our Cloud based CouchDB could be inaccessible for a variety of reasons beyond our control but their local CouchDB would be there for them and it would sync up any changes with the Cloud based CouchDB as soon as it was back online.
I also explained how this gave them a way to use the app for free after their yearly subscription expired, so I assumed most of the users would jump at the chance to set up the local first version of the app.
Not one of the app's users wanted to do that. They really could not have cared any less.
I still use it for my own account so it wasn't a complete waste of time but I was, and still am, a bit amazed that users didn't grasp the value in that.
- yonz 3y agoThanks for sharing your experience, what was the app? Personally, I don't think I would have gone through the trouble as well. For example, I used to have a ton of Evernote entries and don't think I would setup a personal CouchDB just to get access to it. A middle ground could be a file path to an sqlite file that can be copied, opened or backed up in the cloud.
- oblib 3y agoThe app is at ezInvoice.com. CouchDB is really a very good fit for that app. In the early versions of the app I used CGI.pm to store and get user data and that was very fast and efficient, and the format for storing data was similar to CouchDB's (JSON), so it felt more familiar for me to work with. I had never worked with SQL before making that app. I had a partner back then create a new version that used an SQL db. I did this mostly because I felt like the app wasn't keeping up with web trends and he had been pestering me to use SQL in the next version for about a year. What he ended up with was buggy to the point of users calling and screaming at me and after a year he still couldn't get it right. Back then news of SQL dbs getting hacked were common and after buying several books on SQL I realized that to be proficient required years of study and experience. CouchDB had just come out around then so I looked into it and for me that's been much easier to work with, and do so securely. It's practically designed for an app like ezInvoice. PouchDB.js has made it easy for me to work with. If you're already proficient with SQL there's probably no compelling advantage to using CouchDB/PouchDB, but it's a really good tool set for building web apps.
- yonz 3y agoNoSQL is definitely a breeze for data model use cases like that.
- mixmastamyk 3y agoSeems like one problem is that you didn’t set it up automatically and expected them to do it on their own. Regular folks aren’t going to do that kind of thing without pressing need. Harder when it’s primarily a web app, but customers can be convinced to try mobile/desktop apps at times. Maybe give a discount?
- oblib 3y ago>> Seems like one problem is that you didn’t set it up automatically and expected them to do it on their own. Downloading and configuring CouchDB on their PC isn't something I can do for them, but it's really simple and easy to do and I provided step by step instructions. I didn't charge them anything at all to get and use the offline first version of the app. They already paid for the online version (that's a yearly subscription fee) so there was no extra charge at all. They really were not at all concerned about a long term outage. I can understand that because widespread outages have been pretty rare, and the app has never been down for any significant amount of time for 20 years now. So I think it was really a lack of urgency.
- mixmastamyk 3y ago> Downloading and configuring CouchDB on their PC isn't something I can do for them, but it's really simple and easy to do and I provided step by step instructions. Innosetup is still a thing, and there are alternatives. Installers can take parameters, or be built on the fly. That's what we did at one place to install postgres and other apps for a customer, while making it as simple as possible. Next, next, finish. Discount refers to reducing the cost if they went thru with it, lack of an extra charge while nice is not an incentive in itself.