That sounds flippant, but it's the visceral reaction I have to trying to do everything on iOS (iPads are a little better than iPhone in this regard, but still have the "everything through a keyhole" feeling).
That said, tiny viewports are not really the main problem, since obviously a modern iPhone has far more resolution than almost any monitor available in 1990, or even 2000. It's more that most exploration and creation is not doable on an iPhone, by design.
My original point, though, was that seeing new grad software developers who have never had any non-externally-directed interaction with a computer made me realize why we have to show them how to use the shell in a terminal, and why they seemed to have no particular curiosity about any software thing not directly related to the task that they're doing. For new grads who aren't curious, finding that something they're doing doesn't work due to architectural issues or some nonobvious combination of bugs prompts neither asking for help nor a deep dive into what the problem could be. Asking for help is basically cheating, to them, and they've never before encountered real problems that weren't explained in the text, handled by their group partner, or trivially stack-exchangable (remember, this realization was 2019, and therefore before common LLM usage). At standup after standup, they report making progress on working through the moderately complex ticket they picked up, but in fact, nothing useful is happening. Sometimes people like this can be shown the way, and then become functioning and capable developers and troubleshooters. Sometimes not.
Anyway, /old-man-rant.