Git Product home page Git Product logo

assist-heidi-speech-jokey's People

Contributors

chiaracalvo avatar deinhofer avatar hackxit avatar martinatumsich avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

assist-heidi-speech-jokey's Issues

Abbreviation Display for SSML Tags in Navigation Mode

Description

Implement a feature in Navigation Mode (Mode 1) to display SSML tags as abbreviations or icons, similar to a markdown live preview. This will allow users to quickly identify and understand the presence of SSML tags in the text without viewing the full syntax, enhancing readability and navigation efficiency.

Sub-tasks

Frontend

  • Design and integrate a system to represent SSML tags with intuitive abbreviations or icons.
  • Implement dynamic rendering of text to show these abbreviations/icons in Navigation Mode.
  • Ensure the display is clear, accessible, and does not clutter the text.

Backend

  • Develop logic to identify SSML tags and convert them to corresponding abbreviations/icons.
  • Ensure efficient processing for real-time updates in the text display.
  • Handle different types of SSML tags and their unique abbreviation/icon representations.

Estimations

  • Size: Medium
  • Priority: Medium

Branch Name

feature/ssml-abbrev-navigation

UI Design for Mode Switching

Description

Create a user interface design that allows users to easily switch between Navigation Mode (Mode 1) and Editing Mode (Mode 2). This interface should be intuitive and accessible, enabling users to seamlessly transition between modes without disrupting their workflow.

Sub-tasks

Frontend

  • Design an intuitive switch or toggle control for changing between Navigation and Editing modes.
  • Implement clear visual indicators to show which mode is currently active.
  • Ensure the mode switch control is prominently placed and accessible for users with restricted input capabilities.

Backend

  • Develop backend support to handle the mode switching functionality, ensuring a smooth transition between modes.
  • Implement logic to maintain text and cursor position integrity when switching modes.
  • Ensure the mode switching is responsive and does not hinder the application's performance.

Estimations

  • Size: Medium
  • Priority: Medium

Branch Name

feature/mode-switching-ui

Frontend Layout and Design

Description

Develop a user-friendly and accessible interface using the Kivy Framework, as per the initial draft1.kv. This interface should be intuitive, with clear visual cues for navigation and accessible pop-up menus for SSML tag selection.

Sub-tasks

  • Design the basic layout of the application.
  • Implement accessible UI components.
  • Integrate pop-up menus for SSML tag selection.
  • Ensure compatibility with different screen sizes and devices.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/frontend-layout

Full SSML Syntax Display in Editing Mode

Description

Develop the functionality to display the full SSML syntax in Editing Mode (Mode 2). When a line of text is selected and zoomed in, the application should render the text with the actual SSML tags, enabling users to view and edit the SSML syntax directly. This feature is critical for detailed editing and customization of SSML tags.

Sub-tasks

Frontend

  • Design the UI to render full SSML syntax in Editing Mode when a line is selected.
  • Implement an interface that allows users to interact with and edit the SSML tags directly.
  • Ensure the display of SSML syntax is clear and accessible, facilitating ease of editing.

Backend

  • Develop backend logic to provide detailed SSML tag information for the selected text.
  • Implement functionality to handle edits made to SSML tags and reflect them in the text.
  • Optimize for performance to ensure real-time updates and responsiveness in Editing Mode.

Estimations

  • Size: Medium
  • Priority: Medium

Branch Name

feature/full-ssml-syntax-editing

Documentation for Navigation and Editing Features

Description

Create comprehensive documentation for the Navigation Mode (Mode 1) and Editing Mode (Mode 2) features. This documentation should cover detailed usage instructions, design philosophy, technical implementation, and any other relevant information that would assist developers, testers, and end-users in understanding and utilizing these features effectively.

Sub-tasks

Documentation Creation

  • Write detailed user guides and manuals explaining how to use Navigation and Editing Modes.
  • Document the technical aspects of these features, including design decisions, implementation details, and system architecture.
  • Include troubleshooting tips, FAQs, and best practices for users.

Review and Updates

  • Conduct reviews of the documentation for clarity, accuracy, and completeness.
  • Update the documentation regularly to reflect any changes or enhancements made to the features.
  • Ensure the documentation is accessible and easy to understand for all users, including those with restricted input capabilities.

Estimations

  • Size: Medium
  • Priority: Low

Branch Name

feature/nav-edit-docs

User Preference Settings Development

Description

Develop a comprehensive user preference settings feature for the application. This will include a frontend interface for users to customize their settings and backend logic to save and apply these preferences. The specific settings options will be defined in the future, but the infrastructure should be flexible to accommodate a range of user customizations.

Sub-tasks

Frontend

  • Design a user-friendly settings interface where users can modify their preferences.
  • Implement interactive elements and controls for various settings options.
  • Ensure the settings menu is accessible, intuitive, and scalable for future additions.

