Suggest Appsheet editor update an private formula toolbox like Appsheet Toolbox

Hi, Team Dev cc to @lyzeth @lizlynch @Arthur_Rallu ,

Because The Appsheet Formulas are very new and there is no standard rule for all functions. So Appsheeters often use another extension from a third party like the AppSheet Toolbox to support them in typing formulas quicker and correctly. With the AppSheet Toolbox extension users can manage table names, view names, suggested formulas,  table names, or view names to insert in the formula easier.

https___s3.amazonaws.com_appforest_uf_f1611355337914x224517058045752060_ASTXCOVER.jfif

Unfortunately, recently there is un-convenient with this extension that the Appsheet toolbox is often cracked or disabled when Chrome or Browser updates to new versions. So, users have a lot of trouble typing formulas because there are no suggestions from the software.

Captura de pantalla 2023-02-11 a la(s) 22.10.56.png

I hope Appsheet Team Dev will combine the AppSheet toolbox with the Appsheet editor or develop a similar tool to solve problems soon.

Thanks

23 46 2,866
46 REPLIES 46

Vote

Very badly need this 

@ hien_nguyen thanks big.

Vote!

Vote

JOHNN_0-1676428430074.png

As you are currently utilizing the Appsheet Toolbox and lack the authorization to preview Appsheet's latest features, you may not be aware that Google has incorporated a formula suggestion functionality into Appsheet. Therefore, kindly wait until your account is updated to access this feature.

 

Vote

Vote

Vote

Vote!

vote!!!

Hi @hien_nguyen! Your concerns are very valid, and I am happy to let you know that we are actively working on improving the Expression Assistant.
Expressions are a difficult yet crucial aspect of AppSheet and we are looking to provide a solution that helps both new and existing users.

Some features we have been working on:

Column Suggestions
6bbcd3f2-32e6-4e86-a5b7-09a9c204f5da.png

Function Suggestions

ff05259b-6547-4079-ae22-080d6e7bd9ed.png

Context-aware Function help
Context-aware Function GuideContext-aware Function Guide

In-Editor documentation

In-Editor documentationIn-Editor documentation

Some of these features have been released experimentally to a subset of new users, but none are officially released to all users quite yet. We hope to do so in the coming weeks/months.

In the meantime, if anyone is interested in trying these features pre-release, you are welcome to message me your AppSheet ID and I can give your account access. We would love your feedback on the new experience! (However, please be aware that due to the nature of this being pre-release, there may be more changes / less stability in this area than you are accustomed to and we cannot guarantee that all functionality will be supported long term.)

I fully expect all of this to make my life worse. Ugh.

Hi Steve,

Could you elaborate why? Honestly, you're such a key contributor, and we'd like to hear some of your thoughts on this. 

Some of the gaps we're attempting to bridge is to:

  • Make it easier for beginners to learn and successfully execute an expression
  • Improve (or at least not interfere with) the scripting process for the expert users, such as you and the frequent contributors in this community.

We're trying to ride this line between giving experts what they might need and want, while perhaps streamlining an experience for beginners and use cases for much simpler formulas. 

I would love to try this feature

Thank you so much. I am waiting to try this feature.

I would like to try this feature! Thanks!

Already trying it, and it is great! Not a priority but could we have at some point the option to turn it dark mode? ๐ŸŒƒ

I just want to add 2 cents to this.
If you are not willing to make the effort of creating a tool that has at least all of the features the extension from QREW has, don't bother, seriously.

At least try not to be rude by breaking things that their extension depends on just because you think you are working on the "official" thing.

If you really want to make things useful, hear your customer's voice while current behaviour is left unchanged, and just deliver/deploy your changes when everything is absolutely tested to be a better tool than was already available before it's inception... you know, the opposite of most things lately

Hi @SkrOYC,

 

We do not plan to exactly replicate the QREW tech extension. Rather, the aim is to improve the expression writing experience for all AppSheet users. Users who don't use the extension will get a vastly improved experience from a simple text box.

Extension users will get a different experience, better than QREW tech in many ways, but not identical. We acknowledge that some extension users may wish to continue using the QREW tech extension,  and we have been in communication with the QREW tech team to help ensure that their product can continue working as long as they would like it to.

I'm glad to hear that you are in talks with QREW in order to keep supporting their tool, kudos for you and the team for that.

