State of the Dash (Continuation of gnome-shell/!1139)

So, as some of you know, !1139 got a lot of attention recently, partially due to a popular YouTube video. The discussion started to divert from the merge request to the more general idea of removal of the dash and even workspace flow versus taskbar flow, so according to the general recommendations, I’m making a topic to move consideration to a more appropriate place.

I would recommend instead of starting writing huge texts about what we should do or not, get the whole context and try to first discuss with our Devs in a proper Chat environment. We’re always open doors in many platforms like our IRC.

Let’s keep this Issue with actual relevant information for the Author of the Merge Request and the actual Maintainers and Contributors of the project. Whilst Community engagement is highly encouraged, it became too noisy and hard to keep.

Thank you for understanding :sparkling_heart:. And sadly if the off-topic/noise continues this MR will be locked. Continuation of the discussion is highly appreciated in the proper channels :smile:.

I wouldn’t be surprised if this topic receives few or no comments, but I am writing it in order to get an opportunity to apologize for my latest comment in the merge request in question; it merely introduced more needless frustration. Such negativity had no place there and I will do my best to restrain myself from such criticisms in the future.

So, anyways, if indeed the dash is removed, it will likely be several release cycles from now, as a design will have to be innovated and thoroughly tested. I am quite interested in what an Activities overview revamp would look like, and was fascinated by some recent mockups by Tobias Bernard showing what a mobile-based GNOME Shell on desktop might look like. (Keep in mind that the commit message labels the mockup as highly experimental and therefore it should not be judged as a final product.)

More ideas stem from concepts generated from the London UX Hackfest in 2017.
https://gitlab.gnome.org/Teams/Design/london-ux2017-experiments/-/tree/master/overview

I don’t want to speak for the design team and say that they already know exactly what it should look like; I’m just listing more opportunities for the Overview. I’m interested to hear a wide range of perspectives on any new ideas with regards to Activities navigation. :slight_smile:

2 Likes

Ah, now it makes a lot more sense why the Gnome developers are considering getting rid of the dock.

That mobile UI mock up look great for tablets and smartphones. Although, I am not sure how I would feel about using it on the desktop.

1 Like

I mainly found the mobile mockup intriguing because of the tiling mindset: instead of grouping into windows, group into sets of tiles. Of course, the current free-floating windows are better for showing off cool wallpapers. :smile:

1 Like

Thank you for linking the video, I was somewhat confused by how quickly it blew up with community members.

I just want to say, I am aware of long-standing opinions against turning the dash into a dock in GNOME - and have had discussions with maintainers about it in the past.

I mainly started this work because I clean installed 3.36 and was frustrated by the UX/UI experience of the dash after a few days. Dash to Dock wasn’t compatible yet, so I ported the features I felt were critical and cleaned some things up along the way. In the end, I had a dash-to-dock inspired extension that I felt could be fairly easily upstreamed.

I wasn’t initially planning on submitting the merge, but eventually decided to, after reading “There is No “Linux” Platform (Part 2)”

To quote @tbernard from their recent blog post

The solution here is simple in theory: If you think a change to the system UX is needed to fix a specific problem, don’t just patch it downstream, but instead help to address the actual underlying issue (We already touched on this in Part 1). For example, if you find that new users are confused by the empty desktop at startup, don’t just ship an extension that completely breaks the structure of the shell. Bring the problem to the upstream designers and developers, figure out a solution together, and help implement it upstream.

I hoped to start a discussion around the dash with a working prototype of what I thought made the dash more friendly and functional. The behaviors I incorporated are all shipped by downstream and incredibly popular (2 out of the top 10 extensions implement a dock or panel), so I thought it seemed reasonable to suggest them as discussion points.

That said, I hope a better discussion can be had here. My merge was never meant to be a “I want X, Y, Z” but a “could we do X, Y, Z, or something else entirely to make this experience better”

I’m very excited by the work on the overview redesigns and hope they continue!

3 Likes

I like the screenshots. Making GNOME optimized for touch-devices should be great, but don’t leave poor guys like with only physical keyboard and mouse like me :slight_smile: . Tiling is not really applicable in all cases if I’m right :thinking: . Like, I at the same time, have a Terminal open at a corner, Telegram on the other with Web somewhere away. And there is a good amount of space between them. In other words, tiled windows automatically put constraints on the size of windows, so you no longer can have windows of whatever size you want. May be Im wrong, but I love the pictures.

As a Gnome user for several years I’m very glad this topic is being discussed now.

The poll on Reddit with 2/3 not using the default dash suggests that there is need for some refinement.

I see several problems with the current implementation:

  1. Most of the time, you need to make one click more to do things. For example, to start an application you have to go the activities overview, then either type the name or click on the app in the dash vs. just click on the app in a dock that is visible on the desktop.

  2. If you have for example several spreadsheets open and you need to quickly switch between them, it’s rather difficult via the activities overview, since the file names don’t show until you hover over the preview and they also aren’t in the order they were opened.
    At my workplace (we use Windows there though, ugh), this would be a real issue.

  3. No minimize/maximize buttons: For example if you open several files in Nautilus and the window of the started application is in front of the file manager, you need to bring Nautilus to the front again first, which requires opening activities, and then open the next file. I think it’s easier and more intuitive to minimize the newly opened window and then to open the next file.
    Also the workspace can become really cluttered if there are many open windows.
    Spreading them over several work spaces makes switching just too slow.

  4. The hot corner: Accidental triggering can be really annoying.

I know for issues 3 and 4 there are already options in the Tweak Tool, but I think there really should be a section in the Gnome Settings to configure the desktop. Every user likes to use the desktop a bit differently, so there should be options.

What I think would be a good solution:

I really think there should be a dock on the desktop.
It makes starting and switching between applications faster and people coming from Windows or Mac will feel more at home.
The current implementation is innovative and cool and for sure some people love it, but I don’t think it’s a good solution for the majority of users. It’s too different from everything else and too complicated / unintuitive.

Positioning of the dock:
I tried it on the left, but if you have it set to autohide, it’s hidden most of the time since often windows are positioned on the (top) left side.
If you set it to always visible, it makes the desktop non-symmetrical -> not a good look.

On the bottom on the other hand, even if you have it set to autohide, it’s visible most of the time depending on the screen size and size of the windows. The downwards motion of the hand is a bit more difficult than a swipe to the left, but that’s an ok price to pay I think.
The positioning on the bottom would also partly solve the icon size issue, since there is more space.

So I think a dock would be nice. Give the users some sane options… maybe icon size, positioning, autohide on/off and maybe disabling of the dock, so people who like the current default can be happy too :slight_smile:

In response to the mock-ups: They look great! I’m excited that Gnome is heading towards usage on tablets and phones… but desktop is a totally different use case… Microsoft has learned its lesson too…

1 Like

Remember that statistics is really really hard to do properly.

2 Likes

I love the reimagined designs of the Status/Notification and Calendar. But can we not have the same design for the windows for swipe-left as seen in swipe-left? A swipe-up can handle the app-drawer. Less to remember, the better.

The Multitasking view on the mobile is perfection but on the Desktop, the current design looks a tad out of place. It’d be a cleaner experience if we can carry over the same arrow+single row to the desktop instead of the app drawer.

A activites-only bootup screen is a bit aggressive and people like to see their wallpapers without obstruction I believe. However, I have no idea how to fix that short of moving the dock to the bottom.

Whatever we end up with: it should not feel like some kind of quest to launch an application.
Launching an application should be incredibly easy and the most intuitive thing to do in a OS shell.
I think we should really stop to hide the app launcher behind some mysterious keyboard and mouse combinations. Even if it looks damn cool if you repeat those animations in a video or wherever. The reality is that people do not use those animations hidden between two views very often. It’s cool and it looks cool but it is just not what you want to do. You want to easily start applications and then access the running applications as easy as possible.

1 Like

Yes, that is certainly true. For all we know it might even have been one enthusiastic person with a bunch of alt accounts taking the poll… so we can’t take the results as facts, but certainly as an indication.

When I see a screenshot on the internet of someones desktop who uses Gnome , honestly, most of the time I see either dash to dock or dash to panel. When I see vanilla Gnome, it’s 90% Gnome developers :wink:

Then there are all the Ubuntu users who have a dock as default.
Now try taking the dock away from them… I’m pretty sure they won’t be happy.

So if we can’t trust statistics, how do we determine if a change is necessary?

I would really like to see some real world testing being done…
Some regular people, who have used either Windows or macOS before (simply because these are the os’s with the biggest market share), should try out Gnome for a while and then we would have some good input I think.

Gnome should be suitable for people who have never used a pc before, as well as for people who use it in a workplace environment. I think making Gnome-Shell a bit more flexible and therefore more accessible would be a big and necessary step on the way of GNU/Linux (I hope this made Richard happy :wink: ) to more market share.

1 Like

This is the problem no one seems to want to acknowledge directly: no single solution is going to make everyone happy. Even if a full-blown dock were included by default, it obviously won’t have Ubuntu-specific extensions for progress or anything else.

The result is, most users who want a dock or panel will install an extension anyways and Ubuntu will continue to ship a modified version of the dock.

Of course, the answer is to offer the choice of multiple solutions. But that’s what the extension framework is for, so I’m honestly not sure what all the hubbub is about here?

Yeah this is true, that’s why I was suggesting to add a few options to configure the desktop.
It seems like more people like to use a dock than a Windows like bar… I have to say a dock would also feel a bit more gnome-ish… and adding the option for a taskbar too might be a bit too much.

I mean sure, there are extensions, but I guess I don’t need to explain what the problems are with them. They break with every major Gnome update and most extensions do not get immediate updates. Also although there are really good extensions, there will most definitely be more bugs in them than in an official solution.

An official solution might not be as feature rich as dash-to-dock, but it would lessen the need for downstream solutions.

Gnome is one of the biggest or maybe the biggest desktop environment on Linux, so in my opinion it should include defaults that meet the needs of most users.

I don’t want to sound like I’m complaining… I’m happily using Gnome on Fedora… I honestly just want to give some feedback of what I think might be beneficial for GNU/Linux as a whole, since I really would like to see Linux be more succesful on the desktop front.

The ultimate decision is up to the developers of course… and maybe they will even find another solution nobody has thought of yet :slightly_smiling_face:

This really is a myth and I can only assume people are arriving at this conclusion by misunderstanding what extensions are and how they work. There is nothing special about code in an extension that makes it different from code in mainline gnome-shell. If and when something changes, the code has to be updated regardless.

The reason why “official” solutions seem more stable, is because maintainers avoid these types of situations to begin with. Inlining an extension into GNOME Shell doesn’t magically make new maintainers appear; it just increases the burden on the existing upstream maintainers.

Extensions, on the other hand, can iterate releases much faster, aren’t subject to feature freezes or deadlines and if it happens they don’t have time to maintain or update it, it has no effect on any other users.

That’s kind of my whole point; there is no such default (cf. Choice, Happiness & Spaghetti Sauce). The proper solution is choice, which we have with extensions.

Well, I have to say I’m pretty sure I know the basics of how extensions work and they are not like web extensions in browsers… you could compare them better with the old Firefox extension system, which often caused extensions to break with Firefox updates, because there was no stable API.

I have used Arch before and I can say, installing Dash to Dock via the official gnome-shell extension website is pretty useless… since about 1/3 of the lifetime of a current gnome-release, the extension is not updated.

If there is a fundamental problem in the way how Gnome can or can’t be used by users, it needs to be addressed by the official maintainers.

I simply couldn’t imagine companies putting Gnome on pc’s of its employees in the default state… I might be wrong, I don’t have any facts to back up that claim, but I’m pretty sure that’s the case… and if someone can prove me wrong, I’d like to see the evidence and then I won’t argue any more.

One could say, okay, then just use Ubuntu… I don’t want to bash on Ubuntu here, but I’m simply not a big fan.
I see Fedora as the most promising distro that could challenge Windows and macOS one day and Fedora comes with a pretty much default Gnome installation, as it should.

So why should Fedora people develop an extension for Gnome if the problem can be addressed upstream?

Yes, of course the code becomes more complex with more configuration options, but if it’s considered a burden to cater to the needs of most users then in my opinion one needs to reevaluate their goals.

So first of all, we don’t know if one can compare food to a desktop environment.
The difference in what people like to eat has probably mostly biological and cultural reasons.
How people like to use the desktop probably depends on effectiveness and what they have used in the past.

There might not be a sweet spot that makes most users happy, but we have no data yet.

I don’t even consider extensions as a way of giving users a choice. One can do that for niche requirements, but not for major groups of people.
It’s exactly like it was said in the video… currently Gnome only delivers a good product for a small group of people. We are missing a lot of potential for growth here.

1 Like

Here it is in nutshell: Taking the code from an extension and putting it in the Shell doesn’t change how the code works or how much maintenance it requires.

