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

Support Predictive Text #1

Open
flide opened this issue Dec 25, 2016 · 8 comments
Open

Support Predictive Text #1

flide opened this issue Dec 25, 2016 · 8 comments
Assignees

Comments

@flide
Copy link
Collaborator

flide commented Dec 25, 2016

The keyboard should be able to support candidate view as the user is typing text into a field, the number of suggestion would be 3 as was in 8Pen. Also selection of a candidate can happen in 2 ways, either touching the candidate directly or as was in 8Pen, you move your finger from the circle to the sector (left, right and top only) and then back in the circle.

@flide flide modified the milestones: Iteration 5, Iteration 4 Oct 19, 2020
@flide flide modified the milestones: Iteration 4, Iteration 5, Iteration 6, Iteration 7 Oct 28, 2020
@flide flide changed the title Support Dictionary Support Predictive Text Oct 31, 2020
@reacherjack422
Copy link

A possible option would be a scrollable (pull bar with finger) suggestion bar so you can have more than 3 suggestions.

A possible easy implementation might be to let the user make their own dictionary by adding words individually or importing another dictionary. I believe there are .txt or csv files out there with 500 or 1000 most common words in various languages.

@Aq32
Copy link

Aq32 commented Nov 3, 2020

I think more predictive text suggestions would be better otherwise people will be frustrated adding their own words in all the time. Although there could be a problem with the app speed or memory usage if you add too large a dictionary.

How you implement the predictions/suggestions bar could be customisable too. I think a "scrolling page" would be too distracting because it means that the predictions are too off base and the user will waste time trying to find the word. However, I also think 3 suggestions only would be too limiting.

So what could be done is after you let go of the circle you can touch the suggestions bar (of X user chosen number of immediately usable suggestions) and drag downwards/pull down and release the suggestions bar to reveal Y (user chosen number from options) rows of extra suggestions. If in the X*Y number of suggestions isn't enough then the user should add the word/phrase themselves. The important thing here is customisability but I want to stress that it's a bit counterproductive if you're spending so much time trying to find the word/predicted phrase that you need to scroll many guesses.

Regarding adding words/suggested phrases the user could click and highlight/select the input text area text to increase and/or decrease the ranking of the text. That is to say that you can make the words you use more often forced up the list and maybe up onto the top row (immediately visible and tap-able) of the suggestions bar. From the (drop down) suggestion bar you will also be able to tap+hold to increase/decrease suggestion ranking. This intuitive way of adding words and increasing their priority on the suggestions bar is more convenient than opening a text file or a text area in options to search through and set a priority number. As an extension, for backup purposes, you should be able to import/export your dictionary list with the ranking/priority value too.

@flide
Copy link
Collaborator Author

flide commented Nov 3, 2020

I am truly grateful for the input guys, but I think you are overthinking it.

The predictive text is simply a convenience to input words which a generally longer in nature or to avoid an incorrect spelling. Also I would not want to break my flow of typing if and when I want to select from one of the predictions. So, I plan to do the following:

Predictive_text_left_selection
Predictive_text_middle_selection
Predictive_text_right_selection

So this essentially makes selecting one of the predictions part of the flow. For example, if I want to type "Assassination", by the time you type "assa" on the keyboard, most probable predictions would be - assault, assassination, assassinated. At this point the user can simply move the finger to the top and back to add that word followed by a space and continue typing further.

And... 3 predictions that are continually refined as more and more characters are being added surely does not seem limiting to me... but to each their own. This is going to be the least distracting and most fluent way to incorporate predictions.

I hope I was able to provide clarity on the issue.

@Glitchy-Tozier
Copy link

Some thoughts on this:

  1. Personally, I prefer having only three suggestions. Why? I've been switching back and forth between the ASK and OpenBoard, two open source keyboards. ASK uses scrollable suggestions (more than 5 I think) and it's not great. Having only 3 (always using the same fixed spaces; NEVER make the buttons smaller or bigger depending on word-length please) keeps everything consistent. It makes sure the users know, where the spots are where they can press a button.
  2. Actually, speaking of OpenBoard (https://github.com/dslul/openboard), I really like they way the added in "additional suggestions". Just check out the app for a few minutes and see what I mean.
    By long-pressing the middle suggestion, they show you additional words to choose. (If this gets implemented, make sure to use a visual cue like they did to indicate this feature.)
  3. I might be biased regarding the motion because I'm coming from Input Diacritics #65 but I'm not sure whether the most recently proposed motion is the most intuitive one.
    Here's my problem with it: From my understanding of the keyboard, tapping the center circle is indicative of inserting a space. You can do it in a vacuum or you can "combine it with gestures (releasing and re-placing your finger on the circle in-between words)
    Now, I assume that after selecting a suggested word, not only would the word be entered, but also a space after it. So where's the "leaving the screen"-part?
    I think trying our best to integrate this motion in a tap-less fashion might be counter-productive in this case.

Problem is, I'm not sure which other motion to use.

@Glitchy-Tozier
Copy link

Additionally, I'm not sure whether this is even needed. In some cases, It's nice to have (when typing very long words), but it shouldn't be a top priority.

Why?

  1. The faster the keyboard, the less useful Predictive Text is. This is one reason why fast typers on the PC don't use it. You have to spend your time to read the suggestions, and you have to move your hand/finger away from the keyboard to click on a suggestion.
  2. It kind of doesn't have great compatibility with the main goals of 8Vim, such as "true blind typing".

That being said i like the thought of predictive text. (Especially the next-word-suggestion) I just think that it's nowhere near as important as other issues and therefore should be tackled only once the more urgent Features are implemented. It's probably best to work on this on something like iteration 8.

@flide flide modified the milestones: Iteration 6, Iteration 7, Backlog Dec 3, 2020
@ManDay ManDay mentioned this issue Jan 9, 2022
@flide flide removed this from the Backlog milestone Mar 31, 2023
@kovdan01
Copy link

Hello @flide and thanks for your great work on 8vim! Could you please clarify if the feature is planned to be implemented in near future? Could it be included in one of the next releases milestones? Thanks!

@kovdan01
Copy link

Hello @MaethorNaur and thanks for your great work on 8vim! Could you please clarify if the feature is planned to be implemented in near future? Could it be included in one of the next releases milestones? Thanks!

@MaethorNaur
Copy link
Contributor

H @kovdan01, I think @flide already started working on it, but I'm not sure how advanced it is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants