Keyboard optimization (mobile versions)

Good morning,

I developed a Laz keyboard for my community and while I believe the PC version is great, I believe the reception for the mobile version has been rather poor.
I have to admit it feels a little bit clunky and delayed at times, so I was wondering if someone could help me iron out potential mistakes I have made whilst developing it.
One area I believe I could change is the overall layout - whilst developing the keyboard, a few people I had interviewed before wanted the Turkish letters available (along with the Laz letter ʒ). I personally believe writing with this keyboard on my smartphone is more challenging now with the additional letter, and I have been thinking of removing all Turkish letters (that don’t occur in Laz) and I’d keep the Laz letter where we currently have letter ö (or ü), and move those as additional letters und their main letter (o and u respectively).

I also changed a lot of the key sizes for the smartphone version and I am not even sure if I should have done that, or if the system simply adjusts automatically.

In addition (mobile version), I am currently developing a verb conjugator for our language and once we’re out of the beta testing phase (probably by the end of this year), I wanted the system to generate all verbs the conjugator has included so far and add those to the dictionary of my keyboard, helping with the spelling. Would this be a good idea? Would it also be able to download a Turkish dictionary, as many people would like to be able to write in Turkish and Laz using the same keyboard (this would also help with the removal of ü/ö, as the system would automatically detect what word the user was intending to write).

Thank you for your continued support!
Best wishes,
Okan

Welcome back to our community @Okani,

We have a keyboard repo that you could submit the updated layouts to, then it will be easier to let our team see and help with the key sizes and more.

The keys on the mobile layout will be large or small according to the size that is set in Keyman Developer. Would you be able to allow Users who are familiar with the language to type with it first and adjust accordingly?

Keyman has the Turkish keyboard and the Laz keyboard which has two different supported languages. So, you could be adding two languages into one keyboard by doing that?

@Lorna might have the answer for this one. Would you be able to give an insight into this?

Thank you!

I think I agree that removing the Turkish language and Turkish only characters would be wise. You have 12 keys on the top row. I think 10 keys might be a better thing to aim for. You shouldn’t need to resize keys, let Keyman choose the width of keys based on the device. I’m not very available this week and next, but after that might be available to help if needed.

Then people can just switch to a Turkish-only keyboard for the Turkish language. That would also make developing a lexical model for Laz a benefit on the Laz keyboard.

A standard Turkish keyboard (like the one attached) has 12 keys be default; I personally believe it’s too much but the majority of people in Turkey use it that way, so I’m not sure what to do about it!
In fact, my Laz keyboard only adds one more key to the layout (the ʒ key in the middle row) so I’m not sure how much more user friendly it would turn out by removing the Turkish-only letters.

As for the lexical model, my default keyboard on my phone combines three models at once; would it not be possible to combine Turkish and Laz in the Laz model?

(attachments)

Sorry for the double post, while I’m trying to push the new letters (to have the same Caron used for each letter), I noticed that lowercase t with Caron didn’t work:
U+0074 + U+02C7 (lowercase t̆ with proper caron)
Is there a way to ‘create’ this letter?

U+02C7 is not a combining mark.U+030C is a combining caron.

Thanks Lorna, I guess what we would like to have is an actual Caron, not an apostrophe (in terms of shape), see attached for an example.

Is there a way to create this letter? ť is not the letter we traditionally use.

Oh, I think that is a bit of a problematical character for non-European languages. Most fonts do automatically turn the lowercase one into a t with an apostrophe rather than a t with a caron. You can package a font with the keyboard package to produce a font with the right glyph shape, but people always have to use the special font. Another user was trying to find a solution for the Laz language also. I don’t know if this orthography is set in stone, but if they don’t like the apostrophe they are stuck with using specialty fonts unless they choose a different character.

I did create a special font for them that made the “t” have a caron on top. It is in the Keyman repo here: keyboards/release/shared/fonts/sil/charis_sil_colchis at master · keymanapp/keyboards · GitHub It’s called “Charis SIL Colchis”. You could try using it and see what people think.

It is this keyboard that uses the font: Colchis Latin keyboard The user wasn’t too happy with this solution. However, there aren’t really good options for using this character with the shape you desire.

Thank you for the insight! I believe we will continue using our current t then.
I removed all padding and width specifications, but I am not too happy with the outcome:


Are you sure we don’t need any padding/width specifications?

Edit:
I am opting for this design now (more or less):

I think it ultimately comes down to the lexical model; if I could expand on that, people would have an easier time typing in Laz.

I think you will want to change the width of the spacebar key. To the right of the display in Keyman Developer there is a summary of the total widths that can help you adjust the size. Any key without a width defaults to 100 (but that’s a relative value when it comes to the actual display). The rightmost key in the row gets stretched to fill the length of the longest row.

Thank you for this! Before I look into it but before I do I was wondering how frequent keyman updates their software? The official update hasn’t gone through yet and my dictionary merge request is also still pending.

I don’t see any outstanding Pull Requests from you on the keyboard. If you refer to this one: Add files via upload by okandale · Pull Request #3206 · keymanapp/keyboards · GitHub you closed it. Was that accidental?

Hi Lorna, I’m referring to this one:

Sorry for the delay in reviewing this pull request. See comments there.

Thank you for the support!

Could you perhaps confirm when keyboard changes get updated on the user end? I need to update a website (conjugator) I’m working on as soon as the letters change, but as of now, all my devices still use the old keyboard version.

As far as our software goes, you can follow the blog to see what gets updated: https://blog.keyman.com/ and/or you can “follow” the keyboard or lexical-models repo so you get notifications.

As far as our software making significant changes that require an update to all keyboards, we’ve only done that once in recent history when we tried to reduce the number of files needed (getting rid of keyboard_info and moving all that information to the .kps file.

As far as us reviewing your pull requests, that is dependent on the people who review pull requests and whether we have the time. Sometimes we will be quick and sometimes we have other responsibilities that make us have a delay. I’m sorry for that, but as long as Keyman is dependent on volunteers, we just have to live with it.

Hi Lorna, thank you for the detailed response!

I was mostly referring to my PC version of the Laz keyboard - how do I (and other users) update the keyboard? How do mobile users update theirs? Do they just open the app and get an prompt to update their keyboard?

Thank you!

On Windows, Keyman checks for keyboard (and app) updates weekly. On iOS and Android, it is similar, although because the apps are not opened frequently (being used mostly in a ‘system keyboard’ mode), sometimes background updates won’t occur until the user opens the app again.

(On Linux and macOS, we do not yet have automatic updates – another feature waiting for capacity for us to implement)