Skip to content
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

Regional keyboard variants #229

Closed
2 tasks done
wkyoshida opened this issue Oct 13, 2022 · 16 comments · Fixed by #236
Closed
2 tasks done

Regional keyboard variants #229

wkyoshida opened this issue Oct 13, 2022 · 16 comments · Fixed by #236
Assignees
Labels
-priority- High priority help wanted Extra attention is needed

Comments

@wkyoshida
Copy link
Member

Terms

Issue

Opening this issue to ask about regional keyboard variants for the same language.

As an example, some countries like France and Belgium use the AZERTY keyboard layout, the one implemented for the Scribe French keyboard. French Canada, on the other hand, uses a QWERTY layout. With that said, I was wondering if there were any thoughts on including regional variants as well. Using the example above, I could see someone in Canada likely wanting to use the QWERTY layout if their target language is French.

There can sometimes be minor differences even within layouts, e.g. the layouts for the Belgian and French AZERTY do. I do not think those differences would be as concerning, but at least the inclusion of distinct layouts, like AZERTY vs QWERTY, could be good perhaps.

Curious to hear thoughts! My initial assumption is that this wouldn't be too difficult to implement for existing Scribe languages. I believe the core language-specific functionality could be reused and the main differences would be in the keys layout? If planned work comes out of this discussion, I can help.

P.S. There can be other layout variants with other languages as well, particularly as more languages are added. I do not know all of them, but something to keep in mind.

@andrewtavis andrewtavis added help wanted Extra attention is needed -priority- High priority blocked Another issue is blocking and removed blocked Another issue is blocking labels Oct 13, 2022
@andrewtavis
Copy link
Member

Hi @wkyoshida! Thanks for the issue! I totally agree that regional variants would be really really important to include 😊 Hence the priority label.

I originally blocked this as I was thinking that #16 might be necessary to create a menu item for selecting the layout, but then normally these are selected as separate keyboards :) Let me check to see if it would work to create a separate French keyboard and give it access to the French data files that are already there. If that can work, then as you said this should be fairly simple to implement! 🚀 If they can’t be accessed easily, then this might be tough as adding new keyboards does add a lot if size to the app.

Ultimately the goal for later is downloading packs where you say what the target language is, what the source language is for what translation should be from, and adding an option of keyboard layout there would also be great. Regional variants would also exist for autosuggestions and completions too :)

Thanks again for reaching out! Looking forward to hearing from you more on this and other issues 😊

@wkyoshida
Copy link
Member Author

Ultimately the goal for later is downloading packs where you say what the target language is, what the source language is for what translation should be from, and adding an option of keyboard layout there would also be great. Regional variants would also exist for autosuggestions and completions too :)

⬆️ this is great! Thanks for sharing more of the vision for Scribe.


Concerning other notable variants, from what I understand:

  • Within French, there is also the QWERTZ layout used in Switzerland and Luxembourg.
  • Portugal and Brazil layouts for Portuguese have some differences, but they are minor.
  • Latin America and Spain layouts for Spanish have some differences, but they are minor.

Given the vision shared, I'd say the latter two could definitely wait, as their differences don't make them as distinct. To get to the point where one could choose their layout though, perhaps an abstraction could be used? One to make the keys layout a little less coupled even to the variant of the language (e.g. French FR vs. Canadian FR) - i.e. if they'd like, a user could set their target language to French FR, but also use instead the QWERTY layout commonly used in Canada (just throwing an idea out there). Some variants, like the French QWERTY mentioned in the OP, I think could be good to add earlier due to more widespread use, but with an abstraction in place, I could see adding more variants made easier.

Glad to help! Really like what's being done with this project 🙌

@wkyoshida
Copy link
Member Author

To clarify some concepts in my previous comment, I believe there could be two types of "variants" that could be discussed:

  • human language variants, e.g.
    • France French vs Canada French
    • Portugal Portuguese vs Brazil Portuguese
    • U.S. English vs Australia English
  • keyboard layout variants, e.g.
    • French AZERTY vs French QWERTY
    • Portuguese QWERTY used in Portugal vs Portuguese QWERTY used in Brazil

@andrewtavis
Copy link
Member

Thanks for all this, @wkyoshida! I was actually thinking or researching the above points, and you were kind enough to do it for me 🙏 I'll again check to see what the restrictions of adding a keyboard that uses the same data is, and from there we can see if the we can quickly make versions that the user can choose. I'd say that naming them like French AZERTY and French QWERTY would be good so we don't need to repeat countries that use the same layouts.

Glad to help! Really like what's being done with this project 🙌

Really appreciate your remarks here 😊 Has been a lot of work, but we're slowly getting some traction and it's all paying off!

@andrewtavis
Copy link
Member

