Haupt Software Entwickler sprechen über die Herausforderungen von iCloud
Software

Entwickler sprechen über die Herausforderungen von iCloud

MeinungTablets 24.07.2012 2:00 PDT

Mit Diensten wie Dropbox, Google Docs und sogar IMAP-E-Mail erwarten Benutzer heute, dass ihre Daten aktuell und auf jedem Gerät verfügbar sind. iOS-Benutzer möchten auf ihren iPads, iPhones und Macs konfliktfreien Zugriff auf ihre Daten – seien es Dokumente, Spielfortschritte oder andere Details. Apple zielt darauf ab, dieses Benutzerbedürfnis mit iCloud zu befriedigen.

Mit iCloud verspricht Apple Entwicklern, die Daten ihrer Nutzer synchron zu halten. Aber während eine stetig wachsende Zahl von Entwicklern die iCloud-Unterstützung in ihren Apps implementiert, scheint die Akzeptanzrate insgesamt immer noch überraschend niedrig zu sein.

Zögern Entwickler, iCloud anzunehmen? Und wenn ja, warum?

deckt apple care Wasserschäden ab

Löschen des iCloud-Nebels

Um die Entwicklerperspektiven von iCloud besser zu verstehen, lohnt es sich, sich ein klareres Bild von der Funktionsweise der Technologie zu machen – idealerweise ohne einen Abschluss in Informatik.

Apple bietet Entwicklern drei verschiedene Ansätze für die iCloud-Synchronisierung. Die erste konzentriert sich auf die dokumentbasierte Synchronisierung. Das ist der Ansatz, den Apple-Apps wie Pages verwenden, wenn Sie Dokumente öffnen und speichern. Es ist ein Mittel zum Speichern von Dateien in iCloud und nicht auf einem einzelnen Gerät. Durch die Implementierung dieser Dokumentsynchronisierung können Entwickler einem Benutzer den Zugriff auf dieselben Dateien von mehreren Geräten ermöglichen, solange dieser Benutzer dieselbe App auf allen diesen Geräten verwendet.

Die zweite iCloud-Synchronisierungsmethode, die Apple Entwicklern anbietet, bezieht sich auf sogenannte Schlüsselwertdaten. In seiner einfachsten Form beziehen sich Schlüsselwertdaten auf das Speichern winziger Informationsbits. Eine App, mit der Sie beispielsweise eine benutzerdefinierte Schriftart auswählen können, kann ein Schlüssel/Wert-Paar speichern, bei dem der Schlüssel Schriftart und der Wert Helvetica Neue ist. Entwickler können viele solcher Schlüssel/Wert-Paare für jeden Benutzer synchronisieren; Über die Schriftarteinstellungen hinaus können Entwickler die Funktion verwenden, um Highscores, Spielfortschritte, eine bevorzugte E-Mail-Adresse oder andere kleine Datenmengen zu synchronisieren.

Der dritte iCloud-Synchronisierungsansatz ist vielleicht der haarsträubendste, den Entwickler implementieren können. Apple bezeichnet es als Datenspeicher; Entwickler nennen es lieber Core Data. Es dient zum Synchronisieren von Daten, die Benutzer selbst durch die Verwendung einer App erstellen, oder Daten, die die App nicht selbst neu erstellen konnte. Von den drei iCloud-Synchronisierungstechnologien ist dies diejenige, die den Entwicklern am meisten Arbeit abverlangt. Entwickler müssen nicht nur die Kernsynchronisierung implementieren, sondern ihre Apps auch so programmieren, dass sie den Synchronisierungsprozess aktiv überwachen, einschließlich der regelmäßigen Entfernung alter Daten, wenn dies angemessen ist.

Eine App, die einen dieser drei Ansätze implementiert, verwendet per Definition iCloud. Aber für viele Arten von Apps suchen Benutzer – ob sie es so sehen oder nicht – nach der Kerndatensynchronisierung, der kompliziertesten Option.

