I've decided to monthly write a post on my experience as a mentor during this Google Summer of Code.
This year I posted two ideas on the gvSIG Mini ideas page
. The point is to make gvSIG Mini a vector data viewer
of standard vector formats (GPX, KML, GML) and of non standard services that provide geo-located data such as Flickr, Foursquare, etc. Having such functionality, gvSIG Mini will become a map viewer of different sources (OSM, TMS, WMS, WMS-c) but also a vector viewer of many other sources. Of course any student could propose his own idea
The application stage, was in my opinion successful: Five studentes applied
for gvSIG Mini and I decided willing to mentor 4 of them (one not because he simply copy-paste my idea into his application form). The decision of the selected students was made by the gvSIG's board, that finally selected 2 students
and both of them had a free slot to participate in the GSoC under the OSGeo umbrella.
The communty bounding period
The GSoC starts with a period where the students, can start to know the project and the community. They can introduce themselves, read documentation, plan his summer, know their mentors, etc.
During this period I proposed "my students" to introduce themselves to the community and to stay in touch with it during the summer.
Also we talk about the goals of this summer. gvSIG Mini is a great project to work for
if you are a student because is not a huge project like others, this is not gvSIG Desktop or Drupal or whatever gigantic project. Either this is not a very complicated project, this is not the Linux Kernel :P. But in the other hand it fills all the requisites for a GSoC project. It's a free software project, with a community behind, actively maintained and very atractive for mobile developers.
So having this said, my idea for the GSoC is not to have a lot of work done (of course they'll have to code hard :P) but to have "usable" work done
. I mean I want code that can be integrated into gvSIG Mini with less effort. I told this to them because I know how frustrating is to write code that is not integrated in a software, or used by no one, instead of that, to write code that can be used by thousand of users will suppose an extra of motivation.
Finally at the end of this period I had a meeting with each of them to discuss the scope of their projects
. I gave them the big picture, drawing some component diagrams and thinking in use cases. I decided to make a Kanban table
for each project, I divided the work in small tasks of 1/2 days that could be affordable by them; each task is analyzed by me, developed by them and finally validated by me and finished.
Of course I encouraged them to use the wiki
and the SVN, so I can take a look to their progress remotely. To ask any problem to me (by Skype or mail) or to the mailing lists. And we agree to have a weekly meeting
to review their progress.
First coding month
The first coding month is being quite different for both students.
While one of them is having a great time
: He's writing usable code (even by gvSIG Desktop), he's having problems and asking to me and to the developers list, he's carrying out all the tasks at the time and getting involved too fast into the project. He's "giving me a lot of work" but that's great and he feels motivated.
The other is having too many problems
: delayed tasks, no code at the SVN, weekly meetings also delayed. And that's, in my opinion, due to the lack of time and programming skills. This week I've encouraged him to ask doubts and finish some of the initial (trivial) tasks on the Kanban. I've also reduced his amount of work and clearly defined the scope of his project to give him an extra of motivation.
Well, it's a month left to the mid-term evaluation and I will love to pass both of the students, that will mean that they are doing a great job and gvSIG Mini is growing. Let's see what happens :)