Vor ein paar Wochen, als sich eine feuchte Winterkälte auf San Francisco niederließ, entschied Peter van Hardenberg, dass es Zeit für Eierlikör war. Er kannte ein exzellentes hausgemachtes Rezept von einem ehemaligen Kollegen von Heroku, einem Unternehmen, das Startups hilft, Cloud-basierte Apps zu erstellen. Und wenn er sich richtig erinnerte, wurde es auf einem der vielen Cloud-Server von Heroku gespeichert. Aber als Van Hardenberg die entsprechende URL eintippte, stellte er fest, dass der Schrank leer war - verloren durch eine vor langer Zeit durchgeführte Serverwartung. "Es war gerade aus dem Internet gefallen", sagt er.
Das sind die täglichen Störungen im Leben in der Wolke. Cloud Computing hat wichtige Tools wie Google Docs und Slack ermöglicht. Aber es gibt Kompromisse. Der Smart Toaster kann ohne WLAN nicht rösten. Die Musik wird beim Betreten des U-Bahn-Tunnels übersprungen und die gesamte Bibliothek verschwindet, wenn der Startvorgang nicht mehr funktioniert. "Wir haben vergessen, wie es ist, Software zu haben, die funktioniert", sagt Van Hardenberg. Für Softwareunternehmen funktioniert das Horten von Software und Daten auf Remote-Servern jedoch einwandfrei. Es ist in der Tat lukrativ. Wenn Sie genügend Daten übergeben, benötigen Sie möglicherweise eine Mitgliedschaft, um darauf zugreifen zu können. Oder es wird wahrscheinlich für Werbezwecke verwendet. Keine Ihrer Daten gehört Ihnen.
Van Hardenberg und seine Kollegen von Ink & Switch, einem privaten Forschungslabor, zu dem auch andere Heroku-Alaune gehören, möchten eine Alternative zu diesem Modell bieten. Sie nennen den Aufwand "local-first" -Software. (Van Hardenberg hält es für eine Art Buße, ein Unternehmen aufgebaut zu haben, das Cloud-Services anbietet.) Local-first spiegelt zum Teil die Sehnsucht nach den Tagen wider, als Software in einem Karton lag. Damals haben Sie es auf Ihrem Computer installiert, wo es zusammen mit Ihren Dateien sicher verwahrt wurde. Es gehe aber nicht darum, die Wolke gänzlich zu entgraben, sondern sie zu betonen, sagt Martin Kleppmann, ein Forscher der Universität Cambridge, der mit Ink & Switch zusammenarbeitet. Es ist "lokal zuerst" und nicht "nur lokal". Die Idee ist, die lokale Speicherung von Software und Daten mit bestimmten Dingen zu verbinden, die die Cloud gut kann, wie beispielsweise die Zusammenarbeit.
Dateien werden auf den Geräten der eingeladenen Mitarbeiter gespeichert und nicht auf einem Unternehmensserver oder in der Cloud. Es ist mit anderen Worten "dezentralisiert". Dieses Wort ist oft synonym mit Blockchain. Spirituell gesehen überschneidet sich der Wunsch, eine zentralisierte Autorität zu vermeiden. Blockchains basieren jedoch auf mangelndem Vertrauen zu anderen Benutzern. Sie verwenden einen rechenintensiven Prozess, der als Konsens bezeichnet wird, um sicherzustellen, dass sich alle auf einen gemeinsamen Sachverhalt einigen, ohne dass dies jemand ausnutzt. Local-first-Software basiert auf Vertrauen. Der Punkt ist die Zusammenarbeit zwischen befreundeten Parteien. "Der Konsens, den ich brauche, ist, was sich auf meinem Computer befindet", sagt Van Hardenberg.
"Unternehmer wollen wissen, welche Waffe ich an die Köpfe meiner Nutzer halten muss, damit sie zahlen?"
Peter van Hardenberg, Ink & Switch
Local-first-Software verwendet eine schlankere Technologie, die als konfliktfrei replizierte Datentypen (CRDTs) bezeichnet wird und 2011 von Forschern in Frankreich und Portugal entwickelt wurde. Das Konzept ähnelt Git, einem Tool, mit dem Programmierer die Softwareentwicklung auf Plattformen wie Github verwalten. Aber anstatt Änderungen manuell zusammenzuführen, wie es Git erfordert, tun CRDTs dies automatisch. Als Kleppmann vor einigen Jahren auf die Idee kam, wurde die Technologie hauptsächlich in einigen Backend-Datenbanken und in akademischen Anwendungen eingesetzt. Aber er war fasziniert von dem Konzept. Deshalb machte er sich daran, es für Entwickler nützlicher zu machen und entwarf eine JavaScript-Bibliothek namens Automerge, die CRDTs flexibler und effizienter machte. Die Hoffnung ist, die Software an einen Punkt zu bringen, an dem Entwickler sie zum Erstellen einer lokalen Version von Slack oder Trello verwenden möchten - Kleppmann möchte persönlich eine lokal erste Evernote.
Das Ink & Switch-Team hat Automerge für eine Handvoll Prototypen verwendet. Van Hardenberg zeigt mir eine App namens Pushpin. Es ist ein bisschen wie Pinterest, ein Forum, in dem Benutzer Bilder und Notizen austauschen können, sowie Websites, die mithilfe eines Plugins und einer einfachen Chat-Funktion aus Chrome abgerufen wurden. Er war angenehm überrascht gewesen, wie gut die CRDTs funktionierten. "Es war wie die Gebrüder Wright", sagt er. „Wir fliegen wirklich. Dieses magische Gefühl von Freiheit und Unabhängigkeit. “
Sicher war die Anwendung ein ziemlich niedriger Balken. Auf einer Message Board-App sind nur wenige Daten vorhanden, und die potenziellen Vorgänge sind nicht zu komplex. Derzeit leidet die Technologie unter der Last von mehr als ein paar Megabyte - viel Platz für Chats und das Bearbeiten von Dokumenten. Übergeordnete Software für die Zusammenarbeit an Fotos oder Designdateien kann jedoch eine Größe von Gigabyte erreichen, die mindestens 1.000 Mal größer ist. Aber Kleppmann hofft, dass eine fortlaufende Überarbeitung der Automerge-Innereien zum Abschluss kommt und diese größeren Apps ermöglicht.
ERFAHREN SIE MEHR

