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

UX Sidebar Changes/Improvements #681

Closed
gnunn1 opened this issue Jan 8, 2017 · 38 comments
Closed

UX Sidebar Changes/Improvements #681

gnunn1 opened this issue Jan 8, 2017 · 38 comments
Assignees

Comments

@gnunn1
Copy link
Owner

gnunn1 commented Jan 8, 2017

Well it's been just over a year since I released the first version of Terminix and I think it would be good to review the current UX and consider what, if any, improvements can be made to the main application window. In particular, I'd like to look at alternatives to the current sidebar implementation.

While I personally like the sidebar, I realize it's not everybody's cup of tea and I think re-visiting the topic periodically and getting input from the community is important. I'll be clear though that I'm not committing to making any changes, but if someone comes with an awesome idea or there is strong consensus around an idea I'll certainly consider it.

As per the discussion from #114, supporting any sort of optional UI (i.e. sidebar with tabs as optional) is a no-go for me. It's just way too much effort to support and maintain multiple UI paradigms.

So with that out of the way, let's look at some of the options.

1. Status Quo

This option represents no change and everything stays as it is. Here's the pros and cons of the current UI as I see it:

Pro:

  • Maximizes space for the content since the sidebar stays out of the way until you need it
  • Preview thumbnail allows the user to visually discern sessions based on layouts

Con:

  • Switching sessions using the mouse requires two clicks versus one for tabs
  • Preview size is sub-optimal in the sense they are too large when a lot of sessions are going on but too small to be visually distinguishable unless you have very different layouts.
  • Since sidebar pops out, interactions with it (such as dragging and dropping sessions) is technically a bit tricky
2. Tabs

This option is to use the standard tab control instead of the sidebar, I'm really not a fan of this option but it would be a disservice not to include it since it is an obvious one.

Pro:

  • A UI paradigm that everyone is used too
  • Switching sessions can be done with a single click

Con:

  • Takes up vertical space, on today's wide-screen monitors vertical space is typically at a premium. (tabs on the left or right just look hideous).
  • Difficult to differentiate sessions just based on tab text, custom titles help here
3. Persistent sidebar

There have been some requests to make the sidebar permanently visisble. Unfortunately it is not technically possible, at least with my skill set, to make this option. This option is an alternative which is technically feasible.

In this option, the sidebar becomes an always visible icon strip on the left or right where each icon represents a session. The icons in the strip would be custom drawn to reflect the layout of the session. For example, if you have a session with two terminals side by side, the icon would be drawn with a line down the middle.

From here there are two sub-options. One option, which I'm more in favor of, is that holding the mouse over the icon would give you a thumbnail preview of the session in a potentially larger size then it is now along with session name, essentially a very large tooltip. The other option, shown below, is to have a hamburger style button in the icon strip that pops out the existing sidebar.

Here's a rough mockup that @alex285 put together. Ignore the letters next to each icon, there was an idea to show the first letter of each session as a sort of hot key switch but I don't think it is very viable.

terminix_ui_changes

Pro:

  • Supports one click switching with the mouse
  • Always visible like tabs
  • Uses less space then tabs and uses space on left or right effectively
  • Fits more sessions since there is no preview, just a small icon
  • Since it is persistent, supporting DND of sessions becomes very easy for things like re-organizing sessions, detaching a session, etc

Con:

  • Session names are not visible like they are for tabs
  • I suspect the icons won't provide enough visual distinction to be overly useful
4. Ubuntu Style Previews

In the new Ubuntu Unity 8 terminal, they have a floating button towards the top right that triggers an overview screen. This is similar to the sidebar but occupies all of the client space. You can see an example of it in the video at the link below:

https://youtu.be/4VTixUcDcYI?t=303

Pro:

  • More space for previews so they become more visually distinguishable
  • Nice aesthetics with more whitespace then what the sidebar can afford
  • Since it doesn't pop out and require grabbing the mouse to close automatically, interacting with it for session reorganizing and other tasks is easier then current sidebar

Con:

  • Requires two clicks to switch sessions by mouse just like the existing sidebar
@daroczig
Copy link

daroczig commented Jan 9, 2017

I really like the current sidebar approach (maybe a config option would be a nice addition to set the width/size of the sidebar) for sessions, but would love to see tabs for terminals within the session.

Use case: I often use multiple tabs in the same session and switching from one to another using fullscreen -- now this requires me to C-A-x, switch then C-A-x again and I do not even see what other terminals are running in the same session if I'm using one of those fullscreen. The tabs would improve

  • the switching process (one mouse click)
  • information provided on the running terminals in the session

