I have finally submitted 2.3 for testing. It includes a significant change in functionality i.e. predictive typing.
Because the requirements for predictive typing are different as compared to sliding, i had to rework my word dictionaries slightly. hopefully it doesnt take significantly longer to load. I have used TRIE implementation as i mentioned previously instead of TST.
Apart from that i have reduced the creation of “use and throw” threads :) i already had thread in background for dictionary processing, now i use extra events to cancel existing operation rather than trying to kill the thread (which of course never worked in WP7)
Finally i updated char popup width to match key width in portrait or landscape mode.
I am working on Mandarin / Cantonese dictionaries. Requires a bit more time as the dictionaries are slightly unusual :)
I know i talked about use of Ternary Search Tree TST earlier and TST is probably more efficient but i couldn’t the most comprehensive TST implementation could only return user specific matches based on length.
if you entered hi, it would return hi
if you entered hi*, you will get his, him etc.
if you entered hi**, you will get high, hind etc.
TST however had a simple contains for preliminary match.
This meant that i will need to run it multiple number of times to get overall matches and then sort it based on relevance. Too many calls equals eventually slower plus knowing keeping constant tab max word length and keep padding wildcards.
so I have settled on Trie, which allows individual char entries and provides option to see if its a full match (similar to contains) and gives you all matches in a single list. Sorting takes care of relevance and it works perfectly.
Thank goodness… One user complained about match list being a bit iffy, i am going to make each item have larger area which would allow more touch area !!!