nux: A graphics engine used for visual effects such as glow, shadows,
and animation for the Unity 7 desktop. My tasks involved writing GLSL
shaders, porting them to ARB assembly (we needed to support all kinds
of old machines at the time), and contributing to other tasks (for example
switching from absolute positioning to using relative corrdinates).
mir: A window system. I've worked on adding a mir display that would run
in parallel with X11. It was a first step towards implementing mir nested in x11.
unity: A gtk-based desktop environment that was used in Ubuntu. I've been contributing
to supporting different resolutions for multiple monitors and HiDPI screens,
to the Unity7 low graphics mode version of the desktop environment (a mode
where visual effects could be configured to increase performance,
and new options for moving windows were available)
compiz: The compositing window manager of the Unity7 desktop. I've implemented new features, such as shadows for shaped windows,
effects and features for Unity7 low graphics mode (this feature required changes
in both Compiz and Unity), I've fixed some existing visual effects from plugins (eg: 3D windows),
and other rendering bugs.
ui tools: I've also contributed to desktop applications such as configuration tools for Compiz and the Unity 7 desktop.
early ubuntu phone: During my very first months at Canonical the nux-based Ubuntu desktop
had been ported in a hybrid Linux/Android mobile phone. Because of that, all our code had to
be cross-platform to run on the phone. This project was abandoned quickly because it was decided
that the Ubuntu desktop for pc and mobile was going to be written in Qt and QML (Unity 8 project).
Unity 7 had a plugin option in ccsm called "Low Graphics Mode" since a long time ago, but we needed an improved system wide Low Graphics Mode that would
allow us disable visual effects that were "expensive" or configure parameters used in each effect that would affect the rendering performance, and to enable new
features that would speed up the rendering (for example moving the frames of the windows instead of the whole content at move, resize etc):