Backend

  • Develop backend functionality to store and retrieve user preferences.
  • Create a system to apply user preferences throughout the application.
  • Ensure backend flexibility to handle a range of customizable options and future expansions.

Estimations

  • Size: Large
  • Priority: Medium

Branch Name

feature/user-preferences

SSML Break Tag Pop-up Menu

Description

Design and implement the SSML Break Tag pop-up menu, which includes both frontend UI design and backend functionality. This component should allow users to easily customize and insert SSML Break tags.

Sub-tasks

Frontend

  • Design the UI layout for the Break tag pop-up.
  • Implement interactive elements for tag customization.
  • Ensure the pop-up menu is accessible and user-friendly.

Backend

  • Develop logic to process user selections from the Break tag pop-up.
  • Integrate these selections into the text editing and SSML processing workflow.
  • Ensure seamless frontend-backend integration for this feature.

Estimations

  • Size: Medium
  • Priority: Medium

Branch Name

feature/ssml-break-menu

Generic Time/Date Picker Pop-up Menu Component for SSML Features

Description

Develop a generic time/date picker pop-up menu component that can be adapted for SSML features like 'time' and 'date'. This component should enable users to easily select time and date values for SSML tags, and is contingent on the text selection mechanism.

Sub-tasks

Frontend

  • Design a versatile time/date picker pop-up menu for SSML 'time' and 'date' features.
  • Implement interactive time and date selection controls within the pop-up.
  • Ensure the pop-up menu is accessible, intuitive, and provides a smooth user experience.

Backend

  • Develop backend support for the time/date picker to handle user selections and inputs.
  • Create a flexible backend structure to integrate the pop-up menu with 'time' and 'date' SSML features.
  • Ensure the backend can process time and date selections efficiently and is adaptable for different SSML tag types.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/time-date-picker-menu

Generic Button Pop-up Menu Component for SSML Features

Description

Develop a generic button pop-up menu component that can be adapted for various SSML features including 'pitch', 'emphasis', and 'emotions'. This reusable component should facilitate user interaction for selecting SSML attributes, and is contingent on the successful implementation of the text selection mechanism.

Sub-tasks

Frontend

  • Design a versatile button pop-up menu that can be customized for different SSML features.
  • Implement interactive buttons and controls within the pop-up for user selections.
  • Ensure the pop-up menu is accessible, intuitive, and provides a consistent user experience across different SSML features.

Backend

  • Develop backend support for the button pop-up menu to handle various user selections and inputs.
  • Create a flexible backend structure that allows easy integration of the pop-up menu with different SSML features.
  • Ensure the backend can dynamically adapt the pop-up menu based on the SSML feature being used.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/generic-ssml-button-menu

SSML Wrapping Mechanism

Description

Develop a mechanism to wrap selected text using arbitrary SSML tags. This feature is essential for allowing users to apply SSML enhancements to specific text segments. The implementation requires both frontend interface design and backend logic to handle the selection and wrapping process.

Sub-tasks

Frontend

  • Design a user interface component that allows users to select text and choose an SSML tag for wrapping.
  • Implement a selection tool within the text editor to enable precise text selection.
  • Ensure the UI is intuitive and accessible, catering to users with limited input capabilities.

Backend

  • Develop backend logic to identify the selected text range and apply the chosen SSML tag.
  • Create a flexible system that can handle various SSML tags and wrap them around the selected text.
  • Ensure that the backend can process these actions efficiently and is scalable for different types of SSML tags.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/ssml-wrapping-mechanism

Generic Numpad Pop-up Menu Component for SSML Features

Description

Develop a generic Numpad pop-up menu component for the SSML 'number' feature. This component will facilitate user interaction for entering numerical values and should be compatible with both the insertion and selection mechanisms.

Sub-tasks

Frontend

  • Design a Numpad pop-up menu that can be used for entering numbers in SSML tags.
  • Implement a user-friendly and accessible Numpad interface within the pop-up.
  • Ensure the Numpad pop-up provides a consistent and intuitive experience for the user.

Backend

  • Develop backend logic to process numerical inputs from the Numpad pop-up.
  • Create a system that allows the Numpad pop-up to work seamlessly with both insertion and selection mechanisms.
  • Ensure the backend is flexible to accommodate future expansions or adaptations of the Numpad component.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/ssml-numpad-menu

Integration of On-Screen Keyboard

Description

Implement the integration of the operating system's on-screen keyboard with the application, particularly for use in Editing Mode (Mode 2). This feature will enable users to input and edit text using the on-screen keyboard, ensuring accessibility for users with limited physical input capabilities.

Sub-tasks