Besides this, it would be great if C-A-Tab worked when using a terminal fullscreen, but that's another story :) I know this is a special use case, but using sessions as grouping terminals works very well for me.

Oh, and most importanty: thanks for terminix, it's a very great tool!

@gnunn1
Copy link
Owner Author

gnunn1 commented Jan 10, 2017

@daroczig thanks for the feedback! Just to be clear so we are on the same page, from my perspective sessions are tabs, under the hood it's actually implemented as a GtkNotebook, I just don't show the tabs preferring to use the sidebar as the navigation mechanism instead.

I don't have any plans to introduce a level of tabs below that, I think it would just be overly complex and ugly. Having said that, I guess from a visual point of view you could argue the tabs would replace the current terminal titlebar so maybe it would not be to bad with some styling but still no plans to go there.

@Naatan
Copy link

Naatan commented Jan 10, 2017

I like the first screenshot, but the letter indicator isn't very helpful and kind of ugly. Color coding could be a better way to differentiate.

That said, end of the day all I really care about is being able to switch sessions with a single mouse click. Which means having something to click on-screen at all times.

@dsboger-zz
Copy link
Contributor

I'll just throw an idea, haven't really thought about pros and cons, it just occurred to me.

I'm thinking an "overview grid". It could look similar to GNOME Boxes, with VMs replaced by Terminix sessions. More session previews would fit the space. It could be a stack page, like Boxes, or it could still be an overlay, just like the sidebar, only occupying all the window width. I think when we want to switch to another session our attention is not in the currently visible terminals anyway, so "covering" them would be no problem.

@gnunn1
Copy link
Owner Author

gnunn1 commented Jan 13, 2017

@dsboger I think you've described Option 4, have a look at the video I linked to and see what you think.

@Naatan
Copy link

Naatan commented Jan 13, 2017

imo option 4 is pointless as it provides very little additional value over what it currently does. I'd want this feature to enhance accessbility.

@alex285
Copy link
Contributor

alex285 commented Jan 13, 2017

@dsboger The point of this tabbing is to have always a representation of the open instances plus you can switch with a single click. What Ubuntu terminal did with the overview, since I tried it, while it was looking good, in practice wasn't such good. And for FWIW they reverted it. Ubuntu Terminal now has typical tabs. In fact it had the same problem that Terminix has now.

Yes the icons aren't much informative, but a letter indicator at least for those who are used to edit the session name (and it isn't always "Default") it could help.

In a more crazy approach, Terminix instead naming each session "Default" it could give random names from a dictionary for each new session! Just to make things more playful :)

@Naatan
Copy link

Naatan commented Jan 17, 2017

Or it could just number them incrementally. Instead of a letter, show a number.

@marciosr
Copy link

marciosr commented Feb 12, 2017

What about the first approach with fixed lateral icons but with floating preview activated with mouse pointer hover over this icons?
tabpreview
I think that this could be useful if used with traditional tabbing too.

@alex285
Copy link
Contributor

alex285 commented Feb 12, 2017

@gnunn1 what @marciosr says is what MS Edge does with tabs, and it is really nice, if you can make a nice transition with like 1.5s delay.

@phw
Copy link
Contributor

phw commented Feb 12, 2017

What I am strictly against is the idea of having both the sidebar and tabs, that has come up here a few times. That's seriously too much hierarchy (multiple windows -> multiple sessions -> multiple tabs -> multiple terminals).

Also for what it's worth the sidebar as opposed to having traditional tabs on the top is one of the reasons I love Terminix. Tabs for me take away too much vertical screen (something I consider very important for terminal output) and are too present in general. However I see the usability issues of the current approach for mouse use.

From the ideas above I find the permanent, but small, sidebar the most interesting, and I like the floating preview idea @marciosr suggested. I could like that, but still can see the need to have an option to completely hide the sidebar, especially on smaller laptop screens.

@gnunn1
Copy link
Owner Author

gnunn1 commented Feb 12, 2017

@phw The sidebar with preview is what I am leaning towards myself, it would have the option to either be permanent or slide out as it does now.

@marciosr
Copy link

marciosr commented Feb 12, 2017

I agree with you @phw there is no need to have both (side bar and tabs).
An option to hide the side bar is a useful feature in my opinion too.
Gnome Builder had that kind of sidebar, but the the developer changed it to a button with a popover to switch editor, preferences, e etc. I think that wasn't a good move.

@highvoltage
Copy link

highvoltage commented Feb 13, 2017

I convinced a client of mine to go over to Terminix instead of Terminator (because it got very crashy recently). The feedback from their users were that they missed being able to see which tabs (or sessions) were open. I told them that they can press F12 and then the number of the terminal to switch, which helps a lot. But ultimately option #3 that you mentioned above would fix that quite well. It would be really nice if someone could implement it, unfortunately I don't have the right skillset for that either.

