Readonly app

Hi, everyone.

Is there a way to write "readonly" apps which take user input but do NOT save any data to the sheets? Imagine an expenses calculator which would take several numbers from the user and then return the categories where it should reduce the spending. I don't want to save that data over privacy reasons.

Perhaps I'm overthinking this, but I thought about writing an action that would add a row with the data and then delete it afterwards.

Thanks in advance!

0 13 228
13 REPLIES 13


@fabiano_develop wrote:

Perhaps I'm overthinking this, but I thought about writing an action that would add a row with the data and then delete it afterwards.


Yes, that is one way to handle it but it doesn't completely alleviate the privacy concern.  It will be in the table briefly and if an error occurred it would be there for longer, making the data available to a user who happens to Sync before the row can be deleted.

You could eliminate the privacy concern in two other ways:

1)  Create a Security Filter on the table that hold the calculation results so that each user sees ONLY the entries they made.  The downside is that the data is in the datasource and the Security Filter could be configured so that some users see ALL the entries OR another app could be made to view all the data.

2) Set the calculation results table as a Private table.  This will create a sheet in the users own Cloud space that only they have access to.  No other users can see that data from the app....period!

Private Tables

Screenshot 2023-10-05 at 8.32.48 AM.png

Another option.. it sounds this is a public app. Then you could use the table option called "Filter all rows". Then you can be sure others won't be able to see any record before they are deleted with an action as you proposed.

It is a public app. It is a simple calculator (not an arithmetic one).

So, there is no way to get input from a user without saving it?

The challenge is when you need to forward the user based on the answers. If you just need to calculate something on the form view, that you can do with app formulas either with normal or virtual column.

Aleksi, thanks for your messages. I'm afraid though that you didn't understand my problem.

One more example: think of a health calculator where a user provides height, weight and body fat percentage, and the app returns a score plus some advice. These data are not to be saved.

My public app is a type of calculator (again, not like the desk type). It takes over 10 different numbers from a user and gives a result and some advice back to them. I don't want to save those numbers. The formulas are already in place and they work correctly.

Thanks again, everyone, for discussing this issue with me.

I do understand your case, I just thought you are trying to forward the user to a different view depending on user's response. If everything is shown on a form view, then don't give access to save it. That you can do with the validation. I agree it's not the nicest solution though.


@fabiano_develop wrote:

So, there is no way to get input from a user without saving it?


No, AppSheet has not yet been designed with this kind of feature.  

Neither of the options I mentioned above will work in a Public app.

There is one other possibility, you could use USERSETTINGS.   A user in a Public app can enter the 10 attributes (as luck would have it there are only 10 setting spots available) needed for your calculations in the USERSETTINGS section which are stored ONLY on that device.  No one else can see them but the entries made would be there the next time they opened the app - which I think is a convenience factor.

To utilize these, you would have a table with a single pre-existing row where the columns are all App Formula or Virtual Column based - i.e. no Form View required for input. 

  • App Formulas for static items such as messages.
  • Virtual Column for calculations using USERSETTINGS.

 You could then design a Detail view that either:

  • Shows a message they need to enter the USERSETTINGS if all required are not entered
  • Shows the calculated results and associated advice. 

To eliminate concern that the "Save" button on the Settings screen is actually saving their details out into the cloud, you could re-label the button from "Save" to maybe "Calculate".  Tapping the button would go right in the Detail View with the results.

Actually.. nice trick!

Thanks, Willow.
This already confirms that there is no way to not save input. By the way, google should do something about that. Not all input is expected to be saved.

Unfortunately USERSETTINGS would not work for me. The number of input values is over 10,  more precisely, 16.


@fabiano_develop wrote:

Unfortunately USERSETTINGS would not work for me. The number of input values is over 10,  more precisely, 16.


Look at your values and see if you can combine values into a single column, reducing the number of actual inputs needed.

 

I made few years ago a statistics app (sport) for a client and one Usersettings handled 5 or 6 different selections with one EnumList column ๐Ÿ™‚

EDIT: Mistakes with the selection were then handled with the validation.

I appreciate the suggestion, but unfortunately combining results would not be possible. Also, it looks like it would be a little clunky; UserSettings should store user settings. ๐Ÿ™‚

Thanks, everyone, for your contributions. I really appreciated them.

Top Labels in this Space