Schlagwort-Archive: Grundlagen

Solid Basics #003 – Immer der Nase nach

Wie finde ich interessante Daten in Solid Pods? Solid arbeitet nach dem Prinzip „Follow your nose“. Sowohl Menschen, als auch Maschinen und Apps können damit, ausgehend vom Social-Web-Profil, weitere interessante Daten finden.

Mit diesem Prinzip, kannst du zum Beispiel die Folien meiner Vorträge in meinem Solid Pod entdecken. Legen wir los!

Ausgangspunkt ist mein Profil unter https://angelo.veltens.org/profile/card. Es verlinkt meine WebID mit einer Vielzahl weiterer Informationen. Wenn du den Link anklickst, öffnet sich der „Solid Data Browser“. Nicht erschrecken: er ist noch sehr hässlich, aber dennoch äußerst nützlich, um „Follow your nose“ zu verdeutlichen.

Relativ weit oben findest du meinen Namen „Angelo Veltens“ gefolgt von „performer In“ und einer Auflistung von „it“. Es handelt sich dabei um Daten-Tripel, die eine Beziehung zwischen mir und weiteren Dingen herstellen.

Alle Bestandteile dieser Tripel sind Links, die wir anklicken können, um zu verstehen was genau dahinter steckt. Klicke mit der mittleren Maustaste auf „performer In“, um den Link in einem neuen Tab zu öffnen. Du befindest dich nun auf schema.org und erfährst:

Event that this person is a performer or participant in.

Beschreibung der Beziehung „performerIn“ bei schema.org.

Wir wissen nun also, dass „perfomer In“ auf Veranstaltungen verweist, auf denen ich aufgetreten bin. Folgen wir dieser Spur weiter! Zurück auf der Profilseite klickst du auf einen der „it“-Links, um Informationen zur jeweiligen Veranstaltung abzurufen. Dort werden wir womöglich auf Vortragsfolien stoßen.

Im Data Browser öffnen sich nun Informationen zur ausgewählten Veranstaltung. Ab jetzt geht es in einer Baumstruktur weiter. Frag mich nicht warum – ich sagte bereits, das User Interface ist murks 🤷‍♂️. Bitte versuche es für den Moment zu akzeptieren und das dahinterliegende Prinzip zu verstehen.

In den Veranstaltungsdaten findest du neben Name und Beschreibung auch einen Punkt „Work Featured“. Klicke auf das kleine Dreieck vor „slides“, um weitere Daten auszuklappen. Der Type „Presentation Digital Document“ lässt erahnen, dass wir die Folien gefunden haben.

Daten eines Events in einer aufklappbaren Baumstruktur. „Work featured“ führt weiter zu den Vortragsfolien.

Um die Folien einzusehen, müssen wir aber noch die konkreten Dateien finden. Davon kann es mehrere geben. Unter „Associated Media“ kannst du einen weiteren Abschnitt „web“ und/oder „pdf“ aufklappen und kommst dort zu konkreten Ausprägungen der Folien (PDF oder HTML). Wenn du nun noch die „Content Url“ aufklappst kannst du die Folien betrachten. (Alternativ kannst du den Wert von „Content Url“ per drag-and-drop in die Browserleiste ziehen – erneut 🤷‍♂️)

Einige Ebenen tiefer finden sich die konkreten Dateien der Vortragsfolien. In diesem Bild als PDF-Dokument.

Wozu der ganze Aufriss?

Zugegeben, das war jetzt nicht nur wegen des Data-Browser-UIs eine schlechte User Experience. Darum geht es hier aber auch gar nicht.

Ein wichtiger Aspekt von Solid ist die grundsätzliche Auffindbarkeit von Daten, ausgehend vom Profil einer Benutzer:in, allein durch das Folgen von Links. In der Praxis wird das, was wir hier mühsam von Hand durchgeführt haben, durch Apps automatisiert.

Wirf einen Blick in den Abschnitt „Talks“ meiner Website. Die Seite macht genau das, was wir gerade getan haben, nur viel schneller und automatisch. Dadurch ist die Seite in der Lage alle Infos, Folien und Videoaufzeichnungen meiner Talks gebündelt und gut zugänglich darzustellen.

Durch die Trennung von Apps und Daten, sind auch andere Webseiten und Anwendungen in der Lage, diese Informationen zu verwerten.

Das Follow-your-nose-Prinzip lässt sich automatisieren. Apps können die Daten dann auch „in hübsch“ anzeigen.

Solid Basics #002 – Deine Daten gehören dir

