Agentic Coding Has A HUGE Problem
๐ **Source:** [Agentic Coding Has A HUGE Problem](https://www.youtube.com/watch?v=YVq28OTPCKw)
> [!note]+ Document Notes
> tags: [developer-workflow, agentic-coding, developer-experience]
> author: Theo - t3โคgg
> source: YouTube
> reference: https://www.youtube.com/watch?v=YVq28OTPCKw
> date created: 2024-12-19 14:30
>
> # ๐ท๏ธ Title: Agentic Coding Has A HUGE Problem
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Evaluate current multi-project development workflow โ assess window management pain points #workflow
- [H2] Test localhost port/cookie collision issues โ document OAuth redirect problems #debugging
- [H3] Explore desktop/workspace management solutions โ before scaling agentic development #productivity
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [Sentry Agent Dashboard](https://soyv.link/entry)
- [Codex UI](https://codex.com)
## ๐ Summary
- Developer workflow breaks down when scaling from single to multiple parallel projects using agentic coding tools
- Traditional single-project mental model (terminal/editor/browser) fails with multiple long-running AI tasks
- Key technical issues: localhost port conflicts, OAuth redirects, shared app storage across ports
- Current solutions (tmux, Docker, in-browser IDEs) don't address core window management and context switching problems
- Background agents gain popularity partly due to local development workflow pain rather than inherent superiority
## ๐ Main Content
Theo explores a critical UX problem with modern agentic coding: while AI tools enable parallel development across multiple projects, our traditional development environment wasn't designed for this workflow. The core issue stems from splitting project context across separate applications (terminal, editor, browser) that worked fine for single projects but becomes chaotic with multiple parallel workflows.
Technical problems include localhost treating all ports as the same host (breaking OAuth and cookies), port collisions, and difficulty tracking which terminal/browser tab corresponds to which project. Traditional solutions like tmux, Docker, or in-browser IDEs address symptoms but not the fundamental context management problem.
The video argues that background/cloud agents are popular partly because they avoid these local workflow issues, though they may reduce code quality through less hands-on interaction. Theo calls for experimentation with new development environment paradigms rather than incremental fixes to existing tooling.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/YVq28OTPCKw?t=0) โ [H1] Unprecedented building velocity with AI
- Key idea: AI enables building multiple projects simultaneously across various domains
- Evidence: "I don't think I've ever been building as much as I am right now"
#### โฑ๏ธ [02:15](https://youtu.be/YVq28OTPCKw?t=135) โ [H2] Sentry agent observability sponsor segment
- Key idea: Agent debugging requires specialized observability tools for arbitrary tool calls
- Evidence: "48 errors, two LM calls, one tool call, and 29K tokens generated"
#### โฑ๏ธ [04:30](https://youtu.be/YVq28OTPCKw?t=270) โ [H1] Traditional single-project workflow paradigm
- Key idea: Mental model of terminal/editor/browser worked when contained under one project
- Evidence: "Your terminal, your editor and your browser are all part of your mental model for managing this one project"
#### โฑ๏ธ [06:45](https://youtu.be/YVq28OTPCKw?t=405) โ [H2] Multi-project workflow breakdown demonstration
- Key idea: Window management becomes chaotic when scaling beyond single project
- Evidence: Demonstrates tabs, windows, desktop switching creating navigation confusion
#### โฑ๏ธ [09:20](https://youtu.be/YVq28OTPCKw?t=560) โ [H3] macOS workspace switching failures
- Key idea: Built-in workspace management has fundamental UX flaws for development
- Evidence: Shows flickering between windows, wrong focus targets, slow navigation
#### โฑ๏ธ [11:10](https://youtu.be/YVq28OTPCKw?t=670) โ [H1] Long-running agent tasks enable parallelism
- Key idea: Hour-plus build times make single-project focus inefficient
- Evidence: "I often have a job running with codecs that takes one to two hours"
#### โฑ๏ธ [13:25](https://youtu.be/YVq28OTPCKw?t=805) โ [H2] Terminal context loss problems
- Key idea: No visual indication of current project context in most terminal setups
- Evidence: "Where am I? Where in the world am I right now? What project am I inside of"
#### โฑ๏ธ [15:40](https://youtu.be/YVq28OTPCKw?t=940) โ [H1] Localhost technical limitations
- Key idea: Localhost app storage shared across all ports breaks multi-project development
- Evidence: "local hosts app storage data in the browser is shared across all ports"
#### โฑ๏ธ [17:15](https://youtu.be/YVq28OTPCKw?t=1035) โ [H2] OAuth redirect port collision issues
- Key idea: OAuth configurations break when projects use different ports than expected
- Evidence: "if you set up your O to redirect to either localhost 3000...and now you have localhost 3000 in 12"
#### โฑ๏ธ [18:30](https://youtu.be/YVq28OTPCKw?t=1110) โ [H3] Real workflow interruption scenario
- Key idea: Notification sounds from wrong context create constant workflow disruption
- Evidence: Describes ding notification scenario requiring hunt across terminal tabs and browsers
#### โฑ๏ธ [20:45](https://youtu.be/YVq28OTPCKw?t=1245) โ [H2] Why common solutions don't work
- Key idea: Tmux, Docker, built-in terminals don't address core context management issues
- Evidence: "T-Mux is recommended to me a lot...I've been using GNU screen since before most T-Mux fans were born"
#### โฑ๏ธ [23:20](https://youtu.be/YVq28OTPCKw?t=1400) โ [H1] Background agents as workflow workaround
- Key idea: Cloud/background agent popularity stems from local development pain rather than superiority
- Evidence: "a lot of the hype around these features is because of how hard it is to do that type of parallel work locally"
#### โฑ๏ธ [25:50](https://youtu.be/YVq28OTPCKw?t=1550) โ [H1] Call for experimentation rather than single solution
- Key idea: Need diverse approaches to development environment design
- Evidence: "There is no single correct solution. We need lots of them"
#### โฑ๏ธ [26:40](https://youtu.be/YVq28OTPCKw?t=1600) โ [H2] Linux solution teaser
- Key idea: Found potential solution in Linux environment (future video topic)
- Evidence: "there's a good chance that the next time you see me...I might be using something that looks very, very different"
## ๐ References
- [Sentry Agent Dashboard](https://soyv.link/entry)
- [Original blog post - 1.2M views](https://example.com)
- [Codex UI](https://codex.com)
## ๐ฃ๏ธ Paraphrase
- Modern AI coding tools enable unprecedented parallel development but expose fundamental flaws in traditional development environments designed for single-project workflows
- The core problem is context management across separate applications (terminal/editor/browser) when juggling multiple long-running AI tasks simultaneously
- Technical issues like localhost port conflicts and OAuth redirects compound the workflow management problems, making popular solutions like background agents attractive for the wrong reasons
- The solution requires rethinking development environment paradigms rather than incremental improvements to existing tooling
## ๐ฐ Newsletter
**The Hidden UX Crisis in AI Development**
As agentic coding tools enable developers to work on multiple projects simultaneously, we're discovering that our development environments weren't designed for this parallel workflow. Theo's latest exploration reveals how traditional terminal/editor/browser setups break down when scaling beyond single projects.
**Key Technical Challenges:**
- Localhost treating all ports as one host (breaking OAuth and cookies)
- Port collisions requiring constant manual management
- Context switching chaos across multiple terminal tabs and browser windows
- No visual indicators for current project context
**Why This Matters:** Popular solutions like background agents and cloud environments may be gaining traction not because they're superior, but because they avoid these local development pain points. However, this could reduce code quality through less hands-on interaction.
**The Path Forward:** Rather than Band-Aid solutions, we need fundamental rethinking of development environment design. The industry needs diverse experimentation with new paradigms that treat multi-project parallel development as a first-class workflow.
Resources: [Sentry Agent Observability](https://soyv.link/entry), [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/)
## โ
Action Items
#### DevRel
- Developer experience: Document multi-project development workflow patterns, best practices guides
- Education: Workshop on managing parallel development environments, context switching strategies
- Developer marketing: Survey developer workflow pain points, agentic tool adoption barriers
- Community management: Forum discussions on development environment setups, tool recommendations
#### OSPO
- Developer Support: Training on container orchestration alternatives, workspace management tools
- Strategic Alignment: KPIs for developer productivity in multi-project environments
#### Community
- Contributors: Onboarding documentation for managing multiple WordPress project workflows
- Ecosystem: Cross-project coordination tools, standardized development environment configs
#### WordPress
- Core: Performance impact of multiple local WordPress instances, port management
- CLI: Commands for project workspace management, context switching helpers
- Meta: .org development environment standardization, contributor workflow optimization
- Documentation: DevHub guides for parallel development, local environment best practices
## ๐งช Hypotheses
- Background agent adoption correlates more with local workflow pain than actual productivity benefits
- Localhost technical limitations (shared storage, OAuth) significantly impact developer productivity in multi-project scenarios
- Traditional window management paradigms become exponentially more problematic with each additional concurrent project
- Visual context indicators in development tools would significantly reduce cognitive overhead in multi-project workflows
### ๐ Methodology
- Telemetry analysis comparing single vs multi-project development session patterns
- A/B testing of different workspace management approaches with developer productivity metrics
- Survey correlation between background agent usage and reported local development workflow issues
### โ Questions
- How do different operating systems handle multi-project development workflow management?
- What metrics best capture the productivity impact of context switching in development environments?
- Can standardized development container configs mitigate localhost technical limitations?
### ๐ฎ Future Research
- Comparative analysis of development environment paradigms across different programming ecosystems
- Investigation of Linux-based solutions for development workflow management
- Exploration of browser-native development environment isolation techniques
### ๐ก Implications
- Practice: Multi-project development requires fundamental workflow architecture changes, not incremental tool improvements
- Policy: Development environment standards may need updating for agentic coding era
- Education: Developer onboarding should include parallel workflow management training
- Funding: Investment in development environment UX research could yield significant productivity gains
### ๐ง Learning Styles Assessment
Reading level estimate: 8th grade
#### ๐ Visual learners
- Present: Window management demonstrations, screen recordings of workflow problems
- Improve: Architecture diagrams of different workspace management approaches
#### ๐ Aural learners
- Present: Video format with narrated explanations
- Improve: Podcast version focusing on workflow strategy discussions
#### ๐ฃ๏ธ Verbal learners
- Present: Clear explanations of technical concepts, analogies for workflow problems
- Improve: Glossary of development environment terminology
#### ๐งฉ Kinesthetic learners
- Present: Hands-on demonstration of workflow problems
- Improve: Step-by-step guides for testing different workspace management solutions
#### ๐ง Logical learners
- Present: Structured problem analysis, cause-and-effect relationships
- Improve: Decision tree for choosing workspace management strategies
#### ๐งโ๐คโ๐ง Social learners
- Present: Community discussion prompts, shared experience validation
- Improve: Developer workflow study groups, collaborative solution testing
#### ๐งโโ๏ธ Solitary learners
- Present: Individual workflow assessment opportunities
- Improve: Self-evaluation checklist for development environment optimization
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking about development environment interactions
- Improve: Holistic workflow optimization approaches
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Clear heading structure, descriptive content
- Improve: Alt text for workflow demonstration screenshots
#### Keyboard navigation
- Present: Standard video player controls
- Improve: Keyboard shortcuts for workflow tools mentioned
#### Contrast and readability
- Present: High contrast video content
- Improve: Text transcript with proper formatting
#### Media and captions
- Present: Auto-generated captions available
- Improve: Professional captions with technical terminology accuracy
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Universal developer workflow challenges
- Improve: Examples from different development cultures, tool preferences
#### Inclusive language
- Present: Technical focus without exclusionary terms
- Improve: Acknowledgment of different accessibility needs in development environments
#### Neurodiversity support
- Present: Recognition of ADHD-friendly workflow patterns
- Improve: Multiple cognitive approach strategies for workflow management
#### Representation
- Present: Single perspective from experienced developer
- Improve: Diverse developer workflow experiences and solutions
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Clear progression from single-project to multi-project workflow breakdown
- Inductive strength: Generalizes from personal experience to broader developer community issues
- Causal reasoning: Identifies technical root causes behind workflow problems
- Analogical strength: Effective comparison between traditional and parallel development paradigms
#### Fallacies
- Anecdotal evidence: Heavy reliance on personal experience, though validated by community response
- False dilemma: May oversimplify solution space by dismissing traditional tools too quickly
#### Tone of voice
- Overall tone: Frustrated but constructive, technical expertise combined with practical urgency
### ๐ก๏ธ DARVO Analysis
- Deny: No denial patterns present
- Attack: No attacks on accusers
- Reverse victim/offender: No victim/offender dynamics
- Emotional cues and rhetoric: Genuine frustration with technical limitations, call for collaborative solutions
## ๐ฏ Conclusion
The rise of agentic coding tools has exposed a fundamental mismatch between our development environments and modern parallel workflows. While AI enables unprecedented building velocity across multiple projects, our terminal/editor/browser paradigm breaks down under the complexity of context switching and technical limitations like localhost port conflicts.
The popularity of background agents may reflect local workflow pain rather than inherent superiority, potentially at the cost of code quality. Rather than Band-Aid solutions, the industry needs diverse experimentation with development environment paradigms designed for multi-project parallelism as a first-class workflow.
The path forward requires acknowledging that incremental improvements won't solve architectural mismatches, and investing in fundamental rethinking of how developers interact with their tools in the agentic coding era.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
Purpose: Stage CEE units that become Literature notes.
Split level: H3
### [H1] Agentic tools enable unprecedented parallel development
> [!quote] [Agentic Coding Has A HUGE Problem](https://www.youtube.com/watch?v=YVq28OTPCKw) by [[Theo - t3โคgg]] via [[YouTube]]. Published 2024. Accessed 2024-12-19.
> "I don't think I've ever been building as much as I am right now."
Context: Demonstrates how AI coding assistants remove traditional bottlenecks allowing multiple concurrent projects.
[view highlight
---
## Full Transcript
[00:00] I don't think I've ever been building as<br>[00:01] much as I am right now. Obviously, AI<br>[00:03] has been helping a lot, especially<br>[00:04] because I have like four other jobs.<br>[00:06] Yes, YouTube is one of them. Running my<br>[00:07] company is one of them. Managing all of<br>[00:09] the other companies I work with is one<br>[00:10] of them. And I do a lot. So, it's<br>[00:12] surprising I can build it all, much less<br>[00:14] how much I've been building. And this<br>[00:16] has been super fun. I don't think I've<br>[00:18] ever enjoyed building software as much<br>[00:19] as I do now. These agentic tools make it<br>[00:22] so easy to do lots of things at once at<br>[00:24] scale and build things that I never<br>[00:26] would have imagined. I have lawn, which<br>[00:28] is my new video review tool meant to<br>[00:29] replace frames so we can get Adobe out<br>[00:31] of our lives. I have Shu, which is a new<br>[00:32] way to do O across your projects because<br>[00:34] having a lot of O setups across things<br>[00:36] is annoying. This isn't meant to be the<br>[00:38] greatest O library ever. It's meant to<br>[00:39] unblock you so you can get back to work<br>[00:41] by just having a simple Google sign-in<br>[00:43] button. I have T3 Canvas, which is my<br>[00:44] new image editing tool that I'm actually<br>[00:46] hoping to merge a lot of into T3 chat<br>[00:47] eventually. But more importantly, it's<br>[00:49] something I use every day for everything<br>[00:50] from icons for the projects I'm building<br>[00:52] to concepts for thumbnails that I'm<br>[00:54] working on. It's really useful. And then<br>[00:56] this one that will take a bit before I<br>[00:58] can share more, the FS2 CLI. This is my<br>[01:00] attempt at doing file syncing on a lower<br>[01:03] level. And yes, this whole project is<br>[01:05] written in Rust. I also have two Swift<br>[01:07] projects I'm working on. I've been<br>[01:09] contributing to a ton of stuff. I've<br>[01:10] just been building and touching more<br>[01:12] [ย __ย ] than ever. So, what's the problem<br>[01:14] then? Why are you watching a video that<br>[01:16] is meant to be about the issues that I'm<br>[01:18] having with this? Clearly, it's working,<br>[01:20] right? No. In fact, the problems I'm<br>[01:23] having were so great that I took the<br>[01:25] time to sit down and write an article to<br>[01:28] complain about it. I've been thinking a<br>[01:29] lot about these UX problems, and<br>[01:31] apparently others have too, which is why<br>[01:32] this post got 1.2 million views and<br>[01:35] everybody from Microsoft execs to vibe<br>[01:37] coders reacting to it. I have a lot to<br>[01:39] say about these UX problems. I've been<br>[01:40] thinking about them a ton, and I might<br>[01:42] actually have some solutions in mind as<br>[01:44] well. Do you know what doesn't have any<br>[01:46] of these problems, though? Today's<br>[01:47] sponsor. You've already heard about<br>[01:48] today's sponsor, Sentry, but you might<br>[01:50] not have heard about the features I'm<br>[01:51] here to talk about because I hadn't<br>[01:52] until I talked to the team. The new<br>[01:54] Sentry agent dashboard is unbelievable.<br>[01:56] I really wish I had the setup for T3<br>[01:58] chat. I'm probably going to go do it<br>[01:59] when I'm done filming cuz it's so<br>[02:01] genuinely useful. If you're building<br>[02:03] with agents, you know that things don't<br>[02:04] always go right. Maybe when you write<br>[02:06] code, you know what the error cases are<br>[02:09] and you can easily trace where the error<br>[02:11] came from. But when an agent can call<br>[02:13] arbitrary tools in an arbitrary order<br>[02:14] with arbitrary failure rates, good luck<br>[02:17] debugging that. Imagine if you could<br>[02:19] just see into those agent runs with five<br>[02:21] lines of code. Kind of sounds<br>[02:23] unbelievable. And I struggled to believe<br>[02:25] it until I saw it here. It's so cool.<br>[02:27] This project is a bunch of agents that<br>[02:29] are running with the observability<br>[02:30] through hotel on. But we can click any<br>[02:32] one of them and see what it looks like.<br>[02:34] So here is a request that had 48 errors,<br>[02:37] two LM calls, one tool call, and 29K<br>[02:40] tokens generated. You can even see how<br>[02:42] much it cost. And if we click on it, we<br>[02:44] get so much useful information from a<br>[02:46] real trace. So this one was wrapping<br>[02:48] claude code. Yes, you can wrap claude<br>[02:51] code with this and see all the tool<br>[02:52] calls it makes on a request. Here you<br>[02:54] can see over time which tool calls<br>[02:56] happened, how long they took, what<br>[02:58] happened as a response to that, all of<br>[03:00] the agents and sub aents that were<br>[03:02] invoked as part of this request. This is<br>[03:05] so useful. You can see how many tool<br>[03:07] calls happen a day, broken down by which<br>[03:08] tools are being used, how many tokens<br>[03:10] are being used by various models, how<br>[03:12] many LM calls are happening for each of<br>[03:14] those models, error rates, and all of<br>[03:16] these things that are really annoying to<br>[03:18] find and figure out. Take it from<br>[03:20] somebody who's been trying to debug<br>[03:21] weird search tool call loops for a<br>[03:23] minute now. This stuff is so useful. All<br>[03:26] you have to do is set up the init call<br>[03:27] and turn on experimental telemetry<br>[03:29] wherever you're calling one of the<br>[03:30] generate functions in the AI SDK. They<br>[03:32] have this for a bunch of other<br>[03:34] languages, tools, and SDKs as well. This<br>[03:36] is what we use and like I'm probably<br>[03:39] going to go set this up now. Don't wait<br>[03:40] till things go wrong. You'll want these<br>[03:42] traces when they do. Get them now at<br>[03:44] soyv.link/entry.<br>[03:46] The UX problem with aentic development.<br>[03:49] In order to understand this problem, I<br>[03:51] think we have to go back in time, a<br>[03:53] really, really long ways back two months<br>[03:56] ago because this shit's been changing<br>[03:58] fast. This is what my setup would look<br>[04:00] like most of the time that I was<br>[04:02] working. For most of the time I've been<br>[04:04] writing code, I would have my terminal<br>[04:05] open with my dev server and some tab<br>[04:08] open for git. I would have my IDE open<br>[04:10] with a workspace setup for the thing<br>[04:11] that I'm working on. And I have my<br>[04:13] browser open with one tab in localhost<br>[04:15] and one tab in GitHub. So here is a<br>[04:18] rough idea of what my setup used to look<br>[04:20] like. I had my terminal where I have my<br>[04:22] dev server here and I have this empty<br>[04:24] one that's for git stuff generally. So<br>[04:26] like TIG to see my git history, all the<br>[04:28] usual stuff. Then I have my browser<br>[04:31] which has the dev environment and<br>[04:32] usually I have GitHub up for the same<br>[04:34] thing. Here's the GitHub repo for the<br>[04:36] same project. And then I have my editor<br>[04:38] where I'm actually writing code. In this<br>[04:39] case, I'm writing all my code in<br>[04:40] markdown files. But this is roughly what<br>[04:42] my setup would look like the majority of<br>[04:44] the time I was developing. And honestly,<br>[04:46] it's not too bad. If I do the three<br>[04:48] figures up, you can see here are the<br>[04:49] surfaces that are split across this<br>[04:52] piece of work. When I'm working on this<br>[04:53] project, I have one editor, one browser,<br>[04:55] one terminal with two tabs. All fine and<br>[04:58] sensical. None of this is that bad right<br>[05:00] now. But what happens if I'm working on<br>[05:02] two things at once? Okay, let's try it.<br>[05:05] Maybe we do another set of tabs in here.<br>[05:08] Okay, but which one am I in at any given<br>[05:10] time? That's annoying. I'm a big T-m<br>[05:13] guy, so I used to set up T-Maces for the<br>[05:15] different projects. But then if I wanted<br>[05:17] two different things, like maybe I want<br>[05:18] to break this Git terminal or this dev<br>[05:20] terminal out to full screen. Does that<br>[05:22] get a new tab? Maybe tabs aren't the<br>[05:24] right way to do this. Maybe I break this<br>[05:25] up into different windows for each<br>[05:27] project. Maybe this one will be for T3<br>[05:29] chat and this window will be for long.<br>[05:32] Okay, what about the browser though? Do<br>[05:34] we make new browser windows for the<br>[05:35] different projects or do I make<br>[05:36] different tabs? How do I get to the<br>[05:38] right GitHub tab? How do I manage the<br>[05:40] back and forth between all of this? And<br>[05:41] then when I have two different projects<br>[05:43] in my editor, how do I know I'm in the<br>[05:45] right one? I've seen everything from<br>[05:46] people color coding their VS Code and<br>[05:48] cursor instances to doing crazy stuff<br>[05:51] with their workspaces on their computer.<br>[05:53] And I'm here to tell you none of that<br>[05:54] works. Here's a fun thing. Let's just<br>[05:56] try moving things to a new desktop.<br>[05:58] Here's desktop 3. I'll move this<br>[06:00] terminal over. We'll manually open up VS<br>[06:03] Code here with the code command. Now I<br>[06:06] have those two. Let's do the browser.<br>[06:08] Command tab to heal. Oh, it just moved<br>[06:10] me to the wrong place. I'll go back over<br>[06:12] command N. Now it's making a terminal.<br>[06:15] How do I get a new browser here? Great<br>[06:17] question. You have to go down to your<br>[06:19] doc, which I never use. Rightclick,<br>[06:22] new window.<br>[06:23] Cool. Kind of works. What's even more<br>[06:26] fun is if you do this and you go to a<br>[06:27] tab where something else was open. So<br>[06:29] I'm going to command tab to Helium from<br>[06:31] workspace 3 where there is no browser in<br>[06:33] workspace 3 and it switches to workspace<br>[06:35] 2 and switches back to this focus. And<br>[06:37] even funnier, and I can't replicate it<br>[06:38] now, sometimes when I do this, it will<br>[06:41] go to the other window and it will<br>[06:42] flicker between two different windows<br>[06:44] back and forth a few times before it<br>[06:46] settles. On top of that, the actual<br>[06:49] navigation here is so slow. The<br>[06:51] three-finger scroll to switch between<br>[06:53] things is awful. Oh, did you see the<br>[06:54] flicker there where it switched from<br>[06:55] Helium back to the terminal just when I<br>[06:57] switched workspaces?<br>[07:04] Oh, I did it again there where I<br>[07:05] switched to lawn here. So, I'm going to<br>[07:07] command tab to Helium. Right now, before<br>[07:09] I do that, desktop one is a terminal.<br>[07:11] Desktop 2 is a browser. Desktop 3 only<br>[07:13] has terminal and editor. So, terminal 3,<br>[07:15] command tabbing to Helium. And we did<br>[07:18] this, right? Watch when I go back to<br>[07:19] one. Are you kidding me? It's it's not<br>[07:23] just like little annoyances. These<br>[07:25] things make this unusable. Let's break<br>[07:27] this down a bit more from first<br>[07:28] principles. When your work was split<br>[07:31] across apps before it was okay because<br>[07:34] your mental model was effectively<br>[07:36] everything here is contained under this<br>[07:38] project. Your terminal, your editor and<br>[07:41] your browser are all part of your mental<br>[07:43] model for managing this one project. But<br>[07:46] since a lot of these models are slow and<br>[07:48] it's possible to run tasks that take<br>[07:50] over an hour now easily. I often have a<br>[07:52] job running with codecs that takes one<br>[07:54] to two hours just cuz I have some idea<br>[07:55] and I wanted to go test it out. That<br>[07:57] means doing just one thing at a time<br>[07:58] sucks because you're just sitting there<br>[08:00] scrolling Twitter as you wait for the<br>[08:01] build to finish. And by build, I don't<br>[08:03] mean literally running the build. I mean<br>[08:05] doing all of the building through the<br>[08:06] agents. So you end up spinning up other<br>[08:09] spaces. Maybe you have three different<br>[08:10] branches or work trees for one project.<br>[08:12] Or maybe you're just working on<br>[08:13] different projects at the same time.<br>[08:15] That does not work great now though.<br>[08:17] Remember previously we had multiple<br>[08:19] apps, multiple tabs and everything, but<br>[08:20] it was in our head as all of those were<br>[08:22] grouped under the project. But what<br>[08:24] happens when you have more than one<br>[08:25] project and now you have to split those<br>[08:27] projects across different apps? Are you<br>[08:29] going to make different windows for<br>[08:30] everything? How are you going to manage<br>[08:31] the different ones? What if terminal for<br>[08:33] project B dings when project one's<br>[08:36] browser is open? How do you get to the<br>[08:38] right spot when you are dealing with all<br>[08:41] of these things running in parallel? I'm<br>[08:43] already seeing the push back in chat.<br>[08:44] Things like, what about the context of<br>[08:46] switching models? What about alt tab on<br>[08:48] Mac OS the custom one? None of that ends<br>[08:51] up mattering that much, especially the<br>[08:53] context shifting thing. When you are<br>[08:56] good at scoping your work and writing<br>[08:58] down exactly what you have in mind, it's<br>[09:00] not that hard to switch between because<br>[09:01] otherwise you're just sitting there<br>[09:02] staring at it for 20 minutes to 2 hours.<br>[09:05] This is definitely an ADHD<br>[09:06] characteristic that this works well for<br>[09:08] me, but it does. I really like having<br>[09:10] two or three projects going with long<br>[09:12] running tasks that I can swap between<br>[09:14] and see what's happening. But when you<br>[09:16] have to split that context across apps,<br>[09:18] it gets much more annoying. My dream<br>[09:21] would be a very simple set of desktops<br>[09:24] that have their own logical consistent<br>[09:26] behaviors such that I could easily go<br>[09:28] between the three and have them set up<br>[09:30] perfectly. In my dream world, each of<br>[09:32] these would be a different remote<br>[09:34] computer that I'm controlling from here.<br>[09:36] Sadly, just fixing window management<br>[09:38] isn't enough, though. Because as bad as<br>[09:40] this part is, and yeah, sure, window<br>[09:42] management will help, the horrible split<br>[09:44] of our projects across our apps, which<br>[09:47] hurts so much right now. The fact that<br>[09:49] our terminal or ID and browser are<br>[09:50] separate is painful. And as I said,<br>[09:53] there's a lot of sub problems. How do<br>[09:54] you choose how you split your terminal<br>[09:56] up? Do you use tabs or windows? Do you<br>[09:58] use T-Mox? What do you do about that?<br>[10:00] How do you know which terminal window<br>[10:02] you're in right now? A lot of these<br>[10:03] tools don't show you where you are when<br>[10:05] you're running something like cloud<br>[10:07] code. Like here, where am I? Where in<br>[10:11] the world am I right now? What project<br>[10:13] am I inside of with this terminal? No<br>[10:15] way of knowing. I can go set up a custom<br>[10:17] status bar to tell me where I am here.<br>[10:19] But I shouldn't have to [ย __ย ] do that.<br>[10:21] It's obnoxious. And when you're looking<br>[10:23] at a higher level between different<br>[10:24] browsers, knowing which one has the<br>[10:26] right GitHub repo is the most annoying<br>[10:28] thing in the world. The more you do this<br>[10:30] type of work, the more you start to feel<br>[10:31] these pain points, especially with stuff<br>[10:34] like port collision, O and cookie<br>[10:36] collision, all of those types of things.<br>[10:38] Fun fact that I didn't know until<br>[10:40] recently. Did you know that local hosts<br>[10:42] app storage data in the browser is<br>[10:43] shared across all ports? So, if you have<br>[10:46] three things running on three different<br>[10:47] ports and they all edit the same<br>[10:49] cookies, they're all now very broken.<br>[10:52] What? I did not believe this until I<br>[10:55] experimented with it myself. But yes,<br>[10:57] local host is one host. Thankfully,<br>[11:00] chat's making me feel less insane for<br>[11:02] saying this because I had no idea at<br>[11:04] all. Ports don't count as different<br>[11:05] hosts, which means multiple things under<br>[11:07] local host all get grouped together,<br>[11:09] which breaks a ton of [ย __ย ] And that's<br>[11:11] not even counting the fact that if you<br>[11:13] use a port that's different from what<br>[11:14] your project's built for, things like<br>[11:15] your off redirection are probably going<br>[11:17] to break. Because if you set up your O<br>[11:19] to redirect to either localhost 3000 or<br>[11:21] your prod domain and now you have<br>[11:23] localhost 3000 in 12 because you're<br>[11:25] working on three things in parallel.<br>[11:28] Good luck. It's broken now. And there's<br>[11:30] just so many of these things constantly.<br>[11:32] I have been running into this stuff<br>[11:34] every day. I've been working with these<br>[11:36] tools and they're getting more and more<br>[11:38] frustrating every day. In my little<br>[11:40] essay thing, I wrote an example of like<br>[11:42] a real world story that I have<br>[11:45] experienced that I'm sure lots of others<br>[11:46] have too. Ding. You hear a notification<br>[11:49] sound from a Cloud Code workflow<br>[11:50] finishing. Which terminal tab was it? I<br>[11:53] hop around my terminal windows and tabs<br>[11:54] for a bit. Finally, I can find it. It<br>[11:56] was project B. Okay. Now, which browser<br>[11:59] was that? Oh, it got assigned to<br>[12:01] localhost 3001. Now, my O redirects are<br>[12:04] broken. I can't even sign into it. Which<br>[12:05] terminal tab is using 3000? Okay. It was<br>[12:07] project A. I'll kill it. Where's the tab<br>[12:09] for project B's dev server so I can<br>[12:11] rerun it with the right port? Ding.<br>[12:13] Another workflow just finished. It<br>[12:15] briefly grabs your attention just long<br>[12:17] enough to lose track of whatever it was<br>[12:20] that you were just doing. I run into<br>[12:22] this multiple times a day right now.<br>[12:24] Feel like I'm going mad. I am sure at<br>[12:26] least half of you are thinking of simple<br>[12:28] solutions to this that are like, "Oh,<br>[12:29] it's so easy. Just do X, Y, or Z. Just<br>[12:33] use Tail Scale or move to Linux or all<br>[12:35] these things." No. Just no. T-Mux is one<br>[12:40] that's recommended to me a lot, which is<br>[12:41] really funny because I've been using GNU<br>[12:43] screen since before most T-Mux fans were<br>[12:45] born. I've been using it since I was 12<br>[12:47] and now I am old. Multipplexing your<br>[12:49] terminal is an awesome thing and I<br>[12:51] really, really like it. I used T-Mox as<br>[12:53] my default terminal setup for the last 8<br>[12:55] years and I only didn't set it up on<br>[12:57] this MacBook to see how I would feel<br>[13:00] living without it. And the answer is not<br>[13:02] much better, not much worse. What about<br>[13:03] agent orchestration GUIs? As you guys<br>[13:06] know, I absolutely love the Codeex UI,<br>[13:09] not the Codeex CLI. It's fine, but I've<br>[13:11] been building a ton of stuff here. And<br>[13:13] you can see I am still doing that. I<br>[13:15] love this UI. I like it a lot. The fact<br>[13:18] that I have one app that lets me work<br>[13:19] between different projects for the<br>[13:21] generation side is great. But I still<br>[13:23] end up in the terminal for running the<br>[13:25] dev servers because the built-in<br>[13:26] terminal in this app is just garbage. I<br>[13:28] didn't even mention in the video cuz<br>[13:29] it's so bad and I don't like built-in<br>[13:30] terminals. And the diff view, as cool as<br>[13:33] it is, does not give me enough detail to<br>[13:34] ship confidently. So, I still like to<br>[13:36] open my editor here and there. And of<br>[13:38] course, the browser problem. I still<br>[13:39] have to deal with the browser and all of<br>[13:41] the weird things around port collisions,<br>[13:42] redirects, all that and more. So, while<br>[13:44] I love this app, it does not solve these<br>[13:46] problems. If anything, I feel them more<br>[13:48] now because solving the terminal side<br>[13:50] here, like making this part go away<br>[13:54] makes me feel like I can do more. And<br>[13:56] because I feel like I can do more, I<br>[13:58] start to do more. And then the problems<br>[13:59] with these two get way worse really<br>[14:02] fast. Without codecs, I feel pretty hard<br>[14:04] limited to two things at a time, but<br>[14:07] with codeex, I can do like four or five,<br>[14:09] but now these problems get way worse.<br>[14:11] How about an IDE with a built-in<br>[14:13] browser? This is honestly some of the<br>[14:15] closest I've seen. Something like cursor<br>[14:17] with a built-in terminal, built-in Git<br>[14:19] workflows, and a built-in browser can<br>[14:22] get pretty damn far here. But I still<br>[14:24] need GitHub because I need to see what's<br>[14:26] going on in the project. Other PRs need<br>[14:28] to review stuff like that. And as good<br>[14:30] as the VS Code extension is, I use that<br>[14:31] more for doing the detailed review than<br>[14:34] for seeing what's going on. And then<br>[14:36] stuff like off and off redirects and<br>[14:38] trying to get your one password off<br>[14:40] working properly inside of the cursor<br>[14:42] browser in app. If you haven't tried it,<br>[14:44] you don't know the pain. It's awful. And<br>[14:46] then god damn it, like I had to try and<br>[14:48] get pass keys working in the inapp<br>[14:50] browser and I almost went mad. And then<br>[14:52] there's people who sincerely recommend<br>[14:54] Docker. And I would sincerely recommend<br>[14:56] they get their heads checked out because<br>[14:58] as cool as Docker is, it solves none of<br>[15:00] this at all. Good question. Why would I<br>[15:02] need pass keys in dev? Because in dev,<br>[15:04] I'm still signing in with my Google<br>[15:06] account and my Google account is set up<br>[15:07] via a pass key. Could I set up an<br>[15:09] entirely different dev environment for<br>[15:11] all of my projects to make it friendly<br>[15:12] to the specific text editor and built-in<br>[15:14] browser that it has? Yeah, but I don't<br>[15:16] want to do that. I don't want to have to<br>[15:17] go to all of my like 17 projects and<br>[15:20] rebuild how they think about the core<br>[15:22] basics like off just so that I can use<br>[15:25] them in an inapp browser. That sounds<br>[15:27] insane to me. And here's my hottest<br>[15:29] take. Background agents. I think a big<br>[15:32] portion of why we are so hyped on<br>[15:33] background agents in the idea of like<br>[15:35] sending a Slack message to kick off a<br>[15:37] job or having like inapp and cursor and<br>[15:39] codecs, the cloud button that will kick<br>[15:42] it off into the cloud in the background.<br>[15:44] I legitimately think a lot of the hype<br>[15:45] around these features is because of how<br>[15:48] hard it is to do that type of parallel<br>[15:49] work locally. It does help with where<br>[15:52] the code is running and to an extent<br>[15:54] linking the GitHub part, but I honestly<br>[15:55] feel the way it does that is by just<br>[15:57] taking stuff from these other two<br>[15:59] categories and moving them into the<br>[16:01] browser as well. I don't think moving<br>[16:03] the editor experience or the terminal<br>[16:04] experience into the browser necessarily<br>[16:06] solves these things. If anything, what<br>[16:08] I've seen is that these cloud and<br>[16:10] background agent solutions just end up<br>[16:12] being a source of a bunch of PRs that<br>[16:14] don't get touched because no one is<br>[16:15] going to look at this again after they<br>[16:17] run it. But when I'm running locally,<br>[16:18] I'm actually going to play with the<br>[16:19] code. I'm going to test how it works.<br>[16:20] I'm going to be more thorough and<br>[16:22] detailed when it's on my machine my way.<br>[16:25] That might change in the future as these<br>[16:26] background tools get better. But I feel<br>[16:28] like the background agent stuff is<br>[16:30] getting most of its popularity because<br>[16:31] of how bad these problems are and at the<br>[16:33] same time is only solving the like<br>[16:35] terminal aspect of it, none of the rest.<br>[16:38] So, I know what you're thinking now.<br>[16:40] Okay, Theo, you must have some genius<br>[16:42] great solution to this problem, right?<br>[16:46] As I said at the bottom of my post, I'm<br>[16:48] not writing this to announce something<br>[16:49] or to sound smart. I really, really just<br>[16:52] want this fixed. I almost started to<br>[16:54] build an operating system to do just<br>[16:56] this. I need to be realistic though.<br>[16:58] Can't do this one. I don't have the<br>[16:59] skills, mental bandwidth to figure this<br>[17:02] out. I wrote this in hopes that I can<br>[17:04] inspire others to solve this problem.<br>[17:05] There is no single correct solution. We<br>[17:07] need lots of them. Experiment. It's<br>[17:09] never been easier to test out theories,<br>[17:11] build new workflows, feel this pain, try<br>[17:14] to fix it, fail, try again, keep trying.<br>[17:16] We need to figure this out. We need to<br>[17:18] change how we use computers.<br>[17:22] I have a lot of feelings about this one,<br>[17:24] but since I wrote this, something very<br>[17:26] interesting happened, and I will<br>[17:28] emphasize this is not for this video,<br>[17:31] but you should keep an eye out for<br>[17:33] another video in the very near future. I<br>[17:35] got one shot by Neri in Linux. I don't<br>[17:38] want to spoil this whole video cuz it's<br>[17:40] going to be a long and detailed one, but<br>[17:42] there's a good chance that the next time<br>[17:43] you see me in a video like this, I might<br>[17:45] be using something<br>[17:47] that looks very, very different. I<br>[17:50] haven't been this excited about how I<br>[17:51] use a computer for a very long time. And<br>[17:54] it's kind of insane that the exact<br>[17:56] problem I described has a UI that fits<br>[17:59] it perfectly. And of course, it's far<br>[18:01] from perfect. Most of these problems<br>[18:03] still apply, but man, I am so excited to<br>[18:05] show you guys what I've been doing on<br>[18:07] Linux. So, yeah, crazy. You clicked on a<br>[18:09] video here for learning about AI stuff,<br>[18:11] and the answer might be Linux. And I<br>[18:14] can't wait to share more. But for now, I<br>[18:16] don't want you distracted by my<br>[18:17] solution. I want you all to think about<br>[18:20] your own. Build more. Build more in<br>[18:22] parallel. Run into these problems, feel<br>[18:24] them, experience them, then and only<br>[18:27] then start exploring how you can solve<br>[18:30] them yourself. I've built a lot of<br>[18:31] pieces to try and make these things<br>[18:33] better myself. But I'm much more excited<br>[18:34] to see what all of you guys cook, how<br>[18:36] you think about them, and whether or not<br>[18:38] you even agree with the problems that<br>[18:39] I'm perceiving here. There's no reason<br>[18:41] we should only have one or two options<br>[18:42] like we do with operating systems. The<br>[18:44] world of the tools we use and the user<br>[18:46] experiences we have when building this<br>[18:48] way should be wide and diverse and<br>[18:50] exciting. And I am so hyped to see where<br>[18:52] this all goes. So go build, go play, go<br>[18:55] find your own solutions, and let us all<br>[18:57] know how it goes. I can't wait to see<br>[18:59] what you build. Until next time, peace<br>[19:01] nerds.
<!-- deep-read:sections end -->