inkstone
inkstone copied to clipboard
Enforce stroke order
There should be an option to enforce correct Stoke order. Right now, sometimes I put in an incorrect stroke that comes later.
Right now, when you input a stroke that's slightly out of order, it will accept it, flash the correct stroke, and penalize you. If the next stroke is stroke n, you'll drop one grade (green -> yellow) for drawing stroke n + 1 and two grades (green -> red) for drawing stroke n + 2.
I've found this penalty to be a reasonable one that still guides me towards learning the right order - the flashcard's timing interval only increases significantly when you can write it all correctly (green).
Is your suggestion to stop trying to match against later strokes at all?
Yep. I've found it often mistakes a correct stroke for a later one, flashes the one I was trying to put in, and then throws my line of thought off as I try to correct for that. Skritter, for example, does something similar to what you have, by flashing the correct stroke, but does not accept the wrong stroke, instead continuing to flash the correct stroke until you've input it. I find this to be very helpful to learn the correct stroke order at the same time that I learn the character. Perhaps just make it optional?
I've got a few other feature requests to get up to parity with Skritter functionality that I feel is beneficial (being able to correct the grading if I feel it was mistaken, skip forward or back, ban words, etc) Still I am thrilled with how functional this is already, and I am so excited to drop skritter. WAY too expensive for getting zero updates in over a year, incredibly slow performance, and poor integration with pleco. You seem to already be hitting on most of these. The fact that it works offline alone is a godsend. Skritter in mainland china sometimes takes up to a minute or more to load due to poor network connectivity if I am not on VPN.
I'd also love to contribute, I'd probably need some mentoring, but I've been interested in learning meteor. If you're up to helping mentor a bit on some of these features, I'll take a crack at a few of theses.
Yes, I think your suggestion does make sense as an option. The options page probably needs to get broken up into separate graphics and writing options, too. I can give you a few pointers as to how to make the change:
- Add a new setting to the settings model and expose it on the settings page. The UI and the model are bound by the name name of the settings variable.
- Modify the onStroke handler for the teach page to have different behavior when this setting is enabled. It's probably best to reorder the function a bit as you do so. At the moment, the "out of order" condition is checked, but only at the end of the function, after it's already been accepted. We'd want to compute that condition once, earlier.
You're also totally right about there being a lot of useful new features to add. In addition to the ones you mention, I think having word -> pinyin and word -> definition cards would be a major improvement.
The regrading feature already exists, although it's not well-exposed - if you swipe up on the canvas when a character is graded (that is, when it's colored green/yellow/red), you can edit its grade. This feature is mentioned in the writing tutorial but it's not required to complete it. I imagine many people aren't trying the tutorials, either...
Cool. I'll try to give it a hack in the next few days / week.
On Tue, Nov 15, 2016 at 9:47 PM, Shaunak Kishore [email protected] wrote:
Yes, I think your suggestion does make sense as an option. The options page probably needs to get broken up into separate graphics and writing options, too. I can give you a few pointers as to how to make the change:
- Add a new setting to the settings model https://github.com/skishore/inkstone/blob/master/client/model/settings.js and expose it on the settings page https://github.com/skishore/inkstone/blob/master/client/templates/settings/layout.html. The UI and the model are bound by the name name of the settings variable.
- Modify the onStroke handler for the teach https://github.com/skishore/inkstone/blob/master/client/templates/teach/code.js#L144 page to have different behavior when this setting is enabled. It's probably best to reorder the function a bit as you do so. At the moment, the "out of order" condition is checked, but only at the end of the function, after it's already been accepted. We'd want to compute that condition once, earlier.
You're also totally right about there being a lot of useful new features to add. In addition to the ones you mention, I think having word -> pinyin and word -> definition cards would be a major improvement.
The regrading feature already exists, although it's not well-exposed - if you swipe up on the canvas when a character is graded (that is, when it's colored green/yellow/red), you can edit its grade. This feature is mentioned in the writing tutorial but it's not required to complete it. I imagine many people aren't trying the tutorials, either...
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/skishore/inkstone/issues/3#issuecomment-260645186, or mute the thread https://github.com/notifications/unsubscribe-auth/ACE5KCEoszORqCnw16Qt96vK3eAKPG_7ks5q-bf2gaJpZM4KsX5F .