Die Implementierung der ersten beiden Synchronisierungsansätze ist nicht einfach, aber Entwickler sagen es Tablets dass der dritte Ansatz zum Synchronisieren von Kerndaten das ist, was Steve Jobs als einen Sack voller Verletzung bezeichnen könnte – er ist äußerst komplex. Während iOS 6 Entwicklern einige signifikante Verbesserungen für die iCloud-Synchronisierung hinter den Kulissen bieten wird, werden die Herausforderungen, die eine solche Synchronisierung mit sich bringt, wahrscheinlich schwierig bleiben.

Entwickler mit dem Kopf in der Cloud

Für manche Entwickler ist iCloud ein buntes Gemisch: Sie wollen es implementieren, aber es ist ein furchtbar kompliziertes Unterfangen.

Greg Pierce besitzt Agile Schildkröte , die iOS-Apps wie Phraseology und Drafts macht. Es gibt viele Aspekte von iCloud, auf die ich mich freue, und ich freue mich darauf, sie in Zukunft in Apps zu verwenden, sagte Pierce Tablets . Und in dieser Hinsicht gibt es einige gute Neuigkeiten, sagt er, da einige Aspekte – wie die oben erwähnte Unterstützung für die Schlüssel/Wert-Synchronisierung – ziemlich einfach sind. Aber er fügt hinzu: An anderen Stellen, wie der Unterstützung der Core Data-Datenbank, ist iCloud noch etwas unausgegoren und der Großteil der Implementierungsarbeit bleibt in den Händen der Entwickler.

Pierce sagt, dass die Apps seines Unternehmens, die für iCloud in Frage kommen, alle Core Data verwenden. Ich bin mir sicher, dass Apple hart daran arbeitet, die Integrationsprobleme zu verbessern, sagte er, also habe ich vorerst eine abwartende Haltung gegenüber iCloud eingenommen.

Rich Siegel of Bare-Bones-Software sagt, dass sein Unternehmen zwar noch keine Software mit iCloud-Integration veröffentlicht hat, wir jedoch hart daran arbeiten, die iCloud-Synchronisierung in Yojimbo zu implementieren. Leider berichtet Siegel jedoch, dass das Unternehmen sicherlich auf unerwartete technische Herausforderungen gestoßen ist, als es die iCloud-Synchronisierung nach unserem Willen gebeugt hat.

Das ist ein bekanntes Gefühl. Matt Comi von Big Bucket-Software verwendet iCloud, um Daten in Apps wie TV Forecast und The Incident zu synchronisieren. Comi sagte gegenüber TabletS, dass er zwar mit dem [iCloud]-Funktionssatz zufrieden ist, aber Probleme hat … mit der Implementierung dieser Funktionen.

So verwenden Sie Remote Play PS4

Einwände gegen iCloud

Entwickler neigen dazu, sich auf drei Arten von Einwänden gegen die Implementierung von iCloud zu konzentrieren: technische Probleme mit der API, Unbehagen hinsichtlich ihrer Zuverlässigkeit und Beschwerden bezüglich des Umfangs und der Funktionalität von iCloud.

API-Probleme: Die API-Herausforderungen sind das am häufigsten geteilte Anliegen. Comi sagt, ein Problem ist, dass die iCloud-API zu niedrig ist, was bedeutet, dass viel Code benötigt wird, um grundlegende Aufgaben zu erledigen. Die iCloud-API bietet beispielsweise keine einzige Funktion zum Einfügen einer Datei in die iCloud oder zum Entfernen einer Datei. Die iCloud-Dokumentation, die Apple Entwicklern zur Verfügung stellt, enthält Beispielfunktionen, die den gesamten erforderlichen Code für die Handhabung solcher gängiger Aktionen kapseln, und Comi sagt, dass viele Entwickler sie einfach kopieren und einfügen, aber er fügt hinzu: Diese Funktionen sollten als Teil der API vorhanden sein … [T] Die iCloud-API muss abstrakter sein.

Viele der Entwickler, mit denen gesprochen wurde Tablets gaben an, dass sie optimistisch sind, dass iOS 6 – das im Herbst erscheinen wird – viele dieser zugrunde liegenden API-Probleme verbessern wird.

Zuverlässigkeit: Selbst wenn Entwickler die iCloud-APIs gut genug durcheinander bringen, um die Gebote ihrer Apps zu erfüllen, bleiben erhebliche Probleme. Entwickler berichten immer wieder, dass iCloud alles andere als konsistent funktioniert.

