asterics / AsTeRICS-Grid

Free and simple to use app for augmentative and alternative communication (AAC) with offline support, flexible input methods and media access
https://grid.asterics.eu/
GNU Affero General Public License v3.0
56 stars 20 forks source link

Customise cell Text Format #168

Open arasaac-dga opened 2 years ago

arasaac-dga commented 2 years ago

The idea is to add the following cell text customisation options next to the current "Convert element labels" option to "Element labels":

1) Position of the text in the cell (top or bottom). 2) Font Family 3) Font size (in factor mode as in accumulated phrase) 4) Font colour (with black and white as a main colours and a simple optional palette to choose)

klues commented 2 weeks ago

I've started working on this (as part of replacing the whole grid layout library with something better). Now I'm wondering about the details for the options of showing the text. See this screenshot, original at the top, my new experiments at the bottom:

grafik

For now I'm just using a fixed font size at the bottom. My questions are: what should be default behavious and what should be configurable with which options?

A suggestion for possible options:

@ms-mialingvo and @arasaac-dga please tell me what you think.

ms-mialingvo commented 2 weeks ago

Thank you!

font(-family) probably is whatever the browser's font is so it would be possible to change that there?

arasaac-dga commented 2 weeks ago

Great!!! Good addtion. Our comments:

We add two more options one of them, the most requested:

In case of long long texts if after all the settings are longer than cell space, the best would be to truncate and add ...

ms-mialingvo commented 2 weeks ago

I made an error in reasoning, I think. If the maximum lines is set to two, I guess the system recognizes if a second line is needed and only adds it if it's needed? For some reason I thought having two lines as default would mean it would add an empty second line if the word was too short, which is why I said 1 line as default. If the system adapts automatically, though, I too am for 2 lines as default.

If setting up font-family is a possibility, it would be important for me that one of the font is a font with the double-storey |a| and one is one with the single-storey |ɑ| (e.g. Futura) and that it still would automatically switch to the needed non-latin font (e.g. arab, devanagari) depending on the language of the board.

I didn't mention text position as it's listed in the first post but that sure would be an important option too.

ms-mialingvo commented 2 weeks ago

Font-family and text position would be enough to have as global option only, I think.

And then maybe font-size, line-height and maximum lines as both global option both as well as option on individual cells? I'm not quite sure if all 3 would be needed for individual cells. What do you think, arasaac-dga?

Would the line-height automatically fix issue #403, @klues ?

arasaac-dga commented 2 weeks ago

If the maximum lines is set to two, I guess the system recognizes if a second line is needed and only adds it if it's needed?

We also understand that although is set by default in two lines, the system automatically will use only one if two are not needed. The idea is set the max number of lines but not the lines that must be used.

If setting up font-family is a possibility, it would be important for me that one of the font is a font with the double-storey |a| and one is one with the single-storey |ɑ| (e.g. Futura) and that it still would automatically switch to the needed non-latin font (e.g. arab, devanagari) depending on the language of the board.

Yes we agree. It's neccesary to offer fonts that are suitable for some languages as you comment. Perhaps it would be interesting that the system sets, by default, a font-family for some content languages or that, the font-family list of fonts, list only the font that are suitable for those languages.

Font-family and text position would be enough to have as global option only, I think.

And then maybe font-size, line-height and maximum lines as both global option both as well as option on individual cells? I'm not quite sure if all 3 would be needed for individual cells. What do you think, arasaac-dga?

We are worried about introducing more complexity in communicator management. That's why we think that font-size, line-height and maximum lines must be only as global options. Introducing more configurations in cells makes everything more complex for managers that, in our experience, have low technical level.

ms-mialingvo commented 1 week ago

So, I just casually stumbled upon a board set that has the labels to the right of the image. I don't know what the reason is for that person to create it like that. However it reminded me of #57 and for that one, it would be helpful to have that option. Like for some users, it will be more helpful to have the different steps not from left to right (or right to left in Arab) but from top to bottom. And then it would be better if the text was on the right of the image (or left in Arab). The question is, should right/left position only be possible for such procedure plans or for all buttons, like is it easier to just programm it right from the start as option for all buttons? (Also, at that point the position should also become editable not just per set but per button)

We are worried about introducing more complexity in communicator management. That's why we think that font-size, line-height and maximum lines must be only as global options. Introducing more configurations in cells makes everything more complex for managers that, in our experience, have low technical level.

I think the way the editor is re-arranged and set up will have a big impact on that. Like for example in TD, most options are editable on set level, on page level and on button level. These are therefore a lot of options. However, because the settings are organised visually exactly the same for each level, it's really easy to understand and quite intuitive.

