Nicolas Roard
Staff Software Engineer


Google, inc. (since April 2007)

Google Robotics - since november 2013 - Telemetry Tech Lead
  • Created generic telemetry solution (high data acquisition rate, distributed network discovery, etc.)
    • Time series + computational expressions
    • 2D graphs, 2D Images
    • 3D Visualiser (meshes, URDF, images, poses, etc.)
    • Record / Replay of acquired data
    • Client-side Parameters UI
  • Robots Simulation tools
Android Photo Editor Tech Lead - 2012/2013
  • Shipped Android JellyBean MR1 / MR2, KitKat
  • Wrote a new photo editor with non-destructive edits for JB MR1
    • supports full-resolution image processing, non-destructive edits
    • new color filters, procedural borders
    • various tools ranging from basic (contrast, saturation, sharpness) to advanced (3 channels curves tool, integration with Photo Sphere, Tiny Planet effect).
  • Improved the photo editor for MR2 and KitKat (see this post and this video for more details)
    • pinch to zoom support (1:1 zoom, see video 1 and video 2 on a 25Mp image)
    • better progressive rendering (multiple parallel pipelines)
    • full size processing (e.g processing a 278Mp image on a Nexus 7 2nd gen)
    • refined tools (vignette, saturation, crop/straighten), additional tools (graduated filters, draw finally reenabled)
    • user presets, compare tool, exposing non-destructive re-edits of images in Gallery
  • Shipped New photo editor for Android G+ app releases (April-June 2013)
  • Developers' outreach: Image processing talk at Devoxx 2013
Android Browser - 2011/2012 - webview Tech Lead
  • Shipped Android ICS MR0, MR1, JellyBean MR1
  • Webview's Hardware-Accelerated rendering
    • Unified tiles-based rendering for composited layers and base surface
    • Image layer optimized codepath (particularly useful for maps, gmail, netflix, etc.)
    • Fallback mode (single surface when facing memory pressure)
    • New recording context bypassing skia: multithread rasterization, introspection, etc.
    • R-Tree implementation for the recording context -- more scalable, faster rasterization
  • Developers' outreach: Webview talks in Devoxx France 2012, GoogleIO 2012
Android Browser - 2008/2011
  • Shipped Android Donut, Eclair, Froyo, Gingerbread and Honeycomb
  • Implemented Webview's Hardware-Accelerated rendering (Honeycomb and later)
    • Tiles-based rendering for the base surface (100% to 1000% faster depending on the website, ~55fps constant)
    • Composited layers - supporting Overflow-scroll/IFrame scrolling, Fixed elements, inline plugins, inline video
    • CSS 3d transforms
  • Implementation of HTML5 in the Browser
    • HTML5 UI and Settings
    • HTML5 Audio & inline Video
    • CSS3 Animations
    • Fixed positioned elements
Mobile Gears - 2007/2009
  • Shipped Android 1.0 and Cupcake with Gears
  • Ported Gears on Android 1.0 (installer, shortcuts, UI, HttpRequest)
  • Ported Gears on Windows Mobile 5 and 6 (UI)
  • Tutorials, presentation of Gears to developpers
Lithium - 2007
  • Ported Webkit on Windows Mobile
  • Camera API prototype

Prior Work Experience
2004-2006 Teaching Assistant (part-time) University of Wales, Swansea, UK.
  • Lab classes / marking for CS-228 Operating Systems,
    CS-151/161/171 Introduction to Computing, CS-318 Cryptography and IT Security,
    CS-M18 IT Security: Theory and Practice, CS-307 Computer Graphics II,
    CS-M01 Distributed Programming with Java
2000-2003 Software Engineer (part-time) Witbe, France.
  • Conception of network measuring tools in C++ and Java
  • Development of network and graphics libraries in C++
1999-2000 Software Engineer (part-time) e-motive, France.
  • Creation and setup of a network measuring system (Unix)
  • Network programming, C++, Java, CGI (Perl and C++)
  • ASP/DCOM programming, visualization tools in Visual Basic.
Education
Ph.D., Computer Science, University of Wales, Swansea, UK, 2008.
M.Sc., Computer Science, University of Paris VI, France, 2003.
M.Eng., Networks and Engineering, Institut des Techniques d'Ingenieurs de l'Industrie,
Ecole Superieure d'Ingenieurs de Marseille, France, 2002.
B.Sc., Computer Science, Institut Universitaire de Technologie d'Aix en Provence, France, 1999.

Publications

Ph.D. Thesis

Journal Publications

  1. Ken Brodlie and John Brooke and Min Chen and David Chisnall and Ade Fewings and Chris Hugues and Nigel W. John and Mark W. Jones and Mark Riding and Nicolas Roard. Visual supercomputing: Technologies, application and challenges. In Computer Graphics Forum 24(2) p. 217-245, 2005.

Conference Publications (Refereed)

  1. K.W. Brodlie and J. Brooke and M. Chen and D. Chisnall and C. Hughes and N.W. John and M.W. Jones and M. Riding and N. Roard and M. Turner and J.D.Wood. Adaptive Infrastructure for Visual Computing. In Proceedings of Theory and Practice of Computer Graphics 2007, p. 147—156, 2007.
  2. Nicolas Roard and Mark W. Jones. Agents based visualization and strategies. In Proceedings of WSCG 2006 p. 63-70, 2006.
  3. Ken W. Brodlie and John M. Brooke and Min Chen and David Chisnall and Chris J. Hugues and Nigel W. John and Mark W. Jones and Mark Riding and Nicolas Roard and Martin J. Turner and Jason D. Wood. A Framework for Adaptive Visualization. In Poster Proceedings of IEEE Visualization 2006, 2006.
  4. Mark Riding and Jason D. Wood and Ken W. Brodlie and John M. Brooke and Min Chen and David Chisnall and Chris Hugues and Nigel W. John and Mark W. Jones and Nicolas Roard. e-viz: Towards an integrated framework for high performance visualization. In UK e-Science All Hands Meeting 2005 p. 1026-1032, 2005.

Misc. Publications

  1. Nicolas Roard. Creez un Serveur d’Application Web avec WebObjects. In Linux Magazine France (62), June 2004.
  2. Nicolas Roard and Serge Stinckwich. Compte-rendu de la conference ESUG 2004. In Linux Magazine France (64), Octobre 2004.
  3. Nicolas Roard and Serge Stinckwich. Interview de Dan Ingalls. In Linux Magazine France (64), Octobre 2004.
  4. Nicolas Roard and Fabien Vallon. NSDocument et NSDocumentController. In Linux Magazine France (53), september 2003.
  5. Nicolas Roard. Introduction au projet GNUstep. In Linux Magazine France (47), February 2003.
  6. Nicolas Roard and Fabien Vallon. Interview de Core Developers GNUstep. In Linux Magazine France (47), February 2003.
  7. Nicolas Roard and Fabien Vallon. Vos premiers pas en programmation GNUstep. In Linux Magazine France (49), april 2003.
  8. Nicolas Roard and Fabien Vallon. Gestion des preferences utilisateurs. In Linux Magazine France (52), July/August 2003.
  9. Nicolas Roard and Fabien Vallon. Le langage Objective-C. In Linux Magazine France (53), september 2003.

Talks

  1. Nicolas Roard. Efficient Image Processing on Android. In Devoxx 2013. Video, Slides
  2. Nicolas Roard. Android Webview. In Google IO 2012, June 2012. Video, Slides
  3. Nicolas Roard. Optimiser vos applications HTML pour Android. In Devoxx 2012, Paris, April 2012. Video
  4. Nicolas Roard. Étoilé & GNUstep History. In Étoilé Hackathon’09, Swansea University, May 2009. Video
  5. Nicolas Roard. WebApps. In Gregynog 2008, November 2008.
  6. Nicolas Roard. Literate Programming. In Google OpenSource Jam, May 2008.
  7. Nicolas Roard. Flow, State and Persistence. In No Grownups Seminar Series, May 2006.
  8. Nicolas Roard. Etoile Presentation. In Fosdem 2006, February 2006. Video
  9. Nicolas Roard. Introduction to the GNUstep Project. UKUUG Linux Conference, August 2005, Swansea.
  10. Nicolas Roard and David Chisnall. Making Computers Sucks Less. In No Grownups Seminar Series, May 2005.
  11. Nicolas Roard. GNUstep presentation. In Fosdem 2005, February 2005.
  12. Nicolas Roard. A Better GNUstep Help System. In Fosdem 2004, February 2004.
Interests