wie man iphone se 2020 einrichtet

Hier ist noch einmal Comi: Ich erhalte regelmäßig Support-E-Mails darüber, dass iCloud nicht zwischen Geräten synchronisiert. Er rät Kunden, deren iCloud-Synchronisierung hängen bleibt, die Dokumente und Daten der App über den Bildschirm Einstellungen -> Allgemein -> Verwendung zu löschen. Diesen Tanz machen zu müssen, erweckt kein Selbstvertrauen, sagte Comi Tablets , hinzufügen Ich weiß nicht, warum es passiert oder warum dieser Fix funktioniert.

Paul Haddad, leitender iOS-Entwickler bei Tapbots, gibt eine ähnliche Einschätzung ab: Unter iOS 5.x funktioniere iCloud manchmal einfach nicht, sagte er. Die Implementierung ist für Entwickler eine Blackbox. Wenn also etwas für einen Benutzer nicht funktioniert, ist es fast unmöglich herauszufinden, warum.

Begrenzter Fokus: Angenommen, Entwickler bringen die iCloud-APIs zum Laufen und gehen davon aus, dass die APIs wie erwartet funktionieren – und lassen Sie uns das klarstellen, keines davon ist heute eine sichere Annahme – können Entwickler immer noch misstrauisch gegenüber dem Dienst bleiben nicht tun.

Pierce von Agile Tortoise sagte, dass einige der inhärenten Einschränkungen der iCloud-Plattform sie für bestimmte Anwendungen zu einer fragwürdigen Wahl machen, und hebt Besonderheiten wie Apps hervor, die Daten von anderen Apps oder auf anderen Plattformen speichern möchten. iCloud-Apps können nur auf ihre eigenen Daten zugreifen; Die gemeinsame Nutzung dieser Daten über verschiedene Apps anderer Entwickler wird nicht unterstützt.

Und Siegel von Bare Bones sagte, dass sein Unternehmen zu dem Schluss kam, dass wir für BBEdit und TextWrangler nicht wirklich glauben, dass das Dokument-Ubiquity-Modell von iCloud zu diesem Zeitpunkt gut zu der hochtechnischen Natur der Produkte passt. Siegel sagte, dass die Kunden seines Unternehmens in der Regel ein Revisionskontrollsystem bevorzugen, das separate Dateiversionen verfolgt – etwas, das iCloud nicht bietet.

Und die Integration von iCloud in Mac-Apps bringt noch eine weitere gravierende Einschränkung mit sich, betont Siegel: Produkte, die iCloud nutzen, dürfen nur im Mac App Store vertrieben werden. Einige Entwickler, wie Panik , bieten iCloud-Synchronisierung in den Mac App Store-Versionen ihrer Apps an und nicht in den eigenständigen Versionen. Dies bedeutet jedoch natürlich, dass Entwickler separate Versionen ihrer Apps mit einzigartigen Funktionssätzen verwalten müssen – und ohne vollständige Kreuzkompatibilität.

was war das letzte iphone mit kopfhöreranschluss

Die Dropbox-Option

Wenn Entwickler Synchronisierungsfunktionen in ihren Apps anbieten möchten, ohne sich auf iCloud zu verlassen, ist dies natürlich eine Option. Eine beliebte Alternative für Entwickler ist Dropbox, der kostenlose Cloud-basierte Speicherdienst. Dropbox und iCloud erfüllen nicht genau den gleichen Bedarf – ersteres ist ein anmeldebasiertes, versioniertes Dateisynchronisierungssystem, während letzteres allgegenwärtig, nahtlos und reibungslos sein soll. Aber die Dropbox-Synchronisierung ist eine sehr beliebte Funktion in allen Apps, insbesondere auf der iOS-Seite.

Wo fast alle Entwickler Tablets sprach mit erheblichen Bedenken bezüglich iCloud, keiner hatte etwas Schlechtes über Dropbox zu sagen. Pierce von Agile Tortoise nannte es eine großartige Plattform; Siegel von Bare Bones beschrieb es als einen großartigen Service und einen wesentlichen Bestandteil meines Arbeitsablaufs.