@gnunn1 gnunn1 self-assigned this Feb 13, 2017
@gnunn1
Copy link
Owner Author

gnunn1 commented Feb 13, 2017

@highvoltage I'll be working on this after the next release in a week or two.

@bertob
Copy link

bertob commented Feb 13, 2017

@gnunn1, thanks for making Terminix, it's the only terminal that truly feels at home in GNOME 3.

I've been using Terminix for a while now, and to be honest I've never once used the sidebar. I have opened it a few times, mostly out of boredom, and created a second workspace, but when prompted for a name I clicked Cancel and closed it again, because I didn't want to think about what to name it. I use tiling extensively, though usually not with more than 1 or 2 splits, and usually have 3-5 different terminal windows across different workspaces.

It just occurred to me that on a high level, there is little difference between having different Terminix windows and using GNOME's overview and the current sidebar (except for names perhaps?). Personally, I can't imagine a use case where tiling + GNOME's overview are not enough to comfortably switch between even a large number of terminals, so perhaps the sidebar could be removed entirely in favour of a shell-based workflow?

Just my two cents :)

@arigit
Copy link

arigit commented Mar 18, 2017

Another vote for #3, I'd suggest a small icon like a padlock to toggle the sidebar between persistent and auto-hide.

Also, this could allow dragging a terminal from the active session to any other session by dropping it on any of the sidebar's session thumbnails which IMHO would be a neat ad-hoc way to re-organize sessions on the fly. Further if dropping the terminal in an empty section of the sidebar, that could create a new session. Sessions that loose all terminals this way would disappear. That would boost session usability by a lot - methinks

@lucascosti
Copy link

Personally, I prefer tabs, but I think #3 is definitely better than what is there now. I constantly forget that I have other sessions open, and a visual cue like #3 has is much better imo.

@alex285
Copy link
Contributor

alex285 commented Mar 24, 2017

i made that for fun and not for sharing it here, but it demos an animation, when we expand the sidebar, and the tabs icons dont fit anymore, so it should be a scrollbar

https://www.youtube.com/watch?v=y2KlT21uO_M

in my opinion animation is wrong, there shouldn't be any, except if it something really great, but i was just exploring the visuals :/

@ghost
Copy link

ghost commented Mar 27, 2017

Hi everyone,

I am using Tilix for a month or so and I really enjoy it as it is. It provides me everything I need and missed from Gnome Terminal (background transparency is a feature in my workflow !!) or Terminator.
I like sidebar as it is, so, as far as it counts, my vote would be in favor of statu quo. The way it is currently designed the sidebar provides a perfect and enhanced alternative to traditional tabs and it does so without going in my way when I work (it's hidden which is perfect, why would I need to see other tabs/session content or icon when I work in the current tab/session ?).
As I see things, as a simple but very regular user, option 2 (tabs) would be a regression and option 3 (persistent sidebar) would add visual fuss without providing a trully useful new feature (IMHO and use case of course).

@akalajzi
Copy link

#3 is pretty perfect; having sessions one click / shortcut away is kinda important; live thumbnails not so much. Just an overview (list) of what exist, and have it one click away.

Making some sense what is behind which icon can be left to the user, ie as simple as picking a background color for any particular icon.

@lnlrbr
Copy link

lnlrbr commented Apr 11, 2017

Hi,
I came here to send a request for a permanent sidebar, but this issue answer it. I really like Tilix and use it every day, and for my 2 cents, the option #3 is the perfect solution. All under the mouse, no need to go to far away with the mouse to select the right session, one click. No need for permanent previews, the @marciosr approch is good enough. As extra, if the icons can blink on some events like for an ending process, and Tilix would be perfect :)

@rabin-io
Copy link

From all the above options the 3rd one is most suitable for my work-flow, but i like to point out another option, as I do most of my work in the terminal and not using the mouse at all, i prefer a quick keyboard session switching, so the 3rd option with hotkey's looks nice, or having something like gnome3 which you can session-switch just like alt-tab with application and have clear preview.

@phw
Copy link
Contributor

phw commented Apr 12, 2017

@rabin-io There are already keyboard shortcuts to switch sessions, and I am sure those will stay regardless of the UI solution above :) But an alt-tab session switcher might be nice, yes

@chmln
Copy link

chmln commented Apr 16, 2017

Meh, tabs are the only reason I stick with terminator.
Maybe option # 3 could achieve similar functionality, but IMO just looks bad, disrupts the whole look, and is similar to having tabs on the left.

Perhaps I don't mind trading off 24px tabs (0.02% of 1920x1080) for usability.

