Rethinking the computer ‘desktop’ as a concept
onezero.medium.com
onezero.medium.com
Why can't you? Well, for one, social media companies don't want you to save stuff locally, because they can't serve ads with local content. Furthermore, browser APIs have never embraced the file system because there is still a large group of techies who think the browser should be for browsing documents and not virtualizing apps (spoiler: this argument is dead and nobody will ever go back to native apps again). Finally, the file system paradigm fails with shared content; you can't save a Google Doc to disk because then how can your friends or coworkers update it? It's much easier for Google to store the data on their server so that everyone can access it instead of you setting up some god-awful FTP-or-whatever solution so that your wife can pull up the grocery list at the store.
I'm hoping the new Chrome file system API will bring a new era of Web apps that respect the file system and allow you to e.g. load and save documents off your disk. However, this still won't be good enough for multiplayer apps, where many devices need to access the same content at the same time. I don't know if there is any real way we can go back to the P2P paradigm without destroying NAT - WebRTC tries but WebRTC itself resorts to server-based communication (TURN) when STUN fails.
I agree with your post in general but not this. I see a lot more interest in self-hosting stuff lately, precisely because of the concern you mention that online services do ads and tracking. More and more people seem to be doing this.
And I personally really prefer native apps over web apps or electron stuff.
Self hosting is hard because ops is hard [1]. People aren't yet in the mentality that you should provide an official modular deployment every time you provide a server binary. Everything-as-a-container wouldn't be the worst way to take the desktop [2]. Isn't that kind of how Apps work on OS X?
[1]: The ironic part is that most people don't keep anything long enough for a hard drive or any other component to fail anymore. So the argument about the cloud abstracting away the physical hardware maintenance for every day consumers like yourself or I is ... dubious.
[2]: Yes.. I just spent the weekend learning nix-build. Goodness, it's super easy to container all the things! :) I'm feeling like a zealot when I start using nix to do what I could have done with a zip file. But there's something magic to having a zip file of assets with its own shell.
Previously discussed here: https://news.ycombinator.com/item?id=24027663
Where do you see this?
> More and more people seem to be doing this.
Which people?
My money's on your anecdata being 100% from a techie bubble.
This is it right here. Our entire world and notion of the internet is based on serving data stored in a file from one person to another. Once the developer started drawing too many conveniences and started to "move fast and break things", we thought it's good enough to just store everything in a database, or serve it as Javascript. These technologies are great, but they go completely against everything our computing paradigm stands for.
A filesystem is a database.
By now the spectrum of interactions using computers is visible enough to be able to generalize such meta-file formats. Should it be some form of database or a kind of system-level support for defining and assembling such meta-files is a question of experimentation.
It's more like an active-book paradigm vs a file, where one could tie together multiple contexts, yet being able to present it to user in some human perceivable form. Some analogies could be a project or an activity based collections of files, links, collaborations etc.
Right now this is not a big deal in most countries. Right now. But as the web becomes increasingly balkanized (and I believe it will) and as countries become less democratic (always a possibility) the native app with local data will reassert its prominence in people's lives.
To some extent, governments, across the globe, are already exercising this right in some form. Quite often we hear that some government has banned some app and it becomes illegal to use that app in that country.
Ahaha, I don't touch web apps unless I really really have to. And even then it's lighter stuff, like chats. Can you imagine using an actual productivity application in the browser?? No thanks. The thought that Slack/Ms Teams/Discord all run slower than MSN Messenger did in 2005 despite my having a computer ~50x more powerful is depressing enough (and each of them consuming as much RAM as I had on my desktop back in the day!).
I'm not sure what type of applications you're referring to, but if you're including word processing in that, then I can't imagine not using either Google Docs, or whatever might one day come along and be a reasonable alternative. If I'm using a word processor, it's because I want someone else to be able to read and, quite often, contribute to what I'm creating. That is far, far less painful using Google Docs than Pages or whatever the alternative might be.
I can't, yet many people do.
I know Google is not like most places and that a lot of web apps suck, but when the web apps work well, it's pretty nice, at least for my workflow
Not with that attitude it won't. Yeah. 90% of tech offerings only work based on monetization and hostage taking of consumer data. Normal people are starting to pick up on this. All the techbros looking to score that hot, sweet -aaS money are blind to it and desperately hoping their market dominance and spend can keep people from digging through the native computing stack.
Need end to end encrypted file transfer? VPN and NFS is your friend. Need chat? IRC, at your service. Also exposable through VPN, so you can limit the audience. Want Doc updates where your secrets and in progress stuff is guaranteed to not get pored over by some intern or Admin somewhere? See above. Want no bloody ads and not to be snooped on? Set that stuff up homey. I've got a young'un whose mind is blown away at the fact games used to even exist that didn't need n internet connection.
The desktop metaphor is fine. What isn't fine is the normal person's technical education/on ramping. The old approach was teach programs first, then the protocols and problem classes they solve. Now it seems to stop at just teaching programs, because there is so much out there that is doing the same exact thing, but different branding, there's never enough time to dig into what is going on under the covers.
I don't see this. The native program ecosystem is alive and well as far as I'm concerned. All the programs on my computers are native, despite noone "going back".
> Finally, the file system paradigm fails with shared content; you can't save a Google Doc to disk because then how can your friends or coworkers update it? It's much easier for Google to store the data on their server so that everyone can access it instead of you setting up some god-awful FTP-or-whatever solution so that your wife can pull up the grocery list at the store.
Now go and check out syncthing, you're in for a really good time.
FTP is no good. There are better protocols, such as HTTP, Gopher, Gemini, Plan9, etc. I had made up a file format for serving directory listings by HTTP (but I don't know how to configure Apache, or to write an extension for Apache, to be able to use it).
About "who think the browser should be for browsing documents and not virtualizing apps", it is badly designed for virtualizing apps. (I have thought of some better ways.)
Also, the file system paradigm does not fail with shared content; you could have the program to mount a remote file system and then access it using local programs, if wanted. (You can then also easily to copy files between your computer and remotely, in this way, by using the standard operating system commands for doing so, and will work just as well with command-line or GUI. Similarly, for SQL databases, you can have an extension to expose remote data as a virtual table, and you can then easily copy data between locally and remotely.)
A good observation, but I think it conflates two different trends:
1. Some software platforms deliberately limit what data is stored on your local machine under your control
2. There's been a shift in UI/UX away from using files as a first-class abstraction
There's a good case to be made that a UI should generally hide the specifics of its data storage. As an example, it's a good thing that most email clients present the user with their emails, rather than with a raw folder of files. (Internally, the email client might make use of a database rather than a directory, so it might make good back-end sense too.) Of course, that's not the same thing as the email client being hostile to data-portability.
iOS strongly commits to this ideal, even at the expense of constraining user actions. The podcast app doesn't let you upload your downloaded podcast episodes to your desktop computer, for instance.
Aside: iOS has very poor support for dealing with files in the usual ways, to the point that you pretty much need to use a third-party app to do so. I've found the freeware Documents app by Readdle to be very good for this.
> this argument is dead and nobody will ever go back to native apps again
I agree that the web as a GUI toolkit is here to stay, but native apps are alive and well too. There's a trend to try to push users off the mobile web and onto native apps (Facebook, Gmail, reddit), rather than the other way round.
Sure, most clients let you automatically save logs, but they were just text files you opened in any text editor. They weren't in a special IRC format, and you didn't open them with your IRC client. Hell, you couldn't open them with your IRC client. There's no reason you can't just ctrl-C a bunch of stuff out of a Slack chat and ctrl-V it into your text editor. Only difference between that and IRC logging is that you have to do it manually.
Just curious, does anyone know of any hybrid file formats that store information both locally and online?
It seems like one solution to this problem would be a document that stores an editable copy locally and a revision hash in its metadata, then decides whether to serve up the local or cloud copy depending on whether the user is connected to the internet.
Sure, this could cause conflicts between online / cloud files if someone else edits the file at the same time as you, but that's true of any cloud sync service like iOS Notes.
I guess in retrospect I'm just describing Dropbox which, while it's more a container for standard files than a file format in itself, has largely the same effect.
This snippet has really lit the touchpaper. A long time ago, I predicted that the world was course to deliver insta-compiled applications through a browser, as though we'd have a Visual Basic runtime environment plugin. However, we're now there, essentially, with XHR and many-megabyte JS bundles, manipulating the DOM through the browser's "widget" engine.
There's really a tipping point for each application, where the application's functionality determines where it is better served. For instance, no one's going to make a web app out of Logic Pro any time soon. However, if someone comes up with a stateful protocol to implement in current browsers, then that tipping point flips to the web for a whole bunch of applications.
Maybe not the biggest factor, but the difference is certainly percievable.
I think in the world of app stores this is a little odd to argue. Native apps on the desktop do seem to be on the way out, but less so on tablet and mobile phone.
This may make sense for technical people with a specific goal, but for most users, they shouldn't care where it is saved, ala dropbox. They just want to access their files. Online, offline, everywhere, that's what they want.
I think it's time for NAT to go for residential ipv6 and the numbers I've seen show that TURN isn't required for most connections. Unfortunately universities and businesses will probably never remove NAT as there is limited incentive to do so.
I think the best we can do is have somewhat decentralized networks with limited yet trusted centralized authorities (the need for discoverability will always remain, even when using otherwise decentralized networks like SSB). This could be IPFS with bootstrap nodes for their DHT, or as I have been using to circumvent NAT when latency is unimportant, Tor directory authority to host ephemeral, local onion services.
EG, a video recording/playback app that allows the user to save bookmarks/timestamps. You'd need to have some place to store those bookmarks, extract frames, generate multiple resolutions for both the video and frames (for gallery previews etc), possibly add some more metadata...
It's much easier to hide the actual files from the user and give them the option to export the data in some user-readable format.
Apple is notorious for this. Everything is a soup of folders and files with hashes and .plist files. Similar story with iOS and Android.
Isn't this trivial? A download button = "save" stuff from the app to disk. An upload button = "load" from disk to the app. AFAICT, webapps can already do this via existing file API's.
To be fair others exist. Element (Riot.im) saves your backup keys to disk on demand.
I agree. More of this please.
Oh god, please, no. I don't really understand the disconnect between your love of filesystems and yet disdain for native apps. The exact same arguments apply; can't serve ads locally, don't autoupdate (a feature! they rot slower), can access any time, don't need a network.
Why would you want a webapp? Because it has flashier animations and SVG? There's a long conversation to be had about this, but the summary is no, no, god no, please give me back my native applications with drop-down menus and boring file picker dialogs. As long as they have decent keyboard shortcuts, I'll manage.
Mobile phones, tablets and IoT native apps say Hello.
Have you heard out The holochain framework?
This i do not understand - mobile and web content has easily been monetized for a long time now, why would desktop software be any different?
For example, i use software called RaiDrive for mapping network drives on Windows (https://www.raidrive.com/). In their free version, they show ads on the main app window after you open it.
Why isn't this the norm on desktop - ad supported but free software? Why aren't there ad networks for desktop apps like there are for mobile apps and web content?
When I open a program, I want to use that program. I don't want to update it, I don't want to see all the new features, I want to USE it. I opened it because I had a task to complete and all this junk is getting in my way.
And same when I close a program, as the author hits on very well.
Basically, the computer/program/etc always wants me to do something for it, but it never asks for those things at an opportune time.
No, I don't want to update my computer right now, and no, updating overnight tonight isn't good either because I need to keep this program running until tomorrow. I understand that your new UX is better for me, and I'm sure I'll love it, but forcing that on me right now is preventing me from doing what I need to do. I see your error dialog describing some odd issue, but I don't have time to triage that right now and decide to take the time to fix it.
I wish software would respect the human element more. My time and attention is valuable, please don't interrupt it carelessly.
Perhaps the problem is, as you allude to, that software is hostile to the user now. There's always something more than simply being a tool that you buy, use, and close. Now most programs are merely portals for "services".
Jonathan Blow did a talk similar to this a few years ago, about how "software is terrible".
In a part of it, he double clicked on a .psd file to open in Photoshop and timed how long it took to open the image. It took around 8 seconds for Photoshop to display that image on screen. But the first thing the app did was show a splash screen image, almost instantly.
His argument was, "Why, when I double click this image file that I want to view, does it instantly load an image which isn't the one I want to view, and then take 8 seconds to load the one I do want to view. If it can instantly load an image when I double click the file, why isn't that image the one I double clicked?"
Maybe some applications could have an alert mode, similar to logging levels. But then it will probably get more buggy.
Honestly, I rarely get annoyed by the number of popups in most of my software. I’ll happily take a few extra dialog boxes for extra control.
For whatever reasons, non-graphical software seems to suffer less from this problem.
Indeed. Microsoft Office I'm looking at you! I don't think I've ever actually looked at one of those "Hey cool new stuff for you" popups more than trying to identify how to get rid of it as quickly as possible.
And even worse is "Hey here's a new feature we like so we turned it on for you, good luck figuring out where to turn it off again lol"
> And same when I close a program, as the author hits on very well.
The weird thing is, that is a solved problem. App Store apps (Mac, iOS) will automatically update in the background and, unless the developers build it into the app, the changelog if any will be on the store page. All platforms have something similar. It's just that a lot of developers opt to release and update their thing separately for a variety of reasons.
I agree on the OS updates though, some years ago there were a few... claims? Promises? Something that implied restarting to update would no longer be a thing. Dear reader, they were wrong.
/me clicks the MacOS update thing away again
I like where Windows is now, I get notified of required updates but I can defer it for a few days/week. For non-technical people who don’t know how to setup defers I’d imagine they would also be the crowd before who didn’t update. I’m totally fine with my parents occasionally grumbling about a forced reboot overnight.
Likewise all the software I use, besides online games, let me defer updates. Lots of stuff also now has the update next start, which I also like. I don’t even notice my browser updating most of the time until I open dev tools and see “what’s new”
I especially love when Firefox decides that he really needs to update, and I cannot open any new tab until I do so. Who cares if I am on a crappy connection and the download that I need to finish will take 20 minutes more; it's either restart it or wait until I finish. And that other thing in that tab that I need time to finish but I cannot really save ? Who cares.
Yes, search is great when it works. You know what also works? Organization. I used search within folders of very large category to rapidly narrow stuff down.
If the desktop ain't broke, it doesn't need fixing.
Instead, I am thinking about all the dark patterns and anti-patterns, as well as performance hog, endless constant update, as well naggers trying to upsell you shit.
There's a reason why I returned to linux. Microsoft, please fix your shit.
The idea of fragments as TFA discusses really resonated with me, because most of my life is not in files. Giving a real example, a few months ago I read a blog post about some house planning software (I'm in the process of building a house), and later needed to refer back to it. I didn't save it anywhere (bookmark, save as PDF, Notion/Roam etc) because it didn't seem that important at the time.
Its the same if you watch a YouTube video or read an article here. Sure you could take notes and save those notes in a text file that you can later search, but who has the time to that for every single piece of content they consume?
Something like Spotlight is a good start, but it needs much more meta-data. All of your search and watch history needs to be there, but in a world that's becoming every more siloed (how do I record the photo a friend shared with me a few months ago on Facebook Messenger?) that's tricky.
Most software can't be bothered to integrate rich paste support (e.g. the way you can paste an Excel spreadsheet into a Word document), and we expect them to implement a complex API to define these fragments in a way where the OS/Spotlight could actually build up that history?
This would be a massive undertaking requiring buy-in from every piece of software before it is even marginally usable. It is a pipe dream (and may even be a nightmare if it were realizable).
> Its the same if you watch a YouTube video or read an article here. Sure you could take notes and save those notes in a text file that you can later search, but who has the time to that for every single piece of content they consume?
Those already exist. The browser has them all in it's history. Google similar has many if them stored for their services. To some degree they use them for the user, but there is simply limited use for those informations.
I used to have a tendency to over-categorize and nest things too deeply, which makes them hard to find again. Concrete example: nesting classes by semester. When looking back for something, I would usually remember what class it was, but I'd often forget the semester. So now I have to search through a bunch of folders (manually or automatically) to find it. Ugh. A flat structure is much easier to follow.
However, I still want all my classes grouped together when I'm listing them. Currently the only way I know to achieve this is by adding a prefix to the file or folder name. This works, but you end up with some grotesque names. The implementation could be regular folders with a flag to indicate their contents should be displayed inline one level above.
going with your example above, it would allow you to just have folders for classes and then have files from all years in the same class folder. then you can sort of hack together a divider feature by adding some brightly coloured jpgs with a timestamp at the start of the year which would let you see at a glance where each year starts and ends.
it also helps if your file browser will remember to open each folder with the newest files show first at the top
Why do I believe we do not know how to solve the problem? As the article inadvertently points out, the unorganized data they want is not accessible and Mac Spotlight, a tool that operates on unorganized data, does an "OK Job, but not a miraculous one". If Apple knew how to super search the vast trove of unorganized data and file formats for content-specific data and always get it right would there be any reason they would not do so? It would clearly be strictly superior to their existing offering. For that matter, they bring up browsing history in Safari which is an even easier problem and also claim it hardly works. For evidence outside of Apple, think of all the in-app search systems that can barely even search plaintext for things you know exist. I frequently have problems with Gmail not finding emails despite giving exact string matches. These problems are all subsets of the proposed problem, which must be solved to solve the harder problem, and which would offer immediate material benefits for their solution yet do not or barely exist.
The problem is not a mismatch between solution and user workflow. The problem is that we do not know how to solve the problem for all meaningful workflows. The best we have achieved is creating and supporting a workflow that allows the problem to be solved in many useful cases. Luckily, if the problem can actually be solved in the future, it can easily be bolted onto the existing solution to test viability before going all-in.
Most people, in their jobs, every day.
Just as they did before the advent of computers, too.
The real question is what is effective for individuals and business trying to accomplish real work, who are at least somewhat capable of learning or training staff.
I don't disagree that interfaces should be designed for users, but they should be designed to EMPOWER and teach users, not to just dumb everything down to the lowest common denominator. Because, let's face it, most people are awful at organizing stuff that materially matters a lot to their lives and well-being.
No, if a commercial for profit system doesn't work for the vast majority of users, then it does deserve rethinking. Linux is a great example of an operating system that was not written for the highest profitable denominator until recently.
I've been doing this for almost ten years, and it works great.
Don't do that.
There are lots and lots of people using computers not for just tossing around casual fragmented piece of information but for coherent content creation, for products that need to be reliable and many many times inherently complex, made by organizations with reliable practices.
Shortly, there are other needs than what you are familiar with, try not to act for everyone based on isolated views.
Btw. the problem with today's desktops stem more like in the urge to make those work like handhelds made for the flow of fragmanted causal pieces of information. The UX of desktops is really poisoned with the limited concepts of handhelds, by the trends (I so hate this word representing appearences rather than thoughtful behaviour) of UX designers who go after coined concepts addressing some isolated views. If they do at all, sometimes just doing differently for the sake of difference, which is not too intelligent thing.
Want to group by projects? Use tags or folder Don’t want to spend hours cleaning your download folder? Move every new file you download in the correct location
And at some point he said computers should automatically delete some files? WHAT
And last but not least, of course mobile systems handle informations better, they don’t store nearly as much information as someone that uses his desktop regularly.
A response article to this would be: “Just learn to use a computer”.
I don‘t know how many times I sat in a meeting or worked with somebody and the presenter/user could‘t find the document(s) they wanted to present because of the endless apps and tabs open at once or the endless stream of unorganized files on the desktop or working folders. Same goes for disorganized shared folders (like Sharepoint) or Confluence-spaces without clear organization. Then when information is required the people responsible for the mess start to search in said mess and can‘t find their stuff. And mostly it‘s not because there is no decent search, mostly it‘s because they never wrote down/ saved/ filed the information because they lost track of it or thought they could remember not to close a tab in between 100 others or simply can‘t figure out how to use the search in the first place.
The true shame is that trees of tabs aren’t natively implemented by the browsers because all the extensions that enable tree functionality have glitches caused by the native tab ordering.
A rephrasing of his problem would be: "I'm too busy to learn how to become more efficient with a computer," and I've heard this excuse for 27 years now.
Classic case: At one company, I rewrote an engineering program that my dad had written years earlier as a command-line program in BASIC. The operator would have to use note cards and go through a whole series of menus to make it do its thing, like "A... 1... C... 3... 5..." I rewrote it in Visual Basic, and made the whole function take no more than 3 clicks, usually just 1. I came back later, and noticed the operator was still using my dad's program, and I asked why. He said my program was "too complicated." I started to protest, but knew it was futile. Other people were loving it, so I just dropped it.
I've never found a good way to redirect people who are defensive about learning new ways to use a computer to think about things differently. If anyone has had luck here, I'd love to hear about it.
>> I have 37 windows open, with some 75+ tabs
>> I have a Desktop scattered with (currently) 132 icons
>> Programs need to cut it out with the dreaded “do you want to review the 88 open documents” crap.
There is no technology that can solve those problems. Just close your stuff, man.
> having 500 tabs open in mobile Safari, which I always do, doesn’t hurt my system performance at all because the tabs are freeze-dried when I’m not using them.
When you have so many open tabs, there's no difference between a "freeze dried" tab, and just an entry in your browser's history. If your system performance on desktop is hurt by having 37 windows open, the solution is to just close all these windows. I guarantee you're not going to miss them.
I wrote my own bash summon/banish script to pull existing windows whose titles match a pattern and send them away. It is better at dealing with 20+ browser windows and 500+ tabs than anything that the UI teams at billion dollar companies seem to have come up with in literally my entire lifetime. This tells me that whatever the UI teams are doing it is a joke, because I have no idea what I am doing and it is working better. I still can't summon windows based on a search of their contents, but I'm sure I can solve that for at least some Emacs buffers.
The thing that is stupid is that opening a new window and typing in a url is usually faster than finding the already open version of that same window (which has the old state). Browsers can sort of do this with tabs, but why the heck isn't there a single box that will take you to the information that you were already viewing locally? The user interaction workflows for managing large amounts of information are fundamentally broken.
The UX for funnelling users into parting with their dollars and data are flawless, but somehow it is impossible to take me to the window I already had opened on the subject faster than it is for me to open it again from scratch? That is a sad, sad commentary on the dystopian nightmare that we are trapped in.
EDIT: and even Vinnl shared it first here , sorry for dup, but maybe you haven't seen it https://news.ycombinator.com/item?id=27351289
Not trying to be snide, but having that many tabs open and expecting to ever come back to the same one twice is 100% incomprehensible to me. But, I freely admit, I start trying to pare down when my tabs get narrower than the default width. I've gathered that I'm an anomaly
I just press T, fuzzy match any tab title across all my windows, then switch to it instantly.
For desktop windows, I use XMonad + Rofi to summon windows via fuzzy search.
Sure there is. It's just not implemented in most software - including, in particular, web browsers.
I currently have 192 buffers opened in the Emacs session on my desktop. 143 on my work machine. That's quite low - both sessions have less than a month of uptime, and I was on ~10 days of leave during that period. I can easily run to 300+ buffers in a few days of work. I've never complained about too many buffers being opened.
The trick that makes it works is the tooling around management of open buffers.
I only ever see one or two, maybe four, at any given time. There's no tab bar. Switching is done with incremental search - I start typing a substring of a buffer's name, and in 3-5 keystrokes narrow the list to the one buffer I want. The list of candidates starts in most-recent-first order. I could enable fuzzy matching, or matching by both name and type, but I personally don't need it, I have a good memory for buffer/tab/file names.
If and when I need to manage buffers in bulk, I fire up the ibuffer interface (which I do by holding CTRL a bit longer, to turn `C-x b` to `C-x C-b`). There I get a table of all buffers, with columns showing the buffer name, size, modification status, mode (i.e. "buffer type" - associated application for handling it), and filename or process bound to the buffer. With a few keypresses, I can sort and filter the list by any of these properties (and a bunch of others). Filters can be incrementally combined. I can mark entries on the list (whether manually, or by a filter), and perform bulk operations on them.
And in case you think this is hardcore techie interface - it isn't. It's essentially a streamlined, keyboard-oriented version of what Windows Explorer in "Details" view gives you for your files. I think even casual, non-tech-savvy users are pretty familiar with this view.
I'm pretty sure the entire problem of "too many tabs" would go away if the browser did these three things: get rid of the tab bar, provide a decent switcher UI that, beyond the mouse, supports incremental search from keyboard, and provide a table view for managing the tabs.
Most editors I use at least have recovery temp files. The step from recovery files to not asking annoying questions is easy.
In one way, it sounds like transient information-hoarding, something few would really desire on a real desktop.
The fact that the Finder actually did what it was supposed to, including remembering folder / file locations and states, but no longer does (this has been conspicuously left out in every OS X+ release), is good evidence that Apple (and MS, given the state of W10), simply doesn't care. People use the web, people use Spotlight, and they go on without too much complaint, mainly because they don't know that it could be any better.
Even simple window management is a disaster — there are W10 systems we use at work for presentations, and it's a crapshoot as to whether a window will expand to fill the screen, allow me to drag it, or do something unexpected when the top bar is used to drag the window to another location. Mac windows no longer expand to fit content. It isn't that the desktop concept has failed — it's been left to die, when it could be the rock-solid basis for any modern interface. This is not progress.
very well said. couldn't agree more .
I would speculate that the majority of "computer users" today, are simply "logged in users at terminal equipment"[1] as they say. Their terminal, which is typically a web browser (or a thinly skinned web browser "light" client), is connected to an application on the actual computer somewhere very far away. FWIW this is a very 70's and 80's vibe where you could access your application from any terminal that was connected to the computer hosting it after going through an authentication process. If you had a fancy "mult-page" termainal that could run several virtual terminal sessions then you could have "tabs" open to multiple applications. Today we have really really fancy terminals, they can have 50, 100, even 200 different sessions going on at once.
And with the author I agree, if your terminal is actually a computer that happens to be running a terminal application so that you can get to the things you really use to do your job or what not, then the metaphor is uses for organizing itself as a computer is outdated. For Apple fans iOS is that terminal of choice, Chrome "OS" is that for Google apps. There isn't a Microsoft version of this yet that I'm aware of.
In my opinion, tt is this "terminal-ness" of the usage that is most single handedly responsible for the absolute stagnation in perceptible performance improvements. No matter how fast your local machine runs, it can't make the network or the remote system any faster so your user experience is the same. Not true for locally hosted applications like games of course (not something terminals were able host locally.)
All of that is a long way to say "You want to design a better iOS/ChromeOS then go for it."
[1] This is the origin of the term "lusers" or logged in users.
This option is totally available! Just hold down the Option key, and Quit will change to Quit and Keep Windows. Command-Option-Q also works.
If you prefer that as the default, you can toggle "Close Windows when Quitting an App" in System Preferences -> General.
Source: I wrote that feature! (And yeah I wish it were a button in the dialog)
I always thought it should have been the default option. Much like browser save all the tabs when closed, it should have been on by default.
https://youtu.be/LPMjUtfQPks?t=19m16s
Not only was it on by default, there actually wasn't an easy way to turn it off, leading to tips like this:
https://osxdaily.com/2011/07/18/disable-mac-os-x-lion-resume...
I'm not sure when the option was added or when it stopped being on by default.
The Applications that run on these devices also generally use a paradigm where they don't really store files but really store objects which can have Hierarchies. They do have search and some of them support a stylus as input.
Another aspect is the ability to use your voice to interact with computers which is still quite limited.
VR looks like it may offer something different eventually but it will have to be explored more.
The problem with replacing the computer 'Desktop' as a concept is that it generally is extremely hard to replace. It looked like a combination of a stream of information with the ability to search a stream or separate streams could have replaced it but we only see this in web applications (a good example is Facebook or Twitter).
Search is great, when it works. When it doesn't, it is frustrating. Github's file search regularly fails to find some files that I know exist (one of our YAML files at work, in particular, is invisible; I've learned to just not even try). "Shell" won't find the sea shell emoji in OS X. "sea" will. "Place of Interest" (the command key symbol) is also similarly frustrating.
> who cares, disks are big, save it all, forever
Except they're not. Laptop's preference for SSDs means my work laptop has <300 GiB, which was full within a year.
Don't expect your computer to organize you. If you have a messy desk, you will have a messy computer.
Decades later, I have both a messy desktop and a messy computer. I think there is something about personal organization that, if it eludes you, it will elude your computer too. I've made peace with the fact that I will never be a hyper organized person. The best thing I can do is to put my stuff somewhere and hope that it's searchable.
I have all the stuff I work on on my desktop. When that gets full, I move everything into a folder "Old Desktop" which I place on the desktop. Of course this isn't the first time I did that. So this folder contains a chain of many such "Old Desktop" folders :')
It leads to interesting discussions sometimes such as "why do you have a 200GB roaming profile???". Organisationally though I can find stuff back really easily. While I traverse the chain of "Old Desktop"s I see other documents from the same timeframe which brings me back really easily.
In fact more organised people are often surprised how quickly I manage to dig up ancient stuff for them. They tend to lose track of things over time, probably when they move to a new PC or file hoster or whatever. I've really become the "Do you still have that inventory from 2007?" guy at work. I see no reason to change it at all.
Conceptually, it's easier to think of "music from high school" than about the specific mix of subgenres from my playlist back then. Same for documents that I saved. Those ICQ logs from high school are there. They don't belong in the same folder as the stuff I wrote yesterday, even though they could be of a similar nature.
I use a fast, local search app to find things sometimes. Often, I only need the time, place, project though.
For some reason it never took off. ReiserFS was abandoned when Hans Reiser killed his wife but Microsoft also abandoned it with no (known) killings involved. Something must have not worked out.
It's a very interesting idea to revisit though. I do still think there's merit in it. Probably part of the issue was how to make it work gracefully with legacy apps.
However in this kind of scenario you totally absolutely want to tag it with multiple tags. Otherwise this'll become a haystack you'll never find anything back in. I bet this was another issue surrounding implementations.
Years ago I made a gadget that sat on the top right corner of the desktop[1]. It contained a stack of buttons, one for each folder that I was working on. You could add more folders by dragging them on the gadget.
It's liberating not having to keep a file explorer window to access the current project, and you can easily access it with the Windows+D hotkey that minimizes/restores all windows. Use it to open files, or drag stuff to/from other open applications.
[1]: The magic incantation was:
# Requires pywin32
from win32com.shell import shell, shellcon
shell.SHSetFolderPath(shellcon.CSIDL_DESKTOP, 'C:/new/path/', 0)
shell.SHChangeNotify(shellcon.SHCNE_ASSOCCHANGED, shellcon.SHCNF_IDLIST, [], [])Personally, I have the complete opposite strategy:
Using Windows file/folder security, deny yourself access to your own 'Desktop' folder. Not only does doing this prevent you from lazily dropping/saving files onto it, it also has has the added effect of hiding ALL the desktop icons, so you end up with 100% clean desktop.
> Not only does doing this prevent you from lazily dropping/saving files onto it
That's the thing, it's only considered "lazy" because it's faster but the files end up in a disorganized location. By pointing the desktop somewhere more useful, you get all the speed benefits without the disorganization downsides.
You do have to weight it against your love of your wallpaper, though.
I frequently end up with a bloated dock with a ton of icons signalling that the app behind them is open (the little dot on top of them).
When I close all the windows of an app why on earth does the app stay open? Why do I need to have Powerpoint open in the dock with no Powerpoint windows open? Especially today that we have SSDs and fast processors that can launch an app within a couple of seconds?
If an app needs to run in the background without UI, there is the menu bar for them.
Linux and Windows have much more rational UX regarding desktop usage.
And I dunno about you, but my 2017 Macbook Pro still takes a significant amount of time to launch Big Serious Apps with a ton of plugins. I like being able to tab over to Illustrator and hit command-n and be fucking around in a new canvas with absolutely no waiting. We have virtual memory, open apps in the background doing nothing but waiting around to be used will get frozen to disc, then get restored a lot faster than they boot up. I generally hate it when apps auto-close themselves without asking when I close the last document like Windows tends to.
Apple agrees and indeed many of its first-party apps work like that. Close the last window in Numbers, Keynote, Preview, and the app will disappear from the Dock.
This is opt-in by the app for compatibility reasons, and Powerpoint has not opted in, perhaps because there's no obvious benefit to the app for doing so.
Like you, I use Cmd-Tab to know what I have open (and you can obviously Cmd-Q while there to close apps) and Cmd-Space to open apps. I never use the Dock or the grid of icons view or any equivalent (not sure what they're even called).
Someone who has worked with Macs for a while will just close the app with CMD-Q or use the menu. It seems weird to have to close the individual documents to close the app. Many of my apps are setup to reload the same documents when the app restarts do quitting the app doesn’t abandon the documents, it just files them away until the next time the app is opened.
There are non-document oriented apps that only use one window and when that window is closed, they are setup to close the app.
You obviously spent a long time on Windows where the windows were the app and closing the window closed the app. Documents are secondary.
If you want to close a window, that's Cmd-W.
Why would you expect a Cmd-W to turn into a Cmd-Q if it's the last window open? That makes no sense to me. Just close the program you aren't using.
In KDE/Gnome/Windows you know what the X buttons does. It closes an instance of an app. If it happens to be the only instance of the app, it will close the app as well. You don't have to babysit the open apps.
For the very few exceptions that an app needs to run in the backround, you will be notified that by pressing X the app will go to the taskbar.
MacOS also has a taskbar for apps that run in the background, but it also has apps running in the background in the dock. It made sense a decade ago with the slow hard drives, now it is just a peril of the past. Similar to the C drive in windows.
Someone who cut their teeth on other platforms may regard the death of an application with its last window as an essential part of their machine staying usable.
I don't know if you ever owned one of those really old windows ce devices but in a certain era it had the delightful workflow that closing them didn't kill them and after a while you could open as many applications as memory could hold and you would need to go into a different menu entirely to close unused applications or you couldn't open anything else. Like the worst of both worlds.
I'd say that Windows traditionally did a terrible job of allowing applications to have multiple documents open at once and visible on a large monitor.
The traditional Windows Multiple Document Interface UI was a nightmare if you wanted to have more than one document (especially documents from more than one app) visible at once on screen.
https://docs.microsoft.com/en-us/windows/win32/winmsg/about-...
That terrible interface is the reason Windows conflates closing an app with closing a document.
https://docs.microsoft.com/en-us/cpp/mfc/sdi-and-mdi?view=ms...
Thanks for the nostalgia run there.
Because you said so in System Preferences.
edit: Is there an option now in the MacOS Big Sur to enable this? I have a 3rd party app to achieve so.
The web is chock full of shit JavaScript; most of which is not adding value for me (ad placement, etc) and some of which is at odds with my interests (trackers, etc).
We have every single web site wanting to give me some sort of unique experience when all I want is to navigate to the information I want and maybe buy something.
I think that the web is insane. I want the web to deliver content and I want my client to present it to me in a way I control. Instead, every server wants to control my browser so they can control my experience and extract data from me.
It messed up.
Yet these days, to do that somehow requires a disturbingly slow-loading and resource-consuming JS "webapp" that complains if you're not using one of the very few "supported" browsers or even just a slightly older version thereof, refuses to work with a "sorry, an error occurred" message frequently, and has a UI that looks like it was made for illiterate 5-year-olds? The average web forum works fine with absolutely NO JS, yet has a UI with a superior set of functionality and richness.
Surprisingly, Twitter and YouTube used to be far more user-friendly and less resource-consuming than they are today. Then... I'm not sure what happened. I guess it could be called "the modern web".
> The web sucks [...]
As much as I love and miss native interfaces -- old Win3.1 games that used actual windows for the UI, or newsgroup readers, or for that matter native email clients -- I gotta say, the web as an app platform means I can migrate off one platform and onto another and know my basic needs are met.The web as an app-delivery platform is amazing. I don't miss documents that only open in WordPerfect 5.1, or having to UUCP files around, or being forced to write non-platform-specific software once for Windows, once for Mac, maybe once for Unix, and hell with anything else.
To the point of TFA, the desktop as a concept is well past its expiration date. Apple ships amazing phones and tablets that are touch-based, and is migrating their touch-based UX to MacOS, but for some damn reason refuses to ship touchscreens, which is just bonkers. We're halfway between paradigms right now, so it's rough going sometimes, but I'm hopeful we'll get somewhere great.
Your OS sucks, because it doesn't make it safe for you to do so. The freedom to just run something without worry about side-effects is what we used to have back in the days of two floppy disk MS-DOS machines, and it was amazing. Your OS was safe because of the backups, and the write protect tab. Your data disk was all you risked, and you had copies of that as well. Your side effects were well known and contained.
We need to reclaim our general purpose computers. Capability Based Operating systems are how we do it.
I moved house last year and was on a very poor internet connection, 0.5Mbps up, 1Mbps down at best, often unreliable.
This made using my computer (Mac's) unbearable!
When I turned on the computer and it started up, apps that auto start in the task bar would phone home checking for updates or whatever and block until they timed out / got a response. The computer wasn't usable until all completed due to blocked UI.
Opening an application the same. When opening an app it'd phone home to do what ever it does while blocking everything else until complete so can continue with the startup process. The obsession with analytics in apps made latency in apps much higher as I suspect analytics where being sent from the main thread instead of best effort in a background thread pulling from an event queue.
Then there's the obsession of packaging a SPA webapp in it's own browser to run locally as a perceived native app, aka Electron. Take Teams/Slack both clunky, unresponsive user interfaces and resource hogs for what they are.
And of course you can make linux do almost anything you want it do.
It is up to us to build something better, and the Web offers a better framework than most other options:
Human-readable code, mostly text
Decentralized and independent
Great tooling for just about any platform
25+ years of public knowledge
I think we're only beginning to see a new epoch of Web tools which:
Can be run locally and remotely
Support just about any browser, certainly no-JS and Lynx
Work hard to help the user without demanding anything
Allow easy migration of content between instances and instances between hosts
Full honesty and transparency of internal works
I might be a bit biased, since I have been writing such a thing, but almost every day I see another project here on HN which has similar values and functionality.
[1] https://en.m.wikipedia.org/wiki/Gemini_(protocol)
One idea is to improve the design of the web browser (including the engine), since the current design makes many things difficult for the end user to customize.
No-JS is almost always suitable, although not quite always. When scripts are needed, you should include a <noscript> block, including the documentation, raw data, other protocols, etc as appropriate. (There are some web pages that do this, but it seems to be rare.)
What thing had you been writing?
if you are on mobile it doesn't matter. mobile native is in at least half the cases just as post-file cloud-ified as the web. this change is coming for native apps too. no one escapes.
blaming the web for this is shallow & sad to me. everyone is clamoring for adoption, for ease of use, for just works, and putting all the data in the cloud (and de-prioritizing user access) has been a hugely hugely successful trend (alas).
I have no idea what web you are on but perhaps you should be using better sites that aren't waded through like treacle. person Nally this article loaded in under 3s on my 4 year old phone with no ad blockers (shame on me). load times vary a lot & it's easy to complain about but there are plenty of bad apps, not efficiently coded, that could better make use of features too. few apps are lively enough, have access to anywhere like the vast troves of data most sites interiorly contain, so it's also an absurd comparison.
if you are on mobile it doesn't matter.
I think you've got the wrong end of the stick. I'm not saying that I'm ditching the Twitter website for the native Twitter app. I'm saying that I'm ditching Twitter.I'm also not blaming the web as a technology. I'm saying that websites are becoming unusable.
I have no idea what web you are on but perhaps you should be using better sites that aren't waded through like treacle.
We're both on Hacker News so I suspect we just have different standards. person Nally this article loaded in under 3s
We have different standards. Let me show you how Medium compares to a website that isn't a pile of crap.https://onezero.medium.com/the-document-metaphor-desktop-gui... 16 requests, 257.63 KB / 67.48 KB transferred, Finish: 30.97 s, DOMContentLoaded: 2.53 s, load: 4.87 s.
https://www.gnu.org/software/make/manual/make.html 1 request, 1 MB / 206.34 KB transferred, Finish: 1.74 s, load: 2.69 s.
It does and I understand you're speaking in the context of desktop. But what about mobile apps?
I cannot imagine computing without web equivalent for mobile apps which often collect unnecessary data and on-average users are powerless to do anything about it.
Worst are the mobile only applications, Hence applications like Clubhouse can get away with using mobile number as identifier. Not that I miss using Clubhouse on web, But just an example of what no-web computing looks like.
We should still have web apps where they add value - I’m writing one at the moment - but I’ve reduced my reliance on Google Suite in particular and I’m more productive as a result.
Some specific examples: When looking up resources on high school level mathematics, it appears that fully half of the content is paywalled. Often this paywalled content isn’t particularly valuable in the first place (eg, hiding a basic multiplication chart behind a paywall)
And a more technical example: when I was learning the Angular framework, damn near all the results on Google were SEO scams. It was content masquerading as tutorials, but when you reach the end (often after investing significant time), they try to extract money from you to read the rest of the guide.
It’s gotten to the point where I’d be willing to pay money to filter out all the garbage from the web.
There's a few images, too, the first of which is ~2MB.
No, that's just bad UX design not a problem with the desktop metaphor
> I have 37 windows open, with some 75+ tabs
> 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?
> Meanwhile, there’s all sorts of stuff that I can’t find
> Newer mobile OSs (e.g. iOS) get this right — having 500 tabs open in mobile Safari, which I always do
This person has the equivalent of an incredibly messy desk piled high with paperwork, but then complains about the desktop. It's not the desktop, it's the lack of any organization
> Maybe Windows is awesome now, I don’t know, my last real exposure was with XP when I worked at Microsoft.
There are awesome tools on Windows, like voidtools Everything to find files by name in a fraction of a second by using the NTFS journal, grepWin for searching inside documents and Link Shell Extension by Hermann Schinagl for managing symbolic links.
It's not that hard to get organized. The author should try it.
I personally seek to intentionally stay away from walled-gardens, reduced reliance on huge corporations seems like a winning move in the long run.
The idea was that the main element of a computer shouldn't be an application but a document... and a document is a composite of pieces like spreadsheet, video, etc.
At the time, the idea was to have an open standard to replace the Microsoft apps... and to be able to replace MS apps with any other, piece by piece. It didn't work out then but, in a way, we now have a kind of open standard to build composite document (even including applications inside): HTML (with javascript).
Maybe it could be a good time to give this idea a new look?
- if you don't have enough metadata or they are of poor quality, your query has to be more precise, which is not very different from organizing your files manually and remembering the structure.
- if you add/reformat metadata yourself or even just make sure it's consistent, you're probably micromanaging it too much, losing all the convenience.
Now, some sort of ML system that automagically expands your stuff with relevant metadata could possibly work for this. Maybe. Existing AI assistants are still too dumb to be useful in most cases.
Also the entire UI shouldn't rotate around one genius paradigm that works best for everyone. There's no such paradigm. Manual file/folder organization is perfectly good for most cases. Fuzzy search works best for textual data like notes or documents, or to discover the content you forgot you ever had. Tags work well for photos.
Nowadays, when given the choice, I'll gladly trade desktop pictionary for a direct conversation with the computer. I think we should be optimizing for that experience.
Further, the desktop as envisioned at PARC, is explicitly not skeuomorphic. As Alan Kay put it, "it's magic", meaning, it's a magic environment adhering to its own concepts and genuine metaphors. That these may sometimes pick from everyday experiences is rather a matter of learning and intuition, which allows the user to construct a model space of the computer and its internal, hidden concepts. In this sense, folders and documents are really more an alliteration than a metaphor, rather an invocation of related, familiar concepts hinting at the internal metaphors of the computer than being the metaphor in itself. To the workings of the desktop metaphor folders are accidental, not essential. Icons, on the other hand, are in themselves crucial metaphors of the WIMP desktop, regardless of whether they may be hinting at real-life objects or not. Similarities to real-life objects or workflows is not what's meant by the term "desktop metaphor".
Spatial navigation, however, is yet another concept, historically imported from Dataland (MIT, 1979) [1]. – E.g., the Apple LISA was to have an abstract, tagging filing mechanism (the so-called "Twenty Questions Filer") and the spatial Finder was added last-minute [2]. Its limitations were noticed early on, even in development, especially regarding the integration of external file-spaces, but these were mostly ignored in times, when "external" meant floppies or maybe a 10MB HD.
I think, there's much confusion about this…
[1] https://web.archive.org/web/20200910041237/https://www.theve...
[2] https://www.folklore.org/StoryView.py?project=Macintosh&stor...
First is that we are still in the age of "search" superceding the directories (google over yahoo), that is wrong, Google, Instagram, Facebook etc are now curators. Gone are the days where searching for something brought up whatever else people were searching for, now it's curated both for generally good reasons ("Asian" doesn't turn up porn featuring Asian women like it did in 2008) and bad reasons (suggests ads up front and specific services under google.
Second their suggested paradigm feels like a hotbed for abuse of users' privacy. Given the author also wrote an article titled "Sorry, Big Brother Is Here to Stay" I'm not sure they are sensitive to that concern perhaps. One of the values of the more ephemeral bits of information is that it's ephemeral, and god we know google et al would kill to have a slice of that data. That said, back in 2009 or w/e I literally had a text file full of shit like copypasta you'd see spammed on 4chan, a meme folder, etc. It's not like people aren't capable of saving the ephemeral bits, it's just a conscious effort (which is what I think it should be) over one that is done automatically.
That said in conclusion, this reads a lot like trying to fix something that isn't broken. If anything, that too much is online and hard to actually save to your computer itself is a problem but I don't think the "desktop" metaphor is the problem here... may be they made the connection in the article but I didn't come away convinced their suggestion ameliorates anything.
Storing documents in web apps is, in my opinion, inferior in many ways because this is mostly opaque and thus bad at interoperability.
The not much financial incentive to do so, but everything should be local first, using open formats and protocols, the cloud should only be used as dumb backup.
I never have issues finding notes or choosing where to put them if I have a good hierarchy
Ideally I'd like to get away from Notion and just use local files but I can't for the following reasons
* Everything needs to be viewable from any device
* Drag-and-drop embedding images in documents is just too convenient, using plain markdown with images seems really cumbersome
* Need to be able to make quick notes/edit on mobile
Curious if anyone has found solutions to the above ^
The author's description of his computing life couldn't sound more alien to me. I put thought into my file organization, and prefer files to "fragments." I don't have anything but a couple of my most oft-used shortcuts on my desktop. I only keep files in my downloads folder if I suspect I'll be needing archives or installers again. I don't use webapps. Any of them. I don't allow javascript to run in my browser unless a site I trust needs it for something that makes sense.
The desktop suits me just fine and the browser is becoming less and less relevant to me as it trends toward things I find uninteresting and not useful.
I'm building a ui from first principles, ostensibly in 2012 it started as an itch to scratch because I found that no note taking software met my needs, the way people used email sucked, jira et al sucked, and I couldn't wrangle non-nerds into interoperating with me on emacs.
Instead of the computer as desktop or some other abstraction I started with an interface predicated on the idea that reality itself has 3 first class citizens: Time, Space/Structure & People/Minds.
As an organizing principle applications are just metadata on data structures (_App_tributes on a node if you will) in the same way a function is a file in a directory or hosted on a cloud service. "Data first" happens when you get rid of the "container"/desktop metaphor.
First Class: Nodes, People, Time
Second Class Enablers: Namespaces, Fragments, Timestamped Messaging, Specialized sub-interfaces
The reason projects like chromebook try to hide or delete structure is because App based interfaces are more conducive to advertising and because people use APP as a visual reminder of "functionality". A person or org must have complete "write" control of their data if they are using a first class data/structure interface (MS Word can't have in doc advertising), apps are a weird abstraction that make it easier to sneak "ads" into your workflow.
I am nearing 80% of my time in this interface, the plan is to have a consumer friendly note taking/sharing app (the best damn cross platform note taking app) that becomes the core UI experience to replace existing OS interface in future. As an aside, I muse that the way computing evolved from TTY interfaces created strong adherence to single line CLIs and software engineers never really overcame that, and that's one of the core oversights of human interfaces in computing.
What one wants is the ability to query the data of another program and send external commands to that program to alter the data. The data structure itself is somewhat irrelevant, don't you think?
While this is true, personal directories are still tremendously useful - and could definitely threaten search again - now that search has lost its way (SEO, sponsored items, etc.)
See stuff like:
* https://goodtuff.simonpanrucker.com/
* ... any “awesome” list for a language/topic
Curated personal directories can be really powerful in most niches. Many subreddits have these as well. It’s just the monolithic ones that have lost steam.
Technically, my computer has a "Desktop", but I never use it. I launch apps from a "Start" type menu (I run Linux, not Windows, but the Linux environment I use has the same basic setup) or from icons on my task bar at the bottom of the screen. I access documents and files using a file manager app. I surf the web using my browser. I write and test code using a text editor and terminal window. The only time I even look at the "Desktop" on my computer is when I've just plugged in a USB stick and I want to open it up.
In short, the basic premise of the article, that we all still think of our computer like it's the top of an actual desk with papers and files and folders on it, is false for me, and I suspect it's false for most computer users today.
"You have 88 untitled Preview documents."
Well there's your problem, sir.The flexibility of computers means you don't have to try to come up with one thing that works for everyone. Something different can always be implemented for those who want that something different.
The article would be stronger if, in addition to prescribing some macro ideas, it grounded them in a first attempt at implementation. For this new type of non-desktop computer focused on tracking fragments in an air traffic controller model ... where is the code?
Once upon a time there was a "manager" whose job primarily was to communicate via memo with his peers and superiors, and the cycle time for data to pass from his (yes, his) employees, to him, then he processed by him on his desktop and sent out to his peers etc was at least a day usually a week.
So there was plenty of time for him to arrange things in a single "document" called a spreadsheet, and maybe update a memo on Wordstar and send that via the typing pool etc etc
But the cycle time is now down to maybe hours if not immediate - and if the company is doing its job right in automation terms there is no need for manager to send out his documents - the data is in several warehouses already.
The desktop metaphor is as dead as middle management.
Want a new metaphor - look at Jupyter Notebooks - that's a layer on top of the existing data - kind of like middle managers were on top of their employees.
Is it just me, or does it sound like "Just do the thing I will want later, and no, I don't have time to tell you, you should just figure it out!"?
Imagine a program randomly closing stuff and saying "Oh you weren't using me for five hours so I thought you didn't need it any longer?"
Virtually all current compute contexts violate at least one if not both these principles. Memory management is left to the user (effecting such powerful and expressive mechanisms as the Spinning Beach Ball of Doom), whilst at any moment the operating system and/or hardware may elect to preempt any user-designated tasks or workflows with its own (system updates, virus scans, etc., etc.)
Android, I've recently learned, at least makes a stab at the first. It apparently utilises AI to allocate system resources. In my experience, it does so by shitting out any user state without recourse.
This is not an especially encouraging direction of progress.
When was this the case? Not in the "1980s and 1990s"
I found he didn’t know what he was talking about.
The author of this article doesn't have a problem that "rethinking the computer desktop as a concept" will help with - they have an organisational/concentration problem. With 75 tabs or 88 preview images the user can't possibly see the wood for the trees - or the problem he's working on from other clutter.
I have 20 or so projects on the go but have 6 or so apps and rarely more than 4 or 5 browser tabs open for longer than a few minutes.
A decent note/research taking app, image management tool (pinterest?), todo list app would be a great start. Or more likely a self management technique like GTD (Getting Things Done).
As examples, you'll find library patron waxing eloquently over the joys of card-catalogue search and shelf-browsing. (Clifford Stoll being an example of the former.)
Digital browsing is possible, though of course the dynamics differ.
I think we need a name for this, it's like an operating system but "backwards". The operating system is a common API/abstraction for programs/applications to access hardware devices, and control access to resources. But this is different, these UI systems are a common abstraction for human interacting with different programs/applications. So it is human (not a device) who is being abstracted by them, and the applications written to that abstraction can be run under the UI.
The way I think about them, these are not "UI systems". These are operating systems.
That's how I see my Emacs. It's an operating system I work in, running as a guest in whatever traditional OS I happen to have on the machine. It provides a common API/abstraction to access resources and interface with the user[0]. It coordinates applications running on top of it.
The magic of Emacs comes from a slightly different approach: it's more focused, less restrictive, and deeply introspectable. By focused I mean, the core paradigm is that applications communicate with users through means of "buffers" containing rich text. Less restrictive - everything can talk to everything else, including poking at its internal state if it so desires. Because Emacs embraces this level of deep interoperability, it provides tools and culture[1] that help manage what would be otherwise ridiculously large interaction surface. And almost everything is thoroughly documented, you can quickly discover what code is being run to make something happen, jump to the definition of anything (including Emacs' C core, if you built from source), and potentially modify it and have the changes applied without restarting.
Being able to easily modify the UI you work with is a nice side effect of these features, but it's nowhere near the whole reason they're there.
--
[0] - More of the latter than of the former by default, but you can expand the API surface to cover more of the responsibilities of a typical OS if you need to.
[1] - For example, defadvice is a tool you can use to extend, modify and suppress any individual function in any Elisp executing in Emacs. It allows users to do things that would otherwise be bug-prone hacks, but it's still too much power for most use cases. This is where the culture comes in - both Emacs and third-party packages typically expose great many hooks around various activities, in anticipation of things people may want to override or extend. In practice, these hooks cover 90% of the things anyone may ever want, so defadvice is a rare sight.
I don't have anything on my desktop because I use Emacs. Terminals predate the desktop and they behave more like fractals than the happy little two-dimensional workspaces we created for our office workers. If the author is unhappy with the desktop then a good place to start with reinventing it would be to read the vision written by Vannevar Bush that inspired it.
And I definitely don't want to rethink my computer desktop. It's fine. What I want is to polish it. Every desktop I tried is unpolished.
MacOS tried a scorched-earth approach at supporting hardware, which allowed for a pretty impressive software stack to be maintained with (relative) stability. The issue is that MacOS takes countless shortcuts to reach that final level of presentation. APFS is a mess compared to it's contemporary filesystems, and the entire underlying ethos behind getting an app to work on MacOS depends on how well you're willing to work with Apple and integrate into that central stack. Their idea of a desktop is one where the first party is in control, and they provision you permissions where they see fit.
Windows has to accommodate for a much larger pool of hardware, but also has the advantage of market dominance. Everyone develops for Windows because it powers more than 70% of consumer PCs. It's a no-brainer if you want the biggest audience possible. Microsoft also breaks from Apple in providing a much more robust compatibility layer for legacy software. It's reliance on antiquated internals also helps suppress newer technologies from entering the desktop. The Windows shell pared-back and lacking, even compared to most Linux desktop environments. Their idea of a desktop is one where the third parties are in control, and you provision them permission where you see fit.
I've seen people be productive with both, and I certainly can't knock them for being the predominant platforms, but I eventually just got fed up with fighting my computer to do basic tasks and switched to Linux. Everything is a file here, that's canon. Microsoft won't try to sell you more OneDrive storage, and Apple won't second guess your authority here either, since the user is sacred. It's that kind of dedication to simplicity that tips the scales in Linux's favor for me, and I can't imagine I'll be going back to Windows or MacOS until either of them show a similar dedication to empowering the user with simple tools.
Just don't share your desktop? Share a single window?
But I'm even more flabbergasted by the idea that mobile, of all places, is a good place to mimic. Have you tried finding documents on your phone? Go on. Give it a spin. It's a disaster area worse than desktop.
It's a good learning opportunity, though - it makes clear that if you really want to fix things, the very first thing you get to tackle is interoperability - because that central air traffic controller you want? That needs access to all the files. That's already tough - commercial interests counteract it - but it also sits at the heart of privacy. If we have excellent interop, we have excellent interop with any and all actors. That includes ones you might not want to have access, unless we succeed at building a good and understandable security model.
One must be ready to part with ideas that have not been acted on for a while. It’s not the computer desktop’s responsibility.
All the while I agree with the general idea that powerful search on the desktop still has potential for further development.
I didn't read the the article but from others have said here they didn't offer a better one.
Th actual issue is that a sheet of paper never changes unless you do something to it. And the way our cognitive system perceives the ever changing screen is very different from how it sees the paper.
The real screen is the one you see when your eyes are closed (or when your switch you attention to 'there' without closing your eyes).
Plus, you can't use your hands directly to work with things on the screen. With handwriting each letter has individual motion pattern. Now this is lost. Tactile feedback is lost too.
This imbalance affects you ability to learn and evolve very badly. That's the real issue.
Also involution is known to happen very quickly. Losing abilities takes only two (!) generations to persist.
I know this is common but to me it's unthinkable. If anything I have a compulsion about closing any tabs I'm not using.
The topic comes up regularly in HN posts and comments.
I've taken my own stab at it: tabs are a preferable, readily-utilised, if cumbersome, form of state management that's otherwise lacking from web browsers.
https://news.ycombinator.com/item?id=17376317
https://news.ycombinator.com/item?id=9638702
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
https://old.reddit.com/r/dredmorbius/comments/256lxu/tabbed_...
If you keep your house messy this is what you get. All my stuff is in a single place nicely organized, sorted and backed up. I do not need to "rethink" and I do not depend on cloudy stuff (being connected which I am is a totally different subject).
Sure I do not mind if someone clever enough comes up wit concept that improves ergonomics but other than that please save me from "innovations" that complicate my life and cost me extra dosh.
On Ubuntu (recent versions have Gnome Shell, older versions had Unity), press the "Windows" key, and type away...
There's certainly a lot to complain about in both of those implementations (esp speed), but to get a feel for what such UX would look like, try them out.
There are numerous filesystem indexing tools. Within the past decade they've become useful on most systems (Linux, Mac, presumably Windows though I've not touched that in well over a decade).
Given a choice between writing on an iPad w/ keyboard or my Mac laptop, I always choose the iPad. It’s a UI that forces a notification paradigm on every app (by virtue of an App Store). It has full screen by default. Ironic that the “phone OS” is better built to respect my attention.
If I'm writing, I may be referencing material, or excerpting what I'm writing into another document or communication, or reading a source and a manual at the same time.
A long-ago development environment I used had three principle windows. One was the program source code, another was the generated report output, and the third was a set of runtime messages --- notes, warnings, and errors --- from the run. Roughly equivalent to stdin, stdout, and stderr, in a Unix context (and presented as same on Unix).
Mind that this is not the same as having chat, email, stock and weather tickers, etc., all visible at all times, a mode I find exceptionally annoying and utterly hostile to focus and concentration. That's not the only possible usage, though.
(Mobile devices' presumption that owner's attention is interruptable at any time is its own crime against humanity.)
- files and folders (the article speaks about them). That's so ...50s. We need 'piece of information' to be the basic building block, and abstract away the storage details.
- processes (as in programs that run on a computer). Again, a 50s concept. Today we need ...functions. Programs running should be reusable functions put together by anyone, changeable by anyone (within the security context provided by the origin), debugable by anyone.
- network. No one cares about the why and how of networks. We just want to get stuff done.
- environment variables, the console, the environment etc. Another 70s technology that has survived and nowadays creates as many issues as it solves.
- program installations. We should simply press a button and applications would appear running on our machines. How this could be achieved? lazy downloading, local caching, on the fly updating if a resource is updated, etc. We already do this with web applications, but the next step shall be to do this without referring to the 'web'.
This doesn't mean the technical details of the above shouldn't exist. They obviously should exist. But not for 'mainstream' use of a computer. This kind of detail should only be available to technicians that troubleshoot technical issues.
Files can be accessed by typing in their full path (with tab completion in some cases). (Some programs insist to use the GUI to select/list files rather than you can just type them in, and I hate this.) For searching files by name, ordering, etc, there is such commands as ls, and stuff that can be used.
For downloads, I will always type in what I want to save it as and in what directory, and usually I will use curl to download and redirect output to a file, or sometimes to another program is useful.
For screenshots, again I can use command-line programs; a program can make the screenshot, and then piped to the one that encodes it as PNG, and redirect its output to a file in order to save it to disk.
Command line interface is better, I think.
Why do you have "88 untitled Preview documents" open?
What exactly do you use Preview (an existing-image/pdf viewer) for?
>Everything that is outdated in computer desktop usability is captured by that dialog box.
So, for normal users without dozens of untitled new documents open, computer desktop usability is 100% fine?
I’m not a big fan of the Desktop as a file storage location. My experience on the Mac is that it just becomes cluttered with screenshots and old documents unless you babysit it.
My solution has been to have screenshots saved in a ~/Screenshots directory. You can change the save location of screenshots with an easily Googlable command. I have a shortcut to this folder in my dock.
I also have a separate folder ~/Temporary, which also has a shortcut in the dock. This is where I put any documents that I need to quickly reference only a handful of times. I have it set up to automatically send any documents that haven’t been opened in 30 days to the Trash, where you’ll have one final opportunity to recover the files before they vanish forever.
This strategy has essentially obviated the Desktop as a file storage location, and just generally allows for more organized computing. No more ugly desktops with 50 icons scattered around.
(I know this isn’t 100% related to the article, but it’s something potentially helpful that came to mind while reading it)
I wrote an emacs package called SFS(search file system) to solve exactly this set of problems. It is just an interface on top of the excellent Recoll full-text indexer. Among other things, SFS allows you to create hierarchies of queries, the search analog of a folder hierarchy. A parent "directory" is just the logical OR of all of it's content named queries. Everything works great for me, but the installation process is a bit painful(especially cross-platform), and indexing can take a serious amount of time and space initially, so I would say it's still a ways from being really comfy to use. But it is totally possible to have your own little google for your file system. I have gifs on the GitHub page to at least give you an idea:
https://github.com/Overdr0ne/sfs
Enjoy
Tagging may work better, though you'd need a tags-aware toolchain to work with them if the metadata are associated with the filesystem. An external tagstore might be resilient but could find itself out-of-sync with filesystem state.
Followed by:
> Twitter, Instagram [...] iMessages and Slack [...] URLs and meme gifs [...] Photos from the phone [...] Video clips of toddler nieces
Among all those 8 things of one kind, only 2 things of another kind:
> a PDF that we download to print out or fill in and email. Data that we copy from one spreadsheet to another.
Never mind the old 80s/90s UI: Does he ever "… do anything?"
And finally:
> The whole thing with the piles and piles of windows open all the time has never been a frictionless experience. But now sharing your screen for a meeting is commonplace. Everyone gets to look at your messy desktop. Or you have to tidy it up real quick before the meeting.
Which harks back to, from the beginning:
> How many browser windows do you have open right now? (I have 37 windows open, with some 75+ tabs.) Email, calendar, cloud document collaboration, Twitter, Instagram — are mostly or all in the browser. What else? iMessages and Slack are apps that require the internet to do anything at all. None of this stuff existed in 1985.
And almost none of it seems to have anything to do with getting any actual work done… But, anyway, to tie this back to that last paragraph: A measly 75 tabs? YTF do you have them spread over a million windows? That's one, or at most two or three windows' worth of tabs. Just get into the habit of opening something innocuous -- your work calendar, shtuff like that -- pin its tab, and drag it to the left-most position. Then a present-able desktop is just a quick Ctrl-1 away.
Sheesh, darn amateur kids nowadays… Geroffmylawn.
<Random rant> Operating systems and boot messages. Why these need to be hidden? It does not require any user action, but provides valuable information when things go bad.
And those freaking spinning progress indicators, that do not tell if the progress is actually happening or working thread has crashed or got locked.
Everything is connected to some company's server and dark patterns are everywhere.
And it feels like all the sites are designed for showing no actual information only full hd carousels with stock images.
</Random rant>
So this reminds me an awful lot of Apple's OpenDoc initiative from the late '90s. Such a shame Jobs pulled the plug on it when he returned.
It also reminded me a bit of Microsoft and KDE doing stuff with COM/OLE and KParts/KIO, though OpenDoc always came off as way more ambitious than those.
Unfortunately computers are no where near reliable enough for a paradigm shift. I will always have a better mental model of my data then the PC will at this time. Especially for important stuff. If I have to keep the old ways for important stuff than there is little point to learn a new paradigm for my pointless stuff.
The Desktop folder might make some sense if it were the root of the filesystem, but as it is, it's just somewhere that temporarily stores my screenshots, that I have to frequently clean-up by moving its contents into ~/Pictures.
* Move hand from keyboard to mouse / touchpad
* Click "Minimize window" button in upper corner
* Mouse over to task bar / dock[1] and click the other app
* Do whatever it was they were doing (copy/paste?) there, then...
* Repeat the process to switch back to the first app.
* Lather, rinse, repeat. Repeat. Repeat. Repeat...
Yes, I mentioned the existence and function of Alt-Tab[2] a couple times. Not too many. Apparently not enough. I have later observed the same thing with at least one current colleague[3], also with decades of experience in their line of work.
Eh, sorry, "Why are you recounting all this?", I hear you ask? OK, to get to the point: People who work this way do actually get to see their OS desktop a lot.
I think most people used to do that back when the graphical "desktop" UI was new; I may well have done so myself, 30-35 years ago -- not for very long, though, AFAICR. And I wouldn't have thought that very many do nowadays; I'd have guessed most people who've started to work with computers after ~the turn of the century would have faster, more fluent, ways of working ingrained.
___
[1]: Can't recall if they used Windows or a Mac at the time I noticed this.
[2]: Or Cmd-Tab, or whatever it was on the Mac.
[3]: Whom I'm sure uses Windows.
In reality, that Desktop view is not the _actual_ folder, which is located in the User folder. It's just a special view of the desktop that probably causes more confusion than it is worth.
I'm on macOS, and have a ton of untitled open / edited Preview documents (annotated PDFs, marked up screenshots)
When I hit Cmd+Q Preview closes without any dialogue, opening Preview again restores all the documents in their correct state
I have a suspicion the author has some combination of "Close windows when quitting an app" turned on in System Preferences -> General (not the default choice), or "Ask to keep changes when closing documents"
I think a lot of people enabled these settings when macOS did away with the "Save As..." options and made everything save and restore by default
Then some naive proposal for a weird uniform interface known as "fragments".
Yes, the userspace is becoming increasingly browser centric. I don't understand what this guy is dreaming for. That future desktop environments wrap everything in some meta data structure, on top of a preexisting file system?
A symbolic link to a url is a file, meme gifs are files.
Really that kind of threat of deleting documents is completely unacceptable. It implies that I, the user, don't have any say. That I must make this decision right now. Because I have nothing better to do. That the computer cannot simply store these documents and restore them later when preview reopens. (Which it most definitely can)
Its just lazy developers, or, much more likely: just bad ux.
And if I wanted to hide the Preview window full of my porn for a video call (I'm assuming that's why he wants to close that Preview full of a bunch of stuff), I'd just hit f3 for Exposé or whatever they're calling it this year and switch to the desktop I keep tedious public-proper work shit on and leave Preview where it is.
If it guesses my purpose correctly, it feels almost like magic. But it's wrong more often than not.
However, let's not be revisionist. Back in the day, Google was light-years ahead of anything else I had used.
Look, if your employer mandates Mac OS or Windows, I get it. Go raise hell about it to your supervisor a few times and if they're not interested, then you can piss and moan about MS and Apple foisting outmoded UI paradigms on a non-consenting public. Fine.
Otherwise, if these are systems that you've selected and paid for of your own accord, knowing full well what that entailed, then you're just feeding the monsters and then complaining that they won't change their ways. These are profit-motivated entities, folks. Until their bottom line is impacted, and somebody spells out that it's because of Issue XYZ, they're not going to give a flying f--- about Issue XYZ.
Ben Zotto, there have been options out there for decades- literally decades- that follow more flexible paradigms than the traditional desktop metaphor. Kindly consider putting your money where your mouth is, kicking Apple (and MS) to the curb, writing a public blog post explaining why so that some product engineer there understands... or otherwise perhaps just admit to yourself that they own you (not the other way around) and move on... but this thing of "I'm going to write an article complaining that a profit-driven company won't solve my problem, even though I continue to pay them not to solve my problem" has got to stop.
I don't think this is the solution.
I'm a bit disappointed that the essay doesn't take the approach of identifying the problem more fully, before proposing a solution.
The base effect of reading the article, feels to similar to someone telling you about a thought they had in the shower.
Or not so temporarily in my case :')
But yes I agree we need to rethink this. The desktop as a paradigm was good to introduce new users to the concept. We can come up with better stuff now. I see a bigger future for tiling window managers like i3.
"Even the word computer."
"Even the word computer sounds backward and dumb."
- Cosmopolis (2003)
all new systems of any interest are systems made up of multiple devices. standalone computing is fading. facing this fact is an existential question that personal computing, that free desktops must face, as must everyone else.
still some decent exploration of the value of file systems. I for one think the mind palace of a directory heirarchy is extremely worthwhile and that search only, giant nebulous seas of files, is a terrible idea that will leave us unmoored & adrift, forever lost & without concrete thought. but I could be wrong!!
The desktop metaphor by itself utterly ignores any concepts of workflow. It doesn't even readily assimilate kluges toward that notion.
LOL, I'm glad I'm not the only one, except I copy entire home directories.
I tend to assemble mine from:
- Author (if not myself)
- Recipient (if correspondence)
- Project (if myself)
- Title (or keyword)
- Date
There are non-file (or metafile) systems which populate metadata automatically, with email systems perhaps the most familiar (from, to, date, subject, plus other optional tags or headers).
Versioning should be handled by a version control system.
The "New Document" / "New Folder" convention is ... just stupid.
Mind that the above are for documents in a more traditional sense, rather than, say, files within a programming or scripting project. The directory hierarchy itself can provide much needed context, though filename conventions add to that.
For many/most of us, iPad is not a desktop replacement.
But for the rest of the world, it seems its getting there.
please advocate these (old) ideas (becoming new again) to the creator of SerenityOS, I want to listen to his opinion since he used to work for Apple as a WebKit and Safari engineer
- everything is a blob of bytes. perkeep stores everything based on their hash
- a blob of bytes can be a photo, in which case there's a little metadata blob pointing to it, explaining what it is, where it was taken, the modification time, maybe some additional details, and a title. That blob is also stored and retrievable with its hash
- or it can be a video, or a tweet, or a file... in any case that's just an additional metadata blob that creates structure out of the raw bytes
- those metadata blobs are indexed and searchable
The end result is a massive store (possibly implemented with remote storage, it doesn't matter, it's all the same API) with "fragments" in it and a search bar to access it. Search for "Scotland" and you'll see the poem you wrote while you were there, along with your flight ticket and some pictures of the mountains.
I think we've all been using the Downloads or Desktop folder as a user's temp folder, because we knew something we did was recent so it should still be there, and although it's not how it's supposed to be it still works very well that way. But computers are made to serve us, so if that is the way we're using the computer then the software should change to better suit us:
- no software made in 2021 should have a "Save" button: it should be done automatically, such that I can leave the application and reopen it, or open another one that can read the same file, and be back to the state I was in before.
- for some files I just don't care where they are saved, I only want them to be accessible in a "Recent" folder. The only way I've found to make it bearable on windows is to use everything (https://www.voidtools.com).
- for even more files I want to access them not based on some name I put but based on more metadata. We have the tools to automatically categorize photos, I want to be able to search for garden photos without going through a third-party's bloated website.
- some of the files have a specific hierarchy because they depend on each other. A path should be just another metadata instead of being so central to the identity of "something"
All of this is doable with something like perkeep, but its API is not really made for being used as such; it's more geared towards backing up one's digital life and digging through it. Maybe we don't have the right software, but I'm sure we have the right bricks already.
Just because I've opened a document that doesn't automatically imply that I want any changes to be saved without asking, though - it's not that uncommon that I open something for reference purposes only, so that any changes are either unintentional (accidentally hit a button or started typing with the wrong window focussed), a side-effect of copying data into something else (e.g. unhiding some layers in a graphics or CAD file so I can copy that data) or else just some experimental or otherwise temporary changes that I certainly don't want to keep, though.
Here's the other data point, actually, two billion data points. It's hard to get an accurate number, it seem there are about two billion desktop computers worldwide. About 85% of them are running Windows and most of the rest macOS.
You don't deploy two billion of anything if the user interface is broken and people have issues with it. The fact that everyone, from grandparents to PhD's in CS are able to successfully use and navigate these abstractions pretty much says they work just fine.
These platforms (all three major ones) work well enough for non-engineering users to use them every day without major concerns. That, to me, is the very definition of something that isn't broken.
That said, is there room for improvement? Sure, absolutely. Always. Nothing earth shattering though.
For me, a more intelligent clipboard and the functionality that Google Desktop Search used to provide. I keep a massive amount of useful data an a "Library" drive. This data spans a range of disciplines (electrical, software, mechanical, optics, robotics, manufacturing, etc.) as well as reference material (books, manuals, courses, etc.). Any search for information on the browser completely ignores the vast amount of information I have collected over the years.
Truly integrated search across platforms would be very useful. I know there are tools out there that might be able to do some of this. I used to use Google Desktop Search. Once that evaporated I didn't look for a replacement.
One way to get around this --to have a single browser-based universal search experience-- would be to move all the files to a web server and let Google index them there. At least two problems with this. There are files in Library that are private and should not be exposed to the internet (client files would be one example of this). The other category are paid products --the simplest of which being either PDF or other format ebooks or training material. And, finally, as we do work under ITAR we simply cannot have a bunch of our data out in the open for all to see.
I realize that for a lot of people these days the computer experience is inseparable from the online experience. However, for a lot of us, this is precisely what we need, a clear demarcation between desktop and everything on the other side of the network router.
A simple example of this I can offer is what Altium have done to their Altium Designer electronics CAD software. They are so intent on turning it into a Fusion 360 style recurring revenue cloud tool that they have, in my opinion, compromised security for every user who cares (or is required by law) about these things. Today --and this is just my opinion-- when you are using Altium Designer, you cannot possibly guarantee that the designs you are working on might not be exposed to their cloud solution. I suppose you could if you air-gap your machines. Not sure how it would handle licensing without the ability to call the mothership. This is terrible stuff.
You needn't use your real name, of course, but for HN to be a community, users need some identity for other users to relate to. Otherwise we may as well have no usernames and no community, and that would be a different kind of forum. https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...
If I had a dollar for every time I've explained why a search isn't returning the results that the user thinks it ought to, because they are a human being, and not a dumb pile of boolean logic...