Wiki Home » On software quality, collaborative development, wikis and Open Source...

On software quality, collaborative development, wikis and Open Source...

Last modified by Vincent Massol on 2010/12/22 14:19
Comments (0) · Annotations (0)

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! emoticon_smile

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... emoticon_smile

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

snowcamp.jpg

I was lucky to have Emmanuel Bernard as a private Git coach emoticon_wink He's a good teacher who makes you learn fast. Just try to make a mistake and you'll see what happens... emoticon_wink 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) .... emoticon_smile 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! emoticon_wink

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

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 emoticon_smile

Committers

This year we've had 23 committers

committers-2010.png

  • 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:

contributors-ohloh-2010.png

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.

Commits

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:

commits-ohloh-2010.png

Top Committers

Top committers for 2010:

CommitterNumber 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:

activity-commit-2010.png

Mailing List Activity

Data extracted from Markmail.

mailinglist-2010.png

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.

JIRA Issues Fixed

Lines of Code

Here are some stats from Ohloh showing how the code base has evolved over time:

loc-ohloh-2010.png

Sep 06 2010

USI 2010

I was very excited to attend the third edition of USI (the conference organised by OCTO Technology). The first year was awesome with guest speakers such as Michel Serres, Neil Armstrong, Eliyahu Goldratt (physicist and father of the theory of constraints) and a lot more. I was honored to present a talk on XWiki that year. The second year was no less exceptional with other wonderful speakers such as Joël de Rosnay, Albert Jacquard, Daniel Cohen and a wonderful jazzman named Eric Lewis. That time I did a session with Tugdual Grall from eXo Platform on Wiki vs CMS.

So it was with trepidation that I was waiting for this third edition. And I wasn't disappointed! The new venue in the Bois de Boulogne was great with excellent food and a chic setting. I did a live podcast recording with the other CastCodeurs (Emmanuel and Guillaume since Antonio decided to go biking instead, shame on him :)). It was our first live recording so I guess we have things to fine tune for the future but it was good and the room was packed. Thanks everyone for showing up. I attended several excellent talks, starting with Chris Anderson (author of the Long Tail concept which I've reused at XWiki to explain how XWiki is a second generation wiki). Chris spoke about the economy of Free and how it changes the game (I recommend his book).

However the best talk for me was without question the one from Juan Enriquez. Juan was part of the team that sequenced the Human Genome and more recently he participated in creating the first artificial life. They were able to take an existing cell, remove all its nuclear material (DNA, etc) and inject some DNA constructed from a computer program. Once the cell was booted with this code, it started executing it, producing proteins as defined in the new DNA! At some point, Juan looked at the audience, filled with developers, and told us that we were the future, that we were going to be the kings of the future since we have the knowledge required. He said that his team had opened up a new playground for us, basically transforming a domain that was that of biology to information technology. Imagine the possibilities that this opens up! It's mindblowing. I think we also got out of this session completely jazzed up, full of energy, thinking about this potential future that we're not fully grasping yet. Personally this was a strong moment for me since I've always secretly dreamed of going back to the school benches to learn bioinformatic. I've never followed up on that dream but it tempts me even more now. I wish I could summon the courage to jump in the rabbit hole one day! :)

All in all, a great conference as usual where I was again happy to meet all the usual suspects: all my friends from OCTO and my open source friends. The conference ended with Fabrice Luchini, reading some extracts from Murray from his Theatre show and dazzling us with his verbal flow!

Mar 18 2010

Developing Situational Applications in XWiki

Yesterday I have presented "Developing Situational Applications in XWiki" at Solutions Linux 2010. The goal of the talk was to explain how second generation wikis such as XWiki allow you to develop Situational Applications.

Here are my slides:

The demo was live and thus you cannot see it in the slides unfortunately. Here's what I demoed:

  • 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

I was at the Paris JUG second anniversary yesterday where I presented "XWiki.org vs XWiki.com". This 15 minute talk was about the relationship that can exist between an open source project and a company behind that open source project. How to keep the company "honest" so that it doesn't do "evil" but still function as a company, i.e. make money and grow.

The event was great and here are some of the salient point I took out from it:

  • 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...
+ met and discussed with the numerous fellow OSSGTP-ers whom I was happy to see, as always.

All in all, it was great and I had a wonderful time. I don't regret having had to come out of my cave in Chantilly to go to Paris… ;)

See you next year for the 3 years!

Dec 16 2009

XWiki in 2009

The end of the year 2009 is getting close and it's time to look back at what the XWiki open source project has achieved during this year.

2009 has been a tremendous year for the XWiki project, establishing XWiki as one of the best enterprise wiki (if not the best, but I'll let you be the judge on that ;)). I'm eager to see what 2010 will yield.

I'd like to take the opportunity to congratulate all the XWiki committers and all the XWiki contributors and users who've made this possible. Thanks everyone!

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:

releases-2009.png

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
I'm pretty sure I've forgotten a lot of new features but there are just too many to list them all.

Downloads in 2009

Downloads have kept increasing from the past year (almost doubled).

downloads-2009.png

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):

mailinglists-2009.png

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.

committers-2009.png

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
I wish you all a very good Christmas season and a very good new year with lots of good wishes for improving XWiki in 2010.
Tags:
Created by Admin on 2005/01/28 15:50

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 3.5-NODE1 - Documentation