All Projects → solid → Solid

solid / Solid

Licence: mit
Solid - Re-decentralizing the web (project directory)

Programming Languages

HTML
75241 projects

Projects that are alternatives of or similar to Solid

Optikey
OptiKey - Full computer control and speech with your eyes
Stars: ✭ 3,906 (-51.68%)
Mutual labels:  communication
System Bus Radio
Transmits AM radio on computers without radio transmitting hardware.
Stars: ✭ 5,831 (-27.86%)
Mutual labels:  communication
Dztalkapp
Delphi non-visual component to communicate between applications
Stars: ✭ 23 (-99.72%)
Mutual labels:  communication
Node Bluetooth Serial Port
Serial I/O over bluetooth for NodeJS
Stars: ✭ 444 (-94.51%)
Mutual labels:  communication
Applozic Android Sdk
Android Real Time Chat & Messaging SDK
Stars: ✭ 611 (-92.44%)
Mutual labels:  communication
Briefing
Secure direct video group chat
Stars: ✭ 710 (-91.22%)
Mutual labels:  communication
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (-95.39%)
Mutual labels:  communication
Arduino Nats
An Arduino / ESP8266 / Particle Photon compatible C++ library for communicating with a NATS (http://nats.io) server
Stars: ✭ 44 (-99.46%)
Mutual labels:  communication
Multitor
Create multiple TOR instances with a load-balancing.
Stars: ✭ 624 (-92.28%)
Mutual labels:  communication
Microservices Connector
Inter-Service communication framework, support for microservice architecture and distributed system
Stars: ✭ 17 (-99.79%)
Mutual labels:  communication
Constable
Better company announcements
Stars: ✭ 505 (-93.75%)
Mutual labels:  communication
Playsms
playSMS is a web interface for SMS gateways and bulk SMS services
Stars: ✭ 569 (-92.96%)
Mutual labels:  communication
Niltalk
Instant, disposable, single-binary web based live chat server. Go + VueJS.
Stars: ✭ 808 (-90%)
Mutual labels:  communication
Post Me
📩 Use web Workers and other Windows through a simple Promise API
Stars: ✭ 398 (-95.08%)
Mutual labels:  communication
Irackbot
Bridge between Slack and IRC channels allowing message filtering and logging while keeping communication public
Stars: ✭ 25 (-99.69%)
Mutual labels:  communication
Wormhole
Wormhole — it's better EventEmitter for communication between tabs with supporting Master/Slave.
Stars: ✭ 393 (-95.14%)
Mutual labels:  communication
K 9
K-9 Mail – Open Source Email App for Android
Stars: ✭ 6,327 (-21.72%)
Mutual labels:  communication
Writetothem
Write to your MP, MEP, & other elected representatives.
Stars: ✭ 44 (-99.46%)
Mutual labels:  communication
Swifteventbus
A publish/subscribe EventBus optimized for iOS
Stars: ✭ 937 (-88.41%)
Mutual labels:  communication
Hslcommunication
An industrial IoT underlying architecture framework, focusing on the underlying technical communications and cross-platform, cross-language communication functions, to achieve a variety of mainstream PLC data reading and writing, to achieve modbus of various protocols read and write, and so on, to support the rapid construction of industrial upper computer software, configuration software, SCADA software, factory mes system, To help enterprise Industry 4.0 take-off, to achieve intelligent manufacturing, smart factory goals. The main PLC contains Siemens, Mitsubishi, Omron, Panasonic, Modbus, AB-PLC, Redis
Stars: ✭ 816 (-89.9%)
Mutual labels:  communication

Solid

Solid Logo

Re-decentralizing the web

Read more about Solid information.

Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized Web applications based on Linked Data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols.

Solid is made possible by a community of contributors.

Table of Contents

  1. About Solid
  2. Standards Used
  3. Project directory
  4. Contributing to Solid

About Solid

Specifically, Solid is:

  • A tech stack -- a set of complementary standards and data formats/vocabularies that together provide capabilities that are currently available only through centralized social media services (think Facebook/Twitter/LinkedIn/many others), such as identity, authentication and login, authorization and permission lists, contact management, messaging and notifications, feed aggregation and subscription, comments and discussions, and more.
  • A Specifications document that describes a REST API that extends those existing standards, contains design notes on the individual components used, and is intended as a guide for developers who plan to build servers or applications.
  • A set of servers that implement this specification.
  • An ecosystem of social apps, identity providers and helper libraries (such as solid-auth-client) that run on the Solid platform.
  • A community providing documentation, discussion (see the solid forum), and talks/presentations.

Standards Used

The Solid platform uses the following standards.

Solid Platform Notes

Solid applications are somewhat like multi-user applications where instances talk to each other through a shared filesystem, and the Web is that filesystem.

  1. The LDP specification defines a set of rules for HTTP operations on Web resources, some based on RDF, to provide an architecture for reading and writing Linked Data on the Web. The most important feature of LDP is that it provides us with a standard way of RESTfully writing resources (documents) on the Web, without having to rely on less flexible conventions (APIs) based around sending form-encoded data using POST. For more insight into LDP, take a look at the examples in the LDP Primer document.

  2. Solid's basic protocol is REST, as refined by LDP with minor extensions. New items are created in a container (which could be called a collection or directory) by sending them to the container URL with an HTTP POST or issuing an HTTP PUT within its URL space. Items are updated with HTTP PUT or HTTP PATCH. Items are removed with HTTP DELETE. Items are found using HTTP GET and following links. A GET on the container returns an enumeration of the items in the container.

  3. Servers are application-agnostic, so that new applications can be developed without needing to modify servers. For example, even though the LDP 1.0 specs contains nothing specific to "social", many of the W3C Social Work Group's User Stories can be implemented using only application logic, with no need to change code on the server. The design ideal is to keep a small standard data management core and extend it as necessary to support increasingly powerful classes of applications.

  4. The data model is RDF. This means the data can be transmitted in various syntaxes like Turtle, JSON-LD (JSON with a "context"), or RDFa (HTML attributes). RDF is REST-friendly, using URLs everywhere, and it provides decentralized extensibility, so that a set of applications can cooperate in sharing a new kind of data without needing approval from any central authority.

Project directory

Contributing to Solid

Get a WebID

In order to try out some of the apps built using Solid, you will need typically an identity on some solid server. There are two forms of authentication we use, and so two types of account.

WebID-OIDC

This uses OpenID Connect to give you a WebID. It involves signing in with a password at your chosen identity provider, such as (2018/2) solid.community.

WebID_TLS

A WebID profile from one of the Solid-compliant identity providers, such as databox.me,

With WebID-TLS, you will need to make a WebID browser certificate from the above profile (this is usually created when you sign up for a WebID profile account, but it only works on Firefox at the moment (2018)).

Running a server

Additionally, to get started with developing for the Solid platform, you'll need:

  1. A Solid-compliant server.

  2. While not required, an understanding of RDF/Turtle principles and Linked Data Platform concepts will help you understand the general workflow.

Solid Project Workflow

To contribute to Solid development, and to bring up issues or feature requests, please use the following workflow:

  1. Have a question or a feature request or a concern about the Solid framework, or on one of its servers? Open an issue on solid/solid (this repo here).

  2. Have an issue with the Solid spec specifically? Open an issue on solid/solid anyway. And then, as a result of discussion, if it's agreed that it is actually a Spec issue, it will be moved to solid-spec.

  3. The individual solid/solid issues can coordinate and track component/dependent issues on the various affected Solid servers, apps, and so on.

Places to chat

https://github.com/solid/information#solid-conversations

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].