I couldn't disagree more. I want responsible AI and i would expect Mozilla to lead the way on how to do this when it comes to browsers (they were pioneers when it came to containers and privacy control).
Here's some ways I can think of:
- seamless integration with local models
- opt in and opt out experience when needed
- ai instrumentation (so fill up tedious long web forms for me)
- ai and accessibility
these are off the top of my head.
it boggles my mind that there are so many convinced that AI doesn't offer good use cases for a browser.
I think the "how they introduce it" part is crucial and it doesn't look like Mozilla has cracked that nut from the announcement. but to say no one wants this is just not true and short sighted.
they are building their own editor (granted they didn't do it from scratch); they do build their own models (see composer);
they may not have done a lot of this from scratch but there's still a lot of innovation in what they're doing. they're also building a pretty fantastic product and clearly the leader today in AI innovation for IDEs.
may not be everyone's cup of tea; but i think you might be detracting some of their innovation.
I use Gemini CLI on a daily basis. It used to crash often and I'd lose the chat history. I found this tool called ai-cli-log [1] and it does something similar out of the box. I don't run Gemini CLI without it.
you pick a subset of admittedly clear problems with how aigen is being leveraged but blow it up to be the general case for everyone.
you're quick to call into question the motivation of programmers who use aigen.
i assure you when you see people like Mitchell Hashimoto using aigen, you owe it to yourself to at least explore the possibility that there are folks building great software, and product using aigen. I'm not saying you need to be convicted but your comment comes out as being one sided and emotional.
i'm also curios how you square your thoughts around actually building good products. there's plenty of bad apples on all sides (like the craftsmen who tdd apps that land up not being used by anyone).is that true value?
it would be silly and a strawman argument to then assume that to always be the case.
> I never had much problem with feeling VSCode was slow (outside of those lockups) but Zed surprised me by feeling actively fast.
well said. this is exactly how I felt too. when other folks ask why zed, and i tell them it's fast - i couldn't quite capture that feeling but this comment nails it.
Zed actively feels faster than VSCode or equivalent editors; but once you get comfortable with Zed's speed, it's hard to go back.
for the most part I've been using Firefox containers and loving that life of getting the same benefits without having to create separate profiles.
but it's nice to see this finally get into Firefox because there are still a lot of folks who also want to maintain things like browser bookmarks, passwords etc in a separate profile. that's the only conceivable useful difference over Containers (which IMHO is slightly better than having to manage multiple profiles)
> that's the only conceivable useful difference over Containers
But thats a massive difference.
I have work profiles and a personal profile. I have password manager profiles for clients (clients will provide their own PM logins to segregate their access) which are different between them, and having separate profiles is huge.
Containers are great, especially for crappy websites that use your sessions for tracking which page you are on, but they are no where near powerful enough.
You've hit on the relevant distinction: user context vs system context.
I use containers to separate system context (partitioning cookies and site data) while remaining in the same user context (e.g. "personal browsing").
I use profiles for when I need different user contexts (different bookmarks and frequently used sites for different clients or projects).
When only one tool is available, you are limited by the constraints of that tool (e.g. bookmarks bleeding over between user contexts when using containers, or having to copy extensions or bookmarks into every profile).
> I use profiles for when I need different user contexts (different bookmarks and frequently used sites for different clients or projects).
This is the part where the new Firefox profiles fall short. I just checked and cannot create two separate profiles with the same email address. So it's not possible tohave different profiles for different _projects_ at work, for example.
Containers are the way to go with this, but then they are not exactly intuitive. Arc got this right and Zen is showing a lot of promise.
I like to have it both ways. Given the options available so far I've preferred to have bookmarks shared between both and mainly keep tabs / working context separate.
The best I've managed so far is to run separate instances of Firefox with the same Sync Account which appear as separate 'devices'. Nightly with a different icon and theme makes it obvious which is which.
This way if I come across something interesting I want dig into further on my own time, I can bookmark it as well as 'Send Tab To Device -> Home' or 'Phone' depending on where I want to be and what environment I want to have available when I see it later (e.g. read only, or hands on).
Yes, I may be hoarding a lot of tabs but that's a separate issue...
Cookies can already be partitioned. I am not sure if it's default but at the very least it's a config flag. It's called site isolation. I have seen Firefox people say containers kind of become unnecessary with this in place in terms of privacy but they kind of have an opaque whitelist to get some things to work. The biggest example is google properties.
that's fair (and glad profiles have finally arrived in FF for that reason); personally, i don't use password managers linked to any specific browser but i can understand your use case.
sort of. it was a nuts and bolt implementation. by their own admission it was reintroduced to make it more friendly. from a comment I saw made elsewhere:
> yes about:profiles has existed for a long time. We have heard feedback from many of our users to make it user friendly and accessible. We are introducing many new additional functionalities in this new profile management experience (avatars, colors/themes, shortcuts, desktop icons, default links/apps per profile, copy profile, move tabs between profiles). Stayed tuned for these updates.
Containers are nice, but they are, as you said, not as powerful as the new profiles system (which is, incidentally, almost as easy to use as containers now that we can switch between them right in the UI).
At this time there are essentially three levels of indirection: "legacy" profiles -> new profiles -> containers, that is we can have multiple legacy profiles with each having multiple new profiles, each with an independent group of containers in them.
To choose a legacy profile, use the -P CLI option (with or without a profile name). Once firefox starts, you can switch between the new profiles stored inside the current legacy one using the new UI.
> that's the only conceivable useful difference over Containers
Actually, I have wanted better profile support for a while to segregate addons. There are plenty of addons that I want to use occasionally that require full data access. I generally do trust them, but even so, I keep these in a separate profile just in case. That is something that can't be done with containers.
> There are plenty of addons that I want to use occasionally that require full data access. I generally do trust them...
Seconded, except I don't trust most add-ons and don't want to have to trust them.
I want an easy way to launch a disposable browser session in any browser, totally isolated, with add-ons chosen (and downloaded) at launch time, and then erased of with the rest of the session when its last open page is closed.
I think Firefox focus does that on android, I'm sure there's a way to get the same result on a desktop with some flags and pointing to a config file (or a read only profile folder maybe?)
AFAIK Firefox Focus doesn't have extensions at all:( Although yes, it effectively has only private/incognito sessions that are erased when you close the app.
Beyond its UI having basically been frozen since Netscape Navigator 4-ish modulo XUL shenanigans?
The new Profile Manager (that doesn't yet entirely replace the old one, both exist side-by-side for the moment) uses icons and colors to better differentiate profiles at a glance.
Additionally links to the new Profile Manager are now in the Account menu and feel a bit more like an "account chooser" (comparable to Chrome's experience, especially) and lot less like a power user feature hidden behind a page address that people might not know ("about:profiles").
That's what I fear happening, and I will not like it.
> comparable to Chrome's experience
If I wanted to have "Chrome's experience" I would have used Chrome. Profiles is one way Firefox has been vastly better. Selecting the last used Profile is one press on Enter on startup and selecting a different one is a matter of pressing up/down a few times and pressing Enter or typing the first few (unique) characters of the profile name and pressing Enter. I can't think of a UI that would be faster, I think this has already reached the maximum UX for decades. This all works nicely, because it looks, feels and behaves like a native window (don't know if it is).
> lot less like a power user feature hidden behind a page address that people might not know ("about:profiles").
Why is everyone comparing it to the "hidden debug site" instead of the old profiles UI? Yeah no shit, about:profiles is not discoverable to the average user, much like all the other about: pages, but why would anyone not debugging the browser use it over the normal profiles UI?
> Beyond its UI having basically been frozen since Netscape Navigator 4-ish modulo XUL shenanigans?
I don't think this is a bad thing. I vastly prefer native(?-like) UI, way more over yet another Metro-UI clone with sluggish behaviour and no keyboard bindings.
> Why is everyone comparing it to the "hidden debug site" instead of the old profiles UI? Yeah no shit, about:profiles is not discoverable to the average user, much like all the other about: pages, but why would anyone not debugging the browser use it over the normal profiles UI?
"about:profiles" wasn't a debug view, it was the "normal" profiles UI; it was the only way to get to the ProfileManager without closing Firefox and reopening it with a CLI flag. For most of its life in Firefox it never had a menu item or toolbar button.
> I vastly prefer native(?-like) UI, way more over yet another Metro-UI clone with sluggish behaviour and no keyboard bindings.
Firefox has never used native controls. They were "XUL" controls for a long while, but that had several major revisions. (Netscape had some XUL predecessors, probably some port or fork of a Unix toolkit like Qt or Tk?) But the trick to XUL was it was always the same renderer as HTML for the most part. Then in the somewhat controversial at the time decision to kill off XUL Firefox moved to just HTML everywhere.
The new Profile Manager seemed to have keyboard bindings and didn't feel sluggish to me. The one loan complaint with it is that it doesn't have a way yet to surface profiles made before using the new Manager, but I assume that will come with time and expect that's one of the things to fix before the new one replaces the old one.
> "about:profiles" wasn't a debug view, it was the "normal" profiles UI; it was the only way to get to the ProfileManager without closing Firefox and reopening it with a CLI flag. For most of its life in Firefox it never had a menu item or toolbar button.
I did not knew that. I have used the ProfileManager for years and have not know of "about:profiles". Where is even the button on that page to launch the ProfileManager? I only see options to launch a specific profile or Restart with or without Add-Ons. This doesn't really look like the official page to handle Profiles and more like an afterthought.
Also about:profiles currently tells me this, because I started another profile:
> About Profiles
> Another copy of Firefox has made changes to profiles. You must restart Firefox before making more changes.
This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
What kind of useless behaviour is that? I can't open another profile as soon as another profile was opened? Honestly the claim, that this is supposed to be the primary interface to Profiles doesn't sound believable. This seems to be more something like a diagnostic tool/power user tool to access half-way internals in the same spirit as about:processes or other about: pages.
Also opening the Profiles Manager through some other Firefox instance seems a bit pointless to me, because you normally use Profiles to have process isolation and prevent one frozen Firefox instance from blocking another to start.
> it was the only way to get to the ProfileManager without closing Firefox
You can open the Profiles Manager without closing Firefox?
> For most of its life in Firefox it never had a menu item or toolbar button.
That seems to be an easy change that doesn't need redesigning the Profile mechanism.
> Firefox has never used native controls.
I suspected that, that's why I added a question mark and "-like". I ment that it feels, behaves and conforms like a native tool and is really usable and integrated.
Also are you sure about that? Because when I change my GTK+/GNOME theme, it also instantly changes the layout, icons, colors, etc. in the Profile Manager as well as in the other Firefox Chrome at runtime. Normally only GTK+ programs do that, not even KDE programs do it and certainly not some customly rolled UI toolkit. For example programs like Google Chrome(ium) give a shit about the OS theme. So if Firefox really uses some self-made UI toolkit, than they did a REALLY good job, because it looks and behaves exactly like all the other GTK+ programs. But I always thought that Firefox uses a GTK+ fork.
i loved Jetbrains as an IDE but gosh they've fumbled the AI strategy.
The article doesn't mention AI assistant plugin which I think was their first attempt.
Junie cannot run local models, so for that you'll have to go back to AI assistant which leaves a lot to be desired.
I was excited about them adoption ACP with editors like Zed. will help standardize the space a little with the interoperability, but as it stands they're really behind in this race.
> when we are yet to confidently have any model complete a single simple instruction???
i understand the author might be a little frustrated and employing hyperbole here, but are most folks genuinely having similar problems?
at this point I have found LLMs to more often than not follow my instructions. It requires diligent pruning of instructions, effective prompting and planning. but once you get a sense of how to do those three things, it's possible to fly with these coding agents.
it does get it wrong occasionally but anecdotally this is like 1/10 in my experience. and interrupting and course-correcting quickly gets me right back on track.
I'm just surprised at the skepticism at the usefulness of these tools from the HN comments. there's plenty of reasons to be worried and upset (cost, job transformation and displacement etc) but the effectiveness of coding agents being a common theme, in the comments here as well, is surprising to me.
My experience has been that if you take the time to explain what the current state is, what your desired state should be, and to give information on how you want the agent to proceed, that then you can work with the agent to craft a plan, refine the plan, and finally execute the plan. In this mode of operation, the current state of the art is quite impressive.
You can't just give it a single sentence and expect it to do something complex correctly. It takes real effort and human time, just like if you were trying to get a smart and capable intern who has no real world experience to do something technical correctly. Just the AI agents work significantly faster than a human intern.
> My experience has been that if you take the time to explain what the current state is, what your desired state should be, and to give information on how you want the agent to proceed, that then you can work with the agent to craft a plan, refine the plan, and finally execute the plan.
People say this a lot, and I'm not even saying you're wrong. But that isn't useful to me. In the time it takes me to do all that, I can just solve the problem myself. If I have to hold its hand through finding a solution, then it is a time suck, not a time saver.
Agreed. I also have to check if it has implemented the idea correctly.
If my workflow is;
1. Write documentation so that the problem and even the solution to the problem is well explained.
2. Instruct coding agents to work as the document described.
3. Check its if its implementation is correct, and improve its implementation if necessary.
I feel the experience is not as good as me implementing the solution myself, and it may even take more time.
There are definitely times when it’s not faster to use the tool to do the full job. But sometimes just using the tool to plan the job helps to clarify the task so a human can do it better/faster.
But then there’s also tasks where using the tool is a HUGE speed up.
You can literally write "Add a feature on the UI where we get a live update of new posts using a websocket connection in the backend server at /app/backend."
And it will it will integrate websockets in your UI, backend and create the models, service logic, etc in under 20 seconds. Can you really do that?
That's boilerplate stuff. That's what it's best at. But the moment I want something slightly off the beaten path (and I always do), it struggles and makes mistakes.
Look at it differently: getting to use AI so it is a productivity multiplier and not a productivity sink is hard. It takes a lot of work. Or rather, a lot of experimentation. You will generate some AI slop, you will annoy some people, you will embarrass yourself, you will retrace your steps, etc, etc. It is hard. Ok, let me say that again. It is hard. It is not easy. It is a tool with a steep learning curve.
It is ok to decide not to use such a tool. But you will be left behind.
> My experience has been that if you take the time to explain what the current state is, what your desired state should be, and to give information on how you want the agent to proceed,
I have a pet theory. 1. This skill requires a strong theory of mind[1]. 2. Theory of mind is more difficult in those with autism 3. The same autism that makes people really good at coding, and gives them the time to post on online forms like hn, makes it hard to understand how to work with LLMs and how others work with llms.
To provide good context to the llm you need to have a good understanding of (1) what it will and will not know, (2) what you know and take for granted(ie a theory of your own mind) (3) what your expectations are. None of this you need to do when you are coding on your own, but are critical on getting a good response from the LLM.
See also the black and white thinking that is common in the responses on articles like this.[2]
Whether or not it has a mind is irrelevant to the problem. I think the point is, if you pretend it had a mind and write your prompt accordingly, you will get the best results.
The burden of proof is on people stating that an AI has a theory of mind, not on the reverse. Until recently it was highly debated on if dogs have theory of mind, and it took decades of evidence to come to the conclusion that yes, they do.
GGP didn't say that AI has a theory of mind. GGP said that using AI productively requires a theory of mind, a.k.a. being able to build a mental model of the LLM's context.
The burden of proof is on the person making the claim. It doesn't matter whether the claim is positive or negative. The default position is "We don't know if AI has a ToM."
That HN username is also bad news. Meanwhile yours is pretty cool. I really enjoyed the social credit memes with John Cena.
How exactly do you come up with a pet theory out of nowhere, randomly diagnose people on the internet with autism based on how they use LLMs and then start linking to a most likely AI generated blog post (there was simply too much repetition) that ascribes a lot of negative attributes to them with a username that is meant to be unrecognisable.
The post is basically a Kafka trap or engagement bait.
People don't understand that LLMs aren't humans. There's a lot of implicit context when humans are communicating. LLMs don't do that.
They do have biases, like if you tell them to do something with data, they'll pretty likely grab Python as the tool.
And different models have different biases and styles, you can try to guide them to your specific style with prompts, but it doesn't always work - depending on how esoteric your personal style is.
Imagining the tool is like a college intern helps me. It has no idea how the real world works. It blindly follows things it previously found online. It’s great at very common boilerplate coding tasks. But it’s super naive and will need hand holding or you to provide a huge amount of context for it so it can operate on its own.
I’m still very much learning how to give it good instructions to accomplish tasks. Different tasks require different types and methods of instruction. It’s extremely interesting to me. I’m far from an expert.
I imagine LLMs as an endless stream of consultants, each can work only one day (context).
Every day you need to bring them up to speed (prompt, accessible documentation) and give them the task of the day. If it looks like they can't finish the task (context runs out), you need to tell them to write down where they left (store context to a memory, markdown file is fine) and kick them out the door.
The person in the Cursor platform is raising a different question and a valid one. We have tons of these frameworks out there, openspec, amplifier, etc. The ultimate dream is to have these subagents work in the background autonomously.
However reality tells us that you constantly have to keep Claude on the right track. Nudge here, nudge there. Close code reviews. Test, test more. Very interactive. Superpowers to the engineer.
It is this contradiction that also makes me believe that it will take another year for agents to work on enterprise codebases autonomously. Maybe more, look at autonomous self driving, surprisingly hard to get to the last 10%.
I think this is the challenge and the dissonance. For something to truly run autonomously you need to provide it some many constraints that it almost loses its usefulness. I've tried using AI, or at least looked into what I could use AI for to automate marketing tasks and I just don't think I can seriously set up a workflow in n8n or AgentKit that would produce sufficiently good results without me jumping in. That said, AI is incredibly helpful in this semi-autonomous mode with the right parameters, to the point of the parent comment.
Moreover they’re not even that great as a search tool. Often just giving incorrect or outdated synthesized results. Marginally better than a raw google search because I can skip all the sponsored/SEO hack results with garbage info.
I just literally sat down on my computer after walking the dogs.
During my walk Codex (gpt-5-high) rewrote a Python application to Go in one shot. I sat down, tested and it works. Except now I can just distribute a single binary instead of a virtualenv mess =)
Naturally it wasn't breaking new ground on computer science :)
It was a "script" (application?, the line is vague) that reads my Obsidian movie/anime/tv watchlist markdown files from my vault, grabs the title and searches for that title in Themoviedb
If there are multiple matches, it displays a dialog to pick the correct one.
Then it fills the relevant front matter, grabs a cover for Obsidian Bases and adds some extra info on the page for that item.
The Python version worked just fine, but I wanted to share the tool and I just can't be arsed to figure that out with Python. With Go it's a single binary.
Without LLM assistance I could've easily spent a few nights doing this, and most likely would've just not done it.
Now it was the effort of me giving the LLM a git worktree to safely go wild in (I specifically said that it can freely delete anything to clean up old crap) and that's what it did.
And this isn't the first Python -> Go transition I've done, I did the same for a bunch of small utility scripts when GPT3/3.5 was the new hotness. Wasn't as smooth then (many a library and API was hallucinated), but still markedly faster than doing it by hand.
Now, that's actually a very reasonable usage, because it isn't coding, it's translation. The counter to that being beneficial is that many code translation programs already exists and it's certainly something that can be built and done so in a way to be certain of security, proper practices etc, which you can't guarantee with LLM and using a specialized program is orders of magnitude less resource intensive.
Of course it's nice as a hobbyist end user to do exactly what you did for a simple script and that's to the credit of the LLM. The over-arching issue is that extremely inefficient process is only possible thanks to subsidization from Venture capital.
I personally prefer Go with LLMs because it has a relatively large amount of analyzers and other tooling to statically check that there are no major issues with the code.
Also the compiler being a stickler for unused code etc. keeps the Agentic models in check, they can't YOLO stuff as hard like in, say, Python.
Rewriting something in another language is super simple. The original code has all the context. Even simple for a human but takes time. I literally did the same thing recently and had Claude rewrite a simple Python lib to elixir so I don’t need to run Python somewhere. Wasn’t perfect actually but very easy to fix the issues.
Trivial with an LLM yes, but in reality nobody will bother with a full rewrite in another language just for fun if the original program works, but is a bit annoying to run.
Could you, or someone, make a video showing a real life coding scenario where an agentic system or just LLM provided significant value? That, to me, would be beyond the value one would get or could have previously gotten from a Google search or stack overflow post?
I asked it to generate a simple EffectTS script and it did. (It was my first piece of code using Effect, but I know a bit of Scala ZIO, so it was helpful to get started.)
Effect's docs are quite sparse/terse.
And this is usually what I found, it's good when I have a blank page. (Adding new functionality to a legacy system for example.)
But I get upset in no time when I can't really give feedback to it, as the only options are accepting/rejecting the diff or getting stuck in editing manually, but it's in some strange limbo, so usually IDE tools don't work well, and you can't chat with it about the diff, only about what it already thinks are in the files.
(And while this seems like "just" a tooling issue, fundamentally the whole frenzy soured me, I tried Cursor/Windsurf/ClaudeCode and now I'm out of fucks to give ... even though chatting about solutions and writing Markdown docs would be great for everyone, for the projects I work on, etc.)
I've had the exact same reaction and figured that devs like to say that AI is useless are either: trying to make themselves feel smarter by trying to say that what they are working on is beyond anything that AI has been trained on, OR, aren't able to effectively breakdown the problems they have into smaller digestible chunks.
I'm not sure what people are considering instructions but it talks about the topics that I tell it to talk about, and when parsing prose it will take specific instruction as to word choice, or tone.
More often than not is not good enough for me. But worse than not following instructions, is simply being wrong, and then doubling down on it.
This is something that happens to me a lot. When I ask it to do something moderately complex, or to analyse an error I get, quite often it leaps to the wrong conclusion and keeps doubling down on it when it doesn't work, until I tell it what the actual problem is.
It's great with simple boilerplate code, and I have actually used it to implement a new library successfully with a little bit of feedback from me, but it gets stuff wrong so often that I really don't need it doing anything beyond that. Although when I'm stuck, I still use it to spew ideas. Even if they're wrong, they can help me get going.
i'm genuinely curious - what do your prompts look like? do you have agent instructions for your repo that you've spent a little time pruning or maintaining? when you execute tasks are you planning these out or one-shotting them?
i ask because your comment is sounding like more often than not, you're actually getting *worse* results? (if i'm reading that right). and i want to understand is it a perception problem (like do you just have a higher bar for what you expect from a coding agent); or is it actually producing bad results, in which case i want to understand what's different in the ways we're using these agents.
(also can you provide a concrete example of how it got something wrong? like what were you asking in that moment and what did it do, and how did it double down.)
A few weeks ago, I was testing the difference between two libraries to draw graphs: cytoscape and NVL. I started with NVL, told it to implement a very basic case: just some simple mock data, and draw the thing on the screen. (Those weren't my prompts; I didn't save those.) I also took the advice of using a context prompt file to lay down coding standards.
It didn't get it right in one go, but after 7 attempts of analysing the error, it suddenly worked, and I was quite amazed. Step by step adding more features was terrible, however; it kept changing the names of functions and properties, and it turned out that was because I was asking for features the library didn't support, or at least didn't document. I ended up rejecting NVL because it was very immature, poorly documented, and there weren't many code examples available. I suspect that's what crippled the AI's ability to use it. But at no point did it tell me I was asking the impossible; it happily kept trying stuff and inventing nonexistent APIs until I was the one to discover it was impossible.
I'm currently using it to connect a neo4j backend to a cytoscape frontend; both of those are well established and well documented, but it still struggles to get details right. It can whip up something that almost works really quickly, but then I spend a lot of time hunting down little errors it made, and they often turn out to be based on a lack of understanding of how these systems work. Just yesterday it offered 4 different approaches to solve a problem, one of which blatantly didn't work, one used a library that didn't exist, one used a library that didn't do what I needed, and only one was a step in the right direction but still not quite correct in its handling of certain node properties.
I'm using Claude 3.7 thinking and Claude 4 for this.
Here's some ways I can think of:
- seamless integration with local models
- opt in and opt out experience when needed
- ai instrumentation (so fill up tedious long web forms for me)
- ai and accessibility
these are off the top of my head.
it boggles my mind that there are so many convinced that AI doesn't offer good use cases for a browser.
I think the "how they introduce it" part is crucial and it doesn't look like Mozilla has cracked that nut from the announcement. but to say no one wants this is just not true and short sighted.