I have submitted Paid and Free versions of WordMaster app. It’s a simple word game that involves the use of frequency words lists. The characters are listed and the users need to drag and drop them to form the word.
I dont think this will count towards Microsoft UK’s reward program – The email said any apps published by end of today – i submitted it today but that doesn’t matter. We will find out next week.
I submitted Slydr 2.6 Friday the 6th Jan as i though i’d better update NoDo users with latest changes. I branched current Mango code base and made changes to revert the code to NoDo compatible code. I didn’t realise it but i left Mango version of Silverlight Toolkit and 2.6 didn’t pass certification as the app crashes when you navigate to Settings page. This is what consumes the Silverlight toolkit based controls.
So what did i do ? Well to start with I pushed 3.2 (which is update to 3.1 Mango version and contains some bug fixes) and its currently in testing. I have also downloaded NoDo sdk to get my hands on NoDo Emulator so i can thoroughly test 2.6 when i push it for certificaiton in coming week.
Apart from that Cool Cam is close to completion. I have the photo viewer working correctly and all i need to do is get effects application code working correctly. I plan to finish it tonight and then hopefully i will polish it a bit (for example displaying a count down when using timer mode). Then comes the annoying part of localisation. I am keeping the text very simple and so i hope localisation is easy / more accurate.
Last week i also published entire word lists i have generated. I have uploaded 50k zip, entire zip and log file which details file count / word count etc etc.
I finally got around to uploading the new word lists. These are more precise as the code now checks for more than one subtitle and only picks one set rather than everything. In addition to existing languages lists, i also uploaded lists for Indonesian, Serbian (both latin and my conversion to Cyrillic), Macedonian, Malay, Albanian and Simplified Chinese.
I finally started working on Sat Nav app last night.. Not having maps is getting tiring specially for testing.. i guess i will have to download at least a big chunk of maps and set up my own map service so that i can keep testing – its getting very very annoying.
Apart from that i have been reworking on my second favourite topic.. Frequencylists. One of the chaps asked me a couple of questions and i must say good questions… the word count, the file count etc etc. In fact if it wasn’t for him i personally wouldn’t have bothered with this whole – how true is the corpus. I remember talking to a greek user about a greek list on similar lines however this time it was english and i could deal with it easily :)
He cleverly pointed out that on opensubtitles.org each movie at times had multiple subtitles and i check my repository and that was true… i reworked the algorithm to pick up only one set. Before i left for home, i kicked off the code and the frequency lists should all be built by now.
I might just upload the whole lot instead of only sharing 50k. People can deal with large lists :)
Besides all this, i finally fixed my dishwasher. It was a leak in water reflow system ? took the gasket off, cleaned it nicely… bit of rust, cleaned that and put it all back togather. My tests showed that second time around i did a pukka job. Well done me :) Guess i can concentrate on coding fully now.
Slydr rework is close to completion. Now slydr uses entire trace to determine match. There is no speed detection.
You can trace fast or slow and you will get same result.. unlike before. I have also consumed a new algorithm which genenrates a probability / similarity between 0 and 1. The algorithm executes after Levenstein Distance and is slower so i had to resort to changes to reduce number of items i match and it seems to work fine now. Might continue optimising it to remove unncessary work later.
As a result, i had to redo all dictionaries to ensure that in addition to word, i also had path data depending upon that language / layout. Its has taken me a long time as the code i used to generate new dictionaries was WPF but i tried to stay as close to Silverlight as i could.
On UI side, i have moved entire code to using TouchScreen TouchReported event unlike before where part of work was done in TouchReported and other was done using high level Mouse Enter event.
Instead of spawning new threads to check for new user added words, i have moved to using threadpool.
I have to test a few bits like migrating existing user added words to generate trace path and i am going to add persistance of user usage. In addition i need to add ability to reset user added words and usage from settings page.
I am sure there will still be complains but what can i do ?
Now that the new mechanism of word matching is working, i thought “what better way to reward myself than redoing the word lists for the nth time”…
well this time i am cleaning them and i will spell check the lot so that there are less mistakes. Tired of all the typos repeating themselves from subtitles.
Am i going to share them? i dont know. I am spending awful amount of time and i might charge something for them… maybe a couple of quid while freely offering original lists to anyone interested in cleaning up themselves.
In Slydr (See FAQ for more info) i consume the word lists that i have made available publicly.
Currently in Slydr, based on user trace, i generate a cleaned char list which is then use to find probable matches. This solution works in mosts cases as it uses user hesitation to determine the correct character.
While this works in mosts cases, there are always those who complain that it is too damn slow.
well there are things I can do and i am doing those. From next version of Slydr, there will be no char filteration, if you enter abcdefghi that is exactly what is used to char matching algorithm.
What i cannot do is make word matching faster. Unsafe code is a strict NO and i dont think i can speed up raw word matching.
I am hoping to reuse the logic i used to modify word lists. It is currently based on c# and WPF but i have kept it as close to Slydr code which is in WP7 Silverlight as possible. This way i can allow same optimsation for user word addition.
For arabic, i used a layout similar to that of Intellark. For persian, I have modified Arabic layout and added support for one additional persian char that is not in Arabic. The persian dictionary is ready thanks to TMC http://ece.ut.ac.ir/NLP/resources.html.
I have also added support for Status messages to social networks. Once i get all above working, i will start adding support for localisation in additional languages for Mango.
I have integrated Arabic and Hebrew into Slydr. All RTL stuff working fine with non LTR languages. I have a few users in Iran and i think i might add Persian support… got Tehran Uni Corpus and have to use it to build a word list and do Persian keyboard layout.