ManiacDC / TypingAid

Word AutoCompletion Utility
http://www.autohotkey.com/board/topic/49517-ahk-11typingaid-v2200-word-autocompletion-utility/
GNU General Public License v3.0
138 stars 45 forks source link

Words properties stored in DB #86

Open tanitani-66 opened 7 years ago

tanitani-66 commented 7 years ago

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 commented 7 years ago

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:

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 commented 7 years ago

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 commented 7 years ago

No worries. Looking forward to the new release. Glad you told me, I was going to go into more database Dev to move code beyond just working POC.

Any early teasers about what you have planned for us?

Thanks again for all your hard work! On Aug 21, 2017 6:45 AM, "ManiacDC" notifications@github.com wrote:

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ManiacDC/TypingAid/issues/86#issuecomment-323711779, or mute the thread https://github.com/notifications/unsubscribe-auth/ALPmlYmsymFxZYUlkGArX6t5WggQxj6Sks5saV_hgaJpZM4O6tZV .