Drawpile icon indicating copy to clipboard operation
Drawpile copied to clipboard

Tabbed Sessions and Multiple Viewports

Open jippless3024 opened this issue 4 years ago • 7 comments

I want to use a different canvas with the same participant. Currently, all participants need to use different sessions in different windows, but I found it useful to be able to open different canvases as new tabs within the same session.

jippless3024 avatar Nov 09 '21 19:11 jippless3024

I don't understand well what you're requesting. Do you want tabs per new session? Do you want a new viewport in the same session?

notfood avatar Nov 09 '21 21:11 notfood

I want a new viewport in the same session. I may need a separate canvas for my friends to write on, without going back and forth between sessions.

jippless3024 avatar Nov 09 '21 21:11 jippless3024

Could you explain the use case for this feature request?

Bluestrings-Drawpile avatar Nov 10 '21 05:11 Bluestrings-Drawpile

For example, when multiple people draw a series of pictures in parallel If I want to draw multiple images in a group, I need multiple viewports in the same session

As a workaround, I think it's possible to create multiple sessions to achieve the same thing. But I thought it was not smart to do it in another window, another session.

jippless3024 avatar Nov 10 '21 08:11 jippless3024

That's not quite what I was asking for since it doesn't explain WHY such a feature would be useful in detail. What is being done with those series of pictures that can't be done by moving over to the area periodically? Why do you need to watch what someone else is doing at all times?

Asking because I'm wondering if your request fits within the scope of what Drawpile aims to do, or is trying to do something else altogether... since this is something you can just pan to on the same canvas occasionally or use the navigator dock to get the additional "viewport" just by making it larger. Or as you said, you can do another Drawpile window which would work just as well, especially since you can use tab to hide most of the user interface and Alt + C to hide the chat. There's no real reason that I can think of where it would be necessary to implement such a feature to work within the same window.

Some possible examples that I can think of where such a feature might be useful: animation, a D&D game and need to see two areas of the board at the same time?

Bluestrings-Drawpile avatar Nov 11 '21 06:11 Bluestrings-Drawpile

What is being done with those series of pictures that can't be done by moving over to the area periodically? Why do you need to watch what someone else is doing at all times?

An example of its use is when we are talking in a discord group and we are individually drawing a picture of our choice. I wanted to be able to easily see different people's drawings depending on the topic. I think one of the advantages of this software is that you can easily see other people's drawings.

Or as you said, you can do another Drawpile window which would work just as well

You can open it in a separate window, but I think most software these days has a UI that displays them in the same window with tabs and such. And I am used to that UI.

since this is something you can just pan to on the same canvas occasionally or use the navigator dock to get the additional "viewport" just by making it larger.

Yes, there is a way to enlarge the canvas, but sometimes you want to explicitly separate the canvases to avoid confusion.

Example of a scene

Similarly, in the current situation, if you want to write A.1 and A.2 for A (where A is the title of a comic book, etc.), you need to create session A.1 and session A.2, which complicates the session list. It would be nice to be able to have A.1 and A.2 as separate canvases within Session A.

The same goes for having multiple canvases in one group. It's like having a room full of canvases in a shared studio.

more thing

Another small but useful feature is that when you open a single session, instead of opening each session one by one, it opens all related canvases. This is similar to the difference between opening multiple websites at once in a browser by specifying a bookmark folder and opening them one by one by clicking on the bookmarks.

This is an example from other software, but I don't think discord allows you to have a channel for each topic of a similar genre. I wanted to do the same with sessions.

summary

We asked for suggestions on how to reduce this annoyance, make the UI more user-friendly, and make the session list less complicated.

jippless3024 avatar Nov 14 '21 09:11 jippless3024

An example of its use is when we are talking in a discord group and we are individually drawing a picture of our choice. I wanted to be able to easily see different people's drawings depending on the topic. I think one of the advantages of this software is that you can easily see other people's drawings.

