Yesterday I made a small contribution to help ProseMirror. Here's why.
HTML is awesome
HTML has evolved into the de-facto rendering language for displays, and it just keeps getting better. Fonts, animations, sophisticated text layout, international character sets, vector images, high-resolution photos and video, the list goes on and on.
There's little doubt in 2015 that HTML has become the way to publish online.
People are still writing with tools designed for print
There must be good reasons why people are still using the old desktop editors, they're not exactly fun or easy to use.
Some of it has to do with inertia, and proprietary formats, and interoperability. How else can you work together on a document if you can't share and open each other's files?
But let's be honest
HTML, and it's siblings like CSS, with all their power and sophistication, have become so complex, that they are impossible to edit by anyone except experts. So, what's the answer?
How do people write and publish content in HTML?
Silos are not the solution
Hiding the complexity of creating and publishing HTML online is a necessary service: But let's not fall into the trap of assuming that website-hosting providers and commercial online publishers are the only legitimate providers of this service. David Winer has written about this.
We need simple personal publishing tools
- Write your story
- Illustrate it with a photo or two
- Publish it in beautifully designed HTML for others to enjoy
Clearly there are some missing pieces. One of those is easier private web hosting, but that's a topic for another blog post.
How do people write in HTML?
It's the Software, stupid
We know it takes experts to design beautiful HTML. So we need software to help the rest of us pour our stories into those HTML designs. It's a bit like sending a document to the printer, except that software can do it instantly, generating HTML for us, every keystroke we type.
This is where ProseMirror comes in. It will make editing HTML feel like wysiwyg even though the HTML we're editing is not our own. HTML will come from templates carefully crafted by designers.
Editing with these HTML templates will produce two separate things:
- HTML output, ready for publishing
- The stuff we write
And where do we store the stuff we write?
I think the software community has the best answer to this question. Most of the code which powers our lives, lives in human-readable text files. These, in turn, live in services like GitHub where we can track changes and collaborate on content together.
Let's build tools to do the same for the stuff we write.