Why Our Website Looks Like an Operating System
Posted4 months agoActive3 months ago
posthog.comTechstoryHigh profile
excitedmixed
Debate
70/100
Web DesignUser ExperienceNostalgia
Key topics
Web Design
User Experience
Nostalgia
PostHog's website redesign mimics an operating system, sparking both praise and criticism for its uniqueness and usability.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
1h
Peak period
142
Day 1
Avg / period
32
Comment distribution160 data points
Loading chart...
Based on 160 loaded comments
Key moments
- 01Story posted
Sep 11, 2025 at 7:45 PM EDT
4 months ago
Step 01 - 02First comment
Sep 11, 2025 at 9:03 PM EDT
1h after posting
Step 02 - 03Peak activity
142 comments in Day 1
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 24, 2025 at 5:05 AM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45217269Type: storyLast synced: 11/22/2025, 11:47:55 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
(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…)
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.
(That said I know tmux is sometimes the only option and then it makes sense to me)
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
Haven't looked into it, but I'm love a deeper nvim + atuin (shell history) integration.
> i have yet to find a window manager that lets me group so many terminals into sessions all on the same workspace.
Locally-speaking, I don't really see the point of mixing tmux sessions and tmux windows. I wonder if you mean "sessions" -> tmux windows and "windows" -> tmux panes.
What about i3/sway? You can have a tabbed container (functions like tmux windows) with split containers inside (functions like tmux panes). You can even float the tabbed container with all windows organized inside.
sessions let you group windows. i have a group/session for each project/purpose. one session is for all remote connections. one for my personal stuff, diary, etc. one for my hobby. one for personal dev projects, one for client work.
sessions also means that i can connect to tmux from multiple terminal windows. i generally have two windows, one for dev work and one for everything else.
generally i feel that having more than half a dozen windows in a session makes the session unwieldy, harder to navigate, because it becomes more difficult to find the window i am looking for.
which would be the same problem if each was a gui window. try to find your way around 20 gui windows.
Why would you have all those open at the same time, though? Isn't that incredibly distracting? (Disclaimer: I have no experience with tmux to speak of, beyond briefly trying it once or twice.)
these things are open because otherwise i would have to open them and close them every time i want to use them. by keeping them open i can switch back and forth faster. but, while i am not using them they are invisible. and i don't notice that they are there.
> which would be the same problem if each was a gui window. try to find your way around 20 gui windows.
I mean, just like how you can organize tmux windows in tmux sessions, you can organize gui windows in workspaces and containers to arbitrary depths.
which GUI offers that? i have only ever seen a single level: workspaces and windows and tabs. that's not enough.
by using tmux i get those three GUI levels and the three levels of tmux
The ones I mentioned: i3/sway. There's probably other tiling WMs that similarly allow organizing windows into trees of containers of arbitrary depths. The containers being able to be set into 4 different modes for displaying the containers/windows within: split horizontal, split vertical, tabbed, or stacked.
seriously, a window manager that can group windows and manage those groups would be awesome. workspaces help, but they are often just there, and can't be managed, reordered, named, etc..
actually, i think kde may have some of that functionality.
i still prefer tmux in any case because it is more scriptable, and it provides a detach function. although i recently started exploring wezterm, which can be configured to work like tmux and also has a way to detach and reattach sessions: https://news.ycombinator.com/item?id=44762241
On our datacentre servers, I also have tmux running. It is fast to connect to these hosts, attach tmux and continue from where I left off.
Another use case: it is common for corporates to require devs to use windows desktops, but to then give them a headless linux host in a datacentre for development work. Here, you use putty to connect to the linux host, fullscreen it, run tmux. On your desktop you have outlook and office and putty and a browser and no dev tools. You can do all your planning and dev work on the linux host, using your favourite ten thousand hours text editor and building your own tools, and this becomes your hub. You lose awareness that you are connected to this from a locked down windows host. Corporate security reboots your windows host for patching several nights in a row, and it does not cause you any hassle because your work context is in the tmux session on another host.
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.
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.
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.
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.
That is the issue, apps have to deal with the lowest common denominator in term of desktop management but there is absolutely no good reason to build a window manager inside a website.I think that with tabs people have generally forgotten they can open multiple browser windows.
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.
[1]: https://wiki.haskell.org/Eros
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.
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.
In theory you can have multiple toplevel windows with separate windows for the control stuff (tool window, tool options, panels, etc like GIMP has) but in that case you really need a virtual desktop dedicated to the application itself. Personally i prefer to dedicate virtual desktops to tasks (i have a fixed number of virtual desktops and their shortcut keys have become muscle memory over the years), so e.g. anything graphical goes into the same virtual desktop, but -say- GIMP in multiwindow mode feels awkward to use alongside Blender. Krita having an MDI mode is much better IMO, even if Qt's MDI support is primitive at best.
The only applications that really need MDI are those that do something with their windows other than window management, which (loosely) implies that those things are something other than windows.
[1]: https://en.m.wikipedia.org/wiki/Metisse
> The only applications that really need MDI are those that do something with their windows other than window management, which (loosely) implies that those things are something other than windows.
Well, in the example of image editors i mentioned, these windows are views to the underlying image documents - and being able to move and resize those views arbitrarily, together with a caption about the document they're about, is very useful. It also matches perfectly with embedded/MDI windows.
XMonad supports tabbed groups, by the way, as (apparently) do i3wm, Sway, and Hyprland.
> Well, in the example of image editors i mentioned, these windows are views to the underlying image documents - and being able to move and resize those views arbitrarily, together with a caption about the document they're about, is very useful.
Sure, it is. That is also exactly the set of features of a window manager :)
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.
They do what?!
EDIT: Sounds like they only use it for the "Recommended" section, though? https://news.ycombinator.com/item?id=44124688
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.
But nobody will actually use it the way they describe in this article. Nobody is going to use the site enough to learn and remember to use your site-specific window management when they need it.
Super impressive. Fun. Does a great job selling the company ethos.
But not actually that usable. I don't think this matters too much, though.
To note, in the past, this was a big no-no because SEO was important. You had to have good SEO for search engines to index your content efficiently and show up well ranked in search results...
Now, well, that ship has sailed and sank somewhere off the west coast...
It runs like a dream when playing with the first window. When opening a second window and dragging it around it stutters for a second then resumes back to full speed and every window after is full speed. (I'm assuming that's the browser going: "Oh wait, they really are using those functions every frame, let me spend a moment to optimize them so they're as fast as possible for future executions)
I had the same issue then tried edge and it was smooth.
- some posthog dev waking up this morning after yesterday's release
For some easter eggs, click on the "Trash" icon, and click on any of the docs... Especially the "spicy.mov" :-)
Keep up the delight.
St George Bank, Australia circa 2005
> PostHog.com doesn't use third-party cookies, only a single in-house cookie
You're legally required to let me opt out of that cookie. Unless it's essential to the site functionality, in which case you don't need the banner at all.
In other words, it's not actually legally required in their case, but it's practically required, because it lets everyone know that the absence of the banner is not a violation of the law.
Your "logic" is baffling
That is what I meant by "practically". I mean "in a practical sense" as opposed to in a theoretical sense.
This is how you minimize headaches and your legal bill. And on the day that people come after you for some unforeseeable tragedy or perhaps genuine wrongdoing (covered up by unscrupulous employees or less-than-honest vendors), you'll be better positioned to deflect legal repercussions and bad press.
The unnecessary cookie banner is a no-brainer: it costs you nothing and poses but a minimal irritant to users.
So, cookie banner it is.
Also, literally how the process works is, any citizen of an EU country files a complaint, and you’re suddenly at risk for millions in fines and have to prove compliance to an incompetent non-technical person to stop the inquiries.
It’s easier to throw up a banner, hence why most lawyers recommend this regardless of what you’re doing.
It literally doesn't work like that
> any citizen of an EU country files a complaint, and you’re suddenly at risk for millions in fines
Of course you're not at risk for millions of fines because that's not how the process works.
If the relevant agency gets off its ass and decides to actually work on the complaint (very highly unlikely, unfortunately), they will first contact you and ask you to remedy the situation within some time frame (usually quite generous).
If you don't do that, they contact you again and tell you you might be fined for not doing what you're asked.
The only way for you to risk millions is to repeatedly knowingly violate the regulation.
> It’s easier to throw up a banner, hence why most lawyers
Ah yes. The famously competent technical people, those lawyers.
For regulators in general doing dumb things? Lots and lots of examples all over the place. Talk to any small-business owners you know, get them drunk, and encourage them to rant. You'll hear some stories.
That literally does not happen. What world do you live in?
But just to entertain your scenario let's say that did happen: it still wouldn't matter because they could just reply and tell them why they don't need one...
Individuals and other businesses have to complain to regulators about others not complying with the GDPR.
Even worse: because it makes it seem like the EU law is just meritless pestering of people, they are actually fighting for the right for worse sites to spy on their visitors.
It's baffling.
It is that. It has done literally nothing to improve anything whatsoever, in any country. And most of the "cookie management" scripts that people use, barely even work. Both the law and the way it's complied with in practice are a dumb solution to a problem that the EU should have forced browser vendors to solve. Only the user's browser can choose not to send back cookies, and it would be trivial for the user to be shown a dialog when they navigate to a previously-visited site in a new session saying:
In other words, of course Facebook knows you like bacon if you've followed 5 bacon fan pages and joined a bacon lovers group, and they could sell that fact.
But without cookies being saved long-term, Facebook wouldn't know that you are shopping for a sweater unless you did that shopping on Facebook. Today they undoubtedly do know if you are shopping for anything because cookies exist and because browsers are configured to always save cookies across sessions.
Also, I always point this out when this topic comes up: Of all websites I visit and have to click stupid banners on, almost none of them are in the market of "selling data" or building dossiers about individuals ("Steve Smith bought flowers on June 19th. Steve is 28 years old. He has a Ford Explorer. He lives in Boston."). They just want to get metrics on which of their ads worked, and maybe to know aggregate demographics about their audience. My local water utility, Atlassian, and Nintendo to pick 3 sites at random, have never been and are not in the business of data brokerage. But they do need to show cookie banners to not be sued for imaginary harms under CCPA or GDPR (unless they want to not make any use of online advertising or even aggregate analytics).
Given that there is no objective way to differentiate between functional and tracking cookies, your "technical" solution would also boil down to honoring marking certain cookies as such by the website owner, effectively being the same as what we have today.
(Though I do agree that the UX would be nicer this way)
If they can open a port and side-step the security system of Android wholesale, they can probably find a "solution" to the not even that hard of a problem of doing tracking server-side.
Pretty much everyone was willing to give this away for free on the client side, in return for limited social integration, or (in Google's case) free analytics - server side is a significantly harder sell in many companies, and there is a much richer variety of backend languages/frameworks you have to integrate with.
If you're using functional cookies, you don't have to ask. If you're still asking, you're just wasting your time.
The reason every website asks is because:
1. They're stupid and don't even bother to preliminarily research the laws they comply with.
2. They actually are tracking you.
Ultimately if you're using something like Google Analytics, then yeah you probably do need a banner. Even if it's just a blog.
Great, so then don't do that.
It does not take time if you don’t care to read it. Yours click yes, and they will remember you want to be tracked.
In practice these banners regularly break. They are hard to click on certain devices where the button is off screen. If they use JavaScript and there is an error elsewhere, you can’t hide them. And I regularly see them over and over again on the same sites because for some reason they can’t track me effectively for this purpose.
In short they are a regular minor annoyance that does take time and effort.
Other people already get two choices to make here which they didn't get before, which is a win in my book. Seeing the banner, you can decide to avoid the website and if you still wanna use the website, you can chose if you allow them to track you by PII or not.
Also, I am an educated consumer and understand what a cookie is. Most people do not and do whatever is necessary to make the consent screen go away. Because of that, effectively they don't get this choice.
As one of the parent posts said, if it was implemented on the browser level, I would get the choice, and the cost of making the right choice would be smaller. If the defaults were to "reject unnecessary cookies" then most of the population would get the benefit.
The way it is right now feels like a net negative. Most people don't know what the consent is about and will not spend the time to learn it. Companies still find ways to track you that agrees with the letter but not the spirit of the law. I have friction whenever visiting a new website (or an old one that forgot my choice). The only winners are people who don't value their time and are smart enough to understand cookie consent. That's a small percentage of the general population.
That's because the tracking is a net negative.
There's a reason people have always hated popup ads even though "just close them" has always been an option.
I have seen a ton of these ads in the past few years.
All these laws have done is created a ton of wealth for lawyers.
Back in the day browsers offered this natively. When the advertising companies started building browsers there was a lot of incentive to see that go by the wayside of course...
But the earlier comment isn't saying that you shouldn't have options, rather that the law needs to be more specific, such as requiring browsers to work in coordination with website operators to provide a unified solution that is agreeable to users instead of leaving it completely wide open to malicious compliance.
These kind of laws need to be careful to not stifle true innovation, so it is understandable why it wanted to remain wide open at the onset. But, now that we're in the thick of it, maybe there is a point where we can agree that popup dialogs that are purposefully designed to be annoying are in volition of the spirit and that the law should be amended to force a better solution?
1. The law isn't about browsers or websites. It equally applies to all tracking. E.g. in apps. Or in physical stores.
2. The world's largest advertising company could do all you describe. And they do work with websites. First by repackaging tracking through FLoC. Then by just simply repackaging tracking and calling it privacy: https://x.com/dmitriid/status/1664682689591377923
Obviously. And where there are problems in those domains equal specificity would be asked for. But since we're talking about in the context of browsers specifically...
... then we all know it only cookies that matter? I don't understand the ellipsis
The more obnoxious the cookie banner, the quicker you can conclude "I didn't really need to visit your site anyway".
If you want to operate an ad-supported site, you need that consent. Untargeted ads are pointless and they don't make money. If you disagree, can I interest you in some brake pads for a Toyota Corolla? How about a dental chew for elderly cats? No? ok.
If you operate an e-commerce site or a SaaS of some kind, you probably need to advertise it online. To have traffic land on your site from advertising, you need to have ad network 'pixels' on your site. That's what they require. If you won't comply, then you can't advertise and you probably can't get many customers.
Websites which need neither are called "hobby sites." I'm very happy for the personal blogs which use no analytics, have no need to remember anyone or collect any "data." The sites showing the cookie banners are not that. They need to make money in order to exist.
Why didn’t you instead suggest server space or a novel automation tool? You know, things relevant to people visiting HN.
That’s how untargeted ads work. You don’t simply advertise anything anywhere, you advertise relevant things to relevant communities. Advertise the break pads on a community of car enthusiasts and the cat chew on pet forums.
It's not cookie banners that are wasting productivity, it's mutual distrust and the need to protect against it. "Cookie banners" (or more correctly: consent forms) are legal contracts. The reason they are often so annoying to navigate is that the companies that built them want to try to trick you into agreeing to things you have no interest in agreeing to or might even have an interest in not agreeing to. Technically the law forbids this but it's still more profitable to risk the fine than to abide by the law.
Or to put it another way: there's no honest reason to require a consent form to let you read an article. The consent form isn't for reading the article, it's for what the site wants to do to you (or your data - which includes all data collected about you because the GDPR defines that as being yours, too) while you're reading the article.
The GDPR doesn't make you waste time on cookie banners. The GDPR grants you ownership of all personally identifiable information of you and about you - it creates legal rights and protections you previously didn't have. Cookie banners exist because companies want to infringe upon those rights. Most cookie banners are difficult to navigate because most companies don't want you to understand what you're agreeing to (and on second order because they want you to blame the law granting you rights rather than them for infringing upon those rights).
Respectfully, this is untrue. The article is there because of the ads that pay the bills. Without ads there is no article and no site. Without consent, under these laws, the ads can only be useless ads that no advertiser wants to pay for, which means they either can't sell the ad space at all, or have to sell it for $0.0001 CPM hoping that like, Coca Cola will want to just remind the readers that Coke exists and not care too much if anyone even clicks it.
When behavioral targeted advertising was new, it vastly outperformed previous ad networks which used a spray-and-pray approach and paid by impressions. In the years (decades?) since, the payouts for behavioral targeted advertising have dropped significantly. "Untargeted" ads on the other hand have mostly vanished simply because the ad networks that used them have moved on to behavioral ads where they had to compete with mass data harvesters like Alphabet and Meta, mostly unsuccessfully.
Behavioral targeted advertising also doesn't live up to its promise for consumers. Nowadays most actual ads people get are either trying to sell products they already purchased or outright fraud - the rest is the same generic drivel that you would expect without targeted advertising. The reduction in tracking surface from sites that don't require these ads to operate (e.g. sites that previously fed into networks like Google's via unrelated services that can now no longer be legally used for that purpose and require opt-in) also means the targeting will become increasingly worse.
The GDPR does allow for making behavioral ads conditional to accessing content, by the way. But it requires providing the user with the option to instead pay for the content. The problem a lot of companies like Meta run into is that it also requires the price to be proportionate to the lost advertising revenue - Meta is infamous for having priced its "ad-free" tier orders of magnitude higher than their actual value of an individual user.
That said, what is killing this kind of site isn't users deciding not to give away their data but services like Google scraping their content and pre-empting user traffic to their websites entirely - first via news feeds and search summaries and now via "AI enhanced search". The ad-driven business model is dying and has been dying for a long time, the GDPR just puts limits on what can replace it. Google wasn't paying sites because it wanted to sell ads, Google was paying sites because it needed access to their users' data.
Rights don't make sense without bureaucracy because they only have meaning when you deal with them at that layer of abstraction. You can't respect and infringe "rights" interpersonally. You can act ethically or unethically, you can be nice or a bit of a dick, you can harm or help. But rights only become necessary as a concept when you have processes that need to interact with them and abstract entities that uphold and enforce them. Rights allow you to sue or call the police. But without rights you can't have capitalism. States enforce property rights literally at the end of a gun (and this includes "state property" too in case you were wondering about so-called "communist" states).
It doesn’t matter what site I visit and what choice I do. The next day, every single website asks me to pass through the banners again.
That’s because of malicious compliance from all the websites/advertisers. I guess that is partly the lawmakers’ fault for not pre-empting that; but much larger blame lies on the industry that refuses to grant user privacy.
As an example for a site that followed the intent of the law instead: https://github.blog/news-insights/company-news/updates-to-ou...
Github removed excess tracking so they didn’t need to show a cookie banner and that’s what GDPR’s intent was.
This is all the job of the window manager. We need better window managers.
Also there are non-removable bars on top and bottom of the page, even if window is "maximized".
Also, I seem to be losing a lot of screen recording for non-bot like traffic. There “not found” message is also not clear why the recording failed.
It would have been much better if they focused on their core product instead of making all these gimmicks.
I prefer the semantics of deep bookmarkable urls to open things in new tabs. HATEOAS! And using my OS tiling to handle things. Choosing my browser/plugins too for better tab management (maybe Arc can help here?)
Nonetheless, take an upvote. It's a heap of nostalgic freshness. And I'd hire you for the effort crafting/building it over that guy earlier vibecoding a Win 95 UI to show off his design skills.
327 more comments available on Hacker News