This article starts to touch on an important distinction between software and products, but seems to miss the larger picture.<p>With the cost of developing software dropping to near zero, there are a whole class of product features that may not be relevant for most users.<p>> You haven’t considered encoding, internationalization, concurrency, authentication, telemetry, billing, branding, mobile devices, deployment.<p>Software, up until now, was only really viable if you could get millions (or billions) of users.<p>Development costs are high, and as a product developer you're forced to make software that covers as many edge cases as possible, so that it can meet the needs of the most people.<p>I like to think of this type of software as "average" -- average in the sense that it's tailored not to one specific user or group of users, but necessarily accommodating a larger more amalgamous "ideal" user.<p>We've all seen software we love get worse over time, as it tries to expand it's scope to more users.<p>Salesforce may be the quintessential example of this, with each org only using a small fraction of it's total capabilities.<p>Vibe coding thus enables users to create programs (rather than products) that do exactly what they want, how they want, when they want. Users are no longer forced into the confines of the average user, and can instead tailor software directly to their needs.<p>Is that software a product? Maybe one day. For now, it's a solution.