Why does ISO ship gstreamer? and qt4 (ubiquity presumably but why on dev edition)? and gtk? All these and more you can find out in the next thrilling iso contents review...
@jriddell that kinda needs germinate output to become available , no? Otherwise, that seems like a fairly faffy thing to figure out.
Out of the ones you mentioned: firefox->gtk; qtwebengine/kit/kwin->gstreamer (latter through qtmultimedia); breeze->qt4. So unless you have more none of those can go away.
I did a review. there honestly isn't much that sticks out
T10616 for dropping qt4 and I am not sure that is even worthwhile given its size
T10618 khelpcenter could use some investigation but I think it just looks iffy when in reality it is entirely sound (although TBH, I am not sure we need khelpcenter on the ISO or the default install)
nodejs-doc is on the iso which is a bit meh (it's an api docs package) but having it removed is probably more work than that is worth (compressed size is 0.7m)
qtcurve was on the iso because of legacy relationships of the breeze package. I've rectified that in Neon/release moving forward
as mentioned qtwebengine/qtmm/kwin are why gstreamer is on board
we have a bunch of extra fonts, but again, removing them seems more of a hassle (fonts-ubuntu because of plymouth-label; although we actually hack it out of plymouth -- and fonts-lato for ruby which can use it to generate html rdoc, but I don't think anyone even uses rdoc html outside ruby core docs -- fonts-droid because ghostscript has it in a recommends deep in the stack)
gtk is on board because of firefox and also our gtk engine
overall not much to be optimized. it's a bit hard to say what actual costs are because of compression unfortunately though. I think the largest footprint in general is created by the entire printing stack which accounts for at least 150MB of uncompressed size. everything depending on qtcore accounts for 550MB uncompressed.