Allen Pike 2025-12-01T09:04:56+00:00 https://allenpike.com/ Allen Pike https://allenpike.com/2025/why-is-chatgpt-so-good-claude Why is ChatGPT for Mac So Good? 2025-11-30T23:45:30+00:00 Allen Pike https://allenpike.com/ <p>This year, even as Anthropic, Google, and others have challenged OpenAI’s model performance crown, ChatGPT’s lead as an end-user product has only solidified. On the Dithering podcast <a href="https://dithering.passport.online/member/episode/ai-in-the-ai-app?code=ViRWjeRadfXzawELuzbSYB&amp;guid=https%3A%2F%2Fdithering.passport.online%2Fmember%2Fepisode%2Fai-in-the-ai-app">last week (paywalled)</a>, Ben Thompson called out an aspect of why this is:</p> <blockquote> <p>I need someone to write the definitive article on why the ChatGPT Mac app is so good, and why everyone else is in dereliction of duty in doing these.</p> <p>Gemini 3 is reportedly coming this week. […] And I’m looking forward to it. I expect it to be good. And it’s just going to have to be so astronomically good for me to not use ChatGPT, precisely because the [Mac] app is so useful.</p> </blockquote> <p>A model is only as useful as its applications. As AI becomes multimodal and gets better at using tools, these interfaces are getting even more important – to the point that models’ <a href="https://www.macstories.net/notes/the-ai-app-experience-matters-more-than-benchmarks-now/">apps now matter more than benchmarks</a>. And while every major LLM has a mobile app, only three have a Mac app: Copilot, Claude, and ChatGPT.</p> <p>And of those, only one is truly good.</p> <p>Hold on – we’re diving in.</p> <h2 id="the-apps">The Apps</h2> <p>ChatGPT for Mac is a nice app. It’s well-maintained, stable, performant, and pleasant to use. Over the last year and a half, OpenAI has brought most new ChatGPT features to the Mac app on day one, and even launched new capabilities exclusively for Mac, like <a href="https://help.openai.com/en/articles/10119604-work-with-apps-on-macos?utm_source=chatgpt.com">Work with Apps</a>.</p> <p>The app does a good job of following the platform conventions on Mac. That means buttons, text fields, and menus behave as they do in other Mac apps. While ChatGPT is imperfect on both Mac and web, both platforms have the finish you would expect from a daily-use tool.</p> <div class="centered"> <img style='max-width: 100%' src="https://www.allenpike.com/images/2025/chatgpt-mac-web.jpg" /> ChatGPT for Mac (left) vs. ChatGPT on the web (right). </div> <p>Meanwhile, the Mac apps for Claude and Microsoft’s “365 Copilot” are simply websites residing in an app’s shell, like a digital hermit crab. 365 Copilot is effectively a build of the Edge browser that only loads <a href="https://m365.cloud.microsoft">m365.cloud.microsoft</a>, while Claude loads their web UI using the ubiquitous Electron framework.</p> <div class="centered"> <img style='max-width: 100%' src="https://www.allenpike.com/images/2025/claude-popups.jpg" /> Claude.app: a website with window controls. </div> <p>While the Claude web app works pretty well, it only takes a few minutes of clicking around Claude for Mac to find various app-specific UI bugs and bits of missing polish.</p> <p>As just one example: Mac apps can typically be moved by dragging the top corner of the window. Claude supports this too, but not when you have a chat open?</p> <div class="centered"> <video style="max-width: 100%" src="https://www.allenpike.com/images/2025/claude-drag-high.mp4" autoplay="" loop="" muted="" playsinline="" controls=""> Your viewer doesn't support HTML5 video, but you [can see the video here](/images/2025/claude-drag-high.mp4). </video> A classic case of `-webkit-app-region: no-drag` over-application. </div> <p>Unsurprisingly, the Microsoft 365 Copilot app is even worse, and Gemini doesn’t have a Mac app at all. The desktop has not been a focus for the major AI labs thus far.</p> <p>The oddball here is the plain “Copilot” app, which is of course unrelated to the “365 Copilot” app other than sharing an icon, corporate parent, and name. Copilot for Mac is, it seems, a pared-down native Mac reproduction of the ChatGPT app with a bit of Microsoft UI flavor. It’s actually weirdly nice, although it’s missing enough features that it feels clearly behind ChatGPT and Claude.</p> <p>Fascinatingly, the Copilot app doesn’t allow you to sign in with a work account. For work – the main purpose of a desktop app – you must use the janky 365 Copilot web app. While this dichotomy might be confusing, it’s a perfect illustration of the longstanding tension that’s made cross-platform the norm for business apps.</p> <h2 id="the-strategies">The Strategies</h2> <p>Cross-platform apps like Claude’s are, of course, cheaper to develop than native ones like OpenAI’s. But cost isn’t the most important tradeoff when these very well-capitalized companies decide whether to make their apps cross-platform. The biggest tradeoff is <a href="https://allenpike.com/2021/gravity-of-cross-platform-apps">between polished UX and coordinated featurefulness</a>.</p> <div class="centered"> <a href="https://www.allenpike.com/2021/gravity-of-cross-platform-apps"><img style='max-width: 100%' src="https://www.allenpike.com/images/2021/polished-coordinated-chart.png" style="max-width:420px" /></a><br /> ChatGPT has focused more on the vertical axis, Claude more on the horizontal. </div> <p>It’s easier to get a polished app with native APIs, but at a certain scale separate apps make it hard to rapidly iterate a complex enterprise product while keeping it in sync on each platform, while also meeting your service and customer obligations. So for a consumer-facing app like ChatGPT or the no-modifier Copilot, it’s easier to go native. For companies that are, at their core, selling to enterprises, you get Electron apps.</p> <p>This is not as bad as it sounds, because despite popular sentiment, Electron apps <em>can</em> be good apps. Sure, by default they’re janky web app shells. But with great care and attention and diligence and craft, they can be polished almost as well as native apps.</p> <p>While they might not feel native, Electron apps like Superhuman, Figma, Cursor, and Linear are delightful<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>. These apps are tools for work, and their teams invest in fixing rough edges, UI glitches, and squirrelly behaviour that might break users’ flow.</p> <p>Meanwhile, ChatGPT, despite being built on native tech, has its share of problems. These range from the small (the Personalization settings pane currently has two back-arrows instead of one) to the hilarious.</p> <div class="centered"> <blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/reel/DRtOyj3jNOR/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px auto; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><div style="padding:16px;"> <a href="https://www.instagram.com/reel/DRtOyj3jNOR/?utm_source=ig_embed&amp;utm_campaign=loading" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;" target="_blank"> <div style=" display: flex; flex-direction: row; align-items: center;"> <div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div></div></div><div style="padding: 19% 0;"></div> <div style="display:block; height:50px; margin:0 auto 12px; width:50px;"><svg width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-511.000000, -20.000000)" fill="#000000"><g><path d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631"></path></g></g></g></svg></div><div style="padding-top: 8px;"> <div style=" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;">View this post on Instagram</div></div><div style="padding: 12.5% 0;"></div> <div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;"><div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div> <div style="background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div></div><div style="margin-left: 8px;"> <div style=" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div> <div style=" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)"></div></div><div style="margin-left: auto;"> <div style=" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div> <div style=" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div> <div style=" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div></div></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div></div></a><p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"><a href="https://www.instagram.com/reel/DRtOyj3jNOR/?utm_source=ig_embed&amp;utm_campaign=loading" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;" target="_blank">A post shared by Allen Pike (@allenjpike)</a></p></div></blockquote> <script async="" src="https://www.allenpike.com//www.instagram.com/embed.js"></script> </div> <p>At the end of the day, the ChatGPT app for Mac is good because they care. They have a product-led growth model that justifies spending the resources, an organizational priority on user experience, and a team that can execute on that mission.</p> <p>Meanwhile, Anthropic’s been going hard on enterprise sales, so it’s not shocking they’ve neglected their desktop experience. It’s unlikely they have a big team of developers on the app who don’t care about these issues – they probably haven’t had many folks working on it at all.</p> <p>Still, I wouldn’t count out the possibility of a change in course here. While mobile is king, desktop is still where work happens. While OpenAI has <a href="https://techcrunch.com/2025/10/23/openai-buys-sky-an-ai-interface-for-mac/">acquired Sky</a> to double down on desktop, Google has long been all-in on the browser. That leaves Anthropic as the challenger on desktop, with their latest models begging to be paired with well-crafted apps.</p> <p>While Anthropic could surprise everybody by dropping a native Mac app, I would bet against that. There’s a lot of headroom available to them just by investing in doing Electron well, mixing in bits of native code where needed, and hill-climbing from “website in shell” to “great app that happens to use web technology”.</p> <p>Just as ChatGPT’s unexpected success woke OpenAI to the opportunities of being more product-centric, the breakout hit of Claude Code might warm Anthropic to the importance of investing in delightful tools. Last year they <a href="https://www.anthropic.com/news/mike-krieger-joins-anthropic">brought on Mike Krieger as CPO</a>, who certainly seems like he could rally a team in this direction given the chance.</p> <p>Until then, ChatGPT will reign supreme.</p> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1" role="doc-endnote"> <p>We’ve done some Electron work at Forestwalk, and it was surprising how easy it was to cause classic Electron bugs like the whole app being a white square, the top navigation scrolling out of view, and the like. It was even more surprising how tractable it is to just refuse to tolerate these common issues, and put in the time to fix them one by one. It can be done. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> https://allenpike.com/2025/how-not-to-get-acquired How to Not Get Acquired 2025-10-31T23:45:30+00:00 Allen Pike https://allenpike.com/ <p>Building something new from 0 → 1 is hard, so it requires your full attention. Given that, a key part of creating a new product is limiting distractions – anything that pulls your attention away from finding product-market fit. There are a lot of things a founder can be distracted by, but one of the most distractive distractions has become more common in recent months: <strong>the acquisition inquiry</strong>.</p> <p>Here are some tips on how to avoid these<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.</p> <h2 id="trade-offer">Trade offer</h2> <p>A year into <a href="https://steamclock.com/">my first startup</a>, we got our first legit inquiry about an acquisition.<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup> This was very exciting! It feels validating to be wanted by somebody you respect, a company you find interesting.</p> <p>Back then, I sat down with my then co-founder and worked through a huge new question: <em>Did we want to give up our mission, relocate to the Bay Area, and join a FAANG company?</em></p> <p>This is the kind of question that consumes not only work hours, but in-between hours. At lunch, we talked about the acquisition idea. When I talked to my wife, we would discuss it. When I was lying in bed or taking a shower or walking around, instead of thinking about how to build a great product and team, I was instead thinking about building products for this whole other company.<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup></p> <p>In time, we came to a conclusion: we didn’t want to stop, and we didn’t want to move, but the prospective company and mission were compelling enough that there was indeed an amount of money we’d be willing to do the deal for.</p> <p>With trepidation, we met for the follow-up call with the Big Deal Company. We heard out their much-anticipated offer, which was, basically, to just offer us jobs. If we gave up on Steamclock, we could become IC developers at their company, at the normal salaries we would make if we’d applied to work there with our dang resumes, and a typical signing bonus.</p> <p>We politely declined, then sat back to reflect on what had just happened. We’d been distracted for weeks by an opportunity that never was. Or, maybe more accurately, an opportunity we already knew was there (get hired at a big company) but had been repackaged as something that initially sounded novel.</p> <p>This experience, and others, have led me to simply decline most such inquiries since.</p> <p>Still, though, every year or two an inquiry will be interesting enough that I can’t just say no. On occasion, the email about “discussing opportunities to work together” is not automated outreach, but a thoughtful question from a founder or leader I am deeply curious to learn more from, at a company I find intriguing. When the problem they’re tackling is fundamentally one we’re already obsessed with, just at a far larger scale, I’m gonna want to talk to them!</p> <p>In these cases – when I can’t bring myself to just politely say no thank you, we’re busy building – I’ve developed a simple approach for responding in a way that maximizes learning yet minimizes distraction: <strong>meet them, then advise them against acquiring you</strong>.</p> <h2 id="a-simple-algorithm">A simple algorithm</h2> <p>Firstly, when taking these exploration calls it’s worth getting something for your time. While naturally you’ll be sharing about your work, also seek to learn about their business. While I’ve kept these conversations short and sweet, they’ve still enabled me to learn about some fascinating businesses, and even made friends. Every person who considers buying your business is a potential mentor – doubly so in the unlikely case they actually pull the trigger and become your new boss.</p> <p>If you’re not careful, though, an acquistion inquiry will fractal into a long distracting back-and-forth. Most big companies have professionals whose full-time job is to learn about startups and try to acquire them at competitive prices – affectionately referred to as Corp Dev. The asymmetry here is why the <a href="https://www.ycombinator.com/library/4D-yc-s-essential-startup-advice">Pocket Guide of Essential YC Advice</a> flatly says “Don’t talk to corp dev.” This is an oversimplification, but the plausibility of any deal will indeed hinge not on the M&amp;A folks, but on a champion – a product leader or founder who wants you on their team.</p> <p>Your key point of contact for sanity-checking an inquiry is this “exec sponsor” in acquisition jargon. The idea is to talk through, together, the big opportunity or problem on their plate, and why they think buying you might be the best and/or fastest way to pursue it. I’ve had some fascinating conversations with tech execs in this context. Sometimes they haven’t even thought it through and you can easily convince them it doesn’t make sense. Other times they’ve done some really thoughtful analysis, and you learn some useful things about the business and the market.</p> <p>As much as I enjoy these conversations, it’s still best to be disciplined and limit them until you have a ballpark number in writing. This is because, very likely, the number will be disappointing, and you can get back to work.</p> <p>Here’s a way to get a number.</p> <p>Explain that it’s your policy not to have more than one or two calls about an acquisition unless there’s a ballpark number to consider, and agreement on some basic non-negotiables<sup id="fnref:non" role="doc-noteref"><a href="#fn:non" class="footnote" rel="footnote">4</a></sup>. Explain that you do this because, in your experience, the amounts acquirers can justify don’t generally match up with how much you and your team value the company. (Of course if this isn’t true then don’t lie, though you can say you’ve heard that this is typically the case.)</p> <p>If they really want you, they’ll give you a number. Optionally you can expedite things by seeding them with an anchor. You could say, “Well, this early we would need to consider anything exceeding $50M but most acquirers can’t justify something like that given our stage” or “Well our valuation at last round was $10M, so we don’t expect to consider any offers until we’ve substantially exceeded that level.” Being transparent might not maximize how much you get if they do acquire you, but it speeds things up, and statistically they’re not gonna acquire you anyway! So you’re instead optimizing for the more important thing: getting back to building with minimal distraction.</p> <p>When asked for a number, their corp dev person might push to collect a lot more info about your business, or even interview all your team members – basically derailing your startup so they can get more confidence in the number. This disruption is not worth improving the accuracy of a number that you’re probably going to decline anyhow. Instead, have them give a range based on what they do know, then just consider the bottom end of their provided range.</p> <h2 id="attempt-to-decline-the-offer">Attempt to decline the offer</h2> <p>If you fail to convince them not to acquire you, you’ll get a number – which (probably) does not meet your “hell yeah” threshold. Then you can thank them for their time, appreciate having had a couple calls where you learned about a scaled tech company and one of their execs, and get back to work.</p> <p>If the number seems <em>almost</em> good enough to be compelling but you’re not sure, I would encourage you to turn it down. Day 1 is probably the best that number will ever feel. If you agree to it in principle, that begins a process where the acquirer’s full-time staff of expert acquisition analyzers will halt your forward progress by assessing you every way from Sunday, considering ways to negotiate down the number, and lawyering you into submission. If $10M doesn’t sound awesome now, it will sound less awesome when it’s been walked back significantly, divided among your investors and cofounders and team, spread over 4 years, then finally taxed.</p> <p>Naturally, if you have investors, you are obligated to consider their perspective, which will probably be that they want you to keep building for the long term, and if need be they’d prefer you took the deal with the biggest financial upside. For early-stage deals, though, the non-financial aspects matter too. Once you’ve made enough money to no longer have a mortgage, you’re going to get more happiness from a deal that accelerates you and the awesome team you’ve assembled to put that dent in the universe, rather than a 20% higher offer that would disassemble your people and spread you across the Legacy Settings Screen Maintenance org at IBM. If the offer feels like the latter, get your heads back down.</p> <h2 id="get-back-to-building">Get back to building</h2> <p>A lesson I’ve re-learned starting up for a second time is that when you’re trying to do something very difficult, it’s all too easy to find yourself distracted by less-difficult opportunities, even if they’re not the thing that really matters.</p> <p>Talking to leaders at big companies about the problems on their plate can absolutely support your mission – they often have a wealth of experience, and they could make for great customers, or even someday hires. Just be well aware of the asymmetry. It costs them nothing to ask if you’ve thought about selling, but it can cost you a lot if you don’t have a quick algorithm for getting to, “Sorry – we’ve still got a lot of work to do.”</p> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1" role="doc-endnote"> <p>This post assumes you don’t actually want to sell right now – your company is neither doomed nor succeeding so spectacularly that you’ll get superlative offers. If you <em>do</em> want to sell now, <a href="https://medium.com/justinkan/the-founders-guide-to-selling-your-company-a1b2025c9481">Justin Kan</a> and <a href="https://review.firstround.com/how-to-sell-your-startup-the-complete-guide-to-running-an-manda-process-as-a-founder/">Daniel Debow</a> have guides on how to go about that. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:2" role="doc-endnote"> <p>Now that we’re one year into Forestwalk this has happened as well. Not sure if people keep a timer, or just know not to bother somebody who’s less than 1 year down a 10-year path. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:3" role="doc-endnote"> <p>Any time you are in the shower and thinking about a work thing that is <em>not</em> hiring the right people, having enough money, or building the right product, that’s a signal that something is going wrong. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:non" role="doc-endnote"> <p>Non-negotiables might include things like no forced relocation, ensuring your investors get treated fairly, the rough mix of cash vs. stock, and so on. These aren’t meant to be contentious, it’s just “FYI we wouldn’t take a deal that doesn’t have these attributes.” <a href="#fnref:non" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> https://allenpike.com/2025/ux-entropy UX Entropy 2025-09-30T23:45:30+00:00 Allen Pike https://allenpike.com/ <p>In the olden days, video calls were hard.</p> <p>Circa 2012, if your next meeting was online, it was important to start the process 5-10 minutes early. The process, at that time, was some or all of the following incantations and rituals:</p> <ol> <li>Find the meeting URL</li> <li>Find the meeting passcode</li> <li>Download a specific videoconferencing app</li> <li>Agree to and accept various things</li> <li>Dial in separately to get audio</li> <li>Troubleshoot your audio or video</li> <li>Wait for an update to download</li> <li>Wait for the videoconferencing app to restart</li> <li>Wait for your whole computer to restart</li> <li>Repeat some of the above steps, now that your computer has restarted</li> </ol> <p>With luck, you would eventually be in the meeting. The other participants, often, would not be. Regrettably, each participant also needed to do the incantations, and they might not have started early. They might even be stuck.</p> <p>For example, the person you’re meeting might <em>think</em> they’re waiting for you, so they’ve multi-tasked to another app – but surprise! GoToMeeting or WebEx or whatever actually needed them to click “OK” or “Update” or “Ẓ̴͝a̴̡̕l̷̙̓g̶̫̔ó̸̻” to continue the joining process. After 5-10 minutes you would politely email your colleague, asking if they were still joining. Often enough you’d find yourself attempting to help people troubleshoot the above steps via email, which was… not enjoyable.</p> <p>This was all obviously bad. Any user could see it was bad, but it seemed – oddly – like the companies supporting these apps were kind of blind to it. Or, at least, their enterprise customers weren’t demanding better.</p> <p><a href="https://stratechery.com/2024/an-interview-with-zoom-ceo-eric-yuan-about-surviving-covid-and-building-moats/">As the story goes</a>, Eric Yuan, then an executive at WebEx, was aware how clunky these product experiences were, and was ashamed of it. He felt that customers deserved a more user-centric video product, with excellent call quality, that ensured anybody could join a call with one click.</p> <p>In January 2013, his new startup launched Zoom 1.0. They employed some clever tricks to make sure Zoom seamlessly installed and stayed up to date, so anybody could always join a call in one click. They pushed hard to ramp up the video quality. They prioritized UX at all costs.</p> <div class="centered"> <img style='max-width: 100%' src="https://www.allenpike.com/images/2025/zoom-old.jpg" alt="Old-school Zoom." /> Zoom as it once was. </div> <p>The formula worked. A few months after launching 1.0, Zoom had 1 million users. In April 2019, they IPOed with $600M of revenue, were profitable, and were doubling yearly. By then they were well-known as the video app with the best call quality and UX, so when the pandemic happened the following year, Zoom was propelled to household name status.</p> <p>Today, they have over $1B/yr in profit, and continue to grow. Zoom is one of the great startup success stories.</p> <p>It’s also slowly falling apart.</p> <h2 id="enterprise-rot">Enterprise rot</h2> <p>Success at scale always causes problems. Enterprise software success, doubly so.</p> <p>The first hurdle for Zoom, shortly after their IPO, was security issues. These ranged from <a href="https://tech.yahoo.com/general/articles/zoom-lied-encryption-2020-now-142848932.html">underpowered encryption</a> to <a href="https://www.vice.com/en/article/zoom-ios-app-sends-data-to-facebook-even-if-you-dont-have-a-facebook-account/">leaky analytics</a> to the revelation that their legendary one-click meeting flow was itself <a href="https://www.cvedetails.com/cve/CVE-2019-13450/">a security vulnerability</a>. With market dominance in hand and billions of dollars of enterprise revenue on the line, Zoom started to unwind their approach of usability at all costs. <a href="https://stratechery.com/2024/an-interview-with-zoom-ceo-eric-yuan-about-surviving-covid-and-building-moats/">Zoom founder Eric Yuan on this shift</a>:</p> <blockquote> <p>One-click is important. However, you need to make sure there’s not any potential issue, any potential violation of the operating system. Sometimes we have to sacrifice usability for privacy or security, that’s exactly what we did. We now think security or privacy [is] even more important than that.</p> </blockquote> <p>And objectively, this is good! We want the software everybody uses to communicate to be private and secure. But it’s also a change in mindset from what made the product great in the first place. The defaults get locked down, the settings panels balloon, and Zoom is that much less likely to incubate the next team communications breakthrough.</p> <p>Zoom was also one of the companies most thrashed around by the pandemic. While from the outside the surge in usage might have seemed like a blessing, it ultimately caused Zoom more trouble than it was worth. Yuan again:</p> <blockquote> <p>I really wish there was no COVID. Zoom would be a much better company today. COVID, I do not think really helped us that much except for the brand recognition. For everything else, I feel like there was a negative impact to our business in terms of culture, and growth, and the internal challenge, or the competitive landscape. Everything else… I feel like it’s not good for us.</p> </blockquote> <p>When your company goes from 2000 employees to 6000 in 2 years because of an event outside your control, you’re gonna have a bad time! You’re also going to get even more settings screens. How many settings, you ask?</p> <div class="centered"> <img style='max-width: 100%' src="https://www.allenpike.com/images/2025/zoom-admin-settings.jpg" alt="A spaghetti tree of settings." /> The first two layers of Zoom’s admin settings now offer 63 sections and sub-sections worth of settings. These sub-sections are further divided into as many as 17 sub-sub-sections, which are then divided into as many as 12 sub-sub-sub-sections. </div> <p>Developing a clear and coherent product is hard. Developing a clear and coherent product with 6000 other people is even harder!</p> <p>The other day I had to log in to Zoom to change one of these myriad settings. Shown below is what Zoom looks like today when somebody at a 2-person startup logs in.</p> <p>Now. In your opinion, what is the ideal number of times this screen should try to sell a startup an upgrade to allow over 100 people in a meeting? Maybe… 6 separate upsells? (The sixth is hard to spot, it’s partially hidden by the popover for the 5th upsell.)</p> <div class="centered"> <img style='max-width: 100%' src="https://www.allenpike.com/images/2025/zoom-dashboard.jpg" alt="The zoom home screen." /> There are even more upsells below the fold. </div> <p>Of course nobody at Zoom decided 6 was the right number. While there is probably <em>somebody</em> at Zoom thinking about the 2-person startup UX, there are clearly 20x as many people concerned about increasing the number of customers who sign up for 500-person meetings. This dashboard is a veritable <code class="language-plaintext highlighter-rouge">&lt;marquee&gt;</code> banner that says “Our KPI is selling Large Meeting add-ons.”</p> <p>Which I’m sure is logical! At least in the short term.</p> <p>At the same time though, this stuff gives users the ick. “Avoid the ick” is not an OKR, and “% of users that hate navigating your settings” does not appear on your KPI dashboard. But it still accumulates.</p> <p>When this kind of rot happens, it’s obviously bad. Any user can see it’s bad. But, importantly, enterprise customers don’t demand fewer settings, nor sane marketing position toward startups. So, often, these situations degrade.</p> <p>It’s a tale as old as time. Occasionally a market leader who’s gotten off track will rally – especially if they’re still founder-led – to save themselves from fossilization and reinvent. In theory, Zoom could lever their position, in the center of billions of work meetings, into becoming a critical part of future AI-accelerated work.</p> <p>More often, the gaps grow large enough that they spawn new startups. Blind spots and product debt compound until they recreate the situation that inspired Yuan in 2011: the market leader’s UX will be bad enough, and the potential for what <em>could be</em> will be compelling enough, that a worthy successor will launch. People will love it, and it will grow like wild.</p> <p>Either way, we’ll look back on today as the bad old days, and appreciate how much better software has gotten. Customers will continue to demand better, and eventually someone will provide.</p> <p>It’s the circle of life.</p>