My recollection might be failing me. But I do not remember the level of excitement described in the article for the Original iPhone. I remember it for the next iPhone (3G/2), but not the initial.
It seems to really unnecessarily break any sort of distinction between presentation and content. For example what is the practical reason for using class "white-text" on a text span instead of an inline style?
Is it likely that a user has gzip on a system but not tar itself?
From the article:
What about tooling?
OSX: tar -xf some.tar.xz (WORKS!)
Linux: tar -xf some.tar.xz (WORKS!)
Windows: ? (No idea, I haven't touched the platform in a while... should WORK!)
It is completely fair to distinguish "Internal Reprogrammability" from configurability with respect to Emacs. Emacs is vastly different than most systems that are highly configurable that you mention.
I suspect that it varies by environment. I have worked in environments where it is 95% alone and other environments where it is 95% collaboration. Some places actually do "pair programming".
It may cause future problems, but things like Visual Basic with the graphical interface are very easy for a child to understand (or at least me). As the artifacts that you are interacting with in the GUI are in the programming environment.
I have worked with a couple of systems that used very course grained sharding at the application level. I did not notice these drawbacks. I have not worked with one that did auto sharding on the back end, that might be trickier.