| ▲ | kg 3 hours ago | |
Software robustness, at least in terms of "has the app crashed on any client machines today", is achievable. It's just expensive enough to achieve that most people (rightly or not) don't prioritize it, and the more moving parts (like third party libraries or language runtimes) your application has the harder it is to achieve. Maybe AI will lower the cost of achieving that. When I worked on Guild Wars every server or user crash went to a shared inbox and was bucketed so we could identify and act on new crashes. IIRC we maintained very, very low production crash rates and could prove that many of the crashes were due to hardware faults. Similarly, Mozilla tries to analyze and act on every crash report they get in the field. If a webpage visited by even a small % of the customer base was causing crashes, the team worked to try and fix the crash to deliver stability. If it was a high-traffic webpage it got treated as a high-priority task - I remember Farmville breaking was basically a 3-alarm fire back when it was extremely popular. "No bugs at all" is an even higher bar, but it probably is possible for simpler applications with the use of stuff like theorem provers. I'd love to see someone try it in production but I think the return on investment for that is probably super super negative. | ||
| ▲ | jaggederest an hour ago | parent | next [-] | |
I operate on a "no known bugs" basis with quite a bit of effort invested to try to find new, unknown bugs. The idea that every crash isn't acted on is kind of a crazy one, to me. Not every crash is actually actionable in e.g. a mobile app, but every one should at least get an eyeball in my opinion. This, to me anyway, is the bare minimum of "caring about software quality". If you do this regularly you'll have very solid code, and it's interesting that I have the perception at least that Guild Wars was a quality product. There's another layer, where you do that for subthreshold issues like UI inconvenience, etc, but that's bonus, I think. | ||
| ▲ | sdeframond 21 minutes ago | parent | prev | next [-] | |
For all the talk about AI making teams super productive, I don't see much talk about AI improving software quality. It's a shame, though, because I believe there is a lot of potential there. I mean, quality is easier with the right tooling (monitoring, linters, property-based tests, theorem prover...). But, given limited resources, it can feel difficult to prioritize investing in quality when business is pressing devs to ship, ship, ship. But now the cost of writing custom tooling has changed. These custom tools might be sloppy because vibe-coded but we wouldn't have them otherwise! Or we might finally have decided to make that investment after too much time suffering from their absence. Now the cost/benefit changed, so why not invest now? | ||
| ▲ | jcelerier 35 minutes ago | parent | prev [-] | |
having spent thousands of hours in gw1 and hundreds in gw2, I don't think I ever had an actual crash, and only very minor gameplay bugs. congrats :D | ||