nextcloud / text

📑 Collaborative document editing using Markdown
GNU Affero General Public License v3.0
552 stars 91 forks source link

Integrate text processing API #4613

Closed juliusknorr closed 1 year ago

juliusknorr commented 1 year ago

Based on https://github.com/nextcloud/server/pull/38854 we will add options to process selected text.

This is the summary of what I discussed with @julien-nc during our meeting:

Depends on

julien-nc commented 1 year ago

LGTM! Depends on

which contains a fix. The text processing assistant app will be there https://github.com/julien-nc/textprocessing_assistant

juliusknorr commented 1 year ago

@nimishavijay This is the tracking issue for bringing support of https://github.com/nextcloud/server/issues/39478 to text. When discussing this with @julien-nc We were basically considering the following UI wise:

nimishavijay commented 1 year ago

Question: Where should we put that button? It could be next to the already existing translate button in the menubar for example or would this be not visible enough?

So the original idea was that for Text it would be a floating button next to the line which has the cursor. That way the text fed into the TP widget would be the text in that line, or the text that has been selected. Would that be possible? It would look something like this:

image

If not I would agree that it could go into the formatting bar. Since this is a feature we would like to market, I'd also agree that placing it near Translate is not visible enough. How about we place it as the last action before the remaining actions, and it is styled as a secondary icon-only button similar to the screenshot above. It would be great if the action menu with the subactions is there, but that is also something to be discussed with Julien :) What do you think?

When the task is scheduled we will list all pending and succeeded tasks in the bottom of a text document

That's a great idea! Indicating the progress would be different for each app, but this is a great solution for Text. The quick screenshot you pasted already is pretty close to how it would look ideally. I would only suggest that it be moved to the top right as in the bottom left there is a chance for it to overlap with the outline.

It would also be nice to be able to collapse it in case it gets in the way :)

mejo- commented 1 year ago

So the original idea was that for Text it would be a floating button next to the line which has the cursor.

I just wanted to mention that we just got rid of the floating menu for links with Nextcloud 26 and that people were constantly annoyed by the floating menu. A button right to cursor position of the editor is less annoying, but still might be a bit too intrusive, given that it travels with your cursor all the time when typing/navigating in the document.

juliusknorr commented 1 year ago

Yes, definitely something to consider. @nimishavijay What do you think? Wouldn't the button changing position all the time be a bit too much when just working with the document?

juliusknorr commented 1 year ago

Another idea would be to just make the bottom overlay area a trigger for the popover menu.

nimishavijay commented 1 year ago

That's a good point. The reference I had in mind for that is something like Google Docs' comment indicator, which sort of follows your cursor. However that appears only on hovering over the right half of the screen. Would something like that be in scope? Hide the button while typing or while the mouse cursor is stationary for ~ 2 seconds, and show it if the mouse cursor is hovering over the text or the space on the right. Would that be better? @mejo- :)

If that is too complicated, no worries! We will likely have to show it on the formatting bar on mobile anyway, so we can just go with that for desktop as well :)

juliusknorr commented 1 year ago

For reference in my poc pr I put it to the bottom left for now if we want to advertise it more prominently this might be another option, but I'll check your suggestion. See https://github.com/nextcloud/text/pull/4627 for screenshots

nimishavijay commented 1 year ago

The ongoing tasks can look something like this:

image

image

For placement, I would suggest maybe the top right so that the is no overlap with the outline :) What do you think? Do we need to revisit any of the points?

jancborchardt commented 1 year ago

I would say for this feature it is fine if it’s floating, as @nimishavijay said right of the current line, not next to the cursor. Google Docs does the exact same as said. It’s totally fine to have it in the formatting bar as well though. image

And the currently processing tasks, instead of floating around, could show in the Assistant menu as a last entry "Ongoing tasks" (or "4 ongoing tasks" to actually list how many) and if you click it a submenu opens like we do in Mail for "More actions".