Fehlende/Fehlerhafte JPEG-Komprimierung bei iOS Threema?

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.800 Mitglieder helfen dir weiter. > Frage stellen <
  • Ich nutze Threema zwar schon seit Jahren, aber mir ist erst heute bei einem sehr gründlichen Backup und Sortierung alter Daten aufgefallen, wie absurd groß die empfangenen Fotos von iOS-Kontakten sind. Während die Abmessungen mit 1200x1600 Pixeln identisch zwischen beliebigen Kontakten sind (wir haben uns auf die "Gross (1600x1600)" Bildabmessungen für alle geeinigt), liegen die empfangenen Dateigrößen von Android bei etwa 200-300 KB und die von iOS bei etwa 2-3 MB!

    Unter den iOS-Kontakten, von denen ich auch Fotos erhalte, sind ziemlich gemischt alte iPhones, alte iPads, neue iPhones und neue iPads dabei. Die Dateien haben einen anderen Namen wie etwa "image-20210505-180102.jpeg" statt bei Android "threema-20210505-183010213.jpg" (was sich über die Zeit aber wohl mehrfach geändert hat) und sind somit leicht in den Threema-Bilder-Ordnern auffindbar.

    Für mich sieht es so aus, als würde Threema auf iOS Geräten die Fotos ohne JPEG-Komprimierung (bzw. mit Qualität "100") skalieren und versenden. Bei Android dürfte die JPEG-Komprimierung etwa einer Qualität von "80" entsprechen, was vollkommen ausreicht.

    Gibt es irgendeinen Grund für diese fehlende oder fehlerhafte Komprimierung? Oder ist das schlichtweg ein Bug, der jahrelang unentdeckt blieb?

    Immerhin sprechen wir hier von einem völlig unnötigen 10fachen Speicherplatzbedarf.

  • Das ist jetzt aber auch ein Riesenzufall, dass die Änderung gerade erst zum Jahreswechsel implementiert wurde und ich ausgerechnet genau jetzt mein Foto-Archiv im Detail analysiert habe.

    Die Komprimierung habe ich ja dann sogar exakt richtig geschätzt:

    Code
    - #define kJPEGCompressionQuality 1.0
    + #define kJPEGCompressionQualityLow 0.8
    + #define kJPEGCompressionQualityHigh 0.99

    Bei mir war es jahrelang nur ein einziger iOS-Kontakt, von dem ich auch Bilder erhalten habe. Erst letztes Jahr sind weitere hinzugekommen, sodass mir die Archivgröße unnatürlich schnell anwuchs.

    Laut Apple App Store ist die aktuelle Version dort 4.6.17, d.h. in der für alle verfügbaren Version ist der Fehler behoben?

    Aber ist das wirklich seit Bestehen des Messengers bis vor ein paar Monaten niemandem vorher aufgefallen? Ich kann das ja irgendwie kaum glauben.

    Was mir dabei ein bisschen Kopfschmerzen bereitet, ist dass die Messenger-Fotos für viele mittlerweile so eine Art Familien/Freunde-Fotoalbum geworden sind und je nach Familie/Freunde/Aktivität einige Tausend Bilder vorhanden sind. Diese nehmen nun auf jedem einzelnen Apple-Gerät bzw. mit vielen Apple Kontakten bspw. 20 GB statt 2 GB Platz ein. Das iPad meiner Mutter hat 32 GB und es ist durch Threema dauervoll. Ich dachte, es sind irgendwelche Videos, die sie mit Freunden versendet, aber nein, das werden dann einfach ganz normale Fotos sein.

    Schön, dass es für die Zukunft behoben wurde, aber ich möchte ganz dringend einwerfen, dass man hier über eine Korrektur-Option für die Vergangenheit nachdenken sollte. Das gilt sowohl für die Fotos im Threema-eigenen Archiv, als auch für die Fotos, die als normale Dateien in der Galerie gespeichert wurden. Ich möchte stark dafür plädieren, dass für diese eine Option integriert wird, diese nachträglich mit der korrekten JPEG-Komprimierung zu verkleinern.

  • Laut Apple App Store ist die aktuelle Version dort 4.6.17, d.h. in der für alle verfügbaren Version ist der Fehler behoben?

    Jup, zumindest im veröffentlichten Code wurde da nicht noch einmal etwas geändert.

    Schön, dass es für die Zukunft behoben wurde, aber ich möchte ganz dringend einwerfen, dass man hier über eine Korrektur-Option für die Vergangenheit nachdenken sollte. Das gilt sowohl für die Fotos im Threema-eigenen Archiv, als auch für die Fotos, die als normale Dateien in der Galerie gespeichert wurden. Ich möchte stark dafür plädieren, dass für diese eine Option integriert wird, diese nachträglich mit der korrekten JPEG-Komprimierung zu verkleinern.

    Für die bereits in der Fotos-App gespeicherten Daten ist es ja eh zu spät. Da lohnt es sich wohl nicht noch etwas zu ändern.

    Jeder Tag könnte Threema Web für iOS Tag sein.

    Jeder Tag ist Threema Web für iOS Tag.

    Jeder Tag könnte Threema Multidevice Tag sein.

    Jeder Tag ist Threema Multidevice Tag.

    Nur mit Threema Safe schläft man ruhig.

  • Für die bereits in der Fotos-App gespeicherten Daten ist es ja eh zu spät. Da lohnt es sich wohl nicht noch etwas zu ändern.

    Warum nicht? Ich sehe es als machbar und seeeehr sinnvoll, wenigstens jetzt nachträglich den Nutzern 90% des vergeudeten Speicherplatztes wieder zurückzugeben.

    Die Fotos im Datei-System stellen etwa die Hälfte des Problems dar. Die andere Hälfte ist in der internen Medien-Datenbank. Bei dem beispielhaften 20 GB Speicherplatzbedarf insgesamt, könnte man also 9 GB alleine intern bereits einsparen.

    Aber ich bin der Meinung, dass es zusätzlich auch möglich sein sollte, die bereits im normalen Foto-Ordner gespeicherten Bilder nochmal nachträglich zu verkleinern. Wenn Threema da zuvor Zugriff drauf hatte, dann hat es das ja immer noch. Es wäre möglich, die externe Datei mit der internen abzugleichen und wenn die unverändert ist, dann nach dem Komprimieren einfach wieder überschreiben. Damit ließe sich dann auch die zweite Hälfte des verlorenen Platzes beheben.

    Das müsste natürlich gut kommuniziert werden und im Zweifelsfall auch eine freiwillige Option sein, die jeder selbst anstoßen kann. Wenn man den Fortschritt anzeigt und zuvor die potenzielle Platzersparnis, dann wäre das ein großer Nutzen für sehr viele Anwender.

    Bist Du irgendwie mit den Threema-Entwicklern verbundelt oder lesen die hier mit?