Schlagwort-Archive: Solid

Solid Basics #001 – Deine Identität im Web

Um am neuen Social Web teilhaben zu können, benötigst du zunächst (mindestens) eine globale Identität (WebID). Da Solid ein völlig offenes Ökosystem ist, kann im Prinzip jede Webaddresse (URI) mit entsprechender Konfiguration als WebID dienen. Ich möchte in dieser „Solid Basics“ Reihe die Dinge aber möglichst einfach halten. Ich zeige dir daher nun, wie du einen Account bei einem offenen Solid-Provider anlegst und direkt loslegen kannst.

Ein solcher Provider ist solid.community. Du kannst die Registrierungsseite benutzen um dort einen Account anzulegen und so eine WebID erhalten. Username und Password benötigst du um dich später einzuloggen. Der Username wird auch Teil deiner öffentlichen WebID. Die Email dient zur Account-Wiederherstellung, External WebID kannst du leerlassen.

Registrierungsformular bei solid.community

Nach der Registrierung landest du auf der Startseite deines neuen Solid Pods:

Deine WebID nach der Registrierung lautet https://<username>.solid.community/profile/card#me Neben einer WebID stellt dir solid.community, auch Speicherplatz für deine Daten zur Verfügung (Solid Pod). Wenn du die WebID im Browser abrufst siehst du dein Profil mit dem bei der Registrierung eingetragen Namen:

Du kannst über die Felder weitere Informationen eintragen und auch ein Profilbild hochladen. Die Oberfläche ist allerdings sehr sehr rudimentär und alles andere als schön zu bedienen. Die Stärke von Solid liegt jedoch darin, dass du nun beliebige (bessere) Solid-Apps im Web benutzen kannst um deine Daten zu verwalten und zu ergänzen. Mehr dazu folgt! Eine Identität mit der du dich einloggen kannst, hast du nun schon mal.

Solid – Social Linked Data

Die Idee eines Social Webs, losgelöst von zentralen Plattformen, rückt mit dem Solid-Projekt in greifbare Nähe.

Was ist Solid? – Solid steht für Social Linked Data. Das Projekt basiert auf Linked Data und vereint zahlreiche W3C-Standards aus diesem Umfeld, um das World Wide Web als Plattform für soziale Interaktionen zu nutzen.

Damit unterscheidet es sich wesentlich von verteilten sozialen Netzwerken wie Diaspora, Mastodon und Co., die im Grunde nur verteilte Daten-Silos sind. Mit Solid kann jede Website, jede Webanwendung, Teil des neuen Social Webs werden.

Eine Grundidee von Solid besteht in der Trennung von Anwendungen und Datenspeichern. Die Daten können an beliebigen Orten im Web gespeichert werden. Als Benutzer:in habe ich freie Wahl, wo ich meine Daten speichern will und wem ich Zugriff darauf gebe. Ebenso kann ich wählen, mit welchen Anwendungen ich die Daten verwalten möchte.

Dieses Prinzip möchte ich an einem konkreten Beispiel verdeutlichen:

Unter https://angelo.veltens.org/ läuft ein Solid-kompatibler Server. Aus dem dokumentenbasierten Web kennen wir Server wie nginx oder Apache httpd. Ein Solid-Server ist diesen sehr ähnlich, stellt aber darüber hinaus Funktionen für das Social Web bereit. Es ist auch denkbar, dass bestehende Webserver um Solid-Funktionen erweitert werden.

Der Server stellt mir eine Identität in Form einer WebID zur Verfügung und dient als „Personal Online Datastore“ (POD) zum Speichern von Daten. Unter meiner WebID https://angelo.veltens.org/profile/card#me sind einige Basis-Informationen zu meiner Person abrufbar. Alle weiteren Daten, die ich im POD, oder an anderen Orten im Web gespeichert habe, sind von dort aus verlinkt. Unter https://angelo.veltens.org/public/bookmarks liegen zum Beispiel einige meiner öffentlichen „Social Bookmarks“.

Der Solid-Server stellt auch ein rudimentäres Web-Interface zum Anzeigen und Bearbeiten der Daten bereit. Das spannende an Solid ist jedoch, dass ich beliebige Solid-Apps im Web verwenden kann. Zum Anlegen von Bookmarks zum Beispiel markbook.org. Ich habe markbook.org dazu schreibenden Zugriff auf https://angelo.veltens.org/public/bookmarks erteilt. Wenn ich mich mit meiner WebID einlogge, kann die App meine Lesezeichen verwalten.

Das gute an Solid ist, dass diese Lesezeichen eben nicht auf dem Server von markbook.org gespeichert werden, sondern in meinem POD. Wenn ich mit der Anwendung nicht mehr zufrieden bin, kann ich zu einer anderen Bookmark-App wechseln und die Daten einfach dort verwalten. Ebenso kann ich unterschiedliche Daten in unterschiedlichen PODs speichern und so im Web verteilen. Ich muss dabei auch nicht unbedingt einen eigenen Server betreiben, sondern kann auf Provider, wie z.B. inrupt.net zurück greifen. Dank Linked Data können alle Daten untereinander verknüpft und beliebigen Web-Apps zugänglich gemacht werden.

Dies geht soweit, dass jede Nutzer:in volle Kontrolle über die eigenen Daten hat. Während Alice einen Beitrag unter https://alice.example/articles/hello-world veröffentlicht, schreibt Bob einen Kommentar dazu unter https://bob.example/comments/my-two-cents und Trudy äußert ihre Zustimmung zu Bobs kommentar mit einem „Like“ unter https://trudy.example/likes/2019/02#123. Durch die Verlinkung der Daten kann alles aggregiert direkt beim Artikel angezeigt werden, liegt in Wahrheit jedoch in den PODs der jeweiligen User.

Dies ist soweit die Grundidee hinter Solid, ohne zu sehr auf die technischen Details einzugehen. Über einzelne davon werden sicher noch Blogposts folgen.

Wenn ich eurer Interesse für Solid geweckt habe, hier einige Follow-Up-Resourcen:

2019 – Das Linked Data Jahr?

In den vergangenen Jahren hatte ich wenig Zeit mich mit Linked Data zu befassen, obwohl mich das Thema nach wie vor interessiert. Inzwischen habe ich mich der Sache aber wieder angenommen und möchte dieses Blog reaktivieren.

Seit 2013 hat sich viel getan. Ein Auszug:

  1. Mit JSON-LD ist ein praxisorientiertes Serialisierungsformat entstanden, mit dem Entwickler:innen schnell vertraut werden.
  2. Hydra und Linked Data Platform standardisieren Linked-Data-APIs.
  3. Das Solid-Projekt von Tim-Berners-Lee verwirklicht die seit langem bestehende Idee der Dezentralisierung des Social Webs mit Linked Data.

Auch speziell in den letzten Wochen und Monaten passiert wieder mehr in diesen Bereichen. Die W3C JSON-LD Working Group hat die Arbeit an JSON-LD übernommen. Die Hydra Community Group hat sich neu formiert und arbeitet verstärkt an der Erweiterung der Spezifikation und konkreten Beispielen. Solid vereint eine wachsende Community von Leuten aus unterschiedlichen Bereichen. Im Chat und im Forum ist immer was los.

Ich selbst habe im codecentric-Blog Artikel über JSON-LD geschrieben, arbeite derzeit an Hydra-APIs und experimentiere mit Solid. Mehr erfahrt ihr demnächst hier im Blog.