@wkyoshida, just FYI on timing, I'll get to exploring this when I'm back from a weekend trip on Sunday evening/early next week 😊 Will first report back on whether the data sources can be shared, and if so we can plan on what the changes should be for the regional variants for the currently included languages 🚀

@andrewtavis
Copy link
Member

andrewtavis commented Oct 16, 2022

@wkyoshida, so as far as Canadian French we're going for the following? 😉

Simulator.Screen.Recording.-.iPhone.14.Pro.Max.-.2022-10-16.at.21.32.43.mp4

If this looks good, then I'd change the name of the original French keyboard to Français (AZERTY) and then we should be all good after some variable renaming 😊 How does this sound? I also fixed the accent character that was on the letter keys for French in both cases as it was ' instead of ´ :) (Edit: I also went back and made the size of the character on the key consistent across shift states, as I realized that was changing).

  • Portuguese QWERTY used in Portugal vs Portuguese QWERTY used in Brazil

Could you explain what the difference for these two keyboards is? I loaded them in on the simulator and couldn't tell the difference, but then sometimes the simulator also doesn't have an up to date version of some keyboards.

@andrewtavis andrewtavis self-assigned this Oct 17, 2022
@wkyoshida
Copy link
Member Author

so as far as Canadian French we're going for the following?

That looks good! 🙌 Glad it was easy enough!

Could you explain what the difference for these two keyboards is?

I believe the small differences would be in the locations of special characters. In iOS, for instance, Portugal has the as the primary currency symbol, which Scribe uses for its Portuguese keyboard. Brazil uses the $ primarily on the other hand. Desktop layouts would have some more differences, but it'd be special character positioning also. So like I was saying, I'm thinking these minor differences could be added later, as they're probably not as pressing since they don't involve the positioning of the "main" keys, i.e. the alphabet characters.

As far as closing this issue.. maybe we scope it to just the French QWERTY so it can get closed. Regional variants will naturally just have to be something to take into consideration. So perhaps we could:

  • Add a note in the New keyboard issue template with something like "Are there any keyboard variants that should be considered?"
  • Create an issue(s) to later remember to implement the minor variants for French, Spanish, and Portuguese discussed here.
    • Or just keep this issue open as a catch-all for all variants?

Anyways, I can do the two items above if we decide they make sense. I am still thinking though that some variants can wait until that abstraction to decouple the human language from the keyboard layout exists. What do you think?

@andrewtavis
Copy link
Member

Thanks for the feedback, @wkyoshida! I think that the currency symbol would be something that could be a menu option later on for if someone wants to change it. I could see a situation where someone uses the “France French” Scribe keyboard but is living in Canada and thus uses the dollar symbol a lot more often, in which case they could select it. One of the many things to include once #16 is done :)

I think that adding a note to the new issue template would be welcome. Just a free text field with the prompt you have and a title you see as fitting would be great. I’ll edit the current new keyboard issues when we have it figured out. Feel free to send along a PR, and once it’s merged you’re welcome to edit the ones in Android and Desktop, or I can do it 😊