Frontend

  • Design UI elements that facilitate the use of the on-screen keyboard within the application.
  • Implement triggers for the on-screen keyboard to appear when text input is required.
  • Ensure the on-screen keyboard integration is intuitive and does not obstruct other application elements.

Backend

  • Develop backend support for interfacing with the operating system's on-screen keyboard.
  • Implement logic to capture and process input from the on-screen keyboard efficiently.
  • Ensure compatibility with different operating systems and their respective on-screen keyboards.
    (We will focus primarily on Windows, but the code should reflect future expandability for additional operating systems such as android)

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/on-screen-keyboard-integration

SSML Insertion Mechanism

Description

Develop a comprehensive mechanism for the insertion of arbitrary SSML tags within the text. This feature is a foundational requirement for the application, enabling users to insert any SSML tag as needed. The development includes both frontend UI components and backend logic.

Sub-tasks

Frontend

  • Design a generic user interface that allows users to select and insert different SSML tags.
  • Implement a flexible UI component that adapts to various SSML tag types.
    (essentially the base component for any pop-up menu that uses insertion)
  • Ensure the UI is intuitive, accessible, and provides a seamless user experience.

Backend

  • Develop backend logic to support the insertion of various SSML tags.
  • Create a system to recognize and process different SSML tags appropriately.
  • Ensure that the backend can handle dynamic tag insertion and is scalable for future SSML tag types.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/ssml-insertion-mechanism

Cursor Control Mechanism

Description

Develop a comprehensive cursor control mechanism for the application that allows seamless switching between the chunk-based navigation in Navigation Mode (Mode 1) and the character-by-character movement in Editing Mode (Mode 2). This mechanism is critical for providing a fluid and intuitive user experience, catering to the unique needs of users with restricted input abilities.

Sub-tasks

Frontend

  • Design intuitive UI controls for switching between navigation modes and cursor movements.
  • Implement visual cues or indicators to show the current mode and cursor position.
  • Ensure the cursor control is responsive and accessible, accommodating various input methods.

Backend

  • Develop backend logic to support the dual nature of cursor control, handling both chunk-based and character-by-character movements.
  • Optimize the cursor movement algorithms for speed and accuracy.
  • Implement mechanisms to remember the last cursor position when switching between modes.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/cursor-control-mechanism

Integration with Eye Tracking Software

Description

Develop and test the integration with eye-tracking software for cursor movement and selection. This should allow seamless navigation and interaction for users relying on eye-tracking technology.

Sub-tasks

  • Implement integration logic with eye-tracking software. (this means making sure that cursor movement with existing eye tracking software works with the current UI)
  • Test cursor movement and selection accuracy. (essential for usability)
  • Ensure compatibility with major eye-tracking software. (i.e. what Natascha uses)

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/eye-tracking-integration

Backend Development

Description

Develop backend functionalities for text navigation, SSML tag processing, and voice generation, as outlined in draft1.py. This includes integrating with speech synthesis OpenAPI and managing temporary storage for voice files.

Sub-tasks

  • Develop text navigation logic.
  • Implement SSML tag processing.
  • Integrate with speech synthesis OpenAPI.
  • Manage temporary storage for synthesized voice.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/backend-dev

Keyboard/Shortcut Input Implementation

Description

Implement keyboard shortcuts for text navigation and SSML tag insertion, ensuring they are intuitive and easily accessible for users with restricted movement.

Sub-tasks

  • Define intuitive keyboard shortcuts.
  • Implement shortcut functionality in the application.
  • Test for ease of use and accessibility.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/keyboard-shortcuts

Accessibility Testing for Navigation and Editing Modes

Description

Conduct thorough testing of both Navigation Mode (Mode 1) and Editing Mode (Mode 2), with a specific focus on accessibility. This testing should ensure that the application is usable and efficient for users with restricted input capabilities, and that both modes are intuitive and meet accessibility standards.

Sub-tasks

Testing

  • Develop a comprehensive testing plan focusing on accessibility in both navigation and editing modes.
  • Perform user testing with individuals who have restricted input capabilities to gather direct feedback.
  • Test the application’s compatibility with assistive technologies like screen readers and alternative input devices.

Analysis and Improvement

  • Analyze the results from accessibility testing to identify any areas needing improvement.
  • Document feedback and suggestions for enhancements.
  • Implement necessary changes based on testing outcomes to improve accessibility.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/accessibility-testing-nav-edit

Implement Navigation Mode (Mode 1)

Description

Develop the Navigation Mode (Mode 1) for the application, allowing users to move quickly through the text in 'chunks', such as moving between lines and words. This mode is designed to facilitate fast and efficient navigation through the text, avoiding the need to traverse character-by-character.

Sub-tasks