I don't think this is a strong enough of a suggestion by itself. You already have the navigator to see who is drawing where in real time and can move over to the other area as needed.

You can open it in a separate window, but I think most software these days has a UI that displays them in the same window with tabs and such. And I am used to that UI.

This is a fair assessment, however just making that happen will cause other issues that will need to be considered. Think I'll detail those after responding to your post at the end here.

Yes, there is a way to enlarge the canvas, but sometimes you want to explicitly separate the canvases to avoid confusion.

I don't think avoiding confusion by jamming them together is going to make it less confusing, but rather more confusing. A lot of that has to do with session permissions and UI state that would have to be toggled.

Similarly, in the current situation, if you want to write A.1 and A.2 for A (where A is the title of a comic book, etc.), you need to create session A.1 and session A.2, which complicates the session list. It would be nice to be able to have A.1 and A.2 as separate canvases within Session A.

The same goes for having multiple canvases in one group. It's like having a room full of canvases in a shared studio.

I think this particular issue is solved within the Drawpile beta client, by adding the use of folders/groups. You could just put each "page" of a comic book inside said folder/group. Then the folder/group could easily be toggled off to move to the other page to edit.

Another small but useful feature is that when you open a single session, instead of opening each session one by one, it opens all related canvases. This is similar to the difference between opening multiple websites at once in a browser by specifying a bookmark folder and opening them one by one by clicking on the bookmarks.

This is an example from other software, but I don't think discord allows you to have a channel for each topic of a similar genre. I wanted to do the same with sessions.

I'll state up front that this is really a separate suggestion and doesn't belong here in this issue. Can't cram that many ideas into one post, makes it hard to keep track.

However, it's not a great idea by itself, because the Drawpile List Server and Drawpile Server admin are separate. Someone had already suggested favoriting sessions in the Drawpile discord, which was shot down because you could go to connect and then be confused about it when it doesn't connect because the session is gone. So having them "auto open" would cause other issues given there's no way for Drawpile currently to know if those sessions have any kind of permanence to them.

However, favoriting the session "listing" would work, since the listing would disappear if the session went down.



Tab View List of Concerns and Features

  1. Symbols need to display per tab for clarity's sake, like connected/disconnected, session recording enabled, and autosave.
  2. Disconnected tab when a user reconnects... open new tab, inserted between existing tabs.
  3. The currently active window would take priority on drawing command messages received in queue.
  4. Permissions/Lock UI - Would need to toggle/change states as one moves between windows.
  5. Auto-recovery in the event of a client crash that would take all open sessions down. This will be addressed in a new issue (#1065 and #1111).
  6. Private messages would need to be able to display/disappear depending on currently active session.
  7. Ability to re-arrange tabs.
  8. An enhanced memory usage feature under statistics menu, showing memory usage per tab as well as overall usage.
  9. I'm not sure about this one, but recording debug dump logs seems like it would be somewhat complicated for this purpose and would need some updating as well. Same goes for tablet event logs and profile logs.
  10. Hosting sessions from built in server? I'd assume that'd only work on one tab at max.
  11. Disconnect/close notification on a per tab basis. Probably hidden in a right click menu. Clicking the "connected" icon should offer to disconnect and close the session to avoid icon clutter.
  12. Option to restore all locally saved files when exiting from entire program vs closing individual tabs.

Tab View Notifications and blink/glow fx

  1. New user joined/left.
  2. General private messages received.
  3. The /alert command, if the tab is not currently active.
  4. Room operator sends a DM.
  5. Drawpile server moderator enters the room or sends a DM.
  6. Kicked/banned from session, disconnected for inactivity, disconnected unexpectedly, or session was terminated by moderator.
  7. List server sends message to session.
  8. Session reset, since memory use is temporary in case user wants to save...?

Bluestrings-Drawpile avatar Jul 13 '23 21:07 Bluestrings-Drawpile