Computer graphics processing and selective visual display systems
The selective visual display system addresses the challenge of synchronized content presentation by using eye-tracking and audio processing to adapt content display and playback to user engagement, enhancing reading and learning experiences.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-11
- Publication Date
- 2026-03-25
AI Technical Summary
Existing technologies lack efficient methods for synchronized visual and audio presentation of content, particularly in e-book and audiobook devices, that adapt to user engagement and facilitate effective reading and learning experiences.
A selective visual display system that integrates eye-tracking, audio processing, and content sequencing logic to coordinate the presentation of text and audio elements, allowing for synchronized display and playback based on user interaction and engagement.
Enhances user engagement by synchronizing visual and audio content presentation, adapting to user focus and interest, and facilitating efficient reading and learning experiences.
Smart Images

Figure 2026509726000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims priority to U.S. Provisional Application Nos. 63 / 552,134; 63 / 583,358; 63 / 485,023. The entire contents of these applications are hereby incorporated by reference.
Background Art
[0002] Background and Field of the Invention The present invention relates to e - book devices and software, audiobook devices, text re - editing, and learning technologies.
[0003] This specification describes methods, devices, computer - readable media, and systems for presenting information for the purpose of having a user read, learn, test, and consume content.
Summary of the Invention
[0004] In one embodiment of the present invention, a selective visual display system is provided. The system includes the following components: a processor configured to execute encoded instructions for performing content acquisition, processing, and display to a user; an integrated circuit for processing electrical audio signals, the circuit having the ability to convert digital audio data into human-readable audio output and further including audio functions for utilizing digital audio formats; a display screen connected to a device and displaying digital content that serves as a medium for user interaction with the content presented by the system; one or more computer memory devices configured to store machine-readable instructions, content files, user data, or system operation logs; and an audio presentation module designed to present audio data to a user, wherein the device is configured to perform the following operations: display a content element on the display screen; present an audio segment corresponding to the content element; remove the content element from the display screen at the end of the audio segment of the content element; coordinate the presentation of the content element so that the audio content element is derived from digital audio data and presented through an output mechanism in a user-perceptible manner; and then display the next content element and present the next audio segment, wherein the system includes content sequencing logic that controls the temporal progression of the content elements and coordinates the accessible order and timing of the content. [Brief explanation of the drawing]
[0005] Figure 1 shows a selectable visual display system.
[0006] Figure 2 shows a mobile device that includes a selective visual display system.
[0007] Figure 3 shows a demo user interaction system.
[0008] Figure 4 shows the user interaction system.
[0009] Figure 5 shows an example of multimodal content.
[0010] Figure 6 shows an example of a multi-function test user interaction system.
[0011] Figure 7 illustrates the process steps that the software may complete within a loop while displaying content to the user.
[0012] Figure 8 shows the possible process steps the software may take to complete after the user has finished loading.
[0013] Figure 9 shows an example of another user interaction system.
[0014] Figure 10 shows another example of a user interaction system.
[0015] Figure 11 shows an example of a text database record that may be created.
[0016] Figure 12 shows a table illustrating examples of text element parameters.
[0017] Figure 13 shows an example of a user interaction system in an exemplary state.
[0018] Figure 14 shows examples of user interaction systems in different states.
[0019] Figure 15 shows an example of a user interaction system in another different example state.
[0020] Figure 16 shows an example of a user interaction system in a different example state. [Modes for carrying out the invention]
[0021] Figure 1 shows a device 20 equipped with a selective visual display system 22. This visual display system 22 has the ability to display content 08, including text, to a user 18 and simultaneously play audio through one or more speakers 30. The device may include an eye-tracking system 12 that includes a camera 14. The camera 14 may be connected to a processor 24. The camera 14 may be used to capture an image 16 of the user's eyes 18. This allows for accurate calculation of the user's gaze direction 27, the position of the fixed point / point of fixation 15 that the user is fixating on, tracking changes in the position of the user's fixed point 26 as the user moves their eyes, and determining whether the user's fixed point is within a region of interest 28 (a defined portion of the visual cortex that the user is fixating on). The device may include one or more microphones 32 used to record sound, including the user's voice. The camera 14 may also be used to record other parts, such as the user's face 34 or hand movements. The displayed content may include images, AR, VR, videos 36, or other non-text content. The system provides head-mounted glasses 40 with eye-tracking capabilities, which may include a head-mounted camera 42 for visualizing objects in the environment and reading / OCR processing text, and / or an AR or VR display 44. The software may provide the ability to divide the entire content into independent text elements such as sentences. The software displays a single sentence of the display content 08 at a time, as shown here. The software provides initial audio content 46. The software displays the audio corresponding to the single sentence, starting almost simultaneously. In this example, the text-to-speech audio of the first word of the displayed single sentence, "This," is displayed almost simultaneously with the start of the display content 08. In this example, the system may provide text-to-speech audio 47 of the first word "This" of the display content 08.The software may enable the display of display content 08, the display of corresponding audio content 46, and the timing synchronization of the user's eye position 15. The software displays audio content corresponding to content within the user's area of interest 28. The software may provide this as an automatically styled text element 48 (underlined in this example). The software may provide this automatic styling based on its position in the audio 46, the user's eye position 15, or a combination thereof. In some cases, the software removes display content 08 when the user's eye position approaches the end of the display content 08. In some cases, the software removes display content 08 when the audio content reaches the end of the audio sequence corresponding to the displayed text content. For example, after the text-to-speech conversion has finished playing audio 51 following "sentence" 52, display content 08 may be removed after an optional delay. Display content 08 may be displayed as separated phrases. Phrases may be displayed on separate vertical lines, as in this example. The content may include multiple visual and / or audio styles. For example, in this example, multiple text styles 38 may be underlined, and in this example, the text-to-speech conversion of the word "this" 47 may be played louder than other characters. The software provides the ability to remove a single sentence of display content 08 from the display after the audio playback corresponding to the same single sentence has finished, and this can be done after an additional delay if necessary.
[0022] Figure 2 shows a mobile device 112 equipped with a selective visual display system 120. This system is capable of displaying content 114, including text 116, and providing a user interface system 120. Audio content is played through headphones 102 equipped with earpieces 104 connected by wires 106 via a jack 110, or wireless headphones 112 may be used. The device may include a microphone 130, physical buttons 135, or a speaker 137. The device collects user input through the selective visual display system 120 and / or the user interaction system 120 and / or the physical buttons 135. The device may be equipped with a camera 160. The camera is used for eye tracking, recording the user's face, emotions, or gestures.
[0023] Device 200 may be used to track the fixation point 204 of user 220's eye 222 or to measure the distance 230 from the device to user 222. The eye-tracking system and software may use camera 208 to estimate the user's fixation point 204. The software may provide the ability to define a region of interest 214, which is part of user 220's field of view. The software may provide the ability to determine whether user 204's eye fixation point / macula is within the region of interest as shown at position 214 or outside the region of interest as shown at position 203. The system may provide the ability to track user 240's eye movements and detect the time and location of movements such as saccades from a fixed position 250 to a second fixed position 240.
[0024] Figure 3 shows a demo user interaction system. Elements of such a system include, but are not limited to, the following: 300: Demo screen; 301: Display of remaining time in document; 302:; 303: Reading speed; 304: Status panel display; 305: Elapsed time display; 306: Previous button; 308: Play button (e.g., display the current text element); 310: Next button (e.g., advance to one text element and display that text element); 312: Text selection button (e.g., highlight or select the current text element); 314: Start button (e.g., start continuous playback mode); 316: Stop button (e.g., stop or pause continuous playback mode); 318: Audio button; 320: Audio playback indicator; 322: Previous selection button; 324: Next selection button; 326: Selection number indicator; 328: Vertical mode button; 330: Vertical mode indicator; 332: Styling toggle button; 334: Styling toggle indicator; 336: TTS audio number selector down button; 3 38: TTS audio number selector up button; 340: Audio number indicator; 342: Audio rate selector down button; 344: Audio rate selector up button; 345: Audio rate indicator; 346: Text zoom selector down indicator; 348: Text zoom selector up button; 349: Text zoom indicator; 350: Pitch selector down button; 352: Pitch selector up button; 354: Pitch indicator; 356: Text, continuous; 358: Paragraph heading; 360: Text element selection level indicator; 362: Text area; 363: Text, single element (sentence); 364: Description of current state (available in later diagrams including similar panels for understanding the function); 366: Audio currently playing in the software; 367: Sentence highlight level display; 368: Sentence display count display; 370: Sentence display time display; 372: Description of the currently executing step.
[0025] Figure 4 shows a user interaction system. Elements of such a system include, but are not limited to, the following: 400: User interaction system; 401: Menu: The software may provide access to additional features, settings, and user profiles. For example, the software may provide the user with the ability to turn text formatting on / off to display unformatted text, turn vertical mode on / off, or turn single-sentence mode on / off to display continuous text; 402: App title; 405: Stop automatic reading speed adjustment. The software can stop automatically increasing the reading speed; 406: Reading speed selector. The software can select the audio playback speed; 407: Start automatic reading speed adjustment. The software automatically increases the reading speed until it reaches a target value; 408: Text zoom selector. The software may display versions of the content based on this text zoom setting. For example, it may display a long version or a short version of the text; 409: Current reading speed (voice). The software may display the actual speed of the voice. ;410: Text zoom level indicator. The software may display the zoom level of the text or the version of the text. ;416: Text speed or reading speed indicator. The software may display the user's target content viewing speed. ;417: Reading speed achieved (WPM). The software may display the user's measured reading speed. ;418: Current position in the document: The software may display the paragraph number, sentence number, and percentage of progress in the document. ;419: Reading time: The software may display the time elapsed since the user or another user started reading. ;420: Time remaining in the document (calculated by the software). The software may calculate the remaining time for the currently displayed version of the document. ;421: Document title; 422: Highlight / selection indicator.The software may display the level of text elements highlighted / selected by the user or other users; 423: Text element display area; 424: Styled text (e.g., keywords styled with borders); 425: Styled text (e.g., keywords styled with borders). The software may provide different styles (underline, bold, etc.) for different text elements containing words; 426: Navigation panel; 427: User-created comments / notes; 439: Navigation selector: Back; 440: Review mode: Back button (e.g., Return to previous highlight); 441: Highlight / user selection indicator; 442: Paragraph back button; 443: Sentence back button; 444: Continuous playback button. The software may provide a function to start continuous playback mode. This element may be replaced by a pause button; 445: Playback indicator: The software may indicate whether continuous playback is on, and if so, it may be indicated by color; 446: Next sentence button. The software may remove sentence n from display, increment the sentence number from n to n+1, move to the next sentence n+1, and play the audio for sentence n+1; 447: Next paragraph button. The software may remove sentence n from display, increment the sentence number from n to n+m, move to (n+m) so that it is the first sentence of the next paragraph, and play the audio for sentence n+m; 448: Review mode: Forward, e.g.: Forward one highlight.The software removes sentence n from display, increments the sentence number from n to n+j (n+j is the number of the next highlighted sentence), moves to the next highlighted sentence n+j, and plays the audio for sentence n+j; 449: Highlight button: May increment the highlight level of the current text element; 450: Add button: A user-assignable button that may control other software functions; 451: Library button: Moves to a screen to select content; 452: Read button: Moves to a screen to read content; 453: Notes button: Moves to a screen to view highlights, selections, comments, notes, and other users' content; 454: Navigation selector: Moves forward; 460: Text sample. The software may provide text formatting such as display in vertical phrases, background, border, underline, shadow, different font weights, different opacities (of what is displayed); 462, 464: Text sample. The software may provide formatting for characters within a word, which may include font weight, color, opacity, or different character properties, a gradient of parameters across characters within a word, a gradient of characters within a word (starting from a specific character within the word), automatic highlighting of selected characters within a word, or other features; 466: Text sample. The software may provide text in a horizontal mode with formatting.470: The software may provide graphical display elements of lines, rectangles, or other shapes that indicate any of the following: for text elements in a document (e.g., sentences), whether the text element was displayed and / or how many times it was displayed (e.g., the number of times represented by a color range), whether the text element was successfully viewed by the user (e.g., determining the extent of the user's engagement with the text element by eye tracking), the time the text element was displayed to the user (e.g., the display time represented by a color range), whether the text element was selected or highlighted and to what extent, the time the text element was viewed (e.g., the time elapsed since viewing represented by a color range), the importance of the text element or other text element parameters (e.g., the values of importance or other text element parameters represented by a color range), the time the text element was viewed (e.g., the time elapsed since viewing represented by a color range). 475: The software may provide user interface elements for selecting a position within text (e.g., a slider for selecting a sentence number). The software may update the display elements based on the user's selection. For example, you can change the displayed content, the remaining display time, or other features that appear depending on the text element or sentence selected by the user using a slider.
[0026] Figure 5 shows an example of multimodal content. In this example, it shows an example of the timing and process when software presents two modalities (voice and vision) to the user simultaneously. The voice waveform is presented to the user by the software and is displayed in both the spectral frequency display of voice waveform amplitude vs. time 500 and frequency vs. time 510 on a time base indicating the presentation time of text content element 530 of about half a second on the time axis 520. The text content element 530 may be presented visually to the user by the software. This figure shows that at about time 0 seconds, the word "Is" is visually displayed to the user by the software, and at the same time, the text reading or voice narration of the word "Is" is displayed to the user by the software. At the time point 540 of about 0.05 seconds, the software visually displays the word "Not" to the user and at the same time displays the voice narration of the word "Not" to the user, and ends at about 0.11 seconds 550. In the example of the figure, the text elements correspond to individual words. For example, "Is" and "Not". The software can perform similar processing for other types of text elements (e.g., sentences). In the case of text elements of a sentence, the sentence is visually displayed to the user by the software, and while the display is maintained, the voice waveform of the sentence is presented as voice to the user by the software. Optionally, after the display of the first text element (such as a word or a sentence) is completed, before the display of the next text element, the first text element may be deleted from the screen, moved to a different position within the screen, or the display style or quality (e.g., size, color, font, opacity, background, position, etc.) may be changed. These changes are made under the control of the software.
[0027] The software may provide the subject with a means to independently turn modalities on / off. Visual elements may be displayed to the subject by the software using a device screen, for example. Visual elements may be presented to the subject by the software using, for example, speakers, wired headphones, wireless headphones, virtual devices, or other audio devices. The start times of different audio content elements (e.g., words) may be displayed and generated, manipulated, or controlled by the software. For example, the start time 540 and end time 550 of the word "not" in this sentence are displayed. The amplitude 560 of the audio waveform and other waveform parameters may also be generated, manipulated, or controlled by the software. The software may provide non-audio sounds, including audio icons within the audio 565. Pauses within the audio (e.g., periods of substantial silence 570) may also be included. These pauses may correspond to optional delays between the display of subsequent text elements provided by the software.
[0028] Figure 5 shows examples of visual text that may be provided by software, a system, or a device. The software may provide text elements using one or more different styles, such as adjusting the font weight or opacity of bold text 580. The software may split the text into independent sentences. The software may display one sentence at a time. The software may split the sentences into independent phrases 585, 591. These phrases may be styled individually even within the same sentence 585. Examples include using different background colors, such as surrounding with surrounding buttons or outlines 590, or color combinations such as dark text on a light background 592 or light text on a dark background 590. The software may provide spaces 593 between different phrases or words. The software may provide a function to display text with increased transparency based on importance 592, or using a combination of other parameters related to the text element and visual style. The software may provide a function to display text in a vertical mode 593. In vertical mode, the software may provide a function to display different phrases or text elements 591 on separate lines 575, for example, using a vertically centered alignment on the left. The software may also provide a function 594 to style text elements individually, which may include automatically and individually styling individual words, phrases, or other text elements. Automatic styling can be used for various purposes, such as indicating text elements that the software determines to be important, text elements selected by the user, text elements belonging to a specific part of speech, text elements that are the focus of the user's line of sight, text elements being played as audio, text elements that match keywords or key phrases, or text elements with other text element parameters.
[0029] Figure 6 shows an example of a multi-feature test user interaction system. 600: Question. 605: Multiple possible answers or answer elements. Answers or answer elements may be independent of each other. Answers or answer elements may be text elements containing individual words, phrases, sentences, or paragraphs. Answers or answer elements may form a sequence of sentences (e.g., paragraphs). The user may be instructed to “evaluate” each answer or answer element. For each element, the user may determine true / false, assign a quantitative score such as importance or relevance, indicate whether the element is true / false, or show the user’s confidence in the evaluation of each answer element or the overall evaluation. 606: Selectors to remove answer elements or replace them with new potential answer elements in the software. 610: Importance value for each answer element. The software may also allow the user to enter an “evaluation” for each sentence, indicating how much that sentence contributes to answering the question. For example, the software may provide a feature that allows the user to input, in any way, how much each text element or sentence contributes to the answer, indicating to the software the degree to which the sentence correctly contributes to the answer, using + / -, thumbs up / down, numerical rating, grade rating (AF), or other methods. 612: Rating delete selection tool. 651: Truth metric for answer elements. 620: Confidence rating for each potential answer element: the user can express their confidence in rating this answer element. 630: Time the user spent to complete the assigned exercise. 640: Submit button provided by the software when the user completes the exercise and submits the answer. Figure 6 shows process steps 650 through 697 that the software completes before displaying the content to the user.
[0030] Figure 7 shows process steps 700 to 780 that the software completes, for example, within a loop, while displaying content to the user.
[0031] Figure 8 shows process steps 800 through 855 that the software performs after the user has finished reading. Figure 8 shows a UIS element 860 that measures and displays the user's attention and focus on the task, and their feelings (e.g., "focused"). The software may measure the time spent focused on the task 870 and / or not focused on the task 880. The software may measure "hits," indicating the number of times the user is recorded as focused on / focused on the task, and "misses," indicating the number of times the user is recorded as not focused on the task. The software may measure "streaks," indicating the number of consecutive periods, such as the number of consecutive periods in which the user is focused on the task. The software may provide a function to control the start / stop / pause of the measurement. The software may provide UI elements for the user to select a category or task they are trying to focus on, and to enter notes, comments, or other metadata. The software may provide a function for the user to enter goals or task completion. The software may combine the functionality in this section with other activity tracking and performance tracking software and hardware, including wearable hardware and health / fitness trackers. The software may provide a feature to measure the user's level of focus during specified time periods (e.g., random intervals). The software may provide a feature that allows the user to specify the frequency and length of the measurement intervals. 896. The software may calculate scores or values based on the user's level of focus. Examples include "Value Created," calculated as time spent on the task × $ / hour (time spent on the task), and "Value Lost," calculated as time away from the task × $ / hour (time away from the task). The software may display the duration of the measured time.898. The software may determine whether the user is focused in a variety of ways, including but not limited to: A) determining whether the user is fixating on the area of interest corresponding to the task, based on eye-tracking data.For example, whether the user is focusing on a screen area related to the task (such as a specific app or content). B) Whether the user is focusing on an area of interest corresponding to something they want to avoid (e.g., unwanted apps or content). C) Using psychophysical techniques to determine whether the user has detected a content disturbance and how to have the user perform a software-detectable gesture (e.g., tap or release button 899 or other UI element) immediately after detecting the disturbance as an indicator that they are paying attention to the content. Visual disturbances include, but are not limited to, changes in the brightness, color, position, or content of a screen area (e.g., assessing whether the user detects this by slightly moving the screen window back and forth to "shake" it), volume, pitch, AM, FM, or changes in content. D) Measuring other biometric data that may correlate with concentration (e.g., eye movements, pupil dilation, facial features, emotion detection, emotion analysis). The software sets a limited response time for the user to achieve a "hit" and records a "miss" otherwise. The software measures the reaction time from the presentation of the disturbance to the user's response. The software may measure, display, and store statistics about the user's performance (e.g., concentration %) based on the above measurements, and may provide the ability to compare these statistics with data from other users. Data from other users may be displayed, for example, on a leaderboard. The software may provide concentration measurement in this manner for reading-based tasks that use other reading or content consumption features described herein. The software may provide concentration measurement in this manner for other types of tasks (such as using apps or features on the device, paying attention to content in a specific window on the device, consuming specific types of content or elements, interacting with specific users or agents, completing other types of tasks, health tracking, fitness tracking, relaxation, concentration tracking, sleep induction, etc.).
[0032] Figure 9 shows the user interaction system. 900: Content selection screen. 930: Selected text display screen. 960: Content search screen. 910: User rating input or other user ratings. 930: Selected or highlighted text screen. 931: Selector to sort in ascending / descending order by sentence number in the document. 932: Select in ascending / descending order by the content of the highlighted sentence. 934: Select in ascending / descending order by the presence or absence of user comments. 935: Example of a single sentence. 940: Sentence number in the document. 945: User comments related to the sentence. 960: Content search screen. 961: Select in ascending / descending order by sentence number in the document. 962: Sort in ascending / descending order by the number of matches from multi-word queries. 963: Sort in ascending / descending order by sentences in the content. 964: The software provides a search / query input function, allowing the user to enter queries (e.g., single word, multiple words, Boolean queries, etc.). 970: The search term was found in the text.
[0033] Figure 10 shows a user interaction system. 1000: Example of a chat interface UI component. The software provides a chat-style interface that loads a document element by element and may include features using buttons, images, and icons, such as displaying content, interacting with a bot (1020), interacting with other users (1030), and asking / answering questions (1040). Components are not limited to those shown. Components can be combined in any combination. Each text element may be displayed individually. This type of UI can be used for communication. This type of UI can also be used to simulate a chat-style experience that includes document text, rather than interaction with a bot or other users.
[0034] Figure 11 shows an example of a text database record that may be created by software 1100. This example shows how the software creates individual database records, one for each row from row 1102 to 1128. In this example, the software processes text elements from a document. In this example, the paragraph shown in row 1102, column 1140 is targeted. The software maintains a logical unit or database record of text elements. The software may algorithmically divide a document and automatically create text elements as paragraphs based on rows where "paragraph" is entered in the text element type column 1138. The paragraph in row 1102, column 1140 is the software's starting paragraph in this example. In this example, the software may assign text element parameters to text elements. For example, as shown in columns 1130-1158, the parameters include paragraph number 1130, sentence number 1131, index number 1132, version number 1134, text zoom level 1136 (1 or 2 in this example, different values possible in other examples), text element type 1138, text 1140, importance 1142, character count 1146, and presence of keyword 1158 (in this example, the presence or absence of the keyword "technology" is shown as a binary 0 or 1). These are just some examples of text element parameters that the software adds to a logical unit of text or text element record. The software uses these text element parameters for database-like operations such as sorting, filtering, querying, Boolean logic, and indexing.
[0035] Software can find versions that correspond to the same logical content across different versions. Different versions of text may correspond to different rewrites of the same text. For example, if software uses AI to rewrite text at Text Zoom 2 (shortening it to about half its original length), this may correspond to Version 2 (see this example). Different versions may also correspond to different languages, different drafts, different editions, or other differences. Maintaining logical unit correspondences across different versions allows software to seamlessly switch between versions, such as displaying the corresponding text while maintaining the user's position even when the user switches text zoom levels.
[0036] For example, the software searches for the text in version 2 that corresponds to the sentence in version 1, line 1104, column 1140. When searching version 2, it might use paragraph number 1130 and sentence number 1131, which are shown in line 1104, as an index in the database and find the corresponding sentence in line 1118. Alternatively, the software might build an index shown in column 1132, search for index value 1, and find that this also exists in line 1118. This allows the software to maintain correspondences between different versions of logically related text, such as different versions created by rewriting the text to different lengths (or zoom levels), versions translated into different languages, or versions derived in other ways.
[0037] The software may automatically create text elements that function as sentences, as shown in the row where "sentence" is entered in the text element type column 1138. This can be achieved, for example, by algorithmically splitting an entire paragraph into individual sentences. In this example, the software split the original paragraph (row 1102, column 1140) into individual sentence records (rows 1104-1108) and updated their sentence numbers. The software may recreate blocks of text. For example, it may rewrite the original paragraph shown in row 1102, column 1140 with the recreated text shown in row 1102, column 1162. The software may recreate small text elements, such as sentences. For example, it may rewrite the sentences shown in rows 1104-1108, column 1140 with the recreated text shown in column 1162 for illustration purposes. The software creates additional version 2 records in the rows (rows 1116-1128) where column 1134 indicates 2, and these are the rewritten versions. The original and rewritten versions of the text may have different numbers of sentences. This could cause the software to use or indicate "blanks" in some elements (e.g., row 1128, column 1140). The software may then create a correspondence that takes this into account, for example, by linking "blank" records to the record that best matches.
[0038] Software may offer functionality that applies a database-like structure to a series of text documents. As mentioned earlier, this could allow the software to maintain logical connections between corresponding points across different versions of the text. This could potentially provide the ability to maintain logical positioning between versions when a user switches between different versions of the text. This could potentially provide the ability to share position pointers representing corresponding locations within a document, even if different users are using different versions of the document. This could potentially allow the software to calculate remaining time within the text. For example, this could be achieved by adding the time of sentences with a higher index than the user's current position index from the version selected by the user. There are many other logical operations based on the use of discrete elements of text, similar to filtering, searching, indexing, sorting, querying, complex queries, calculations, and other operations in spreadsheets and databases.
[0039] Figure 12 is a table showing examples of text element parameters 1200, text style attributes 1210 (including corresponding exemplary CSS descriptors), and audio style attributes 1240. The software may use examples that are not limited to these. The different columns for text parameters 1200, text style attributes 1210, and audio style attributes 1240 are independent, and the row positions between columns do not indicate relationships between columns. However, the columns for 1210 and 1220 are related. The software can maintain a set of text element parameters 1200 that apply to text elements, such as sentences in a document. The software can apply any text style 1210 based on text element parameters 1200. The software can apply any audio style 1240 based on text element parameters 1200. The software can use mappings, functions, or value ranges that correspond to ranges of values for text style 1210 or audio style 1240. The software can apply multiple text styles and / or multiple audio styles to a text element. The software can display content based on selected text styles and / or audio styles.
[0040] Figures 13-16 show examples of how the User Interaction System (UIS) appears in different exemplary states provided by the software. These may appear, for example, during a demo. Note: Figures 13-16 represent a demo UI that is slightly modified from the UIs shown in Figures 3 and 4, with some elements explained in more detail in those figures. Some elements have different names and details in Figures 13-16, but some can be considered similar. Note: The "356 text, continuous" that may appear in Figure 3 is not included in the UIs in Figures 14-17. This is due to space constraints, and whether it appears in the UI depends on the context.
[0041] Figure 133010: Demo UI screen at startup. 3020: The software may provide the ability to start continuous playback mode 3029 when the Start or Start Continue button is tapped. During continuous playback mode, the software automatically executes a loop iteratively. This loop may include the software removing the previous content element, displaying the content element visually and / or audibly (with or without visual and audible styles), waiting for the audible content to finish, waiting for an optional pause period, removing the displayed content from the presentation, and incrementing the indicator for the current text element (e.g., increasing the current sentence number 3024). The software may then proceed to the next loop iteration. 3021 The text element may be displayed, which may correspond to sentence number 3024, and 3022 the audio may be played using headphones, etc., with the audio content displayed as text. Displayed audio may include text-to-speech audio of the displayed text, audio styling, audio icons, and other sounds. 3023 Part of this demo is displayed in the bottom panel. This panel does not determine the functionality of the software, but is for the purpose of clarifying the demo. 3024 The displayed text element may be sentence 0. 3025 The elapsed time in the demo may be displayed. 3027 The software may estimate the remaining time in the document's presentation, calculated from the estimated presentation time of individual text elements. 3028.3030 As time progresses in the demo, 3031 the audio may finish playing. 3032 The software may offer a pause or delay. 3040 The software may remove text from the UI after an optional delay. 3050 The software may automatically advance to the next text element, such as sentence 1 in this example. The software may display the corresponding text element 3052 and play the corresponding audio 3053.The software may update the display showing the number of times each text element has been displayed (3054) or other text element parameters. This display is a graphic representation and is shown here as text. 3060 The software may provide the ability to pause or stop continuous playback mode or pause loop execution when the stop button is tapped. The software may immediately pause audio playback or continue audio playback until the display of the current text element is complete.
[0042] Figures 143070, 3080 The software may provide a feature that indicates the user can tap a button to move to the previous text element (e.g., previous sentence number). The software updates the UI and plays the corresponding audio. 3090, 3100 The software may provide a feature that allows the user to change styling settings. For example, a feature that toggles styling by tapping a styling button. 3092, 3102 The software may provide a feature that changes the styling of a text element and updates its display. For example, a feature that toggles styling true / false or switches the visual or audio styling of the displayed text element on / off. 3110 The software may provide a feature that displays the text element at the current position as a visual text element, audio text element, video, image, or other display format when the user taps the “this” button or play button 308. The software may provide UI elements for the user to control the vertical mode display of text. For example, a feature that automatically divides text into shorter text elements such as phrases and displays them overlapping each other. Figure 3122 shows an example of highly simplified continuous text for illustrative purposes. Examples of adding vertical mode text are shown in 460 and 423.
[0043] Figure 15 The software may provide the user with the ability to switch off vertical mode, display indicator 3131, and update the display of the text element 3132 to restore vertical mode. In this simplified example, the software automatically inserts line breaks after "sample" and "prose," which is the same behavior observed in panel 3110 as before switching off vertical mode. The software may provide a UIS element 3142 for the user to select or adjust the zoom level of the text. This makes it possible to automatically recreate the content to create a new version. The UIS element may include a slider 408, a selector, a button (as in the example here), or other means of selecting the text zoom level, or means of selecting parameters that affect how the software automatically recreates the content. The content may be recreated automatically in virtually real time. For example, after a change in the UIS element, and before the content is displayed to the user. The software may display a new version of the content (3146), for example, a recreated version of a text element. The text element may correspond to text element number 3148 (sentence 0 in this example). Note: The software may maintain corresponding text element numbers 3148 across different versions of the displayed content. For example, the version of sentence 0 displayed in panel 3130 (text zoom 1x) and the version of sentence 0 displayed in panel 3140 (text zoom 2x) may differ, as indicated by indicator 3144. This example demonstrates that the software automatically recreated the text element with a simple change from "Hereisyoursampletextwithfourprocessentences" to "Hereisasampletextwith4processentences". The software may offer more advanced text recreation capabilities, as described elsewhere in this document, and this example is extremely simplified.If the user selects "Next"3150, the software may increment the position of the current text element3051 and display a text zoom=2 version3156 of sentence 1 in this example. The software may also display a text zoom=2 version3158 of sentence 1 in this example as audio3158.3160 The software may allow the user to instruct the software to change the text zoom level (to 1x in this example) and recreate and display the corresponding text3146. In this case, it will display a version that includes the word "entirely" to extend the duration of the text. Note: The software may maintain the current position (e.g., 3051 / 3061) and the corresponding text element being displayed (e.g., 3156 / 3166). Also, whether audio is output immediately after changing the text zoom level depends on the software's specifications, and it may not output audio until the next text element is displayed. While this example only shows two text zoom levels, the software may offer multiple levels or other types of rewrites.3170 The software may offer the ability to navigate to and display previous text elements. The software in 3180 may provide UI elements for the user to select text or change its highlight level. The software may provide the ability for the user to select a text element, change its highlight level, or change other text element parameters with a single gesture. For example, the software may provide the ability to increase the highlight level from 0 to 1 by tapping button 3181 or tapping around text 3182. The software may provide a display that shows the highlight levels of multiple text elements within document 3184, and may provide the ability to navigate between highlighted text elements, such as an indicator showing the highlight levels of consecutive text elements. This display may be done by a graphical UI element, but it may also be a text display.The software may change the display style of text element 3184 to indicate the selection of the highlight level of the text element at its current position, or to indicate other tags or text element parameters. The software may display icon 3186 or other indicators to indicate the selection or highlight level of the text element, or other tags or text element parameters.
[0044] Figure 16.3190 The software may provide the ability to allow the user to select multiple highlight levels for a text element. For example, in this example, highlight level 2 can be selected and different styles and / or indicators can be applied. The software may provide a review mode. In review mode, the software can be set to limit navigation focus to certain text elements and ignore others. For example, navigation to the next selected text element 3200 is possible. The software may provide a UI element for the user to move to (or return to) the next selected text element. For example, a next select button may be displayed. The software may increment the current position of the displayed text element (e.g., current sentence number 3202) until the next selected sentence is reached. In this example, from sentence 0 in panel 3190 to sentence 3 in panel 3200. The software may also have the ability to sequentially increment selected text elements in continuous playback mode. It may also have the ability to increment / decrement selected text elements using other selectors such as slider 475 or other UI elements / controls. The software displays the next selected text element. In this example, a review mode is provided in which navigation moves from one selected text element to the next selected text element 3200 or the previous selected text element 3210. In this case, the software skips from the current text element position of sentence 3 in panel 3200 to the current text element position of sentence 0 in panel 3210, automatically skipping any unselected sentences in between. These sentences may also be displayed 3204. The software can also provide the ability to navigate between text elements based on queries, keyword / keyphrase searches, other users' selections, comments, calculated importance levels, or other text element parameters in review mode. The software can also provide collapsible display elements 3220.For example, when a user taps a UI element, the displayed element can be hidden, restored to visibility, de-emphasized, or its style changed. This enables a "drill-down" or similar collapsible hierarchical and / or bulleted / outline formatting for one or more text elements. The software may also provide pinch-zoom or other gestures to control collapsible display elements, or the zoom level of the text.
[0045] The examples in Figures 14-16 are for illustrative purposes only and do not imply any limitations on functionality. For example, they may include features described elsewhere. These examples are based on demo code, not production code. Therefore, they may contain bugs that should be considered critical to the intended software functionality.
[0046] Multimodal document reader This technology may provide users with the ability to consume, create, or edit content. It may enable the viewing and consumption of multimodal content, such as simultaneously displaying text with corresponding audio, images, or videos. It may help users read, consume, and understand information quickly and effectively. The software may improve speed and memory retention by providing a multimodal experience and stimulating multiple senses of the user. The software may offer real-time automatic text rewriting capabilities, further improving user speed, efficiency, and memory. This could be achieved, for example, by making text concise or tailored to the user's interests. This technology can provide several fundamentally new ways in which users interact with documents using new logic and corresponding new user interface elements and navigation controls. In some examples, it may be possible to read and consume content more quickly, efficiently, enjoyably, or with higher retention rates.
[0047] Text database Discrete text elements vs. continuous text In some cases, technology may offer a fundamentally new logic, displaying and manipulating text based on discrete logical units such as sentences. This may involve providing or doing in addition to continuous text. Some reading methods and technologies may treat text as a continuous stream of content, manipulating and splitting the text at arbitrary points. For example, books and e-book readers may split text at arbitrary points to display as many characters as possible on the page or screen, based on page size, font size, line width, line spacing, etc. Where the technologies described here treat text as a sequence of discrete text elements, these discrete text elements may be treated like elements in a database, for example, where individual sentences represent discrete ideas or lines of code represent single commands. Software may provide the ability to display text elements individually to the user. Text elements may be displayed in a multimodal format, where text and audio are displayed simultaneously and deleted or deemphasized before the next text element is displayed. Software may allow a logical correspondence or mapping between the start and end points of text elements and their corresponding audio. This allows users to move back and forth within logical semantic units such as sentences, phrases, paragraphs, highlighted text elements, or selected text elements. Other display modes may use arbitrary units for navigation that do not correspond to logical semantic units within the text. For example, breaks may be set at arbitrary locations based on the length of audio in seconds or the number of characters or words that fit on a page. Software may use discrete text elements, allowing users to manipulate them as data elements. For example, software may provide the ability to select an entire sentence with a single click or to assign a highlight level to an entire sentence. Software may provide the ability to select, filter, or sort sentences based on queries or Boolean queries performed on the parameters of text elements.For example, this feature can sort sentences based on their importance, or select sentences that contain a specific keyword (Boolean) and have a high importance parameter.
[0048] Different versions of the text and their corresponding mappings. Software may offer features that allow content to be re-edited. For example, it may offer the ability to re-edit content into a more concise and shorter format so that it can be read more quickly or efficiently. For instance, software may offer the ability to re-edit a paragraph from document version 1 into a new version, version 2, shortening its length by about half. In this case, the software uses "text zoom" = 2. In this example, the reader can read the version 2 text much more quickly because it is half the length of the original. Software may offer the ability to apply shortening or summarizing to a sequence of text to generate a completely new sequence of documents. In this case, the user can read either the original document or the summary, but there may be no way to easily switch or navigate between the two versions, especially while maintaining their position between versions. Software may offer the ability to use discrete text element logic, treating text elements as discrete data elements. This allows the user to switch between corresponding points in the two versions while maintaining their logical position within the document. For example, software might allow a user to switch to the corresponding sentence number #123 in a recreated version, or return to the original version from the recreated version, with a single tap on a UIS item, if the user is at sentence number #123 in the original document. This provides the software a significant advantage: it allows users to seamlessly switch between versions while maintaining their position within the content across versions. For instance, software might allow a user to view the corresponding sentence in the original, longer version with a single tap if a particular sentence is of particular interest while reading a shortened version of a document. The software might then allow the user to navigate with an additional single tap to advance one sentence in the original document and continue reading, or return to the shortened version and continue from there.Software may allow users to "zoom in" and "zoom out" by using multiple versions (e.g., "text zoom" = versions shortened to 0.5, 1, 1.5, 2, 3, 5, 10) to view or play different versions (e.g., expanded or shortened versions of the same logical point within a text document). To achieve this benefit, software may provide the ability to maintain mappings of corresponding points in different versions of a document. Software can apply similar logic to other types of modifications, such as translation (conversion to a different language) or conversion to a different style, and may also provide the ability to switch between corresponding points in different versions.
[0049] Operations that treat text elements as data elements Because the software treats text elements as discrete data elements rather than continuous text, it may offer the ability to select, filter, query, perform Boolean join queries, probabilistic or other join queries, fuzzy queries, or sort different versions of text in a spreadsheet. For example, if a user enters the keyword "patent" to indicate interest in the topic within a book, the software could set the text element parameter to true for sentences in the original text paragraphs that contain the word "patent," and then provide the functionality to allow the user to navigate the original book or abridged version and skip sentences that do not contain the word "patent."
[0050] Software may offer several additional operations on text elements treated as data elements. Examples include, but are not limited to: Conditional formatting: Based on text parameters, software can automatically format text and highlight or visualize data. This is similar to conditional formatting in spreadsheets. Data validation: Software can enforce or measure data integrity by setting rules for text elements. Examples include character limits and content / format requirements. Formulas and calculated fields: Similar to spreadsheets and databases, software may provide the ability to associate formulas and calculated fields with text elements to perform calculations and string concatenation / manipulation based on logic. Pivot tables and summaries: Software may provide the ability to group and summarize text elements to discover patterns or condense information to speed up analysis. Version control and audit trails: Software may provide the ability to track changes over time, maintain edit history, and enable rollback and historical comparison. This functionality may be handled individually for each text element. For example, it may include the ability to maintain audit history, edit history, or version control for a single sentence or text element. Data Linking and Integration: Software may provide the ability to link text elements to other datasets or documents, creating relational structures that enable querying and analysis. Text elements treated as independent logical units may enable relational database features (relationship tables, indexes, join operations, etc.). Join Operations: Software may provide the ability to link text elements between different tables or datasets based on a common key, enabling more complex queries and analyses. Foreign Key Constraints: Software may ensure the accuracy and consistency of the database by establishing relationships between different text elements and enforcing referential integrity.Normalization: Software provides the ability to structure the database to reduce redundancy and improve data integrity, helping with version control, data maintenance, or storage efficiency for text elements. ACID Transactions: Software supports transactions that treat multiple steps of data manipulation as a single atomic operation, ensuring data consistency. Indexed Search: Software may provide the ability to create indexes on fields of text elements, speeding up search queries and filtering operations. Views and Stored Procedures: Software may provide the ability to display views of data based on these database operations. Software may provide the ability to create views that display data in a specific format, or to create stored procedures that encapsulate complex operations. Subqueries and Join Operations: Software may provide the ability to execute nested queries and join data from multiple tables to create complex datasets based on text content. Scripting and Automation: Software may provide the ability to use scripts to automate the processing of text elements. This includes batch updates, batch updates after query execution, or automatic rewriting. Access Control: Software may provide the ability to manage access permissions to text elements based on user roles or criteria. This is similar to database security and includes access control at the text element level, version level, index level, record level, etc.
[0051] Multimodal display and single text element Multimodal reading and display of discrete text elements An example is a reading device and method that enables a user to read a document.
[0052] Example before reading Automatically split text into single sentences The software may offer features that preprocess documents before the user reads them. The software may offer that document preprocessing may include automatically splitting the document into discrete text elements such as sentences. The software may suggest using comma placement, more advanced sentence detection algorithms, or human editing or intervention as simple algorithmic approaches to splitting the document. The software may offer features that, after the document has been split into independent text elements such as sentences, save the resulting text elements so they can be used as input for additional steps. The software may offer that document preprocessing may include rewriting text elements such as sentences into one or more additional versions. The software may offer that the rewritten versions are shorter or more concise rewrites of the original text elements. This may allow readers to read the document more quickly or efficiently, or to focus on key elements. The software may offer that rewriting is performed using AI, large-scale language models, or other means (including human intervention). The software may offer to analyze and code text to determine which parts are more important, match keywords or user queries, and / or code the content for individual word parts of speech or other automated analysis. The software may offer the ability to automatically convert the resulting content as synthesized speech using text-to-speech or text-to-video conversion software. The software may offer the ability to store this information and allow the user to interact with the content quickly or in real time as they read, because the pre-processing is already complete.For example, if the software reorganizes text into text elements of different lengths and speaks those elements at different audio rates, it may use a UI element that allows the user to select different “text zoom” levels corresponding to longer and shorter versions of the text during loading, and also provide a feature that allows the user to select different loading rates to load selected material without waiting for processing. The software calculates the remaining reading time based on the length of the selected version of pre-made material from the user’s current reading position onward.
[0053] Loading example The software can also provide any of the above processes to run in real time during loading, rather than before loading. For example, the software can provide text element rewriting to occur before the previous text element begins to display, or after the previous text element begins to display, and / or before the user taps to request the display of a text element, or before the software automatically begins to display the next text element. Alternatively, in a real-time implementation, text element rewriting may occur after the previous text element is displayed, or after the user taps to request the text element, or before the software automatically begins to display the next text element. In addition to real-time rewriting, the software can provide the ability to perform real-time text-to-speech using text-to-speech software, the ability to style text elements and speech elements in real time, and the ability to display text and speech elements in real time, or a combination of these individual functions.
[0054] The software may provide the ability to display sentences, text elements, or chunks of a document individually to the user as the user loads a document, either in a single-mode or multi-mode format. This means that while a sentence, text element, or chunk of document is displayed on the screen, the corresponding audio is played almost simultaneously. The software may also provide the ability to display visual, audio, video, VR, or AR representations of the content individually or in combination, allowing the user to control them using UIS controls. The software may provide the ability to remove a sentence, text element, or fragment of a document from the screen, and then repeat the process of displaying the next sentence, text element, or fragment of document individually in a similar format.
[0055] UI controls and navigation Single sentence mode The software may offer a single-sentence mode or a single-text-element mode, allowing users to control content navigation on a per-text-element basis. For example, users can control which sentences are displayed by tapping UI elements such as next-sentence or previous-sentence buttons. The software may allow users to control content navigation and control which paragraphs are displayed by tapping UI elements such as next-paragraph or previous-paragraph buttons. The software may provide the ability to display paragraphs to the user, or to display single text elements within paragraphs (e.g., individual sentences). The software may provide a combination of paragraph-level navigation, sentence-level navigation, or other text-element-level navigation, allowing users to use them in combination. This can also be used in combination with text element selection and highlighting (see definition of text element selection). The software may provide the ability to control text element navigation by voice commands (including speech-to-text (STT)). Users can select sentences by tapping UI buttons while a sentence is displayed or immediately after it is displayed. Sentences may be pre-selected for the user using data on sentences selected by past users (e.g., sentences selected by a certain percentage or less of past users). The software may provide a feature that displays to the user the text element number corresponding to the selected text element or sentence.
[0056] Continuous playback mode The software may provide functionality that allows the user to select a UIS control to start or stop continuous playback mode. The software may provide any of the following functions related to continuous playback mode: Continuous playback mode is started by tapping the play button or a similar button. Continuous playback mode is stopped by tapping the stop, pause, or similar button. Continuous playback mode may be started and maintained by pressing and holding or maintaining contact with a hardware or software button or key, such as the spacebar. Continuous playback mode may be paused or stopped by releasing contact with a hardware or software button or key. Continuous playback may be started or stopped by voice commands, including STT.
[0057] The software may provide a system in continuous playback mode that automatically displays the next text element after a certain amount of time has elapsed since the previous text element was displayed. In this case, the next text element may be the next sequential element in the document (e.g., the next sentence), or the next highlighted or selected element in the document (e.g., the next sentence), or the next text element has an importance level exceeding a selected threshold in the document (e.g., the next sentence), or the next text element is the next element in the document based on a text element parameter (e.g., a query result) (e.g., the next sentence).
[0058] The software may allow you to set the playback and display duration of the audio corresponding to a text element to match. Alternatively, it may allow you to set it to match a value obtained by multiplying the number of words or characters in the text element by a progress rate. Furthermore, it may include the ability to add a user-adjustable pause time, a user-adjustable pause multiplier, or other calculations based on logic. After the calculated time has elapsed for the text element to be displayed, the software may offer to delete the text element, move the text element to a different position, or change the style of the text element (e.g., remove emphasis). The software then automatically starts displaying the text element. This process continues until the user indicates an intention to stop, for example, by pressing a stop or pause button, releasing a finger from a hardware or software play button, or issuing a voice command.
[0059] The software may allow users to select or instruct to increase or decrease the audio display speed using UIS buttons, UIS sliders, or other means of interaction. The software may select or automatically adjust the audio content of text elements to play at a speed specified by the user. For example, if the user selects 2x speed, the audio playback time may be compressed to half the original 1x speed. Alternatively, the audio may be synthesized to match the user's selection, for example, by generating 2x audio from audio that has been converted to text at 2x speed. The software may provide a feature to compress the audio playback time so that the pitch does not substantially change when the speed is changed, for example, by using a time-shift algorithm. The software may allow users to select the version of text or text zoom to display. For example, selecting 2x text zoom will display a version with effectively half the number of words. For example, if the user selects 2x text zoom and 1.5x audio speed, the software will deliver the content at a combined reading speed of approximately 300% of the standard reading speed. The software may provide a user interface that displays the remaining time for the text based on the total number of remaining words or characters in the user-selected version, the remaining audio time in the selected version, or other calculations. This approach may also include a feature where the user selects the length of time they want to read, and the software selects the appropriate version accordingly.
[0060] Review Mode The software may provide navigation in review mode that controls the displayed text elements or sentences by allowing the user to tap UI elements (e.g., buttons to select the next selected text element or sentence, or buttons to select the previous selected text element or sentence). This increments or decrements the text element number displayed to the user, skipping to the next selected text or sentence. The software may provide the ability to visually display text elements or sentences, or display them simultaneously with their corresponding audio. This navigation is based on the selection of text elements; see definition. This can provide an efficient reading experience where the user reads only the sentences or text elements they previously selected as important, skipping unselected content. The software may algorithmically skip sentences or text elements, skipping unselected sentences or text elements and moving to the next previously selected sentence. For example, it may move to a sentence where the “Selected Text” element parameter is set to true. The software may algorithmically skip sentences or text elements based on the selection of text elements. The software may provide the ability to display the text element number corresponding to the selected text element or sentence to the user, 418, 326.
[0061] Single-tap text selection and highlighting (including different highlight levels) Software may provide a way to use text elements as discrete elements, allowing for more efficient text selection or highlighting. Some methods of selecting within continuous text require users to spend considerable time and effort on a multi-step process of identifying the start and end points of a sentence, selecting the area in between, and then selecting the highlight. This process can take several seconds per selection / highlight operation. However, software may provide a way to display content as discrete text elements or chunks, allowing users to select text elements, sentences, or chunks with a single, almost instantaneous tap. Software may provide a feature that allows users to select text elements without pausing the visual or audio display of the text, or without interrupting a continuous reading mode. Software may also provide a feature that allows users to select a single sentence or single text element without interacting with the visual elements of the text (for example, without tapping a button or issuing a voice command while the text element is being played aloud). Software may provide UI elements for users to select or highlight text elements, allowing for different levels of highlighting. For example, tapping a text element can increase or decrease its highlight level by 0-1, 0-3, 0-5, or other ranges, indicating importance, selection status, or highlight level.
[0062] Software can offer users different highlight levels that are displayed in different visual styles. For example, highlight levels may be associated with different display colors. This color can appear as the background color, border, text itself, or icon color (such as a bookmark) of the highlighted text, indicating to the user that the text is highlighted.
[0063] The software may also display a highlight screen where the user can review the highlighted text elements. The software may provide a highlight screen 930 where the highlighted text elements can be filtered or sorted based on the highlight level. The software may provide a highlight screen 930 where the user can start reading from that point or return to the reading screen 400 by tapping the highlighted text element, using another UI function for this purpose, or otherwise indicating an intention to move to that text element. This highlight screen, query or selection process, or navigation process may be used in combination with other text element parameters. For example, Boolean logic may be used to query or filter text elements based on selection level and text importance estimates, selection level, or whether they contain keywords, or other criteria based on text element parameters. The software may provide means to save or export the highlighted or selected text elements, or the text elements obtained as a result of this selection process.
[0064] User-adjustable reading speed, related UI elements The software may provide the user with means to control the content reading / consumption rate. Examples of controlling reading speed include a UIS slider 406, UIS buttons to increase or decrease the reading speed, and a UIS indicator 409 that shows the current or intended speed. The reading speed can be selected as a multiple of the standard reading speed, for example, using 2x or 200% to indicate that the content is displayed at twice the standard speed. The software may also provide algorithmic adjustments for the reading speed.
[0065] The software may provide a means to control the content reading or consumption rate. This control mechanism could be a user interface system (UIS) element such as a slider 406, buttons 344 to increase or decrease the reading speed, or UIS indicators 303, 416, 417 that display the current or intended speed, a numerical input or selector, or other types of UIS input. The reading speed is displayed and selectable as a multiple of the standard reading speed. For example, the software may be set to indicate that selecting "2x" or "200%" will display the document at twice the standard speed. This software feature allows the user to customize the reading experience according to their individual reading speed and comprehension level. This reading speed is saved as a user profile setting.
[0066] In addition to manual control, software may offer features that automatically control the speed at which content is read or consumed. The system uses machine learning algorithms to analyze the user's reading behavior and automatically adjusts the reading speed accordingly. The software provides a reading experience optimized for the user's individual reading speed and comprehension level. The software dynamically adjusts the reading speed based on the user's interaction with the content. For example, if the user frequently pauses, re-examines content, or takes a long time to reach the end of a text element using eye-tracking software, the software will automatically decrease the reading speed. Conversely, if the user rarely pauses and progresses quickly through the content, the software will increase the reading speed. This dynamic software adjustment helps maintain an optimal balance between reading speed and comprehension.
[0067] Eye tracking The software may use eye tracking to evaluate user intent and commands. The software may provide features that indicate the user is ready to take action through eye movements and eye positions measured using eye tracking. The software may use eye tracking to determine whether the user has fixed their gaze on a button or screen location indicating a command (e.g., a command indicating that additional content is ready). The software may use eye tracking to determine whether the user is gazing or paying attention to a location near or containing the last word of already displayed content, and provide features that detect this target if it indicates that the user is ready to proceed to the next content. If the user is gazing on this target indicating readiness to proceed, the software may interpret this as a command to display the next text element or content. The software may allow the user to specify other types of controls for controlling the progression of content. This may include features using buttons in the user interface to pause, fast forward, rewind, reverse fast forward, or go back a defined number of text items.320 The software allows the user to specify commands to display content at the beginning of the current sentence, the previous text sentence, the beginning of the current paragraph, the beginning of the current section or chapter, the beginning of the next sentence, the beginning of the next paragraph, or the beginning of the next section. The software allows the user to specify these instructions by fixating on screen elements 320 (which the user understands the meaning of). For example, this could be done by fixating on a visual representation of a button or icon, or by tapping or clicking that button or icon, or by the user fixing on a visual representation of a text element displayed on the device screen (including user interface system elements 310) to indicate that it is ready to display.
[0068] Software may provide features that determine if a user intends to continue reading or interacting with text, or is paying attention to text, when the user directs their gaze within a region of interest containing text. Software may provide features that determine if a user is not interacting with or paying attention to text when the user looks away from the region of interest or when the time spent looking outside the region of interest exceeds a threshold. Software may provide that this information is used to calculate statistics, such as the time the user spent interacting with a particular text element or document. Software may provide options that the user can make by gazing at UIS elements. For example, software may provide a means for the user to choose to proceed to the display of the next text element by gazing at the end of the current text element or by gazing at a button or UIS indicator that shows how to proceed to the next text element. Software may provide a means for the user to activate navigation or other control elements by gazing at an element or gazing at an element for a defined period of time.
[0069] Eye tracking, estimation of reading position and / or reading speed using eye tracking. The software can also automatically adjust reading speed using eye tracking. For example, if eye tracking detects that the user's gaze position or focus target has reached the end of a text element, the software will adjust the reading speed accordingly. The user's reading speed is calculated by dividing the number of characters or words in a text element by the time from when the text element was first displayed or when the user first fixated on the text element until the end of the text element was reached. The software can also calculate the user's average time spent per character across multiple text elements, which can provide insights into the user's reading speed and comprehension level. For example, when tracking a saccade where the user moves their eyes to a new fixed target, the software can calculate the number of characters in the text the user jumped from the previous saccade's fixed point to the start of the new saccade (from the start time of the previous fixed point to the end time of the previous fixed period). The reading speed during that period can be calculated, for example, by the difference between the number of characters in the text element the user was fixated on and the time spent fixating on that text element: number of characters / (end time of fixation - start time of fixation). By calculating this metric for multiple text elements, it is possible to calculate summary statistics of a user's reading speed (e.g., characters per minute, words per minute, text elements per minute) over a fixed period of time while reading a sentence. These summary statistics can be used to estimate a user's overall reading speed or the reading speed of a specific text element. For example, a user's reading speed can be estimated as words per minute, which is the average or median of multiple measurements. The software's reading speed may automatically adjust to the user's reading speed. The software's reading speed may automatically adjust to set a target speed above or below a multiple of the user's reading speed or a fixed value. The reading speed of a text element can also be calculated without using eye tracking, by the difference between the number of characters in the text element and the time the user has viewed the text element (e.g., #characters / (time tapped next sentence button - time tapped previous next sentence button)).You can compare reading speeds calculated using eye tracking with reading speeds calculated without eye tracking. The reading speed calculated for a text element may be saved as a parameter of the text element.
[0070] If eye-tracking indicates that a user frequently rereads text as they read (i.e., saccading to points in text prior to their current reading position), this may suggest difficulties with comprehension or concentration, and the software may slow down the reading speed to facilitate comprehension. If the software detects rereading while reading a text element, it may extend the display time of the text element or slow down the reading speed of the text element, for example, to allow for rereading of the text that was reread. Similarly, the software may measure the user's reading behavior patterns. Patterns that deviate from linear reading (such as frequent skipping or jumping between sections) may suggest difficulties in comprehending the content or problems with reading speed, and the software may trigger adjustments to the reading speed. By leveraging eye-tracking data, the software can provide a more personalized and adaptive reading experience tailored to the user's specific reading habits and abilities.
[0071] Text rewriting and text zooming features Automatic text rewriting, shortening, and zooming of text of multiple lengths. The software may offer a feature that allows the user to select a “text zoom level” of 400. This setting specifies the length of text displayed. This feature allows the user to adjust their level of engagement with detailed information and customize their reading experience. For example, the software may offer a feature that automatically summarizes the initial text, making it concise, shortening it to a shorter length, recreating it in a different style, or expanding it to display more detail. The text compression or shortening process may be referred to as part of the text zoom process. The software may offer a feature that enables the user to read text elements or documents more quickly, more efficiently, or with improved comprehension. The software may offer a feature that makes text more concise without removing conceptual content, which is similar to digital “lossless compression.” The software may offer a feature that allows the user to query, filter, or select important elements from the text, and may offer a feature to speed up text browsing by extracting elements that match the user’s keyword selection or other input. This feature is similar to intentional “loss compression” and may remove unnecessary portions of text.
[0072] The software may offer the ability to compress text to various percentages of its original length. The software may offer the ability to compress text to any length of its original length, including, but not limited to, 1%, 2%, 5%, 10%, 20%, 25%, 33%, 50%, 66%, 75%, 80%, 90%, 100%, etc. The software may offer the ability to expand text to any length, including, but not limited to, 101%, 102%, 105%, 110%, 120%, 125%, 133%, 150%, 166%, 175%, 180%, 190%, 200%, 300%, 400%, 1000% or more of the original length. The software may offer users a wide range of options, from summaries to full texts and more detailed versions. The text may be expanded by the software to exceed the original character count. The software may add detailed explanations and examples to the original text, providing more content related to the topic.
[0073] Software may offer features that automatically complete the process of summarizing, expanding, or rewriting text using algorithms. The summarizing or expanding process may be completed automatically using algorithms that leverage AI or language models. For example, "Summarize to about 50% of the original text: <input text>By inputting a prompt such as "Select the abbreviated text below that best conveys the same meaning as the original text" into an AI language model like daVinci Resolve or GPT, abbreviated text is generated. This process can be repeated to create multiple variations of the generated text. The variations of the generated text can be selected for their appropriate length and whether they adequately convey similar meaning and information to the original text. The following sections provide example instructions. These instructions are provided to AI and language models, including GPT4, Llama, or other models to be developed in the future, and used to perform specified tasks. This creation and selection process may be assisted, edited, updated, or completed by a human. The software may provide the ability to complete the selection process by algorithm or AI. For example, use a prompt such as: "Select the abbreviated text below that best conveys the same meaning as the original text: Abbreviated Text 1:<shortened text1> Short text 2:<shortened text2> Original text:<original text> This shortening or expansion may be partially based on user-selected keywords, concepts, queries, questions, prior reading, knowledge level, and language level. This summarization or expansion may be partially based on part of speech, word frequency in the corpus, or word importance / information content.
[0074] Text rewriting and real-time rewriting The text in a document may be rewritten in different versions, such as at the sentence, paragraph, section, or document level. This rewriting process may occur before loading or in real time. Pre-load rewriting may rewrite text elements before they are displayed to the user. Real-time rewriting may rewrite text elements after the previous text element has started to be displayed. In this case, "before rewriting" or "after rewriting" may refer to before or after the algorithmic rewriting of a text element has begun or completed. Text rewriting may be done manually or automatically. For example, algorithms that leverage artificial intelligence (AI) or large-scale language models may be used. In reading technology, text rewriting may be used to allow users to customize their reading experience based on the level of detail of the text.
[0075] Relationships between revised texts The software may maintain pointers or links between corresponding elements in different rewritten versions of the text. This feature allows the software to switch between different text versions while maintaining the user's position. This feature can improve the user's ability to navigate within the text.
[0076] Selection based on text priority The software may offer the ability to implement text zoom functionality using sentence selection instead of, or in combination with, sentence rewriting. For example, to create a version of text that is half the length of the original, the software might select sentences with an importance text element parameter of 50% or more compared to the average of the text. Furthermore, the software may offer the ability to use shortened versions of text elements in combination with selection based on text element parameters. For example, if a selected text version (original or rewritten) has an importance text element parameter of 50% or more compared to the average of the text, and multiple text element versions meet this criterion, the software can offer a text version that selects the shortest version among them. The software may offer the ability to select text elements based on their parameters (e.g., importance) and algorithmically achieve an overall length similar to the zoom level selected by the user. For example, if the user selects a 2x text zoom, the software queries sentences based on importance levels and incrementally adds additional sentences until the total selected length is approximately half the original length. The software can determine the parameters of text elements based on the algorithmically determined user keyword or phrase selection of the text elements, or their relevance to a question (e.g., using AI). This feature allows the software to personalize text to match the user's specific interests and queries.
[0077] Text display time The user interface system displays elements that show the duration of text or sections of text as word count, character count, sentence count, percentage of text, or display time. This feature allows users to clearly understand the length of the text and improves their ability to manage reading time.
[0078] Select the display time for your desired text. The user interface system may display an element that allows the user to select the desired length of text by word count, character count, or display time. The software then recreates the text to match the desired length. This feature allows the user to control the length of their reading session while still covering the same portion of text.
[0079] Text zoom and corresponding sentence position Switch to text version The user interface system provides a means for the user to switch between different text versions. When the user selects a different version, the software maintains the correspondence between different points in the text. This feature allows the user to switch between different text versions while maintaining their current position within multiple versions, 408, 346, 348.
[0080] Display the corresponding text version Software may allow you to display different text versions, showing their corresponding positions within the text. For example, by displaying them side by side. This feature allows users to compare different text versions and view the differences and edits between versions using the 'DIFF' function.
[0081] After compressing or expanding the text to the desired length, users can select the "zoom level" of the text they want to see. This allows users to adjust the level of detail and complexity of the text they are reading, optimizing readability to suit their personal preferences and learning goals.
[0082] Text zoom Text zoom level selection The software provides user interface elements (UIS) such as sliders, buttons, and voice commands, allowing users to select the zoom level of the text. For example, users may be able to select 1x, 2x, 100%, 200%, or any other arbitrary ratio or percentage. This software feature allows users to control the version of the text displayed at any time, improving the reading experience. For example, if a user selects 2x text zoom, the text may be displayed re-edited to approximately half the length of the original document text. The software may also provide the ability to display to the user, via a user interaction system, an estimated time required for the entire document or a portion of it (in terms of characters, words, reading time, or audio playback time), based on the selected text version. For example, the software may display to the user the amount of time already completed within the current chapter or book, along with an estimated time remaining.
[0083] Text zoom example Text zoom software generates different versions of input text. The software automatically recreates the original text and rewrites it into one or more versions, such as with different zoom levels, outline format, simplified versions, paragraph headings, different languages, or other versions. The software simplifies the text, for example, creating simplified sentences or versions tailored to the target audience's readability. It may also create heading or outline versions. As an example, multiple versions of a paragraph text element are shown below.
[0084] Text zoom 1x, original: "If you were to take away all the buildings, classrooms, teachers, and industries from the Hamptons and give the people living there the opportunity to come into daily contact with General Armstrong, that alone would have been a liberal education. The older I get, the more convinced I become that the education you get from books and expensive equipment is no match for the education you get from coming into contact with great people."
[0085] A simplified version: "Imagine if the Hamptons had no buildings, classrooms, teachers, or industry. Instead, their inhabitants could meet General Armstrong every day. That experience alone would have been a complete education. As I get older, I've come to believe more strongly that education from books and expensive equipment is not as valuable as education from meeting great figures."
[0086] Text zoom 2x: "I believe true education comes from interaction with great individuals rather than from resources. I hope schools will also recognize the value of learning from people and experiences rather than from books." Text zoom 4x: "Education comes from people, not from books. I think schools should place more emphasis on learning from the experiences of others." Text zoom 10x: "Greatness teaches best." Text zoom 10x, Spanish: "La Grandeza Ensena Mejor" Text zoom 10%, Spanglish: "Greatness Ensena Best" Paragraph heading: "Education through contact with great minds." In these examples, the zoom level of the selected text (e.g., 1 / 2, 1 / 4, 1 / 10 (ratio to the length of the original text)) may not be accurately reproduced. The resulting text is close in length to 1 / 2, 1 / 4, 1 / 10 (ratio to the length of the original text), but not exactly the same. The software may also provide users with a more accurate estimate of the zoom factor. For example, you might compare the length of the original text with different versions of the text and show a ratio based on character count, word count, audio playback time, display time, or other comparison metrics.
[0087] The above example was created using an AI prompt like the following: "Rewrite the provided text to a shorter length based on the specified zoom level. For example, at 2x zoom, rewrite the text so that it is approximately half the length of the original. In the rewritten text, use (short, simple sentences) and retain the original style and content. Input text: <input text>Zoom level:<zoom level> This is just one example; you can use different prompt text to get different results.
[0088] The software may generate different versions based on the AI prompt. These may include hierarchical formats (hierarchical outlines, bullet points, lists, etc.). Example of an AI prompt for outline creation: "Please rewrite the following text in outline format: <input text> This is just one example, and you can use different prompt text to get different results. The following example shows an example of the result:
[0089] From simple rewrites to outline versions including hierarchical levels: Education through contact with great thinkers Imagine if the Hamptons had absolutely no buildings, classrooms, teachers, or industries. Instead, imagine the residents meeting General Armstrong every day. This experience alone would have been a complete learning experience. As I've gotten older, I've come to strongly believe that education through books and expensive equipment is not as valuable as learning from encounters with great people.
[0090] A simplified, rewritten summary version with hierarchical levels. Education through contact with great figures Imagine if the Hamptons had absolutely no buildings, classrooms, teachers, or industries. What if, instead, the people of that town had met General Armstrong every day? This experience alone would have been a complete learning experience. As I've gotten older, I've come to strongly believe that education through books and expensive equipment is not as valuable as learning from encounters with great people.
[0091] Text Enlargement UIS Controller Text zoom based on selected text elements or sentence importance determined by an algorithm. The software may display text to the user filtered by the "importance" level of the text elements. Text elements can be selected in various ways. See the definition of selected text elements. For example, text elements whose importance is calculated to be above a selected threshold may be omitted from the display or selected for display. In this case, the software may skip or ignore the filtered text elements. The user may have the experience of seeing the remaining text elements as if the filtered text elements were not displayed. The software may perform calculations based on the selection of text elements and display the results to the user. For example, the software may allow the user to select a zoom level for the text, and then the software may select elements from the text elements within the selected text zoom level and then calculate the remaining time in the document based on the selected text elements. For example, it may calculate based on a value obtained by multiplying the total audio duration, total number of characters or words of text elements by a coefficient, such as a reading speed rate.
[0092] A single sentence displayed on the screen is substantially visually distinct from other content.
[0093] Text elements are displayed to the user individually in a way that makes them substantially visually distinct from other content. For example, when reading a document such as a book, individual sentences within the document's text are displayed to the user in a way that makes them substantially visually distinct from other displayed elements. Text elements are implemented in various ways to make them substantially visually distinct from the rest of the document.
[0094] The software can make text substantially visually distinct from the rest of the document by displaying only a single text element within a rectangle that does not contain any other text elements in the document. The software can make text substantially visually distinct from the rest of the document by displaying only a single text element within a rectangle that does not contain any other text elements in the document. The text can be made substantially visually distinct from the rest of the document by the software displaying only a single text element within a rectangle that does not contain any other text elements in the document. The text can be made substantially visually distinct from the rest of the document by the software displaying only a single text element within a rectangle that does not contain any other text elements in the document. In this case, the other text elements in the document include those that change as the user progresses through the document.
[0095] User testing, metrics, and gamification User reading speed, reading volume / amount, and other user metrics The software may provide features to estimate, measure, or obtain the user's reading speed and / or reading volume through the UI. The software may provide the user with a visual UI or audio notification displaying metrics related to reading speed or reading volume (e.g., number of words read, reading time, characters per minute, words per minute, sentences or text elements per minute). Reading speed, reading volume, and other metrics may be displayed by the software as numerical values, bars or shapes, or other graphic elements whose size, color, or other characteristics change on the display. Reading speed, reading volume, and other metrics may be provided by the software as audio (e.g., text-to-speech). Reading speed, reading volume, and other metrics may be provided by the software as audio icons or other audio indicators. For example, the software may play a sound to indicate that the user's speed has reached a target level, increased or decreased, or exceeded or fallen below a threshold. This also includes indicating that the user has finished reading a text element, sentence, paragraph, chapter, section, document, or reached the target volume of the book.
[0096] Reading speed and other metrics may include elements derived from tests, such as comprehension tests, retention tests, or other testing methods (see relevant sections). Reading speed metrics may include metrics such as estimated words or sentences understood per hour, or estimated words or sentences retained or remembered per hour. User reading speed metrics may be provided for the current user or for one or more other users or user groups. Reading speed metrics may compare the current user's metrics to those of other users or user groups. For example, the software may display to the user the ratio of their reading speed to the reading speed of other users (or user groups). Other user groups may include users who share (or do not share) one or more characteristics with the user, such as age, gender, education level, occupation, reading skill level, game level, team, or other user profile data. Other user data used by the software may be previously collected data or data collected from one or more other users using the software simultaneously, enabling real-time comparison, competition, gameplay, and multiplayer reading experiences. Software may use eye-tracking to estimate the amount of time a user spends looking at a text element, a group of text elements, or a document. This estimate may be used by the software as an estimate of reading time, attention span, or focus time.
[0097] The software may include features to calibrate the user's reading speed or compare reading speed at multiple points in time. It may also include an option to display these results to the user. The software may offer a feature that measures the time it takes the user to read a sample text of known length and estimates the user's reading speed based on this information. This calibration process may be repeated periodically to accommodate changes in the user's reading speed. The software may offer a feature that allows the user to set reading speed goals, such as a target number of words per minute or the amount of material to read within a certain period. This period can be selected by the user, ranging from short periods like reading sessions to longer periods like months. The software tracks the user's progress toward achieving these goals and provides feedback and encouragement. Within the user interaction system, the software can display progress feedback, reading speed, reading volume, and other metrics as visual indicators such as progress bars, badges, visual rewards, and charts, as well as providing encouragement through audio feedback (voice icons or other sounds, e.g., voice or other sounds).
[0098] The software may offer features to help users improve their reading speed. This may include exercises to improve reading speed (e.g., increasing presentation speed) and features that display tips and advice for reading faster. The software provides feedback on the user's performance in these exercises and helps identify areas for improvement. The software may also measure additional metrics such as reading volume per hour, consecutive days of use, and comprehension score.
[0099] In addition to measuring metrics such as reading volume per hour, consecutive reading days, and comprehension scores, the software may calculate or measure other metrics to gain a more comprehensive understanding of the user's reading habits and performance. These additional metrics may include, but are not limited to,: Reading speed: The software may calculate the user's reading speed in units such as words per minute (WPM), characters per minute (CPM), or sentences per minute (SPM), and may further incorporate metrics based on comprehension and retention. Reading consistency: The software tracks the user's reading consistency, recording the number of consecutive reading days, consecutive reading days, average reading time per day, or variation in reading time across different days. This helps to evaluate the user's reading habits and commitment. Consecutive reading streaks may be rewarded by the software through points, awards, or gamification. The software may provide means for posting consecutive reading streaks and other awards to communication services, contacts, or social media, or provide the ability to create responsibility-sharing partners or groups. Reading Comprehension: Software may assess a user's reading comprehension by presenting them with questions about the text, asking them to summarize the text, or making predictions based on the text. The user's responses are scored and compared to the correct answers to determine the user's level of understanding. Software may assess comprehension in a variety of ways, including multiple-choice questions, essay questions, or other methods that are scored automatically by humans or software. Reading Retention: Software may assess a user's reading retention by asking them questions about the text after a certain period of time has passed since the text was read (e.g., hours, days, weeks, months, years). The user's responses are scored and compared to the correct answers to determine the user's level of retention. Reading Engagement: Software measures a user's reading engagement by tracking their interactions with the text (e.g., eye tracking, time spent on the text, highlighting, note-taking, bookmarking, sharing, etc.).Reading Difficulty: The software may estimate the difficulty of text elements based on factors such as vocabulary complexity, sentence length, information density, or familiarity with the topic, and may use AI to estimate reading difficulty. Reading Level: The software may estimate the user's reading level based on the user's reading level, speed, comprehension, retention, or other metrics of the text elements the user has read. This helps in matching the user with appropriate reading material. The software may provide reading recommendations. These recommendations may be based on materials similar to or favorably received by the user, materials read or favorably received by similar users, materials at a similar reading level to the user, or topics similar to topics the user has previously read. Comparative Metrics: The software may calculate or provide metrics that compare the current user's metrics to metrics of different users or different user group metrics. For example, the software may calculate percentiles of a user's metrics in the distribution of different user groups. Different user groups are selected based on user profile data and may include user profile data similar to or different from the current user. For example, if the current user is a 24-year-old male with a university degree, the software may display percentiles for reading speed, reading level, or amount of material read over a certain period, compared to other users (users with similar or different user profile data, such as being 20-25 years old, university graduates, male or female, etc.). Reading progress: The software monitors the user's reading progress by tracking the number of pages read, the number of chapters completed, or the completion rate of books or documents. Reading errors: If the user reads aloud and it is recorded by the software, the software will detect and count reading errors such as incorrect quiz answers, pronunciation errors, omissions, insertions, and substitutions.Reading Settings: The software may record your reading preferences (e.g., preferred reading time, preferred reading environment, preferred reading mode (e.g., quiet visual reading, audiobook listening, multimodal, visual styling features, audio styling features), preferred reading material (e.g., genre, author, theme)). These may be stored in your user profile. User profiles may be shared across multiple devices and platforms. For example, they may be shared based on user accounts accessible across devices.
[0100] Multiplayer mode The software may offer a multiplayer mode or multi-reader mode that includes multiple users (simultaneously or sequentially). The software may display information about other users to the current user, including other users' profile data, reading metrics, reading position, selections, and comments. The software may offer a gaming experience or competition between users, for example, including a feature that allows reading races between two or more users. This can be done in either a simultaneous mode or a sequential mode, where users can see other users' positions in content and data in real time. In sequential multiplayer mode, the software can simulate real-time simultaneous reading by calculating and displaying the same information that would be displayed if other readers were reading simultaneously, based on the start times of other readers' reading sessions.
[0101] The software allows people to read collaboratively or competitively in teams. Users can see the position of other readers in the text who are reading simultaneously (synchronously) or who have read previously (asynchronously, tracking the relative time from the start time of each participant's reading). Readers or teams can collect points, find “targets” or objectives (words, phrases, answers, concepts, etc.) within the text, and mark them when they find them.
[0102] The software may offer additional features for multiplayer mode. These may include, but are not limited to: User interaction: The software may offer features that enable interaction between users. For example, sharing reading progress, posting comments, or sharing annotations. Real-time and delayed competition: Multiplayer mode may offer features that enable real-time and delayed competition. This makes it possible to simulate a live contest even when users are not reading at the same time. For example, this may include a feature that shows users the reading progress of other users in real time. User performance metrics: The software may display user-specific performance metrics to other users, which may be used as a basis for competition or collaboration. Reading races: The software may facilitate reading races by displaying the user's position in the text in real time or in a simulated real-time environment. Content synchronization: The software may synchronize reading content across multiple users, allowing them to share elements of the reading experience, such as users viewing the same content. Remote synchronization: The software may synchronize content across multiple devices, allowing users to track content and presentations in real time. Simultaneous distribution and / or real-time translation engine: The software may provide simultaneous distribution to multiple devices and the ability to translate text content into selected languages for different users during simultaneous distribution. Language setting profiles: The software may allow users to specify language settings in profiles, and the software may provide the ability to apply them automatically. This functionality also applies during simultaneous distribution and concurrent sessions with multiple users.
[0103] Text input, scoring, and gamification features The software may include testing, scoring, and gamification features. Specifically, these may include, but are not limited to: Progressive levels: A level-based system where users progress to more difficult levels as their skills improve. Experience Points (XP): Users can earn points by completing activities, such as finishing reading a specific text element or the amount of text read, and these points can be used to track progress. Leaderboards: Leaderboards display or rank scores and other reading metrics for multiple users. Leaderboards may compare users based on reading volume, reading speed, comprehension, or completion of a specific text or document. Streaks: The software may measure and display information related to streaks. For example, the software may measure or display the number of days a user has continued reading or the number of days they have achieved their reading goals. The software may offer features to "recover" from breaks in the stream. The software may offer informational displays and rewards for consistent use over time (e.g., hourly, daily, weekly). The software may offer the ability to post streams to responsibility-sharing partners, contacts, social media, communication software, or other locations. Achievement Badges: The software may allow users to earn badges for achieving milestones or completing specific challenges. For example, reading volume, reading speed, completion of specific content, challenges such as reading one book a day, one book a week, one book a month, or one sentence a day, or other reading volume challenges. The software may offer the ability for users to create their own challenges and milestones to customize their reading experience to their own goals. The software may provide badges adaptively based on the user's reading habits and adjust the difficulty and type of milestones based on past achievements. Non-Player Characters (NPCs): The software may offer non-player characters (NPCs).For example, software may provide users with a multiplayer mode experience by offering NPCs as some or all of the other users. Software may provide NPCs in reading races or competitions. Software may provide NPCs that mimic any interaction a user might have with other users within the software. Software may use AI models to create NPCs and determine their behavior. Timed challenges: Users may be given a certain amount of time to complete tasks, such as reading a section of text. Heart / life systems: Software can provide gamification elements, such as users starting with a certain number of lives or health points, losing them for mistakes such as incorrect answers, and gaining them for successes (e.g., reading sentences aloud or finding target elements). This can add a risk / reward element to learning. Software can provide a function that determines the gain or loss of health points based on the amount and speed of the user's reading, or the reading of specific target elements. Interactive stories: Software may provide interactive stories where the user's skills directly affect the outcome. For example, a system where the content changes depending on the level of correct answers. Chatbots: The software may offer features that allow users to practice conversational skills with an AI chatbot, interact with it, take quizzes and questions, and receive feedback and scores. Peer Challenges: The software may offer features that allow users to challenge friends or other users in reading races, reading volume competitions, language duels, or quizzes. Users can participate in challenges automatically arranged by the software. The software may group challenge participants based on reader profile information or reader metrics. For example, it may select readers with the same reading level or reading volume to read the same content within a specified period. Users can compete against each other for scores.Unlockable Content: The software may offer features that allow users to unlock new content (e.g., books, lessons, levels, features). The software may offer features that allow users to unlock content by progressing through previous content, achieving target scores, or fulfilling other achievement conditions within the software. The software may offer features that allow users to unlock content through payments with real or virtual currency, referrals, registrations, or other actions. Virtual Currency: The software may offer features that allow users to earn points or virtual currency by completing tasks. Points or virtual currency can be used to purchase in-app items and features. These items and features may include content, reading material, avatar outfits and appearance features, skills, etc. Personalized Learning Paths: The software may offer features that test the user's learned skills and language skills, or create personalized learning paths based on the user's strengths and weaknesses. Spaced Repetition Quizzes: The software may offer features that periodically test the user's previously learned material, for example, to measure or reinforce long-term memory. Grammar Challenges: Specific challenges or quizzes may be designed to test and reinforce grammar rules. Vocabulary Expansion Games: Games specifically designed to expand the user's vocabulary may be provided. Pronunciation Practice: Features that use speech recognition technology to assess the user's pronunciation skills may be offered. Listening Comprehension Quizzes: Users are tested on their listening comprehension in various contexts. Writing Practice: The software provides features that assess the user's ability to write correctly on a given theme or document, or in the target language. Users can input written text or utterances. The software may also provide features that automatically evaluate the user's input, such as using AI to determine the user's comprehension of text elements or documents.For example, the software might use an AI prompt like this: "Based on this user's summary, determine their comprehension level (0-100) of this reading text. Reading text:<reading text> User summary:<user’s summary> Reading comprehension quizzes: Software may offer a feature that tests a user's understanding of presented content. The software may include multiple-choice questions in reading comprehension quizzes and provide input fields that ask the user to enter a summary of a text element or document, or to enter a question about a text element or document. The software may offer a feature that automatically scores these questions or quizzes, for example, by using AI to evaluate the answers. For example, the software might use an AI prompt: "Assess the user's comprehension level (0-100) from this user's answer. Text:<reading text> .question:. <question>User's response:<user’s answer> .
[0104] User testing using complex functional questions The software may provide a user interface system that presents questions to the user through a multi-function user interface and assigns a score based on a combination of those functions (Figure 6, 600). For example, the software may provide the user with a multiple-choice question that includes one or more additional question functions. For example, the software may provide the user with a multiple-choice question that includes a confidence score provided by the user as an additional question function. For example, the software may provide the user with a multiple-choice question that includes an independent confidence score for each of the potential answers to the question as an additional question function. The software may offer to score such questions by combining whether the user provided a correct answer with a confidence rating. For example, a positive value could be assigned to a correct answer, a negative value to an incorrect answer, and a score could be calculated by weighting or multiplying these by the user's confidence rating. To discourage guesswork, the software may present the user with the possibility of a negative score, thereby providing a more accurate assessment of the user's knowledge level. The software may offer the potential to improve the ability to assess a user's knowledge of a question by using confidence ratings, thereby further reducing the impact of guesswork, improving the sensitivity and specificity of the question, and enhancing the ability to evaluate a user's knowledge of a response or material. The software may provide positive / negative scoring and weighting of confidence ratings for the entire question or components of the answer (e.g., answer choices). In addition, the software may provide the ability to measure the time it takes a user to answer a question.
[0105] Software may provide features that allow users to rank the importance of different potential answers or components of an answer (Figure 6, 610). For example, in the case of a multiple-choice question, software may provide multiple answers and a means for users to rank the answers based on their relative value or importance to the question. For example, in a multiple-choice question, software may provide multiple answers and a means for users to quantitatively evaluate the value of the answers based on their relative value or importance. This may include numerical rating scales, visual analog scales, or methods of positioning answers along one or more scales to indicate their importance. For example, in a multiple-choice question, software may provide multiple answers and a means for rearranging the answers. For example, this may involve dragging answers or using a drag-and-drop user interface system. Software may provide a means for scoring user answers by combining quantitative evaluations of potential answers with correspondences or correlations to correct evaluations. Software may also provide a means for users to indicate that an answer is incorrect, or to invert the truth value or rewrite the answer until it is correct.
[0106] A user's score may be calculated in combination with other factors, including the time it took the user to answer. For example, the score may be weighted according to the time taken to answer, with a higher score for shorter times and a penalty for longer times.
[0107] Software may provide a means for users to evaluate or score different parts of an answer consisting of one or more components to a question. For example, by placing the user in the position of a student rather than a grader, they can fulfill that role regardless of whether they are actually a grader or a reader / learner. For example, if a user is provided with an "essay-style answer" or a paragraph of text as an answer to a question, the user may have a means to assign numerical importance scores to text elements within the answer, or to invert the truth value of elements, rewrite them to the opposite meaning, or have the software automatically rewrite them to the opposite meaning. For example, the user can tap sentences within a paragraph to highlight them at different levels of importance or invert them to the opposite sentence. The software then calculates the user's overall score based on the evaluations and scores the user has given to the provided answer. For example, if a user is asked to score or evaluate an answer consisting of five sentences, and the best or correct scoring result for each sentence in the answer is [-1,0,2,5,1], this means that the first sentence is false, and the remaining four sentences have relative importance of 0, 2, 5, and 1 for correctly answering the question. If a user taps a sentence in their response a number of times measured by the software and specifies [-1,3,3,4,2] as their score, the user's score is calculated by combining one or more correct or target multipart scores. Multipart scores can be combined for any multipart question or series of questions. For example, the user's overall score can be determined by comparing the correct answer [-1,0,2,5,1] with the user's response [-1,3,3,4,2] and calculating the dot product of the vectors, the mean error between the two, the correlation, or the correlation coefficient. A user's score can be estimated by comparing it to other users, for example, to determine the similarity of responses between high-scoring and low-scoring users.
[0108] The software can provide the ability to weight user scores according to the difficulty of the question or its components. It can also provide the ability to compare user scores to the distribution of scores in different groups of users, or to perform curve evaluations. For example, it can calculate the difference from the group mean, calculate normalized scores within a group, calculate z-scores within a group, or calculate percentile scores within a group.
[0109] The text is automatically split into visually separated chunks. Software may offer the ability to automatically divide text into visually separated chunks. For example, software may divide a sentence into independent phrases. Software may set top, bottom, left, and / or right margins or padding to visually separate the chunks from other phrases, and these settings may differ from the margins or padding settings that separate the words within the chunks. Software may offer the ability to apply text styles to chunks individually and display them as visually distinguishable units.
[0110] Text style, visual and audio Text styling, audio styling, video styling The software may allow styling of text elements. The software may allow styling of audio elements. The software may allow styling of video elements. The software may provide the ability to display text or text elements or audio elements (which may include multiple text styles) to the user. The software may provide the ability to automatically style text elements and / or audio elements. The software may provide the ability to style text elements and / or audio elements by user or a combination of automatic and user styling. The software may provide the ability to style text elements and / or audio elements to highlight text elements or types of text elements. The software may provide the ability to style content to improve reading speed or efficiency. The software may provide audio filtering, including bandpass filtering, bandstop filtering, and filtering to match the user's hearing curve or hearing. The software may provide UI elements, including equalizers, graphic equalizers, volume, treble, bass, stereo / mono, waveform display, spectrum or spectrogram display, audio effect selection, audio effect settings, mixer, or other audio filtering and enhancement features. The software may store visual and / or audio styling data in the user profile, which may then be used to create similar experiences, for example, across sessions, devices, or platforms.
[0111] The software may offer one of the following:
[0112] Context-Based Emphasis Algorithms: Software may implement methods for emphasizing text based on contextually relevant criteria dynamically determined by the text's content itself. For example, software may provide algorithms that identify text elements based on the text's context and its role in the text's narrative or informational structure. Dynamic Phrase Chunking and Styling: Software may provide systems that automatically divide text into logical chunks or phrases and apply styling based on the grammatical and semantic importance of those chunks. This importance may vary depending on the user and content. Semantic Weight Mapping: Software may provide a process for assigning "semantic weights" to words and phrases within a text document. These weights determine the text's styling. Predictive Styling Based on Reading Patterns: Software may analyze a user's past reading behavior to predict words and phrases that the user is likely to consider important and automatically apply a unique style to such words and phrases in future content. Multi-Layer Styling Application: Software may provide the ability to simultaneously apply multiple styles to text elements based on a combination of factors, such as grammatical categories, parts of speech, semantic importance, and user-defined preferences, creating a multi-dimensional emphasis and styling scheme. The software may apply one or more text or audio styles to text elements. Real-time text display adjustment: The system provides the ability to adjust the display of text in real time in response to user feedback and input. For example, this may include changing the style of words or phrases when the user pauses or rereads a section or performs UIS input.
[0113] Multiple visual styles The software can provide the ability to display text containing multiple text styles to the user. The software can provide the ability to apply styles to text elements. The software can provide the ability to automatically style text elements. The software can provide the ability to automatically style text elements by applying 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or more styles within a single sentence. The software may provide the ability to automatically style text elements and apply 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 styles to a single word. The software may provide the ability to automatically style text elements and apply 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 styles to a single character. The software may provide the ability to automatically style text elements and apply 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 styles to a single phrase. The software may provide the ability to automatically detect phrases or phrase breaks within a sentence. The software may provide the ability to automatically detect phrases or phrase breaks within a sentence using algorithms that follow language rules or rules that do not depend on language rules (such as using a specified maximum / minimum number of characters, words, or spaces). The software may provide phrase detection capabilities, including language-based phrase break detection, AI-based phrase break detection, or LLM-based phrase break detection. The software may apply styles to phrases using automatically detected phrases or phrase breaks within a sentence. The software may provide the ability to apply styles to text elements through user styling, or a combination of automatic and user styling. The software may provide styling capabilities to provide text to the user to highlight text elements or types of elements. The software may provide styling capabilities to provide text to the user to improve readability and reading speed.
[0114] Multiple Styles for Words: The software may offer the ability to automatically apply multiple visual styles to different words or the same word within a sentence for visual display. The software may offer the ability to apply and display multiple visual styles to different words or the same word within a sentence based on word characteristics (e.g., inclusion in a group of keywords or key phrases, importance level, part of speech, user selection, other user selection, or other text element parameters). The software may automatically format text to display different words or phrases within a sentence using multiple different visual styles corresponding to ranges of values for text element parameters. For example, if a word's importance ranges from 0 to 10, the software may style the word using a corresponding opacity of 0 to 1, or a corresponding font size of 10 to 20px, or other styling parameters with a range or multiple values. The software may display different words or phrases within a sentence in multiple sizes. The software may automatically format text to display different words or phrases within a sentence using different sizes corresponding to ranges of values for text element parameters.
[0115] Multiple Character Styles and Style Changes within Words, Syllables, and Phrases: The software may automatically apply and display multiple visual styles to different characters within a word, syllable, or phrase. The software may consider character characteristics (e.g., character number / position within a word (left, right, center), character category grouping (e.g., vowel vs. consonant), frequency of the character in a corpus, dictionary, or mapping that assigns a level to each character and maps it to a style, the user's intention to designate that character as a saccade target while reading, and a measured or calculated probability that the user or past users will designate that character as a saccade target while reading). For example, the software may select characters within a word to emphasize and, based on calculated importance, display those characters with different font weights, bolding, different colors or opacities, fonts, or other text styles. For example, the software may bold the third character in a word while keeping the others bold, or bold the first character in a word, underline the middle character in a word, or make the third character from the right in a word red while keeping the others black, and so on. You can apply this. Examples are shown in 462 and 464. The software can also change the style across words, phrases, or entire key phrases. For example, the software can provide a gradient to a word from the left, right, top, bottom, or center, and the gradient can be a background color or other background gradient, or a gradient as a style for characters within a word or phrase (e.g., characters whose opacity gradually decreases from the beginning to the end of the word) 462, or other gradient styles (color changes, 3D rendering position, size, or other text styles) 1210, and so on, with a variety of styles to apply. The software can also apply styles to specific numbers of characters within a word. For example, it can increase the font weight of the first three characters of a word, or apply styles to the last three characters of a word, the first third of a word, the middle phrase of a word, the first phrase of a word, etc.
[0116] The software may automatically format text to display different words or phrases within a sentence using various visual styles that correspond to the range of values of the text element parameters, such as inclusion in a group of keywords or key phrases, importance level, part of speech, user selection, other user selections, or other text element parameters. For example, if a word's importance is set to a range from 0 to 10, the software may display the word styled with a corresponding opacity of 0 to 1, or a corresponding font size of 10 to 20px, or other formatting parameters with a range or multiple values. The software may display different words or phrases within a sentence in multiple sizes. The software automatically formats text to display different words or phrases within a sentence in different sizes that correspond to the range of values of the text element parameters.
[0117] The software may display different words or phrases within a sentence using multiple opacity levels. The software may automatically apply formatting to text to display different words or phrases within a sentence using different opacity ranges corresponding to the range of values of the text element parameter. The software may display different words or phrases within a sentence using multiple fonts. The software may automatically apply formatting to text to display different words or phrases within a sentence using different font types corresponding to the range of values of the text element parameter. The software may display different words or phrases within a sentence using different font weights corresponding to the range of values of the text element parameter. The software may automatically apply formatting to text to display different words or phrases within a sentence using different font weights corresponding to the range of values of the text element parameter. The software may display different words or phrases within a sentence using multiple colors. The software may automatically apply formatting to text to display different words or phrases within a sentence using different color ranges corresponding to the range of values of the text element parameter. The software may display different words or phrases within a sentence using multiple background colors. The software may automatically apply formatting to text to display different words or phrases within a sentence using different background color ranges corresponding to the range of values of the text element parameter. The software may display different words or phrases within a sentence using multiple types of borders. The software may automatically apply formatting to text to display different words or phrases within a sentence using ranges of different border styles corresponding to ranges of values for text element parameters. The software may display different words or phrases within a sentence using multiple types of text decorations.The software may automatically format text to display different words or phrases within a sentence by using variations of different text decorations corresponding to a range of values for text element parameters. The software may use multiple margin sizes to display different words or phrases within a sentence. The software may automatically format text to display different words or phrases within a sentence by using variations of different margin sizes corresponding to a range of values for text element parameters. The software may automatically format text to display different words or phrases within a sentence by using multiple padding sizes corresponding to a range of values for text element parameters. The software may use multiple text styles to display different words or phrases within a sentence by using any text style selected from Figures 12 and 1210. The software may automatically format text to display different words or phrases within a sentence by using a range of different text styles selected from Figure 12 corresponding to a range of values for text element parameters. For example, the software may apply a style that makes the font weight of the first syllable of a word larger than the remaining letters. For example: The software may apply a style that makes the font weight of the first 1, 2, 3, 4, and 5 letters of a word larger than the remaining letters. Examples of 1, 2, 3, forest, and feverish are shown below. The software may apply a style that increases the font weight of the first three letters if the word has more than three letters, and makes only the first letter bold for words with fewer than three letters. An example of this is shown below. The software may use a rule that increases the font weight of the first n letters in a word if the word length exceeds n*m+1 letters, where n and m are any combination of values from 1 to 10. The software may use a rule that applies a bold font weight to the first n% of letters in a word, where n is any value from 1 to 100%.The software may use a rule to display the first n% of characters in a word in bold. The value of n can be any value from 1 to 100%, and the maximum number of characters m can be any value from 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10. The software may use a rule to apply a bold font to the first m characters in a word if n is a value from 1 to 10. Here, the combination of n and m is selected from values from 1 to 10. The software may use any combination of these rules as a criterion when selecting style attributes for text elements. This may include using them in combination with other rules.
[0118] Multiple audio styles The software may provide users with the ability to play audio containing multiple audio styles. The software may provide text element styling capabilities. The software may provide automatic text element styling capabilities. The software may provide text element styling capabilities that allow users to automatically style text elements, or a combination of automatic and user styling. The software may provide styling capabilities to provide text to users in order to highlight text elements or types of text elements. The software may provide styling capabilities to provide text to users in order to improve readability.
[0119] The software may offer the ability to apply different audio styles to different words or phrases within a sentence. For example, the software may offer the ability to set different volumes for different words or phrases within a sentence. The software may offer the ability to set different silent periods for different words or phrases within a sentence. The software may offer the ability to set different silent periods for different words or phrases within a sentence. The software may offer the ability to set different stereo volumes (stereo / binaural channels or 3D audio positions) for different words or phrases within a sentence. The software may offer the ability to set different stereo positions for different words or phrases within a sentence. The software may offer the ability to set different pitches for different words or phrases within a sentence.
[0120] The software may apply multiple audio style gradients to different words or phrases within a sentence. The gradients may correspond to a series of increasing levels or to a function that defines the levels. The software may apply this gradient to different text elements based on text attributes (such as importance, word length, or other text element parameters). For example, the software may provide different volume gradients to different words or phrases within a sentence. For example, the software may apply volume gradients proportional to or related to the volume of a word based on its importance, keyword, key phrase, or part of speech. The software may apply different silence duration gradients to different words or phrases within a sentence. The software may provide different silence duration gradients to different words or phrases within a sentence. The software may provide different stereo volume (binaural channel or audio position) gradients to different words or phrases within a sentence. The software may provide different stereo position gradients to different words or phrases within a sentence. The software may provide different pitch gradients to different words or phrases within a sentence.
[0121] The software may display different audio words or phrases within a sentence in multiple audio styles, using any audio style selected from Figure 12, 1240. The software may also automatically apply audio styling to display different audio words or phrases within a sentence, using a range of different audio styles selected from Figure 12 that correspond to a range of values for text element parameters.
[0122] Pitch: The software may display different spoken words or phrases within a sentence using multiple pitches. The software may automatically apply speech styling to display different spoken words or phrases within a sentence using multiple pitches. The software may automatically apply speech styling to text and display different spoken words or phrases within a sentence using multiple pitches corresponding to a range of values for the text element parameter. Volume Level: The software may display different spoken words or phrases within a sentence using multiple volume levels. The software may automatically apply speech styling to display different spoken words or phrases within a sentence using a range of different volume levels corresponding to a range of values for the text element parameter. The software may automatically apply speech styling to text and represent different spoken words or phrases within a sentence using different volume levels corresponding to a range of values for the text element parameter. Speech Rate: The software may represent different spoken words or phrases within a sentence using multiple speech rates. The software may automatically apply speech styling to text and represent different spoken words or phrases within a sentence using different speech rates corresponding to a range of values for the text element parameter. The software may automatically apply speech styling to text and use different speech rates corresponding to a range of values for text element parameters to represent different spoken words or phrases within a sentence. Voice selection: The software may use multiple voice selections (e.g., voice actors, voice clones, selected synthesized voices) to represent different spoken words or phrases within a sentence. The software may automatically apply speech styling to represent different spoken words or phrases within a sentence using multiple voice selections. The software may automatically apply speech styling to text and use multiple voice selections corresponding to a range of values for text element parameters to represent different spoken words or phrases within a sentence.Spatial Position: The software may represent different spoken words or phrases within a sentence using multiple speech spatial positions. The software may automatically apply speech styling to display different spoken words or phrases within a sentence using multiple different speech spatial positions. The software may automatically apply speech styling to text and display different spoken words or phrases within a sentence using multiple different spatial positions corresponding to a range of values for text element parameters. Multi-Style Text and Speech Display: The software may provide users with the ability to display text in multiple styles. This may include various visual and / or speech enhancements to the text. Automatic and User-Defined Text Styling: The software may offer automatic styling and user customization. Highlighting Text Elements: The software may highlight text elements, such as words or sentences, to draw attention by changing their speech styling. For example, increasing the volume, slowing the speed, or changing the emphasis. Applying Combined Styling: The software may select from a combination of automated visual and speech styling characteristics based on the parameters of a text element and apply a mapping. AI-powered key phrase identification: The software can use AI to identify key phrases within a document and potentially apply visual or audio style changes to those key phrases.
[0123] Automatic determination of text element parameters, mapping to audio and visual styles. The software may provide a function to automatically determine the parameters of text elements. Examples of text element parameters are shown in Figure 12, 1200. The software may use text style attributes (1210) applied to text elements. Examples of text style attributes are shown in Figure 12. Text style attributes may be applied to text elements using CSS or other means. An example of a CSS descriptor is shown in Figure 12, 1220. The software may use audio attributes. An example of an audio attribute is shown in Figure 12, 1240. The software may apply combinations of text parameters to text elements. The software can apply a mapping of styling characteristics to text elements based on one or more text element parameters. The software can apply a mapping of audio attributes to audio text corresponding to a text element based on one or more text element parameters. Thus, the software can use any combination from the large combination space represented in Figure 12.
[0124] Here's a simple example: The software can use AI to algorithmically identify key phrases within a document. The software provides UI elements for requesting keywords or questions from the user, which can then be applied to the text to identify key phrases. For example, "Find the key phrases related to the following keywords within the following text: <keywordsxtext>You can use AI prompts like this: The software may save the position of key phrases in the text based on text element pointers or start / end character positions. The software may then apply text style attribute mappings to the key phrases. For example, the software may apply the 'font-weight' style to words in the key phrase, making the key phrase 'font-weight:bold' or 'font-weight:800'. In addition, the software may apply audio attribute mappings, such as increasing the volume of the key phrase.
[0125] Software may use binary mapping to apply text style attributes based on text parameters. For example, for text within a keyword, the software might apply the text style attribute "text-decoration:underline" to underline the keyword. Software may also use binary mapping to apply speech attributes based on text parameters. For example, for text within a keyword, the software might apply the text speech attribute "speed=80%" to slow down the reading speed of the keyword.
[0126] Software may use hierarchical mapping to apply text style attributes based on text parameters. For example, for text with text element parameter level x, the software may apply the text style attribute font-size:x+8 to enlarge the size of important words. Software may also use hierarchical mapping to apply audio attributes based on text parameters. For example, for text from a specific speaker number y (person y) within the text, the software may apply the text audio attribute "speakeridentity" to create speech that is consistently spoken in the same voice when associated with that person.
[0127] Style adjustment using UI features The software may provide a user interface (UIS) feature that allows users to toggle the application of visual and / or audio styling to text. The software may provide a user interface (UIS) feature that allows users to toggle the application of visual and / or audio styling to text in near real-time. The software may provide a user interface feature that allows users to toggle the application of individual styling elements and / or audio styling elements. This includes turning on or off styling for keywords, key phrases, important text, parts of speech, text in a specific language, text related to a specific theme or query, or selected or highlighted text. The software may provide a user interface (UIS) feature that allows users to toggle the application of visual and / or audio styling to text and displays the changed content in near real-time. The UIS may display options such as toggles, sliders, or switches that allow users to dynamically adjust the level or gradient of text and audio styling applied to content. For example, the software could provide UIS slider elements for users to adjust text font size and opacity, or a toggle button to switch audio pitch variation on or off. The UI would visually display the changes in real time, allowing users to preview the effects of the adjustments almost instantly.
[0128] Dynamic Text Display Adjustment: The software can dynamically adapt and update text displays in response to user interactions. It can dynamically adjust text displays when the user interacts with UI elements (such as pinch-to-zoom, swipe-to-resize text, slider manipulation, and selector changes). Furthermore, the software can adjust text displays based on detections of changes in user behavior, reading speed, and comprehension. For example, if the software detects a slow reading speed, it may automatically enlarge the text size to indicate reading difficulty. The software may also adjust speech style (e.g., speaking speed, volume, and background noise) based on ambient noise levels detected by the device's microphone. Visual and Auditory Style Integration: The software features visual and auditory style integration, where one style type can influence or correspond to the other. Visual styles (such as bold or highlighted text) are automatically combined with corresponding audio cues (such as volume increases or pitch changes) to enhance the multi-sensory reading experience. The software may customize the audio output (volume adjustment, filtering, equalization, etc.) based on the user's hearing test results (such as an audiogram) to suit the user's hearing characteristics.
[0129] Automatic text highlighting The software may provide user interface (UI) elements for automatic text selection and text highlighting features. The software may provide UI elements for users to input keywords, key phrases, topics, areas of interest, queries, searches, or other information. This information may be entered by typing, copying / pasting text, voice input via speech recognition software (STT), or other means. The software may provide the ability to highlight relevant sections during the text reading process using keywords, phrases, or queries. For example, when a user enters a keyword or phrase such as a name, the system highlights part or all of the sentence, paragraph, or other text element containing that input. This highlighting may use different colors, text styles, and audio styles than the unhighlighted text, or may use user-selectable color, text style, and audio style features. Different keywords or queries may be assigned different colors, text styles, and audio styles. This software feature helps users quickly identify and focus on sections of text that are particularly interesting or relevant to them. AI prompts may be used to determine the relevance of text elements related to user input (such as keywords, key phrases, questions, topics, areas of interest, or queries). The system can incorporate UI elements that allow users to input user queries such as "What are the main characters' motivations?", "What does this word mean?", or "Summarize the selected text." The system can use AI to analyze the text and provide answers to user queries, or generate and display new text. This allows users to gain a deeper understanding of the text and engage more deeply with the content.
[0130] Vertical mode, vertically positioned text elements or chunks The software may provide the ability for the user to select to display text in "vertical mode" using a UIS selector. The software may provide the ability to display text to the user using vertically aligned or vertically displayed text elements or chunks, as shown in Figure 4,460. For example, a sentence may be algorithmically divided into text elements (e.g., phrases), with different text elements displayed on separate lines, one positioned above the other. Text lines may be uniformly aligned vertically. Text lines may also be non-uniformly aligned vertically, for example, alignment based on the importance of text elements, random vertical alignment, vertical alignment for visual effect, or other approaches to vertical alignment may be used. Text elements can be aligned horizontally using any mechanism. Text elements can be left-aligned, center-aligned, right-aligned, or aligned to a specific character number within the text element. Text elements may be displayed vertically by algorithmically dividing the text at logically defined delimiters (including phrase boundaries). Text elements may be displayed vertically by algorithmically dividing the text at UIS-defined or software-defined margins. Margin positions can be defined in any unit or position, such as based on position on the screen or display area, as a percentage of the screen or display area size, or as a multiple of the font size or number of characters. Software can provide UIS elements for adjusting vertical display parameters. Vertical display parameters (including whether vertical mode is used) can be saved in the user profile. Software can set minimum or maximum widths (number of characters, words, or percentage of the display area) for text elements, selectable by the UI or software, and provide functionality to handle cases where the element exceeds that width before wrapping to the next vertical line. Text elements may be displayed with a maximum character width set to improve readability. Text elements may be displayed with a maximum width set based on a percentage of the screen width selected in the UI or defined by the software.Text elements may be displayed with a maximum width of any selected number of characters (including, but not limited to, the following) intended to produce a positive result: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 1000, or any number in between. Text elements can be styled as a group within a chunk on a single vertical line. Text elements can be styled as a group within a chunk that spans multiple vertical lines. For example, if a border is placed around a key phrase and that key phrase extends beyond one line, the border may be styled to extend beyond one line, or the elements of the key phrase may be split and styled across different lines. See Figures 4, 460, 423, and Figures 5, 594, 590.
[0131] Text elements may be positioned based on measured eye movement data. Text elements may be positioned based on the expected position of measured or calculated saccadic eye movement targets. Eye movement targets are displayed with the text or as part of the text's style to help the user perform saccadic eye movements to the visible eye movement targets. This is true in and out of vertical mode. With or without vertical mode, the software can display visual elements as saccadic targets to guide the user's eyes toward the saccadic eye movement targets. Saccadic targets may include vertical lines, spots, images, or style changes to specific parts of text elements (e.g., making target characters bold, larger, underlined, or a different color, or otherwise visually distinguishing them).
[0132] When software provides vertically aligned text elements, eye movements to consecutive text elements may result in shorter saccadic distances compared to horizontal saccadic movements because the starting point or saccadic target within the vertical phrase is closer. When software provides vertically aligned text, consecutive eye movements and the neural mechanisms that determine the target position of saccadic movements may be faster or more efficient because they are substantially the same for consecutive movements. Overall, providing vertically aligned text may improve reading efficiency. This software may provide vertically aligned text that is particularly beneficial for improving reading efficiency in individuals with reading impairments, including but not limited to dyslexia, hyperlexia, ADHD, visual processing disorders, auditory processing disorders, reading comprehension disorders, and language disorders.
[0133] Additional features AI interaction with users The system may include UI elements and chatbot functionality to support AI interaction with the user. These elements may include text input fields, buttons, or voice recognition capabilities, allowing the user to communicate with the AI, chatbot, virtual assistant, or document creator, assistant, or coach. The software can use this interaction to provide real-time assistance to the user, answering questions, providing explanations, or suggesting reading materials.
[0134] Customization and user settings management The software may offer features that provide a personalized reading experience. This may include a process of selecting text, audio, or video styles to apply or provide. These preferences for text, audio, or video styles may be stored, for example, in a user profile. The software may provide a “style editor” interface where users can create and preview custom style combinations. These profile elements may be stored locally or synchronized across devices via a cloud service. This allows for a similar reading experience on different devices using the same profile information and / or content. The software may learn from user interactions and styling choices and suggest settings optimized for the user.
[0135] Integration and content sources The software may integrate with other applications. For example, the software may synchronize or exchange information across devices and with content libraries, physical library systems, document databases, rating databases, book rating databases, social media platforms, and content sources (such as newspapers, magazines, periodicals, podcasts, video platforms, e-readers, and other content platforms). Information that the software exchanges with integrated applications may include user profile information, content information, or other information. The software may integrate with educational apps to provide insights into readers' reading speed and progress, highlights, comments, and other markups to contacts, coaches, teachers, employers, or other stakeholders.
[0136] The software can read a wide variety of content as input. Input sources and file formats include websites, HTML, EPUB, MOBI, ebooks, podcasts, plain text, copied text, copied / pasted content, pasted text, images, video files, audio files, digital files, social media, chatbots, conversation recordings, contracts, legal documents, legal and public policy documents, textbooks, game content, AR / VR content, communication content including phone and VOIP, video call content, screen sharing content, email, video, audiobooks, Markdown, recorded audio, and real-time audio from a microphone.
[0137] Personalized reading content suggestion feature The software may determine and suggest reading content for the user. The software may use collected user profile data to understand the user's reading habits, preferences, and abilities. This data may include demographic information such as age and education level, as well as reading-related data such as reading speed, comprehension, and preferred reading material and themes. The software may use this data to suggest reading material appropriate to the user's reading level and interests.
[0138] Based on user profile data, comparison metrics, reading summaries, and data analysis, the software may suggest personalized reading materials tailored to the user's reading level, interests, and reading goals. These suggestions may be displayed to the user, such as a list of recommended books or articles. In some cases, they may also include a brief description of the recommended reading material and the reasons for the suggestion.
[0139] The software calculates comparison metrics that compare a user's reading metrics to those of other users. For example, the software calculates the percentiles of a user's reading speed and comprehension within a distribution of users with similar demographic information and reading profile data. These comparison metrics help users understand their own performance in comparison to others and can guide the software in suggesting reading materials appropriate to the user's performance level.
[0140] Book summaries and reviews Reading may be divided into reading sessions. Reading sessions may be defined based on a target time, a target amount of content, or fixed breaks within the content (e.g., predefined chapter or section breaks). After a reading session ends, the software may indicate that the user can pause. After a reading session ends, the software may provide information to the user or other users (e.g., multiplayer mode, friends, coaches, AI assistants, etc.) such as reading metrics, performance data, and feedback. The software may generate post-session materials. Examples include a summary of what was read, total reading time, consecutive reading days, number of words read, reading speed, reading comprehension score, gamification points such as XP, performance comparisons with other users, and the ability to copy or post this material online, or share it on social media, or share it with friends. The software may ask for user feedback or summaries, or provide questions or quizzes. The software may provide the user with the ability to review these summary materials or reflect on the reading session by writing or talking about it, and this may be recorded by the software. The software may use data from reading sessions to suggest reading materials that may be helpful to the user, or suggest materials similar to those the user enjoyed or found useful.
[0141] Data Analysis The software may analyze data stored from a user's reading sessions or user profile to provide feedback to the user and gain insights into the user's reading behavior and preferences. The software may provide data analysis using techniques such as descriptive statistics, data visualization, and machine learning. Users may be provided with charts and graphs of their reading progress (e.g., line graphs, bar graphs, calendar displays, etc.). This data may indicate the user's progress. For example, the software may provide users with graphs of reading speed over time (e.g., reading speed in WPM per day for the past 30 days), reading volume over time, reading comprehension over time, other metrics over time or total, or results comparing these metrics to the same metrics from different users or user groups.
[0142] 3D / Virtual Reality / Augmented Reality (AR) / Augmented Reality (XR) The software may provide a 3D representation of text. The software may provide sentences or text fragments displayed at different depths and locations within a rendered 3D space. The software may provide 3D audio presentations, which may include techniques using spatial audio to make sounds appear to come from different directions and distances. These locations may correspond to the locations of text within the 3D space. The software may provide 3D navigation controls for users to navigate text within a simulated 3D space. This may include moving forward and backward through the text, moving up and down or left and right between different levels of detail, or moving up and down or left and right between different sections or topics. The software may provide 3D interaction features, allowing users to interact with text within the 3D space. This may include navigation controls. The software may visualize the user's reading progress in 3D, displaying the user's location and the path they have taken through the text within the 3D space. This may include displaying paths or trajectories within the 3D space, or displaying 3D progress bars or timelines.
[0143] Software may display or represent text or documents as 3D objects, allowing users to navigate within or around these objects, or to find different elements within 2D or 3D objects using 3D navigation. For example, a text document might be displayed as a rectangular shape, with the rectangle's x / y coordinates corresponding to different locations within the text. Text may be overlaid on the 3D shape. Text elements or other elements can be overlaid on real-world objects by the software, providing an augmented reality (AR) experience. Text may be rendered to appear in a smaller size, providing users with an experience where they can see the overall structure and topography of the document at once. Different parts or objects in a document may be color-coded for increased visibility.
[0144] For example, the software could provide the ability to create AR documents, avatars, characters, and other elements that render reading documents and books, desktops, libraries, and other storage means in AR. These elements may be presented in AR, VR, XR (augmented reality), 2D or 3D, or game environments.
[0145] Use in combination with physical documents The functions described herein can be used in combination with physical documents, books, and / or other content as needed. The functions described herein can be used in combination with camera devices (including mobile cameras, webcams, head-mounted cameras, camera-equipped glasses, VR and AR headsets, other sensors, and other means of detecting objects, including objects in the user's environment) as needed. The software can provide augmented reality (AR) displays or visual and audio content, and visual, audio, and video annotations, that appear on physical documents (such as signs, written documents, legal contracts, and books). For example, the software can use a device camera and OCR to recognize text or recognize the user's position within a document or book. The software can provide enhancements to content that is overlaid on physical content or documents. For example, the software can provide colored highlights and comments that are overlaid on text when a user is holding a physical book with an AR device. The software may provide any combination of the functions described in this document in combination with or overlaid on physical text documents. This may include selection, highlighting, note-taking, commenting, voice control, voice memos, voice recording, reading speed measurement, and other calculations of text elements. The software may provide the display of audio elements corresponding to the content of physical documents or books, for example, providing synchronized audiobook accompaniment when the user is reading a physical book. The software may also provide the display of visual elements corresponding to spoken audio, for example, providing synchronized visual, audio, video, or language translation accompaniment when the user is listening to spoken language.
[0146] The software may offer augmented reality (AR) that layers 3D visual content on top of actual pages, documents, objects, and manuals. By pointing the device at a specific object, image, or text, users can view a 3D model that can be interacted with using hand gestures or device orientation. The software may optionally use AR to provide object recognition. The software may use GPS or Wi-Fi to provide location recognition.
[0147] Spatial bookmarks By combining the device's camera with AR technology, the software could allow users to create real-world bookmarks. The software might also offer the ability to record the user's physical location while using the software, and / or the page number or location within the text, when the user highlights or marks a location within the text. In addition to location-based search functionality, the software might also offer other query features.
[0148] Location-based content creation The software can incorporate the reader's environment into the created content, including custom-created stories. The software can use the camera to scan the user's surroundings and create content that places characters, objects, and information based on the user's real-world location. Tapping or swiping these elements may reveal additional story details or alternative storylines. The software may provide the user with custom-created or relevant information about their current physical environment. For example, if the software recognizes the user is near a landmark based on their GPS location or camera-based object recognition, it may provide or generate content about that landmark. Similarly, if the software recognizes the user is near a physical object or person based on camera-based object recognition or facial recognition, it may provide or generate content about that physical object or person.
[0149] Leveraging spatial awareness, the software helps organize and classify virtual libraries. By mapping physical spaces (e.g., rooms), the app could potentially allow users to place digital representations of books on virtual shelves in a room, for example, and view them using augmented reality.
[0150] Interactive content The software may offer augmented content. For example, it may display clickable words through the interface and provide pop-ups with translations, pronunciations, or usage examples. This content may also be delivered through VR / AR elements.
[0151] AR note-taking and highlighting Software may offer the ability to highlight or annotate text using gestures that enclose an area in the air in front of the device. Other software examples include the ability to navigate text with a downward swipe gesture in AR space, the ability to bookmark text elements with a right swipe, or the ability to underline or annotate text with drawing actions. Software may also offer virtual sticky notes, or virtual Post-it notes that can be virtually attached to virtual or physical objects. These notes appear when the user is near an object or when a virtual or real camera points at an object. Virtual sticky notes may contain text elements with information related to the object, or information provided by the user via voice input or typing.
[0152] AR presentation mode and AR sharing experience This software can provide all or some of the features described in this manual in a shared experience within a VR or AR space. This includes multi-user VR or AR spaces and shared experiences. This software can provide the ability to project text elements, images, audio elements, or video elements into a space or onto surfaces such as screens, walls, or tables using AR. This allows users to present information to other user groups within the AR world. The software may provide group interaction and group presentation capabilities in a shared AR space. The software may allow one or more users to navigate and control a presentation using gestures, switching slides, highlighting information, and controlling functions.
[0153] Adjusts the reading speed according to the user's reading speed. Software may offer features that automatically increase the text display or reading speed over time. For example, software may increase the reading speed after displaying consecutive text elements. Software may provide a UI element to initiate the automatic increase in text display speed. Software may provide a UI element to stop the automatic increase in text display speed. Software may provide a UI element to select the start or end speed for automatic control of text display speed. Software may provide a UI element to control the duration of the automatic control. For example, when a user starts a session, software may provide a feature that allows the user to specify that the software should continuously increase the text display speed over time, continuing until a target level is reached. This feature has the benefit of allowing the user to "get used to" or adapt to a gradually increasing reading speed. Software can also operate this feature in the reverse direction (decreasing the display speed). Display speed may also be controlled to increase automatically based on user performance, estimated reading speed, eye movements, or reading behavior. For example, adaptive tracking or other adaptive techniques can be used to increase the display speed based on the user's estimated reading speed. Alternatively, it can be increased based on a target speed that is a certain multiple above the user's estimated reading speed. A user's estimated reading speed may be estimated based on, for example, eye tracking data. See the "Estimating Reading Speed Based on Eye Tracking" section for details.
[0154] The relationship between chat interface functionality and content reading The software may provide a chat interface. The software may provide a chat interface for users to interact with the content, ask questions, and direct their reading experience. This chat interface may include dialogues, which may be displayed in a format that mimics a real-time conversation.
[0155] The software may deliver content in discrete text element units using an interface with functionality similar to the communication chat interfaces 1000 and 1010. The software may allow users to read stories or content displayed in the form of text message conversations. Individual messages are displayed one at a time. The app may include features that provide a combination of multimodal display, TTS audio, and other features disclosed herein in conjunction with the chat-style interface.
[0156] Chat interfaces may be designed so that messages appear sequentially, like a chat conversation. Sentences or blocks of text may appear as individual messages within the chat interface. Software controls the timing of these messages' display based on the user's chosen reading speed, creating a dynamic and interactive reading experience. Messages may be presented with simultaneous display of text-to-speech (TTS) audio.
[0157] The software may provide interaction features commonly found in chat interfaces. For example, the software may allow users to scroll through chat history to review previous sentences or blocks of text. The software may provide features common to other chat interfaces, such as the ability to record images and audio, play back recorded audio, indicate incoming messages with the "dot" or similar icon familiar in chat interfaces 1030, or other features. The software may provide text input fields for users to enter responses or commands, which the software may interpret and respond appropriately. App navigation, controls, customer support, payments, feedback, content billing, and functionality may be controlled by the chat features provided by the software. This includes providing automated chatbots. The chat interface can also be used for communication with other users and may provide real-time or asynchronous chat features, including the features mentioned in this paragraph.
[0158] Software may offer features that integrate the chat interface into the overall document reading experience. For example, software may display content such as books, articles, documents, audiobooks, and podcasts in a chat interface, showing different text elements, sentences, or blocks of text as separate messages. This allows software to provide a desirable reading experience, for example, in content that includes dialogue. Software may use the chat interface to display comprehension questions, quizzes, or surveys to the user, or to provide explanations or summaries of the content. Software can also use the chat interface to provide feedback and guidance to the user. For example, it may highlight difficult words or sentences, or provide hints, coaching, feedback, or instructions. Software can also use the reading interface to display instructions explaining how to use the software to the user.
[0159] The software may use a chat interface to provide two-way communication between the current user and another user, who may be the content's author. This allows the user to provide feedback to the author, potentially facilitating collaborative interaction between the author and the reader. The software's chat interface may also include collaborative editing features for commenting on and editing text elements.
[0160] Interactive chat dialogs and user testing Software can incorporate interactive chat dialogs as part of user testing. This feature involves users engaging in chat or voice conversations about the content they have consumed. The chat dialog software may be driven by AI or large-scale language models that can understand user input and generate appropriate responses.
[0161] Chat dialogues may ask questions about the content to assess the user's understanding and retention. For example, they may ask the user to summarize the main points of the content, explain a specific concept or idea, or provide their opinion or interpretation of the content. Chat dialogues may also ask the user to rate the content or write a review. The software may provide a feature that allows the user to rate the content using a star rating system or a numerical rating scale. This may be done within the chat interface or other UI elements. Chat dialogues may ask the user how they can apply what they learned in the content to their own life, the challenges they face, or other situations. The user's responses may be analyzed to determine their understanding of the content.
[0162] Scoring of user test responses The software may quantitatively or qualitatively evaluate the user's test responses and provide quantitative or qualitative feedback, including written comments on the user's responses. For factual or objective questions, the software compares the user's responses to correct answers. For example, when presented with multiple-choice, true / false, or discrete-response questions, the software determines the user's correct and incorrect answers and determines the user's score or grade. For user text responses, the software uses natural language processing techniques to determine the similarity between the user's responses and correct answers, or analyzes the text content itself. Other relevance estimation methods may also be used. Scores may be calculated as a percentage of correct answers or as a similarity score.
[0163] For subjective or open-ended questions, the software may use machine learning models to assess the quality of user responses. These models may be trained on large datasets of past user responses and their corresponding scores. These scores may be automatically generated or provided by human evaluators. User scores may be calculated as a predicted quality score based on similarity to other users' responses and the proficiency of those users. For example, scoring using Bayesian statistical methods may be used. The software may consider and store metrics such as the user's level of engagement with the chat dialogue (number of questions answered, length of responses, time spent in the chat dialogue, etc.). Based on these engagement metrics, scores may be adjusted to reward users who are more engaged in the chat dialogue or who can respond more quickly or more concisely (including those with fewer characters).
[0164] The software may provide feedback to the user (e.g., display a score), track the user's progress over time, and personalize content and chat dialogues for the user. Scores may also be used to evaluate the effectiveness of reading devices and methods, and to improve the content, user interaction systems, algorithms, or models used in the software.
[0165] Adjusting the balance of cognitive load and the timing of text element display according to difficulty level. The software may provide algorithmic determination capabilities for text element parameters used to dynamically adjust the display time or reading speed of individual text elements. For example, a sentence may be assigned a cognitive load score based on its length, word count, complexity, average word count, estimated reading level, language, word count per language if multiple languages are used, speech length, sentiment analysis, linguistic sentence structure, importance, number of times other users have highlighted the content, average reading time of the content by other users, or a combination of other factors. The cognitive load score may be determined by the software using AI. For example, "Rate the readability of each sentence in this text on a scale of 0 to 10: <input text> The cognitive load score may be determined using a prompt such as "[...]". This cognitive load score may be stored or used as a parameter for the text element. Based on the cognitive load score, it is possible to dynamically adjust the reading speed of sentences and text elements. For example, by multiplying the display time of a text element by a coefficient associated with this cognitive load score, difficult sentences can be displayed for a longer time, and easy sentences for a shorter time.
[0166] The software can also provide cognitive load balancing at the word level, sentence level, paragraph level, or within a range of text elements. For example, data about individual words can be used to control the visual and auditory style of how those words are displayed. For instance, words with high importance, high difficulty, or other text element parameters can be highlighted by having a higher audio volume, a lower audio speed, or longer silent spaces before and after them. For example, words with high importance, high difficulty, or other text element parameters can be highlighted using a larger font size, bold font, higher visual contrast, or other methods.
[0167] Provides an outline / list format version of the abstract concepts within the content. Software may offer modes to display content in outline or bulleted list format. This software mode is particularly useful for users who prefer a structured overview of content, those who want to quickly scan content, or those who want to quickly navigate through a document to find specific sections or points of interest. Software may convert text content into bulleted lists or hierarchical or outline formats. This conversion may be achieved by using AI or LLM to identify key points or concepts within text, paragraphs, text elements, or sections. Software may display text elements such as paragraphs and sections as independent bulleted or outline items. It may also provide a more concise text version that focuses on key ideas or keywords, facilitating quick browsing, scanning, and understanding of the table of contents. Software may offer the ability to display section outlines or bulleted lists alongside the corresponding text, or display them interspersed with the text. For example, software may provide headings, summaries, or bullet points for paragraphs or text elements, and display these headings, summaries, or bullet points above, below, or next to the paragraph or text element.
[0168] Outline Navigation Control The software may provide UI navigation controls for users to move between outlines and bullet points. These controls may include buttons or gestures to move to the next or previous point, or the ability to jump to a specific point within the outline. The software may also provide the ability to quickly search for specific words or phrases within the outline. The software may also provide drill-down functionality to expand or collapse sections of the outline to view details. Drill-down functionality may be controlled by buttons, gestures, or user interface elements that include symbols indicating section expansion / collapse, such as "+" and "-".
[0169] The software may allow users to switch between modes by providing buttons, gestures, or other user interface elements to switch between outline / list format mode and other modes (e.g., single sentence mode or continuous playback mode).
[0170] Hotkeys Software may provide the ability to perform software functions using a key or a specific combination of keys. Hotkeys can be customized according to user preferences and usage patterns. Software may provide the ability for users to assign hotkeys to functions. For example, a user who frequently uses the text zoom function can assign that function to a specific hotkey for easy access. Similarly, a user who often switches between different versions of text can assign a hotkey to the version switching function. Software may provide the ability to save hotkeys as user settings.
[0171] Spacing out repetition and review Software may offer features that display the same content multiple times to the user, for example, to improve learning effectiveness and memory retention. Software may offer distributed repetition of the same content. Software may utilize algorithms to determine the optimal interval for repetition to promote memory retention, which may be determined based on the user's individual learning pattern. Software may offer features that analyze performance on comprehension tests and quizzes related to the content and adjust the repetition schedule based on the results. Software may provide user interface elements that allow users to specify the frequency and timing of content repetitions (e.g., repetition rate, time, calendar). Software may offer notification features, including reminders, text messages, chat messages, and push notifications. Software may include review features that encourage users to review previously presented content at specific intervals. This may include presenting content summaries, conducting quizzes or tests on the content, or re-presenting portions of the original content. Software may offer distributed repetition learning of content in different formats, for example, a system where the user first reads the content and then later reads a different, rewritten version of it. Software may offer features that allow users to listen to an audio version of the content and then watch a video version. This multimodal spaced repetition approach can enhance learning and memory by activating multiple sensory pathways. Software may offer flashcard functionality. Software may offer the ability to automatically generate flashcards from content, for example, by using AI to select appropriate words or phrases for quizzes. Software may offer spaced repetition of content in combination with other learning strategies such as active recall and interleaved practice.For example, users may be prompted to suggest or recall information from content before, after, or after it is presented. Software may provide content repetition by interweaving it with presentations of new or different content. Software may provide distributed iterative learning of content in a social or collaborative context. For example, users may be able to share content with others and participate in discussions or collaborative learning activities related to the content. This may include integrating the software with social media platforms or other communication tools.
[0172] Social media posts and sharing The software may enable users to post content, text elements, scores, user metrics, streams, or other content provided by or created by the software to other users through communication apps, text messages, chats, or social media.
[0173] Text creation and rewriting Software may use algorithms that leverage AI and language models to provide automatic text expansion and rewriting capabilities. For example, the software might ask you to "summarize to about 50% of the original text: <input text> The prompt "[text]" is input into an AI language model (e.g., DaVinci or GPT) to generate shortened text. The AI model rewrites the text by shortening its length while preserving the core ideas and information.
[0174] The rewriting process may be applied sequentially or in parallel to different text elements, either in a way that saves the results before the user begins reading, or in a way that runs in near real-time as the user reads.
[0175] Text Rewrite Process: The software can provide the function of summarizing, expanding, restructuring, or rewriting text in a new style or language. Text rewriting also includes the function of copying the style of a specified author, source, or sample text. For example, a prompt like "Please rewrite the following text in the style of Malcom Gladwell: <input text> " can be used. A prompt like "Please rewrite the following text in a style that can be read by a 10-year-old: <input text> " may be used by the software or the user. A prompt like "Please rewrite the following text in a style similar to <style input documents <input text> " may be used by the software or the user. In text rewriting, duplicate content, content that the user has already read or been presented with, or content that is not related to the specified questions or keywords may be excluded. A prompt like "Please rewrite the following text, excluding parts similar to the content included in the following document library: <previous content input document library>: <input text> " may be used by the software or the user. "Please recreate the text focusing on the content related to the following keywords: <keywordiist> : <inputtext>You may be prompted with the following: "Please recreate the text focusing on content similar to or related to the following:<user selected content input> : <input text> This prompt may be used by the software or the user.
[0176] Domain-Specific Text Rewriting: The text rewriting process may be optimized for a specific context or domain. For example, text may be rewritten in a style suitable for scientific papers, news articles, journal articles, blog posts, social media posts, advertisements, political statements, legal documents, technical manuals, novels, poems, screenplays, etc. Text rewriting can be done using machine learning models trained on relevant domain-specific corpora. Text rewriting may also be done with the purpose of creating text for use by AI or language learning models, for example, as training text.
[0177] Creating User Replicas: Software may offer the ability to create user replicas, such as a chatbot that provides responses similar to those expected from the user. Software may create user replicas using content consumed by the user, user writing samples, user-created selections, highlights, comments, and other materials, or user behavior and metrics. Software may allow the user to use this replica to replace parts of their own tasks, such as using it as a personalized AI assistant. Software may allow the user to use this replica to consume content, such as processing text and generating highlights, comments, responses, summaries, or written materials as a result.
[0178] Interactive Automated Text Rewriting: The text rewriting process can be interactive, allowing the user to guide the automated rewriting process. For example, the user can specify the desired length, style, or complexity of the rewritten text, and these specifications may be sent to an AI model by the software. The software may provide the user with the ability to approve or reject changes to the automatically generated text. The software may also provide the user with the ability to provide feedback on the rewritten text, which can then be fed back to the AI model and used to iteratively improve the rewriting process. The user may be provided with a means to provide iterative feedback for repeated text rewriting.
[0179] Dynamic Text Rewriting: Software can provide a dynamic text rewriting process, meaning the text is updated or modified in virtually real-time based on the user's interaction with the text. For example, software can provide the ability to rewrite text that the user has not yet read in virtually real-time based on selections, highlights, ratings, keywords, or reading speed from text elements the user has read so far.
[0180] Collaborative Text Rewriting: Software may offer a collaborative text rewriting process that allows multiple users to participate. For example, software may provide the ability for different users to contribute to rewriting the same text, or for users to collaborate on rewriting different parts of the text. This may be achieved through a collaborative editing platform where users can edit text simultaneously. Collaborative editing may also include version control features. The version control provided by the software may be similar to that provided by Git, or similar to the red highlighting feature provided by word processors such as MS Word or Google Docs. In any aspect described in this document, software may provide features applicable to reading, creating, or editing text. Examples include auto-correction, grammar checking, rewrite suggestions, dictionary lookup, and thesaurus lookup.
[0181] Automatic Text Summarization: The system can generate summaries of text. This is done using a text summarization algorithm that extracts the main points from the text. For example, "Summarize the following text: <input text> A prompt such as "[summary]" may be used. The summary is displayed alongside the text, allowing you to quickly see a summary of the text's content. The summary may also be embedded within the reconstructed text, for example, the summary point may appear immediately before or after the content being summarized.
[0182] Automatic Text Illustration and Visual Aids: The software can provide images, videos, or visual aids such as diagrams, charts, illustrations, frameworks, images, and videos that are automatically generated based on the text content. These visual aids are automatically generated based on the text content and may be updated or modified along with the recreated text. For example, "Use Dalle to generate an image illustrating the following text: <input text> The following prompt may be used by the software or user:
[0183] Corresponding points for recreated content: The software may provide a slider or UI element that allows the user to select the zoom level of the text (e.g., 100% or 200%). Text may be recreated paragraph by paragraph or section by section. The software may maintain pointers or links between corresponding elements in different recreated versions.
[0184] Creating text to match a target length or duration: Software may offer the ability to create content that roughly matches a user-specified target length or time (in seconds), or to select from existing content. For example, if a user specifies that they want to read a document in one hour, the software will create or select version text from the document to make it approximately one hour long in total. Similarly, if a user specifies that they want to read a document that is 50% the length of the original, the software will create or select version text from the document to make it approximately 50% the length of the original. If a user specifies that they want to read a document that is 10,000 words long, the software will generate or select version text from the document to make it approximately 10,000 words long in total. If a user specifies that they want to read a document that is 50,000 words long, the software will generate or select version text from the document to make it approximately 50,000 words long in total. The software generates content of the target length by selecting pre-rewritten text of similar length, rewriting text in real time on request to adjust to a similar length, or selecting sentences based on priority. Priority may be determined based on the importance score of text elements, relevance to the user's keyword or key phrase selection, or the question. The UIS may display elements that show the number of characters in the text, the remaining display time, or the desired number of characters in the text, the remaining display time, or the desired length of the text. The software provides a version of the text similar to the length specified by the user. The software can do this by recreating the text and recreating individual text elements separately. The UIS can provide a means for the user to switch between different versions of the text.Software can ensure that when a user selects a different version, corresponding points in the text are maintained between different versions. Software can provide functionality that allows the user to switch between different versions of the text while maintaining their position within the text. Software may provide functionality to display multiple different versions. Software may provide functionality to display two different versions that show their corresponding positions within the text, for example, side by side or overlaid. If there are no matching text elements in other versions, software may algorithmically determine the closest matching text element within other versions, for example, the paragraph following a matching paragraph in other versions. Software may do this by rewriting the content for each text element and maintaining information about the number of the text element and its associated position. If this is done on a paragraph-by-paragraph basis, the rewritten paragraph version may have a different number of sentences than the original version. Software may maintain pointers or numbers to corresponding sentences between two or more different text versions. After rewriting the text, software may also algorithmically determine the correspondence between different text elements, for example, based on similarity. For example, if the original document has 100 paragraphs and the recreated version has 50 paragraphs, software algorithmically determines the correspondence between the recreated paragraphs and the original paragraphs. The software may maintain pointers or numbers to corresponding text elements between two or more different text versions determined algorithmically.
[0185] Creating personalized text The software creates or customizes content for users based on their profile, preferences, interests, queries, past text browsing history, created text, reading level, or other information relevant to the user. The personalized content creation process may use user data such as reading history, search queries, language, demographic information, and highlighted text to customize text, audio, video, VR, AR, chat, AI assistant, games, or other content. For example, the prompt "Please recreate the following text to match the user's reading level: Reading level:"<reading level> You can use ". Input text: <input text> This may be used. For example, the prompt "Create a story that matches your user profile:<user profile> The following may be used: For example, the prompt "Modify and personalize the following story by changing the character's name and content theme based on the user's name, contact information, and user preferences. Original story:<original story> User profile:<user profile> You can use the prompt "Create a story about a successful negotiation in which the user is the protagonist, and incorporate the following details into the content: Input text about the user (e.g., user's name, preferences and interests, challenges they are facing)." Personalized text may be generated using AI or language models. These models may be trained on a corpus of text that matches the user's preferences, reading level, and interests, or on text that the user has previously read, selected, or written. Personalized text may be displayed alongside the original text, replace or generate the original text, or be the source of the original text. The user may be provided with a means to switch between the original text and the personalized version.
[0186] The software personalization process may involve providing users with a personalized reading experience or delivering custom-created content tailored to individual users. This is achieved by the software using user data to customize text content. User data may include a variety of factors, such as the user's name, contact name, reading history, search queries, language preferences, demographic information, or highlighted text.
[0187] The software may use user profile data (including browsing history) to analyze the user's reading habits, preferences for specific genres or topics, and reading level. This information may be used to customize content to match the user's interests, knowledge level, or reading level. Search queries performed by the user may provide insights into the user's current interests and topics they wish to understand more deeply. The software may retrieve information related to these queries and use it to customize text content. The user's language settings and demographic information may also be used to personalize text content. For example, the software may adjust the language, tone, and cultural references of the text to match the user's reading level, background, and language proficiency. Selected or highlighted text may indicate parts the user found interesting or wanted to select. The software may leverage this information to highlight in future texts, create similar content, or provide additional explanations or summaries for difficult content. The AI may be trained on a corpus of text and content that matches the user's past reading history, past writing, preferences, or reading level. For example, if a user prefers science fiction and has a high reading comprehension level, the language model may be trained on a corpus of high-level science fiction texts. This AI could be used to generate additional or related content for presentations, or to answer questions from users.
[0188] User interaction system elements for personalized text generation The software may incorporate user interaction system (UIS) elements to specify user preferences and requirements for the content they create. These UIS elements may include, but are not limited to, text input fields, dropdown menus, checkboxes, radio buttons, sliders, and buttons. A text input field may be provided for users to enter the text they want recreated or to provide direct prompts and instructions to the AI. This input field may come with a "Submit" or similar button that the user can click to start the text generation process. The software may provide selection mechanisms (dropdown menus, checkboxes, etc.) for users to select their preferred content areas or genres, or text types (e.g., science fiction, romance, technology, academic, self-help, business, etc.). The software may provide UIS elements for users to describe themselves, their profile, or reading level (e.g., education level, industry, age, gender, role, income, beginner, advanced, etc.). The software may provide UIS elements for users to select different rewriting options (e.g., text summarization, language simplification, translation into another language, etc.). The software may provide UIS elements for users to adjust the length of the rewritten text. For example, a user might be able to use a slider to request a longer or shorter version, and a numerical value indicating the target length might be displayed. The software may generate personalized content using AI or other means based on the user's input or selections. The personalized content may be displayed to the user alongside the original content, allowing the user to compare both versions. Alternatively, the personalized content may replace the original content. The software may provide the user with the ability to switch between the original and personalized content.
[0189] Interactive content elements, child-friendly content elements, or story In addition to the personalization features described above, software can incorporate interactive elements. This includes features for young readers and their parents. One example is "ChooseYourOwnAdventure" style content, where users can choose from multiple paths through content or a story, and the path is determined by the user's selection. For example, the software and content may provide branching points that display different next text or content based on the user's UIS interaction or text-based responses. This interactive reading experience may be personalized based on the user's preferences and reading level. Software may offer the ability for one user to personalize content for another user. For example, a user such as a parent, teacher, coach, friend, or contact may provide a UI element that allows them to select content for another user or select user profile information to apply to that user. This allows the content for that other user to be personalized or selected based on the information entered. Parents, teachers, friends, coaches, or other users can use this feature to generate content for others, including children. For example, they could customize the story path based on a child's interests and educational goals. Software may include interactive features such as interactive quizzes, puzzles, and games embedded within the text. These interactive elements, like the generation of personalized text, may be generated and personalized using AI or large-scale language models.
[0190] Personalized content related to social media The software may use your social media information to create a user profile and to personalize content. This social media information may include your name, the names of your social media contacts, the social media information of your contacts, your social media posts, likes, shares, and interactions, and the social media posts, likes, shares, and interactions of your contacts.
[0191] For example, the software may incorporate the user's name and the names of their friends into the text, perhaps setting them up as the main characters or other characters in a story. The software may analyze the user's social media posts to understand their interests, opinions, health, mental state, or experiences. This information may be used to generate text content that is relevant and meaningful to the user. The software can use AI to generate personalized text, which may be trained on a text corpus that matches or includes the user's preferences, reading level, or social media data. This makes it possible to generate text that reflects the user's personal style and interests. For example, if a user frequently posts about environmental issues, the software may generate text content that delves deeper into these issues. The software may use an AI prompt such as: "Generate a detailed user profile from the user's social media data, based on elements such as the user's current mood, interests, health, purchasing plans, location, and friends. Use this profile to select content for the user from the following library: Social Media Content:"<social media content> Current user profile:<user profile> Content Library:<content library> The software says, "Please recreate the following text including your name and your friend's name: <input text> User Profile:<user profile> It generates personalized text using prompts such as "Please create a story in which you and your friends are the main characters" or "Please create a story in which you and your friends are the main characters." The AI or language model will either recreate the input text or generate a new story, incorporating the user's full name and the friend's name into the narrative.
[0192] AI-assisted and collaborative text creation The software may offer AI-assisted and / or collaborative text or content creation. Content creation may include the ability to generate or modify text or content using AI or language models, provide revision suggestions, or auto-correct. The software may offer the ability to create outlines on topics, and may also create them from existing content sources if necessary. The software may also offer the ability to convert outlines into initial drafts, and then use AI to iterate and refine those drafts. For example, the software might prompt, "Create an outline on the following topic: <input subject> Use this to generate an outline. Prompt: "Convert the following outline to the first draft: <input outline> Use this to generate the first draft. Prompt: "Improve the following draft: <input draft> The software uses this to generate subsequent drafts. The AI-assisted text creation process is interactive, and the user may be able to guide the process. For example, the software may allow the user to provide feedback on the outline, the first draft, or subsequent drafts, and improve the process by incorporating this feedback into further prompts for the AI. The software may provide the user with the ability to select alternative versions, provide recommendations for selections, or make selections automatically. The software may ask the AI model to evaluate or select alternative content versions. The selected or high-scoring version may be used in subsequent steps or iterations. The software may provide features that allow multiple users to contribute. For example, it may provide collaborative editing features. The software may provide the ability for users to vote on or comment on content. The software may provide version control features (including collaborative version control). The software may provide AI-assisted editing or collaborative editing features for text content, audio content, video content, AR content, VR content, game content, music content, or other types of content.
[0193] Repetitive automatic text generation The software may provide the creation of independent text elements. The software may provide the ability to calculate and add text element parameters to text elements. The software may provide the ability to manipulate, evaluate, sort, and filter the created text elements. This process may be used, for example, to create outlines. This process may be performed iteratively and used in combination with AI-driven selection. For example, the prompt: "Create two versions of a sentence describing the following topic: <input subject> This generates two separate text elements and prompts "Choose the clearest version of the following sentence: <input sentences> This can be used to select between versions. The prompt "Please recreate the following text:<selected sentence> This can be used to continue iteratively modifying text elements.
[0194] Human intervention in text creation The software provides human and / or AI input in creating or editing text, and a single editor or multiple collaborators may be involved in creating or revising the text. The editor or collaborator can provide input at various stages of the process, such as creating outlines, generating drafts, and iterating. Content and output from the AI or language learning model may be reviewed, edited, approved, or selected by a human editor or quality control expert. Human editors or collaborators, or the AI or automated assistant, can provide feedback, implement edits, or approve the text. Editors or collaborators work with the AI or language model to guide the process and ensure text quality. The user interface provides version control functionality, allowing editors or collaborators to track changes in the text and revert to previous versions as needed. The software may provide a chat interface for users to discuss content with the AI model and receive AI-generated responses.
[0195] Examples: Device, hardware, and software features Example: Hardware features A device may be provided. Software methods or processes intended to run on the device may be provided, in which case they are executable with or without the device. If a device is provided, the device may include one or more of the following elements: A combination of the device and the software methods or processes may be provided. Selective visual display: A high-resolution display capable of selectively displaying text, images, animations, videos, AR, VR, or other content. The display may use technologies such as LCD, OLED, e-ink, etc., to provide a visual output optimized for environmental conditions and user settings. Memory / storage unit: Volatile or non-volatile memory components such as DRAM (Dynamic Random Access Memory) or SSD (Solid State Drive), which may be configured to hold machine-readable instructions and user data during and after device operation. Input / output interface: A variety of input / output interfaces, including touchscreens, keyboards, mice, microphones, speakers, headphones, wireless headphones, wireless headphones with touch or gesture control capabilities, and capabilities to control content navigation (start / stop / pause / volume adjustment / skip / etc.) and enable user interaction modes. Noise suppression: Hardware or software that provides suppression or cancellation of background noise, with or without a "hear-through" mode that allows background noise and speech to be heard. Hardware connectivity to hearing aids (including Cochlear implants) for the hearing impaired. Multicore processing unit: A multicore processing unit that executes multiple threads simultaneously to improve the efficiency and speed of content processing and display. Graphics processing unit (GPU): A graphics processing unit for rendering image, animation, and video content on a selective visual display. Supports high resolution and 3D content formats.Standard Communication Protocols: Integrated support for standard communication protocols including TCP / IP, Bluetooth, Wi-Fi, NFC, and LTE / 5G ensures comprehensive connectivity options. Offline Mode: The software may provide the ability to download software and content to device storage, making it usable even when not connected to the internet or other devices. Cross-Platform: The software may provide the ability to deliver software, content, processes, or methods across platforms. For example, the ability for users to access the software on mobile devices and mobile operating systems such as Android and iOS, or on computers and computer operating systems such as Windows, macOS, and Linux®. The software may provide the ability for users' settings and content to be synchronized or made available across multiple platforms. The software may be delivered as an app, web app, browser app, browser plugin, or VR or AR app. Universal Serial Bus (USB) Interface: One or more USB interfaces that connect peripherals and enable data transfer between a device and external hardware. Random Access Memory (RAM): A high-speed random access memory module for quick access to data and instructions actively used by the system. Operating System Compatibility: Compatibility with one or more standard operating systems ensures the device can run a wide range of applications and services, including Android, iOS, Windows, macOS, and Linux®. Standard Audio Jack or Audio Interface: An audio interface for connecting audio output devices (such as headphones or speakers). This may include traditional audio jacks or modern digital audio interfaces, including Bluetooth audio. Touchscreen Interface: A capacitive or other touchscreen interface for user interaction with the device.It supports multi-touch gestures and provides media for displaying visual content. Built-in camera system: A built-in camera system capable of capturing still images or video content. It can be used for content creation within the system, face recognition, eye tracking, gesture recognition, emotion recognition, augmented reality (AR) applications, etc. Onboard sensors: Onboard sensors including an accelerometer, gyroscope, magnetic sensor, or ambient light sensor that adjust operation based on the device orientation and environmental conditions. Data encryption module: A data encryption module compliant with standard encryption protocols to protect user data, system operation logs, and other data stored on non-temporary storage media. Energy storage unit: An energy storage unit (e.g., a rechargeable lithium-ion battery) that supplies power for portable operation. Display screen: A display screen capable of displaying digital content. It employs LED, OLED, eInk, Paperwhite style, or similar technologies to provide a high-quality visual experience. Basic input / output system (BIOS): A basic input / output system that manages the device's operation or boot process. Expansion slots: One or more expansion slots for adding additional hardware functions (additional memory, dedicated processing cards, other peripherals, etc.). Gesture Recognition Interface: A gesture recognition interface connected to the processor that detects user gestures as input commands and manipulates the content display sequence. Haptic Feedback System: An integrated haptic feedback system that provides tactile responses to user actions. Ambient Light Adjustment Module: An ambient light adjustment module that communicates with a selective visual display device and is configured to adjust the brightness and contrast of the display. Eye Tracking Sensor: An eye tracking sensor for detecting the user's eye position, focus, or eye movement. Biometric Authentication Function: A biometric authentication function that authenticates the user by fingerprint, facial recognition, iris scanning, or other means to personalize or protect user access. Wireless Communication Interface: A wireless communication interface that enables data exchange with external devices.It may support content sharing and synchronization across multiple devices and platforms. Adaptive audio system: An adaptive audio system built into the audio presentation module. It may have the ability to adjust audio output. Content rendering engine: A content rendering engine that dynamically adjusts the display of digital content on the selectable visual display. It is designed to optimize to user-defined criteria such as reading speed, content complexity, and visual preferences. Power management circuit: A power management circuit that optimizes battery life while displaying content. It dynamically adjusts energy consumption according to the system usage pattern. External device synchronization protocol: A protocol that enables synchronization with external devices. It allows the selectable visual display system to extend display capabilities and share processing tasks. Augmented reality projection system: An augmented reality projection system that overlays digital content onto the physical environment perceived through the selectable visual display. It provides an immersive interaction paradigm. Voice command processing unit: A unit that can control content display and audio functions via voice commands, incorporating natural language processing to improve user interaction.
[0196] Example Implementation A selective visual display system comprises the following components: a. a processor configured to execute encoded commands for retrieving, processing, and displaying content to the user; b. an integrated circuit for processing electrical audio signals, having the ability to convert digital audio data into human-readable audio output and further having audio capabilities for utilizing digital audio formats; c. a display screen connected to the device and displaying digital content that functions as a medium for user interaction with the content presented by the system; e. one or more computer memory devices configured to store machine-readable instructions, content files, user data, or system operation logs; and f. an audio presentation module for presenting audio data to the user; wherein the device is configured to perform the following operations: display content elements on the display screen; present audio segments corresponding to content elements; remove content elements from the display when the audio segments of content elements have finished; adjust the display of content elements so that audio content elements are derived from digital audio data and displayed through an output mechanism in a user-readable manner, and then display the next content element and the next audio segment; wherein the system includes content sequencing logic that controls the temporal progression of content elements and adjusts the accessible order and timing of the content.
[0197] Example software features Software may be provided. Software methods or processes intended to run on a device may be provided. In this case, it may be executable with or without a device. The software may include one or other of the following elements: Audio processing module: The software may provide a module that processes audio signals and outputs corresponding visual content. User interaction system: The software may provide a system of hardware, software, or a combination thereof that enables a user to interact with the software or content (including audio and / or visual content elements, AR / VR / XR / game content elements, or other content elements). This system may use screen-based interaction, voice input or voice recognition, gesture recognition, or other user interaction methods. Software distribution: The software may be distributed through app stores, websites, plug-ins, or other digital means. The software may enable the distribution of other software (including components) through app stores, websites, plug-ins, or other digital means. Plug-in architecture: The software may enable the integration of plug-ins or extensions for functionality enhancement. Cloud integration services: The software may provide cloud-based access to content and personal data. The software may use cloud integration to maintain user settings or data across different devices and platforms. Automatic update functionality: The software may offer the ability to automatically download and install software updates. Text-to-speech conversion: The software may offer the ability to convert text content to speech within the software. Speech recognition module: The software may offer a module that enables voice control and navigation within the software.Data Analysis Tools: The software may provide tools to track usage patterns and provide insights into user interactions. Content Sequencing Logic: The software may provide logic to control the order and timing of content display within the software. Multilingual Modules: The software may provide modules to provide user interfaces and content in multiple languages. Security and Encryption Protocols: The software may provide protocols to ensure data privacy and integrity while the software is running. Customization Toolkits: The software may provide toolkits to allow users to customize the software's interface and functionality. APIs for Third-Party Integrations: The software may provide APIs that enable integration with third-party services and content providers. License Management Systems: The software may provide systems to control and manage the distribution of software licenses. Virtual / Augmented Reality Support: The software may provide compatibility to enable the use of VR / AR content within the software. Social Media Integration: The software may provide integration features that allow users to share content and achievements on social networks. Offline Access Features: The software may provide the ability to access content without an internet connection, such as downloading and using PWAs or other software or content from local device storage. Usage Reporting System: The software may provide a system for reporting software usage statistics and user engagement. Help and Tutorial System: The software may provide an integrated system for providing users with help and tutorials on how to use the software. User Account Management: The software may provide functionality for managing user account creation, authentication, and profile settings.Accessibility Features: The software may provide features that enable users with disabilities, including hearing impairments, visual impairments, RSI, dyslexia, cognitive impairments, and speech impairments, to use the software. It may also include other features. Remote Access Services: The software may provide services that allow users to access the software remotely. Digital Rights Management (DRM): The software may provide a system to protect and manage the rights to digital content used within the software. The software may provide the ability to view or input DRM-protected content. Cryptocurrency Reward System: The software may integrate a reward system that allows users to earn cryptocurrency through interactions with the software (e.g., completing tutorials, achieving milestones, providing high-quality data through analytics). Digital Currency Exchange Interface: The software may provide an interface that enables the exchange of digital currencies. For example, it may help with the buying, selling, and trading of in-app points, rewards, content, or other valuable elements through secure blockchain transactions. Content Monetization Gateway: The software may provide features that enable content creators to receive payments. Payments may include fiat currency, in-app points, or cryptocurrency. For example, this may be done through a payment gateway. Cross-device continuity: The software may offer cross-device continuity, which synchronizes user settings and progress across multiple devices. Dynamic content format conversion: The software may offer dynamic content format conversion, which automatically adapts content between file formats. Network evolution support: The software may guarantee network evolution support, meaning it will work on WiFi, LTE, 3G, 4G, 5G, 6G, 7G, 8G, or other future network technologies. Adaptive learning algorithms: The software may offer algorithms that adjust content according to the user's learning pace and style.Parental Controls: The software may offer parental controls that provide settings for parents to manage or restrict the types of content their children can access. DoNotDisturb Feature: The software may offer a "DoNotDisturb" mode that suppresses notifications or prioritizes other applications to reduce interruptions. Overlay Mode: The software may offer the ability to display or control the software on top of other applications (including mobile apps and OS elements). Drive Mode: The software may offer or integrate a drive mode that simplifies the user interface and allows interaction with other apps to improve safety while driving and reduce distractions. For example, it may offer audiobooks or TTS audio content that can be used during commutes or while driving. The software may provide user interface elements including, but not limited to, toggle switches, checkboxes, sliders, dropdown menus, text input fields, buttons, progress indicators, navigation bars, tabs, radio buttons, dialog boxes, icons, toolbars, list boxes, menus, scroll bars, hyperlinks, tooltips, accordions, modal windows, breadcrumb navigation, search boxes, pagination controls, card layouts, and context menus.
[0198] Features of the example content Content may be provided. Methods or processes for providing content intended for use on a device may be provided. In this case, it may be usable with or without a device. Content may include one or other elements of the following: eBooks: Digital versions of traditional books (novels, nonfiction, reference books, textbooks, etc.). Language learning materials: Content specifically designed to help learn a new language (sample text in the target language, sample text in a hybrid language, grammar guides, vocabulary lists, interactive language exercises, etc.). Scientific papers: Scientific or academic papers, journals, or articles. Travel guides: Digital travel books, articles, posts, interactive maps, or information on destinations, landmarks, or navigation. Cookbooks or recipes: Digital cookbooks, recipes, nutrition information, or cooking guides. Periodicals and magazines: Regular publications such as newspapers, periodicals, magazines, and academic journals. User journals or diaries: User-created content (including journals or diaries). Visual content: Graphic novels, comics, or picture books. Videos, educational videos: Videos for educational, entertainment, or educational purposes. Audio Content: Audio content including audiobooks, music tracks, stories, poems, plays, and educational materials. Blogs and Articles: Written content by authors and bloggers. Podcasts: Audio episodes. Lectures and Talks: Recorded lectures and talks. Interactive Courses: Educational content in an interactive format, including progress tracking, assessment, or certification. Workout and Wellness Guides: Content related to health, fitness, and wellness, including guided workout sessions. Children's Stories and Learning: Interactive and educational content for early learning and young readers. Career Development: Content aimed at improving career skills, including continuing education, workshops, seminars, and training modules. Cultural and Artistic Exhibitions: Content related to museums, art galleries, and cultural exhibitions. Games and Interactive Entertainment: Content related to games and interactive entertainment. Puzzles and Strategy Games: Puzzle and strategy-based games that stimulate cognitive skills.Educational Games: Interactive games aimed at education in various subjects such as mathematics, science, history, and language arts. Choice Your Own Adventure Games: Story-based games where the reader makes choices that affect the progression and ending of the story. Text-Based Role-Playing Games (RPGs): Games where the user reads a story and influences the game's progress through character choices. Trivia and Quiz Games: Interactive quiz and trivia games covering a wide range of topics that test and expand the user's knowledge. Word Games, Spelling Games, and Contests: Games that focus on language and vocabulary, including Scrabble-type games, word searches, and anagrams. Interactive Fiction and Fan Fiction: Games where the user progresses through the story by making choices, solving puzzles, or creating their own content. Simulation and World-Building Games: Games that simulate real-world activities or allow users to create and manage virtual worlds and ecosystems. Board Games and Card Games: Board games and card games playable in digital format. Single-player and multiplayer options are available. Memory Games: Games designed to improve memory and concentration. Casual games: These are lighthearted games that can be played in short bursts and do not require long-term commitment.
[0199] Advertising and promotion Content may include advertisements. Content may include text ads, product placements, image or video ads, mobile or AR / VR ads, 3D rendering ads in virtual worlds, deep links from online ads, and tracking codes such as pixels and AdWords trackers. The software may automatically select relevant ads to show to users based on their browsing history, interests, or queries. The software may provide advertisers with the ability to submit ad content. The software may provide advertisers with the ability to arrange ad payments. This may include participating in keyword or key phrase auctions and bidding on ad costs, such as per-impression or per-click. The software may provide users with the ability to pay subscription fees for using services or receiving content. The software may provide content creators with the ability to receive compensation. This may include compensation based on content consumption, such as compensation based on the number of times users download, consume, or view content, or the number of times they click on content. Data analytics and user behavior insights: The software may leverage data analytics and user behavior insights, for example, to determine which ads to show to which users. The software may provide advertisers or content creators with data analytics and user behavior insights. For example, it may provide parameters for text elements derived from usage, user scores, or metrics described in this document. Ad performance optimization tools: The software may provide the ability to optimize ad placement and content based on real-time performance metrics. This may include A / B testing capabilities, machine learning algorithms for optimizing ad spending, and real-time bidding (RTB) strategies.Privacy-first advertising solutions: The software may provide privacy-first advertising solutions, including features such as consent management mechanisms, data anonymization, and compliance with privacy regulations such as GDPR and CCPA. Voice-recognition and conversational advertising experiences: The software may provide interactive advertising features and conversational advertising experiences through voice commands, including features such as integration with virtual assistants. Sponsorship and affiliate marketing mechanisms: The software may provide sponsorship agreements and affiliate marketing, including features such as affiliate referral tracking, management of sponsored content, and seamless integration of sponsored content within the user experience. Ecosystem for creators and advertisers: The software may provide an ecosystem where advertisers can post and manage ads, or provide tools for content creators to monetize their content through direct sponsorship, affiliate marketing, and native advertising opportunities.
[0200] Detailed explanation Amazing results in reading efficiency Our team has been working for many years to develop reading approaches that meaningfully improve reading performance. Initially, it wasn't clear how or even possible this method was, what useful features it had, or what its impact would be. Despite much trial and error, we couldn't achieve better results. Some literature, reading experts, and researchers deny the possibility that the way text is presented can lead to meaningful improvements in reading speed or efficiency. They argue that reading speed and efficiency are limited by higher cognitive processes, and therefore, the way content is presented may not have a significant impact beyond a certain threshold, at least in some situations. Numerous papers have been published denying the possibility that reading material presentation software can improve reading efficiency.
[0201] Some methods may present users with long blocks of text to read (e.g., entire paragraphs or entire pages). While this approach has been common since the dawn of written language and can be useful, it can significantly reduce reading efficiency in certain situations. This is because users may waste valuable time continuously searching for the next element to read within large blocks of text. Research on eye movements has shown that readers spend time simply moving their eyes within blocks of text, and that searching for the next element within large blocks of text can reduce reading efficiency in certain contexts and especially for certain individuals.
[0202] To overcome this limitation, some single-word display approaches briefly show a single word or a small group of words on the screen, keeping the user's eyes nearly fixed and eliminating the need for content searching within large blocks of text. However, the intermittent display of single words can feel unpleasant and unnatural to users unaccustomed to screens flashing hundreds of times per minute. In some cases, it may even induce aversion. Furthermore, single words or groups of short words may reduce the efficiency of comprehension and memory because they do not provide sufficient visual context for the neural mechanisms of reading to function efficiently.
[0203] It's a surprising discovery that there's an "optimal point" for the balance of presenting content chunks and the amount of text presented at once. A single-word approach promotes a discontinuous reading experience that disrupts the brain's innate language processing rhythm, potentially negatively impacting comprehension and comfort in some situations. On the other hand, software displaying large blocks of text may overstimulate the reader's visual retrieval neural mechanisms, which evolved before the advent of written text with thousands of characters per page. This may be related to the possibility that the natural chunk size of the neural mechanisms for language comprehension is based on units of meaning. The optimal balance likely lies somewhere between the discomfort of discontinuous display of single words or small groups of words and the slow reading speed required to search large blocks of text. We optimized this approach and found it can produce a surprisingly desirable and efficient reading experience in specific situations and reading materials, particularly for readers with reading and writing disabilities. This software allows users to choose whether or not to use this feature depending on the situation and purpose.
[0204] Software that displays information in single chunks or single sentences may provide users with a comfortable experience while facilitating cognitive absorption of concepts, narratives, and context by offering them broken-down information. This approach may align with the neurophysiological understanding that sentences often represent independent thoughts. Such methods may encourage engaging with text in a rhythm that promotes learning and memory, while avoiding the trap of cognitive fatigue.
[0205] The software can provide the ability to display individual sentences in a multimodal format that achieves an appropriate balance between cognitive load and information conveyance. It offers the ability to combine the display of single text elements / single chunks / single sentences with multimodal display, integrating synchronized auditory and visual stimuli. This software has the potential to enhance and guide reading rhythm to improve efficiency, reading comprehension, and multisensory engagement, simultaneously activating diverse learning styles and making the reading experience accessible to a wider audience, including individuals with learning disabilities.
[0206] Before reading The software can load, modify, translate, or generate content in near real-time as it is displayed to the user. The following are some of the steps that may occur before a reader reads / consumes the content:
[0207] Loading content The software may load content from devices and other storage means, the cloud, peer-to-peer networks, quantum storage, qbit storage, and other storage (including wireless). Content may be stored, subsequently modified, or loaded from any means suitable for information storage (such as local storage, cloud storage, databases, quantum storage, encrypted storage, blockchain-based or encrypted storage, distributed storage, crowdsourced storage, peer-to-peer storage, artificial neural network-based storage, biological neural network or brain-based storage, etc.).
[0208] Content preprocessing Software can provide features that perform pre-processing before displaying content to the user. Examples of pre-processing include:
[0209] Modification of text content Software, methods, or devices may provide the ability to recreate text or content for display to a user or for the user to read or consume (660). Software may provide recreation including automation by software or artificial intelligence (AI) or language learning models. For example, software may provide the ability to recreate text using an AI generative model such as OpenAI's text-davinci-003 or chatGPT. Software may provide prompts to such models. For example, "Rewrite the following text to be clearer and about 50% of its current length, while retaining the same informational content: <input text> In this prompt, the text enclosed in <> is the text that will be processed and rewritten by the AI.
[0210] Software-generated text can serve different purposes. AI generative models may be provided with a variety of prompts designed to achieve different goals. Software prompts guide the AI model as it generates the recreated text, ensuring that the output matches the intended goal. For example, prompts can instruct the AI model to simplify language, shorten text, rephrase for clarity, or even translate into a different language. Software rewriting may involve processes that expand on the original content, provide additional details or explanations, or recreate content for different audiences or purposes. The flexibility and adaptability of this rewriting process make it a powerful tool for enhancing the effectiveness of communication and reading comprehension.
[0211] The software rewrites or creates content by providing prompts to AI or generative models. Examples of prompts used in AI generative models include:
[0212] translation. Translation into different languages 665. Example: "Translate the following text into modern English: <input text> Please translate the following text into French. <inputtext>)
[0213] Writing style or length Rewriting in a different style 670. Example: "Please rewrite the following text in Malcolm Gladwell's style: <input text> "Translate the following text into limited English expressions using 5000 of the most common words, and revise it to be suitable for 9th-grade reading comprehension: <input text> ." Rewrite to a different length 665. Example: "Translate the following text into approximately 1000 words: <input text> "Please shorten the following text to approximately 50% of its original length: <input text> "
[0214] Generate Generating content on a topic 675. Example: "Write a 1000-word section on genetics." Step 1: "Create an outline of a book on genetics." Optional: "Refer to sources including Source 1, Source 2, Author 1, Author 2." Step 2-N: "Write a 5000-word chapter from the second element of the outline." Generated content may be created based on user input. Generated content may be created based on interaction with the AI using text chat or text-to-speech conversion. Users can also discuss their needs through conversations with the bot. This may include audio, written, or chat-based content. For example, a user might be asked, "What would you like to learn about today?" or "Which area of genetics interests you the most?" or "Whose ideas would you like to learn about?" Users can also enter free-form natural language queries to indicate the content they want generated. User input may be used as prompt input to generate content for the user.
[0215] summary Summary 680. Example: "Summarize Adam Grant's 'ThinkAgain' in 5000 words." "Rewrite Adam Grant's 'ThinkAgain' in a concise format using 1%, 5%, 10%, 20%, 25%, 33%, 50%, and 100% of the original text's word count."
[0216] Choice and Personalization The software may offer users personalized content.685. The software may offer features that prompt users to make choices that guide them in creating custom text or custom pre-processing. For example, a user may be asked to select keywords, and sentences or other parts of text related to those keywords will be prioritized and displayed to the user, while other segments of text may be less likely to be displayed or may not be displayed at all. The software may offer features that allow users to discuss their preferences through a conversation with a bot. This conversation may include voice, text, or chat-style content. For example, the software may ask the user, "Would you like this book to have more or less story content?" It may ask the user, "Which parts of this content are you interested in?" It may ask the user, "What do you plan to use this content for?" It may ask the user, "Why do you want to consume this content?" Based on the user's answers, the software may provide content, or adjust text pre-processing, generation, and summarization to match the user's answers, or optimize by including the user's answers in prompts. The software may provide personalization based on the user's past content ratings (e.g., selecting or generating content similar to content the user has previously rated highly). The software may provide personalization based on the user's past communication history (e.g., chat history, email history, social media history, or voice language history). The software may provide the ability to automatically scan and analyze the user's communication history to estimate the user's preferences, interests, or knowledge. This information is incorporated into prompts and used to generate personalized content for the user.For example, the software might prompt you with, "Analyze the following user-generated communication text to identify topics this user might be interested in." It then generates personalized content on those topics. Because personalization is also based on past browsing history, it may prevent users from reading content that is identical or similar to what they have previously read. An example of such a prompt might be: "... <topic>Create content related to this topic, ensuring it does not overlap with the following: previously read content>.
[0217] Content format and style Content Formatting and Style 690. Software may provide the ability to format or style content based on importance, keyword priority, sentiment or emotional content, or other characteristics. Words may be assigned importance scores using language model metrics such as Lexrank, word length, and reverse word frequency in a corpus. Words may also be assigned importance scores if they are determined to be keywords by the language model. For example, software may provide the ability to identify keywords and key phrases in text using the AWSComprehend model. Software may also provide the ability to automatically determine the part of speech of words. For example, words may be assigned parts of speech using an automated language model, e.g., noun=4, verb=3, adverb=2. Software may provide the ability to group phrases and sentences for consistency. For example, this could be done by unifying words within a particular phrase with the same font, size, position, outline, color, highlighting, or other attributes. As another example, software may provide the ability to unify formatting to group content related to a particular topic. For example, text related to specific keywords may be highlighted in a particular color when displayed visually, or its font may be set to a similar style using styling attributes such as CSS font styles.
[0218] Preprocessing of visual content Visual Content Preprocessing 695. When viewing or consuming content, software may provide the ability to display preprocessed content indicating the presence or absence of features and scores. For example, segments of text may be assigned a priority score from 0 to 10 based on their importance. The score may be applied to the level of individual text elements such as words, sentences, paragraphs, sections, chapters, entire books, figures, tables, annotations, and other content. Based on this priority, content may be displayed to the user. For example, high-priority words (Figure 5580) are displayed using a different display method than words of intermediate or low priority (581), creating a mapping between priority levels (ag0-10) and multiple display attributes. Examples of visual word content attributes that can be mapped to importance and other features include: font size, font type, bold level, italic level, font weight, color, grayscale, background color, highlight, display time, or other attributes. For example, words with a higher importance score (580) may be displayed in a larger font size, a darker color such as black, and in bold, while words with a lower importance score (581) may be displayed in a smaller font size, a lighter color such as gray or semi-transparent, a different font, or for a shorter duration. More specific examples are shown in Figures 4 and 5. Other font style parameters such as color and opacity levels can also be used, but these cannot be shown in black and white figures. The software may offer the ability to automatically apply pre-processing of visual content to individual words, phrases, keywords, key phrases, or other text elements.
[0219] Preprocessing of audio content Preprocessing of audio content, Figure 5. Text content may be converted to audio content 500. The software may provide speech styling and audio preprocessing to indicate the presence of parameters and attributes (including features and scores) of text elements. For example, written text may be processed with a text-to-speech model such as AWSPolly, GoogleSpeech, or Murf. Scored features may be mapped to attributes of the generated audio text 500. For example, increasing a word's importance score may be mapped to an increase in the parameters of the audio word presented to the user (volume, duration, speed, words per minute, formant pitch, speaker, emphasis, etc.). Audio attributes are not easily represented graphically. Figure 5 shows the presentation time and duration of a word. Furthermore, other audio attributes of a word can also be manipulated. For example, after pre-processing where text is scored by importance, sections, paragraphs, sentences, phrases, words, or phonemes can be presented as words with a high importance score at a higher volume or speech waveform amplitude of 560, or with a slower presentation speed or prosody, a modified duration from word start to end of 540, or with speech emphasis, or with a larger silent gap around them than when presented at other values. Content scored as relevant to a particular topic or scored by other criteria may be presented by a single speaker / voice. Content on different topics may be presented by different speakers / voices. If visual avatars are used, these avatars may appear to the user as speaking the corresponding audio according to the presentation attributes described above. The resulting content may be presented in pure audio format, a combination of audio and visual / multi-model format, or 2D or 3D virtual reality format.
[0220] Loading... Loop, 700 The software may provide a loop function that repeatedly performs the following steps:
[0221] Target presentation rate (words / minute): 702 The software may offer a feature to display the display rate (e.g., words per minute, characters per minute, sentences per minute, tokens per minute, or other units).
[0222] Calculate the display time for the next content, 704 Software may offer a feature that displays the time it takes to display content, such as the time remaining for a text element in a chapter, book, or document.
[0223] Select content from data stores (files, device storage, cloud, web storage, peer-to-peer, etc.), 706 The software may offer users the ability to select content from storage sources such as files, device storage, cloud, web storage, peer-to-peer data storage, blockchain-based storage, encrypted storage, and quantum storage.
[0224] Generates visual text content for display, 708 Software may provide the ability to generate visual content (including text elements) for display to the user. It may also use AI. See also the definition.
[0225] Set the display format for visual text content, 710 The software provides visual styling for visual content, including text, displayed to the user, and may use AI as needed. See the definition for details.
[0226] Voice-to-text content generation (for display), 712 Software may provide the ability to generate speech-text content for display to the user,712. Software may also provide the ability to convert text content into a speech format that can be displayed to the user. This conversion process may be carried out using a variety of methods, including but not limited to text-to-speech (TTS) software, speech synthesis technology, recordings of human voices, or other speech generation tools.
[0227] Formatting audio-text content for presentations, 714 Software may offer features that leverage artificial intelligence (AI) to generate speech-to-text content. AI may be used to improve the quality of speech output, resulting in a more natural and engaging voice. For example, software may offer features that utilize AI to adjust the tone, pitch, speed, and other characteristics of the speech to match the context of the text. This can make it easier to understand and quickly grasp the content.
[0228] Software may offer features that allow users to adjust audio output according to their preferences and requirements. For example, software may offer the ability to generate audio content in different languages, accents, voice clones, or voice types, depending on the user's selection. This feature could be used in language learning applications and other applications.
[0229] Video content generation and display, 716 The software may provide the ability to generate video content for presentation to the user,716. The software may provide the ability to convert text content or other content into a video format that can be presented to the user. The conversion process may be carried out using a variety of methods, including but not limited to text-to-video (TTV) software and AI or automated video creation software.
[0230] Video content format for presentations, 718 Software may offer features that allow users to customize the output of video content based on their preferences and requirements. For example, software may offer the ability to generate video content using different languages, accents, voice clones, voice types, or different characters, actors, visual elements, or content based on user selection. This feature may be used in language learning applications and other applications.
[0231] Disrupting content as a perception test to measure user engagement and understanding, 720 Software may offer features that disrupt the content displayed to the user, for example, to determine whether the user can detect the disruption. The user may be prompted to identify the content disruption. Disruptions include, but are not limited to, omitted content, typographical errors, punctuation errors, changes in style or visual presentation, changes in meaning, added content, added incorrect content, or other changes.
[0232] Shake the screen or audio content to determine the user's attention to the task or content, 722 Software may cause on-screen content to visibly jitter. This may include moving content up, down, left, or right, changing its color or opacity, or combinations thereof, or other methods. Software may provide UI elements to indicate that the user has detected jitter. Software may audibly disturb or alter the content displayed to the user. For example, by changing volume, pitch, AM / FM, stereo position, or combinations thereof. Software may provide UI elements to indicate that the user has detected a disturbance. Software may use this approach to assess user engagement or attention.
[0233] Wait time before displaying the next content: 724 The software may provide a pause before displaying the next text or content element. For example, the software may provide a pause between phonemes, words, groups of words, phrases, sentences, paragraphs, or longer sections. The pause may be silent or include other sounds, audio icons, or audio indicators. The pause may be selectable by the software or by the user using the UI.
[0234] Start displaying audio content, 726 The software may provide the user with the ability to start displaying audio content, 726.
[0235] Start displaying visual text content, 728 Before beginning to display visual content, the software may delete previous visual content (e.g., deleting previous text elements to display the next text element). The software may also begin displaying visual content to the user,728. The beginning of visual content display may precede the beginning of audio content display.
[0236] The software may provide the ability to display text to the user in a multimodal format (Figure 5A). For example, when displaying a book to the user in a multimodal format, the software may follow this process: a text element (e.g., a sentence) may appear on the device screen, and almost simultaneously, audio corresponding to the same text element may be played to the user. For example, when a sentence appears on the screen, the synthesized speech corresponding to the same sentence is signaled to begin playing. Once the audio playback is complete and an optional short delay occurs, the previous text element is removed from the screen. In the next step, the software loops through different text elements. The software displays the next text element (e.g., a sentence) on the device screen almost simultaneously, and simultaneously, audio corresponding to the same next text element is presented to the user. This example is shown in Figure 5. The software may provide the ability to load the text of a book or other content into a database or memory and store pointers that indicate the correspondence between points in an audio waveform and corresponding elements (paragraphs, sentences, words, phrases, phonemes, etc.) in the book or document. The audio waveform may be generated by feeding the corresponding text content into text-to-speech software (TTS). The software may provide the functionality to match and save text elements with the corresponding audio start and / or end times, and / or audio file names, and / or audio content segments.
[0237] Start displaying video content, 730 The software begins displaying video content to the user (730). The display of visual text, audio, images, and video content may begin in any order under the control of the software.
[0238] Start displaying background content, 732 The software may begin displaying background content, 732. This content may include, for example, ambient sounds, music, or environmental noise. The software can provide background content that automatically adapts to the text content, for example, playing appropriate nature sounds or engaging music when reading a story set outdoors. The background content may be played from pre-recorded audio. The background content may be generated by the software in virtually real time.
[0239] Start displaying coaching content, 734 The software begins displaying coaching content, 734.
[0240] Start displaying scoring / game content, 736 The software may display scoring or game-related content (736). This could serve as a means to gamify the reading experience, for example. This might include scores, metrics, challenges, quizzes, or progress tracking that reward the user based on milestone achievement or comprehension.
[0241] Monitoring user behavior, 738 The software may monitor user behavior,738. This may include tracking reading duration, content read, reading metrics, reading session frequency, or patterns indicating user preferences or behaviors related to content.
[0242] The 740 uses an accelerometer to monitor user movements. Software may have a function to monitor a user's actions using an acceleration sensor (740). This function may be used to infer user engagement. For example, when the device has been completely stationary for a certain period of time (presumed to be placed), it may be inferred that the user has stopped reading, or when a specific action pattern is detected, an action may be triggered within the software (e.g., continue reading when tapped).
[0243] Monitor user button presses, 1390 Software may monitor button taps on the device screen or virtual or physical buttons on the device or other UIS elements, 1390. Software may use touch down, touch up, touch and hold, button hold, and button release gestures where button taps or UIS displays are used. For example, it applies to all UIS elements shown in the figure. For example, software can be provided such that while the user maintains contact with a UIS element or presses a key or button, continuous playback mode continues to display content and stops when the user releases the contact or stops pressing the key or button. Software can be provided to enable the user's button taps, releases, or other gestures on UIS elements to be used to control the functions presented in this application.
[0244] Monitor the position of the user's eyes, 744 Software may adopt a technique to monitor the position of the user's eyes (744). For example, it may use an eye-tracking technique using an embedded camera or an external device. Software may provide a function to utilize this data for analyzing reading patterns and controlling the flow of content based on the user's line of sight position. See additional content regarding eye tracking.
[0245] Monitor the user's face, 746 Software may use face recognition technology, emotion tracking recognition, or other technologies to monitor the user's face, identify the user's identity, or infer the user's concentration and engagement based on the parameters of the content and other text elements.
[0246] Monitoring the user's expression, 748 Software may be used to automatically measure, for example, the reaction to content by analyzing the user's expression (748) and saving it as a text element parameter.
[0247] Monitoring the user's voice, 750 Software monitors the user's voice (750) to, for example, accept commands, answer questions, or facilitate an interactive reading experience using voice recognition.
[0248] Monitoring taps on content to highlight text and save the selected text, 752 Software may provide a function for the user to tap on content or related UI elements to highlight text or save the selected text, 752.
[0249] Accepting memo input to content and saving the selected memo, 754 The UIS of the software may provide a function to accept user input of memos to content and save these memos (e.g., allow the user to annotate text and access these memos later for review).
[0250] Continuing to play audio content until completion, 756 Software may allow the audio content to continue playing until completion (e.g., before starting the next loop iteration). It may also have options to pause with a completion notification, or display an optional sound or sound icon.
[0251] Change visual text content to indicate the progress of audio content, 758 The software may change the displayed visual text content to indicate the progress of audio content, for example (e.g., 758). This change may include altering the text style of text elements before, during, and after they are displayed as audio. For example, the text may be highlighted or dimmed when read aloud to allow the user to visually confirm its position within the content. The software may provide a function to continuously monitor text elements that are being displayed as audio, for example, a function to monitor the word currently being played as audio. The software may use the start time of the audio segment, the duration based on the playback speed of the audio segment, and the text to calculate the relative time position of each text element within the audio segment using these indices.
[0252] Change video content to show the progress of audio content, 760 The software may offer features that change video content in conjunction with the progress of the audio (e.g., showing the user's position within the audio content in the video).
[0253] 762 VR / AR content changes according to the progress of the audio content. The software changes virtual reality (VR) or augmented reality (AR) content according to the progress of the audio content, providing a multi-sensory reading experience that matches audio cues with visual VR / AR cues,762.
[0254] 764 during loading or immediately after the user pauses or stops loading. Software can perform feature activations during or immediately after loading, or when the user pauses or stops loading. This may include prompting for feedback, suggesting additional loading, providing user choices, offering metrics, gamification elements, or other interactive elements to maintain engagement.
[0255] Display comprehension or memory test questions and evaluate the accuracy of the user's answers, 766 The software may optionally display comprehension or retention test questions or assess the accuracy of the user's answers. This may occur after the reading session ends or intermittently during the session, for example, after the software displays selected text elements.
[0256] Based on the responses to the test, we evaluate the user's awareness, understanding, or retention, 768 The software may assess the user's perception, understanding, or retention based on their responses to the presented tests,768. This may be done after the reading session has ended or intermittently during the session, for example, after the software has displayed selected text elements.
[0257] Using eye tracking to determine the user's eye position, 770 The software may enable the use of eye-tracking technology to determine, for example, the position of the user's eyes,770. This feature can identify in real time which parts of the screen the user is focusing on and can potentially be used to analyze reading patterns, concentration, and attention. Eye-tracking data may be collected and used to adapt the display of content in real time or for subsequent analysis. Heatmaps can be calculated, which are described in more detail elsewhere in this document.
[0258] Determine the reading comprehension or retention score based on the user's response (e.g., correct answer rate), 772 The software can provide a function to calculate the user's reading comprehension or retention score based on the user's response to questions or prompts related to the content. The score can be represented, for example, by the correct answer rate or other evaluation indicators. This evaluation can be used to adapt the difficulty level and display style of future content according to the user's individual learning pace and comprehension ability. The details of this function are described in other parts of this document.
[0259] Measure the user's attention, 774 The software may use any of a plurality of methods to measure the user's attention. For example, the software may measure the dwell time of the eye position within or outside the area of interest, the blink rate, the pupil diameter, neurophysiological measurements (EEG, EMG, event-related potential (ERP) ※ may be triggered by audio content or visual content, GSR, heart rate, heart rate variability, cerebral blood flow within or in a plurality of areas of interest, or other measurements. These measurements may be used to infer the user's concentration, fatigue, or cognitive load during the interaction with the content.
[0260] Use the user's eye position to determine the timing when the user is ready to view the next content, 776 The software measures the user's eye position using eye-tracking technology (776). By leveraging this data, it is possible to provide various functions such as controlling the reading navigation, evaluating the reading speed, or determining user engagement and attentiveness, as described in other parts of this document.
[0261] Determine the reading speed, 778 The software may automatically determine the user's reading speed, as described separately in this document, 778.
[0262] Move to "Loop" and continue, 780 After performing one of the procedures presented in the sections following "Loop," the software iterates through consecutive elements of the content and operates as described in detail in other sections of this document.
[0263] After reading It displays comprehension or memory test questions and evaluates the accuracy of the user's answers, 800 The software may offer features that display questions related to the content after reading, assess understanding or retention, and evaluate the accuracy of the answers, as described in detail in other sections of this document.
[0264] Based on the test responses, the system evaluates and scores the user's perception, understanding, or retention, 805 The software may offer options to assess and score the user's perception, understanding, or retention based on their answers to presented questions or tests, as described in more detail elsewhere in this document.
[0265] The 810 uses eye tracking to determine the position of the user's eyes. The software may offer a feature that uses eye-tracking technology to determine the user's eye position after viewing content. 810. Further details on this feature are provided in other parts of this document.
[0266] Based on user responses (e.g., accuracy rate), calculate reading comprehension or memory retention scores, 815 The software may offer a feature that determines reading comprehension or retention scores based on the user's responses (e.g., accuracy rate). 815, This is explained in more detail elsewhere in this document.
[0267] Saves user highlights and notes, 820 The software may offer a feature that allows users to save highlights and notes they have made on content for later reference or analysis, as detailed elsewhere in this document.
[0268] 825 The software may process content highlighted by multiple users and offer the option to display this aggregated data to other users. 825, this is described in more detail elsewhere in this document.
[0269] Allow users to rate text, 830 The software may provide UI elements for the user to evaluate the text or content they have read, as described in more detail elsewhere in this document.
[0270] The software may provide a UI for collecting text input from the user and may offer the ability to collect text input through various methods, such as keyboard input, screen input, and voice input using text-to-speech conversion technology. The software may offer options to collect text input from the user through various means, such as keyboard input, screen input, or voice input using text-to-speech technology,835.
[0271] Save user input as notes, 840 The software may offer an option to save text input from the user as notes related to the content, 840.
[0272] User input is saved to show what the user learned and understood from the content, 845 The software may offer the option to save user input as an indication of what the user has learned or understood from the content, 845.
[0273] This system automatically scores user input and displayed content by comparing them and evaluating similarity, indicating what the user learned and understood from the content. The software may offer options to compare user input with content to assess similarity and automatically evaluate the user's level of learning or understanding,850.
[0274] Using AI or language models, it automatically compares user input with presented content and assesses the extent to which the user understood or remembered the meaning of the content, thereby automatically evaluating what the user learned or understood from the content. The software may offer the option to automatically assess the user's understanding and retention by using AI or language models to compare the user's input with the content or with predefined answers,855.
[0275] The features described in the detailed description sections (including pre-reading, in-reading, and post-reading) may be provided individually or in combination. None of these features are considered mandatory or absolute requirements for the remaining features. Many of these features are described in detail elsewhere in this document, whether explicitly stated or not, and can be understood by referring to other descriptions in this document.
[0276] Available example features What's New feature The software may utilize content filtering algorithms that preprocess text to identify and selectively exclude or minimize content that is substantially similar to content previously viewed by the user or content that the user has indicated they wish to exclude. The software may utilize content filtering algorithms that preprocess text to filter content in areas that the user has indicated they wish to use using the provided UI. The software may use content filtering algorithms that preprocess text to filter content in areas that the user has indicated they wish to avoid using the provided UI. This algorithm may identify content previously viewed by the user by referring to a user-specific database of previously viewed content. The software may use AI prompts to provide this functionality. For example, the software may use a prompt such as: "Please exclude content from the input text that is similar to previous text. Input text <inputtext>Previous text:<prior text> The content may be compared by the software to content the user has previously read, listened to, or consumed. This comparison may be used to limit the display of repetitive text that is similar or identical in meaning to content the user has previously read, or to limit the display of text that matches content that exists in the database of content the user has previously consumed.
[0277] Automatically generated subtitles or captions The software may offer automatic subtitle generation or captioning capabilities. For example, it may generate automatic subtitles for audio or video content. The software generates subtitles by processing the audio signal from the video or audio content, converting the spoken words into text, and adding time indicators as needed. The software may offer the ability to display the subtitles on the video screen or synchronously alongside the audio content. This subtitle generation process may be carried out using speech recognition software. The software may offer editing capabilities for the automatically generated transcripts. For example, it may allow users to correct inaccuracies or provide text formatting options. This may include adjusting the font size, color, and position of captions to improve readability and accessibility. Furthermore, the software may offer transcription and subtitle generation capabilities in multiple languages and dialects, and may have the ability to automatically translate audio content into different written languages. The generated transcripts and captions may be stored and indexed to search, retrieve, and find specific parts of the audio or video content based on their text content. For example, the location of a transcript obtained from a text search within the transcript may be used to locate the corresponding audio or video text.
[0278] Text-based commenting feature and interactive forums The software may provide an embedded commenting tool that allows users to annotate, modify, and post comments within the text of documents and other content. The software may provide annotation capabilities using interactive forums that allow users to create posts, participate in discussions, vote for or against posts, post questions, or add explanations. The software may provide the ability to search for or link relevant comments across different sections or documents. The software may provide a means for users to chat with document authors. The software may provide a means for setting different reputation levels for different users within interactive forums. The software may provide a means for users with higher reputation levels to gain priority in content display. The software may provide a redline feature. The software may provide change tracking and approval / rejection features. The software may provide document comparison or merge features. The software may provide document diff viewing features. The software may provide document rollback features. The software may provide document version control features. The software may provide forum moderation features.
[0279] Editing suggestions and voting features The software may include collaborative editing features. The software may offer features that allow users to suggest changes to text. The software may offer features that allow other users to participate in a voting process to approve or reject these suggestions. The software may offer algorithms that prioritize suggestions based on a user's editing history and reputation. The software may offer features that prioritize the display of high-scoring suggestions, for example, by displaying comments with high voting scores weighted by user reputation first.
[0280] User feedback score and reputation feature The software may assign users a dynamic score (e.g., reputation score) based on the frequency and quality of their interactions or their reputation on other platforms (e.g., comments, edit suggestions, participation in discussions). The software may provide a feature that calculates user reputation in part based on information from other platforms (e.g., follower count, number of posts, engagement metrics on social media platforms). Feedback from users with high reputation scores may be visually distinguished on the interface or given preferential treatment by algorithms. This scoring system may leverage an adaptive model that evolves based on community engagement and content accuracy. The software may provide content curation based on user feedback and implement reputation-based weighted scoring.
[0281] Content reading order and other display features Software may provide features that visualize parameters of text elements to the user. For example, it may display information such as the order in which text elements were read, the date and time or elapsed time the text elements were read, the highlight level of the text elements, and the time spent on different content segments. Based on this display, software may provide tools to jump to recently viewed content. For example, by tapping on the area where recently viewed text elements are displayed, users can easily continue reading from where they left off or find areas where they spent more or less time. Software may display this information in a tabular format. Software may display this information using graphs or charts. Software may display this information in a timeline or map visualization, or other display format that shows the user's reading path. For example, software may display a line where dots on the line correspond to specific text elements, and the color of the dots on the line corresponds to the parameters of the corresponding text element (e.g., highlight level, number of times read, date and time read, time spent, pupil measurement data, attention data, eye movement or eye fixation time data, etc.). This information may be generated based on the current user behavior or the user's simultaneous or past behavior.
[0282] Dark Mode and Styling Options: Software may offer customizable display settings, which may include dark mode options (displaying bright text on a dark background) and night mode options (displaying warm colors and tones suitable for low-light environments or before bedtime). Software may offer features aimed at reducing eye strain, lowering power consumption, and promoting sleep (e.g., blue light removal). Software may offer user-customizable themes, font styles, and layout settings. Software may offer features that adapt to ambient lighting conditions and user-specified schedules, such as automatically adjusting brightness based on ambient light levels and the user's local time.
[0283] Content may be provided to users using a projector. Content may be provided to users using a head-up display.
[0284] Game and Multiplayer Mode Multiplayer mode The software may offer a multiplayer mode that allows multiple users to interact with the software simultaneously. The software may offer a multiplayer mode that allows multiple users to interact with the same content, including the ability to interact with the same content simultaneously or at different times. The software may offer a multiplayer mode that allows multiple users to interact with content simultaneously, including the ability to support parallel or synchronous reading. The software may offer a shared reading experience with the ability for users to view, discuss, and exchange opinions on content. This functionality is available virtually in real-time or asynchronously. For example, the software may offer a competitive reading game, which may include features such as users competing to complete text or answering questions to check their comprehension.
[0285] The software may offer a multiplayer mode that supports asynchronous reading, allowing different users to interact with content at different times. The software may also offer the ability to assign users to independently read or interact with content asynchronously. User annotations, highlights, notes, or other derived user data may be shared with other users through the software to enable collaborative learning.
[0286] In both parallel and serial modes, the software may offer features that enhance the multiplayer experience and communication. For example, it may provide chat, forums, communities, or commenting features for users to discuss content, or voting and rating systems to indicate agreement or disagreement with other users' interpretations. The software may also provide personalized recommendations to users based on their text interactions and interactions with other users.
[0287] Refer to multi-user, multi-version content. Software may provide content references that can be used synchronously or asynchronously by different users across different versions of content or text. For example, if two users are reading different versions of the same book, the software may allow them to communicate with each other using corresponding content location descriptors across the different versions, enabling them to understand the location of the book that the other user is referencing. For example, Figure 11 illustrates how a database structure can maintain corresponding text and pointers across different versions. For instance, software may provide a function that allows a user reading paragraph 1, sentence 1 of version 1 of the text displayed in cell 1104 / 1140 to send a pointer to a second user reading version 2 of the same text. The second user will see the text displayed in 1118 / 1140, and the text corresponding to the same paragraph and sentence number in the version the second user is reading (version 2) (paragraph 1, sentence 1, version 2). These content references enable communication of corresponding content and content locations across different versions, edits, languages, revisions, etc.
[0288] Text normalization Software may normalize content or text from different versions to create a content ID (e.g., 1132). Software may create multiple versions of the same text element, each with a corresponding content ID. Software may abstract content by converting certain references, such as page numbers, headings, and quotes, into a generic reference format that the system can understand regardless of the version.
[0289] Content IDs: Text elements, sections, paragraphs, sentences, time points, images, words, or other parts of text or content may be assigned a Content Identifier (CID). These CIDs allow users to refer to specific parts of text or content without relying on page numbers or direct citations. Page numbers and direct citations may vary depending on the edition, format, and user settings.
[0290] Communication: Software may provide features that allow users to communicate with other users about text elements or other elements of content. This allows the software to display corresponding content from a version of the text element or content selected by another user to that user. The software provides synchronization features so that if one user shares, communicates, marks, or interacts with a section of text or content, a second or additional user can view the corresponding content in that user's version of the text or content. This feature works even if the second user is interacting with a version in a different language, different pagination, user settings, or selections. Content Anchoring: Software can use anchor points within the text, such as chapter titles, subheadings, or certain keywords that are unlikely to change between different versions. Users can select these as reference points for discussion. Cross-Version Indexing: Software indexes multiple text versions to create a cross-reference system. When a user highlights a section of text or makes a note, it is mapped to the corresponding section in other versions of the text through this indexing system. CID may be used, for example. Cross-Device and Cross-Format Synchronization: Software may synchronize user actions such as highlighting, note-taking, and bookmarking across different devices and formats. For example, synchronization may be performed based on CID. Contextual linking: Software may employ algorithms to understand the context surrounding selected text elements, highlighted sections, and comments. This contextual linking allows the system to analyze the context and content surrounding selected text elements and potentially identify the same or similar sections within different versions of the text element.Navigational User Interaction Systems: The software may provide a user interaction system that allows users to navigate annotations, comments, and discussions linked to specific parts of text or content. This interface displays a mapping, allowing users to jump to the relevant section within their own version of the text or content. For example, this might occur when receiving links to text elements or points within videos from different users (e.g., users using different versions of the content). Cloud-Based Collaboration: The software may use a cloud-based platform to enable real-time or asynchronous updates and sharing of text elements (including corresponding text elements across versions), information, annotations, messages, or other content among users. This may allow users to see other users' comments, questions, engagements, or annotations in relation to the text or content, regardless of the other user's version or loading time.
[0291] Multilingual features and translation support The software provides multilingual support and translation assistance, allowing users to view content and discussions in automatically translated languages and across multiple languages. The software may offer translation features for a global community, facilitating communication and understanding among users who speak different languages. The software may display indicators to users showing the original version or language of content (e.g., text elements, comments, posts). The software may provide UI features that allow users to manage translation controls (such as toggling translation on / off and selecting target languages). A user's language, other languages, and translation settings may be stored in their user profile. The software may offer translation features that maintain consistency between text elements across different versions and languages, enabling users to communicate about corresponding content elements regardless of whether the actual content is displayed in their own language or version, or based on their settings.
[0292] Book club, reading club, study club The software may provide features to support book clubs, reading groups, and study clubs that engage with other types of content. For example, members of a reading group can read at their own pace and interact asynchronously with other members and NPCs. The software may also provide the social aspects of a book club, even when members read content asynchronously or at different paces. For example, the software may provide a platform for members to share their thoughts, insights, and interpretations of the text with the entire group, or provide features to initiate one-to-one, one-to-many, or group-wide communication about the content. The software may provide features that allow users to highlight and share specific elements of the text, for example, directly from the reading interface. The software may provide features that allow users to easily reference specific text elements in discussions and allow different users to view corresponding text elements from their own versions based on their choices, language, and user preferences. The software may provide voting and surveying features for club members, allowing club members to decide on future content and topics.
[0293] User information sharing The software may provide the current user with the ability to view a variety of information from other users. This may include information from other users' profile data, such as name, avatar, profile picture, reading preferences, favorite books, and other personal details they have chosen to share. The software may provide security and control features regarding the data users share and do not share, and who they share with (individual users, user types, user groups, etc.). The software may provide the ability to view other users' reading metrics. This may include the number of books and pages read, average reading speed, time spent reading, and other quantitative indicators of reading activity and content consumption.
[0294] Software may display other users' current reading positions. This may indicate a specific section or page in a book that another user is currently reading, or it may use a mechanism to share corresponding positions across versions. By displaying other users' reading positions, software may offer a feature that allows the current user to read alongside them or compete with them. This can create a shared experience, a sense of community, or an element of competition.
[0295] The software may display selections made by other users. It may display sections of text or content that other users or user groups have highlighted, pages they have bookmarked, or notes and comments they have added to text or content.
[0296] Software may offer features that enable interaction between users. These may include, for example, synchronous or asynchronous text, voice, or video chat, sharing of reading progress, comments, or annotations.
[0297] competition Software may offer competition among users. For example, speed reading contests where users read a given text in a short amount of time, or contests where users read a large amount of content within a given time limit. Software may provide reading metrics among users (e.g., average reading speed or volume over a certain period), allowing for the identification of specific users or ranking users based on their performance during the competition. Software may offer comprehension efficiency contests where users aim to understand a text within a specified time limit, answering comprehension questions related to the text or summarizing the text. Software can provide reading metrics among users (e.g., reading efficiency (volume read x accuracy on comprehension tests) or other metrics based on comprehension and retention), allowing for the identification of specific users or ranking users based on their performance during the competition. Software may provide the ability to update the progress of participants' reading metrics in real time during the competition. Software may display a leaderboard that shows the ranking of participants.
[0298] Competition scheduling and matching The software may provide a registration function for users to participate in competitions. The software may provide a scheduling function for competitions. For example, competitions may be automatically scheduled on a daily, weekly, monthly, or other interval basis. The software may provide a function to automatically select competition content. For example, a function to select content for a reading speed competition. The software may provide a function to allow users to select competition content. For example, a function that allows users to create a competition and select content, users, time, duration, purpose, or other competition parameters. The software may provide a matching function to get users to participate in competitions. For example, a function that selects competitions that match a user's reading metrics and suggests participation in those competitions. The software may provide a matching function to get users to participate in competitions with matching profile information (e.g., users in the same group, cohort, class, age group, reading level, or with the same teacher or coach).
[0299] Scoring system and leaderboard The software may provide a way to award points to users for completing tasks, achieving milestones, and measuring progress and accomplishment (e.g., completing reading text elements, content consumption, reading volume, reading consistency, or maintaining reading or content consumption over consecutive days). The software may also offer badges, trophies, or other symbols of achievement when users reach specific goals or complete certain challenges.
[0300] The software may offer a competitive evaluation system. The software may offer a competitive evaluation system that evaluates users based on multiple reading metrics. These metrics may include, but are not limited to, reading speed, comprehension, time spent on the platform, or the amount of content read. The software may offer an automated handicapping feature for users. For example, it may multiply a user's score by user-specific factors (e.g., academic level or reading level) or perform a curved evaluation against a distribution of other selected users. The software may offer leaderboards that rank users based on their scores or reading metrics. The software may provide leaderboards displayed in the user interface (UIS) that allow users to visually see their performance in comparison to other users. The software may offer the ability to select which users appear on the leaderboard based on various factors, such as the user's competitors, group, selected content or books, age group, reading level, and geographical location. This allows users to compare their performance with relevant age groups. The software may offer leaderboards that are updated virtually in real time.
[0301] Additional features Levels and Progression: The software may offer features that allow users to unlock new content, challenges, or rewards as they progress through levels or stages. Challenges and Quests: The software may offer specially designed challenges and quests that users can work on, which may be given a narrative or thematic context. Customizable Avatars: Users may be able to create and customize avatars to represent themselves within the gamified environment. For example, they may be able to change their visual image within the software or enable skills, and these settings may be saved in their user profile. Rewards and Incentives: The software may offer virtual or real-world rewards upon completion of activities or reaching certain levels. Storytelling Elements: The software may integrate storytelling elements, allowing users to experience a narrative that unfolds as they progress through tasks and challenges. Analytics and Reporting: The platform provides analytics and reporting tools that offer insights into user behavior, engagement levels, and performance metrics. Customization and Branding: The software may offer features that allow users to customize the look and feel of the interface to match their brand identity or the preferences of specific user groups. Security and Moderation: The software may provide security measures that restrict what users can receive from other users, as well as moderation tools that allow moderators to flag, remove, or ban content and users.
[0302] Skill Trees and Personalization The software may offer a skills tree that users progress through as they complete reading tasks or educational challenges. This feature may allow for the personalization of learning and gameplay paths, available content and tools, and features.
[0303] Simulation of a synchronous multiplayer experience The software may simulate a synchronous or live multiplayer experience for a user in a series of multiplayer sessions in which different users join asynchronously. The software may provide the user with information from other users. In relative time-based simulations, the software provides "simulated synchronization information," which is information derived at the same time point as the current user, if the current user started a task at the same time point (e.g., starting to read text or consuming content elements). This information is information derived at the corresponding time point for a second user. In relative position-based simulations, the software may provide relative synchronization information. This is information generated at the corresponding position point for a second user, and is information generated at the same position point for the current user, if the second user was at the same position point as the current user (e.g., the same sentence number in a document or content, the same point in a video, or the same position in a virtual, game, or real-world setting).
[0304] The information about a second user provided by the software may include simulated synchronization information related to that second user when that second user was at a corresponding time point in the simulated synchronization experience. Here, a corresponding time point refers to the same point in time relative to when the two users began an activity, such as reading text or text elements. The information about a second user provided by the software may also include simulated synchr...
Claims
1. A selective visual display system, a. A processor configured to execute encoding instructions for retrieving, processing, and presenting content to the user; b. An integrated circuit for processing electrical audio signals, having the ability to convert digital audio data into human-perceptible audio output, and further including audio functions for utilizing digital audio formats; c. A display screen connected to the device and configured to display digital content and to provide a medium for user interaction with the content presented by the system; e. One or more computer memory devices configured to store machine-readable instructions, content files, user data, or system operation logs; and f. An audio presentation module designed to present audio data to the user; Includes, The device described above, Displaying content elements on the aforementioned display screen; To present an audio segment corresponding to the aforementioned content element; At the end of the audio segment corresponding to the content element, remove the content element from the display; The presentation of the content elements is to be comprehensively controlled, wherein the audio content elements are derived from digital audio data and are presented via an output mechanism in a manner perceptible to the user; and Display the next content element and present the next audio segment. It is configured to perform operations including, The method includes a sequencing logic that controls the temporal progression of content elements and integrally controls the order and timing in which the content becomes accessible. Selective visual display system.
2. A computer implementation method for selective visual and audio content presentation, a. The process of executing encoding instructions for acquiring, processing, and presenting content to the user; b. The process of processing electrical audio signals by converting digital audio data into human-perceptible audio output using a digital audio format; c. A process of displaying digital content including various content types and providing a medium for user interaction with the presented content; e. The process of storing machine-readable instructions, content files, user data, or system operation logs in memory; and f. A step of presenting audio data to the user, wherein the method is capable of providing a variety of audio outputs; Includes, The aforementioned method, The process of displaying content elements; A process of presenting a series of content elements that may include various different digital content elements; A step of presenting an audio segment corresponding to the aforementioned content element; A step of ending the display of the aforementioned content element; A step of integrally controlling the audio presentation of the content element, wherein the audio content element is derived from digital audio data and is presented to the user in a manner perceptible to the user via an output mechanism; and The process of displaying the next content element and presenting the next audio segment. It further includes, The method includes sequencing logic that controls the temporal progression of content elements and integrally controls the order and timing in which the content becomes accessible. Computer implementation method.
3. A computer implementation method for selective visual and audio content presentation, a. The process of executing encoding instructions for acquiring, processing, and presenting content to the user; b. The process of processing electrical audio signals by converting digital audio data into human-perceptible audio output using a digital audio format; c. The process of displaying digital content, including various content types, and providing a medium for user interaction with the presented content; e. The process of storing machine-readable instructions, content files, user data, or system operation logs in memory; and f. A step of presenting audio data to the user, wherein the method is capable of providing a variety of audio outputs; Includes, The aforementioned method, A process of rewriting text content to generate a new version of the text content; The process of displaying content elements; A process of presenting a series of content elements that may include various different digital content elements; A process for integrally controlling the audio presentation of the content element, wherein the audio content element is derived from digital audio data and is presented via an output mechanism in a manner perceptible to the user. Includes, The method provides the user with means for switching between the presentation of the text content and the presentation of the new version of the text content while maintaining the corresponding positions; The method includes sequencing logic that controls the temporal progression of content elements and integrally controls the order and timing in which the content becomes accessible. Computer implementation method.
4. The aforementioned method, Displaying content elements; Displaying an audio segment corresponding to the aforementioned content element; To terminate the display of the aforementioned content element; and Display the next content element and present the next audio segment. The method according to claim 2, wherein the operations including are performed in a sequential order.
5. The method according to claim 4, wherein the content element includes a text element.
6. The method according to claim 4, wherein the content element includes a sentence of text.
7. The method according to claim 4, wherein the content element includes the text of a single phrase.
8. The method according to claim 4, wherein the content element includes a paragraph of text.
9. The method according to claim 4, wherein the aforementioned content element and the subsequent content element each contain a sentence of text.
10. The content element includes text elements, which are selected from a group consisting of individual characters of various alphabets, including but not limited to Roman, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean, and Hindi; sets of characters; single words; sets of words; phrases; sets of phrases; sentences; sequences of sentences; paragraphs; sets of paragraphs; sections such as tables of contents; text portions for specific purposes; captions for images, tables, or figures; mathematical formulas; translations in different languages; links to other text elements, documents, or web resources; emojis; symbols or special characters such as mathematical symbols or scientific notation; footnotes and endnotes; annotations or notes; excerpts from other texts; bulleted or numbered lists; citation blocks; code snippets in programming languages; bibliographic information; legal citations; and combinations thereof. The text element is configured to be presented on a device selected from the group consisting of computer screens, mobile device screens, augmented reality or virtual reality devices, and brain / computer interfaces. The method according to claim 4.
11. The method according to claim 4, wherein the content element includes a text element, the text element includes multiple words, and each word is formatted and presented with different visual style attributes selected from a group consisting of font type, font size, text color, text background color, bold, italics, underline, strikethrough, shadow, outline, glow; text alignment including left alignment, right alignment, center alignment, justified alignment; spacing attributes including line spacing, character spacing, margin settings; hierarchical structure indicators including headings, subheadings, bullet points, numbering; interactive elements including buttons, links, toggles; and combinations thereof, and the visual style attributes are configured to be presented on a device selected from a group consisting of a computer screen, a mobile device screen, an augmented reality or virtual reality device, and a brain / computer interface.
12. The method according to claim 4, wherein the audio segment includes text-to-speech audio.
13. The method according to claim 4, wherein the audio segment includes a text-to-speech audio of one sentence.
14. The method according to claim 4, wherein the aforementioned audio segment and the following audio segment each include a text-to-speech audio of one sentence.
15. The audio segment may include, but is not limited to, individual characters of various alphabets including Roman, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean, and Hindi; sets of characters; single words; sets of words; phrases; sets of phrases; sentences; sequences of sentences; paragraphs; sets of paragraphs; sections such as tables of contents; text sections for specific purposes; captions for images, tables, or figures; mathematical formulas; translations in different languages; detailed definitions; hyperlinks to other text elements, documents, or web resources; emojis; symbols or special characters such as mathematical symbols or scientific notation; footnotes and endnotes; annotations or notes; The method according to claim 4, comprising text-to-speech audio derived from text elements selected from a group consisting of excerpts from other texts; bulleted or numbered lists; citation blocks; code snippets in various programming languages; bibliographic information; legal citations; and combinations thereof, wherein the text-to-speech audio is presented in a style selected from a group consisting of different voice types; accents; dialects; languages; intonation; pitch; speaking speed; volume; and emotional tone, and is configured to mimic human speech and is set to suit various communication contexts.
16. The method according to claim 4, wherein the method applies audio styling to text-to-speech audio, and the audio styling includes presenting different occurrences of the same word at different volumes when the same word is presented in different sentences.
17. The method according to claim 4, wherein the method applies audio styling to text-to-speech audio, and the audio styling includes presenting different occurrences of the same word at different speeds when the same word is presented in different sentences.
18. The method according to claim 4, characterized in that the method applies audio styling to text-to-speech audio, wherein the audio styling includes presenting different occurrences of a word in different stereo positions.
19. The method according to claim 4, wherein the method is configured to adjust the content presentation speed of the content via a user interaction system element or an algorithmically determined setting.
20. The method according to claim 4, wherein the method dynamically selects the content from a plurality of content text versions.
21. The method according to claim 26, wherein the content dynamically selected by the method is selected based on user selection using a user interaction system element such as a selector or slider.
22. The method according to claim 4, wherein the method automatically adjusts the volume of words or sentences in the content to reflect their importance.
23. The method according to claim 4, wherein the method automatically divides a sentence into groups of words and presents them with greater spacing between words than the spacing within each word group in order to improve readability.
24. The method according to claim 4, wherein the method automatically divides a sentence into groups of words and presents the groups of words in a vertical order to aid in readability.
25. The method according to claim 4, wherein the method automatically rewrites the text content to generate a new version of the text content.
26. The method according to claim 4, wherein the method automatically rewrites the text content to generate a shorter version of the text content.
27. The method according to claim 4, wherein the method automatically rewrites text content to generate versions of the text content in different languages.
28. The method according to claim 4, wherein the method automatically rewrites text content to generate a new version of the text content, and the method provides means for the user to switch between the presentation of the text content and the presentation of the new version of the text content, while maintaining the corresponding positions.
29. The method according to claim 4, wherein the method displays text content one sentence at a time in order to allow for focused reading.
30. The method according to claim 4, wherein the method automatically selects text elements based on text element parameters and presents the text elements based on the selection.
31. The method according to claim 4, wherein the method automatically selects text elements based on information selected from a group consisting of keyword content, key phrase content, semantic relevance, user-specified criteria, user-specified queries, tags, prior presentation, linguistic analysis, sentiment analysis, contextual relevance, past interaction data, metadata characteristics, author information, source reliability, temporal factors, document structure, reader preferences, accessibility requirements, and combinations thereof, and presents the text elements based on the selection by means including, but not limited to, visual display, audio output, interactive elements on a user interface, or combinations thereof.
32. The method according to claim 4, wherein the method maintains the user's corresponding position within the content when the user selects a different content version.
33. The method according to claim 4, wherein the method automatically selects or highlights sentences containing user-defined keywords or key phrases.
34. The method according to claim 4, wherein the method enables the user to highlight or select text with a single tap operation.
35. The method according to claim 4, wherein the method allows the user to highlight or select text by swiping.
36. The method according to claim 4, wherein the method allows a user to change the level of highlighting of a sentence by performing a single gesture, the single gesture may be a touch, tap, click, key press, swipe, touch up / touch release, long press, long press release, or any other distinct touch interaction that does not require a sequence of multiple different touches or different gestures.
37. The method according to claim 4, wherein the method provides a review mode that allows navigation in both forward and reverse directions within the text, skipping unselected sentences and presenting the next selected sentence.
38. The method according to claim 4, wherein the method provides a review mode that allows the user to navigate forward and backward within the text, skipping unselected sentences and presenting the next sentence selected by a different user or multiple different users to the user.
39. The method according to claim 4, wherein the method provides a review mode that allows the user to navigate within text in a manner selected from a group consisting of forward navigation that skips unselected sentences and presents the next selected sentence, backward navigation that skips unselected sentences and presents the previous selected sentence, forward and backward navigation that presents the next or previous sentence selected by a different user, and any combination thereof, wherein the navigation is facilitated by user interaction selected from a group consisting of swipe gestures, keyboard shortcuts, voice commands, mouse clicks, touchscreen taps, and programmable hardware buttons.
40. The method according to claim 4, wherein the method provides a review mode that enables navigation within text based on information selected from a group consisting of keyword inclusion, semantic relevance, user-specified queries, importance, user selection, user highlighting, selection by different users, highlighting by different or more different users, selection by multiple different users, and user annotations, the navigation allows forward movement, skipping unselected sentences and presenting the next selected sentence, or backward movement, skipping unselected sentences and presenting the previous selected sentence, and the navigation is automatically controlled or involves user interaction.
41. The method according to claim 4, wherein the method supports highlighting text at multiple highlight levels or categories.
42. The method according to claim 4, wherein the method automatically adjusts the presentation speed of the sentence or paragraph based on the automatically estimated importance of the sentence or paragraph.
43. The method according to claim 4, wherein the method automatically adjusts the presentation speed of the sentence or paragraph based on the automatically estimated complexity of the sentence or paragraph.
44. The method automatically provides the user with content similar to content previously presented to them.
45. The method according to claim 4, wherein the method automatically determines content similar to content previously presented to the user and avoids presenting such content.
46. The method according to claim 4, wherein the method automatically determines content selected based on a user query and presents this content.
47. The method according to claim 4, wherein the method calculates and displays the estimated remaining time required to present the rewritten version of the content based on the remaining length of the rewritten version of the content.
48. The method according to claim 4, wherein the method supports a multiplayer mode, the multiplayer mode being such that a first user interacts with the content while a second user also interacts with the content, and the first user can see a display indicating the second user's position within the content.
49. The method according to claim 4, wherein the method supports a multiplayer mode, the multiplayer mode being such that a first user interacts with the content while a second user also interacts with the content, and the first user can see a display indicating the reading speed of the second user or the amount of content presented to the second user.
50. The method according to claim 4, wherein the method supports a multiplayer mode, the multiplayer mode being such that a first user interacts with the content while a second user also interacts with the content, and the first user can see a display indicating notes or selections made by the second user.
51. The method according to claim 4, wherein the content element includes a text element in a hybrid language.
52. The method according to claim 4, wherein the content element includes a text element of a software-generated synthetic hybrid language.