1. 40
  1.  

  2. 32

    Here are two references with some more concrete ideas / actionable criticisms:

    My personal dream: A filesystem based on tags which lets me organize (and reorganize) them into hierarchies using a logic programming language like Datalog. I’m working on a small proof-of-concept to curate my personal music library, but the idea really needs system-level support to be broadly useful.

    1. 18

      That whole idea of tagged file systems is pretty old. Unfortunately it never works well because the burden is on the user to actually tag everything. The biggest challenge would be to have intelligent enough automatic tagging. And I think we’re getting there. If we look how both Apple and Microsoft (and also Canonical with Ubuntu) both show clear shifts towards merging desktop and mobile UX, I guess, the paradigm OP wants isn’t so far away anymore.

      1. 7

        The UI/UX of the current mobile devices OSes makes it nearly impossible to find anything on the device. I agree with the article philosophically. Current mobile OSes, however, are polar opposites of any organization, even less than desktop ones. For now I’m sticking with the desktop metaphor over a burning trash can metaphor. ;)

        1. 5

          t never works well because the burden is on the user to actually tag everything

          I think the right approach is to build a traditional hierarchy on top of the system-level tagging system. I already manually tag every file with a chain of tags like /home/ben/notes/topic/subtopic/author1990_interesting-idea.md, which the file system facilitates with a hierarchical file explorer UI. What I can’t do is easily tell the file system that all the files in /home/ben/companyname/code/interestingideaimplementation/src/ are related to the text files that I’ve used to take notes, unless I explicitly move the files into that folder, away from their original context.

          The scalability problem comes from the fact that I want every file tagged with haskell to also be tagged functional-programming. Hierarchies give us an automatic way of managing this complexity for small, clearly defined sets of categories, but don’t really scale well when the lines between topics are blurred, or when we want to shift perspectives. This is why I’d like to be able specify a set of datalog rules to be used by the system to auto-tag my files.

          1. 4

            What about:

             mv $file $home/data/$(sha256sum $file)
            

            and then symlinking with each tag you care about?

            It seems like it more or less gets you what you want. There could be some utilities on top of that to improve the workflow, but I think the idea is more or less sound.

            1. 1

              There could be some utilities on top of that to improve the workflow

              There must be some projects working on this already. Anyone know of one?

              1. 1

                Nope. I don’t really have a need for this, so I haven’t looked.

          2. 4

            Didn’t we try this with extended attributes?

            There must be some reason why EA on HPFS never could catch on

            1. 1

              Isn’t xattr pretty much the only interface to those?

          3. 8

            Nayuki, “Designing Better File Organization around Tags, not Hierarchies”

            Oh wow, this is really good.

            1. 12

              Meh. My blog has twenty years worth of entries, and each entry has a collection of tags [1]. After twenty years of blogging, I have easily twice the number of tags as I do entries, and I still have trouble finding entries I know about with the tags [2]. I still tag though, because it’s habit at this point. But I find that it’s hard for me to know what tags I might use to search in the future. Sometimes I get it right, sometimes not, and it feels about it’s about a 40/60 split right now.

              [1] There is no real visible representation of this if you visit the blog—they exist, and I can search using some back end tools I have, but that’s it.

              [2] I knew I used the phrase with “equus” on my blog [3], but I could not find it using the tags, or searching the body of each post. Turns out I used it for the title. It took me longer than you would expect for me to find that.

              [3] The phrase was “belaboring the inanimate equus pleonastically” if you are curious, and the post had nothing to do with horses.

              1. 10

                It is! And it reminds me a lot of the Apple Newton’s “soup” storage system. IIRC NewtonOS had no filesystem at all, just soups. The tagging, schemas, transparent data location on storage devices were all there (again IIRC.) We had a thread or two about soups here last year.

                The thing that’s missing in Nayuki’s proposal is mutable data support. I don’t think you can just state that modifying a file makes it a different file, and leave it at that. It’s not how people think. If I’m writing a story, that document is something that’s going to change over time, at least until I finish it. When I think of “the story” I think of the current version.

                To do this in NayukiFS, when my editor saves changes it would need to find the tags associated with the old draft file, delete them, and add equivalent tags pointing to the new file. But in the general case it might not know whether the old tags apply — maybe there are tags for “stuff I worked on in April 2021”, or “documents under 2000 words”, that no longer apply. In other words, some tags apply to the content, and others apply to the higher level entity the content represents. That “higher level entity” seems like it deserves its own entity in the FS. (Is it just a meta-tag?)

                1. 5

                  I’m going to need to read the paper and i feel like I’m overstepping since i haven’t done that yet, but arranging for identifiers that might in some case not be exposed by default to the user might be useful. If you tracked the ancestry of a given file for example you could arrange to have a TimeMachine-like construct for all of your things, and cleaning up space to a longer term archival could be expressed as “gimme all the things that are older than X that aren’t the latest version and move them over there”, no?

                  1. 4

                    How would you compare this with WinFS (filesystem as RDMBS?)

                    1. 3

                      I don’t know anything about WinFS, though it sounds interesting…

                2. 6

                  David Gelernter’s Lifestreams concept is relevant too, though it has a sad history — Gelernter tried to base a startup on it, which didn’t succeed, and then when Apple built on a few of the ideas in Spotlight (which also built on BeOS, since Dominic Giampolo worked on both) the zombie startup went patent-troll on them. More recently Gelernter seems to have become a full-on alt-right bozo who rejects Darwinian evolution…

                3. 29

                  I’d be happy with “stop fucking up the computer desktop as a concept”.

                  Experimentation is a fine thing, but we’re losing ground so rapidly that concepts like “everything will be a stream of fragments and we’ll dispense with all these crufty metaphors” often just serve to mask the fact that user access to things like hierarchical filesystems is one of the only bulwarks remaining against 100% of your stuff living in a database owned by terrible people.

                  So much of this class of imagined sophistication is really a proxy for unworkable complexity - or, worse, for capabilities that will only be developed in the current dispensation by enmeshing computation and by extension all of human experience even further in the megacorp ecosystem.

                  1. 2

                    I’m starting to think (partially due to my own experience with various PIMs) that the way most humans conceptualize their personal data shifts faster than any given system can capture. Maybe a hierarchical FS is the best compromise we can make between a) corresponding to one’s conceptualization at any given moment and b) being manageable when one revisits data after several years.

                  2. 22

                    I am unconvinced by this. The core problem:

                    But all of this behavior is, still, grafted onto that desktop and filing cabinet. The cognitive load produced by modern internet use on top of a 1980s metaphor is high: I have a Desktop scattered with (currently) 132 icons. I have a Downloads folder with (currently) several hundred files, most of which I could safely delete, but who has the time to decide? Ditto the “open documents” in Safari, Preview, Pages, Numbers, TextMate, etc.

                    Is essentially just that have lots of anything will be hard to manage. If you’re going to clutter up your computer with lots of stuff then it’ll be cluttered no matter what.

                    That some analogies from desktops and filling cabinets are used seems like a complete red herring. It’s like calling the “save” functions outdated because the icon is a floppy disk. Files and folders on computers are a hierarchical structure, which files and folders that you put in your cabinet aren’t, so it’s only a “weak” analogy and spending far too many paragraphs criticising the analogy is a bit silly IMO.

                    That file dialog just seems like a minor UX error where the button is mislabelled. It’s not good, but also not a reason to reinvent all of file storage.

                    At any rate, I, and I think a lot of people, want a hierarchical structure instead of this mishy-mushy list of everything where you may or may not be able to find what you’re looking for. Pictures that you took from your holiday in Iceland in 2006? Put it in photos/2006-iceland. Your code project? Obviously you need a hierarchical structure for that. Files relating to the book you’re writing? Maybe all put them together, etc.

                    In short, it just works well. Is it perfect or suitable for everything? Obviously not, but nothing is. His “fragments” that “includes documents and notes the user creates, data the user copies/pastes, but also things like tabs opened in the browser” will lead to more data making stuff even harder to find. Things like “Imagine searching for ‘cat’ and one top result is the photo of a cat that I copied and pasted between iMessage chats last week “ sounds nice but in reality you’re going to find a crapton of junk that you don’t care about.

                    This is already a problem; have you ever tried searching for a page you know you opened in Firefox last month? Well, good luck with that. I actually have a little script to search the history SQLite database directly (better UI on Firefox’s part could definitely improve things, but it will still be hard in some cases).

                    “Search” is a non-solution. Or rather, it’s not a full solution. There’s a reason book stores and libraries world-wide still categorize stuff, or why there are tons of “Awesome X”-lists. And sure, search is helpful, but it’s not a substitute to organisation.

                    Sometimes, modeling human memory, things should get deleted permanently. Content the user has a hand in directly creating probably shouldn’t [..] But downloaded files that have never been accessed, or that haven’t been saved more formally somewhere.

                    Computers “managing” my files automatically pisses me off to no end. I downloaded some music to my iPhone so I have something to listen to when I don’t have internet; just a few albums. And then I wanted to listen to them in a flight and iOS had “cleverly” decided I hadn’t used these files in a while and uploaded them to iCloud instead of just keeping them on my phone. Listen up you fucking twat, I put them on my phone because I wanted them on my fucking phone and I don’t need you to second-guess me and then leave me on my plane without music.

                    The computer doesn’t model “human memory” and it doesn’t “understand” anything. It’s just a series of assumptions which are often wrong. Just because a file is marked as “Downloaded” doesn’t mean it’s not important. Sure, maybe it’s some unimportant PDF you download you never bothered to read, or maybe it’s your mortgage contract that you downloaded and never bothered to read. If I put it somewhere, then it should stay there. If you have a lot of crap, then don’t many so much crap.

                    I’m not really “good” with computers, as in that I’m better at it than some average person. I struggly managing more than 3 windows (no really, I rarely have more than 2 or 3 windows open, and rarely more than 10 browser tabs too). I have little patience for a lot of these things as well, and if something doesn’t work I lose patience quickly. Mostly, I just want shit to work and a big part of that is being predictable and somewhat easy to understand. Complicated schemas with fragments and whatnot are not that.

                    1. 2

                      Agreed, I have almost none of the problems the author describes with his desktop, which mostly seem to be based on bad habits (never closing or deleting anything).

                      I actually have a theory about this. It seems there are two UX paradigms, one that attempts to abstract the user far enough away from the inner workings of the machine to make it seem familiar and intuitive, and another that tries to present things in such a way that the user automatically learns the inner workings of the machine over time as they use the system.

                      The first one is way more prevalent and stems from the fact that people are impatient and desire instant gratification. This ‘shield the user from complexity’ paradigm always backfires for long term users though. I would recommend it for a UI in a kiosk for buying something where a user might use it once and then never again, but for a device the user owns it is terrible. It results in bad habits and in users that are helpless slaves to the whims of software developers. The usage habits suggested in the article make me want to suggest another solution to the author: Stop using your mobile devices as much as possible. The bad usage habits come from the walled garden nature of those devices, coupled with their inherent hardware limitations.

                      We should be advocating for the second paradigm for desktop and mobile personal computing, software that educates the user and encourages a better understanding of both the software architecture and the hardware. Software that is customisable and configurable. Software that treats the user like the boss rather than an annoying child.

                      I know this is a very unpopular position :-p

                      1. 3

                        I do think that some concepts probably should be abstracted to make it easier, a simple example is the abstraction that allows you to double-click any file and it will just open in the right application automagically. It’s a kind of abstraction that many people don’t even think of because it mostly “just works” and is really useful.

                        I don’t think that “traditional” files are even all that close to the “inner workings” of the system, or that they require users to understand all that much. It requires less understanding. I sometimes have problems finding files on both iOS and Android and it uses this weird file manager thing that groups stuff in ways I don’t really understand.

                        Anyone understands files and folders; it’s perhaps one of the few things almost everyone understands. Fifteen years ago I did some computer classes for the elderly; most people had no experience using computers. No one had trouble understanding this, even when they had problems with some other parts fairly basic stuff like multiple windows (e.g. they would “lose” a window if some other window came in front of it, or if it was minimized).

                        Unless we come up with some Star Trek-level AI that we can tell “Computer, find all documents I need for my tax filling” or “Computer, find all my holiday pictures from 2016” we will want to be able to organise things in ways that’s easy to understand for us. Not all documents are relevant for your taxes, and not all pictures from 2016 are from your holiday. You could use some “tag manager” or “collection manager” or whatnot, but it’s just the same principle as a filesystem under a different name.

                        A lot of the proposed features in this article aren’t necessarily bad ideas as such. The ability to search for “Hello in any spreadsheet” or “any picture from 2016 with a landscape” would be pretty useful, no? Some systems like this already exist. The problem is that all of this is proposed as the primary method to access your files, replacing the hierarchical filesystem, and that would just make things a lot harder for most users of all skill levels and understanding.

                      2. 2

                        This is already a problem; have you ever tried searching for a page you know you opened in Firefox last month?

                        For a quick search I will type ‘^’ into the address bar and then type to search history. If I want to see dates of visits etc. then I’ll open the history dialog and use its search box. It’s true this could be more powerful, support date ranges in searches, etc. but there are Firefox extensions that add this kind of functionality.

                        1. 1

                          This is already a problem; have you ever tried searching for a page you know you opened in Firefox last month? Well, good luck with that. I actually have a little script to search the history SQLite database directly (better UI on Firefox’s part could definitely improve things, but it will still be hard in some cases).

                          Wait this sounds useful as hell tell me more about this

                          1. 3

                            https://github.com/arp242/ff-hist

                            It’s not super impressive, just a quick shell script to read from the url, title, or both with a syntax that’s a bit quicker/easier to type than SQL.

                        2. 9

                          I wish there were a bio … I don’t know who Ben Zotto is, or what his UX credentials are. Not that one needs formal credentials, but this reads like a layperson’s complaint (anyone remember the annoying Andy Rooney from “60 Minutes?) more than a solid critique.

                          There is a very long history of critiques of and experiments on the desktop UI, none of which were mentioned here. And there are well known pre-desktop approaches — like Bush’s Memex and Engelbart’s NLS — that have unused good ideas. Also unmentioned.

                          I spent three years working on one possible way forward — Apple’s OpenDoc, which also got support from IBM, WordPerfect, Novell and other ‘90s biggies. It addressed exactly the “fragments” concept from this article, allowing data components to be managed and edited independently without having to be an entire document. But it was fatally flawed architecturally, required a lot of work by app developers, and was quickly killed off in the Jobs era.

                          That’s the biggest problem with rethinking the desktop: the real innovations won’t work with existing apps, so they have terrible chicken/egg adoption problems; and the small innovations, of which there have been a lot, including Spotlight, aren’t enough to make a real difference.

                          “Great art won’t match your furniture” —Picasso (i think)

                          1. 3

                            That’s the biggest problem with rethinking the desktop: the real innovations won’t work with existing apps, so they have terrible chicken/egg adoption problems; and the small innovations, of which there have been a lot, including Spotlight, aren’t enough to make a real difference.

                            I was thinking this as I read the article. If you were going to build a new OS to more tightly integrate with the internet it might fail because building a browser is extremely difficult. Ironic really.

                          2. 8

                            Giving me a signup page.

                            1. 6

                              I wonder if this means that we also need a Xerox PARC for our times – and if our current operating systems can be rescued; the desktop revolution required new ones.

                              1. 11

                                A lot can be achieved without throwing the whole OS out. The author notes how iOS largely discards the desktop metaphor, and I would like to add that this was achieved despite it being a fork of OSX.

                                Personally though, I think the largest obstacle in the way of innovation is how locked-down our operating systems and the devices they run on are. If you run a proprietary OS, you can’t experiment with the environment at all, and this is exacerbated on many modern devices, which are designed to run one (proprietary) OS, and actively try to hinder the use of any other OS. The only people who get to rethink the user environment are designers at Apple/Microsoft/Google, and even they only get to do so within the limits set by their company.

                                Open source OSs have given us outsized innovation relative to their development resources and popularity in this regard, and it’s a shame that they remain obscure to most.

                                1. 16

                                  I’ve seen very little UX innovation from open source OSs. Maybe more of it exists but isn’t widely publicized, but in that case why not? Wouldn’t it attract users?

                                  Mostly what I’ve seen in open source Unix desktops is (in the old days) terrible bizarro-world UIs like Motif; then clunky copies of Windows or Mac UIs; well-done copies of Windows or Mac UIs; and some stuff that’s innovative but in minor ways. Again, this is my viewpoint, as a Mac user who peeks at Linux sometimes. Prove me wrong!

                                  Back in the early ‘00s Nautilus looked like it was going to be innovative, then it pretty much died and most of the team came to Apple and built Safari instead (and later contributed to iOS.)

                                  Creating great UX requires eating your dog food, and so much of the Linux world seems to be of the opinion that the terminal and CLI are the pinnacle of UX, so we get advancements like full-color ANSI escape sequences and support for mouse clicks in terminals. I have no doubt this makes CLIs much better, but where does that leave the UX that non-geeks use? A CLI mindset won’t lead to good GUI, any more than a novelist can pick up a brush and make a great painting.

                                  (Updated to add: I wonder if some of the Unix philosophy and principles aren’t contrary to good end-user UX. “Everything is a file” means everything has the limits of files as bags-of-bits. The emphasis on human readable file formats (that it takes a geek to understand) means less interest in non-geek ways to work with that data. And “small pieces loosely joined” results in big tool shelves that are very capable but come with a steep learning curve. Also, in a rich user interface, my experience is that connections between components are more complex to do, compared to streams of text.)

                                  1. 8

                                    Another point in your favour: KDE feels like a slavish clone of whatever Microsoft was doing then. Perhaps not in your favour: Emacs is a “different” UI that people actually use, but the foundation for Emacs was laid by Multics Emacs being in Lisp instead of line noise^W^WTECO, and Lucid doing most of the work bringing it kicking and screaming into the GUI.

                                    I really think the Linux and perhaps nerd fixation on the VT100 and VT100 accessories is actively damage. We certainly didn’t perfect UIs in 1977. CLIs deserve better, and maybe when we finally escape the character cell ghetto, we can actually move forward again.

                                    1. 8

                                      I think you’re conflating innovative with polished, and with (“non-geek”) user friendly. Something made by a handful of volunteers is never going to be as polished as what a company with a budget in the billions churns out, and something made by terminal weirdos for terminal weirdos is never going to be user friendly to people who aren’t terminal weirdos.

                                      One project I would point to as innovative, dwm, directly addresses some of the things the author brings up in that blog post. It has a concept of tags, where every window is assigned a number of tags, and the user can select a number of tags to be active. This results in all windows with one of the selected tags appearing on the screen. This directly maps to the concept of “contexts” in the blog post, and takes it a step further by allowing contexts to be combined at will. It also allows the desktop to be decluttered at a keystroke, yet still have all the prior state immediately accessible when needed. dwm is definitely not polished, and it sets an intentional barrier to entry by requiring users to edit a C header and compile it, but it’s hard to argue that it isn’t innovative.

                                      I don’t think it’s surprising to note that Linux people build Linux user environments, or that Mac people don’t like those Linux environments. What I would love to see though, would be the environments Mac people would build if given the chance.

                                      1. 1

                                        I don’t think it’s surprising to note that Linux people build Linux user environments, or that Mac people don’t like those Linux environments.

                                        Is there a definition of “Linux user environment” and “Mac environment” here that I’m unaware of? When I hear “Linux user environment” I simply think of the userland that sits atop the Linux kernel.

                                        1. 2

                                          I meant it in a broader sense. As I see it, there are certain design ideals and philosophy associated with different operating systems, that are broadly shared by their developers and users. These ideals largely shape the user environments those developers build, and those users use.

                                          1. 3

                                            As I see it, there are certain design ideals and philosophy associated with different operating systems, that are broadly shared by their developers and users.

                                            Does such an ideology or philosophy agree for free operating systems though? Is it defined somewhere and used as a guidepost? Do the users agree to this guidepost?

                                            Just look at the history of Linux and BSD and you’ll find enough hand-wringing about the different cultures in the communities and the users they attract. I just don’t think any operating system, free or not, has consensus around its philosophy. Users use computers for a variety of things, and I think a small minority use an operating system specifically to align with a personal philosophy.

                                      2. 7

                                        I’ve seen very little UX innovation from open source OSs.

                                        This is systemic and not limited to open source OSes. There has not been significant UX innovation among commercial operating systems either. Arguably for good reason: People are mostly satisfied. We’ve gotten so good at UX that we are now going in the other direction; using dark patterns to betray our users to get them to do things they don’t want to do. Most “This UX is bad” posts are picking nits compared to what we had to work with in the 90s.

                                        FWIW, I do think the open source community’s work on tiling window managers are commendable. Stacking managers are partially an artifact of low-resolution displays and early skeuomorphic attempts.

                                        As far as the “CLI mindset” - It’s interesting nobody has taken a step back and considered why the CLI continues to proliferate… and if anything gain momentum in the last 15+ years. There was high hopes in the 90s it would be dead within a decade. Many seem to have fallen victim to the appeal to novelty fallacy, and simply assumed newer = better, not fully comprehending the amount of work that went into making CLIs valuable to their users. You can’t blame the greybeards: The CLI power users these days are Zoomers and younger Millennials zipping around with extravagant dotfiles. And while GUI UX has stagnated, the quality of life on the command line has improved dramatically the last 20 years.

                                        1. 3

                                          There has not been significant UX innovation among commercial operating systems either.

                                          Point taken. In large part the web browser took on the role of an overlay OS with its own apps and UX inside a desktop window, and became the locus of innovation. That UX started as a very simple “click an underlined link to go to another page”, exploded into an anarchy of weird designs, and has stabilized somewhat although it’s still pretty inconsistent.

                                          I wonder if this is the way forward for other new UX paradigms: build on top of the existing desktop, as an overlay with its own world. That’s Urbit’s plan, though of course their weird languages and sharecropping ID system aren’t necessary.

                                        2. 5

                                          (Updated to add: I wonder if some of the Unix philosophy and principles aren’t contrary to good end-user UX. “Everything is a file” means everything has the limits of files as bags-of-bits. The emphasis on human readable file formats (that it takes a geek to understand) means less interest in non-geek ways to work with that data. And “small pieces loosely joined” results in big tool shelves that are very capable but come with a steep learning curve. Also, in a rich user interface, my experience is that connections between components are more complex to do, compared to streams of text.)

                                          New reply for your edit: I’m developing the impression the “original sin” with Unix was an emphasis on passing the buck of complexity to the user. A simple system for the developers is not necessarily a simple system for the users.

                                          1. 3

                                            Not even necessarily the end user — the emphasis on ease of implementation leads to a dearth of useful interfaces for the programmer at the next level of abstraction, forcing them to either reinvent basic things like argument parsing and I/O formats in an ad-hoc fashion, impeding composability and leaking abstractions into the next layer, almost like throwing an exception throughout all layers of the system.

                                            1. 4

                                              This thread is also making me think a lot about this old Gruber post. You can’t just bolt on usability, it needs to be from top to bottom, because the frontend is a Conway’s law manifestation of the backend. Otherwise, you get interfaces that are “what if it was a GTK frontend to ls”.

                                              1. 1

                                                When A.T. needs to configure a printer, it’s going to be connected directly to her computer, not shared over a network.

                                                Ironically, this kind of dates the article now that laptops, wifi printers, tablets, and smartphones are a thing.

                                                Good article aside from that, though.

                                          2. 4

                                            but where does that leave the UX that non-geeks use

                                            I do want to emphasize that there are geeks that enjoy GUI UXes as well. I have a preference for most of my regularly used tools and applications to be GUIs, and I suspect there are others out there as well.

                                            1. 4

                                              I definitely agree the mainstream open source UIs are somewhat not innovative. But there have been many interesting experiments in the last 20 years, tiling window managers being one of the more popular examples. For me, the tragedy is that the “market leading” environments seem to be making decisions which are expressly designed to kill off alternatives and innovation (stuff like the baking of window manager and compositor together in wayland, requiring sysiphean approaches like wlroots; client side decorations)

                                              1. 7

                                                Tiling window managers are almost all the exact opposite of innovative - they’re what people were trying to escape from with Windows 1.x!

                                                1. 2

                                                  This seems… Questionable, I guess, but maybe I’m missing some context since my useful memory of computers starts some time in the late 80s with the Apple II and DOS machines. What widely used interface in that era was a real parallel to something like xmonad?

                                                  1. 2

                                                    There were plenty of “tiling” (really, split-screen) GUIs at the time, and overlapping windows was definitely the main feature of Windows 2.x (not even Windows 1.x had overlapping windows).

                                                    1. 2

                                                      Yeah, fair enough. I guess I think this last 10 or 15 years’ tiling WMs feel pretty qualitatively different to people who grew up on the mainstream computing of late 1980s – early 2000s, but probably much more because of the contrarian model they embrace than because that model’s basic ideas are novel as such. (And of course it’s fair to ask how contrarian that model is now that most computing is done on phones, where there’s scarcely a “windowing” model at all.)

                                                  2. 1

                                                    If you are arguing that there was no innovation from tiling window managers due to “windows 1.0”, then the only polite thing I can say is I fundamentally disagree with you.

                                                    1. 2

                                                      Have you tried Oberon?

                                            2. 2

                                              I think we do, but I’m not sure who would invest in a modern PARC without expecting a quick turn around and a solid product to hock.

                                              1. 8

                                                For better or for worse, many companies shifted R&D to startups, which basically have to create something product-ready with an exit plan funded by VC. I don’t think long-term research can really be done in this model.

                                                Excuse me Mister Culver. I forgot what the peppers represent.

                                                1. 1

                                                  Frankly if we had a good method to fund this sort of thing, we’d have leveraged it to fund the load-bearing OSS that forms our common infrastructure.

                                            3. 6

                                              Forced login = not read.

                                              1. 6

                                                I have 37 windows open, with some 75+ tabs.

                                                This is where I don’t follow. I never have that, how would you even know what’s on all those?I also don’t have tons icons on my desktop nor hundreds of files in my download folder.

                                                I also use the internet a lot, but it doesn’t mean my workspace is a unorganized mess. Isn’t the issue here that the person writing is just a bit messy?

                                                1. 3

                                                  Yeah, right now I’ve got 4 tabs open in Chrome for work, and 9 in Firefox for not-work. I used to be a “open 40 tabs and work my way through” sort of guy, but then I realised I was recklessly wasting resources, both meat and silicon, and that I always ended up just mass-closing them as a declaration of tab-bankruptcy twice a week anyway.

                                                  1. 2

                                                    I use the “Reading List” feature of Safari heavily; I’m sure the other browsers have equivalents. It’s a flat bookmark list that shows up in a sidebar and flags items as “unread” until you click them. Adding the current page to it is super low friction, just one click/tap/keystroke. Sometimes I add a page to it immediately, sometimes I’ll leave it open in a tab for a few days; then I periodically clean up tabs and add their URLs to the reading list.

                                                  2. 2

                                                    I personally have at this very moment… 39 browser windows open with… runs script… 688 total tabs open.

                                                    I use Tree Style Tabs in Firefox to easily view many tabs per window. I also use Window Titler to give each window a label. Each window is focused on a topic or project. I keep the window around indefinitely until the project is completed or the topic is no longer interesting.

                                                    This browser workflow works quite well for me, but I wish I could have something like it more generally across all applications. A virtual desktop per topic doesn’t necessarily seem quite right… I’d like some way to group all the “things” (windows, apps, files, etc) for a topic, and it should be possible for each thing to be a part of multiple topics at the same time.

                                                  3. 5

                                                    Has anyone else seen that first screenshot before?!

                                                    On the one hand, it’s utterly obnoxious behavior from Apple.

                                                    On the other hand, it’s a pretty niche corner-case to justify “throw it all away and start afresh.”

                                                    I’m also now noticing the irony of company A which uses its status to get people to do things (register) commenting on company B which uses its status to get people to do things (delete their own files). The desktop metaphor doesn’t feel like the biggest problem in this picture.

                                                    1. 4

                                                      It’s very easy to fix that — go into System Preferences, click General, and turn on the setting for reopening documents. (I’m not saying this is obvious, or that it’s the right UX, just that a solution exists.)

                                                      1. 2

                                                        Specifically, these are the related settings in System Preference > General (in macOS 10.14):

                                                        • [ ] Ask to keep changes when closing documents
                                                        • [ ] Close windows when quitting an app
                                                          • When selected, open documents and windows will not be restored when you re-open an app.
                                                    2. 5

                                                      :^) Hits bong… “You know what ? We should get rid of the Desktop metaphor. It’s like soo old, bro. We tell somebody to replace it with like deep search tech and then we can get all the cat pictures instantly.” /:^)

                                                      With more seriousness: More complexity always helps. Except if complexity itself is the problem.

                                                      Having a software (i.e. “other people”) trying to determine relevance of data snippets or files in a similar manner as web search engines do as the center piece of a personal device UX would be horrible in my opinion. It would add a huge amount of uncertainty to the user experience. I believe it would ultimately increase the mess beyond the user’s reach.

                                                      How do you search for cats in pictures in such a system ? With image recognition ? Even if this would work reliably how do you isolate the picture you’re looking for if you have 1500 or more pictures of cats. Are you gonna scroll through them every time you need a specific picture ? And all cats that ever have been copied to the clipboard or have been on any webpage you ever visited or instant message you ever received will also be in this list. How does the “deep search tech” determine relevance in all this data ? Even if a lot of metadata is recorded it would be impossibly hard and error prone to determine relevance since only you interacted with all the snippets and almost every case only one single time. Web search engines depend on the input of thousands and millions of users looking at the same stuff to determine relevance.

                                                      By letting data rapidly decay it would be stripped from the a central benefit that a computer can bring. If you want your data to decay based on personal relevance just use your human mind. If you can remember where you stored the picture, it is relevant. Even if you have a search mechanism you need your human memory to remember the data’s existence as well as a useful search term.

                                                      I do support the notion that modern software should be able to store state without troubling the user with dialogs. Though a lot of software does this already (be it in a mobile OS or one of those dreaded Desktop OS :-).

                                                      Oh and there was one sentence that I could not understand at all:

                                                      Maybe today’s desktop makes more sense as a deeply capable air traffic controller librarian character, rather than a main center for documents.

                                                      Can somebody who understands it explain ? Please and thank you.

                                                      1. 4

                                                        I feel there’s a lot of posts like this. Seemingly “thought-provoking” things and “radical” new ideas for design. However, I’ve yet to see anyone actually try to implement any of these ideas. It’s getting kind of tiring seeing stuff like this all the time.

                                                        1. 7

                                                          A large part of that is simply that people can’t, because their OS is proprietary. On the Linux/BSD/9front/etc. side of things, people actually can change how their environment works, and there has been a huge amount of experimentation in desktop environment/window manager design.

                                                          It’s a little funny every time someone from Windows/macOS land has a radical idea, and it turns out someone implemented in 15 years ago on a Linux system.

                                                          1. 8

                                                            It’s a little funny every time someone from Windows/macOS land has a radical idea, and it turns out someone implemented in 15 years ago on a Linux system.

                                                            Sorry, but [citation needed]. In all my years of trying desktop environments in Linux, FreeBSD, and OpenBSD I have yet to see a serious effort at a desktop environment that didn’t basically copy Windows or macOS.

                                                            Sure, there are lots of window managers out there, but that’s not even on the same level as what this OP is talking about. Tiling windows with keyboard shortcuts isn’t particularly innovative. Rotating windows or transparency and other such things are just self-loving “unixporn”: it makes a pretty demo but is functionally inert.

                                                            Free desktop environments lack something key to making anything one might consider novel: tight integration of apps with the environment. No existing desktop envs have it that I have tried, but the closest ones are probably macOS and Windows. And frankly, the Unix philosophy runs counter to this principle, which is probably why it’s never really been on the radar there.

                                                            1. 4

                                                              Sorry, but [citation needed]. In all my years of trying desktop environments in Linux, FreeBSD, and OpenBSD I have yet to see a serious effort at a desktop environment that didn’t basically copy Windows or macOS.

                                                              I didn’t know tiling window managers were “copying Windows or macOS”.

                                                              Ah, reading your post further I see you touch on the subject;

                                                              Tiling windows with keyboard shortcuts isn’t particularly innovative

                                                              This couldn’t be further from the truth. Of course, the keyboard shortcuts aren’t the main appeal. Rather, it’s how the windows are managed. Do you prefer a stack layout like is offered by dwm and XMonad? Perhaps you like manual tiling like i3? Or something like bspwm? The experience varies wildly between these different window managers and I think it’s disingenuous to simply mark them as “not innovative” and “unixporn”. In addition to this, there are plenty of non-tiling window managers that are trying to innovate. Look no further than projects such as 2bwm which are innovating in the floating window manager space as well.

                                                              Free desktop environments lack something key to making anything one might consider novel: tight integration of apps with the environment

                                                              I’m in complete agreement with you here. Unix-like operating systems have long prided themselves on having all its parts interchangable, you be able to swap out your image viewer or file browser or any other part and still have a functional system. However, this “tight integration” you mention does not exist in Windows either (I can’t speak for macOS, as I haven’t used it myself). How does the image viewer cooperate with the file browser? The text editor (if it even has a proper one, notepad doesn’t seem that powerful…)? If you want a clear example of an OS with proper “tight integration”, you should check out Plan 9, or perhaps even Open Genera if you’re feeling extra adventurous.

                                                              1. 4

                                                                Sorry, but [citation needed]. In all my years of trying desktop environments in Linux, FreeBSD, and OpenBSD I have yet to see a serious effort at a desktop environment that didn’t basically copy Windows or macOS.

                                                                I think a lot about Mark Tarver’s essay when I see “yeah, look how innovative Free Software is, it allows for a greater xterm density”.

                                                                1. 3

                                                                  In all my years of trying desktop environments in Linux, FreeBSD, and OpenBSD I have yet to see a serious effort at a desktop environment that didn’t basically copy Windows or macOS.

                                                                  Of course there are, but you have to do some effort at trying to find them, because the mainstream tries to cater to the lowest common denominator. Have you tried something like the ACME editor, which has a very heavy focus on the mouse and on using any text as active commands? Or something like Vimperator or Conkeror where everything is fully keyboard-driven with contextual popover tags that allow you to quickly jump to any link? Hell, even Emacs is sufficiently different (even though it’s old) with its hyper-focus on scriptability.

                                                                  Now these are all separate applications without an overarching design goal, but that’s the nature of open source I guess - everybody is doing their own thing. Coming up with a full OS that implements these paradigms across multiple applications is such a monumental amount of work that not a single person could do it. And for a company to invest in a completely new paradigm is quite a gamble, especially because what we currently have sells well enough.

                                                                  1. 1

                                                                    Hell, even Emacs is sufficiently different (even though it’s old) with its hyper-focus on scriptability.

                                                                    It’s not even the hyperfocus on scriptability. For me, the amazing thing about Emacs is that it’s a fully integrated application environment in a way that graphical desktop environments, even highly polished proprietary ones, can only dream of. Every application for Emacs (like eww, elpher, Gnus, mu4e) inherit all the functionality of core Emacs, and all the ways that core has been extended (e.g. selectrum), and is practically always consistent between applications. That’s what makes me want to do everything possible within Emacs, and grudgingly leave for the web browser only when I have to…

                                                                2. 2

                                                                  You can’t really implement much of all in a Linux/X11 system without throwing all your applications away.

                                                                  You can make all kinds of tiling window managers on X11, but the window manager itself works on a very specific level in the display hierarchy without access to the rest of the system. Try, for example, to make a WM with a Macintosh-style global menu bar at the top, or a RiscOS-style global pop up menu. You can’t, because the window manager doesn’t know about menus.

                                                                3. 1

                                                                  I imagine that Windows and macOS represent the vast majority of desktop OS’s. How would someone build a new desktop environment on these closed systems?

                                                                  1. 3

                                                                    MacOS, not sure. On windows it’s still relatively easy to replace the whole shell. Here’s a list of a few https://en.wikipedia.org/wiki/List_of_alternative_shells_for_Windows

                                                                    I remember using a customised blackbox shell for quite a while in xp times.

                                                                    1. 3

                                                                      I think the idea of re inventing the desktop experience require a lot more than an alternative shell.

                                                                      1. 3

                                                                        What do you think would have to be replaced to implement most of what the post is talking about, apart from the shell and open/save dialog box? I believe you could get windows 99% there with shell + file explorer replacement, an indexing service to speed up tags, and some helpers to materialise/provide views like clipboard and browsing history. Sure, you’d still have to deal with paths when installing software for example, but otherwise you could live in a highly indexed/tagged reality.

                                                                        What are the missing pieces that would go beyond? (Yes, the apps would need to integrate into this world at some point, but realistically we won’t have those apps until the environment itself is proven)

                                                                4. 4

                                                                  One of the hilarious things about it is that the POSIX FS does allow you to put files in more than one folder at a time. It’s called hardlinking.

                                                                  It doesn’t get used because applications want to be able to atomically update files, so instead of modifying them in-place, it’s considered best practice to write a new file and rename on top of the old ones, breaking the hardlink.

                                                                  1. 4

                                                                    Any rethinking that discards the filesystem is an absolute nonstarter for me. I need a hierarchical organization scheme because it’s the only way to keep things sensible at scale, which is the exact issue discussed here. Every time, every time a new UX tries to “spare” me from dealing with the filesystem it is an exercise in frustration that only ends in getting what I want half the time. Inevitably, it’s just a new abstraction on top of the filesystem that still deals in individual files, but gives no ability to organize or navigate - all the disadvantages, but harder to use.

                                                                    Reading this I got a similar feeling as if I were reading about how screwdrivers need to be rethought because there are too many attachments, and it’s not always clear which way to turn a screw. They’re valid complaints, but we got into this situation because the alternatives were no better and often worse. Solutions that sound cool on paper will, without fail, wind up in one or more of the following states:

                                                                    • Too unwieldy for any practical use
                                                                    • Steeped in idiosyncratic abstraction
                                                                    • Less functional for people who understood what came before, while no more functional for everyone else
                                                                    • Full of unexpected edge cases that do not work

                                                                    There are definitely smaller problems that could use fixing - automatically saving these documents to some kind of temporary storage on disk would be a sane default. But that’s hardly a reason to discard a metaphor that does extremely good work and lends itself to genuinely useful abstractions, and has already had to run through these challenges and landed on compromises that still manage to work for just about everyone. There’s no reason to overcomplicate a tool, but there’s no way to totally eliminate the learning curve either.

                                                                    1. 3

                                                                      These grandiose articles never seem to recognise two things: a) not everybody wants to run their environment the way the author does with hundreds of browser tabs open all the time, and b) some of us don’t want our computers making a permanent record of everything we do. The ephemeral nature of many things are both valuable and important to retain, as ironic as that may seem.

                                                                      1. 2

                                                                        The feature this person is looking for is built into the OS.

                                                                        To minimize the current window, press Command-M. To minimize all windows of the app in focus, press Command-Option-M. - https://superuser.com/questions/36504/minimize-all-in-mac-os

                                                                        As for the other things, people can’t even use a file system properly. They don’t go back and clear things up. Or if they do, they sometimes remove the wrong things. It might be nicer for a power user but the suggestions proposed just make files more complicated than they are now. It’s a review changes dialog with more steps.

                                                                        1. 3

                                                                          If they’re not going to use the Preview app in their screen-share, an easier technique would be to choose Hide Preview (⌘H) from the application menu, which hides all the app’s windows until the application regains focus. That technique doesn’t require clicking 88 minimized windows to expand them again afterwards.

                                                                          Of course, as snej wrote, the real solution is to toggle a setting in System Preferences to make their preferred behavior the default by not showing that dialog when they quit.

                                                                        2. 1

                                                                          OpenDoc + (BFS | WinFS) + Google. The future that never happened.

                                                                          1. 1

                                                                            It sounds like, for the author, the desktop metaphor isn’t useful because he isn’t using his computer to do work, he’s using it as an information retrieval and storage system. I think what he wants is a catalog, and probably to talk to a librarian about how they organize libraries.

                                                                            1. 1

                                                                              I think OP (and others like @benrbray) might want to have a look at TMSU. This paired with some good way of tagging, be it automagically Markov chain driven or scripted in some way, might be exactly what you’re looking for. TMSU started almost 10 years ago btw.

                                                                              1. 1

                                                                                Great article! I love seeing people doing deep thinking around this kind of human/computer interaction.

                                                                                I personally think (unpopular opinion coming up :) that ultimately the desktop paradigm that this article points out the foibles of will basically evaporate.

                                                                                We’re already seeing a strident move on the part of many vendors towards a much more cloud appliance focused paradigm.

                                                                                You don’t store your documents on a desktop or in a hierarchical file cabinet, they’re in THE CLOUD, but unfortunately I think not nearly enough thought has been given to offering users richer paradigms for interaction and search, which is I think one of the points the article is making.

                                                                                People want less detail and less paradigm, not more. Don’t make me think.

                                                                                Having been married for the last decade plus to a VP of a bank, I can assure you that even scathingly bright non technical people really don’t want to think about richer ways to interact with the computer, they don’t want to think about the computer at all.

                                                                                Ultimately I think the general purpose computer as we know it will largely vanish from the mainstream, and only hard core tech types like us crustaceans will still have them. I see this as a good thing overall since it may remove some of the tensions between what end users want and what the technorati are dreaming about :)