Pierce fügte jedoch hinzu, dass die größte Einschränkung von Dropbox darin besteht, dass es mit herkömmlichen Dateien und Ordnern funktioniert. Manchmal erscheint ein solcher traditioneller Ansatz durchaus angemessen – wie bei Texteditoren, bei denen Benutzer es gewohnt sind, einzelne Dokumente zu speichern. Aber für andere Apps macht Dropbox wenig Sinn; Siegel weist darauf hin, dass die dateiorientierte Synchronisation, die Dropbox bietet, für ein datenbankbasiertes Produkt wie Yojimbo nicht geeignet ist.

Und Haddad von Tapbots fügt hinzu, dass iCloud – wenn es sowieso funktioniert – sofort einsatzbereit ist, wenn eine App zum ersten Mal gestartet wird. Um von einer Drittanbieter-App aus auf Ihren Dropbox-Speicher zuzugreifen, müssen Sie sich zuerst anmelden. Es scheint ein ziemlich kleines Detail zu sein, sagt Haddad, aber sich bei einem anderen Konto anmelden zu müssen, nur um eine Funktion zu nutzen, ist eine Unannehmlichkeit, die ich gerne vermeide.

Und dann ist da noch Simperium

Ein weiterer potenzieller Konkurrent in diesem Bereich kommt von dem Unternehmen hinter Simplenote, das einen Cloud-Sync-Dienst namens . anbietet Simperium . Simperium unterstützt die Versionierung im Dropbox-Stil, ist aber auch darauf ausgelegt, Kerndaten flüssig zu synchronisieren. Alternativ bietet iCloud Entwicklern nicht die Möglichkeit, ältere Versionen der Daten auszuwählen, die ihre Benutzer synchronisieren. Und als gehosteter Webdienst wie Dropbox synchronisiert Simperium plattform- und geräteübergreifend – was bedeutet, dass es nicht wie iCloud auf Apple-Geräte beschränkt ist.

Michael Johnston ist Mitbegründer von Simperium. Er beschrieb Simperium als Tablets als einfacher Dienst für Entwickler, um Daten zwischen Geräten wie iCloud zu verschieben. Noch besser, sagt Johnston, ermöglicht es Benutzern, auf ihre Daten auf ihrem iPhone, iPad und Mac sowie auf das Web und andere Geräte mit vollem Offline-Zugriff zuzugreifen – aber es ist schneller, zuverlässiger und gibt Entwicklern mehr Kontrolle als iCloud tut.

Muss ich für Apple Music bezahlen?

Aufgrund dieser Vorteile wenden sich einige Entwickler Simperium als iCloud-Alternative zu. Emerson Malca hat eine App für Studenten namens . entwickelt im Unterricht ; Bald wird die 2-Millionen-Download-Marke überschritten. Jetzt wird es mit Simperium synchronisiert, aber das war nicht immer der Plan. Malca hat erzählt Tablets dass seine Benutzer eine Synchronisierung wollten, also arbeitete er daran, iCloud in die inClass-App zu integrieren.

Ich habe versucht, iCloud zu verwenden – es war wirklich eine Qual, sagte Malca. Ich habe nie eine Version mit iCloud veröffentlicht. Malcas Gründe beinhalten alle Nachteile, die wir bereits angesprochen haben (Schwierigkeiten mit der API, inkonsistente Funktionalität, Beschränkung auf Apple-Geräte usw.), aber er fügt der Liste eine weitere Beschwerde hinzu: Wegen der Kontrolle durch Apple über die Daten, sagte er, Ich kann damit keine coolen Sachen machen. Malca arbeitet beispielsweise daran, Schülern die Möglichkeit zu geben, Notizen innerhalb von inClass zu teilen oder gemeinsam daran zu arbeiten. Bei iCloud sind Daten an einen einzelnen Benutzer gebunden, sodass eine gemeinsame Nutzung nicht möglich ist. Mit Simperium, sagt er, kann er Daten nicht nur zwischen Geräten, sondern auch zwischen Personen synchronisieren. Obwohl der benutzerübergreifende Teil der API von Simperium noch nicht öffentlich verfügbar ist, steht er zumindest auf der Roadmap; es steht im Gegensatz zu Apples Ansatz für iCloud.

