Top
Best
New

Posted by signa11 16 hours ago

Ideas on modernizing the open-source desktop(lwn.net)
350 points | 435 commentspage 9
crabbone 4 hours ago|
First, a personal note on Finder. In time of OS8, Finder had a unique feature: when displaying the file tree, it could expand multiple branches at the same time. This allowed drag-and-drop copying of files in the same browser window! This was a feature I really missed when moving to MS Windows right around OS10 (X) release... Yeah, Apple used to have attention to detail, but it disappeared much earlier than the first iPhone hit the market...

> NEPOMUK

Oh, how I hated that thing... At the time it was added to Fedora, the support forums were blowing up with complaints and requests to remove it. I've never seen it do anything useful, but it was always at the top of the top (pun intended), if it was still present in the system. Whatever its use case or design goals were, it just was not a good quality program at all. It's a shame that it might have been an interesting direction, if it tanked almost exclusively due to poor execution.

Finally, on the new directions in the desktop features: some do look interesting, like the Canvas thing. On the other hand, it feels like it might be technologically challenging as the concept itself is too open-ended and doesn't have a small and easy to understand model of operation behind it. Well, time will tell. Maybe it will materialize in some way.

I also think it's unfair to say that nothing conceptually new has happened on desktop for 40 years. Tiling managers are definitely deserving of such a description.

I also think that if we are talking about "specializing" on wide screen, then, maybe even more prescient is the problem of multiple screens. A manager that is aware of multiple screens beyond merely duplicating or gluing them together would be a big improvement. I.e. if screens were assigned roles based on expected functionality / received their own character based on what the screen is assigned to display, perhaps, each having their own cursor, or windows stack that don't overlap with the other screen etc.

phendrenad2 4 hours ago||
While I appreciate that there might be some need for Linux to improve its UI a bit, these assertions amount to a basket of vague gripes and grumbles to me. No, UI/UX is not forefront of the Linux experience. No, that's not a problem, because it's quite good enough for most people.
wosined 10 hours ago||
I think Linux desktop should stay stable and not experiment much. If special users want special desktops, they can do it themselves. Look at where the constant updates and changes have brought Microsoft and Apple, was there an improvement? If you want something new, then make your distro.
holowoodman 5 hours ago||
Imho the fundamental problem is not a problem of the "Desktop" but of the whole application ecosystem.

I want to get some work done: Just as an example, this work consists of reading some email like "pls review this document, and create a presentation in response". I'll follow up the email with an answer and some clarifying questions. Then I'll read the document, making some notes. I'll read some additional documents, google stuff, look up some numbers, do some calculations, make more notes. Then I'll start drafting the presentation, refining it until ready, reading my notes, firing off another email with a few more questions. Then I'll send over the first version of the presentation.

Now all of those things live in different applications. All of those applications might be local file based or web-based. Some can do both. So I could try putting all the relevant files in a folder, holding all the files I need for this task. But wait, when I save an email as a file there, I cannot properly respond to it anymore. It is just a copy of the original email. Same for all the web-based stuff that even allows local copies. If I use hyperlinks, in the URL-as-a-unique-resource sense that was originally intended, I could link it all together in my notes. But many, if not all, modern web applications do not work that way, I cannot really link anything. And even if, most URLs are not stable. If I google something, I'll find a page I can bookmark or copy the URL of, but that page will change. To save the current state of that URL, I'll have to jump through a lot of hoops to maybe get a PDF printout file or something. And changing any document usually overwrites the previous version, so I'll have to do *-copy17.odt or deal with 20 different broken internal mechanisms of "version tracking". I can check everything into git, but then all the applications will have no clue how to deal with it, no proper diff, nothing.

One thing that I actually want was implemented in the first version of PalmOS as a hack: every application could contain links to every other application's content. You could link from a calendar entry to a contact who you wanted to visit. You could link from a contact to a note, detailing your last talk with each other. You could link the note to the last offer you sent the customer. etc. Of course this was rudimentary, but it was a start, which unfortunately died with later versions of PalmOS where those hacks were no longer possible. So for my original example, I want the original email to be annotated with a link to all the files I've created in response, all the web searches I did, etc.

