That model seems pretty successful?
That model seems pretty successful?
The solution was up to each individual app author -- you could choose to bundle DLLs, but mostly you didn't bundle "system" DLLs, if you judged them to be low level enough, widely deployed enough, etc. Installers on windows also listed MANUAL prerequisites that users had to install, so they are punting on a big part of the problem (give me a the name of a thing to install and make it magically work; don't make me manually resolve dependencies.)
There was no real consistent model on Windows, and if you were completely consistent with sharing everything, you would have an even more fragile mess than Windows apps were already.
iOS and Android are successful app bundle ecosystems, and something that these Linux app bundle are explicitly trying to emulate. The apps end up around 50 MB or so, not 500 MB to 2 GB.
The reason for that is basically that the apps are less rich and featureful (think Photoshop or OpenOffice or a browser), and that they ship lots of high level libraries with the OS. Stuff like video codecs are part of the OS/hardware in iOS/Android, whereas in Debian and Windows they are applications. Stuff like browser UI views are part of the OS as well.
Android is an entire OS, with apps, built from a single Makefile! So there is less versioning skew and fragmentation than in Debian/Windows (believe it or not).
iOS has some issues with app compatibility across OS versions that Windows definitely doesn't.
Anyway, iOS and Android are definitely the models to emulate in terms of usability and stability. But I don't think they have completely solved the problems because the ecosystems aren't as rich as Debian or Windows yet.
The only shared libraries are things like C++ run times, directX etc which are basically optional OS components since they are also made by Microsoft. Even those are moving towards "isolated deploy" modes where you should ship a .NET runtime as a deployed dependency instead of using a shared prerequisite. This is much more robust but also wasteful and harder to patch of course.
> The apps end up around 50 MB or so, not 500 MB to 2 GB.
They try to accomplish much less and of course have fewer enormous apps dragging the average up (try the latest doom at 50GB!). The average app sizes should be counted relative to the average device space. A desktop system has 200-2000GB and a mobile device 16-128GB so around one order of magnitude is a reasonable difference.