Suggested feature: Portable document archive
ralphrmartin at gmail.com
Sun Dec 29 10:49:55 CET 2019
Way back before MacOS X (so I may not be remembering this perfectly - doubtless others will put me right in that case), there was a program called TeXtures, It stored any illustrations needed by a .tex source file in that file's "resource fork". In some senses this was convenient (keeping stuff together), but in others it was not (getting at the pictures to edit them, for example). Ultimately, TeXtures did not make the transition to MacOS X, leaving its users with the significant headache of converting sources in its non-standard approach into more traditional separate files (which was made worse by pictures being in Apple's proprietary PICT format).
Anyway, while your proposal at first sight looks attractive for naive users, I think it could actually lead to more confusion - "Where are my pictures?" "Why can't I open them in my graphics editor?" "I just edited [the master copy of] my picture but it is still the same [in TeX]"!
Furthermore, many users use external software to keep a master bibliography up to date. How will that be handled? If it's not in the archive, the archive is incomplete. If a snapshot (or subset) goes in the archive, it won't benefit from any corrections made to the master. Indeed, this holds true for other included files such as style files which may get corrected once in a while. This starts to go down a rabbit hole of needing smart links, where the archive stores a link until it is sent somewhere else. (Missing videos in Powerpoint, anyone?)
In general, doing "clever" things to hide complexity (or save space, etc) from the user is very difficult. Most such attempts lead to users at times fighting the computer to get what they want, when the designer of such a system did not think in the same way as the user, or failed to consider some unusual use case. I'd recommend one guiding principle here: "always make the user feel they are in control of what is happening" - and that's very difficult to do once you start hiding stuff.
More information about the tex-live