I’ve wished for years that someone would come up with a “software-defined lens”:http://theludwigs.com/2003/07/camera-as-a-data-gathering-device/. A surface that would capture all inbound photons and let me decide later about focus, depth of field, etc.
It looks like “Lytro”:http://www.lytro.com/ has done it or something on the way towards it. Hope it is reality! Put my name down for one.