ProseMirror summit in Berlin on Monday September 28

Update: The room in which we are meeting changed again. Still at SoundCloud, but use the side entrance (metal stairs) and find room “Islington” (we’ll be there to help).

With the ProseMirror WYSIWYM editor funded and going strong, people have suggested doing some kind of hacking and discussion meetup around it. I think this is a wonderful idea. We’ll have lots of JavaScripters in town for (where I’m also speaking about ProseMirror) and the web tech fest Berlin later this month, and you are all invited to the first ProseMirror summit.

We’ll meet at the Soundcloud offices (Rheinberger Str 76/77, 10115 Berlin, in the ‘Islington’ room) on Monday September 28th, 19:30. Use the entrance at the side, on top of the metal stairs.

The plan is to talk a lot of nonsense about ProseMirror, exchange ideas, discuss API design and use cases, possibly show off hacks that people have implemented, and work on new hacks. Everybody is free to show up and participate. I’ll start off with a short discussion of the configurable document schema work, and Stephan will explain his ProseMirror+IPFS distributed editor.

Add to this thread if you have further feedback or ideas!

I don’t know about the current availability of the Wikimedia offices, but I could ask.

Sure, please do ask.

I would like to join. How can I be posted for updates on the date and the location?

It doesn’t look like Discourse allows you to subscribe to email updates for a single topic, unfortunately. So check back here now and then, or keep an eye on my twitter account, I guess.

I’m also interested :slight_smile:

I would love to participate

as would I

(A venue has been found. See the updated post at the top of the topic.)

Being a lazy person and sitting in the ground floor of the same building I’m very happy with the choice of location!

Can we present things that we made using ProseMirror? If yes I could explain the ProseMirror/IPFS-based editor.

Ab-so-lutely! Do you want to do a 20-min-ish presentation / demo?

Oh, darn, it takes places at the exact time I am organising – would have loved to come. But, hey, we are in the same building :wink: at least…

Gladly! Might run a bit short, but I’m sure we have enough other stuff.

How does it work? Can we just walk in? I’ve never been there but I’ve heard they don’t just let people go in and out.

Yes, you can just walk in (through the entrance at the Rheinberger Straße) and say you are there for the meetup in the classroom. I don’t know the place all that well either, but that’s worked for me before.

Ok, I will go to Berlin for this. Need to go to Germany anyway one of these days.

Note: The location changed slightly again (still in the Soundcloud offices, but in another room). Looking forward to talking to you all tonight!

I made an art!

So this happened yesterday. The turnout of 11 people exceeded all expectations. Discussion was lively and interesting. We started with an introduction round in which people described the reasons they are interesting in the system and their use cases. Notable use cases were:

  • Scientific writing, in which you need elements like citations and have some strict requirements that documents must fulfill.

  • Legal writing, which has some of the same requirements.

  • A suggestion feature, where people can make edits and present them as suggested modifications (shown as highlighted new text and strikethrough removed text) to another user who then actually approves/discards them.

  • Producing predictable, clean HTML, without having users deal with Markdown or HTML directly.

After the introductions, Stephan did his demos. The first one runs ProseMirror on IPFS, saving documents itself to IPFS as well. So this is an application running in the peer-to-peer web, storing data there, and it will continue to work forever and ever as long as people keep using it an IPFS survives. Well, it’s just a little demo, so it probably won’t actually work forever, but the concept is mind-blowing. (Then we had a long derail about IPFS. If you don’t know it yet, search around, it’s a neat idea.).

The second demo had two ProseMirror editors collaborating over WebRTC (browser peer-to-peer technology). It just worked, again without central server, which is pretty cool.

Then I tried to explain the concept of document schemas, at which I initially did a pretty poor job but I think that after a bunch of questions I got the point across. To wit, document schemas describe the node types and attributes that are allowed in a document, and the way they relate to each other (what kind of nodes each node can contain, for example). You’ll typically define a single one (or simply import an existing one) and use that for all documents in a given domain that you allow users to edit.

The question of versioning these was brought up. We discussed a whole bunch of ideas, but in the end my takeaway was that we best treat this as external to the core system. People can define and publish schemas as document formats, with a name and a version, and sites that want to explicitly version documents can store the format name and version alongside their documents.

Finally, I pleaded again if anyone knew of any literature that attacks the problem of formalizing tree-based document manipulation, and the way a WYSIWYG interface can expose that in a predictable, accessible way. But nothing came to mind, and it was late, so we finished the meeting there.

In any case, the summit was a success, and I expect I’ll try to organize something similar again in the future. Thank you all who showed up!

If I forgot something significant, feel free to add replies with further notes.