Skip to content

Latest commit

 

History

History
143 lines (142 loc) · 6.91 KB

todo.org

File metadata and controls

143 lines (142 loc) · 6.91 KB

[x] make morse-station reflect values, especially choices in menus

[x] achieve menu choices with data binding

[x] achieve additional actions with property change observers

[x] make textareas readonly

[x] make textareas erasable

[x] make input erasable

[x] make input sendable

[x] make input cancelable

[x] go back to collapsing settings

[x] disable iambic tagged input controls when straight key

[x] move straight key/iambic paddle selector to the top

[x] alter the app title on page changes

[x] make icons for the app

[x] set up vulcanizer for polymer-0.5

[x] vulcanize app

[x] test vulcanize –csp for the chrome app

[x] rename repository to morse-code-polymer-0.5

[x] move to entirely inline javascript for components

no need to manage external files when vulcanize and crisper will sort those issues out on the backend.

[x] fix leftover use of selected as integer in morse-app

[x] use bars for titles

[x] use icons

[x] clear for input

[x] send for input

[x] clear for textareas

[x] settings for setting blocks

[x] refresh for MIDI refresh

[?] swap-horiz for swap paddles

[x] info for info pages

[x] get the keyboard focus reliably onto the input page

[x] get the keyboard focus onto the whole html document

got it reliably onto the morse-app element

[x] extract common morse-key function

[x] extract common decoded text display

[x] make all three windows implement the same key/decoded text

[x] use animations for page reveals

[x] make the decoded text consistent across the app windows

[x] using <pre> to preserve space eliminates line wrap

and I still don’t get the mobile browser text updated

[x] Reverted to <textarea and got things working fine.

[x] Autoscroll <textarea> to end when adding text.

[x] CDE mobile push issues

[x] confusion when both touch and pointer events are active

[x] no text decoding shown

[x] try from web deploy?

[x] mobile chrome scales screen to too small

needs a <meta viewport> found in web starter kit documents

[x] enabling detone step slows down the output decoding

but decoding stops working at higher speeds in a mystifying way

[x] stop the output decoder from getting ahead of itself

[x] make the input decoder track the input speed, if there is one

switched to decoding elements rather than transitions

[x] fix the key clicks

I suspect timing jitter induced by a sample clock that only changes once per buffer and jumps by a buffer worth of samples. when I pick up the buffer time near the start or end of the buffer, I get different results for placing activities into the future. Test by looking at the distribution of context.currentTime values returned. The clicks were probably from key repeat, bounce, and erratic interval timer appear much improved with the web audio based keyer timing.d

[x] Now the Android is struggling to keep up with the audio,

may need to adjust the audio buffer size in detone or disable it. Switch to element decoding worked nicely, but android is clicky.

[x] build a monitor page with scope and logic traces

did the logic traces, the audio is scary, and neither are necessary for the generic app.

[?] use routing to select titles, pages, …

[?] decide whether the polyserver makes sense

so, building an app uses components in ./bower_components but running an app that is loaded from bower uses components in ../, polyserver resolves imports and loads

[x] lost timer which you can hear

because the key repeat becomes the clock for the keyer, pause after first keydown before auto repeat begins.

[x] restart timer when letter starts after IDLE

[x] save progress after every session

[x] disable irrelevant buttons

[x] figure out which words got lost when quitting new sessions

they get lost when you quit a new session because there was no score for them

[x] redo the display during session

[x] make wpm changes for both input and output

the progress.station was getting disconnected from the morse-station probably explains problems getting output letter events, too.

[ ] make param changes persistent

they get overwritten by the default morse-station start without parameters. save station params independent of morse-mimic parameters.

[ ] follow guide to material design

tooltip specs http://www.google.com/design/spec/components/tooltips.html#tooltips-tooltips-desktop-

[ ] select and implement color choices

much easier in 1.0

[ ] test whether the decoders are working as expected

seems that there are dah’s read as dit’s that would require the estimated speed to change.

[ ] package as a chrome application and push to the store

[ ] move to card based drill, larger issue, make a compelling game

[ ] show didah

[ ] show text

[ ] show reply text

[ ] show score

[ ] make optional what is shown

[ ] add replay, skip, and quit buttons to each card

[ ] review cards at end of session

[ ] Morse Mimic - teach your muscles

[ ] I’m imagining a game where players challenge each other to tap it out

so we’d need to allow multiple players on one machine, we’d need to hear the challenge tap, and verify that the challenger could repeat it, and then we’d need to see if the challengee could rise to the challenge, and echo back the challenge tap, so that could repeat itself over multiple rounds, and the challenges need not be morse code, they could be arbitrary prosigns, very long and the spacing, beyond the element, letter, word variety could be significant. This is pretty Smulish, they’re running millions in revenues now.

[ ] Separate the one-letter, two-letter, three-letter, and longer words

into separate tranches.

[ ] make progress displays that show progress through different tranches

[ ] dump overall progress,

suspect I’m favoring hardest over keeping practice evenly distributed over entire lexicon.

[ ] record time per session

[ ] control time per session

[ ] record overall time spent in training

[ ] don’t lose words when quitting a session

[ ] symbols which are all dit or all dah are simpler because of the keying mechanics

the symbols and words could be classified in difficulty according to the number of hand motions required and the number of direction changes required

[ ] getting the inter-letter spacing is important

[ ] record the time each word was first shown

[ ] record the time each word was last shown

[ ] remember if a word required replay, but not if skipped

[ ] skip moves the word to the end of the list

[ ] offer lessons by word length in clocks, dits/dahs/spaces

[ ] offer lessons with words differing only in spaces, like: [ete,ae,en,r]

[ ] save settings to google drive?

[ ] need a [Pause/Resume] button to postpone session

[ ] need to throw out the worst scores, or at least bound their badness

[ ] another training thread is the attack, there are a series of symbols

that begin with a squeeze A/R/~/+/. or N/K/C//;

[ ] adjust wpm in 0.5 steps not 2.5