On software quality, collaborative development, wikis and Open Source...
Oct 30 2011
Paris JUG: The job of Developer
I was happy to be invited to talk about the job of Developer at the Paris JUG along with Jean-Laurent De Morlhon, Regis Medina, Didier Girard and Gregory Weinbach.
The idea was to give a glimpse about how we became developers through our personal experience so that younger developers or developers-to-be could understand what it means to be a developer.
We then tried to answer questions from the room.
The pictures of the even have now been put online:
It was a great event and as you can see from the pictures I enjoyed it a lot! ![]()
Thanks Nicolas for organizing this.
Sep 14 2011
Lausanne JUG: XWiki
Last week I've presented 2 sessions at the Lausanne JUG (organized by Philippe Kernevez from OCTO Technology:
There were 20-30 people attending and I've had a lot of fun presenting. The evening was followed by a dinner with several attendees. I've had a very nice time!
The presentation slides are available with voiceover and videos of demos on Parleys.com.
May 30 2011
What's Next 2011
I'm just back from the What's Next Paris conference (26/27th May 2011) organized by Zenika. I was able to get a free entry as an OSSGTP member and a CastCodeurs. Thanks guys!
Zenika did a great job, especially for a first conference. It was located at the Grand Rex (a famous Theater in Paris, with a star-lit ceiling and where I remember seeing the first Stars Wars back in the 1970s...). Anyway very nice venue (imagine that it can fit more than 2700 people in the room!) even though the corridors were a bit cramped when everyone was out of the sessions.
The format of the event was risky with a single track which meant making compromises for choosing the talks. Must have been a nightmare for Zenika to choose the sessions... ![]()
I admit I didn't attend all sessions but he are some stuff that I liked and that resonated with me with what we're doing at XWiki:
- CloundFoundry. Seems to be a nice open PAAS: it's open source and you can plug stuff at all levels: new languages, services, and even plug your own infrastructure. Apparently it has this notion of Micro cloud which allows you to run it on your local computer which seems nice to try stuff out (I don't now how hard/easy it is to do that though, would need to research this a bit). In the XWiki project we've started some research exploration of running XWiki on PAAS (Google App Engine, etc). We're also lead on the Compatible ONE research project to create a PAAS that's a bridge to other existing PAAS, using a common API. As part of this we're also looking at running XWiki on a NoSQL storage.
- Orion. This is a Web IDE project lead by the Eclipse Foundation. Apparently it's quite recent and there's isn't much yet. The developers have focused on offering extension points/hooks so that the community can join and help out in offering services such as code analysis, code highlighting, etc. Right now a basic editor is provided with syntax highlighting for a few syntaxes and no autocompetion. They haven't tackled the issue of concurrent edition yet and are again waiting for community help on this. At XWiki, the concept of Web IDE is something dear to us since XWiki is a next generation wiki that lets you put script in wiki pages. Thus there's an important need to offer nice code editors. We also have another research project underway in which we're developing a realtime WYSIWYG solution. We had a first version of realtime editing done in the past (and using the WOOT algorithm - WithOut Operational Transformation, an algorithm close to the OT one used by Google Wave) in another research project but it didn't get into the product in the end because of some technical blocker. We hope this new research project will be integrated this time, allowing XWiki users to collaboratively edit the same wiki page at the same time and in WYSIWYG mode. Note that we also have a working integration with SkyWriter (was named Bespin before).
- HTML5 WebSockets. The presentation was great and clearly explained why it's a vastly superior implementation over polling (several HTTP requests to the server asking for news) or long polling (keep the HTTP connection open). With WebSockets you contact the server over HTTP but with a reduced header and in the header you ask for an "upgrade". The Server needs to be WebSocket-aware and respond to the "upgrade". From then one a dual-direction TCP socket is established and the server can send data to the client without the client having to do any polling. We really need to start adding HTML5 feature in XWiki and make them available only for HTML5-enabled browsers (i.e. degrade to what we're currently doing for older browsers).
As usual I enjoyed seeing again my IT and Open Source friends (too many to list!).
So what's next for 2012?
Apr 26 2011
Geek Snow Camp 2011
The OSSGTP and Les CastCodeurs have organized a 2 days Snow Camp in France at Les 2 Alpes 3 weeks ago (April 2011). I was there with 20 or so other geeks and we had a great time skiing and discussing of technology and of our open source projects.
Just to name a few:
- Emmanuel Bernard – JBoss by Red Hat
- Henry Gomez – eXo Platform
- Mathilde Lemée - Independant
- Ludovic Poitou ForgeRock
- Julien Viet – eXo Platform
- Christophe Laprun – JBoss by Red Hat
- Alain Defrance – eXo Platform
- Miguel Moquillon - Silverpeas
- Arnaud Heritier – eXo Platform
- Emmanuel Hugonet – Silverpeas
- Jean-Laurent Morlhon - Xebia
- Paul Sandoz – CloudBees
- Vincent Massol – XWiki
- Jean-Baptiste Lemée – Independant
- Emmanuel Lécharny – Iktek

