I believe it's an attempt to create a standard for web documents. Some documents are structured in terms of "blocks," where each block is a different kind of embedded component and needs its own...
I believe it's an attempt to create a standard for web documents. Some documents are structured in terms of "blocks," where each block is a different kind of embedded component and needs its own editor.
One example is a Jupyter notebook, which has markdown and code blocks for multiple programming languages. The blog post editor for Substack is another example, since you can drop in images and other components. Anyone writing a fancy web document editor is going to reinvent this wheel.
You could imagine an "everything notebook" that supports blocks from a lot of different vendors. There's a lot that would go into making that work so that documents can be shared without breaking.
There are a lot of attempts like this. During the dot-com era I worked for a "portal company" that made web server software for what we now call a dashboard. There were efforts to standardize what you could put into a dashboard.
It seems kind of corporate though, and not particularly successful? This effort seems to have been started by a company called HASH and has some support from WordPress, though to what extent is hard to say.
It would be more compelling to build on some popular open source notebook software that has a useful plugin API. VS Code has a similar amount of complexity and it has lots of plugins.
I think what tends to break standardization efforts like this is being too vague about use cases. For example, Substack has a hard requirement that all their blocks can be rendered to look nice as part of an HTML email, because sending email is what they do. A computational notebook like Jupyter doesn't care about that. Despite superficial similarities, it's often easier for everyone to go their own way.
I also thought about OLE and I’ll use this to talk about Apple’s lesser known version of the same thing, OpenDoc. In today’s dollars that’s about $440 for the PIM and $520 for the database. I...
(Lurking in the background is Microsoft's Object Linking and Embedding, which I believe was pretty successful?)
I also thought about OLE and I’ll use this to talk about Apple’s lesser known version of the same thing, OpenDoc.
After three years of development on OpenDoc itself, the first OpenDoc-based product release was Apple's CyberDog web browser in May 1996. The second was on August 1, 1996, of IBM's two packages of OpenDoc components for OS/2, available on the Club OpenDoc website for a 30 day free trial: the Person Pak is "components aimed at organizing names, addresses, and other personal information", for use with personal information management (PIM) applications, at $229; and the Table Pak "to store rows and columns in a database file" at $269. IBM then anticipated the release of 50 more components by the end of 1996.
In today’s dollars that’s about $440 for the PIM and $520 for the database. I played around with Cyberdog and OpenDoc when they released and it was pretty cool but I’ve never seen these “raw surface that you plop components that ‘someone’ will build” working. Its either too simple to be useful or too complex to use.
Expect one of these “powered by AI” coming soon. Given the name, I was surprised this one wasn’t blockchain based.
I þink þey were trying to inform us þat þey are changing þe name to Thorn (þ). I þink þat's a poor choice for a logo as it already has meaning, and it has noþing to do wiþ blocks.
I þink þey were trying to inform us þat þey are changing þe name to Thorn (þ). I þink þat's a poor choice for a logo as it already has meaning, and it has noþing to do wiþ blocks.
Sorry to sound defeatist, but this seems really ambitious and over-complicated. What are some use-cases where implementing something with blocks is easier than with existing tools? What do blocks...
Sorry to sound defeatist, but this seems really ambitious and over-complicated. What are some use-cases where implementing something with blocks is easier than with existing tools? What do blocks do differently?
With HTML and Web Components you can already make this. You have your standard HTML elements which provide text formatting, images, etc. and you have <script>s which register custom tags which can implement custom functionality (like a <tweet id="..."> element to display a Tweet, a <map size="..." location="..."> element to display a map). Sure, HTML has a lot more features, but you don't have to use them; you can just make every element self-contained and display: block.
Imagine a small script which takes something like
<!-- @import todos from https://package_manager.foobar/abc/schedule-todos.js --><!-- @import map from https://another_package_manager.foobar/def/google-maps.js --><h1>A header</h1><h2>A subheader</h2><p>Lorez ipsum dolor sit amet...</p><todos><todoreset="monthly">Pay rent</todo><todoreset="weekly">Laundry</todo><todoreset="daily">Walk dog</todo></todos><maplocation="Paris, France"/>
wraps it in <body>, parses the comments to add <script>s for each imported custom element, adds some preset stylesheets to override the ugly default styles, and produces a webpage where each top-level element is a fully-functional "block". Then, imagine another editor which saves/loads these script inputs and presents them in a WYSIWYG editor, like Typora does with Markdown or Jupyter does with notebooks. You have something which looks a lot like blocks, and the "protocol" is just to write JavaScripts which register custom web components.
I'm sure there's more to the actual Block Protocol, but the website and even FAQ really don't explain.
I've had trouble understanding the use case for the Block Protocol when it's been shared in the past. Maybe because I just haven't seen that many useful applications for blocks yet. As of last...
I've had trouble understanding the use case for the Block Protocol when it's been shared in the past. Maybe because I just haven't seen that many useful applications for blocks yet.
As of last year there was some interest by WordPress in supporting it with Gutenberg though, and that is promising. That would allow for greater cross-compatibility in a fairly easy-to-use WYSIWYG editor. Right now integrating Gutenberg requires some heavy server-side work, but maybe the protocol would allow it to be used in a more streamlined way. eg. by importing a simple JS library. There's also a lot of existing work in that ecosystem, and there would be value in allowing that to be used in other contexts.
Blocks are overkill for most comment systems, but do seem useful for authoring content. Maybe for newsletter writing too, but then these blocks would need to produce "old HTML". The whole concept seems abstract enough without introducing new concepts like conditional output based on render target.
What is this and why should anyone care? It’s basically an advertisement?
I believe it's an attempt to create a standard for web documents. Some documents are structured in terms of "blocks," where each block is a different kind of embedded component and needs its own editor.
One example is a Jupyter notebook, which has markdown and code blocks for multiple programming languages. The blog post editor for Substack is another example, since you can drop in images and other components. Anyone writing a fancy web document editor is going to reinvent this wheel.
You could imagine an "everything notebook" that supports blocks from a lot of different vendors. There's a lot that would go into making that work so that documents can be shared without breaking.
There are a lot of attempts like this. During the dot-com era I worked for a "portal company" that made web server software for what we now call a dashboard. There were efforts to standardize what you could put into a dashboard.
It seems kind of corporate though, and not particularly successful? This effort seems to have been started by a company called HASH and has some support from WordPress, though to what extent is hard to say.
It would be more compelling to build on some popular open source notebook software that has a useful plugin API. VS Code has a similar amount of complexity and it has lots of plugins.
I think what tends to break standardization efforts like this is being too vague about use cases. For example, Substack has a hard requirement that all their blocks can be rendered to look nice as part of an HTML email, because sending email is what they do. A computational notebook like Jupyter doesn't care about that. Despite superficial similarities, it's often easier for everyone to go their own way.
(Lurking in the background is Microsoft's Object Linking and Embedding, which I believe was pretty successful?)
I also thought about OLE and I’ll use this to talk about Apple’s lesser known version of the same thing, OpenDoc.
In today’s dollars that’s about $440 for the PIM and $520 for the database. I played around with Cyberdog and OpenDoc when they released and it was pretty cool but I’ve never seen these “raw surface that you plop components that ‘someone’ will build” working. Its either too simple to be useful or too complex to use.
Expect one of these “powered by AI” coming soon. Given the name, I was surprised this one wasn’t blockchain based.
I þink þey were trying to inform us þat þey are changing þe name to Thorn (þ). I þink þat's a poor choice for a logo as it already has meaning, and it has noþing to do wiþ blocks.
Sorry to sound defeatist, but this seems really ambitious and over-complicated. What are some use-cases where implementing something with blocks is easier than with existing tools? What do blocks do differently?
With HTML and Web Components you can already make this. You have your standard HTML elements which provide text formatting, images, etc. and you have
<script>
s which register custom tags which can implement custom functionality (like a<tweet id="...">
element to display a Tweet, a<map size="..." location="...">
element to display a map). Sure, HTML has a lot more features, but you don't have to use them; you can just make every element self-contained anddisplay: block
.Imagine a small script which takes something like
wraps it in
<body>
, parses the comments to add<script>
s for each imported custom element, adds some preset stylesheets to override the ugly default styles, and produces a webpage where each top-level element is a fully-functional "block". Then, imagine another editor which saves/loads these script inputs and presents them in a WYSIWYG editor, like Typora does with Markdown or Jupyter does with notebooks. You have something which looks a lot like blocks, and the "protocol" is just to write JavaScripts which register custom web components.I'm sure there's more to the actual Block Protocol, but the website and even FAQ really don't explain.
at least there’s no blockchain. I was actually a bit surprised considering the name
I've had trouble understanding the use case for the Block Protocol when it's been shared in the past. Maybe because I just haven't seen that many useful applications for blocks yet.
As of last year there was some interest by WordPress in supporting it with Gutenberg though, and that is promising. That would allow for greater cross-compatibility in a fairly easy-to-use WYSIWYG editor. Right now integrating Gutenberg requires some heavy server-side work, but maybe the protocol would allow it to be used in a more streamlined way. eg. by importing a simple JS library. There's also a lot of existing work in that ecosystem, and there would be value in allowing that to be used in other contexts.
Blocks are overkill for most comment systems, but do seem useful for authoring content. Maybe for newsletter writing too, but then these blocks would need to produce "old HTML". The whole concept seems abstract enough without introducing new concepts like conditional output based on render target.