Frontend

  • Design the UI elements to indicate the current mode and navigation options.
  • Implement the functionality for chunk-based navigation, moving line-by-line and word-by-word.
  • Ensure the navigation controls are intuitive and accessible for users with limited input capabilities.

Backend

  • Develop logic to define 'chunks' in the text, considering line wraps and word boundaries.
  • Implement backend support for quick navigation through these predefined chunks.
  • Ensure smooth and responsive navigation performance.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/navigation-mode-1

Implement Editing Mode (Mode 2)

Description

Develop the Editing Mode (Mode 2) for the application, enabling users to edit text traditionally. This mode allows character-by-character navigation and text editing, similar to a standard text editor, but with additional accessibility features suitable for users with restricted input capabilities.

Sub-tasks

Frontend

  • Design UI elements that facilitate easy switching to and indication of Editing Mode.
  • Implement character-by-character navigation and standard text editing functionalities.
  • Integrate on-screen keyboard support for text input and editing.

Backend

  • Develop backend logic to support detailed text editing and cursor movement on a character basis.
  • Ensure compatibility and integration with the on-screen keyboard inputs.
  • Optimize the performance for real-time text editing and responsiveness.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/editing-mode-2

Custom Emoji/Icon Design for SSML Tags

Description

Design custom emojis or icons to represent different SSML tags within the application. These visual elements will be used in Navigation Mode (Mode 1) to display SSML tags as abbreviations or icons, enhancing readability and user understanding of the SSML structure in the text.

Sub-tasks

Frontend

  • Create a unique set of emojis or icons for various SSML tags (e.g., Break, Pitch, Emphasis).
  • Ensure that each emoji or icon intuitively represents the function of its corresponding SSML tag.
  • Integrate these custom emojis/icons into the text display in Navigation Mode.

Backend

  • Develop logic to map SSML tags to their corresponding emojis/icons in the text.
  • Implement efficient processing for rendering these icons in real-time as users navigate the text.
  • Ensure scalability and flexibility for adding new SSML tags and their icons in the future.

Estimations

  • Size: Small
  • Priority: Low

Branch Name

feature/ssml-emoji-icon-design

Generic Dropdown Pop-up Menu Component for SSML Features

Description

Create a generic dropdown pop-up menu component adaptable for various SSML features, specifically 'voice' and 'section'. This component should facilitate user interaction for selecting SSML attributes and be compatible with both insertion and selection mechanisms.

Sub-tasks

Frontend

  • Design a flexible dropdown pop-up menu that can be customized for different SSML features, particularly 'voice' and 'section'.
  • Implement dropdown options and user interaction controls within the pop-up.
  • Ensure the dropdown menu is user-friendly, accessible, and provides a consistent experience across various SSML features.

Backend

  • Develop backend support for the dropdown menu to handle diverse user selections and inputs.
  • Create a backend framework that allows seamless integration of the dropdown menu with different SSML features.
  • Ensure backend flexibility to accommodate both insertion and selection mechanisms for SSML tag application.

Estimations

  • Size: Medium
  • Priority: High

Branch Name

feature/generic-ssml-dropdown-menu

Dynamic Text Rendering Based on Cursor Position

Description

Implement a feature to dynamically render text based on the cursor's position, switching between showing SSML tags as abbreviations/icons in Navigation Mode (Mode 1) and displaying the full SSML syntax in Editing Mode (Mode 2). This functionality is essential for providing a context-sensitive display that enhances user understanding and interaction with the text and SSML tags.

Sub-tasks

Frontend

  • Design the text rendering system to dynamically change between abbreviation/icon display and full SSML syntax.
  • Implement the logic to detect the cursor's position and the active mode to determine the text rendering style.
  • Ensure that the switch between different rendering styles is seamless and intuitive for the user.

Backend

  • Develop backend logic to support dynamic text rendering based on cursor position and active mode.
  • Optimize text processing for quick and responsive changes in the display.
  • Ensure robust handling of SSML tags for accurate rendering in both modes.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/dynamic-text-rendering

Backend Integration with Speech Synthesis API

Description

Develop backend functionality to integrate with an arbitrary speech synthesis API, as chosen by the user in their preference settings. This feature should enable the application to dynamically connect to and utilize different speech synthesis APIs based on user preferences.

Sub-tasks

  • Develop a system to retrieve the user's preferred speech synthesis API from the preference settings.
  • Implement a flexible API integration framework that can connect to various speech synthesis services.
  • Ensure the backend handles API calls efficiently, including processing and retrieving synthesized speech.
  • Create a fallback mechanism for cases where the preferred API is unavailable or encounters issues.
  • Test integration with multiple speech synthesis APIs for reliability and performance.

Estimations

  • Size: Large
  • Priority: High

Branch Name

feature/speech-synthesis-api-integration

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.