I was lucky to have Emmanuel Bernard as a private Git coach
He's a good teacher who makes you learn fast. Just try to make a mistake and you'll see what happens...
XWiki was just moving to Git (and GitHub) and I was in need of a quick training session to get me started. I got help from the other geeks too and that's when I discovered that Git wasn't an exact science... everyone has his own way of using it and there are lots of ways of doing the same thing...
I had some fun coding a quick GitHub integration in XWiki too using Groovy.
On the second day we recorded a special LesCastCodeurs podcast; we arranged 15 geeks around a table and launched some tech topics at random to get a discussion started. The result is available here (in French).
Let's do this again next year!
Mar 14 2011
Paris JUG Third Anniversary
I've attended the 3rd anniversary of the Paris JUG and it was a great event that attracted over 500 developers (not bad for a user group that is 3 years old!). Antonio and his team had chosen an interesting theme this year which was "Siffler en travaillant" (which can be translated as "whistling to work"). He said he got the idea while watching Snow White and the seven dwarfs who are whistling while going to work in the mines. He wondered whether some of us are doing this or rather why don't we all whistle while going to work. There were several lightning talks on this theme, such as: "Tele working" - The speaker asked the audience who had a contract for working from a distance and only 3 people raised their hands. I was one of them. Apparently lots of developers do work from home a few days per week but very few have it in their contract. France is lagging behind other countries, especially wrt the law, "Independence" (being an Independent), ..., "GTD" by Emmanuel, "About being a Developer" by Didier Girard - Didier's presentation was very neat with a lot of energy and punch (Didier is really good at that), and more. The last talk was a very refreshing talk by 2 young men just out of school who started developing Android apps. They started one night as a challenge: "let's see what we can do" and they had their first working app a few hours later. They published it and quickly had hundreds or thousands of downloads and they did their second app, then third and finally they got 10 apps, all doing.... nothing (a candle, a lighter, etc) ....
At some point they decided to monetize their work since they had so many downloads and put an ad banner in all their apps. They're now making around 12K euros per month (they're 2) which is pretty good money and their download numbers are still increasing. Several of us looked at each other and wondered why we were developing complex apps such as an Enterprise Wiki, a CMS, etc when apparently it's enough to develop an app that does nothing to make a living! ![]()
The venue was very nice, at the Cité Internationale Universitaire (I didn't know the place and was pleasantly surprised by the nice architecture - lucky sutdents!). The organisation was superb with booths available for companies (that's a big part of how this free event is sponsored). I got the chance to get a massage by Fred Do Couto (from Vitalizen - Fred was an excellent java developer I met while working on the Vizzavi Europe project around 2001-2002 - At the time we used to get free massage while at work, this is how Fred got the idea to start Vitalizen later on).
I met all the usual suspects: Didier Girard, Emmanuel Bernard, Antonio of course (hey 3 castcodeurs out of 4 not bad), Julien Dubois, Charles Gay, Tugduall Grall, Jean-Laurent, and a lot more. It's always nice to find known heads and to catch up on what we're all doing (we don't see each other enough - I'm partly to blame since I haven't been active at all in organizing the OSSGTP meetings for the past few years....).
Then 80 of us had booked for a surprise evening at 22:30: we got embarked in 2 special night buses where we drank champagne and danced while crossing paris till we reached the Eiffel Tower where we took a group picture (insert link here). Then we were driven to a nice restaurant (Le Vavin) and finished around 3AM... I stopped there since I had to work the next morning but others carried on at the bar next door till 6AM...
A very good evening where I was happy to meet old friends and talk about XWiki.
Waiting for the 4th anniversary of the Paris JUG now!
Jan 04 2011
XWiki in 2010
A new year flies by and it's time to reflect on the past achievements done on the XWiki software in order to prepare for even more improvements for 2011 (see XWiki in 2009 to see what happened in 2009).
Releases
That's a grand total of 63 releases, which means more than 1 release per week average! Compared to last year we've increased substantially (we had 58 releases in 2009).
We can see that XEclipse and XWatch would need some love... volunteers are welcome ![]()
Committers
This year we've had 23 committers

- 15 committing on XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. Note that 1 committer (Asiri) is no longer active.
- 6 committing only in the Contrib module
- 2 committing only on Curriki
In 2009 we had 14 active committers on XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. Note that we've just committed Raluca as committer so we're starting 2011 with 15 active committers.
Here are some stats from Ohloh showing how contributors have evolved over time:

Commit Activity
Note that commits below excludes commits related to releases and are provided by SVNSearch.
These commits are only for XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager.
4499 commits corresponds to 12 commits/day in 2010. Not bad, even though it's down from 2009, but a bit better than 2008.
Here are some stats from Ohloh showing how commits have evolved over time:

Top Committers
Top committers for 2010:
| Committer | Number of commits |
| Thomas Mortagne (tmortagne) | 2743 |
| Sergiu Dumitriu (sdumitriu) | 2108 |
| Vincent Massol (vmassol) | 1977 |
| Marius Florea (mflorea) | 1082 |
| Jean-Vincent Drean (jvdrean) | 949 |
Data extracted from SVN Search:

Mailing List Activity
Data extracted from Markmail.

That's 8886 non jira/hudson/svn mails which means 24 mails per day on the users and devs mailing lists.
Issue Tracking
In 2010, we've fixed 1347 issues. That's close to 4 per day, not bad, even though it's less than in 2008 and 2009.
Lines of Code
Here are some stats from Ohloh showing how the code base has evolved over time:

Sep 06 2010
USI 2010
Mar 18 2010
Developing Situational Applications in XWiki
- Step 1: Create a page where we define what a TODO object is (a Class in XWiki parlance)
- Step 2: On a different page, add a TODO object and add some script in the page content to display in a table the content of TODO objects found on that page
- Step 3: Add a form to the page to allow users to create new TODO objects through a simple UI
- Step 4: Create a Wiki Macro object to hold the script code for presenting TODO objects in the page where the macro is used
- Step 5: Use the WYSIWYG editor to add the new TODO macro in a page, thus showing how to transform some technical code into a very simple to use macro that any user can use on his own pages to add a TODO application to any page
Feb 10 2010
Second Anniversary of the Paris JUG
- It's great to see that the Java community is alive and kicking. Imagine: drawing close to 500 people at a JUG event! Well done Antonio and team.
- Very good keynote from Sacha Labourey on whether open source has come of age and the good and the surprises that happened. The presentation has resonated with my convictions at XWiki. It was also very nice to see Marc Fleury again, as a surprise guest, especially since he's now onto other stuff.
- Great presentation from Marc-Antoine Guarrigue on how he discovered computers and how we he came to become an open source developer working on JCaptcha and more. I thank Marc-Antoine for considering me as one of the person he took example on. The truth is Marc-Antoine is a great guy, humble and with a big heart, and very skilled at whatever he does. I also wish I could present as well as he did! Congrats again to MAG for his newborn baby Louise who apparently already likes drinking champagne ;)
- I liked the Play! framework concepts. Actually I found a lot of similarities from what we do in XWiki. I especially like the attention to details that they've put into their project, like the nice error reporting pinpointing the part of the source code failing. It was nice to talk to Guillaume Bort and Nicolas Leroux afterwards. Nicolas is a Riveria JUG leader and XWiki SAS is hosting its wiki. He reminded me that we really need to upgrade the XWiki JUG's farm to a more recent version (it's more than a year's old and in the meantime we've had about 15 releases!).
- I didn't know about jax-doclet before. Since we use JAX-RS in XWiki we'll have a look at it in order to document our REST APIs. It looks promising.
- I was happy to meet again Fred Do Couto who was providing Massages throughout the event (thanks for the "Amma Assis" Massage Fred!). Fred has started a company called VitaliZen doing Massages at events. He's still doing IT consulting while he bootstraps his business. Well done Fred, I admire you and the courage it takes to start a new endeavour especially as different as the one you were doing before. Great to see you were able to leverage those Massage sessions that we've had when we worked together for Vizzavi Europe back in 2001...
- 3 out of 4 castcodeurs were present at the event. For once it was Guillaume Laforge missing and not me! Emmanuel Bernard and I had a good talk with Didier Girard about how we could increase our castcodeurs podcast audience from the current 1500 recurrent auditors to more. Didier had some great ideas and he came back to us today with a full page list of new ideas he's had while sleeping overnight on it! (Remember that he probably went to bed around 3 or 4 in the morning so that's a major feat!)
- I was surprised to meet someone who's been knowing my name for a while but whom I had never met… Bernard Pons has been working at Societe Generale on the Progeliance Net code I wrote back in 1999 (you read it right, this is old! And it's still in production!). He had seen my name in @author tags all around the code… And he made me remember things I wish I had not written at the time… like stealing the Comparator interface written by Joshua Bloch and copying it into the codebase, removing his name and putting "@author vincent massol" instead… (remember it was JDK 1.1 or 1.2 and there was no Collections APIs in the JDK at the time). Did I really do that? :)
- Met with Emmanuel Huggonet, leader of the Alps JUG who's kindly invited me to talk in October (I'll be stopping by at the Lyon JUG for a talk there too - Thanks Cédric).
- Was happy to see my friend Benjamin Mestrallet back from the states. Ludovic Dubost and I talked to Benjamin about the XWiki Business Model and interesting ideas emerged...
Dec 16 2009
XWiki in 2009
Releases in 2009
The XWiki dev team has released 58 versions in total for XWiki Enterprise, XWiki Enterprise Manager, XWiki Office and XWiki Eclipse. Not bad hey! More than 1 release per week as average. Here are the details:
XWiki Enterprise Features in 2009
Here's a list of major features developed in 2009 for XWiki Enterprise:- WYSIWYG editor based on GWT
- Skin (Colibri) + complete action menus overhaul
- Color themes for easily customizing colors
- Rendering engine, allowing Polyglotism
- More powerful wiki syntax (XWiki Syntax 2.0)
- Dashboard
- Livetables allowing filtering, searching, sorting of data extracted from wiki pages in real time
- Lots of UI improvements, among which:
- Document footer overhaul
- Jump to page
- AJAX save
- Full screen editing
- Threaded comments
- Class/Object editor overhaul
- Multiple attachment support
- Performance improvements (greater than 30% speed improvements)
- Office Importer (Word, Powerpoint, Excel, Open Office)
- REST API
- Blog Application rewrite
- Watchlist improvements (scalability, support for wiki farms, improved email format)
- Lots of new Macros and Applications available on the Code Zone
- Introduction of Wiki Macros to develop macros directly inside wiki pages (and have them available from the WYSIWYG editor)
- Support for more scripting languages (in addition to Groovy which has been supported since the beginning): Ruby, Python, PHP
- Professional PDF export
- Clustering and Distributed events
Downloads in 2009
Downloads have kept increasing from the past year (almost doubled).
Mailing list Activity in 2009
The mailing lists have continued to see their activity increase, which means more users and more developers/contributors. Here's the figure of emails posted on the XWiki lists (each value is per month):
Note that this screenshot was taken on the 16th of December 2009 which explains why the last month has a low number of emails.
Active Committers and Contributors in 2009
We have 14 active committers, amongst which a good portion committing daily.
One area of improvement for 2010 is to redesign xwiki.org to make it more attractive and to value more people's contributions, and make people be more active on it, especially in the area of contributing macros, applications, code snippets, etc.
So far we have on Code Zone:
- 84 code snippets available
- 81 macros available
- 30 plugins available
- 50 applications available







