0

I am building a mathematical web application, that gets as input a large matrix of numbers, and does some mathematical calculations on it. The common ways to feed input into such an application are:

  1. An HTML table widget, where the user can directly feed the numbers.
  2. Uploading a file, e.g. in CSV or Excel format.

The problem with approach 1 is that, since the matrix is large, the widget may be inconvenient to use. Moreover, it may be inconvenient for the user to save the data for later use, try several different matrices and then return to previously tried matrices, etc.

Approach 2 is better in that the data is always saved on the user's computer, and the user can edit it with any tool he or she likes. The problem is that, if the user wants to make a small change and run the calculations again, the file has to be re-uploaded each time. Also, the file may have formatting errors.

I thought of a third approach: the user feeds the data into a Google Spreadsheet, and then feeds the spreadsheet URL to my application. My application reads the data directly from the spreadsheet using Google Cloud API (see this video for explanation). The advantages are that the data is always saved on the cloud on the user's account, it is easy to edit, and it is easy to make small changes and re-calculate. The disadvantage is that, in order for this to work, the user should share the spreadsheet with a special email address, generated by Google Cloud platform for my application (see the video above).

My questions:

  • Is the idea of using a Google Spreadsheet for feeding input into a web app reasonable?
  • Is there an existing web application that uses a similar approach?
  • How can the approach be made more user-friendly?

1 Answer 1

1

Is the idea of using a Google Spreadsheet for feeding input into a web app reasonable?

I think using a Google Sheet as an input is reasonable. However, some people might have legitimate privacy concerns about being forced to use a Google account in order to use your web app, given the company's increasingly poor record on user privacy. If you want to use Google Sheets as your primary input method, I think it would be good to support something like csv upload as a secondary method.

Is there an existing web application that uses a similar approach?

Appsheet is a service to make custom apps without code, and one of the primary methods for storing data for your custom app is to use a Google Sheet. Other types of databases can be used, but the whole service was actually acquired by Google.

How can the approach be made more user-friendly?

You can give users the opportunity to sign in to your application with Google (Assuming you're forcing a sign in). I don't have a lot of experience with this, but if you're using the Google Developer platform, you should be able to have users delegate certain permissions to the app when they sign up, which would save them having to take an extra step to share their document with your specific email. If the user is connecting their Google account, they could presumably search for existing documents in their Google Drive to use as a data source (I've seen this in the Notion app, for instance).

Another less code intensive idea is to give the user downloadable templates to use for their data. This could be in both a Gsheet and a csv format, assuming you are using multiple input methods. This would potentially solve some problems with formatting errors, which could crop up in a Google Sheet as well as a csv.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.