image

Ubuntu - Camera App

I am very much into photography, so designing the camera app was great fun. I wanted to create a clean, highly usable camera experience, without clogging the view with too many options. The main viewfinder has options to switch between front and back camera, to switch between video and still modes, and to start recording or take a shot. The rest of the controls are accessed by swiping the bottom edge, which blurs the view and shows the settings.

Filters

We are currently adding filters using Halide which is a highly performant programming language specifically for image processing. A specific problem I am interested is handling high contrast situations more like our eyes and brain see them. Our eyes have very high dynamic range. With digital cameras, you oftoen have situations where you have a bright background (say a sunset) and you expose for that, everything else is often way too dark. Or if you expose for the bright part, you burn the highlights.

There are ways to handle this and compress the dynamic range down to 8bit displays (which most current display panels are). This can be achieved with certain types of tonemapping algorithms from raw images, and migrating to Android Camera API 2 should give us access to that on supported hardware.