5 ms·
When it comes to software, it's almost never simple. What people think of as simple is rarely so. For example: Requirement: "Just copy a file from folder A t
by jongjong 16d ago
When it comes to software, it's almost never simple.
What people think of as simple is rarely so.
For example:
Requirement:
"Just copy a file from folder A to folder B."
Minimal translation:
"Implement the capability to copy any file, in any format and of any size from SharePoint, located at a configurable path, with appropriate authentication and access control checks, then stream it in chunks to a different, configurable path inside an S3 bucket, also with appropriate authentication and access controls in place. Ensure that any disruption in either service which may occur while the file is streaming can be recovered from at the point it failed instead of having to restart from the beginning. Ensure that the retry mechanism is built-in and that the retry window is configurable; if the file cannot be copied within the specific time window, then an error should be sent via email to a configured email address. Ensure that the entire transfer is encrypted in transit... If the file happens to be a folder, then you must copy across all of its contents recursively up to a certain configured MAX_DEPTH to avoid DoS and ensuring that the system does not get caught in an infinite loop due to symlinks pointing to a parent folder... In this case, send an email to the configured address... Etc... Etc..."
And the thing is; if you tell AI "Just copy a file from folder A to folder B." - It will not meet your 'basic' needs because even if it does a great job at filling the gaps in your requirements, it will still take shortcuts. In order for an AI to avoid taking shortcuts, it would have to make you fill out a questionnaire and make you sign up for and configure services; it would not be a pleasant user experience. The user experience cannot be pleasant, because the AI cannot read your mind and it cannot know your intent.
- TeMPOraL 16d agoHere's a thing: my intent and requirements actually are: "Just copy a file from folder A to folder B." All that access control and authentication and symlink nonsense? That's a self-inflicted problem that exists only in enterprise, and shouldn't be assumed - much less created - for regular users.
- jongjong 15d agoThis is your intent until I finish implementing and then you complain that it doesn't also work with folders or large files and it doesn't work with any file system. Or you will complain if your colleague accesses your file without your permission. Reality of software development is that the user would expect every single one of those things but they simply don't understand what they want up front. There are three different aspects to consider in my experience; what the user says they want, what the user thinks they want and what the user actually wants. The three can have substantial differences.
- TeMPOraL 15d agoYes. But there are also some assumptions that are grossly miscalibrated in the software world. Like: > Or you will complain if your colleague accesses your file without your permission. This is a case of "out of scope", also security-first mindset that came from enterprise and is the inverse of how normal people expect computers to act. What if I actually don't mind or even want the colleague to access my files? I mean, that's half the reason anyone copies anything - to give it to someone else, or move it to somewhere where someone else accesses it. What if the user actually didn't mean the files to be accessible to colleagues? Especially when the originals were, they just didn't know it? "Clueless user" problem is not something that should be solved at the level of filesystem operations. So either way, out of scope.