Ivan Frade


Currently on Helsinki, Finland


  • M.S., Computer Science, University of Oviedo, Spain, 2006. (Last year working full-time)
    Master Thesis: “Selection techniques of concepts in ontologies”
  • B.S., Computer Science, University of Oviedo, Spain, 2003. (Working part-time)

Work Experience

2007 – present. Nokia, Maemo/Meego, CTO, Senior software engineer

Meego 1.2 Harmattan, N950/N9: Tracker 0.7-0.10, optimized triplet store
  • As lead developer and architect, introduced the concept of a central store for user metadata in the platform, bringing the information from the application silos to a shared space. Based on the semantic web ideas and technologies like Graphs, RDF, ontologies and Sparql.
  • Translated the concept into reality working on the practical issues related with performance, i18n, mass-storage handling, reliability, APIs with applications, …
  • Collaborated with other teams so Tracker is now the main backend for multiple applications: Contacts, Messaging, Gallery, Feeds, Music and Video players… and enables new use cases like global search or global tagging of content.
  • Wrote a wide set of functional tests (python, unittest) to run on Desktop/scratchbox/device ensuring safe releases
  • Maintainer of the ontologies (data schemas) in the project

Code in upstream repository

Maemo5, N900: Tracker 0.6, metadata indexer of multimedia content
  • As lead developer, refactor step by step of whole Tracker code base (upstream open source project) for maintenance, performance and extensibility. Code on GObject, C and usual GNOME technologies (autotools, DBus, glib, …).
  • Collaborated with the Image viewer and Media player teams to make Tracker the backend used to find the relevant files on the device. Custom Query language (XML based) and DBus interfaces.
  • Involved in the whole life cycle of a product (N900) ironing out all details to get product quality code.
  • Extensive work on metadata extraction (multiple libraries) and database performance (sqlite)
  • Worked with a internationally distributed team, via IRC/Bugzilla/hackfests

Code in upstream repository

Throughout Nokia experience
  • Continuous interaction with open source community via mailing lists, bugzillas and public repositories. Archives of tracker mailing list
  • Two Nokia internal recognitions for the work on Tracker.

2007/05 – 2007/10. CSC, Software developer.

Zurich Financial Services project
  • Wrote a web frontend in Java with Beehive FW (based on JSP and struts…) to create investment quotes. Following a SOA paradigm, the backend was accessible via Web Services, all running in the BEA flavour of J2EE technologies. Private project, no source code publicly available.

2005 – 2007 CTIC Foundation. Semantic Web researcher.

Mixed public/private foundation acting as technology center that transfers the latest research technologies into practical uses for the regional companies in the IT sector.

Esperteyu: Semantic search engine for legal documents

Project sponsored by regional government to help users without legal background to find relevant documents in the local legislation.

  • Implemented the syntactical search backend of this engine, based on Lucene (Java) including unit testing (jUnit) and spanish-specific filters for the documents. Got familiar with the basics of indexing and document processing.
  • The evaluation of different algorithms to locate the right concept under common typographic mistakes in Spanish was reused and extended for my master thesis.

Personal Projects

  • Mussorgsky: Album Art downloader and metadata editor for music files for Maemo5. Written in python with pyGTK, mutagen, gstreamer and urllib. Source code available in gitorious, packages available in maemo-extras with moderate activity from users.
  • tracker-distutils: Scripts needed for third party to register new types into tracker 0.6 on installation time. Mostly bash and SQL.
  • Active member in GNOME community: Performance patch in totem-pl-parser, involvement in python-hildon bindings (reporting bugs and submitting simple patches), assistant to Zeitgeist hackfest between others. Member of GNOME foundation.



  • Guademy Valencia, Spain. “Metadata management in desktop”. GNOME/KDE joint conference to address cross-desktop issues


  • Desktop Summit Gran Canaria, Spain (*) “Tracker: metadata central storage for the desktop”. Joint conf. of GUADEC (GNOME Users and Developers Conference) and Akademy (KDE conference).
  • Maemo summit Amsterdam, Holland (*) . “Tracker: Dial M for metadata”. Maemo specific conference.
  • Encuentro linux Valparaiso, Chile . Linux promotion conference, sponsored by GNOME foundation.


  • University of Helsinki (*) . Introduction to students of the work around Tracker.
  • Meego summit Dublin, Ireland (*) . “Content FW in M minutes”. Introduction to the blocks of our API in Meego.


(*) slides are available in http://live.gnome.org/Tracker/Documentation/Presentations

Attended without talks also to GUADEC (GNOME Users and Developers Conference) in years 2006, 2008 and 2010, Maemo summit 2008,


2008, “Cooking HTTP content negotiation with Vapour”, D. Berrueta, S. Fernandez, I. Frade, Workshop on Scripting for the semantic web.


Native spanish speaker.