5 ms·
I've always thought ‘multi-document interfaces’ as we used to call them are an anti-pattern. I have a perfectly good window manager; why does every app need its
by Twey 1y ago
I've always thought ‘multi-document interfaces’ as we used to call them are an anti-pattern. I have a perfectly good window manager; why does every app need its own incompatible, usually inferior window manager built in?
(Mind you on mobile I very much don't have a perfectly good window manager, and indeed can't even open multiple instances of most apps…)
- cosmic_cheese 1y agoAs a long time Mac user, MDI has always felt like a stopgap to make up for the OS not having the ability to manage windows on a per-application basis (so for example, being able to hide all windows belonging to a particular application or move them all to another desktop/screen). It also feels very foreign on macOS - Photoshop suddenly gained the MDI-type UI in like CS4 or something, after having let windows and palettes roam free on macs since Photoshop’s inception. I always turn it off, feels claustrophobic somehow.
- Twey 1y agoI think that's still a little too restrictive. Sometimes you really do want multiple groups of windows that may belong to the same (think multiple browser windows each with multiple tabs) or different applications (e.g. grouped by task). It's not hard to see how the application marketplace leads to every app doing everything including managing all the things it does, but it's not good for the user.
- cosmic_cheese 1y agoCustom groupings is a nice feature too, but that feature can live happily alongside app groups. In fact I think the two would compliment each other nicely.
- Twey 1y agoWell it subsumes app groups, I think? If anything app groups become just a default/prebuilt grouping policy.
- boredtofears 1y agoTo throw gasoline on the fire: this how I’ve always felt about tmux. Why use an incomplete in terminal windowing system when I can just have multiple terminal windows open managed by the superior OS window system. (That said I know tmux is sometimes the only option and then it makes sense to me)
- kurisufag 1y agotmux (and screen) are incredible assets for remote sessions, both for continuity across dropped shells and multi-shell activities when the connection process is tedious (multiple jumphosts, proxies, etc.)
- o11c 1y agoThe continuity benefit is much less than it used to be, now that we have systemd with `enable-linger` so we can make proper daemons.
- em-bee 1y agothat's not what tmux provides continuity for. the continuity is for interactive sessions. on my server i have more than 20 tmux windows, each one for one specific purpose. they have been running for several years.
- o11c 1y agoMy point is that a lot of hysterical-raisin interactive sessions really don't need to be.
- jauntywundrkind 1y agoI've fallen out of using it, but for a while I was using dtach to do similar without the virtual terminal multiplexing. Much much more direct. I'd just run a vim session. If I needed terminals, they were in my vim! Even wrote a short shell-script to automate creating or re-attaching to a project specific vim session. https://github.com/jauntywunderkind/dtachment https://github.com/jauntywunderkind/dtachment Haven't looked into it, but I'm love a deeper nvim + atuin (shell history) integration.
- Barrin92 1y ago>why does every app need its own incompatible, usually inferior window manager built in? You answered your own question, because a lot of applications work across multiple platforms, and if you want to have control over the experience because you don't know what capacities the OS's window manager has you need to abstract it away.
- Twey 1y agoAbstracting something away and duplicating it for yourself are two very different things! Remember Java Swing? But I take your point, if you want to target the lowest common denominator of window managers it makes some sense to do your own window management. Mind you you could just ship both a browser and a window manager… I wonder to what extent the pattern of applications doing their own window management masks (and therefore perpetuates) the problem of inadequate window managers.
- BobbyTables2 1y agoCompared to the experience of something like “Gimp”, I prefer something contained to a single window. Otherwise two or three such apps running at the same time becomes a game of “where’s my window”. I hate the idea of a toolbar being its own window to be managed.
- weare138 1y agoAs a long time Gimp user, I remember dealing with the same thing but they did eventually fix that. It actually runs in a single window by default now.
- pta2002 1y agoI mean, old photoshop versions (CS3?) also used multiple windows, so if I were to take a guess that’s where Gimp got it from.
- GuinansEyebrows 1y ago"palette" windows were common in a lot of creative applications for a really long time. it seems like with larger screens and higher resolutions, that's a lot less common by default than it used to be.
- iiyama 1y agoThey indeed feel way less of a pain than dealing with an app with complicated UI stuffed into a single window on a screen with half the size the app was designed for. Even with the site we're discussing here, once I cranked scaling to 200% it became noticeable harder to read than a regular webpage with some text on it would with the same scaling. However, I believe there is a better way to approach this: put each significant piece of functionality into a separate window or even executable, and use regular moveable toolbars and well-known hotkeys inside each window. One window for code editor (with working Ctrl+Tab and Window -> Tile Horizontally menu), another for configuration, yet another for terminal and output window (with a Pin on top button). When I write code I don't normally need configuration tool, but if I need it even so often it gets opened alongside the editor and is now one Alt+Tab away, not taking any screen space at all. I used an engineering tool suite written with this approach and it was much better experience than the single-window monstrosity that came as a replacement, stuffing entirety of functionality into a single app and breaking (not implementing) a lot of small conveniences like aforementioned Ctrl+Tab.
- dotnet00 1y agoI think the issue is partly that most OS window managers really don't seem to optimize for having a dozen small windows on your screen in the way that the custom window managers in, say, art software or CAD software, often do. Mainly in terms of how much space their title bar takes/wastes.
- 1718627440 1y agoI thought that on MS Windows MDI is part of the operating system. There are programs that can change it at runtime. That's honestly pretty neat.
- badsectoracula 1y ago> I have a perfectly good window manager; why does every app need its own incompatible, usually inferior window manager built in? Because some applications do need multiple windows in the same application context. A common example would be image editors. It is unfortunate that almost all generic MDI implementations (Win32 and Qt basically) are incredibly barebones. I want to have multiple windows visible when i'm using Krita, for example, but Qt's MDI support (that Krita does use) is worse than what Windows 95 had.
- SSLy 1y agoWhat about Cocoa?
- Twey 1y agoThe ‘application context’ isn't a concept that adds value, at least for the applications I've seen. For things where the application windows do need to be treated differently (e.g. patch bays that can be connected together, or widgets that can be fused into larger widgets [1]) I have more sympathy for applications that want to do their own window management. But for something like the browser just grouping Web pages together, that's something entirely unrelated to the browser functionality that should be available in the window manager. [1]: https://wiki.haskell.org/Eros https://wiki.haskell.org/Eros
- badsectoracula 1y agoWell, yeah, it doesn't fit all applications and web browsers are a case where MDI doesn't really work. The linked site is more of a gimmick, at least as far as the documents go. But my response was about calling MDI an anti-pattern in general. Just because it doesn't fit all cases, it doesn't mean it is an anti-pattern.
- Twey 1y agoOh no I get that the in-site MDI is a funny stylistic choice, and I've no problem with it. But the thing it's poking fun at is in-browser MDI, hence the comment. I stand by the anti-pattern comment. I think there are very, very few cases where ‘MDI’ is appropriate, and I put it in quotes because the things being managed in that case are almost never ‘documents’ in any meaningful sense (rather they're some kind of graph node). Functionality apps build with MDI is basically always independent of the actual app and would be better implemented in the window manager — and more often than not there's actually no additional functionality over even the lowest common denominator of window managers.
- ironmagma 1y agoNearly every UNIX command has its own way of formatting output, be it into columns, tables, lists, files, or TTYs (and windows, à la emacs, screen, other curses-based utils...). Even `ls` has a table formatting logic to it. This keeps the UNIX native abstraction relatively simple; everything is "just text." But the ecosystem, being quite rich, actually has a lot of divergent requirements for each utility. If that was avoidable, we probably would have seen some other abstractions appear on top of "just text," but we similarly haven't.
- dheerajvs 1y agoWould you extend that argument to tabbed interfaces as well? Why should browsers support tabs (and an inconsistent interface by each vendor), when you can just open a new window instead?
- wvbdmp 1y agoOne could argue that this affordance should be provided by the OS for a unified experience.
- Etherlord87 1y agoThe tabs reuse resources of the browser, and the browser does it really well - I think it's not even arguable that browsers are more complex than the OS GUI API, this is why e.g. Windows 11 uses react.js in start menu. So if you create a webpage that is so damn advanced that it beats the browsers OR it somehow reuses heavy resources within one webpage, I'd say this is a good justification. And IMO the OP link isn't an example of that.
- codethief 1y ago> Windows 11 uses react.js in start menu They do what?! EDIT: Sounds like they only use it for the "Recommended" section, though? https://news.ycombinator.com/item?id=44124688 https://news.ycombinator.com/item?id=44124688
- Twey 1y agoEven better, WMs can (and sometimes do) support tabs!
- afiori 1y agoBecause browsers only remember the last set of open windows reliably. So if I were to split the 5 tabs I usually need for work in 3 windows I would routinely lose a bunch of them.