Una introducción a SOLID, la nueva Web descentralizada de Tim Berners-Lee

Recientemente, el profesor Tim Berners-Lee levantó el velo de un proyecto llamado Solid. Decidí comprobarlo. En este artículo, describo lo que Solid pretende hacer y también cómo puede empezar a utilizarlo.

¿Qué es sólido?

Solid es un intento de volver a descentralizar la web.

¿Re - descentralizar?

En el pasado, la visión de la web era un espacio de lectura y escritura colaborativo y descentralizado. El primer navegador (llamado WorldWideWeb) también fue un editor.

Sin embargo, a medida que avanzaba, el diseño de aplicaciones web comenzó a centralizarse por una variedad de razones. Los datos de los usuarios se convirtieron en la fuente de energía e ingresos de las empresas de Internet.

Solid es una solución para esto.

Solid es un nuevo paradigma para las aplicaciones web, uno que es compatible con versiones anteriores de la web existente.

Solid es una pila tecnológica, un grupo de protocolos relacionados, implementaciones y una comunidad en crecimiento. Al igual que la web.

La separación de la aplicación y los datos

En la informática anterior a Internet, su computadora personal almacenaba sus datos.

A medida que las personas comenzaron a usar varias computadoras y agregaron teléfonos inteligentes a sus vidas, el modelo "sus datos permanecen con usted" fue reemplazado por "Sus datos están en uno o más centros de datos masivos en todo el mundo, administrados por el desarrollador de la aplicación".

Y así, las aplicaciones estaban profundamente acopladas con sus datos. Crear una aplicación en la web implica administrar los datos de las personas a escala.

Las aplicaciones y su capacidad para ganar dinero se miden por su silo de datos . Es difícil migrar sus datos, ya que diferentes aplicaciones almacenan sus datos de manera muy diferente.

¿El resultado? Casi todas las aplicaciones tienen características de jardín amurallado. Esto reduce los incentivos para que los desarrolladores innoven a nivel de la aplicación. Las plataformas existentes están protegidas contra interrupciones, ya que el bloqueo de datos dificulta que los usuarios se muevan.

Normativa de protección de datos

Algunos países han promulgado leyes de protección de datos. Las empresas deben hacer que sus datos estén disponibles y usted puede optar por descargarlos o eliminarlos.

Esto intenta devolver el control sobre los datos a los usuarios. Pero es una prescripción legal y no la realidad técnica. Los datos del usuario siguen estando en manos de los desarrolladores de aplicaciones, y la capacidad de descargar sus datos no es muy útil si no puede migrar a una alternativa.

Pods: trae tus propios datos

Solid soluciona esto en el aspecto técnico. Permite que las aplicaciones se construyan de manera que lean y escriban datos almacenados en su pod .

Tienes una vaina. Tus amigos tienen una vaina. Los pods almacenan sus datos. Permite que las aplicaciones accedan a su pod.

Tal vez tenga varias vainas. Quizás separados para el hogar y el trabajo. Su pod puede vivir en su computadora o distribuirse entre sus dispositivos. O podría estar alojado para usted.

Y las vainas almacenan datos vinculados . Su pod se puede vincular a algo en mi pod o en cualquier lugar de la web.

Queremos aplicaciones que se ejecuten en nuestros dispositivos. Pero también queremos la autonomía de nuestros datos. Y queremos que diferentes aplicaciones utilicen los mismos datos y escriban en ellos.

Las ideas detrás de Solid

Entrar en Solid me recordó comenzar con el desarrollo web. Recuerdo haber aprendido HTML, CSS, JavaScript y los frameworks del día, todo al mismo tiempo.

La única diferencia: Solid es nuevo y es más difícil encontrar ayuda.

Aquí hay una colección de conceptos del primer día que querrá saber para comenzar a desarrollar para Solid:

(PD: si solo quieres saltar, salta a 'Primeros pasos')

Datos vinculados

El poder de Solid, y de la web en general, proviene de la forma en que los datos se vinculan entre sí.

En Solid, almacena los datos que produce donde quiera. Es probable que sus datos personales residan en su pod. Para hacer referencia a estos datos, utiliza URL, como en la web.

Este también es un buen momento para presentar la forma completa de Solid: SO cial LI nked D ata.

Lea sobre datos vinculados en el contexto de Solid

Marco de descripción de recursos

RDF es una forma de representar datos vinculados con declaraciones del formulario subject-predicate-object. Estos también se denominan triples.

RDF es un modelo abstracto. Incluso podrías representar RDF en oraciones en inglés. Aquí hay una tarea en una lista de tareas pendientes:

T1 is a taskT1 is labelled "Write an article about Solid"T1 is due October 5rd 2018T1 is assigned to @itsarnavbT1 is incomplete

Tortuga

Tortuga es una forma compacta de la representación de datos RDF, usando URLs para representar subject, predicatey object.

Eso es repetitivo y difícil de leer, por lo que tortuga tiene un sistema de prefijo y taquigrafía. Esto se vuelve especialmente importante con documentos más largos.

Puedes leer más sobre la tortuga. O puede consultar un documento completo sobre tortugas aquí. Es un perfil público detallado del profesor Ruben Verborgh, que forma parte del equipo de Solid.

Web semántica

Tim Berners-Lee lo explica mejor:

Tengo un sueño para la Web [en el que las computadoras] sean capaces de analizar todos los datos de la Web: el contenido, los enlaces y las transacciones entre las personas y las computadoras. Una "Web Semántica", que lo haga posible, aún no ha surgido, pero cuando lo haga, los mecanismos cotidianos del comercio, la burocracia y nuestra vida diaria serán manejados por máquinas que hablan con máquinas. Los "agentes inteligentes" que la gente ha promocionado durante siglos finalmente se materializarán

Primeros pasos

Haga esto, en el orden que le convenga.

  • Obtenga un pod: regístrese con cualquier proveedor de pod gratuito o ejecute su propio servidor (si eso es lo suyo).
  • Crea una aplicación sólida con este tutorial
  • Lea sobre estos trucos hechos con Solid
  • Leer los documentos de Solid

Ir sólido

Puede ayudar al ecosistema sólido

  • contribuyendo al desarrollo de Solid y la infraestructura relacionada.
  • desarrollar aplicaciones usando Solid.

Pero tenga cuidado, en este momento, aprender y desarrollar para Solid requiere mucho ensayo y error, y hacer preguntas potencialmente tontas. No hay Stack Overflow al que hacer referencia. La depuración de algunos errores puede requerir que investigues la fuente.

Estas son las comunidades donde puede obtener ayuda:

  • r / solid (soy uno de los mods)
  • gitter.im/solid

Y finalmente, mis DM están abiertos: @itsarnavb. Intentaré responder todas las preguntas que me hagan o encontrar a alguien que pueda.

Y mantendré este artículo actualizado con los mejores recursos para aprender sobre Solid.

Otras lecturas

  • Sitio web sólido - solid.mit.edu
  • Cambios de paradigma para la web descentralizada - Ruben Verborgh
  • Un pequeño paso para la Web - Tim Berners-Lee