Introducing myself

My name is Valentín Barros Puertas and I'm Spanish. I'm 25 years old and I study Degree in Computer Engineering in Santiago de Compostela. I've also worked as a freelance developer and I've studying (self-taught) programing and other computer-related stuff since I was 16. My e-mail is valentin@sanva.net, my IRC nick is Sanva and here it is my blog —in both Spanish and English.

My principal programing language is PHP, but I'm also comfortable with C, Vala, Java and some others. I know a bit of GTK+ (using it from C, Python and Vala) and I've also played with Cairo and Clutter —but I've never done anything big with those. The most representative work I have is my previous Google Summer of Code participation in Shotwell.


This project consists in adding positional tags to F-Spot to offer the posibility of not only tagging entire photos, but also tagging people faces in them. This simple idea would grow up by adding face detection with Intel's OpenCV, to make even easier, more comfortable and faster the repetitive task of adding people tags to tens of photos —this last could also be a stepping stone toward automatic face recognition in F-Spot.


I think that this feature would benefit F-Spot (and thus GNOME) because it is a feature that a lot of people are asking for, and also it is present in some privative applications, so if there are people stuck on that non-free applications because of this, they may move.

Proposal timeline

May 28 (maybe sooner if I can) - June 16 [⌚ Community bonding period]

  • Get used to C# coding and Mono specific things.
  • Reading F-Spot documentation and get into it's codebase.

June 17 - June 30

  • F-Spot tagging system modifications —it must support all needed by positional tags.
  • Database modifications —it must support all the data the positional tags will need.

July 1 - July 21

  • UI features: Implement the posibility to add, modify —move, resize or change name— and delete tags.

July 22 - July 28

July 29 - August 8

  • ⌚ Mid-term evaluations: By this time I should be able to show F-Spot with positional tags.
  • ✈ I'll try to attend GUADEC 2013 at Brno, Czech Republic.

August 12 - August 25

  • Keyboard control: The application must be able to jump between autodetected faces using tab key, like when filling forms.
  • Name autocompletion: When you are writting the name of a friend, the app must offer you suggestions based in the previous introduced names.

August 26 - September 8

  • Time to rigorous testing and bug fixes.
  • If I have enought time, I'll try to implement some face recognition functionality.

→ A Buffer of two weeks has been kept for any unpredictable delay.


The deliverables would be the implemented code and documentation.

Past experiences in Open Source World

From years I'm using (almost) only free software for my developments, and of course the most significant experience in Open Source World was my participation in GSoC 2011 and 2012 coding the first and second sets of functionality for Shotwell's Faces tool.

You can read reports explaining my work during GSoC 2011 in a weekly basis in Shotwell's mailing list:

  1. Weekly Report 01
  2. Weekly Report 02
  3. Weekly Report 03
  4. Weekly Report 04
  5. Weekly Report 05
  6. Weekly Report 06
  7. Weekly Report 07
  8. Weekly Report 08
  9. Weekly Report 09
  10. Weekly Report 10
  11. Weekly Report 11
  12. Weekly Report 12

All of them have a link to a Spanish translation in my blog, where you can also find the weekly reports I've done during GSoC 2012.

Sample of corrected bug

You can see my activity in Shotwell's Redmine → Valentín Barros Redmine activity

Some fixed bugs: