Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assistant design improvements + V2 API #3327

Open
wants to merge 19 commits into
base: develop
Choose a base branch
from

Conversation

mpivchev
Copy link
Collaborator

@mpivchev mpivchev commented Feb 19, 2025

Prerequisite: nextcloud/NextcloudKit#124

  1. Implemented [Assistant_iOS] Improve Assistant on mobile screen #3241 + Assistant improvements #3226.
    Some points @Hyeyoung346:
  • Tasks created in the same day show up as "Today" in the timeframe.
  • I think it's good to keep the status in the task detail, as just icons is not enough information IMO. In that case in the detail the status is shown like this:
image
  • "Pending" does not show in the list and only shows on the detail, as that is where we get more information.
  1. Fixed [Assistant] A list view with scrolling issue #3201
  2. Made Assistant compatible with API V1 (<NC30) and API V2 (>=NC30)
  3. Added UI tests
    • @i2h3 @marinofaggiana You can run the UI tests to test V2 functionality. You need a server instance with assistant and testing app enabled. Server.sh now includes the commands to enable that, so you can start a server using that script.
    • For testing V1, please change the useV2 flag to false and test manually.

Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
@Hyeyoung346
Copy link

@mpivchev I think AI conversations are rarely “completed”. People often want to ask follow-up questions. This aligns better with the natural flow of human reasoning (where follow-up questions are common), therefore, should avoid “completed”mark.

  • Tasks created in the same day show up as "Today" in the timeframe.
    => I think "Today" is possible, but how to display the time frame after today in the list view?

  • I think it's good to keep the status in the task detail, as just icons is not enough information IMO.

  • "Pending" does not show in the list and only shows on the detail, as that is where we get more information.
    => I think it would be useful to show the status (timeframe, pending) in the list view rather than in the task view.
    Maybe if it’s possible to implement follow-up questions with input filed inside the task detail later, probably would be useful to add good/bad feedback or report legal issue, modify response etc.

What is the difference between API V1 (<NC30) and API V2 (>=NC30)? Is there any improvements or difference from API V1?

Signed-off-by: Milen Pivchev <[email protected]>
@mpivchev
Copy link
Collaborator Author

mpivchev commented Feb 21, 2025

@Hyeyoung346

  1. We can put the completion status on the left side, and the date on the right side?
    I think in general having the icon on the list items is good enough for information, and it's not too cluttered. If you do want more information you can then open the details.
  • I do think in general if we are going to have a message-like input and output structure we will have to redesign a lot of this. For example instead of straight up showing the status we can do it like a message saying "I could not generate a response, try again" or something similar.

For now, however, since we just have input-output prompts, this is informative.

  1. You didn't comment on this, so not sure if you agree.

  2. As mentioned above, i think it becomes too cluttered.

  3. Difference between API 1 and 2 is that we can have different input and output types for different task types (text input, uploading image, uploading audio, transcribing, translating etc). Currently for mobile apps only simple text input is supported.

  • V2 also sends us more information: progress, last updated, scheduled at and ended at. V1 only provides completed at.

At the moment it looks like this:

@mpivchev mpivchev marked this pull request as ready for review February 21, 2025 16:36
Signed-off-by: Milen Pivchev <[email protected]>
@Hyeyoung346
Copy link

@mpivchev

  1. You mean icon + date in the list view? I think current list view screen looks good & informative. Perhaps the date could be displayed shorter => 25.Feb 2025.
    I mean icon + date + completed mark in the task details screen looks still questionable. I noticed that output responses sometimes also ask the following questions like “Would you like to know more about ~?”, so it looked strange to show the “completed” mark. Not sure icon + date + completed mark would be informative in the task detail screen, so I want to suggest to remove this part. But, as you said, we just have simple input-output prompts, so can iterate later further.

  2. You mean => Fixed [Assistant] A list view with scrolling issue #3201
    Yeah if you fixed that scrolling issue in the list view, that would be awesome!

Thanks for the detailed info! It looks better and more useful now, with more functionalities.

@mpivchev
Copy link
Collaborator Author

Hi @Hyeyoung346 the scrolling issue is already fixed in this PR. It's just open until this PR is merged :)

@mpivchev
Copy link
Collaborator Author

Regarding 1. I'll see what I can do on Monday. Have a nice weekend 😀

@mpivchev
Copy link
Collaborator Author

mpivchev commented Feb 24, 2025

@Hyeyoung346 modified the date to show in a more human readable way
- Less than a minute: Returns "Less than a minute ago".
- Less than an hour: Returns the number of minutes (e.g., "5 minutes ago").
- Less than a day: Returns the number of hours (e.g., "2 hours ago").
- Less than a month: Returns the number of days (e.g., "3 days ago").
- More than a month: Returns the full formatted date (e.g., "Jan 10, 2025").

image

I mean icon + date + completed mark in the task details screen looks still questionable. I noticed that output responses sometimes also ask the following questions like “Would you like to know more about ~?”, so it looked strange to show the “completed” mark. Not sure icon + date + completed mark would be informative in the task detail screen, so I want to suggest to remove this part. But, as you said, we just have simple input-output prompts, so can iterate later further

I agree ultimately we should remove the status altogether and mimic a chat-like behavior. But for now, since it's just a prompt-style, we should keep it this way IMO.

Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
@mpivchev
Copy link
Collaborator Author

@jancborchardt can you quickly go over this :)

@jancborchardt jancborchardt self-requested a review February 26, 2025 10:27
Copy link
Member

@jancborchardt jancborchardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a really nice improvement @mpivchev! :)

I only have 2 small details for now, but they are not necessarily blockers, could also be done in follow-ups:

  • The vertical space between the 3 lines in the task list should be even (right now there is more space above the date)
  • I agree the "Completed" text could be cut. The icon is fine enough. And in the detail view, if it is still pending or if there is an error, that should show more presently as a sort of empty content view where the Output would normally be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🏗️ At engineering
3 participants