--- tags: ULA-EN disqus: hackmd image: https://assets.hackmd.io/build/emojify.js/dist/images/basic/motorway.png description: Roadmap | ULA - universal learning app --- # Roadmap :motorway: :world_map: You can use this document like a short reference to all avaliable and planned features. We use it for inspiration, to see what has already been done and what has not. # Material types ## richText - [x] Write text in markdown using common tags: - [x] h3-h5 `### Header with depth level 3` - [x] em `*emphasized text*` - [x] strong `**bold text**` - [x] blockquote `> quotation text` - [x] image `![alt text](https://path/to/file.jpg)` - [x] block image (full width) - [x] intext image (small) - [ ] custom image with styles (position, size, border, etc) `[image | path/to/file | right | 200 | 100 ]` - [x] unordered list - [x] ordered list - [ ] horizontal rule (hr) - [ ] strikethrough (del)`~~deleted~~` - [ ] link - [ ] to local materials - [ ] to web materials? - [ ] emoji `:smile:` - [x] Embed video, audio into text by: - [x] local link `videos/lecture1.mp4` - [x] network link `https://bbc.com.ua/learn-english/001.mp3` - [x] youtube link `youtu.be/videoId` - [ ] media material (with extra data e.g. timed phrases, quiz, etc) - [x] Embed sounded word into text with `[[text]]` or `[[text | path/to/audio]]` - [ ] Cards (`image + text + translation + sound`) - [ ] from other material address - [x] Embed quiz: - [x] single correct answer `- ( )` - [x] multiple correct answers (from zero up to count of variants) `- [ ]` - [ ] Exercises - [ ] choose right label - [ ] fill the gaps - [ ] Collapse/Expand (spoiler) ## fileCards Put together small: - [x] audio file + text + image (into card) - [x] play by click on it - [x] exercise - [ ] playback - [ ] play all (like large media) - [ ] speed - [ ] drill/dictation mode - [ ] Multi file relations? - [ ] One image --> multiple audios? ## richMedia Put together large media file + other timed data: - [x] different sources of media: - [x] local file - [x] network file - [x] youtube - [ ] audio hostings? - [ ] twitter/facebook/vimeo? - [x] timed phrases (captions/subtitles): - [x] srt - [x] vtt - [x] audacity labels - [ ] ass - [ ] youtube transcript? `1:15 text of phrase` - [ ] avatar images for speakers from: - [ ] local file - [ ] network link - [ ] quiz tied to timecode - [ ] playback mode - [x] speed (playback rate) - [ ] drill/dictation options - [ ] repeat count - [ ] delay length - [ ] delay type - [ ] relative (length of phrase) - [ ] absolute (seconds - [ ] view - [ ] hide video - [ ] book mode (with headers, paragraphs, etc) ## exercise - [x] given - [x] audio - [x] text original/translation - [x] image - [ ] required - [x] audio - [x] choose - [ ] write? - [x] text original/translation - [x] choose - [x] write - [x] order - [x] image - [x] choose - [ ] timer (hurry up)? - [ ] mix different types (audio+text, image+audio) - [ ] which phrases to get - [x] random - [ ] preset - [ ] order of phrases - [x] random - [ ] preset - [ ] fake variants - [x] random - [ ] preset - [ ] tolerance for user input - [ ] universal (for all languages) - [ ] case insentivity - [ ] diacritics - [ ] stress - [ ] punctuations - [ ] language specific - [ ] module for custom rules ## homePage - [x] Simple cover page with: - [x] title - [x] background image - [x] logo image - [x] 3 separated text blocks (top/middle/bottom) - [x] avaliable translations list (choose one) - [x] go next button - [ ] Advanced index page: - [ ] list of materials with extra fields - [ ] date - [ ] image - [ ] description - [ ] watched/unwatched - [ ] tags - [ ] material type? - [ ] filter/sort by all of these fields - [ ] search - [ ] titles - [ ] full text # Navigation ## Drawer - [x] logo - [x] title - [x] title translation - [x] list - [x] chapter - [x] chapter tr - [ ] subchapter - [ ] subchapter tr - [ ] material type - [ ] translation show/hide switcher - [ ] change translation language switcher - [ ] player settings ## References Ref should open part of other material from other material - [ ] richMedia - [ ] whole material - [ ] one phrase - [ ] range of phrases - [ ] richText - [ ] whole material - [ ] header - [ ] range of paragraphs - [ ] fileCards - [ ] range of items # Translations Translate main content into other languages, make it looking as parallel texts. - [x] simple home page - [x] oneLineOneFile - [x] media - [x] phrases - [ ] avatars - [ ] quizes - [ ] inText? # Customization ## Styling Change look of any part of app by editing styles. - [x] general - [x] layout - [x] contentType - [x] add custom fonts - [ ] separate module for your changes (to simplify updates of ULA core) ## Layout - [ ] Change order of elements image-text --> text-image original-translation --> translation-original # Localization - [x] English text - [ ] check spell and grammar mistakes - [ ] separate module with all interface texts - [ ] translate english into other languages - [ ] Russian - [ ] Spain - [ ] Portuguese - [ ] French - [ ] Chinese - [ ] Arabic - [ ] delivery type - [ ] local (prebuild in app) - [ ] download by demand # Progress/errors - [ ] store errors - [ ] where - [ ] what - [ ] how much - [ ] store progress - [ ] timestamps of activities (what did at what time) - [ ] amount of learned materials (count of words, phrases) - [ ] display with graphics/diagrams - [ ] share with friends, teacher # Content store/delivery type - [x] local file - [ ] web API - [ ] categories - [ ] notifications ## File downloader - [x] local (originally in app) - [ ] web (load while using) - [ ] preload on demand (web --> local by user choise) # Share Share with friends interesting things: - [ ] preview image - [ ] navigation to particular part of app - [ ] for oneLineOneFile - [ ] for richMedia - [ ] single item or whole material # Social - [ ] make classes around the app - [ ] teacher monitors progress of students - [ ] students help each other