I’d say let’s close this issue, and it you agree that the main currency symbol should be an option in the menu, then you’re welcome to open that issue (a feature issue that’s blocked by #16). We can also discuss further what would be best if you think that should go somewhere else! Your input is much appreciate :) :)

I’ll go ahead and do the changes to make the current keyboard known as AZERTY tonight and send that along. Do you want to review, or just commit and I’ll ping you in here so you can check it (I’ll also be sending along edits to the JSONs to reduce their size for #96)?

Thanks again! 🚀

@wkyoshida
Copy link
Member Author

I think that the currency symbol would be something that could be a menu option

Oh I see! Yeah, I think that makes sense. Along with the currency, keyboard layout, target language, etc that we've discussed already, it'll be interesting to think if there could be any other things that would make sense to make as options.

I think that adding a note to the new issue template would be welcome.

Sounds great! I can get that in today still 👍

I’d say let’s close this issue, and it you agree that the main currency symbol should be an option in the menu, then you’re welcome to open that issue (a feature issue that’s blocked by #16).

I think that makes sense! I think I might be on the same page as you - we could use #16 to flesh out what options could be good to include, but then use #16 to really only implement the MVP for the menu. Other options like the currency symbol can be separate issues to add menu functionality (I can create the issue for it).

I’ll go ahead and do the changes to make the current keyboard known as AZERTY tonight and send that along.

Yep! I can do a PR review for it. Let's get it 💪

@wkyoshida wkyoshida mentioned this issue Oct 17, 2022
2 tasks
@andrewtavis
Copy link
Member

Oh I see! Yeah, I think that makes sense. Along with the currency, keyboard layout, target language, etc that we've discussed already, it'll be interesting to think if there could be any other things that would make sense to make as options.

Ya there's so much waiting on the menu being finished, as you can see 😊

I think that makes sense! I think I might be on the same page as you - we could use #16 to flesh out what options could be good to include, but then use #16 to really only implement the MVP for the menu. Other options like the currency symbol can be separate issues to add menu functionality (I can create the issue for it).

Makes sense to me as well, and I'll jump into #16 after this as I saw you wrote in there as well :)

Yep! I can do a PR review for it. Let's get it 💪

Comin' up! 🚀 (in a bit 😅😊)

@andrewtavis
Copy link
Member

andrewtavis commented Oct 17, 2022

@wkyoshida, you'll need to write something within #236 for me to assign the review to you 😊

@andrewtavis andrewtavis linked a pull request Oct 17, 2022 that will close this issue
wkyoshida added a commit to wkyoshida/Scribe-iOS that referenced this issue Oct 18, 2022
andrewtavis added a commit that referenced this issue Oct 18, 2022
#229 docs: add variant info in new_keyboard issue
andrewtavis added a commit that referenced this issue Oct 18, 2022
…sons

#229 #96 adds french azerty and reduces JSON sizes
@andrewtavis
Copy link
Member

You're welcome to make an individual issue for changing the currency symbol, @wkyoshida 😊 I think that'd make sense so we keep it in mind and deal with that as a singular task, as it likely will be a bit involved when it comes to replacing the preset symbol in the keyboard interface :)

Thanks for your suggestion and all your help! Looking forward to the next issue! 🚀

@wkyoshida
Copy link
Member Author

I began writing up the issue details for the currency selection option, but then started thinking of some considerations.. 😆 Some initial thoughts:

  • Should there be a default currency per keyboard?
    • This could get interesting with languages spoken in multiple countries (i.e. which country's currency to use?)
    • Or perhaps, Scribe could potentially just quickly prompt the user for the currency symbol during a keyboard setup - if keyboard selection is implemented as such, to fulfill the vision shared earlier:
      • Ultimately the goal for later is downloading packs where you say what the target language is, what the source language is for what translation should be from, and adding an option of keyboard layout there would also be great. Regional variants would also exist for autosuggestions and completions too :)

      • The Home page could have a Set my keyboard up form-like walkthrough with the options, target language, source language, keyboard layout, currency, etc.
  • Should Scribe allow for separate currency selections per keyboard configured?
    • e.g. Let's say a user wants a German and a Spanish keyboard set up in their device. Should the user be able to use separate selections, like £ in the German keyboard and ¥ in the Spanish keyboard?
    • These selections would need to get saved. Perhaps the Set my keyboard up idea above could work in-tandem.

I can still create the issue, but wanted to have a clearer picture regarding the above. Let me know any thoughts!

@andrewtavis
Copy link
Member

  • This could get interesting with languages spoken in multiple countries (i.e. which country's currency to use?)
  • Or perhaps, Scribe could potentially just quickly prompt the user for the currency symbol during a keyboard setup - if keyboard selection is implemented as such, to fulfill the vision shared earlier:

Very good point, especially for languages like French, Spanish and Portuguese. I'd say let's plan on making it prominent in the keyboard options, and if we do give them the option to choose on data download, then there needs to be a preset value so that we don't lose people in the download funnel because they don't figure out selecting something 🤦‍♂️ (An aside, it's important to note that doing tracking for Scribe for things like this is inherently difficult, as we likely wouldn't be able to convey to the user that we're tracking for app improvement purposes and not recording their keystrokes. Because of this, we need to keep the eventual funnels simple.)

  • The Home page could have a Set my keyboard up form-like walkthrough with the options, target language, source language, keyboard layout, currency, etc.

See #130! 😊 Your input would be welcome! This is something the designer and I talked about extensively :) In short, that yellow button on the bottom that's now for the privacy policy should do exactly what you're saying 🚀

  • e.g. Let's say a user wants a German and a Spanish keyboard set up in their device. Should the user be able to use separate selections, like £ in the German keyboard and ¥ in the Spanish keyboard?

I'd say so :) Options on a per keyboard basis makes sense. It likely won't be too much more difficult to implement - populate a page with the options and export the selections - and there are some cases where a person would want this.

Feel free to make the issue and we'll take it from there!

@wkyoshida
Copy link
Member Author

Feel free to make the issue and we'll take it from there!

Sounds good! I created it and aggregated some notes from what we already discussed and other points I thought of later 👍

See #130! 😊

I see! I was under the impression that feature would showcase/walk-through some different Scribe details. Sounds great! I'll add some thoughts there later as well.

@andrewtavis
Copy link
Member

Thanks for the issue and the synthesis! 😊

andrewtavis added a commit to SaurabhJamadagni/Scribe-iOS that referenced this issue Oct 22, 2022
For French we need to reference the keyboard types now because of [scribe-org#229](scribe-org#229) as we now have a Canadian French layout. One way that I do this is to check that `controllerLanguage.prefix("French".count) == "French"`, but in this case I think it's fine to just list them in an array :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-priority- High priority help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants