Ideas on modernizing the open-source desktop

(lwn.net)

53 points | by signa11 3 hours ago

15 comments

  • probably_wrong 1 hour ago
    For me it was a major revelation when it was pointed out that, for someone who doesn't want his desktop changed, I did install all sorts of crazy things when I was starting with Linux (Compiz plugins, anyone?). And while Gnome 3 pushed me into Mate, it wasn't because it was different but rather because it was bad. So I'm excited about someone trying something new, particularly someone who realizes that the Desktop is not a tablet.

    Here's an idea that I believe I read in HN as "the original purpose of the desktop": add a Desktop Manager that manages which icons are on your desktop and makes it easy to switch.

    The desktop is kind of weird, in the sense that it's prime real estate but, at the same time, there's an expectation that you shouldn't put too much stuff there, and then it ends up cluttered anyway. I think it's worth trying a stronger separation between "Desktop" and any other regular folder, emphasizing that the Desktop is where you place links to the files you need right now, but with a mechanism to clear it completely (without losing data) and another to switch which icons you see right now, kind of like browser tab groups. That way, when you're working on a project you place the files you need on the desktop and when you're done you clean it up.

  • tancop 1 hour ago
    I would replace the start menu with a Raycast clone. Most people want to open files, ask a question or run an app they know the name of, not scroll a list of things they might never use. If you add in semantic search users don't even need to know the app name.

    It's also a perfect use for local System One models that can classify prompts and forward them to the right module - calculator for math, distrobox for shell commands, LLM for natural language questions and normal search for everything else. Not using a fixed classifier because plugins should be able to add their own question types.

    The article mentioned WinFS and relational filesystems. That's another good idea, integrate metadata so you can support use cases like finding all pictures of your dog or all playlists with Ed Sheeran songs (to remove them). Everything bound to the file entries instead of ID3 tags inside the file or app specific databases. It would be a lot more reliable and probably faster.

    IIRC bcachefs is already a relational database but I don't know how good the query APIs are. If we can't do full extendable tags then at least add user defined groups/tags like Work and Games and Photos to make finding things easier. People remember what a file is better than where it's stored.

    • t_mahmood 2 minutes ago
      Last thing I would want AI running on my desk and doing unpredictable things. I love my silly simple Gnome desk or barebones i3 with everything mapped to my preference.

      I can search and enter my search, and expect same results everytime, so muscle memory friendly. Gnome's search does calculation in search just fine, or search files, no need of any models. And app can provide their own search endpoint that gnome uses, to search in the app. Repetable, simple, and light.

      Its boring, but hey, your everyday thing that is your starting point of the day do not need random behavior, or getting dependent on some 3rd party app that suddenly pulls the rug from under you.

      This everything AI is so tiring.

    • csnover 30 minutes ago
      > I would replace the start menu with a Raycast clone. Most people want to open files, ask a question or run an app they know the name of, not scroll a list of things they might never use. If you add in semantic search users don't even need to know the app name.

      So I’m looking at the Raycast web site, and aside from the UI being a little different, Raycast seems like it is itself a clone of the already long-existing KDE Plasma start menu and KRunner? I guess the only thing missing from the KDE one is “AI”. Is there something I am missing about how Raycast is some innovation not already realised in the Linux desktop?

      > If we can't do full extendable tags then at least add user defined groups/tags like Work and Games and Photos to make finding things easier. People remember what a file is better than where it's stored.

      Extended attributes[0] already exist if you want. But, as the linked wiki page indicates, filesystem attributes are fragile. And what is the tangible benefit? In practice, users can already just dump all their files into a random directory and use Baloo or whatever. Which is probably better anyway since it’s easier to have a D-Bus API with multiple user-space implementations than having to wipe and reformat to use a different filesystem if you have some problem with it.

      [0] https://wiki.archlinux.org/title/Extended_attributes

      • malmz 12 minutes ago
        Raycast is krunner but with better UI, more features and more flexibility from plugin.
      • jauntywundrkind 13 minutes ago
        Raycast is successful because it's an incredibly widely used and adopted integration layer. The official repo has thousands of plugins, pretty well maintained together, collectively, and there are thousands more out there. https://github.com/raycast/extensions/tree/main/extensions

        KDE krunner has plugins. But there is not afaik a big tent ownership system like Raycast. And krunner is only going to attract KDE users. Raycast is mainly mac, but also, there's Vicinae which runs on a lot more systems, and it can run >50% of the Raycast plugins without a sweat, is designed to be drop in compatible.

        It's also absurdly easy to write Raycast extensions. It uses web platform technologies that "just work", that don't have ornery toolchains and need lots of dev libraries installed. With KRunner you can probably use whatever library you want to do whatever you want, which is good, but hard, where-as with Raycast there's a pretty comprehensive and powerful API that offers a ton, that is well defined, and that other plugins will show you the way on. https://developers.raycast.com/

    • jauntywundrkind 52 minutes ago
      Good suggestions yes. Strong ideas. Ultimately the desktop has been content to let the apps take over more and more, while not extending itself. Actually making the OS something that actual activity happens on feels absolutely essential. Making a Raycast/Vicinae (the pretty great open source port) integral feels like it would go a long way towards this end, of offering a consistent way to expose & access the toolbox.

      I'd love to see an agentic OS where the OS and apps can both talk in terms of MCP things like resources, tools, skills. Yes these are primarily geared towards agents, but they are also acceptable machine-to-machine interfaces to script against too (so long as the type signature remains compatible).

      Android's Intents feel related, similar-ish. It's a pity no one bit on PK's WebIntents. That could have been an interesting way to create abstractions for intents, for activities, for stuff happening on the computer. Notably the xopc actually had activities and a journal that let apps contribute meaningful intent to the OS as a whole. But mostly it just ended up as a history viewer there. Android mostly uses intents as a launcher. But this idea of having the activities of the system as available abstractions could go much further.

  • timhh 6 minutes ago
    Ha I reported that drag and drop bug 20 years ago. Windows does it in an even smarter way - it raises the window on mouse-down but only if the target isn't a drag source.

    As I recall X11 doesn't really support that at all so there was no way to implement that on Linux. Doing it on mouse up seems sensible though. I couldn't find my bug report but I bet it was met with "I like it broken".

  • WCSTombs 1 hour ago
    > The final, particularly strong, objection from the tech community is "don't touch my stuff". People get angry when they have worked hard to get their desktop environment just as they like it and something changes to disrupt that.

    Yeah, this can be a little extreme, and I feel we can benefit from being a little more open to trying new things.

    The part about designing specifically for large displays and widescreen monitors was interesting. We can also reverse it, though: right now I'm away from home, and I only have this old laptop which is mostly great but has a shitty touchpad as the mouse, and I have to think this must be really common. However, this situation seems to be completely ignored by all desktop UX design. We seem to be pretty good at coming up with ways to use the mouse in our programs, but when the mouse is hard to control and unreliable, it causes pain. I guess I can use ratpoison or something, but that seems to be giving up too much.

    Regarding the AI going deep into the filesystem and organizing my data...I'm extremely skeptical of inserting any kind of inherent unpredictability into how I interact with the computer. Giving a command or input should produce a well-defined and predictable (in principle) action. Getting rid of that paradigm fundamentally changes the relationship between the user and the computer in a way that, in my opinion at least, greatly diminishes its usefulness as a tool.

    • someonebaggy 38 minutes ago
      Here's another thing that's just completely ignored: touchpad as anything other than a mouse replacement. It's possible for a touchpad to allow things like pinch-to-zoom, but nobody's really doing that. You could even use it as a low res painting tablet.
  • gchamonlive 2 hours ago
    People have different ideas of what's good UX, because everybody comes from their own tradition of using desktops. Some people don't see anything wrong worth evolving from with mouse, point, click. The kind of thinking from the article, from someone that only worked on big companies, is the thinking from someone looking for the next big product, which I look with suspicion. At some point this stops being about good UX and starts being about a good product that makes good profit.

    True revolution in UX will come from making customisation accessible, so everyone can decide what's best for them without losing their minds in endless customisation rabbit holes or having to rely on big and clumsy organizations.

    • WCSTombs 1 hour ago
      The difference between big-company and FLOSS UX design, including profit-motivated behaviors (a bit indirectly, but it's definitely there), is specifically addressed in the article, so I don't think that's a very fair characterization.

      I actually agree about customization, but that's only part of it, and seems to be pretty orthogonal to what the article is talking about. You can only customize to features that are actually implemented by the system, and coming up with those seems like the harder problem.

    • userbinator 1 hour ago
      True revolution in UX will come from making customisation accessible

      ...like it was back in the days when Windows actually had a very customisable UI[1], and then the "skinnable" UIs of the early 2000s (most of which were extremely gaudy, but then again, maybe that was what the majority of the population wanted.) Now it has devolved into little more than this: https://support.microsoft.com/en-us/windows/experience/perso...

      [1] and one of the included color schemes was indeed crazy, but a good demonstration of what was available: https://news.ycombinator.com/item?id=46247605

  • Gigachad 18 minutes ago
    I watched the video form of this and it was pretty informative, but I left it not really feeling anything was missing from the current desktop in terms of window management. It’s simple and old enough to be pretty well designed already.

    What I do find is really lacking is UX inside of many foss apps. So many of them feel like windows xp programs with toolbars that look like junk drawers.

    • XorNot 4 minutes ago
      I mean I'd love if toolbars would stay and people would stop messing with window decorations.

      I want boring consistency.

  • potato-peeler 11 minutes ago
    What I found interesting is desktop ui hasn’t changed much from either a windows layout or Mac layout. Isn’t there any other ui which is as useful as those two? Is there no ongoing research on os ui?
  • jorl17 1 hour ago
    I watched the full video and, as with the previous talk, absolutely loved it.

    I hope Scott keeps spreading the good word and inspiring others to take different perspectives

  • bronlund 42 minutes ago
    When I first met Linux desktop in the nineties, I was blown away - and I was completely convinced that Linux would overtake Windows as the preferred desktop within a few years. Little did I know that what we would end up with was a thousand mediocre variants of it, instead of a few awesome ones.

    My own Linux desktop experience peaked with Compiz, and I have been on macOS ever since.

    • eddythompson80 8 minutes ago
      I don’t know man, Linux desktop in the 90s was extremely rough. It wasn’t until the 2000s with KDE 2 (though really 3 IMO) and GNOME 2 that Linux desktop started showing promise. It was then subsequently dragged down with many alternatives and infighting. Personally I think only KDE kept slowly progressing better. I didn’t even like KDE until GNOME 3 pushed me to it. Every now and then I try GNOME 3 to see where it’s at, and just get baffled by the choices they make. Both Windows and Mac also had baffling choices along the way (in terms of desktop UX). Windows more so obviously, but they both would course correct every now and then. GNOME seems laser focused on some desktop UX vision I can’t even begin to understand.
  • Flow 25 minutes ago
    I want something like Os/2 Warp. Something with a design principle other than “make it look slick and hide stuff”. Look up CUA too.
  • someonebaggy 40 minutes ago
    Good talk.

    Even if the desktop turns out to be done though, UX polish like that drag thing is still a good idea. Like why does no major desktop let you just put icons on your desktop the way classic Windows does?

    • TonyStr 3 minutes ago
      Could be because this promotes a bad UX? In GNOME, you have a dock for your most used applications, which can be launched or navigated to with Super+1/2/3.., there is the apps menu accessible with Super or by clicking the top bar, where you can organize apps as well as search for them. Desktop icons are distracting, and requires you to remove windows obstructing them to access the icons. If every DE just mimicked windows, we wouldn't ever be able to move forward. Though KDE is there for you if you prefer the windows way.
  • Panzerschrek 40 minutes ago
    No, thanks, I require no modernization. I just need stable, but customizable UI, so that I can customize it once and use it my entire life without needing to adopt to new stuff constantly.
  • wopwops 1 hour ago
    Please give me the option to not use the, "Innovations."
    • pizzaiolo 48 minutes ago
      The was by far the most common type of comment I saw on this topic on Reddit. Do people think they'll be held at gunpoint?
      • someonebaggy 37 minutes ago
        No, but they think it'll be standard on all major distros and alternatives will be abandoned, and there's precedent for this (systemd, gnome 3).
      • cindyllm 44 minutes ago
        [dead]
    • SA9G 1 hour ago
      I remember Windows trying to look like my smartphone screen a few years back... that was when I switched to Ubuntu!
      • someonebaggy 36 minutes ago
        By a few years, you mean more than ten. Halfway between now and windows XP.
  • dmitrygr 1 hour ago

      > He thought that it would be possible to do the things he was demonstrating with Wayland as it is today.
    
    Yeah, with that AND The cooperation and rewrite of every app to actually support usecases like "if dragged to side of screen, get smaller and smaller eventually becoming a widget"
  • jauntywundrkind 19 minutes ago
    Don't touch my stuff objections run strong. Three things: it's a chicken & egg problem, agents help fix this, and third the 'some assembly required' issue.

    Some backdrop, a thesis: tech used to be exciting because there was apparent motion, things changing. The dread hadn't set in, and I think that dread set in because tech shifted from close intimiate and touchable technologies we could touch, to far off systems running in some cloud data center/keep. Change was fun when we got to be on for the ride and feel some ownership but change happening to us was annoying.

    So lately, it's hard for anyone to know what their preferences really are. We aren't trying a ton of human empowering things. The organizational systems Scott talks about here? We see some absolutely ferverously dedicated people enjoying Niri, enjoying new infinite space tiling systems. That's a rare example though! A couple people stumble their way into it. There's not that WinCustomize era where it's apparent people are active and busy and rebuilding, remixing their world on and on. People aren't in a receiving trying mode, because in part there's not a ton to try, and because there's no scene, people aren't kicking out new things either. The social poverty of the area & lack of things to look forward to mean people aren't looking, and people trying stuff are lucky to get traction, even when it's good.

    This admits some of the "don't touch my stuff." Because we haven't been seeing as much upside to change. But also: it's pathetic! These peole have had their spirits crushed and have no peers out there who are having fun, so they can just wallow in their grumpiness. And we need to kind of ignore these users, because they don't know: they think they want not even faster horses but merely horses that stop breaking down or which start only turning left unless you pay premium. Let these naysayers and grumps alone. But more than anything: show the people you can reach good stuff! Activate interests! Try to restore a sense of motion & exciting change! Create more powerful, richer, more beautiful systems!

    Agents help though. Change sucks when it gets in the way. The downsides though are lower than ever, if you have systems flexible enough to let agents work them. If something changes in a way you don't like, an agent may well be able to make quick work of it! Tell it, and it'll go fix it.

    Last: the granularity of build it yourself systems is not great. Downloading Sway, a desktop shell atop it,then a launcher, then a host of other small utilities to cobble together is a lot of decision making to do, and most of these options for these roles have lots of competitors with little interoperability. The tools that makeup the desktop stand alone, small pieces, and it's up to you to pick each one and loosely couple it, with it's bespoke means of doing so. These patterns of assembly suck. There's significant money heading towards a new omakase system, and I don't think it's necessarily the authoritarianism/fascism per se, the desperation for authority to make sense of the world, but given how scattered the pieces are, I have some sympathy for why they want someone to say they've built the beautiful well hewn omakase thing. And that your agent can customize it.

    One of my favorite examples for a system that does compose nicely is astronvim on neovim. It takes some well known very great core plugins for nvim, and builds a little zellij like mini-framework to nvim's tmux atop that: a visual leader key, with menu system builtin. It creates a framework for more to plug into. And then the community has lots and lots of plugins or packs of plugins that it takes from upstream plugins everywhere, and it packages them for astronvim. Hundreds if not thousands of plugins. Most require not that much extra to hook in nicely in to the framework, to make them more apparent, visual, seen in the broader system. The system composes capabilities into itself nicely, integrates. Where-as when you get a regular nvim plugin, it usually can assume either nothing or way too much about what kind of nvim it runs on. It has to define it's own world. I think astronvim is an incredible model for making common layers for assembly, and it's packs show something inbetween a single plugin and an app: it's a unit of software that aggregates a couple other modules, yet is shy of being a full app. That kind of composability of experiences is unique and special: not having to assemble every piece ourselves, and yet not having an entire massive system dropped on us. Figuring out how to deliver better units of capabilities, composable subsystems, is really missing on the desktop and is much needed.