Der WIRED-Leitfaden zur Blockchain
Die Technologie bringt einige andere einzigartige Herausforderungen mit sich. „Es stellt sich heraus, dass CRDTs sehr einfach zu implementieren sind“, sagt Kleppmann. Traditionelle Datenbanken sind so konzipiert, dass sie in Stein gemeißelt sind. Sie können darauf vertrauen, dass das Dokument vor Ihnen die neueste Version ist. Das ist das Schöne an einer zentralen Kopie. Nicht so bei CRDTs, bei denen Kompromisse eingegangen werden, um die Bearbeitung in Echtzeit zu ermöglichen. Da mehrere Benutzer Änderungen an einer Datei vornehmen, müssen sie darauf vertrauen können, dass die Änderungen und Konflikte schließlich behoben werden. Es gibt immer eine leichte Verzögerung, da das Dokument die neuesten Bearbeitungen aufholt. Es ist für etwas wie Pushpin kaum wahrnehmbar, würde aber in komplexeren Apps deutlicher werden.
Normalerweise löst sich das ganz gut. Es bleibt jedoch noch viel zu tun, wenn es darum geht, zu entscheiden, welche Aktionen priorisiert werden sollen, wenn zwei Benutzer gleichzeitig Aufgaben ausführen. Zusammen mit den Schwierigkeiten bei der Implementierung von CRDTs könnte dies zu Problemen führen, sagt Emin Gun Sirer, Professor für Informatik an der Cornell University. "Ich würde mir große Sorgen um diese Art von Lösungen in Umgebungen machen, in denen Unmittelbarkeit und Konsistenz sehr wichtig sind", sagt er. Mit anderen Worten, Sie möchten möglicherweise wichtige medizinische Aufzeichnungen nicht als CRDTs speichern, damit die Änderungen nicht schnell wirksam werden, wenn sie von einem Notarzt zu einem anderen weitergegeben werden. Sirer ist ein Fan des Konzepts, solange die Entwickler vorsichtig sind und es in den richtigen Kontexten einsetzen. Durch die Vermeidung der Datenerfassung sind CRDTs gut für die Privatsphäre, insbesondere wenn sie mit sicherer Peer-to-Peer-Kommunikation kombiniert werden.