To put some context to this conversation, GNOME Shell weighs in at ~49k lines of JS. Dash-to-Dock has ~6.2k and Dash-to-Panel has ~8.7k. That’s about 12% and 17% relative increase, respectively.

I’m still waiting for someone to demonstrate adequately that there is a problem. All we’ve really heard is users that prefer a dock requesting Dash-to-Dock and users that prefer a panel requesting Dash-to-Panel.

In the current situation, everyone can have what they want. If you have an compulsion to reiterate that extensions aren’t updated fast enough for your tastes, see above.

We have at least two very well subscribed extensions demonstrating that no one will be made happy by a single upstream solution: Dash-to-Dock and Dash-to-Panel.

Both of these are in the top 10 downloaded extensions, which at best indicates a lack of consensus.

Yeah, that is a lot, that’s true.
My thinking is that the people who like dash-to-panel would for the most part also be happy if they had only the option for a dock and not a panel, if it would be officially supported.

There still would be room for extensions like dash-to-panel or an extension to extend the functionality of the dock.

Like I said, dash-to-dock has a huge amount of options… it’s nice, but it makes it also difficult to maintain and I don’t think it’s necessary for most people.

Maybe we would end up with a 5% increase of code, if at all.

I do not have a compulsion. I can even live without extensions for my personal usage… just give me the maximize and minimize buttons and I’m okay :wink:

I just see a problem when it comes to other people using Gnome under certain use cases and part of it is that extensions aren’t always working and you can’t fully rely on them.

But if you think everything is just fine the way it is, then so be it.

Then just about 2/3 of people need to install an extension to make Gnome usable for them.

That’s totally fine… isn’t it?

I see no justification for that claim.

Well, and I see no justification for your claim that there is no problem :wink:

We don’t have any data on that issue, so all I can give you is my own opinion and what I hear and see from other people on the net… and there definitely is a lot of demand for a dock or a panel on the desktop.
I think that’s why the whole discussion is a little heated… because it’s really hard to convince the Gnome developers that it would be a good thing to include options.

I think I’ve read somewhere, I’m not sure if it was even on extensions.gnome.org itself, that when extensions become really popular, they might get integrated in the shell?

I think one could consider Dash to Dock and Dash to Panel quite popular.
I should add that fully integrating both isn’t what I’m suggesting.

So the question is, why are they so popular?
Because there are people who prefer some kind of application launcher and switcher over the default activities overview.

I could even mention Linux Mint, who forked Gnome because of this exact issue.
Ubuntu includes a panel.
Zorin OS includes a panel.
Solus comes with Dash to Dock preinstalled.

Those are all distributions that target the mainstream user base.

Vanilla Gnome only is used by distributions for advanced users, like Arch, Debian or Fedora.
The users of those distros will have no problems searching for and installing an extension if they feel like they need one… regular users though… forget it.
They expect an OS to simply work the way they expect it to, without much effort.

I’m actually supportive of a lot of decisions Gnome has made, for example the removal of desktop icons, or the system tray. That’s because I think it’s quite easy to adapt to it or to find a workaround.

I’m using Gnome because I like the simplicity. I just feel like the balance between simplicity and usability should be re-evaluated when it comes to the Shell.

Hi there !

I’ve just registered to this Discourse, mainly because of this conversation. I’m a GNOME user since 2.x aera, and I’ve always loved most of this DE, especially how good it is with default settings, without spending days in tweaking.

But like most of GNOME users, I think the workflow is far from optimal on desktop. The lack of a proper panel or dock become a real problem when you have something bigger than a 14" laptop and/or have more than 5 windows open. With a multi-monitor setup, it’s even worse. As a sysadmin, having a lot of windows open is kind of standard situation.

When you look at the GNU/Linux desktop landscape, you clearly see that the vast majority of distros have a panel or a dock, even if they are based on GNOME Shell. The company I work for had to switch to GNOME Classic because users (not IT friends kind) were absolutely lost.

I don’t say that panel or dock are the best solution, I just say that it would be better than the current situation. I also think that until a better solution is found, pinning the dash should be upstreamed, given that extensions are not guaranteed to work at any time. I liked what the !1139 merge request had proposed. It’s kind of a minor modification and it could be enabled by Gnome Tweak for instance.

1 Like

Keep in mind that the group of people who are involved to the point of discovering and participating on this forum or showcasing their setups on Reddit/Youtube/etc. are often the same sort of people who feel more strongly about the design of the desktop. :slightly_smiling_face: