Beiträge von Dan

    Big news… Ich habe jetzt unzählige Stunden am Stück dran gesessen.

    Mit Build 73 ist die Datenbank-Aktualisierung inzwischen deutlich intelligenter geworden. Eigentlich ist das mittlerweile schon fast eine kleine eigene „Reality AI“ innerhalb der App. 😅

    Das Problem war bisher nämlich: Eine Datenbank kann natürlich wunderbar bestehende Shows aktualisieren. Aber woher soll die App wissen, dass plötzlich irgendwo eine komplett neue Reality-Show angekündigt wurde, die sie noch gar nicht kennt?

    Ein gutes Beispiel ist „Maison Tabou“ auf RTLZWEI. Wenn „Maison Tabou“ nicht in meiner Datenbank existiert, bringt es mir überhaupt nichts, die vorhandenen Shows noch so intelligent zu überwachen. Die App muss erst einmal selbst herausfinden, dass es dieses neue Format überhaupt gibt.

    Genau dafür gibt es jetzt zusätzlich eine eigene Discovery-Logik.

    Die App durchsucht nicht mehr nur die hinterlegten Seiten bereits bekannter Shows, sondern zusätzlich zentrale Übersichtsquellen. Dazu gehören unter anderem Reality- und Entertainment-Seiten der Sender, Streaming-Neuheiten, Programmübersichten und weitere geeignete Quellen.

    Findet die App dort einen Namen, den sie noch nicht kennt, wird aber nicht einfach blind eine neue Show in die Datenbank gekloppt.

    Zuerst entsteht intern nur ein sogenannter „Discovery Candidate“. Vereinfacht könnte das zum Beispiel so aussehen:

    Maison Tabou → unbekannt → RTLZWEI → Reality/Dating → möglicher Start 30.09.

    Danach beginnt die eigentliche Verifikation.

    Die App versucht den gefundenen Titel über weitere bekannte Quellen zu bestätigen. Dabei werden die Quellen unterschiedlich gewichtet. Eine offizielle Showseite von RTLZWEI ist beispielsweise ein sehr starkes Signal. Mehrere voneinander unabhängige vernünftige Quellen können ebenfalls eine entsprechend hohe Sicherheit ergeben. Eine einzige beiläufige Erwähnung irgendwo reicht dagegen nicht.

    Gleichzeitig werden die Namen normalisiert. „Show XYZ“, „Show-XYZ“ oder unterschiedliche Groß- und Kleinschreibung sollen natürlich nicht dazu führen, dass plötzlich drei verschiedene Shows angelegt werden.

    Daraus ergibt sich intern eine Art Confidence-System. Erst wenn die App genügend Vertrauen in den Fund hat, wird aus dem Kandidaten tatsächlich eine neue Show in der Datenbank.

    Ist die Sicherheit noch nicht hoch genug, passiert erst einmal gar nichts. Der Kandidat bleibt intern gespeichert und wird bei einem der nächsten Datenbankläufe erneut überprüft. Nur echte Grenzfälle können im DEV-Bereich zur Kontrolle auftauchen.

    Ich möchte nämlich gerade nicht jedes Mal selbst bestätigen müssen, wenn die App irgendwo etwas Neues findet. Das Ganze soll so weit wie möglich automatisch laufen.

    Mit dem Anlegen einer neuen Show ist die Arbeit aber noch lange nicht erledigt.

    Danach beginnt die App mit der Anreicherung des Datensatzes. Sie sucht nach Startdatum, Sender bzw. Streamingdienst, Sendeterminen und natürlich auch nach Teilnehmern.

    Auch bei den Reality Stars gilt dasselbe Prinzip: Bereits bekannte Personen können direkt mit der neuen Show verknüpft werden. Unbekannte Namen werden zunächst als mögliche neue Reality Stars behandelt und ebenfalls geprüft. Sonst würde irgendwann jeder Moderator, Redakteur oder Name aus einem Beschreibungstext automatisch als Reality Star in der Datenbank landen. 😅

    Besonders wichtig finde ich die sogenannte Re-Discovery.

    Eine neue Show wird vielleicht heute angekündigt, aber es gibt noch keinen Starttermin. Damit ist sie für die App nicht „fertig“. Sie wird bei späteren Datenbankupdates automatisch wieder aufgegriffen.

    So kann sich ein Datensatz nach und nach entwickeln:

    entdeckt → verifiziert → angelegt → angereichert → laufend überwacht → beendet/archiviert

    Heute weiß die App vielleicht nur: „Neue RTLZWEI-Realityshow angekündigt.“

    Ein paar Tage später findet sie den offiziellen Titel und einen Starttermin. Danach werden die ersten Teilnehmer bekannt. Später kommen die konkreten Sendetermine dazu. Diese Informationen werden Schritt für Schritt ergänzt, ohne dass ich die Show jedes Mal manuell bearbeiten muss.

    Gleichzeitig überwacht die App nicht alles permanent mit derselben Intensität. Eine aktuell laufende Staffel oder eine Show, die in zwei Wochen startet, ist natürlich wesentlich interessanter als eine Staffel, die seit einem halben Jahr beendet ist. Alte Shows werden deshalb seltener geprüft. Tauchen Hinweise auf eine neue Staffel auf, steigt ihre Priorität automatisch wieder.

    Dazu kommt jetzt noch das automatische Quellenmanagement.

    Eine einzelne URL ist nicht mehr einfach „die Quelle“. Für eine Show können mehrere Quellen zur Verfügung stehen. Fällt die bevorzugte Quelle wiederholt aus, testet die App automatisch bekannte Alternativen. Funktioniert eine davon, kann sie damit weiterarbeiten. Die defekte Quelle wird nicht ständig erneut abgefragt, sondern später noch einmal getestet.

    Dabei unterscheidet die App auch zwischen verschiedenen Fehlern. HTTP 404, Timeout, eine von iOS blockierte Adresse, leere Daten oder eine Webseite, die zwar HTTP 200 liefert, deren Aufbau sich aber so verändert hat, dass keine Daten mehr erkannt werden, sind unterschiedliche Zustände.

    Das ist wichtig: Nur weil ein Webserver „200 OK“ sagt, heißt das noch lange nicht, dass unsere Datenbank-Aktualisierung tatsächlich funktioniert hat.

    Und vor allem darf eine kaputte Quelle niemals gute vorhandene Daten zerstören. Wenn beispielsweise eine Seite plötzlich keine Teilnehmer mehr liefert, bedeutet das nicht automatisch, dass die Show keine Teilnehmer mehr hat. Bestehende bestätigte Daten bleiben erhalten, bis es belastbare Informationen für eine tatsächliche Änderung gibt.

    Was das Ganze im Hintergrund gemacht hat, kann ich über mein verstecktes DEV-Menü nachvollziehen. Dort gibt es inzwischen ein verständliches Automatik-Protokoll. Also nicht nur irgendwelche Entwicklercodes, sondern beispielsweise:

    „Primärquelle ausgefallen. Ersatzquelle geprüft und funktioniert. Datenversorgung automatisch umgestellt. Keine Aktion erforderlich.“

    Oder:

    „Neue Show entdeckt. Noch nicht ausreichend bestätigt. Wird beim nächsten Update erneut geprüft.“

    Erst wenn die App ihre bekannten Möglichkeiten wirklich ausgeschöpft hat, erscheint dort „Reparatur erforderlich“. Dann weiß ich, dass tatsächlich etwas manuell geprüft werden muss.

    Das ist für mich auch das eigentliche Ziel der ganzen Geschichte: Ich möchte irgendwann möglichst wenig an der Datenbank selbst herumfummeln müssen.

    Die App soll neue Shows selbst entdecken, Funde verifizieren, Informationen nach und nach ergänzen, Reality Stars zuordnen, bestehende Shows überwachen, kaputte Quellen möglichst selbst umgehen und mir am Ende nur noch sagen, wenn sie wirklich nicht mehr alleine weiterkommt.

    Für eine kleine Reality-TV-App ist das inzwischen schon ziemlich verrückt. Aus dem ursprünglichen „Lade ein paar Daten aus dem Internet“ ist mittlerweile tatsächlich eine kleine Reality AI geworden. 😅

    Okay, dann hatte ich iMazing tatsächlich falsch verstanden und es halt sich nicht an die Fotos API von Apple für Fotos

    Das normale iMazing-Backup sichert bei aktivierter Speicheroptimierung offenbar nicht automatisch alle Originale aus der iCloud. Die muss man separat herunterladen.

    Und da wäre ich direkt raus. Mein Apple-Passwort gebe ich ganz sicher nicht in irgendeine Drittanbieter-Software ein. Egal ob iMazing schreibt, dass die Daten nur lokal gespeichert werden oder nicht.

    Dann ist Synology Photos für mich auch weiterhin die deutlich bessere Lösung. Die App fordert das Original ganz normal über iOS an, iOS lädt es aus der iCloud und anschließend landet es auf der Synology.

    Also ja: Meine Aussage oben zu iMazing war so nicht richtig. Beim normalen iMazing-Backup kann man bei aktivierter Speicheroptimierung eben nicht davon ausgehen, dass alle Originale mitgesichert werden.

    Ja, ich habe mir das gerade genauer angeschaut. Grundsätzlich wäre es kein Problem.

    Das Problem liegt aktuell allerdings mal wieder bei der Schnittstelle der anderen App. Damit My Spots einen gespeicherten Standort direkt an Blitzer.de übergeben kann, müsste Blitzer.de unter iOS ein entsprechendes URL-Scheme bzw. einen Universal Link bereitstellen. Darüber könnte My Spots dann z. B. die GPS-Koordinaten als Ziel übergeben und Blitzer.de PRO direkt mit diesem Ziel öffnen.

    Die App selbst kann zwar GPS-Koordinaten als Ziel verarbeiten und hat inzwischen auch eine eigene Navigation über NUNAV. Ich finde allerdings keine öffentlich dokumentierte Schnittstelle, über die eine andere iOS-App diese Koordinaten direkt übergeben kann.

    Bei Apple Maps, Google Maps oder Waze gibt es solche Schnittstellen, deshalb kann ich dort einen Standort direkt übergeben.

    Ich werde Blitzer.de jetzt einfach direkt anschreiben und fragen, ob es dafür ein URL-Scheme, einen Universal Link oder eventuell eine undokumentierte Deep-Link-Schnittstelle gibt. Falls sie mir eine entsprechende Schnittstelle nennen, kann ich das relativ problemlos als weitere Navi-App in My Spots integrieren.

    Ich verstehe gar nicht, warum die, wie auch TomTom, sowas nicht integrieren. Geht mir echt nicht in den Kopf. Klingt immer so ein wenig wie „ne, wir wollen das nicht, sollen die Leute einfach komplett unser System nutzen“. Ich bemühe mich, in My Spots einen Übersetzer jeder URL eines anderen Map / Naviapp einzubauen (über Kartenlink einfügen), was es mir auch noch mal schwerer macht, da jeder andere sein eigenes, ach so geheimes Süppchen, kocht.

    Apple hat soeben watchOS 27.0.1 für die Apple Watch 12 und AWU4 freigegeben. Sie behebt einen Bug der zu Neustarts führte.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Synology Photos fordert beim Backup die jeweilige Datei über iOS an. Wenn auf dem iPhone wegen „Speicher optimieren“ nur die optimierte Version liegt, wird das Original aus iCloud nachgeladen und anschließend auf das NAS übertragen.

    Dass auf dem NAS tatsächlich die Originaldatei landet, kann man auch an der gesicherten Datei selbst sehen, also an Auflösung, Dateigröße, Metadaten usw. Bei mir läuft das schon lange so. Meine komplette Foto- und Videosammlung auf der Synology liegt mittlerweile bei ungefähr 5,5 TB.

    Ich lasse allerdings nicht meine komplette Mediathek dauerhaft in iCloud. Dort habe ich im Prinzip nur die letzten 4-5 Jahre. Ältere Bilder und Videos liegen bei mir auf der Synology bzw. in meinen weiteren Sicherungen.

    Speicher opti. ist auf dem iPhone trotzdem aktiviert. Das bedeutet nur, dass iOS lokal bei Bedarf Platz freimacht und nicht ständig jedes Original auf dem Gerät vorhält. Synology Photos (bzw. das macht ja iOS global) kann das Original bei Bedarf trotzdem anfordern und sichern.

    Genau deshalb sehe ich die Synology auch als zusätzliche Sicherung. iCloud-Fotos ist für mich in erster Linie Synchronisation und nicht das einzige Backup.


    Woher weiß bzw. nimmt Synology Photos dann die Originalen

    Das macht iOS.

    Ja. ich hatte da keine Einschränkung sehen können. Dennoch hatte ich das Gefühl, dass sie, wie jedes Glas, 2-3 Pixel ins Bild ragen. Man sieht es erst, wenn man, wie ich, es nach ein paar Wochen einfach abziehen. Dann fällt einem erst mal wieder auf, wie dünn die Ränder sind.

    Und deswegen habe ich es dann als "Geld ausgegeben, unnütz" abgetan und mein 17 Pro Max bis zum Verkauf ohne Glas genutzt.