User:NicoT

From Meta, a Wikimedia project coordination wiki

Nicolas Toper[edit]

Who I am[edit]

I am hopefully a future participant in the Google Summer of Code project. I live in Paris, and work for a software editor selling solutions aimed to the multimedia mobile market.

What I do here[edit]

  • I intend to participate in the Google Summer of Code project in the client API project (as defined here Summer_of_Code_2006) started by User:Yurik through his query.php project. The plan is use the Google SOC opportunity to extend it, document it and write a small useful proof of concept application.
  • I will define here the requirements and the deliverables of the project so you can comment and edit them if necessary.

What I do in real life[edit]

  • What is life?
  • I am a project manager, working for carriers and web companies.

Contact information[edit]

Client API Requirements[edit]

  • I believe the client API project is important to the Wikipedia future. As a student, I will work more intensively on the project than volunteers (for free time reasons). I am really motivated by this project (I need this API, I love Wikipedia, I know how to develop and test external API).
  • This project has a huge potential. It can turn Wikipedia into the next "platform" level. It will help deliver Wikipedia to places we would never have thought of. It can make new people involved in the process. What does matter is the community and the content. Not the interface (whether Web, Wap, a book,...).
  • I would like to actually create two different API (the underlying code would be the same): one using HTTP (a REST API) for high performance and one using Web Services (for ease of use). This is what Google, Amazon, FlickR did.
  • The API would have two instances: one for internal use (bots for instance) and one for external use. This way we can better control the load on the system.
  • API will allow the same functionalities as the Web interface => put content, get content, watch, search histories, move,... And some machine-specific activities such as extract links, compare different versions, get only a portion of the page, get only (or not at all) multimedia content.
  • For authentication, instead of using a key (this is what FlickR does) we will simply use the accounts provided by the Wikipedia web interface.
  • A lot of output format will be available from RSS to PHP. They are easy to add and will ease life of developers.
  • The whole project will be fully documented with a working proof of concept application.
  • To protect ourselves against DoS, a cost algorithm will be implemented. Each client will use the same "DB load" without requiring any external implementation (token management will be strictly internal). Internal applications will have more or less tokens depending on their importance.