Spaces
Engagement Layer / Spaces
Intro
Spaces are dynamic, AI-generated workspaces assembled around a user's intent, designed to streamline the user experience. They allow users to engage in conversations and customize elements without navigating through applications or dashboards, offering a tailored environment that meets individual needs. Users can complete tasks within a space using natural language or structured inputs, making interaction intuitive and efficient. Spaces are built on-the-fly, integrating relevant data, actions, tools, and context needed for specific tasks, while presenting only essential information through actionable summary cards, tables, metrics, or alerts. These spaces persist, allowing users to easily revisit and continue from where they left off. This approach creates an environment tailored to individual needs, enabling users to focus on their work without distraction.
Anatomy
As of now, there is no static content placed within a space, and no app is displayed on a one-to-one basis within a space.
All content within a space is dynamically generated. Implemented guardrails ensure that the AI creates consistent and engaging content, retrieving the right information and actions from SAP systems.
Space Anatomy
Space anatomy
1. Space Header: Includes the following interactions from left to right:
- Button that toggles the left pane
- Anchor navigation button that navigates the user to the various sections
- Overflow menu for pinning, renaming, and deleting the space
- Button that toggles the right pane to open the conversation input field
- Optional relation button can show conversations related to the space, if more than one conversation has been created for this space
2. Space Body: Includes at least one section with content. The space title is automatically generated based on the user's intent but can be customized by the user.
3. Section: Contains one or multiple cards. Sections can be collapsed to display a summary of the cards and can be moved for flexible arrangement. The section indicates a step in a guided process or summarizes the content or purpose of a section.
4. Cards: Used to visualize content that users can interact with.
5. Space List (Left Pane): Used for spaces list management.
6. Conversation (Right Pane): Used for conversations. When it is collapsed, the conversation input field is displayed in the focus pane.
Cards Anatomy
Cards anatomy
Cards are flexible containers within a space based on the user's intent, with card content generated according to this intent and the available data. They can either inform, facilitate action, or offer recommendations. Cards render UI components from the compositional design system, ensuring consistent and user-friendly data presentation. Skills (AI rules) are employed to maintain visual consistency and usability.
1. Card Header: Displays the system-generated title of the card.
2. Card Body: Used to include the following elements:
- Buttons
- Metrics (KPI, Progress)
- Table
- Text
- Tags (semantic and non-semantic)
- Object list items
- List
- Hyperlinks (for retrieving new information within the space)
3. Card Footer: Includes action buttons.
Compositions
Spaces can adopt different structures depending on the user's intent. A composition defines the information hierarchy, UI elements, and layout rules the system uses to assemble the space.
Default Composition
The default composition includes a top section highlighting the most important information for the user, with additional sections generated based on the hierarchy and relevance of the information.
Default composition of a space
Overview
The overview section, the first section in the default composition, provides users with an immediate understanding of the current context, eliminating the need for scrolling or scanning. It can contain the following cards:
Summary card
The summary card provides an overview of the purpose of the space and displays key information a user needs to get started. It can be an object card for the most important object on a page, a text-based summary for reviewing performance, or a KPI card for analytical insights.
Summary card
Action card
The action card provides a list of recommended actions for users to complete their proposed tasks. It encompasses actions relevant to all sections. They are read-only and include hyperlinks for anchor navigation to the relevant task in the space.
Action cards
Insight card
Insight cards display environmental statistics and findings derived from data that support the user’s tasks.
Insight cards
Alert card
Alert cards present temporary, context-specific information relevant to the entire space, such as alerts, warnings, reminders, and notices. They should only appear when there is time-sensitive or important information that requires the user's attention.
Alert card
Composition of Agent-Handoff Spaces
Agent-handoff spaces are organized into distinct sections to help users navigate the HITL process:
-
Overview:
-
This initial section provides quick context on why the agent needs user input, featuring specific cards:
- Situation/Task Card: It clearly outlines what is blocking the agent and why user input is needed. It includes task details and the overall job/agent goal, with optional actions for viewing task details or addressing the task itself.
- Resolution: Offers immediate options or actions the user can take to resolve the issue.
-
-
Investigate & Analysis:
- This part provides deeper insights and data connected to the agent’s request, giving users the chance to explore the information needed to make informed choices.
-
Additional Information:
- A flexible area where supplementary data, related documents, or background information can be provided, helping the user understand the full scope of the agent’s request.
Initial state of an agent-handoff space
Variations
User-Generated Spaces
Users can create spaces by prompting Joule with their intent, evolving a conversation into a space, or selecting "New Space" from the space list and start prompting. This is the primary creation path for the initial release.
Agent-Handoff Spaces (Future Direction)
Agent-handoff space
Agent-handoff spaces can result from tasks that are triggered by jobs or agents.
When an agent or job initiates a human-in-the-loop process, it creates a task and sends a notification to the user, indicating the need for input and providing navigation to the output format. The agent or job remains on hold until the user addresses the task, allowing it to continue.
The user must always retain control over the agent’s actions. By default, tasks should not automatically generate spaces for the user unless the user has explicitly granted permissions for this functionality. For simple tasks, such as approvals or permission requests, handling them within the conversation may suffice. However, for more complex tasks that require additional actions or information, such as comparing multiple options or managing detailed tasks, creating a resolution space may be the most effective approach.
Agent-handoff spaces should adhere to the established layout and interaction patterns of user-generated spaces, but their specific purpose in human-in-the-loop scenarios requires key differences in structure to ensure clarity and maintain agent-relevant content integrity. These spaces are informed by agent information, such as analysis and recommendations. Critical content information that has been deleted can be restored by retrieving information from the task, although resolution decisions can’t be undone via card modifications. While agent-handoff spaces have a recommended structure, users can still add their own cards and sections below the agent's content. Additionally, the related job is indicated in the space bane bar for easy access.
Behavior and Interaction
Spaces Management
When users navigate to spaces, they see a list sorted by recency, with the most recently used space at the top. Users can pin spaces to the top of the list by selecting the pin option from the overflow menu, marking them as favorites for easier access.
Spaces come with AI-generated names, icons, and descriptions. While users can rename the spaces, the icons and descriptions remain automatically generated. Spaces are saved by default, but users have the option to delete them if needed.
Space list management view
Agent-handoff spaces are also accessible and manageable within the space list. These spaces come with specific tracking and organizing features for resolution tasks. Users can filter these spaces by "Action Required" or "Resolved" to distinguish between active tasks and completed ones. Each agent-handoff space has a status tag that indicates whether it needs "Action Required" or is "Resolved." A job icon next to the overflow button offers quick access to the job or agent that initiated the space.
Agent-handoff spaces in space list management view
Personalization
Spaces are customized according to user intent, role, and the context of both Joule and the space itself. Users have the flexibility to further personalize their space to meet their specific needs by:
- Adding additional content via cards: This can be done via prompting or via clicking on a hyperlink within the space.
- Rearranging content within sections, or across existing and newly created sections
- Rearranging and rename sections: This can be used to personalize or correct AI output and structure generated content
- Resizing cards to adjust the layout
- Expanding cards to display more content
- Removing cards
Additionally, spaces can be personalized through user preferences accessible in the settings, allowing for a fully tailored user experience.
Personalization of spaces
Conversational Interaction Patterns
Spaces and conversations are closely connected, making conversational interaction with Joule a central element of spaces. Users can ask Joule to perform actions like removing or updating cards, updating the space, or asking questions about a card. Joule also provides a summary of the space and allows users to take actions directly on the screen.
There are two ways to create a new space via Joule:
- Creating a space through an explicit prompt (“Create a space for...”)
- Enabling space mode via the Joule mode switcher and prompt (“I want to process my most important customer return order...”)
When space mode is active, users can create and manipulate cards within the space. Additionally, user feedback on cards is currently provided via Joule's response actions.
When space mode is disabled, Joule operates in its usual manner, with changes to the space occurring only through explicit prompts.
Conversations in a space are contextual to the space. Once a space is created, there is a conversation attached to it. The user can add a new conversation to the space and revisit a previous conversation.
Interaction with Joule within a space
Explainability
Explainability is a crucial element in AI native applications, ensuring users always understand what actions the system is taking and why, where the data is coming from, and what logic is used to build cards, thereby maintaining transparency and user trust. Human-in-the-loop (HITL) scenarios enhance this understanding by keeping users informed about the decisions the AI intends to make.
Explainability can be addressed on multiple levels, both within conversations and spaces:
In the conversation during space creation/loading:
- Rephrasing the user's intent before space creation
- Requesting additional information regarding the user's request
- Displaying steps while loading
In the conversation after creation:
Explaining the content that has been created or updated post-creation
In the space after creation:
- Providing an insights button at space and card Level
- Displaying the sources of the space or card
- Offering drill-down capabilities to expert applications, such as SAP Fiori applications
- Showing the steps involved in the generation of the space or card
Explainability feature in a space
States
Empty State
Empty states are displayed in scenarios where no content is available to display in the space. Unlike loading states, where the system is actively retrieving and generating information for the user, error messages help users understand why the system can't load data or perform an action and suggest alternative actions. Scenarios for empty states include:
- First-time interaction with the space list.
- Conducting a search within the space list with no results.
- A section becomes empty after content is moved somewhere else.
- Encountering an error in the space due to permissions, system data loading issues, or configuration problem
Empty state error when no matching space is found
Resolved State (Agent-Handoff Spaces Only)
A resolved state in agent-handoff spaces is displayed once a job or agent blocker is cleared, or the task in that space is finished.
- Status Update: The space status changes to “Resolved” once the agent is unblocked or the task is completed.
- Content Stays Editable: Users can still rearrange cards, add details, or modify the space layout after making a decision. However, these adjustments don’t affect the decision that has already been implemented.
Resolved state in an agent-handoff space