With tabs the whole session is upfront and each is only a click away.
Here's terminator and tilix with 6 sessions.

tilix

term

Additionally, a terminal with permanent sidebar can't look as clean
term_1

tilix_1

@Naatan
Copy link

Naatan commented May 16, 2017

@gnunn1 is this something you're working on? It would make Tilix perfect for me :) I'm using it now daily but having to go through the dropdown every time is starting to get really frustrating.

@gnunn1
Copy link
Owner Author

gnunn1 commented May 16, 2017

Not actively, I'm still trying to work out how to do it technically for the best results. If it's a showstopper for you I'd recommend looking at a terminal that better fits your workflow as I'm not sure when I'll get to it. Sorry about that.

@Naatan
Copy link

Naatan commented May 16, 2017

No problem, appreciate the honesty :)

@Jiehong
Copy link
Contributor

Jiehong commented Jun 4, 2017

I see the sidebar as I see the workspace bar in gnome-shell on the right.

I don't need to actually always see it that much, and 95% of the time I switch between sessions with Ctrl + PageUp/PageDown directly as it's way faster than using my mouse and check the small thumbnails there.

IMHO, all proposed solutions do not offer much compared to the cost they would imply, and maybe it's just good enough, and more of a personal style issue.

I've got a question though: do you have any idea of what is the average number of sessions users keep in their sidebar? That could shape a different solution.

I personally use Tilix literally every single day, but never have more than 10 sessions, so that may explain why I like switching with the keyboard.

@guillefar
Copy link

Do people really find those small session thumbnails useful to find the right session? I imagine is the case, but as someone that use many tabs/session to connect to several servers at once, they are not useful at all. it is not possible to read what they say, so I suppose for people that use them it becomes a matter of visual memory. In any case, thumbnails for texts consoles, doesn't sound as the best method.
I think the ideal option would be a mix between 2 and 3, basically being able to choose if you want vertical or side tabs, though it might be hard to implement. In any case, I would be pretty happy with any of the two options, as long as can use just one click to change the session.

@alex285
Copy link
Contributor

alex285 commented Jun 10, 2017

@guillefar personally i found them more useful on switching than GNOME Terminal tabs, but however i still like the small tabs representation of tabs ..which looks like Firefox, but however FF uses site logos on tabs, so Tilix should somehow do the same on a vertical bar

an idea is to use random badges from a lib/theme (with about 30 different badges) every time you open a new tab, and that would help in spatial memory, plus it will make it more playful! additionally you can set a different badge if you want to

i doubt this is a correct approach for Tilix, but im just saying, because i have done this in a terminal im working on (super slow!) where i have used anime characters

but if vertical tabs, tabs should somehow be clear one of the other, since you cannot have a title on them to help!

@mistersister
Copy link

I would love to see standard tabs implemented. The actual sidebar and session switching implementations are what keeps me away from finally switching from Terminator since Im finding it extremely hard to get used to it, specially having been a heavy tab user most of my Linux life.

I get that tabs take vertical space wich is relatively limited in todays 16:9 screens but i dont think that a tab bar should eat more than two text lines so it doesnt seem like a big deal.

In any case, I appreciate the will to revisit the UX paradigm of Tilix.

@gnunn1
Copy link
Owner Author

gnunn1 commented Aug 6, 2017

I've been stuck for quite awhile on this issue in terms of having a bit of analysis paralysis. Every mechanism I think of as an alternative to tabs just feels like a way to avoid them. So I think I'm going to just bite the bullet and make tabs an option so people can choose to either use the sidebar or use tabs. I've on a weeks vacation at the moment and am looking to implement a good chunk of this during this time.

Note that switching between tabs and sidebar would require a restart of the application.

I'm also thinking of dropping the session switcher (sorry @alexwhitman) as I don't get the impression are really using it and lighten a bit of my UI maintenance. Thoughts?

@alexwhitman
Copy link
Contributor

No problem, turns out I don't use it myself as much as I thought I would. 👍 for tabs.

@guillefar
Copy link

Totally agree switching to tabs, will not miss sessions at all.

@gnunn1
Copy link
Owner Author

gnunn1 commented Aug 6, 2017

@guillefar Just to be clear, I'm not switching to tabs just enabling them as an option. The session sidebar will remain as the default option.

@gnunn1
Copy link
Owner Author

gnunn1 commented Aug 6, 2017

Also note I expect the git version to be somewhat unstable this week as I work through this and a few other changes.

@gnunn1
Copy link
Owner Author

gnunn1 commented Aug 6, 2017

Closing, opened new issue dedicated to tabs.

@gnunn1 gnunn1 closed this as completed Aug 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests