Entries in ‘Weather Typing’

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

Sorry, this entry is only available in 日本語.

The bottle neck of porting Weather Tpying (WPF) to UWP is native C++ DLL. It is not difficult to port C++ code to C# but it will be convenient if I can use native code, it will be good.

At first, I tried making native DLL and called it from UWP by P/Invoke, it succeeded. It worked in Windows IoT, too. It seems that without prohibited API, it works.

After that, I tried building it as Windows Store app and validated with Windows App Certification Kit (WACK). Then I got “vccorlib140.dll is not supported for this application type” and Windows Security Features Test failed. In the error, memset and memcpy, that seems no problem to use, were shown. It
seems that the native DLL is linking desktop app library.

I found “Consume Windows Runtime Extension” in Native DLL project property. I enabled it seeing “Using C++/CX in Desktop apps” but it doesn’t change.

At last, I found official help “How to: Use Existing C++ Code in a Universal Windows Platform App” and changed project file directly and changed pre-complie header name addition to C++/CX settings above. After that, WACK succeeded.

When I saw the generated DLL by Dependancy Walker, it linked to “VCRUNTIME140_APP.DLL” and “MSVCP140_APP.DLL” instead of “VCRUNTIME140.DLL” and “MSVCP140.DLL. ” APP-DLL may be for UWP.

Followings are the tips I got using Xamarin.Forms for several days.

1. Can’t build automatically with F5

The project runs immediately with F5 so I did build & deploy manually in each debug. But I found the checkbox of [Configuration Manager]-UWP project build and deploy, Is it off as default?

2. I got exception in Release mode

I get System.PlatformNotSupportedException: ‘Arg_PlatformNotSupported’ exception when I run Shared Project MainPage. No exception in Debug mode. When I skip this exception, the app runs well. What is it?

3. Xaml intellisense dead

The worst trouble is this. It works some time but after doing something, intellisense will be dead. In UWP context, I haven’t seen intellisense works correctly. I get error like “ContentPage was not found” and have very little choice of code. In Android/iOS context, it works some time but after some operations, intellisense window does not show. In that situation, after removing shared project reference from Android/iOS project and add them again, iintellisense comes again… or not?

The plan of running Weather Typing on Raspberry Pi. I ported logic so I’m making screens.

This is an image 2 weeks ago. With mobile battery, I can take it to anywhere.

This is current image. I can type words with keyboard.

I have platform dependent implementation like keyboard but if I implemented that, the same application will work on Windows 10 IoT on Raspberry Pi, Windows Store (UWP), Android, There seems to be iOS.Xamarin Mac so can it work on Mac?

I can implement battle feature with at least Windows store. In Android, maybe I can implement guest
feature.

And I can use Raspberry Pi feature so I tried hardware. When I press a key on keyboard, LED will be ON/OFF.

Achieving this, I can start that project I wanted to do. I will report here later.

Today is the day of the 2nd Raspberry Pi workshop. We found nice work space in the near field so we
exchanged information. We discussed how to develop Windows 10 IoT app on Mac. We assumed after installing Windows 10 IoT with a PC, we can develop Xamarin app with Visual Studio. And we bought SD card.

It’s about time to buy mobile battery so I bought Maxell mobile battery. It supports 3A so can handle Raspberry Pi.

This is current raspberry pi with mobile battery.

The current goal is running Weather Typing on Raspberry Pi but I wan’t to run it on mobile at the same time so I tried Xamarin.Forms I was interested in.

When I created a cross-platform project in Visual Studio 2017, I got Shared Project and UWP/Android/iOS projects. I can test on UWP before testing on Windows 10 IoT, that is convenient.

There are many way to achieve cross platform development. At first, I can use Portable Class Library (PCL) as is. I can port WPF common project to Shared Project and use ifdef for each platform. The better way may be making interface in PCL and using Dependency Injection but I have too many classes.

Shared Project is not a DLL not a static library. That project will be merged to each platform project. I thought the define value should be defined for each platform but that was not true. I defined platform dependent value such as _UWP__.

How about XAML cross platform? In some books. I can choose using Xamarin Forms or I can make
each platform screen. I wan’t to try Xamarin Forms! But… I think making each platform screen is easier. I don’t see screen image in develop phase, that is okay. But intellisense will be dead when I wrote wrong code. And do I have to Build & Deploy manually before debug code? I think it will be fine after I got some tips, right?

I concerned about GPIO. Does it work with Xamarin? Yes, I can add reference GPIO library from UWP project. Is it normal UWP app instead of Xamarin emulated .NET framework?

This is the first app with UWP on Xamarin.Forms.

I’m trying to run Weather Typing on Raspberry Pi. I can use C# in Windows 10 IoT so started experiment.

As in MS page, copied image from Windows 10 IoT Core Dashboard to SD and run, but it stacks then ended up with BSOD (BAD SYSTEM CONFIG INFO). After that, I get BCD error and the end. I tried it several times
but no luck. After Googling, I get some information of power issue but I can’t use it with Surface charger.

Another topic, After installing Windows IoT, that makes many partitions. I don’t know which partition I have to delete so I deleted all the partition. But after that, Windows lost the SD card. That SD card was recognized after formatted it in Xperia.

After all, that was SD card issue. I can’t use TOSHIBA 16GB and can use ELECOM 16GB.

→That was because my TOSHIBA SD card was class 4. I bought it in convenience store. I bought ELECOM one in electric store so that was class 10.

As official 7 inch touch screen is shown up-side down so I launched Windows 10 IoT Core Dashboard to fix it. But I can’t use the first password I specified. But I got error. it seems the first password
was fixed to “p@ssw0rd”? I changed the password and finally I reversed display direction/

Next, I searched the way to remote control Windows IoT and found Windows Store App. I can remote login with a href=”https://www.microsoft.com/en-us/store/p/windows-iot-remote-client/9nblggh5mnxz?SilentAuth=1&wa=wsignin1.0″>Windows IoT Remote Client. I can start
develop Windows IoT app.

I released WT3.2.1. I fixed the error
related to input after last character. Internally, key array hash was changed.

Weather Typing page was messy so I moved previous version to previous version. And I added downloading past versions. I don’t have ver. 1.0 but you can download after ver. 1.2.

I published input method plugin as open source atGitHub. It is my first time to have open source. I decided the license to Apache2 that is less restriction. You can use it as non-proprietary or proprietary, you can change it. The more Weather Typing plugins, the better.

I want to make Weather Typing plugin open source but there are some unknown stuff. Is license Apache2 fine for this project? I don’t need to concern yet but if someone want to change the source
code, pull request will come, right? In the future, I will make Weather Typing store that publishes word, inputmethod, cpu plugin, replay, I don’t know when I can do it.

And I’m making manual of GitHub project top page. I can write it in Markdown format that is similar
to Wiki. At first I was using Atom that is GitHub official editor. But
it is heavy for long document. At last I’m using Sakura Editor for editing and Atom for preview. Atom detect changes of the file to that is fine.

I have finished test so I published beta version of WT3.2.

In fact, I wanted to public production version but I had many bugs so decided to public beta at first. If no bugs are found, I will publish it and if any bugs are found, I will update 3.2.1.

I will finish developing WT3 in anytime. I have 700 checklist and 22 remains. I find bugs every time I executed some checklist so I cannot publish develop version. After finished test, I will publish production version. I found 49 bugs and the target was 50 so quality is good I think.

I have to write manual for developing plugins.

As new WT3 is approaching, I asked KK to play it with me. Test goes well but I noticed some issues. Play actually is much better than test program or check list.

I played WT online after long period but it was fun.

About WT plugin that I have been developing for a long time. I have finished base coding. This is the first step for new concept.

I am testing connecting new version and old version to keep compatibility. While trying various input, I found some bugs of
old version because I recreated input method.
・XN isn’t recognized in Dvorak. X position was Qwerty in Dvorak XN.
・Can’t input Shift+Kana in 50 on. I don’t change this as no one use this.

I may publish develop version in Golden Week.

January will end without any articles. WT3 is progressing but I have a lot of items to work with for input method plugin. I have to implement weight calculation, sandboxing, network protocol change, replay compatibility. When can I finish?

WT3。The completion is still far away but I’m working on customization. I ended up UI designing word customization and input method customization. That will be finish soon. I have to stop working on design as it take infinite time. I will upload development version.

I have to add entry before November.

WT3 is progressing but I cannot release it for a while. I am making a input method plugin but before that, I have to improve lobby design which I spent little time before.

I am reading a book which I found in a bookstore なるほどデザイン. It is very interesting. Most design book includes rules and example but I do not know how I use it. This book includes design method and write every steps to design so it is useful.

Weather Typing. The issue, occurred in summit, that input speed becomes very slow has been solved. I am using bit flags for Roman input customize and in C++, I used STL bitset and in C#, I used BitArray. That was very slow and after I changed it to simple long, it became super fast.

I had similar report from some users but I didn’t find the cause because I couldn’t reproduce. But in summit, I got hint that WT will be slow when 5 people battle with long word so that helped a lot.

I’m changing WT input method so publishing new version will be later.

I couldn’t go to it but I write a report of annual Typing Summit.

This year, I assumed I have to go to work this time of year so I didn’t entry. But as a result, Only I was free so I was able to see NikoNama.

WT team battle. Thanks to have a great event. Broadcasting is improved. In the last year, I saw NikoNama after the summit but I couldn’t see the words in screen. In this year, because of tahe lighting and layout, I could see words clearly. Other than that, the team name which was hard to see, was changed to color name that was easy to understand.

I was worrying about connection and spec change but it seems no bit problems. Maybe the facility team was tested carefully. The following things are the software issues. I have to handle it.

  • The user can’t see all the information
  • Too much lag
  • The result graphs are complicated
  • Roman and Kana scope doesn’t match

I have to resolve the issues. Also I will develop the new concept, and I will propose new WT next year. But the new concept doesn’t contribute to the summit battle. I think it is good to support team battle which I’m not sure I can develop by next year.

Details:

The user can’t see all the information

I fixed “change information panel size” this time but I forgot the real request was to show the screen on the lowest size. I thought increase the resolution will solve but it maybe difficult with projector.

Too much lag

I don’t know the cause. In my environment, 5 people battle has no problem. Long words seems to cause the lag so .NET WPF can’t draw such a many object, if it is so, I have to change the framework to such as Unity.

The result graphs are complicated

I have to improve graphs. Maybe zooming and highlight one line. I will think of it in the new analyzing feature.

Roman and Kana scope doesn’t match

In variety words, I concerned the difference between Roman and Kana scope and someone can’t type some character but the facility team already considered. But in the new concept, I have to do something to that issue.

Morse code. I am developing the Input Method Plugin and I think I will add Morse code as a sample. That will enable true Morse code input.

Weather Typing 3.1.1 released. I fix the bug that was reported in Twitter a while ago. I want to develop next feature but I wonder which project will I proceed, ABR,electronic project, new app?

I had stomachache in last week so I have been stopping development. During that, I slept in strange form to protect stomach then I had a dry eye next.

I have 2 releases pending, WT3 improved connection problem I was requested in Twitter and next version of Analog Book Reader. After I recovered, I will release it.

I updated Weather Typing 3.1. So far, the remake of Weather Typing based on WT2 was finished. UI is still difficult to and I have to write a manual, though.

The main point of version up is the requirement of the last typing summit. Especially lobby UI improvement and replay bug fix.

From now on, I will make a new feature I wanted to implement. But there are a lot of things to make other than WT so it will be later.

Hmm, desktop application is hard to execute now. Browser warning me, OS warning me and security software warning me, I have to ignore all of them to execute the application.

About WT3 progress. I have to improve lobby, or battle scheme and at first, I have implemented splitting chat and battle window, choosing what level should be shown, status, playing sound which are the features WT2 supported.

2016013001

And I thought to publish that version and connected to lobby. But there are many issues. I can’t find bugs without playing actually. It will take some more time. I have to connect lobby more like when I was developing WT1.