Ein wesentliches Merkmal von Solid ist die Trennung von Apps und Daten. Während deine Daten im traditionellen Social Web stets an eine bestimmte App bzw. einen bestimmten Dienst gekoppelt sind, liegen sie im Solid Ökosystem grundsätzlich in deinem eigenen Pod und du hast freie Wahl mit welcher App du sie verwalten und benutzen möchtest. Schauen wir uns an, was das praktisch bedeutet! Wenn du noch keinen Pod hast, besorge dir jetzt deine Identität im Web und wir legen los.

Als Beispiel schauen wir uns eine einfache Bookmarking App an: markbook.org. Dort kannst du beliebige Links als Lesezeichen hinterlegen, zum Beispiel um sie dir zum späteren Lesen vorzumerken.

Dank Solid benötigst du keinen Account bei marbook.org. Deine WebID genügt zum Einloggen: Nach einem Klick auf Login öffnet sich eine Providerauswahl. (Leider zur Zeit in einem Popup, was du ggf. im Browser erlauben musst)

Providerauswahl

Wenn du dich, wie in Teil 1 beschrieben, bei solid.community registriert hast, wählst du „Log in with Solid Community“. Dort loggst du dich dann mit deinem Username und Passwort ganz normal ein und wirst anschließend zurück zu markbook.org geleitet.

Login bei deinem Pod (z.B. solid.community)

Du wirst feststellen, dass markbook.org bereits deinen Namen und – falls du eins hinterlegt hast – dein Profilbild anzeigt. Diese Informationen lädt die App live aus deinem Solid Profil.

Markbook.org speichert selbst überhaupt keine Daten über dich. Nicht einmal die Lesezeichen, die wir gleich dort hinterlegen werden!

Um ein neues Lesezeichen anzulegen, klicke auf „Create Bookmark“ in der blauen Leiste oben. Es erscheint dann ein Dialog, in dem du einen Titel und die URL des Lesezeichen angeben kannst.

Ein Lesezeichen anlegen

Nach einem Klick auf „Post“, wird das Lesezeichen in deinem Solid Pod gespeichert und erscheint bei markbook.org in der Liste.

Das neu angelegte Lesezeichen, angezeigt auf markbook.org, gespeichert in deinem Solid Pod.

Der springende Punkt bei Solid ist, dass dieses Lesezeichen in deinem persönlichen Pod gespeichert wurde – markbook.org speichert keine Daten über dich oder deine Lesezeichen. Es ist eine reine Browser-App, die nur auf deinem Rechner oder Smartphone läuft.

Wenn du dich mit den Entwicklungswerkzeugen deines Browsers auskennst, kannst du dort verfolgen, dass markbook.org lediglich Daten an deinen Solid Pod sendet.

Schauen wir uns zum Abschluss die Daten einmal an! Mit Solid hast du volle Kontrolle über alle Daten die gespeichert werden und kannst diese jederzeit einsehen und löschen. „Deine Daten gehören dir“ ist hier kein Marketing-Bla-Bla, sondern technisch gewährleistet.

Deine Lesezeichen findest du unter einer URL der Form https://<username>.solid.community/public/bookmarks.ttl. Warum ich das weiß, bzw. wie man die genaue URL herausfindet erkläre ich in einem späteren Artikel. (Tipp für Neugierige: Alle Daten sind von deiner WebID ausgehend verlinkt. Folge dem Link namens „publicTypeIndex“). Für heute reicht es, wenn du in der genannten URL einfach deinen Benutzernamen an Stelle von <username> einsetzt.

Wenn du die URL im Browser öffnest, findest du dort die Daten des eben angelegten Lesezeichens.

Viel Spaß beim Experimentieren und Erkunden!

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:

Linked Data in „java aktuell“

In der Ausgabe 01/13 von „Java aktuell“ erschien mein Artikel „Linked Data – ein Web aus Daten“, den ich nun auch an dieser Stelle als PDF bereit stelle. Es handelt sich um eine Einführung in das Thema Linked Data:

Wer heute im Web Daten abrufen möchte, hat es nicht leicht. Obwohl hinter vielen Diensten große Datenbanken stehen, beschränkt sich das Surfen im Web meist noch auf menschenlesbare Webseiten. Entwickler können bestenfalls den mühsamen Umweg über proprietäre APIs gehen. Mit Linked Data werden die Daten Teil des Webs und das dokumentenbasierte World Wide Web erweitert sich um ein Web aus Daten.

In der nächsten Ausgabe erscheint ein Praxisartikel der verdeutlicht, wie leicht man selbst Linked Data bereitstellen und verarbeiten kann. Die Ausgabe erscheint am 06.03.2013.