Afaik, they are using CodeMirror to provide such a neat experience inside the editor. I'm with you in the fact that any improvement to the current "just-text" expression assistant is good, but you have to admit that the "just-text" expression assistant is just a shame to work with, period. Most of us, the ones that live doing this, have been using QREW's tool since we found it, and it's not just the fact that it's better than the "just-text" thing, it's because it offers the good amount of features for us, and that brings us back to the beginning, CodeMirror.

Please consider that these are the minimun set of features that serious AppSheet developers would need:

  • Syntax highlighting for the AppSheet "language". QREW solved this using Ruby and injecting a list of all AppSheet functions, views, etc afaik.
  • Indentation, hopefully configured to fit our needs/style. 1, 2, 3, 4 spaces per tab, etc. This comes aside the next point:
  • Monospacing, obviously.
  • Suggestions for Functions as well as View names, Action names, Table and Slices names and columns.
    • We should be able to open/close this by using something like Ctrl/CMD+Space
    • Ideally we should be able to separate functions from the rest by having some smart algorithm working with this, so that it understands context within our expressions. Using [ to make the expression assistant aware of columns is good, but not enough, since it's not the only way we call columns. This could also be a good opportunity to help new developers when dealing with column types by limiting the suggestions to just what is needed/acceptable whitin the expression context BUT this needs to be done by a very experienced AppSheet developer inside the team because you may not be aware of all the use cases (common example, using children records inside a SELECT() instead of a Table/Slice)
  • A way to see the row number inside the code, mentioned by other user above. This is the number that is shown when you add a line break inside the code. If you are not aware of this, please use QREW's tool.

If I can think of more things, I'll let you know

Edit: Removed Actions names from the list of suggestions for expressions

@SkrOYC Thank you for the detailed breakdown of Expression Assistant features you find critical. This is very helpful. A lot of this we have already built / thought of, but a few of these features we had not planned/not considered building (and now we will strongly consider them).

 

  1. Syntax highlighting: yes
  2. Indentation: hadn't considered, but seems like a reasonable request
  3. Monospacing: yes
  4. Suggestions: Yes for table names, column names. Planning to add support for view names / actions soon
  5. Closing Suggestions: good request
  6. Context dependent suggestions: Yes
  7. Row number: What about this do you find useful? 

 

Hi @wabrian ,

I see new formula expressions appear on some of my apps. But it seems that it is not really convenient for the user as the AppSheet toolbox. The new formula box just suggests expressions like excel and google sheets, It is not suggested all formulas, table names, view names, and define spacing row lines number as AppSheet toolbox.

I hope AppSheet will soon update to complete the formula typing support feature for the earliest users.

Thanks 

Yes, agree, would be nice to have autocomplete, speccially for brackets () [].  Also support for indentation. I guess both features are already somewhere down the roadmap but just in case. 

Thanks for the constructive feedback @hien_nguyen! Let me try to understand your feedback better so we can best address the issues you raise:

1) Formula suggestions
I believe we are suggesting nearly all valid AppSheet formulas. Are there one's that we are missing?

2) We suggest table names in some contexts. Could you provide an example where you would expect to get a table suggestion but are not getting one?

3) View names: we have not yet added support for this. We will try to in the near future.

4) "define spacing row lines number" Could you rephrase that for me?

Hi @wabrian @mikef @Mike_Moss ,

I have tried typing the formula using both the AppSheet toolbox and the AppSheet formula box. The result of typing formulas with the AppSheet toolbox is twice as fast as typing the formula with the new formula input of the AppSheet.

Please update some features for the new formula box as below:

1. Accept Using Tab key for choosing suggested value, and suggested function instead of clicking to choose.

2. Accept Using Tab key to increase indent or decrease every row

z4028795337769_f992235a1fc75d869274c8f3883cd06d.jpg

3. Add numbers at each row for easy controlling formula.

4. Auto define value type in Blank () or [] istead of user manual typing .
5. Group formula as app script function.

z4152759550372_9988021696289bffb93b2b17dddaf832.jpg

Thanks,

Hien Nguyen

 

Great suggestions!

1) Currently you can use the Enter key. There are some accessibility concerns with using the Tab key, but at the same time most users expect to use the tab key.
"By default, CodeMirror does not handle the Tab key. This isn't an oversightโ€”it is an intentional decision to make the default configuration pass the "no keyboard trap" criterion of the W3C Web Content Accessibility Guidelines."
We are still deliberating on the best course of action here.

