Joel on Software 2024年07月23日
Making the web better. With blocks!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Block Protocol是一个开源协议,旨在使网页内容模块化,让用户可以自由地在不同平台之间共享和使用各种内容模块。它提供了标准化的方式,让开发者可以轻松地创建和嵌入各种类型的模块,例如文本、列表、表格、图表、视频等,并可以与其他平台共享和复用。

🤔 **Block Protocol的诞生**: 由于现有的网页编辑器和内容管理系统缺乏标准化,导致用户无法在不同平台之间轻松共享和使用内容模块。例如,用户可能想要在自己的博客中使用WordPress中提供的复杂模块,但由于缺乏标准,无法实现。因此,Block Protocol应运而生,旨在解决这个问题。

🚀 **Block Protocol的目标**: Block Protocol的目标是创建一套开放、免费、非专有的标准,让开发者可以轻松地创建和嵌入各种类型的模块,并与其他平台共享和复用。它希望让网页内容模块化,就像乐高积木一样,用户可以自由地组合和使用各种模块,构建出自己的网页内容。

💡 **Block Protocol的优势**: Block Protocol带来的优势是多方面的。首先,它可以简化开发者的工作,让开发者可以专注于创建高质量的模块,而无需担心兼容性问题。其次,它可以提高用户体验,让用户可以更轻松地使用和分享各种内容模块。最后,它可以促进网页内容的标准化,让网页内容更加结构化、可读性和可重用性。

🌎 **Block Protocol的未来**: Block Protocol是一个新兴的协议,目前还处于早期开发阶段。但它具有巨大的潜力,可以改变网页内容的创作和分享方式。随着越来越多的开发者和用户参与进来,Block Protocol将会得到更广泛的应用,并最终成为网页内容的标准。

🤝 **Block Protocol的合作**: Block Protocol需要更多人的参与,才能实现它的目标。开发者可以加入社区,为协议贡献代码,创建新的模块,并分享他们的经验。用户可以尝试使用Block Protocol,并提供反馈,帮助协议不断完善。只有通过共同努力,才能让Block Protocol成为一个真正有用的工具,改变网页内容的未来。

You’ve probably seen web editors based on the idea of blocks. I’m typing this in WordPress, which has a little + button that brings up a long list of potential blocks that you can insert into this page:

This kind of “insert block” user interface concept is showing up in almost every blogging tool, web editor, note-taking app, and content management system. People like it and it makes sense.

We have seem to have standardized on one thing: the / key to insert a new block. Everything else, though, is completely proprietary and non-standard.

I thought, wouldn’t it be cool if blocks were interchangeable and reusable across the web?

Until now, every app that wants blocks has to implement them from scratch. Want a calendar block? Some kind of fancy Kanban board? Something to embed image galleries? Code it up yourself, buddy.

As a result of the non-standardization of blocks, our end-users suffer. If someone is using my blog engine, they can only use those blocks that I had time to implement. Those blocks may be pretty basic or incomplete. Users might want to use a fancier block that they saw in WordPress or Medium or Notion, but my editor doesn’t have it. Blocks can’t be shared or moved around very easily, and our users are limited to the features and capabilities that we had time to re-implement.

To fix this, we’re going to create a protocol called the Block Protocol.

It’s open, free, non-proprietary, we want it to be everywhere on the web.

It’s just a protocol that embedding applications can use to embed blocks. Any block can be used in any embedding application if they all follow the protocol.

Our hope is that this will make life much easier for app developers to support a huge variety of block types. At the same time, anyone can develop a block once and have it work in any blog platform, note-taking app, or content management system. It is all 100% free, open, and any sample code we develop showing how to use the protocol will be open-source.

We’ve released a very early draft of the Block Protocol, and we’ve started building some very simple blocks and a simple editor that can host them.

We’re hoping to foster an open source community that creates a huge open source library of amazing blocks:

What can be a block?

If you work on any kind of editor—be it a blogging tool, a note-taking app, a content management system, or anything like that—you should allow your users to embed blocks that conform to the Block Protocol. This way you can write the embedding code once and immediately make your editor able to embed a rich variety of block types with no extra work on your part.

If you work on any kind of custom data type that might make sense to embed in web pages, you should support the Block Protocol. That way anybody with a hosting application that supports the protocol can embed your custom data type.

Because it’s all 100% open, we hope that the Block Protocol will become a web standard and commonly used across the Internet.

That will mean that common block types, from paragraphs and lists to images and videos, will get better and better. But it will also mean that some esoteric block types will be embeddable anywhere. Want to create a block that shows the Great Circle routing for a flight between two airports? Write the code for the block once and it can be embedded anywhere.

Oh, and one more thing. Blocks can be highly structured, that is, they can have types. That means that they magically become machine-readable without screen scraping. For example, if you want to create an event block to represent an event on a calendar, you will be able to specify a schema that describes the event data type in a standard way. That way tools like calendars can instantly parse and understand web pages that contain your event block, reliably.

Over time, it will mean that anyone can easy publish complex, typed data sets on the web that are automatically machine-readable without extra work. (Have you ever seen one of those websites where there’s a link to “download the data set in .XLS format”? Yeah, say goodbye to that.)

We’re going public with this very early in the development process because we need a lot of help!

Everything we have so far is version 0.1. It’s simple and not very good yet and going to need some iteration before it has the hope of truly being a useful web protocol.

This is an open protocol, free and non-proprietary, and it’s going to make the open web much better if widely adopted, so we need to start getting people involved early, giving us feedback, and building new things!

Go read more about the Block Protocol now!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Block Protocol 模块化 网页内容 开源协议 标准化
相关文章