Another thing is the notion of version control, extended to all desktop and web applications. I want to know what I did, when I did it, why I did it, and what related changes go together. I want to see the same thing for all my colleagues. I don't want any "this file conflicts with what your colleague did, which should I overwrite?". I want proper merges. In each application.

The only thing that even comes close to this nowadays is something like Emacs Org-Mode. If you stay strictly in Emacs.

Or is it just that I didn't try enough stuff and there is a real solution?

tristor 7 hours ago||
Something I am not seeing much discussion about in the article or in the rest of the comments: UX is more than UI. You can have very stable UI and still have significant, targeted UX improvements needed.

Something I find sorely lacking in most modern desktop systems, Linux included, is the performance I expect given the power of the hardware available. Barring that performance increase, better perceived performance through subtle UI changes that elide over waiting moments is nearly as good.

Linux leaves a lot to be desired here. It's easy to bash Windows or Mac, but the performance issues on these systems are often difficult to perceive during normal usage while in Linux it is front and center and harder to understand because Linux is a box of parts.

moron4hire 7 hours ago||
There are so many ways in which the desktop experience could be improved, exactly because, as Jensen pointed out, it has basically stagnated since the 90s.

You could basically look at all the ways that UX has advanced on the Web and almost generate a very long TODO list of things to improve on the desktop. I know there are a lot of people here, especially of the Linux using variety, who revile Web UX, but the things most people complain about (privacy concerns, bloat, document vs app platform) happened specifically because desktop UX stopped innovating 30 years ago.

Some personal peeves, all from having to reimplement these things in projects over the years, which is now many projects because I'm now old, so having to do the same things over and over again is getting annoying:

Multiple Document Interfaces used to have built-in support in GUI toolkits. Pro-oriented editing environments like Visual Studio not-Code and Photoshop gave you the ability to have multiple documents open and operate on then on a single application context. While this is a bespoke implementation in those programs now, that's largely because the UI toolkits didn't keep up with newer features like docking, tabbing, etc. Browsers themselves also had to implement bespoke UI for tabbed documents, again for the same reasons. It's shocking how bad this is in VSCode, where certain kinds of sub-Windows can only be put in certain places, but again, that's because they had to do it from scratch. Now, there is no MDI support in the browser at all, you're left implementing it from scratch, and modern GUI toolkits seem to all just try to ape HTML/CSS (not that I think that's a completely terrible approach, but only because The Desktop Toolkit is Stagnant).

With modern large screens, I find myself at a loss for how to use all the screen real estate effectively. Not that I lack for need, but because I can't seem to get everything I want to see into a comfortable position without sacrificing some other thing. Yet, at the same time, I can't seem to fit much in my own application window. This one is more on me for not having too great of design skills, but I think there are some fundamentally difficult issues to solve here since nobody is going to have a 40” laptop. Fundamentally, the issue is one of being too rigidly reliant on the Application Developer to implement such things as MDI and tool layout. We kind of figured that out with responsive designs break-pointing when going to truly small screens on phones, but I think this could be done more automatically if the GUI toolkit was better.

Smartphones, laptops, and desktops aren't the only 3 workspace sizes. There's also the completely borderless, 3D space of the VR home environment. After experiencing Windows Holographic for the first time and experimenting with using a Hololens as a primary compute device (and then drinking away the massive headache), I found a lot of interesting glimmers of how spatial computing could do a lot for people. I really enjoyed having 2D documents mounted on the wall behind my desk, not needing a screen to take up space on my desk. Having a music player app pinned on a specific spot like a HiFi stereo stack just felt so much more comfortable than wearing headphones, and it was so much easier to turn my body to interact with the stereo rather than sift through my window stack to find the music app. Keeping certain app widgets in certain locations around my house (notes on my refrigerator door, Email away from coding) felt very natural and like it was helping me re-establish balance in my work. But it was all for naught as MS killed Windows Holographic and all the other devices are just pushing virtual 2D screens on which unmodified WIMP interface desktop or mobile apps can run.

