-
Feature
-
Resolution: Done
-
Normal
-
None
-
False
-
-
False
-
0% To Do, 50% In Progress, 50% Done
-
-
Feature
-
S
-
Done
Feature Overview (aka. Goal Summary)
Introduce a globally accessible, floating "Lightspeed" button that launches a stateful and persistent Red Hat Developer Lightspeed interface, providing users with immediate access to generative AI assistance from any page within the Developer Hub. This feature could be implemented or considered as a new "mode" for the existing floating action button in RHDH.
User Story
As a developer using Red Hat Developer Hub, I want to be able to open a stateful Lightspeed chat window from anywhere in the application so that I can get quick answers to my technical questions, manage my immediate conversation, and review it later without interrupting my workflow.
Goals (aka. Expected User Outcomes)
This feature is designed to directly enhance the developer experience by:
- Decreasing cognitive load and friction associated with context-switching between RHDH and external tools for quick problem-solving.
- Improving developer productivity by providing instant access to an AI assistant for tasks like generating code snippets, writing tests, or explaining complex concepts.
- Preventing loss of work by allowing users to minimize and restore conversations, accommodating interruptions in their workflow.
- Creating a (reasonably, but not perfectly) consistent user experience with other Red Hat products, specifically Red Hat OpenShift Lightspeed, reinforcing the value of the Red Hat ecosystem.
- Ensuring long-term value from interactions by saving all popup chats to the user's central Lightspeed history for future reference.
Requirements (aka. Acceptance Criteria)
These are the conditions that must be met for this feature to be considered complete:
Note: FAB = Floating Action Button - an existing RHDH plugin.
Note: The Figma Mockups contain visuals of the modes and effects etc.
Note: Modes are "overlay" (popup), "docked" (right attached), and "fullscreen"
Button Visibility and Placement:
In cases where Lightspeed is the only configured option for the FAB...
- Given a user is logged into Red Hat Developer Hub AND the admin has configured Lightspeed as the sole FAB entry,
- When they navigate to any page within the application,
- Then a floating "Lightspeed" button is persistently visible in a fixed position (e.g., the bottom-right corner of the viewport or whatever they have configured configure).
- And the button is a rounded version of the "Lightspeed" logo.
In cases where Lightspeed is NOT the only configured option for the FAB...
- Given a user is logged into Red Hat Developer Hub AND the admin has configured Lightspeed as one of multiple FAB entries,
- When they navigate to any page within the application,
- Then a floating "FAB" button is persistently visible in a fixed position (e.g., the bottom-right corner of the viewport or whatever they have configured configure).
- And when the FAB button is pressed, in the list of actions will contain "Lightspeed" as a choice AND there will be a rounded version of the "Lightspeed" logo.
Opening the Chat Popup:
In cases where Lightspeed is the only configured option for the FAB...
- Given the FAB "Lightspeed" button is configured and visible on the screen,
- When the user clicks the FAB button,
- Then a chat popup/modal window opens as an 'overlay' on top of the current page content.
In cases where Lightspeed is NOT the only configured option for the FAB...
- Given the FAB button is configured and visible on the screen,
- When the user clicks the FAB button,
- Then a after selecting the "Lightspeed" option, the list should be closed, the Lightspeed chat popup/modal window opens in 'overlay' mode over the top of the current page content (but not fully obscuring it as per the mockups)
- Then the FAB icon will transform into an "X" button. When the user clicks the "X", the Lightspeed overlay will close, and the icon will revert back to its original closed state, allowing the user to click the floating button again to see all other options.
Simplified Chat Popup GUI:
- Given the Lightspeed chat overlay is open,
- When the user inspects the interface,
- Then it must contain the usual Lightspeed chat prompt input field, a conversation display area, a hamburger Menu button (top left), a three dot `...` Display button (top right), and a Developer Lightspeed title (top center, see mockups).
Minimize Functionality (with ONLY Lightspeed configured):
- Given Lightspeed is the ONLY option AND a user has an active conversation open in the 'overlay' chat display mode,
- When they click the 'FAB' button,
- Then the popup window minimizes back into its floating action button, in the corner of the screen.
- And when the user clicks the floating action button again, then the chat window restores to its floating style and position, with the conversation history and input text fully intact.
Fullscreen and Dock Functionality:
- Given the user opens the Display '...' menu in the Lightspeed panel
- When they click the "Fullscreen" option
- Then they are taken to the fullscreen Lightspeed experience, with the current chat preserved and the user's chat history panel (containing the 'New Chat' button) open to the left
- Given the user opens the Display '...' menu in the chat panel
- When they click the "Dock to screen" option
- Then the panel docks to the right-hand side of the screen
- AND
- Given the "Quickstart panel" was visible before choosing Dock mode
- When the users chooses "Dock to screen"
- Then the "Quickstart panel" is automatically hidden (to avoid multiple docks)
- Given the panel is in docked mode and user opens the '...' menu in the chat panel
- When they click the "Overlay" option
- Then the panel undocks from the right-hand side of the screen and goes back to having a floating 'overlay' style
- Given the panel is in fullscreen mode and user opens the '...' menu in the chat panel
- When they click the "Overlay" option
- Then the panel undocks from the right-hand side of the screen and goes back to having a floating 'overlay' style
- Given that Lightspeed is in Fullscreen mode and the user is using a supported Browser
- When the user chooses the "Bookmark" feature in their browser
- Then a direct link to the Fullscreen mode of Lightspeed in RHDH is stored for later retrieval in their browsers bookmark system.
- Given the user is in Lightspeed 'Fullscreen' mode
- When the fullscreen mode page opens
- Then the Lightspeed floating action button is disabled (grayed-out)
Chat History Menu:
- Given the user has the floating or docked mode in use
- When the user clicks the hamburger icon (Menu) in the top left
- Then, a side panel opens that displays their full chat history and a "New Chat" button
- Given then has the chat history panel open
- When the user selects a chat in the chat history
- Then the selected chat will replace the current chat in the main Lightspeed chat window
Start New Chat Functionality:
- Given a user has opened the chat history panel in Lightspeed,
- When they click the 'New Chat' button,
- Then the current conversation is saved, the chat window clears, and a fresh input prompt is displayed, ready for a new query to begin.
Chat History Integration:
- Given a user has had one or more conversations with Lightspeed in any display mode,
- Whenever they open the Lightspeed interface,
- Then all conversations initiated from the popup must be present and correctly stored in their chat history.
Left hand Navigation changes:
- Given the Lightspeed and FAB plugins and components are installed and activated as documented
- When Red Hat Developer Hub starts
- Then there will no longer be an automatic entry for Lightspeed in the left hand navigation menu
Because...
- Given the Lightspeed plugins and components are installed and activated
- When Red Hat Developer Hub starts
- Then (unless otherwise configured) the Floating Action Button will automatically offer Lightspeed as it's only configured action
- Except when the admin has configured the Floating Action Button manually to contain other links and items
Out of Scope
- A chat history panel within the popup UI. Browsing and managing past conversations must be done in the full Lightspeed experience, not the popup.
- Managing multiple concurrent popup chats. The popup will only handle one active/minimized conversation at a time.
- Cross-device chat synchronization in real-time. History is saved upon completion/new chat, not on every message.
- Complete OpenShift Lightspeed parity: It is not necessary to make the experience 100% consistent with OLS as RHDH has different chat requirements (e.g. handling chat persistence and history etc.)
Customer Considerations
The stateful nature of this feature is critical. Developers often work on multiple things at once and get interrupted. Ensuring their Lightspeed query isn't lost when they need to temporarily minimize the chat window is key to making this feature feel robust and reliable, rather than like a lightweight gadget.
Documentation Considerations
- Documentation will need to be updated to explain the new Developer Lightspeed fast access button and its specific UI controls: 'Menu (history)', 'New Chat', 'Display (...)', Minimise, Maximize, Dock, Fullscreen, and configuration of the feature (e.g. positioning the button)
- The documentation will need to clarify the link between the floating action button plugin and the Lightspeed plugins, and clarify how these plugins can be configured to work together, what configuration would be activated by default if these two plugins are present but unconfigured, and how to add other links to the FAB besides Lightspeed.
- A Release Note should be added to clarify that while the popup provides a convenient interface, the complete chat history is still visible, managed, and accessible from the fullscreen Developer Lightspeed application.