nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
26.88k stars 4.02k forks source link

Nextcloud "Task manager" #41790

Open marcoambrosini opened 10 months ago

marcoambrosini commented 10 months ago

The problem:

As a Nextcloud user of the web interface, it's difficult to keep track of the status of operations I initiate such as copying, moving files, Nextcloud assistant jobs and more.

This results in a feeling of uncertainty to the user and renders the experience with these types of operations less than ideal.

The proposed solution:

There should be a place in the user interface where the user could have a glance at the undergoing operations at any given time. When the user starts an operation that is likely to take some time to complete, it should be immediately visible somewhere in the user interface that the operation is being carried out, along with how long it's going to take and some other features.

Features:

Possible operations shown:

Screenshot from 2023-12-28 15-01-49

jancborchardt commented 10 months ago

Sounds good as talked about :) @marcoambrosini do you want to pick this up?

marcoambrosini commented 8 months ago

@nextcloud/designers could you please take a look at the reasoning in the collective and give me some feedback?

Also cc @skjnldsv for files related tasks, @nickvergessen for talk things and @marcelklehr for AI jobs.

Anything else you think it's worth including? @juliushaertl mentioned account migrations, I think.

juliushaertl commented 8 months ago

Anything else you think it's worth including? @juliushaertl mentioned account migrations, I think.

Ownership transfer of files

I also would have a use case with https://github.com/nextcloud/files_zip

szaimen commented 8 months ago

@marcoambrosini looks already really nice, great mockup! :) However, I would probably add a H2 heading like Task manager to the top of the popup and also do the filtering chips fullfil our requirements in terms of clickable area for mobile?

nimishavijay commented 8 months ago

Super cool idea! :) Between the 2 approaches, I prefer approach 1 (this one) as it helps with people switching between apps when a task is in progress. I fear that it might give an impression of the entire instance being a bit "slow" as the idea is that "everything is scheduled". What do you think?

Some more high-level questions:

What do you think? :)

nickvergessen commented 8 months ago

Talk recording server processes

I don't think this is a good fit. It takes below seconds to make the recording available.

Transcriptions are another story, but that is "AI processes", so don't see a big usecase for Talk at the moment.

nickvergessen commented 8 months ago

I fear that it might give an impression of the entire instance being a bit "slow" as the idea is that "everything is scheduled".

Yeah, another problem is most of the things only work "live", like uploading, moving/copying files, ... If they are in a dropdown and maybe even hidden by default, it could appear as "it's okay to navigate or jump to another app". But that will actually cancel the upload until we are a single page app.

For things like AI processing it might work, but not sure it's possible to have a "time remaining" info for those and other tasks.

Would the icon be shown all the time or only when there are tasks in progress?

I would say the later, just to have it clean.

Is the scope of this limited to just viewing the tasks or can they be paused/restarted/cancelled etc?

I guess this heavily depends on the picked actions. Things like copying a folder sounds problematic when paused/restarted, due to upcoming conflicts 🙈 What would be the result of a cancel? Partly copied or delete already copied files? I would say don't make your life complicated and just tackle it step by step.

I'm wondering if it makes sense for this to be combined with the notifications, for example as maybe another tab (just an idea, to help with keeping the top right corner features simple)

While I get the point and this is already how the desktop client does it, I beg you to not combine this. The concepts are totally different, APIs are totally different, Notifications is even an app that can be disabled, ... Also it makes it much less visible that e.g. a task was started, etc.

jancborchardt commented 8 months ago

I'm wondering if it makes sense for this to be combined with the notifications, for example as maybe another tab (just an idea, to help with keeping the top right corner features simple)

While I get the point and this is already how the desktop client does it, I beg you to not combine this. The concepts are totally different, APIs are totally different, Notifications is even an app that can be disabled, ... Also it makes it much less visible that e.g. a task was started, etc.

@nimishavijay @nickvergessen just talked with @karlitschek about the proposal and we also came to the conclusion it would be best to combine it with notifications, rather than introducing yet another item to the top bar.

This is similar e.g. on Android, where for example uploads and downloads are notifications while in progress, and then also when done. Adding yet another item to the top bar would really be a bit much. We need to take care to not make the interface too busy.

marcoambrosini commented 8 months ago

@jancborchardt and @karlitschek I'll look into this, but since it's much more difficult to do this technically as @nickvergessen mentioned, we could make space for this feature in the header by removing the contacts search, which has been duplicated functionality for a long time right next to the global search.

Screenshot 2024-01-17 at 15 51 55 Screenshot 2024-01-17 at 15 52 29

We just need to make sure that the search result item itself offers the same functionality.

Edit: frankly, it's not just a matter of technical difficulty. From a UX perspective, I think that task manager and notifications are complex enough to have their own element too.

nickvergessen commented 8 months ago

just talked with karlitschek about the proposal and we also came to the conclusion it would be best to combine it with notifications, rather than introducing yet another item to the top bar.

This is similar e.g. on Android, where for example uploads and downloads are notifications while in progress, and then also when done. Adding yet another item to the top bar would really be a bit much. We need to take care to not make the interface too busy.

I totally get that. just saying that something that is rather stable and easy maintainable at the moment, will turn into a beast that operates on 2 different data stores and data structures. I'm currently maintaining the notifications app in it's current form, but I can not be of any help with a change like this.

We can of course separate the "header menu" from the notifications logic and then have both features, task manager and the notifications hook into it and doing their things. But API-wise (with pushes, mobile support, desktop clients, etc.) the concepts should be separated and not mixed into each others.

jancborchardt commented 8 months ago

Just for the record: This is not something planned right now, so moved it out of "Design phase".


we could make space for this feature in the header by removing the contacts search, which has been duplicated functionality for a long time right next to the global search.

@marcoambrosini the People menu is not just "Contacts search". It aims to connect you to colleagues and other people on the instance that you work with a lot. We should improve it rather than remove it.

Edit: frankly, it's not just a matter of technical difficulty. From a UX perspective, I think that task manager and notifications are complex enough to have their own element too.

Android and iOS have progress like this as notifications. We don’t need to make it more complicated.


I totally get that. just saying that something that is rather stable and easy maintainable at the moment, will turn into a beast that operates on 2 different data stores and data structures.

@nickvergessen yup, understood. How it is done technically is one thing, what would be nice if it’s displayed in the interface in the same place.

marcoambrosini commented 8 months ago

Android and iOS

Mobile notifications is a bit of an arbitrary as a reference, IMO. No collaboration suite mixes these "tasks" with notifications because they are both complicated and unrelated (see the collectives page linked above for the references).

People menu is not just "Contacts search"

Screenshot 2024-01-17 at 19 33 58

That is what it says, though. And it's right there beside the search icon. It's also very likely that most new people will click on the search icon to find and interact with someone.

what would be nice if it’s displayed in the interface in the same place

Not saying it can't be done, but it seems that the argument in favor (it's too crowded up there) is pretty weak, especially when we're allocating that space for duplicated functionality.

drascom commented 2 weeks ago

thumbs up for idea it is very neccessary ui feature. synology has something like that for ages. image