https://blockprotocol.org/ Block Hub Documentation Specification Build a block A powerful new protocol for developers Build and use interactive blocks connected to the world of structured data An open standard for building and using data-driven blocks. Make your applications both human and machine-readable. Read the Quickstart Guide Embed any block anywhere on the web, using data from any source Easily move data between applications without wrestling with APIs and custom integrations. View it any way you like in interactive blocks. [person-wit][table-bloc][checklist-][kanban-sma] [table-bloc] [checklist-] [kanban-sma] [person-wit] [table-bloc] [checklist-] [kanban-sma] [person-wit] [table-bloc] [checklist-] [kanban-sma] * * * * What do you mean by 'blocks'? Blocks are individual pieces of content on the web - images, text, videos, checklists, and kanban boards are all examples of blocks. You've seen these around the web. They're used in almost every modern web application Usually these blocks and the data they contain are confined to single apps and websites You can't easily move data from a to-do list on one website into a kanban board on another. Unless you want to manually copy-paste it, or another developer has built the API integration for you. Blocks created using the Block Protocol can easily move between apps These blocks use structured data which makes it easy to move both blocks themselves, and the data within blocks, even if the blocks are in completely separate applications. What's structured data? Structured data is any data that maps to a schema Schemas are standardized formats that define the possible properties of a thing, the expected types of those properties, and (sometimes) their expected values. So the schema for a Person has the properties firstName, jobTitle, and email. While the schema for an ItemList has the properties numberOfItems (a number) andListItems (an array of strings). This standard format makes it easy for us to pass an ItemList between different kinds of blocks, no matter which application the blocks are embedded in. Text Block What's a protocol Protocols are standardized ways for two or more systems to communicate. Checklist Block Write tests Review latest PRs Read The Big Short Check the color contrast Image Block [image-bloc] Team Docs What's a protocol Protocols are standardized ways for two or more systems to communicate. To-do App Write tests Review latest PRs Read The Big Short Check the color contrast Personal Notes [image-bloc] To-do App Write tests Review latest PRs Read The Big Short Check the color contrast Team Docs [image-bloc] Personal Notes What's a protocol Protocols are standardized ways for two or more systems to communicate. DefinedTerm nameprotocol descriptionProtocols are standardized ways for two or more systems to communicate. ItemList numberOfItems4 ListItemwrite tests ListItemreview latest PRs ListItemread The Big Short ListItemcheck color contrast ImageObject captiona soft rainbow gradient urlhttps://pics.rainbow.png thumbnaila soft rainbow gradient associatedArticlehttps://atlantic.com Why would I want to build blocks with the Block Protocol? Blocks built with the Block Protocol can easily pass data between applications because the data within each block is structured. [ ]Fix color contrast [ ]Implement sidebar [*]Write tests [*]Review latest PRs item: Fix color contrast complete: false item: Implement sidebar complete: false item: Write tests complete: true item: Review latest PRS complete: true We could pull in data from a checklist block on our favorite to-do app... which maps onto an ItemList schema... and access that same list in a Table or Kanban block in other applications Personal Notes [realtime-l] Project Management App [realtime-r] [realtime-c] Keep data in sync, get real-time updates, and integrate with any service that uses the protocol. No extra configuration required. The Block Protocol makes interoperable, block-based data possible The Block Protocol specification provides a set of guidelines on how to write blocks that render, create, update, and delete data in a predictable way. This standardization makes it possible to easily move both blocks and data between applications that adhere to the protocol. Read the Spec [registry-s] Tap into a global registry of reusable blocks As a developer, building your applications using the Block Protocol will give you access to a global registry of reusable, flexible blocks to embed inside your application. All connected to powerful structured data formats. Code [preview] Divider [preview] Embed [preview] Heading [preview] Image [preview] Paragraph [preview] Person [preview] Table [preview] Video [preview] * * * * * * * Explore all Blocks Anyone can build new blocks and submit them to the registry. If you can't see the block type you want, start building it today. Add blocks to your app Anyone with an existing application who wants to embed semantically-rich, reusable blocks in their product can use the protocol. Improve your app's utility and tap into a world of structured data with no extra effort, for free. Read the Embedding Guide Build your own blocks Any developer can build and publish blocks to the global registry for other developers to use. Create blocks that solve real-world problems, and contribute to an open source community changing the landscape of interoperable data. Read the Quickstart Guide Block Hub Documentation Specification Publish a Block Contact Us Star us on Github Supported by