klues commented 1 week ago

Thanks for all your comments and thoughts! 👍

Instead of answering to everything separately I'll try to summarize all options and possibilities (also for me to have something to look at while implementing):

What should be default for text position and color mode? My feeling is that position top and color border are preferred for most people, but probably we shouldn't automatically change it for users with the update, should we?!

Would the line-height automatically fix issue https://github.com/asterics/AsTeRICS-Grid/issues/403, @klues ?

Currently I have some extra logic, which tries to increase the font-size of single character elements which is intended for keyboards. I would like to remove this extra logic and only use the new options. For this case 2 questions:

For the question of how to arrange options and settings, I have opened a new issue to discuss this separately: https://github.com/asterics/AsTeRICS-Grid/issues/452

arasaac-dga commented 1 week ago
  • font-color: at least black, white and yellow, but maybe simply freely definable like grid and element background colors (probably even easier to implement)

Yes, we consider that, for other colors, different to black, white and yellow must be defined at grid or cell level only. Globally has no sense.

What should be default for text position and color mode? My feeling is that position top and color border are preferred for most people, but probably we shouldn't automatically change it for users with the update, should we?!

For us, text position on bottom by default as is now and color mode with backgroud color as is now too. Most of the commercial communicators use background color by default and is most used option (although we understand the need of frame color as option).

Anyway, IMPORTANT, when you update Asterics with format text, the most important is that people don't see changes in their actual design. So, for example, if you decide, finally to set as default text on top, when you update don't chage this option for people. The same with others like line-height,font-size,.... It's important that the update is the most transparent as possible without generate "important" changes.

  • probably the most coherent solution would be to add the possibility to set line-heigt / font-size also for grid-level and therefore being able to increase the font size only for keyboard grids.

Yes, although we are not in favour of introducing more settings in order not to introduce more complexity, we agree that some formatting (appearance) configuration of the grid specifically will be necessary by modifying, as you propose in the other issue #452 the current resizing window of the grid. It is important that boards like the keyboard ones, for example, look good and have their own specific configuration since they can be single-letter keyboards, multi-letter keyboards (in Spanish no more than 3) or keyboards where we use pictograms/images.

All the other options for format text/cell we agree with the proposal.

arasaac-dga commented 1 week ago
  • text position: top (default) / bottom, maybe also left / right, if not too complicated to implement

We forgot to comment that we don't see the need of right/left text as global option for any case and in any case as global option.

ms-mialingvo commented 1 week ago

We are talking about font-size, but might image-size instead with automatic adaptation of font-size give more flexibility? "Let user define 0-100% of height of image/symbol, the font-size of the label adapts automatically to fit within the remaining space." #28 (0% image-size would then also equal to "hide all images", there was an issue open for that) Or does it end up being the same as it needs to add to 100% anyway?

We forgot to comment that we don't see the need of right/left text as global option for any case and in any case as global option.

As I don't know why pagesets with left/right text do exist, I'd have to ask actual AAC users first. It's a pity that there aren't more AAC users active in here.

For us, text position on bottom by default as is now and color mode with backgroud color as is now too.

Same.

arasaac-dga commented 6 days ago

We are talking about font-size, but might image-size instead with automatic adaptation of font-size give more flexibility? "Let user define 0-100% of height of image/symbol, the font-size of the label adapts automatically to fit within the remaining space." #28 (0% image-size would then also equal to "hide all images", there was an issue open for that) Or does it end up being the same as it needs to add to 100% anyway?

We consider more transparent for users config line-height as is planned (inside a global text configuration) and don't consider it useful to change the configuration to the image. We don't see the need to configure images globally and their size (don't see the need to set it to 0% to hide all the images). So, we prefer to continue with the actual way to configure Text-Images from Line-Height. It's more logical for us. 

klues commented 3 days ago

I also think that line-height makes more sense, since it's more clear what happens if there is more than one line (property maximum lines):

But in the end it makes no difference regarding flexibility, you could still set line-height to 100% in order to hide images.

arasaac-dga commented 3 days ago

Totally agree @klues !!!

ms-mialingvo commented 14 hours ago

But in the end it makes no difference regarding flexibility, you could still set line-height to 100% in order to hide images.

Alright.

I've been trying to figure out about the right/left labels and haven't been able to get any proper answer as to why this could be useful in some cases. So for me then, it also wouldn't be necessary to have right/left labels as global option, just for individual cells.