Looks cool, but the readme is AI-generated. Absent throwing my own Fable/Astra at this and hoping it finds any bugs, how does one decide whether to trust AI-assisted software these days?
You don’t. LLMs make vibe coding highly customized software that operates exactly as the user wants it super easy, which is awesome. However humans still haven’t caught up to the idea that it doesn’t need to go on GitHub because if it was useful to somebody, they’d have already vibe coded it themselves.
The only way to know if software does what is intended is to use it. IMO that's the real value of OSS: software that has been executed many times by many people in many different environments, which overall increases the trust in the correctness of the system(s).
> The only way to know if software does what is intended is to use it.
No, testing and code audits also work.
No amount of use of the software will tell you what else the software does beside what is intended (exfiltrate data, etc); testing and code audits both help with that.
Testing is not a replacement for use, but it can help exercise code to the extent that the author can predict how the software will be used. A significant source of test cases come from using code and finding defects. No amount of auditing or proactive testing replace real world use.
For every highly customized piece of software there are a thousand people who don't know they need it. This is the whole concept of software in the first place.
Because the hyper-tailored vibe coded browser front end that you like might be ever so slightly different from the hyper-tailored vibe coded browser front end that I want to use.
I don't want to put any effort into tailoring. I just want someone to figure out something that works. It's not like I can fix the internet itself, so what's the point?
You could search for “small lightweight browser with add blocking and minimal footprint” and find a few, evaluate them, and choose. Or you could use AI to build a “small lightweight browser with add blocking and minimal footprint.” And tweak it to be exactly what you want in maybe the same amount of time.
How does one decide whether to trust any software? Not just the small things we do have the source code for, but big things that we don't have the source code for? I don't think this is a new problem.
After a significant number of iterations of testing, and improving it. When we wrote code by hand, something like changing an api endpoint or a simple front end change would still involve dozens of "write code" then "retest manually". This would not only get the work item done, but you would often encounter edge cases or other issues you hadn't thought of when writing/reading the ticket.
When AI can one shot the implementation and testing, it likely only gets 1 round of human testing if you are lucky. Then scale this to an entire AI generated project, the ratio of features to manually run tests is astronomical. In the old days this ratio was inverted, and the tool has been battle tested before reaching any users.
I don't think human vs agent inherently means that the app is built any more rigorously. Sure, it might be. But it's not guaranteed that a human app is more rigorously built than one guided by human, or vice versa. It depends, on the developer and how much they care, as it always has even before agents. I remember some shocking software from back in the day, Windows Vista being the top of that steaming pile. There's nothing new here.
Theres a distinction between built more rigorously and tested more rigorously. By many definitions, agent created apps are built more rigorously. They write more unit tests, attempt to handle more edge cases, write more lines of code, create features faster. For certain things, I do think agent created tools tend to be better.
But - I have found that every single model available is lacking in creating a great UX, even when you are aggressively using playwright in your agent loop. IMO this comes down to a fundamental limitation of how LLMs work. If an app has a button that is too small, or white text on white background, or inconsistent layouts, or non deterministic ux state due to network calls (looking at you spotify).... the agent will not notice or care. A playwright driving agent can click on a button wether its 1px or 1000px wide.
But ultimately, a good ux is about designing for the constraints that we as humans have to live with as mere mortals with all our imperfections. This is not easy to do, and requires a lot of craftmanship by the developers as well as buy in from the suites and middle managers.
In your windows vista example, the issue is almost surely the latter of my previous sentance - middle manager buy in. No one at microsoft leadership gives a shit about the user experience its all kpi seeking nonsense. The user having a good experience is not measured in their spreadsheet.
When you think about it, pretty much every single product we use helps address a problem related to our fundamental human flaws. Im typing this on an expensive ergonomic keyboard because my wrists hurt, youtube premium exists because I dont want to waste my precious time on stuff I dont want to see, we use operating systems with GUIs because our mortal minds cant easily comprehend thousands of lines of text in seconds.
When I use a horrible website I have a very intuitive, almost instinctive reaction similar to how I react to physical pain. An LLM will never experience this, so it will never create a ux as good as a human can on its own.
Nothing is foolproof, but signals can go a long way. If an app's UI is poorly considered or comes across as careless for example there's a good chance that its other aspects are like that too.
If you're not able to write your own fucking README (the title page if we're making book analogies) why would I bother with your project. Stop being lazy.
We used to say, use an open source product and inspect and compile it yourself.
Now endless frameworks and everything make that impossible. So the next step is probably to describe the thing you want to your own AI, in plain English, and have it code it itself.
Of course that will only work until we start using frameworks and everything…sigh.
For me, this is not gonna be a daily driver but more of the one off screenshot browser so that my screenshots look super minimal with no popular browser shell in them :)
Hmm why is it 186.1MB? Where Search is only 2MB? And blocks ads. Seems like much needed browser that is NOT Chromium based. Seems like DDG team can learn something from the way how Search is built.
- Resources are 130MiB, including a phishing filter set json file of 18 MiB, phishing hash prefixes of 6 MiB, lots of images and other resources (js, etc.)
- The main binary is 87MiB
- Another binary of 32MiB for “private information removal”
- VPN proxy extension is 17MiB, the VPN binary is 21MiB + 10MiB in another file
- The network protection app extension is 25MiB + another 25 in another file
The rest is frameworks (mostly Lottie and GRDB, in terms of space).
for me the one good thing about using Safari/Webkit is getting all the macOS integration with things like Passwords/touchID auth, Apple Pay, passkeys etc.
sadly none of that is in this so far.
also boasting about chrome extension support is nice, but at this time people probably want firefox extensions so that UBO can fully run.
No, testing and code audits also work.
No amount of use of the software will tell you what else the software does beside what is intended (exfiltrate data, etc); testing and code audits both help with that.
When AI can one shot the implementation and testing, it likely only gets 1 round of human testing if you are lucky. Then scale this to an entire AI generated project, the ratio of features to manually run tests is astronomical. In the old days this ratio was inverted, and the tool has been battle tested before reaching any users.
But - I have found that every single model available is lacking in creating a great UX, even when you are aggressively using playwright in your agent loop. IMO this comes down to a fundamental limitation of how LLMs work. If an app has a button that is too small, or white text on white background, or inconsistent layouts, or non deterministic ux state due to network calls (looking at you spotify).... the agent will not notice or care. A playwright driving agent can click on a button wether its 1px or 1000px wide.
But ultimately, a good ux is about designing for the constraints that we as humans have to live with as mere mortals with all our imperfections. This is not easy to do, and requires a lot of craftmanship by the developers as well as buy in from the suites and middle managers.
In your windows vista example, the issue is almost surely the latter of my previous sentance - middle manager buy in. No one at microsoft leadership gives a shit about the user experience its all kpi seeking nonsense. The user having a good experience is not measured in their spreadsheet.
When you think about it, pretty much every single product we use helps address a problem related to our fundamental human flaws. Im typing this on an expensive ergonomic keyboard because my wrists hurt, youtube premium exists because I dont want to waste my precious time on stuff I dont want to see, we use operating systems with GUIs because our mortal minds cant easily comprehend thousands of lines of text in seconds.
When I use a horrible website I have a very intuitive, almost instinctive reaction similar to how I react to physical pain. An LLM will never experience this, so it will never create a ux as good as a human can on its own.
Now endless frameworks and everything make that impossible. So the next step is probably to describe the thing you want to your own AI, in plain English, and have it code it itself.
Of course that will only work until we start using frameworks and everything…sigh.
So it can be easily inspected, checked, verified.
- Resources are 130MiB, including a phishing filter set json file of 18 MiB, phishing hash prefixes of 6 MiB, lots of images and other resources (js, etc.)
- The main binary is 87MiB
- Another binary of 32MiB for “private information removal”
- VPN proxy extension is 17MiB, the VPN binary is 21MiB + 10MiB in another file
- The network protection app extension is 25MiB + another 25 in another file
The rest is frameworks (mostly Lottie and GRDB, in terms of space).
sadly none of that is in this so far.
also boasting about chrome extension support is nice, but at this time people probably want firefox extensions so that UBO can fully run.