École Centrale Nantes & OpenOffice.org Education Project featuring: «The Eraser»
The project OOo and the Education Project Our project itself How it works? The results of the project The future for OOo Conclusion 2
OOo and Educoo...
The OpenOffice.org Project, is... A Community Project, Itself organized in (a lot of) projects
Types of Projects There are 3 project types in OpenOffice.org organization Accepted : code development (API, modules), Marketing, QA,... Incubator : new experimental projects: Education, Extensions Native lang : native lang communities
Role of the «Incubators» projects Experiment Validate a new need Innovate and make the OpenOffice.org Project progress
Education Project is an incubator and INTERNATIONAL project type
The goals of the Education Project? This is a young project, Belonging to OpenOffice.org with the main goal to create a bridge between Educational World and OpenOffice.org
' Who ' is the Education Project? Approximatively 100 members, Students, developers (mostly) From all countries All participate to OpenOffice.org
The 3 main objectives of the Education Project : Create a network of teachers using OpenOffice.org Provide a space for exchanging pedagogical contents, under free file formats Teach, provide young (core-)developers to write code for OpenOffice.org
Back to the 3 rd Objective : provide new developers Idea : Associate : theory (The teachers) The know how (professional developers) The actors (students, profs, and so on) Mentors (OpenOffice.org Project developers) The needs (features for OpenOffice.org)
Already started actions Online Courses «ClassRooms» Projects with engineers schools students, and shools contributions
ClassRooms Online Courses ( IRC ) See: http://wiki.services.openoffice.org/wiki/education_
Education Project Effort Mentored projects with active participation of the schools http://wiki.services.openoffice.org/wiki/education_project/
Schools who joined the project Epitech/Epita (Paris, France) École Centrale Nantes (Nantes, France UTBM (Sévenans, France) Seneca College (Toronto Canada)
Examples Mozilla 1.7.5 Seamonkey 1.1.14 migration (Pierre Pasteau / Epitech Paris ) QA in progress, will be integrated Developers who contributed : Frank Schönheit (Sun MicroSystems), Eric Bachard (unaffiliated)
Examples Aude Quintana, Olivier Girardot (École Centrale Nantes): implementation of the eraser features, with Tablet PC and Impress. Code review in progress. Developers who contributed : Thorsten Behrens (Novell) Managed by Morgan Magnin, for Ecole Centrale Nantes
Examples Frédéric Gelot, Pierre-Jean Parot (École Centrale Nantes): annotations implementation with Tablet PC and Impress Developers who contributed : Thorsten Behrens (Novell) Managed by Morgan Magnin, for ECN
Other example : Seneca College, Toronto Professor : Fardad Soleimanloo (4 projects started, expected for Summer 09) All other proposed subjects : http://wiki.services.openoffice.org/wiki/education_project/effo
Scheduled Project: july to december 2009 Thomas Fontenay, Abdelkader Bellabes ( Epitech Paris ) : performance improvement of OOo4Kids on powerless machines (include backport to OpenOffice.org for the most interesting solutions), profiling, User Interface Improvement Developers : Pierre Pasteau, Eric Bachard Managed by Julien Ballet for Epitech Paris
(partial) Conclusions The creation of reliable relations with engineers schools from everywhere works well (promising!) This project only needs help.. We miss - developpers - sponsors - mainly money in fact (founding travel, hardware)
back to the feature...
Tablet Pc and Centrale The ECN was selected to take part into the HP contest : Technology For Teaching We chose to set up an OpenSource platform (Linux/Ubuntu) on these computers and improve the way it worked Improve how someone can annotate slides in OOo Impress during a slideshow
2 projects in one : «The Eraser» : To erase these annotations. «The Saving Machine» : To save them and restore them.
Objectives and Specifications Be able to completely erase screen annotations; Erase some parts manually at the following sizes: Little Medium Big
OpenOffice.org C++ core; 8.36 Go of data once everything compiled ; 9,000,000 lines code ; Has it's own system of : extensions : UNO (Universal Network Object) : to be able to contribute in Java/Python...
How things work
Implementation and Concept First part : Persistence and Full Erasing
Erasing Implementation Erase, means : Problem : For one pixel, redraw it at its original color before the annotation; For a slide, redraw it entirely; Erasing requires to have a copy of the original image before to proceed the modification;
Where is the bitmap?
Implementation and Concept Second part : Partial deleting
Notion of Clipping Allows to define the part of the bitmap to be redrawn, means : Partial erasing ; Optimisation ; Eraser size management; Add parameters to the User Interface for modifying the eraser size.
The bug with transformation
Resolution With Thorsten Behrens's help, regarding the right coordinates transformation to perform
Manage conflicts between projects The Saving Machine aims to assume annotation persistence... while The Eraser has the objective of erasing annotations; Means : conflicts to solve
Maintainability guaranteed CWS creation (Child WorkSpace) Strong collaboration, code review and validation by Eric Bachard and Thorsten Behrens Follow-up of the OOo specification process
Possible Optimisations Draw the polygons in a separate layer ; Improve the interaction between storage and erasing ;
Conclusion Collaboration with a big scaled FOSS Project Understanding of the existing code ; Insertion in the community ; Precise specifications writing ; Real answer to a real demand;
Conclusion Perspectives : Upstream integration in a future release Possible improvements ; Communication about the project ;
Thanks! Questions?
Auteurs : Olivier Girardot (ssaboum@gmail.com), Eric Bachard (eric.bachard@free.fr) www.educoo.org 2009 Document sous licence libre http://creativecommons.org/licenses/by-sa/3.0/deed.fr