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

Words properties stored in DB #86

Open
tanitani-66 opened this issue Aug 17, 2017 · 3 comments
Open

Words properties stored in DB #86

tanitani-66 opened this issue Aug 17, 2017 · 3 comments

Comments

@tanitani-66
Copy link

tanitani-66 commented Aug 17, 2017

This is an issue that combines/references/has implications for at least the following issues:

I have been using LetMeType by ClasOhm for the last 15 or so years, which had been fine for the most part, however, it cannot be used with Chrome anymore for some reason. The developer made it open source a long while ago when he left the Windows OS, but it has not been picked up by anyone while it was still available on his site (which it isn't anymore) and I have no knowledge of C++ programming. So I came across this gem of a program.
The following thoughts are basically the result of having used LetMeType and wishing for some features being present and appreciating some that were.

Since TypingAid uses a DB it seems that it would be beneficial to use some additional columns/tables that could potentially increase the usability of the program. With those established it may be unnecessary to purge the words from the Wordlist, in fact it could be detrimental to the functionality. Instead there could be a merge function that could read a text file to add new words to the already existing ones. This in turn would allow for more robust suggestion (20, 32, 46, 50, 84) and DB upkeep functionalities (24, 60). Of course this and some of the following ideas would not work without a GUI to view the wordlist and edit some of the data elements (45, 82).

Date Added ; DateLastUsed
These would establish the age of an entry and the age of the last usage.
These data elements in conjunction with the Count field could establish a more relevant sorting of the suggestions (46, 50, 84) but also would enable the user to identify a date/number of days limit at which a word could be purged (24, 60). These would also need a GUI to set preferences of what sorting the user prefers.

WordlistName
This could be used to limit the scope of the query to one or more wordlists selectable through a settings panel listing existing list names as well as allowing the deletion of word sets that are no longer needed. (32, 60, 85).

The following probably should be placed in a separate table for building the relationships that exist between words that follow one another.
FollowedBy
Reference field to word following the previous one (20).
DateLastUsed
Count
These could be used for maintaining persistence and suggestion ordering.

OK, these are a lot of ideas. I feel it is helpful to bring them together because it highlights some of the connections between some of the ideas already out there to specific data elements.
The obvious question is what is needed to make any of these happen?
What help if any do you need Maniac?
Gábor

@Theclaws
Copy link

Hi @tanitani-66,

Your well thought out email prompted me to spend some time to consolidate changes I've previously made into a more coherent Pull Request for you and @ManiacDC to consider.

#87 should be able to serve as a Proof of Concept for what you're asking for:

  • Adds concept of parent-child word relationship and increasing weight of word based on that.
  • Adds weighting for single words and for parent-child word relationship, based on how recently they were used.
  • Adds new feature to bulk learn from words in the clipboard (can be used to quickly build word parent-child word relationship).

Hope this is something that starts us all on that route.

This version supports a basic parent-child word relationship (1-level deep), I had started on a 2-level deep solution but never finished it.

@ManiacDC
Copy link
Owner

Just BTW, I'm not ignoring the pull requests. I've gotten heavily sidetracked from this project and have a version I really need to check in before considering any pull requests. The problem is I can't just check it in because I recall there are some outstanding issues with it. I need to review some emails to see what they are.

@Theclaws
Copy link

Theclaws commented Aug 21, 2017 via email

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

No branches or pull requests

3 participants