Meet Laurent Doguin, he’s a little bit rock-n-roll, a little bit country, and has a whole lot to give to the Nuxeo Community. In his new role as community liaison, he’s branched off from some of his main development projects to devote his time and expertise to helping the entire Nuxeo Community become more active and efficient in collaborating and contributing—a win-win for all! Exactly what kind of projects? Sky’s the limit, read on and let Laurent walk you through the process.
Nuxeo: Tell me your about your new role…
Laurent: I’m the new Nuxeo Community Liaison, so that means I’ll be helping contributors communicate and interact with the development team here while at the same time building the Nuxeo Community.
Nuxeo: And, who makes up the Nuxeo Community?
Laurent: Well, not enough people right now, but that’s the whole point of my new role, to get all the contributors together so they can organize themselves to make more and more contributions. So first we’ll focus on the existing ones, we have to help them and advertise what they’ve done, and market it…that’s the first part: to enhance the small things that already exist and make them bigger and bigger.
The community “ecosystem” is made up of contributors, which includes anyone who contributes their time, not only developers who write code. Of course, also included are all the integrators who work with us, but when they create something interesting they don’t necessarily know how to contribute their projects to Nuxeo, so it’s our (my) job to guide them.
For instance, we have a lot of people who propose translations for Nuxeo, but they get lost pretty easily when trying to submit them. If you get on Jira or the forum you might see this. So I can show them how to contribute translations or actually whatever it is they want to contribute to Nuxeo—whether it’s writing documentation or translating documentation. Now, so far this has never happened, but IF some day they want to help us in this way (hint, hint) I’ll be happy to show them how. There are lots of other ways to help us even if you don’t know how to enter code, many ways to build the community and make it live, translating is one part of it, but it can also mean helping other users on the forum, or it might be contributing documentation, working on the wiki…that kind of stuff.
Nuxeo: Do you view customers as an integral part of the process?
Laurent: Yes, definitely, along with everyone using Nuxeo. Basically this could be customers, contributors, users…there are a lot of different people using Nuxeo: you might be a small company that’s doing everything by itself—doesn’t matter—if you want help, we’re here and we can help you do whatever you want or maybe even just hear your story, that would be cool too.
Nuxeo: How long have you been at Nuxeo?
Laurent: Three and a half years, well, actually it’s going to be 4 years in July, I started as an intern.
Nuxeo: So you’re primarily a developer yourself, right?
Laurent: Yes that’s my main job, I think you have to keep that job to know what you’re talking about—you need to know what’s going on with the platform and everything that correlates to your customers. This is necessary in order to maintain credibility and understand their pain points.
Nuxeo: On the dev side of your job, what’s been your main contribution to Nuxeo?
Laurent: Well, the first thing I made was the Picture Book, old stuff, that I’d like to revise, because it’s what I did at the beginning. There’s a lot of stuff to correct—to do better—I would do it completely differently now, but that was 3 years ago. Now I work mostly on CMF. I also work on the Scenari integration for Nuxeo, so part of my assignment as a Community Coordinator is to help the guys from Kelis, the company that’s building Scenari, to integrate some areas of Nuxeo for their structured text technology. I’ll be devoting 2-half days a week to the Nuxeo Community and I’m pretty sure this will be my first assignment: to help these guys make a Scenari marketplace package so that everybody can download it, see how cool it is, and how much better it is to use for word processing.
Nuxeo: Can you tell me a little more about this technology?
Laurent: Scenari is a bit complicated. It’s a different approach than writing text in an editor like Word. It’s structured text editing. It’s not about the UI of the final product. And, in fact the UI of the Scenari editor is very basic. It’s pure content—you just write all the text in predefined fields. Metadata is included but it’s transparent to the user. It’s then stored as a raw XML that you can render it in different formats like HTML, PDF, Flash, mobile content, or whatever you want using whatever style guide you need.
Nuxeo: Ah, so the opposite of WSYIWYG…
Laurent: Yeah, it’s “what you see is what you mean.”
Nuxeo: Do you think this is the future?
Laurent: Well, there’s still a lot of work to be done here because when you do this type of editing you still have to learn how to render the material. The concept is actually quite old, it was developed about 40 years ago, a project called LaTeX. Scenari doesn’t use LaTeX, they use their own model, but still it’s a paradigm for what they’re working on.
Nuxeo: What’s the upside of using this technology?
Laurent: The real value can be seen when have a situation where you want to separate content or if you just want to write pure content and let someone else worry about the formatting. For example, I’m going to write a paper and I want some areas to stand out…rather than specify “bold” as a format as you’re writing, Scenari says “this is important” and then you choose what “this is important” means to you—it could be bold or font size 24 or some other specific style such as italic. It’s not the end-user who decides how the content is rendered, it’s up to the one who’s doing the encoding. So using this technology something like a strict style guide is easier to implement.
Another example…when we did the presentation for Nuxeo World last year some people were using Keynote, some Open Office, etc—we had to have one or two folks doing everything and correcting the style manually, but what could have been done using Scenari is that everyone enters their raw content and then we would all respect the same style guide.
Basically, when you’re working in Scenari it’s all about content, it allows you to separate tasks or jobs more efficiently, for example, one person’s job is purely content creation, another person’s is presentation, and so on.
Nuxeo: With regards to Kelis, how much time was spent on the project, between conceptualizing this idea and making it work?
Laurent: I think this w as maybe a year and a half ago. It doesn’t take that long anymore. It took a long time because we both had other things to do.
Nuxeo: And if Kelis wanted to do another package?
Laurent: It would be much easier because there’s now a connector between Nuxeo and Scenari.
Nuxeo: And, what if there aren’t any connectors, say you’re a brand new customer?
Laurent: Depends on what do you want to do. Do you want to store documents? Do you want to integrate Nuxeo features instead? During the sprint we worked on a Bonita connector and we had it in 2 days. Each project has its own set of unique specifications.
Nuxeo: So for new developers who are interested in working with Nuxeo, what’s the first step they need to take to get involved?
Laurent: There are a lot of different approaches… First they should decide if they want to learn or extend. Looking through the documentation and reviewing the tutorials is a first step and then (for the most nerdy guys who want to see how it’s working inside) they can start playing around with the source code. If you want to work more easily with Nuxeo you’ll first have to make sure your software can communicate with Nuxeo—there’s a different API, content automation or CMIS, that you should use. There’s a lot of information on this in our documentation, so it should be pretty straight forward.
So first, review the API, then you’ll gain a better understanding of what you can or can’t do and through this process you may identify what you WISH you could do. Then dive into the code more and if you want to propose something to us or if you get stuck, just go onto Jira and tell us where you’ve run into problems and from there I’ll see your request for help and we can start discussing your project in more detail.
Nuxeo: Is there some type of review panel for these customers that extend Nuxeo, for instance made up of you and others, who would say: “Yeah we like this plug-in, we want to put it in the Marketplace”?
Laurent: Not yet, not yet….there’s supposed to be and my hope is that in the future we’ll get so many great ideas that we’ll be forced to prioritize them.
Nuxeo: So right now it’s very open, a bit of a free for all?
Laurent: Yes, exactly, right now is a great time to submit ideas and start contributing. I’m looking at everything and I have time to do that.
Nuxeo: What have you seen so far…what do you think is the coolest plug-in that’s been contributed?
Laurent: Hmm…that’s not easy to answer, we don’t want to make the other contributors jealous.
Nuxeo: But you want to be impressed, right?
Laurent: Yeah, yeah… [laughs]
The thing is that all the contributions have been fairly large. We have main contributors like Jean-Marc Orliaguet—he’s been working with Nuxeo since the beginning—he did the Theme Editor and made a really cool video for Nuxeo World. There’s also Damien Metzler, who made all of the OpenSocial stuff. Those are the two biggest things we’ve integrated so far. There have also been small patches and codes that have been contributed, maybe not as impressive, but very important—you have someone fixing a bug for you, that’s really cool.
Others are very end user oriented, which is great because we’re not, we’re all geeks. Getting any feedback from these types of contributors is really important because when they share their ideas we know it’s because there’s a real person behind them, average users who are using our products to address their business needs. Like Christopher Capon from Vilogia, he started contributing—doing things on his own—based directly on user feedback at his company. We took notice and asked if he wanted to contribute formally and now we work together on a regular basis.
Nuxeo: What if someone who isn’t a developer has an idea for extending Nuxeo, but has no development skills, how would they go about submitting their idea?
Laurent: You can go on Jira and open a ticket and also put it on the forum and ask for feedback from the Nuxeo Community who will respond directly and tell you what they think. For us, if we think it’s interesting, maybe we will look into it—we can’t make guarantees, after all this is non-funded stuff, but we’ll see…
The best thing to do if you want to influence our product roadmap is to go on the forum and join discussions or go on Jira and open a ticket. If it’s good feedback we’ll listen, we want people to care about what we’re doing and we want to know what they’re doing as well.
Nuxeo: I hear you’re involved with the Eclipse project as well?
Laurent: Actually not yet, but soon. Contributing the Nuxeo Core to Eclipse is a good thing, it highlights that this technology doesn’t just belong to Nuxeo, it belongs to the community—this is really important and makes me happy.
Nuxeo: What will you be doing to get more people involved with contributing to Nuxeo?
Laurent: Well there are several user groups we’ll be approaching, there’s a Geek Meet Up in Paris—I’ll be seeing those guys soon—and there’s always people in your social network, friends, etc. as well as seeking out people who we notice are doing cool stuff and invite them to join our community.
Nuxeo: What do you do in your spare time?
Laurent: I have two music projects, both very different from each other. I just started a folk band that’s all acoustic, but I have a metal band as well. They’re both very different, but I like being on opposite ends of the spectrum.
Nuxeo: And do you enjoy working at Nuxeo?
Laurent: Yeeeeeeaah. Open Source to me means that you always have something to give and open to new ideas. I’m incredibly happy to work with individuals who are willing to give so much of their time and talent.