If a user initiated screenshot was distinguishable from an API initiated one, then you could argue third party screenshotting apps aren't first class citizens on the platform
Lots. Automatic watermarks. Automatic resizing. Different storage options, putting a phone frame around the screenshot, and lots of other things that are really user workflows. And that is the heart of the issue: when we restrict user workflows, we reduce the utility of the tool.
Then make it a generic image editor. What we have now is: an editor but for screenshots, an editor but for selfies, an editor but for cat photos, each with its own cloud storage which leaks (or spills) data once a year and which data is also being processed by the app owners in ways you’d be disgusted about.
There’s a screenshot functionality in the OS and there’s a Share button which should work just as fine and be way more secure.
The shot->image-process->save->share cycle takes user time, and is an inconvenience that some people will even pay money to avoid. Since we're talking about screenshots, we're actually talking about typically, developers, tech writers and marketers who are automating their day-to-day workflow.
I think the person you are replying to is saying that the entire flow is a single action: you hit screen shot, and the screen shot is taken, edited, and shared to some configured entity, in one step. Seems pretty obvious to me why a single step that doesn’t remove you from app flow would be waaaayyy more useful than needing to use any other apps to complete the job.
Actually, other than being humorous, you just said, do it the way I want you to without any understanding of why a user may not want to do it that way.
But third party app can be more flexible. For example, I used a app that can let you easily crop a part of screen, then you can edit, image search, share, OCR than translate and many things just in a pop-up.
Writing tutorials is a common use for screenshots. Suppose I want to write an app that makes it easier to create tutorials. It could have companion software on my desktop computer so that when I hit the enter key, it captures a screenshot and transfers it to the computer. This would eliminate tedious steps and streamline the process.
It might seem like a niche application, but it seems there is tutorial creation software for other platforms already. It's probably pretty useful for people working in IT departments.
Consider for example an app that lets you set triggers based on different events, like a hardware button remapping app or an IFTTT-style service. Should the user be able to program such an app to take screenshots?
Anyone who uses one will probably be wondering why your preferred method of taking screenshots always works whereas theirs is sometimes blocked. The problem hasn't really been fixed for everyone that way.
It's a weird problem. Some application running on the device must accept some user event, such as a key press, mouse click or touch event and turn that in to a request for a screenshot. This is true regardless of operating system. I agree that it should always be possible for a physically present user to take a screenshot and save it, but how can the OS really know if its really the user initiating the action and not a malicious application?
Even if you can be sure that the event originated from a real user action, that doesn't tell you that the user did the action with the intention of taking a screenshot. For example, they could have been "clickjacked" into clicking the screenshot button.
It doesn’t need to spoof input, it just needs to be something the user wants to provide input for. That user input can then be trusted, and the malicious app can claim whatever it is doing was at the behest of its user, whether that is true or not.
In my experience, it mainly seems to be banking and messaging apps that monitor or block screenshot events.