Jump to: navigation, search
C. Scott Ananian
C. Scott Ananian

I pick up stuff I find on the ground and make it work.

C. Scott Ananian is a software developer who was employed at OLPC in Cambridge, MA until January 2009. He then worked for litl, LLC for two years, and rejoined OLPC in March 2011 as Director, New Technologies. His home page is

Bio for conferences

C. Scott Ananian (2001 photo)

C. Scott Ananian is the Director, New Technologies for One Laptop per Child. He received his PhD in computer science from MIT, and before joining OLPC was a local activist and organizer for copyright issues. He organized Free Sklyarov Boston in July 2001, and in 2004 and 2005 was the lead programmer for the Election Incident Reporting System, which collected real-time data on elections across the US. He's a kernel hacker, advocate of voter verifiable elections, and part-time khipu researcher. Now he tries to build robust and reliable systems to allow kids to discover, share, and learn.

C. Scott Ananian es el Director de Nuevas Technologías de Una Laptop por Niño (OLPC). Recibió su Doctorado en Ciencias de la Computación del MIT, y antes de incorporarse a OLPC era un organizador local y activista de derechos de autor. Organizó el "Free Sklyarov Boston" en julio de 2001, y en 2004 y 2005 era el programador principal para el Election Incident Reporting System, que recogió datos en tiempo real sobre las elecciones en los EE.UU. Él es un hacker del kernel de Linux, defensor de las elecciones verificables por los votantes, y en parcialmente también investigador de khipus. Ahora se encuentra intentando construir sistemas robustos y confiables para permitir a los niños descubrir, compartir y aprender.

XO-3 goals

  • Bring the Sugar stack to the modern GTK3/gobject-introspection world.
  • Language-neutral Sugar APIs
  • First-class web-native applications in JavaScript
  • Mesh networking

Desiderata for 9.1.0

  • Better "legacy app" compatibility; this should allow us to run existing apps like firefox, pidgin, and gimp in a reasonable manner:
    • Replace matchbox window manager with XMonad, Metacity, awesome, etc. Should provide both 'full screen' mode and traditional 'tiled' mode.
    • Switch to standard startup notification mechanism: <trac>5271</trac>
    • Implement notifications mechanism for alerts (low battery, low disk space, available software update)
    • Refactor home/friends/mesh view as operations on root window, so they make sense in a multiwindow setup. (It's been suggested that looking at the xpenguins code is instructive for understanding how nautilus,etc arrange their root window.)
    • App launching & mimetypes via XDG mechanisms (thanks, erikg)
  • Improved antitheft mechanisms:
    • ECO fix and EC improvements
    • Security control panel, with "am I stolen" and lease renewal buttons: <trac>1502</trac>, <trac>6428</trac>
    • olpcrd work: <trac>7397</trac>
    • Revoke root capabilities when booted with security enabled: <trac>7562</trac>
  • Improved update mechanisms
    • Real COW for pristine versions, allowing... <trac>3581</trac>
    • ...binary-diff updates over http (avoiding rsync in many cases) <trac>4259</trac>, etc
    • Integration of core OS updates with software update control panel: <trac>7618</trac>
    • Integration of software updates with notification system
    • Incremental updates of activity bundles (only changed files)
    • Send back statistical data when checking for updates (batmon, etc) <trac>4594</trac>, <trac>6447</trac>
  • Security/isolation work
    • Implementation of P_SF_CORE, P_SF_RUN
    • Mechanism to validate updates to loopholed activities & allow user to manage exceptions
    • Persistent activity storage
    • NSS modules for rainbow users and for olpc/root users
    • Rainbow
  • Journal improvements
    • Proper display of 'new versions' of activities
    • Tagging system to allow folder-like management for advanced users
    • Datastore rework
    • Direct execution of activities from datastore (avoid installation step) <trac>7713</trac>
    • Ability to have multiple versions of an activity installed concurrently. (API work necessary: <trac>7713</trac>)
  • Translation improvements
    • "multiple languages, multiple places": translation system should look in local, then activity, then system translation tables, then repeat for each in a set of fallback languages (eg, quechua, spanish, english)
    • separable translation packs
    • "click-to-translate": wiki-like editing of translatable labels in the UI
  • "Asynchronous internet"
    • Integration of wwwoffle with small local cache
    • Content bundles to seed that cache
    • Mechanism to request downloads later
  • Library improvements
    • The current API is a mess, doesn't match the documentation on the wiki, is inconsistent with the format, etc.
    • Merging content and activities -- a bundle ought to be able to have *both* a *and* an
    • Using a content format which is consistent with "offline internet" content -- more or less consider installing content files as pushing stuff into an offline cache
    • Dynamic generation of the top-level "home" page so we don't need to run the indexer after installing content bundles.
  • Fedora integration
    • tools to manage forked packages better. To start with: a notification tool to let us know if a new upstream release has occurred for a package we have forked.
  • Printing support
    • Print postscript (or pdf, or whatever, just pick *one*) to school server via CUP (IPP?), and install a "decent selection" of printer drivers on the school server. Control panel for 'default printer name', fixed to 'XS' by default.
    • Add basic printing support to Write, Read, and Browse; set PRINTER env variable.
    • for future, add support to Paint, Record, etc.

Note for translate

Great icons for 'translate this' here: