Indiegogo is committed to accessibility. If you have difficulty using our site, please contact support@indiegogo.com for assistance or view our accessibility notice by clicking here

This campaign is closed

ProseMirror

Clean Prose Editing in the Browser

You may also be interested in

Closed
Closed
Closed
Closed
Closed

ProseMirror

ProseMirror

ProseMirror

ProseMirror

ProseMirror

Clean Prose Editing in the Browser

Clean Prose Editing in the Browser

Clean Prose Editing in the Browser

Clean Prose Editing in the Browser

Marijn Haverbeke
Marijn Haverbeke
Marijn Haverbeke
Marijn Haverbeke
2 Campaigns |
Berlin, Germany
$53,977 USD $53,977 USD 424 backers
142% of $37,784 Fixed Goal Fixed Goal
Highlights
Mountain Filled 2 Projects Mountain Filled 2 Projects

Update: ProseMirror is funded! The code is open-source, and the project will be maintained and developed further in the open. There is still a lot to be done, and further contributions are appreciated, either here or in some other way (contact me).


A New Take on Content Editing

Editing rich text on the Web is predominantly done by using editors implemented as a thin layer on top of contentEditable. This is sometimes a good idea, and sometimes a bad one. Using contentEditable means editing HTML, with all the cruft that comes with that. It means working around browser bugs and trying to clean up dangerous or messy output.
Several companies have implemented systems that improve the situation. Google Docs is probably the most awe-inspiring browser-based document-editing interface around, but you can't just drop that into your CMS. Medium has built a very nice lightweight editor custom-tailored for their blog-editing use case (their blog post about it is somewhat relevant to this project). But again, closed source.
ProseMirror is something in-between those two: a lightweight, extendable, general-purpose document editor with support for real-time collaboration. I have written it (see the demo on the website) and if the community is able to compensate me for the time I put into it, I am open-sourcing it under an MIT license.


Who I am

This campaign is being run by Marijn Haverbeke, author of CodeMirror, a widely used in-browser code editor, Eloquent JavaScript, a freely available JavaScript book, and Tern, which is an editor-assistance engine for JavaScript coding that I also crowd-funded here.
I have a long history of releasing and maintaining solid open software. My work on CodeMirror (which you might know as the editor in Chrome and Firefox's dev tools) has given me lots of experience with writing a fast, solid, extendable editor. Many of the techniques that went into ProseMirror have already proven themselves in CodeMirror.


What you are Funding

In the past six months, I have written a JavaScript-based document editor. You can see it in action online. This system is different from the existing open source editors in several ways.
  1. It defines and maintains its own document model, instead of relying on the HTML stored in the editable document that the browser is displaying. (Why is this cool? See these demos!)
  2. This document is exposed as a document tree, which can currently be serialized to HTML and (roughly) Markdown. Writing your own serializer is straightforward.
  3. The currently implemented model corresponds to what is supported in Markdown/CommonMark. There are plans for allowing client code to extend and customize the document model in the future.
  4. Changes to this document are composed of well-defined steps. These steps can be exchanged over the network to create collaborative editors.
  5. User interface elements such as menus are implemented with plugins. There currently exists a Medium-style tooltip-based interface, and a classical toolbar-at-the-top interface.
Like CodeMirror, the editor is implemented as a library module with a rich programming interface, which can be styled and extended to fit seamlessly into the surrounding website.
For a more in-depth description of the system, see my announcement blog post and another post that discusses the collaboration protocol in more depth.
Because this drive succeeded, the code is MIT licensed.
I set the goal amount by taking the time I've sank into this project and multiplying that by half my normal consulting rate. It may sound like a lot of money, but it is actually a rather meager compensation. My hope is that this software will have a positive impact on the Web and that I'll be able to extract more income from it in the future, by convincing commercial users to pay for support.
Looking for more information? Check the project FAQ
Need more information
Let us know if you think this campaign contains prohibited content.

Choose your Perk

Immortal fame in BACKERS.txt

Currency Conversion $5 USD
€5 EUR
Your name will appear in a file included in the project repository and linked from the project page, storing a record of your good deed for future generations.
232 claimed

Prioritize your bug

Currency Conversion $54 USD
€50 EUR
The first ProseMirror bug you report will be treated extra seriously and responded to super quickly (be sure to send me an email pointing our your contribution and the bug ID).
40 claimed

Logo and link on backer list

Currency Conversion $540 USD
€500 EUR
I'll include your (company's) logo and a link of your choice in the HTML version of the list of backers.
10 claimed

Integration support

Currency Conversion $810 USD
€750 EUR
I will spend up to 5 hours answering questions about the software and helping solve issues that you run into when integrating it into your system.
10 claimed

Call The Programmer

Currency Conversion $2,159 USD
€2,000 EUR
I will do a phone or video call with you or someone from your company for up to two hours, in which we can discuss the architecture of the software, its future direction, and any concerns you have with it. If you raise concerns that I agree with or need some small custom add-on module, I will spend up to ten hours helping you with those.
4 claimed
Ships worldwide.

Your own feature

Currency Conversion $5,398 USD
€5,000 EUR
Within reasonable bounds, this perk entitles you to propose a significant new editor feature, which I will implement (either in-core or as a module, as appropriate).
Estimated Shipping
January 2016
0 claimed

One year of full support

Currency Conversion $10,795 USD
€10,000 EUR
Get full commercial support (quick bug fixes, help with questions, and me spending time on tweaks and features you need) for one year, starting at a time of your choosing (i.e. you don't lose half your year because the software isn't immediately production-ready).
1 claimed

You may also be interested in

Up Caret