Oh, und es ist auch viel einfacher als iCloud, sagt Malca: Die Technologie von Simperium ist großartig … Ich kann es in fünfzehn Minuten oder weniger implementieren, einfach das SDK per Drag & Drop ziehen, die Entitäten festlegen und fertig. Mit iCloud, sagte Malca, hätte er die Datenmodelle seiner App neu entwickeln müssen, um sie mit den iCloud-APIs von Apple zu verbinden. Simperium hat ironischerweise einfach funktioniert.

Trotz aller Vorteile hat Simperium für Entwickler möglicherweise einen großen Nachteil, den iCloud nicht hat: Es kostet Geld. Anstatt jedoch nach der gespeicherten Datenmenge zu berechnen, konzentriert sich das Preismodell von Simperium auf monatlich aktive Benutzer. Malca ist dankbar für diesen Ansatz, da ich mir keine Sorgen um Megabyte machen muss, ich muss den Benutzern nicht sagen, dass sie bis zu 20 Notizen synchronisieren können – ich kann einfach alle ihre Daten synchronisieren, Punkt. Er sagt, seine Kosten belaufen sich auf etwa zwei Cent pro Benutzer pro Monat, ein Satz, bei dem es für ihn sehr einfach ist, gut zu profitieren.

Trotz aller Vorteile von Simperium sind einige Entwickler möglicherweise vorsichtig, die Synchronisierungssteuerung an einen Drittanbieter abzugeben. Mit iCloud vertrauen Entwickler und ihre Benutzer ihre Daten Apple an, das einen guten Ruf und eine solide Erfolgsbilanz beim Schutz der Privatsphäre der Benutzer hat. Simperium-Mitbegründer Johnston sagt, dass das Unternehmen zwei Ansätze hat, um solche Datenschutzbedenken auszuräumen: Erstens können Entwickler Simperium einfach so konfigurieren, dass sie die eigenen Server der Entwickler mit Updates anpingen, was bedeutet, dass sie ihre eigenen Kopien aller Benutzerdaten behalten können. anstatt nur über Simperium darauf zuzugreifen. Weiter sagte Johnston Tablets , Wir wissen, dass es einige Entwickler gibt, die die vollständige Kontrolle wünschen, und hier kommt unsere Open-Source-Option ins Spiel. Diese Open-Source-Option könnte Monate dauern, sagt Johnston, aber wird es Entwicklern ermöglichen, stattdessen ihre eigenen Simperium-Synchronisierungsdienste zu betreiben und so die vollständige Kontrolle zu behalten.

Dennoch wird es immer Entwickler wie Haddad von Tapbots geben, die iCloud bevorzugen, weil es eine reibungslose Erfahrung für die Benutzer ist. Darüber hinaus, sagt Haddad, kann iCloud, da iCloud in das Betriebssystem integriert ist, Dinge tun, die andere konkurrierende Dienste nicht können – wie die Hintergrundsynchronisierung. Mit iCloud kann das Betriebssystem den Status synchronisieren, ohne dass Ihre Anwendung überhaupt ausgeführt wird, was für bestimmte Anwendungsklassen ein großer Vorteil sein kann.

In die Wolken schicken

Damit Entwickler iCloud besser nutzen können, muss Apple einen Weg finden, den Dienst einfacher zu verwenden und zuverlässiger zu starten. Alle Anzeichen deuten darauf hin, dass iOS 6 große Fortschritte bei der Verbesserung der Einfachheit macht, aber es ist zu früh, um zu sagen, ob sich gleichzeitig die Zuverlässigkeit des Dienstes verbessern wird.

Und selbst wenn dies der Fall ist, reicht iCloud möglicherweise nie aus, um Entwickler zu befriedigen, die sich nach einem tieferen, differenzierteren Synchronisierungsansatz sehnen, als Apple es anbietet.

Wenn die iCloud-Integration in Ihrer Lieblings-App immer noch fehlt, kann dies nicht an mangelnden Versuchen liegen. Oder vielleicht hält der Entwickler nach einer alternativen Synchronisierungsoption Ausschau (oder arbeitet bereits an deren Integration), die besser auf die Bedürfnisse der App – und Ihre – zugeschnitten ist.