2) That seems reasonable
3) Would you be willing to elaborate on how line numbers help you?
They are easy to add, but I don't immediately see the value they provide. Typically, the main value add for line numbers is quick navigation in a multi-hundred line file and ability to reference line numbers in error messages (we would like to eventually provide that functionality, but we are not there yet)

4) I don't quite follow what you are saying. Are you saying you would like () and [] to autoclose?

5) Again, I'm not confident I understand what you are saying here, my apologies. Are you asking for the ability to define a custom function, similar to the snippets functionality provided by the extension?


@wabrian wrote:

3) Would you be willing to elaborate on how line numbers help you?


I frequently reference line numbers when I'm adding/moving/deleting subexpressions across different nodes within a long multiline expression with multiple parallel and hierarchical nested levels.

Hi @wabrian ,

the new AppSheet function box doesn't suggest specially for brackets () [Table] or [Column name] or "Column" are not as good as Appsheet Toolbox.
Besides that AppSheet doesn't have a standard rule about naming columns, and table names for all the functions that depend on the function that you use, so users are often confused and confused about how to name the table and column names between this function and that function.

Steve
Platinum 4
Platinum 4

@Mike_Moss wrote:

Could you elaborate why?


Steve_0-1677878063668.png

How can I think your team (presumably--hopefully!--multiple people?) can develop this tool competently when something as basic as indentation hadn't even been considered? What developer doesn't care about indentation? Has anyone on your team actually written AppSheet expressions? Have you bothered to examine expressions already in existing apps? Or even those posted here in the community? Indentation is common and absolutely critical for clarity. You know that.

Whatever you come up with needs to stay out of my way. Don't force me to choose from, cancel out of, or type over suggestions--I don't want suggestions at all. Don't pop up anything that obscures any part of my expression. Don't require me to take my hands off the keyboard as I compose my expression. I use an external keyboard and separate external mouse--don't assume I'm using a laptop. Don't assume I want tabs for indents, or that I prefer spaces--let me choose. Don't do anything that makes it difficult to highlight and cut and paste, like making function names clickable to get help.

Best case, yours works as well or better than AppSheet Toolbox and I can do everything from within Expression Assistant. Worst case, I'll just compose expressions in an external editor like I do now and paste them in. Oh crap, would you reformat--or unformat!--what I paste in??? The Community does that if I don't paste my indented expressions in the right way.

Steve,

Thanks for your candor on this.
As far as implementation, we are using codemirror, which means we have access to the standard settings that text editors / IDE's use. I say this as @SkrOYC had mentioned re: codemirror.

The vast majority of AppSheet expressions are written on a single line, hence the lack of prioritization of indentation and line numbers.

Maybe that's literally true in terms of percentages, but multiline expressions (and single line expressions that would benefit from multiline features) are no outlier. They easily represent a critical mass. Based on questions posted in the community, that's true even for comparatively basic apps and novice users.

Agreed @dbaum. I was providing insight into why this wasn't previous planned, which was an oversight on our end. I hope to support this shortly. Thanks for helping us create a better product!

I kept saying the current Expression Assistant is broken completely and adding additinal works to the users which is making story worse.

However, no further action is make. Because ; -

  The guys who originally developped that is already left from AppSheet Team
  Nodoby is taking over.
  AppSheet never used the platform daily, so does not notice how it is currently difficult to deal with editors.

Probably there will be more reasons but surely they are all from Google internal problems.

 

Hello @wabrian @Mike_Moss 

Please give us an option in the App Settings to turn OFF the Expression Assistant.


@wabrian wrote:

The vast majority of AppSheet expressions are written on a single line


Could we have access to this statistics? It's actually calculated internally? It's considering both prototype as well as deployed apps? It's considering the vast majority of trash apps made by someone trying to understand what this platform is all about?

To be honest, 90+% of the time I use at least 3 lines

@SkrOYC No ideal from where are they coming up with this kind of conclusion. Can understand now why soo many issues these days in AppSheet.

@SkrOYC We have no plans to publish these stats unfortunately.
We looked at expressions in apps that have multiple users.
I suspect it varies strongly by user.

Top Labels in this Space