-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[November 2019 or later] Describe new horizontal list appearances #125
Comments
Yes, it's good to re-think this.
Horizontal is more intelligent than compact, as it automatically determines the number of columns that fit on the screen (and changes when switching from portrait to landscape). It also shows radiobuttons and checkboxes.
That's funny (or sad). I have concluded recently that horizontal-compact must have been a mistake (the ref-table now shows it as an alias for compact and Enketo validate will show a 'deprecated' warning). But now, you've discovered that Too late now, but in hindsight, I think it would have made sense if we had done something like:
1-3 would be mutually exclusive and Hmm. We should change at least |
Thanks for the response, @MartijnR and I apologize for missing it! Agreed with your ideal and too bad it's too late to do. 😫 I've modified my initial table to describe How about making the primary name for that appearance (currently Then it would make sense for So we'd have:
Naturally, we could also add It would be better to have several appearances that combine but I don't think this is terrible. At least it has some logic to it! |
Welcome back @lognaturel! I think this is good pragmatic solution, and I think we need others' input too (@tinok, you were looking at the current mess the other day). 2 things I'm not sure about:
|
@MartijnR @lognaturel this is great. My ideal would be:
This would mean for select or select1 questions have have as well as (and any combination of these appearances) Thoughts? |
Glad to see this moving! While I agree that introducing an appearance to suppress select markers would be great if we were starting over, we can't change the meaning of That means we need to introduce something that adds the markers to those existing appearances. We could certainly do it as an additive appearance rather than introducing new appearances with suffixes. It feels backwards but perhaps it's still better than the concatenation. Certainly it makes the implementation cleaner. Agreed that my attempt to be precise with "select markers" is not common. I don't think of those markers as buttons but I could live with |
Thanks @tinok, @lognaturel. I was about to say okay to
So These appearance combinations remain unchanged:
We'd have to translate these for backwards-compatibility of old forms in new clients:
|
That seems fine to me! Collect has never had |
Great! Is |
Hmm. Yes, |
Ok, have spent some more time meditating on this and am not coming up with anything I like more than |
Me too, and reached the same conclusion. Any body else any opinion on these |
I really like the final suggestions here with the much simplified @MartijnR I find I'm guessing |
Thanks @tinok, ( Since we cannot change the meaning of the existing |
I'm going to come back to the suggestions I made earlier, perhaps with another word for
|
Thanks for the re-suggestion @lognaturel ;). I had to think about this for 28 days. Any thoughts on:
It avoids having to negate the button-hiding of Translations to be made from old syntax: compact-n > compact columns-n |
I would really prefer that in addition to old forms working with updated clients, new forms work with old clients. This is particularly important to me for Current Collect would choke on |
@lognatural, no it wouldn't. That's not much of a concern to me though (more of an advantage to force users to keep the client up to date - but maybe that's an extremist view ;)). So think this would be a totally acceptable temporary "cost" for the benefit of having more logical appearances. So maybe we agree to disagree here and we need somebody or somebodies to break the tie! |
Interesting! Even when in the Enketo case users are often at the mercy of some other entity for upgrades? The challenge is that something that is perfectly usable with |
Yes, because we have backwards-compatibility for the old syntax, we can document/promote the new syntax a month or so after adding support for the new syntax in Enketo/Collect. It's really more about when to announce/document the change, perhaps. Does a more extreme version of delaying documentation sound like an approach that may alleviate your concern about old clients? We could even wait 6 months with documenting the new syntax. We could have the PR waiting for you when you're back! :) |
Hehe. Ok, works for me. 😊6 months is probably a good time frame -- Collect users now upgrade quite quickly for the most part. |
Awesome! Thanks. Now, we'll just have to go through the same process for all the geo appearances (some day)... |
I updated the issue to make the action clear. Let me know if I didn't capture it as intended.
Are there others beyond I think there are some interesting discussions to have there. Users would like to do things like specify basemaps in the form which would be very useful. |
For geo, we've documented |
Sounds like we have a plan for the new select appearances. I was ready to
be the tie breaker :)
+1 to reviewing the geopoint appearances between both clients.
|
Have to say, compact-n - that is 'parameterized' appearances - dont really right to me... :-( It seems like the number of options should determine the (preferred) number of columns [and isnt this going to pretty much always be the case in practice?]. Otherwise, specifying column-n where n>#options is redundant. And if n<#options the form writer is basically try to 'fit' a maximum number of columns to a screen size - which they dont know the actual width of - so than any extra arbitrarily wrap. So I therefore dont necessarily see the (minor?) benefit of being able to specify n - instead of simply using the number of options - is worth introducing something dubious like parameterized appearances [do we allow them anywhere else?]. So I'm still more inclined to have separate appearances for column (vs list), button (vs no button), label (vs no label), and maybe flex vs something (which is only meaningful when associated with column) to indicate the horizontal packing of columns. [eg flex = size each column width to fit, max = columns equal to total width, ...] Wrapping options - which would be default behavior if only columns is specified (where each column is sized to fit) - would handled both a fixed number of options, or variable number if coming from an external choice-list. In both cases, I dont quite see the benefit of statically specifying a fixed number of columns in the form definition when the form writer has no way of knowing the screen width its actually going to be displayed on (yet alone landscape vs portrait) Anyway, just my $0.02 before we go down the path of further setting-in-stone something a dubious (IMO) as paramterized appearances... :-) |
We should see Probably best to hold off on documenting for a bit. Enketo Express is supporting these new appearances (and also the old ones for another year or so) from version 1.77.0 onwards. Some major Enketo servers (and their versions): |
We talked about 6 months before updating user-facing documentation so I tried to add that in the issue title in a sensible way. Feel free to edit if you see a better way, @MartijnR. |
New spec, as agreed upon after further discussion here and on the forum:
This is really three base appearances with
no-buttons
that can combine with them (in any order) but the table above lists all 6 possibilities so that old appearances can be listed.As of May 2019, both Collect (1.22) and Enketo (1.77.0) support all of these combinations. Documentation should be updated in November 2019 at the earliest when users will almost all have updated clients.
Various notes from the original discussion
### ODK Forum thread https://forum.opendatakit.org/t/spec-proposal-harmonize-compact-compact-n-horizontal-horizontal-compact-appearances/15565Tentative action to take
The following changes will be made to clients, maintaining backwards compatibility:
compact-n
>compact columns-n
horizontal
->columns
horizontal-compact
->columns-flex
In roughly April 2019, once users have updated their clients, change the documentation in the following way:
compact-n
,horizontal
andhorizontal-compact
should be deprecated.columns
,columns-n
andcolumns-flex
should be introduced.compact
should be an optional modifier on those.See forum.
Description
There are currently various appearances to make select options appear horizontally. Here is a test form illustrating these different appearances: https://docs.google.com/spreadsheets/d/1s79M4wsZ1QA5xwJWSEsTGoJCpjtrrdqP0NtpNeEmsPs/edit?usp=sharing
Here is how they currently behave:
compact
compact-n
horizontal
compact-n
but the number of columns is dynamically determined by the screen width and select markers are includedhorizontal-compact
compact
but with select markerslist
label
list
but labels onlylist-nolabel
list
but options onlyI'm guessing these were added organically over time and it would be good to formalize them a little bit before they get broader support.
I think
compact
andcompact-n
make sense as they exist and are named appropriately.I think
list
,label
andlist-nolabel
are a bit odd but not too bad.I'm not sure about
horizontal
-- @MartijnR what is its intended purpose in contrast tocompact-n
?The behavior of
horizontal-compact
(horizontal options with minimal padding and select markers) seems useful but the naming doesn't make sense to me in the context of the other appearances. How aboutcompact-markers
or something like that?The text was updated successfully, but these errors were encountered: