Paul Truong (AKA Monocubed)

I'm a Creative Technologist at Google and like to create things with equal parts design & code.

The more I learn from these disciplines, the more I appreciate how similar their processes are.

More importantly, I've come to realise that the most significant results are cultivated in the space where these two meet.

This blog delves into this concept.

Elsewhere, you'll find me chirping on twitter, snapping on Instagram (currently viewable via tumblr and flickr) and uploading work-in-progress on dribbble to name a few destinations.

I also speak occasionally on subjects related to the modern browser - for enquiries please email


Native drag & drop combined with FileReader() makes it really easy to develop apps which support drag & drop of files from a user’s desktop. This app accepts image files and converts the pixels into floating 3D cubes. Each pixel/cube has a luminosity which is calculated by weighing various fractions of the RGB value ~ in exactly the same way achieved in this Air/Flash app and this version using the webcam). The x and y properties of each cube are directly translated from the location of the original pixel and luma is applied to the z axis for depth ~ a luminosity height map in effect. Device orientation has been employed (please use the latest build of Chromium if you want to experience this) as an alternative(fun) way to view the model. Thanks to the work done on Three.js by the talented @MrDoob. Font as usual has been provided by the Google Font Directory.
Browse all Lab works