Handling the myriad of document types bespoke for every application is extremely bothersome. Having only the file extension for any hint at the content type is extremely unreliable and incomplete (there are thousands of known content types not just image/png, image/jpeg, text/plain, text/markdown, and application/json). Plus, the extension only tells you the container format, the data itself could be in wildly different schemas/encodings, especially when dealing with .json or any audio/video files. Doing deep content inspection is slow and also unreliable because so many JSON-based formats don't reliably implement JSON Schema. This could be solved if we got rid of file extensions and had the full content type string embedded with the file at the File System level. A file's name should be a description of the contained content, not overloaded to store data encoding information.

After writing all of this, it started to dawn on me that these are all the same problem of wanting to composite application together from smaller bits in a unified workspace that I the User control, not dependant on me the Application Developer to provide the support for it. Because, at the application layer, I can't. I can't unify whatever features I'm building with features other app devs have built. We need this to be at the DE level or there isn't a standard to which app devs can work.

Even my complaint about content types fits into this because most of the time I just need to display and play back a file in whatever the one standard way there is to display such a thing. I'd much rather the UI toolkit provided better media players with an OS that went beyond the application window for giving people the ability to composite functionality together. With Adobe Acrobat installed, I as a User should now be able to use PDFs anywhere else I want to view Text or Markdown or Word documents and I as an Application Developer should not have to think about what document formats my users might throw into my application.

The VR home environment makes this issue a lot easier to see, as the Window does not make sense there, but I think this generalizes to 2D, screen-bordered scenarios. Most of the need for better application composition is around not having to rely on every Application Developer to implement everything themselves. Because, when you leave it to App Devs, you get abominations like Snapchat and Instagram.

Rygian 1 hour ago|
> wanting to composite application together from smaller bits in a unified workspace that I the User control

This bit reminds me of TRON/BTRON, a Japanese OS where a core principle was that users interacted with documents made of fragments which were documents themselves.

"The file and the application were implementation details […] the user-visible primitive on a desktop computer shouldn't be a file or the application, but the typed document part."

https://www.xda-developers.com/japan-tried-build-operating-s...

spiderfarmer 9 hours ago||
Ironically, the LWN website's look and feel (and the reasoning behind it) perfectly illustrates why this project is doomed.
Joel_Mckay 11 hours ago||
Copy Microsoft backward-compatibility focus, Apples aesthetic choices, and media/game-engine API definitions.

Open desktops are like an architect that keeps moving the bathroom doors in a building under perpetual construction. The ecosystem naturally destroys itself every major release cycle, work put into quality of life improvements is lost, and code smell is so terrible people just abandon the projects after it becomes burdensome.

The mistake people make is trying to reason with people about which groups breaking changes take priority. This is why Cinnamon continues to run desktops on systems with broken GPU drivers, and installed as a fail-back GUI plan when Wayland glitches up.

People need to stop telling new users to follow a 15 step CLI tutorial to bring up a broken distribution Desktop. =3

justonenote 2 hours ago||
I clicked into this hoping this would be about moving towards proper app isolation rather than make things look pretty stuff (bit of oversimplification).

I mean especially in the age of AI agents, two things are true, first, customizing your desktop, tiling manager, monitoring widgets, shortcut keys, hooking up hand gestures, eye tracking, foot pedals, whatever, to workflows is now so much easier and accessible to completely non-technical users, especially in open source desktop environments.

This is undoubtedly a good thing and many of the responses here are along the lines of 'I like to customize it like this' but I'd bet a lot here also know completely non-technical users who have setup their own weird ass workflows using excel and autohotkey or whatever just to get shit done.

The second thing that is true, is that increasingly we are handing control of apps to AI agents, or even just whole desktops, which is just greaaat (tm). but also incredibly risky since our desktop environments are built on 1970ish era unix multi-user mainframe system design, where one app you install has access to every single other app in the same user space, which is basically root, since you hold everything in one user login anyway. So all it takes is one supply chain attack, one malicious package take over, one zero-day prompt injection against a popular app in a certain segment and then your entire user profile and all your data is exfiltrated.

There are people working on this, Flatpack, Wayland, Fedora. But I think it needs a lot more attention. Android has got this model right for the most part despite the friction it sometimes introduces.

Also I would say this is not just about ai agents thing, but I don't want to install a desktop meme generator program (or pick your thing) and then have it be able to monitor the entire rest of my user profile. This problem existed before AI agents, its just maybe more relevant now.

dmitrygr 14 hours 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"
More comments...