On photography


Ignoring the technical details, I believe photography is not a skill. It’s hard to say someone can be better doing photography than others if you consider the non-technical and the part of intrinsic value in photography. All photos, as long as exposed and composed as intended by the photographer, are as good as other photos.

The extrinsic value of photography, however, is to grab people’s attention through some sort of self-promotion from a directly or indirectly related event or concept to the subject. Photo editing apps mostly help improve the extrinsic value of photography by editing out parts that reduce the perceived chance of getting attention or enhancing parts that increase the perceived chance of getting more attention.

One the other hand, the intrinsic values of photography, namely self-satisfaction and self-acknowledgement, rarely need tools to reshape the level of deliberate attention; and there is rarely a need for the photographers who focus on the intrinsic need of photography to measure the attentions they could receive from their work and therefore they rarely solicit direct feedbacks. The interactions and feedbacks come from other domains of their lives, which trans-morph into their styles of photography. Such level of intimacy between their lives and their photography styles only allows the photographer to share their photos to a closed group of friends, or not to share at all.

When you think about great photographs that are considered thoughtful and meaningful, they are rarely produced by fulfilling extrinsic values. The most direct tool for creating such type of photography is the photographer’s own imagination but nothing else. Artificial tools that help such type of photography provide values in terms of reliability, safety, and security, but not the ability to manipulate photos.

The new marching generation of semi-pro photographers and prosumers are striking a balance between the extrinsic and intrinsic need of doing photography. They have the intrinsic need of porting their lives’ attitudes and perspectives into a tangible, visceral medium, at the same time they also enjoy getting attentions from the crowd. Tools for such group of photographer need to strike a balance between authenticity and manipulation, and should provide both the experience of inspiring an unique photo composition or exposure style, as well as giving insights to make the photos more popular .

The next generation, massively distributed tools in photography need to both provide the reliability and security needed by intrinsic purpose-driven photographers, as well as ways to assist and enhance extrinsic values of the photos. The combination of these two factors make the tool hard to design. I believe the most difficult part is to provide enough familiarity to the photographers, while being able to cater customized needs for each specific shot; all at the same time satisfy the reliability and security requirement so that the tool becomes a trustable, living coach that teaches the socially-likable kind of freedom of expression in photos.

On cameras

Screen Shot 2014-10-25 at 1.46.38 PM

Can you imagine a smartphone without a camera?

Bigger cameras, small cameras, film/digital cameras, all serve the same purpose of caching a moment of life into a consumable medium that serves some sort of human cognitive and social interest. It’s funny to think about the purposes of the “consumable” medium. I think it is either the process of making it, or delivering it or viewing it.

Camera #1: Think about a camera that only serves the purpose of making or capturing, and once the picture is captured, there is no way of delivering the image or viewing the image. Would such single-purpose camera serving a meaningful end?

Camera #2: Think about a camera that only serves the purpose of delivering the image, while no one is involved in taking the pictures or viewing the pictures. Would such single-purpose camera serving a meaningful end?

Camera #3: Think about a camera that only serves the purpose of viewing the image, while no one is involved in taking the pictures or delivering the pictures. Would such single-purpose camera serving a meaningful end?

if there is only three such options, I think most photographers would very much accept the first one. That #! camera has to be damn good at the process of making – like a full ritual of starting up the camera, focusing, zooming, touching the shutter, clicking the shutter, listening to the shutter, and so on.

Imagine what would Camera #2 feels like, it seems that such camera can not exist theoretically because if no one (a person or a machine) is viewing the pictures then it’s hard to verify the very existence of such camera. I’d call it the null camera.

Camera #3 is reasonable to people who just want to browse images and is the dominant form of what’s going on out there in THE internet. Camera #3 is also in one way or another human’s biological brain if the eye doesn’t exist (or maybe when it’s dreaming), or the biological eye if  the world we live in doesn’t really exist.

Practically right now, camera #1 still has to exist and content has to be created. If most cameras are shifting to type 3 and the world is becoming that way, I predict in the next few generations of smartphones, certain model will stop to carry cameras due to the very abundance of pictures created through camera #1s. And what you do in this case if you want a picture, I assume, is just shouting in the air “@#! take a picture of that”, anywhere, anytime, and your requested photo will just magically appear in your camera type #3s.

Productivity gain and cognitive load


Ever since I’ve got a faster bike in my backyard, a more powerful vacuum cleaner in my house, or a larger refrigerator in my room , my life all seem to feel a little busier. It might not actually be busier, it just feels so.

It’s not hard to see how technology enables people to do more in a time frame but also offers more opportunities and sometimes complexities to do more work.

Take facebook for example, this social networking productivity tool certainly saves me the time and energy to setup and maintain my social image or to seek and sustain relationships with other human beings, but the ease of such tool encourages me to do more and other variants of such activities – very much like the same as me doing more cleaning per week and being able to clean places I wasn’t able to do before once I bought the vacuum.

You could argue that it doesn’t harm to do more “work” and I still have the opportunity of not using facebook and just rely on less efficient communication protocols. In our days, who wants the tedious “work” of running into people’s house to say hello, getting intros offline,or sending postcards rather than saying something nice on their wall, which all might as well take me to the same level of acceptable relationship quality just as what facebook would offer?

Ironically, the productivity gain of using facebook or a vacuum cleaner implies a higher potential of life quality (more contacts frequency with friends, cleaner rooms) as perceived by most others and not only do these technology naturally lead to a higher expectation of life standard, the mass adoption of them makes it too difficult not to make comparison and judgement of your life quality versus the rest of us.

The productivity tools essentially shift the time and energy spent on tedious and less “interesting” work into opportunities to do tasks of higher cognitive demand, which might provide an edge ahead some sort of competition as information becomes more available and free, leaving the impression that given the same amount of time I spend on whatever, it just feels busier and more tiring due to the taxation to my cognitive controllers. I’ve always kept a pessimistic view of technology in the future and now I just conceptualized a new displacement argument of why this might be the case.

Journey as a service


This is a game review.

I played the game Journey (PS3 version, spoiler alert, full walkthrough here http://www.youtube.com/watch?v=bkL94nKSd2M) by accident while visiting a friend’s awesome house. It is a simple, musical, lyrical, cinematic, zen-like game where you control a small figure, without much real purpose or special skills, to just wander around the desert and figure out a path to a destination, which in this case happened to be the peak of a far away mountain. Through different stages of the journey, you meet other players one at a time, who can either decide to become a companion with you or just mind their own businesses and leave you. You can’t really communicate with them except leading or chasing them around, and that’s why most first timers would recognize those people as computer controlled players. At the final stages of the game, when the thunderstorms arrive, having a partner makes the journey much easier as you can form mutual support by releasing heat and spells to each other.

It took us ~ 2 hours to finish the game, and we started to have discussions around the meaning of it. There was the idea that the game is an obvious metaphor of life’s journey, where the player knows that a certain life goal exists (the peak of the mountain), but doesn’t know what exactly the goal looks like before getting there. The player is unaware of how to get there, and has little control over the exact paths and the challenges in the process. The player has the option of going back and explore other paths in the journey in each stage of the game, which extends the play time, or otherwise focus on just one path and finish the game faster and maybe easier. I believe that the dev team ran out of budget so that the degree of freedom for exploration is limited. However, the player can’t go back to previous stages in the game. I doubt such design is intentional due to technical or budget limit, but it renders a realization of a true life journey where people can’t go back in time. My friend disagreed on this, as he thought going back in time is an explicit instantiation of a rather abstract concept that people are capable of fulfilling dreams from the childhood, even thought they might have been lost along the way for many decades – I can’t really disagree on that.

The ending of the game, as one gets absorbed in a strike of light coming out of the peak of the mountain, brings the player back to the origin with a back-tracking animation showing the journey the player had been through. In other words, you just start to play it over again once you finish, but this time you’d most likely to choose a different path. This occurs to me as a design decision for the players to explore more options in the game, which also leads to my only complaint – I hoped there were other mountains maybe with diverse and potentially confusing goals, opportunities, and conflicting successes and failures. These would introduce another layer of education in the game for growing resilience and the growth mindset for the players, where I can’t think of any game that has gone thus far.

Space does(n’t) matter

Screen Shot 2013-12-02 at 10.37.20 AM* Photos from the camping experiment (all photos: http://dschooldormcamp.tumblr.com/)

I recently realized that there is such a thing called sensory map for cities. These maps record the smell, color, noise, and whatever sensory input signals relative to human experience and plot them on a 2-d surface. One particular impressive work is this map [1] that marks the best depth of fields you can find in Edinburgh. In other words, it tells you where you can see the farthest in terms of viewing distance in the city without leaving the ground. The biggest spot on that map would be the Hoover tower if you plot it for Stanford.

Such thought was routed to a group project I’ve been working – to redesign residential experience at Stanford. The team of three debated over new experiences and setups for dorms. We wanted to redefine the way of living on campus and ended up embracing the “nomadic dorm” idea, where students don’t need to live at the same place everyday; instead they can relocate and meet new dorm mates constantly. Unsurprisingly, we picked a livable location that gives the most depth of field we can find on campus, just to stretch out the concept of sensory amplification and see what it all means. That location happens to be Lake Lag in Stanford, and we were excited to see the students’ reactions. The rest of the logistics process pretty much resembled a standard camping + group activity event where we had to rent, pitch, and repackage tents, pads, and sleeping bags to offer a night of staying around the lake for 10 people.

Getting participants for such kind of things given three days of preparation at Stanford wasn’t easy (it’s actually extremely, extremely hard logistically) for us and we only had 6 people shown up. The result was still phenomenal. We did a self reflection session around the center of the lake, where people lay down on the ground, gazing the stars, sharing and talking about stress, happiness, and the their student life.

The extremely spacious dorm setup, the night view of the dried lake, the silence and darkness helped them think, speak, and locate themselves both physically and mentally. We were able to trigger some deep and comfortable conversations around self reflections and life goals. The students felt thankful, magical, calm, and happy.


I’m not sure how our setting is related to depth of field or just space in general yet, but it’s not difficult to see that a small tweak in life’s configurations can temporarily change the perspective of it a little bit. Here the spacial arrangement of “dorms” psychologically affected the students but doesn’t really matter practically.

Special thank to Rick Barber who helped me with all the logistics (moving tents back and forth) and thank d.school for reimbursing all the cost.

[1] http://www.sensorymaps.com/maps_cities/edi_see.html

Rapid frontend prototyping (coding)


Woohoo! This is my first blog post about coding.

I’ve participated lots of hacks and seen teams with various tech stacks. It has been usually the case that the teams I work with executed really well on the front-end coding progress and coding quality.I always receive questions about how to prototype front-end project quickly, how to make large front-end projects maintainable and at the same time provide a basis for fast iteration and development for something bigger later on. Through the years, I’ve developed my own opinionated philosophy for building front-end projects (as of Fall 2013):

0. Use third party modules.

1. Type less and build your own small modules.
I’m a slow typer and using something like Sass [1] , compiled runtime Jade template [2] and Coffeescript [3] has saved my life for typing html, css and Javascript. The saving is quite significant as it not only takes me less time to type, the code also looks much cleaner and easier to read. I use Sass mixins and Jade partials obsessively, and I program code pieces to be as reusable as I can. I religiously decouple design (visual, structure in jade and sass) from code logics (coffeescript). Ideally, I give each UI block its own corresponding Coffeescript class, Jade template, and Sass stylesheet so that designers and other coders on the team can focus on modifying specific components without doing harm. Some of my projects can easily have over 100 modules, each of which only contains a few lines of code. I also write small python/ruby scripts to help me manage these modules (create new, rename, delete, merge modules, etc).

2. Use build and test system.
I use Grunt[4] to watch, build, log, and version projects. Grunt stitches the modules together, builds and compresses Coffeescript, Sass, runtime Jade templates and Jasmine[5] tests. It helps small hacks to be production-ready very quickly. At the minimum, Tests are often necessary for tasks like frontend/backend interface, and significantly reduces communication cost among the team. Because of Grunt, all I need to do for a new hackathon is to change a few parameters and rebuild a clean system.

3. Don’t even bother using large frameworks, cook your own.
I tried using Angular, Backbone, and Ember before, but they all ended up being counter productive as I started to abuse it for custom use cases. Later I figured it’s extremely easy to put together a bare bone MVC framework by myself for rendering the templates, attaching events, and communicating with the backend etc, with the help of some open source libraries (for example, using Davis,js[5] for pushstate). I also found using Twitter bootstrap extremely limiting in expressing customized UIs, and using Sass mixins is a lot easier and more flexible.

4. Use a really comfortable editor
Sublime text is a killer app for me. It simply has so many good color themes and language markup/shorthand packages for messing with front-end packages. How awesome it is if you can see the color of your hex representation in the editor?

5. Must do low res mockup. Must have clarity in UX workflow.
This is an really important side note for hackathon front-end stuff. Before starting writing code, the team must produce low res mockups to save some (or tons of) time for the programmers to resolve the ambiguities in design/implementation details. I usually use Balsamiq[7] (low res) and Adobe Fireworks[8] (high res). This is a whole other topic.

[1] http://sass-lang.com/
[2] http://jade-lang.com/
[3] http://coffeescript.org/
[4] http://gruntjs.com/
[5] http://pivotal.github.io/jasmine/
[6] http://www.sublimetext.com/
[7] http://balsamiq.com/
[8] http://www.adobe.com/products/fireworks.html

Open play


I visited a few toy stores in Palo Alto recently. There is one particular store, which contradicts what most other toy stores have been trying to sell, clearly stands out from the crowed.  The store only sells for Plan Toys[1]. It is not a franchise but rather a direct distribution store for the Plan Toys factory. I bought the most complex piece of art they sell as shown above, and you can use it to see the world in some illusionary and fancy ways also as shown below [2]. I later learned from the store manager that the company is from Thailand and participates in many artsy toy shows, and the store attracts way more international customers than the other stores around Palo Alto.

This store made me think that making toys might be the hardest design challenge. Plan Toys makes non-electronic wooden toys using basic shapes, colors and materials for the age of 2 – whatever. All the toys are washable, hard to break, safe to bite, comfortable with skin, and they feel both hard and soft in hand due to their special technique of molding the wood.They’re obviously very different from the plastic batman figures, remote control transformer robots, or the ever fancier barbie dolls you see elsewhere. The key philosophy, as I was told by the manager, is the concept of “open play”.

The philosophy of open play is the unguided play experience without strong influence or bias toward the right thing to do or a clear indication of success or failure in play. Toys in this bucket are those that are designed to allow kids to develop their own play strategy and have a different experience each time. Most toys designed by Play Toys focus on the basic senses of touch, see, and hear. The curves and shapes of Plan Toys are so well thought out that they allow mathematical and mechanical thinking/constructions and at the same time each separate module can be used for its own set of purposes for sensing. You wouldn’t believe the amount of small details they put into the design without affecting the ergonomics of the toys.


There is a bizarre thing the store owner discovered – that parents walk into the store and tell the kids they’re too old to play although the bigger kids love them. Well that’s not surprising given the fact that lots of parents want to throw iPads with games and educational apps for their kids to kill time. The sense of open play is lost in most digital setting. I couldn’t vouch for why open play sounds like a good idea but I’m sure researchers have figured out how it might help develop negotiating, rule setting, and communication skills. I could also imagine that as a toy industry practitioner, how hard it would be not to sell Ads to the kids.

“These stuff comes back to your life”. I certainly believe that. Until these days, the most successful tech companies follow the toy making model of allowing open play for the most creative and inspired minds. Modular hardware, open circuit boards,  open software APIs are all play grounds for open play, but you figure out what software to build rather than the next lego dinosaur. I feel anxious when I see pre-assembled lego blocks selling for a higher price for the sake of saving time and effort for kids, as if they already learned how lego really work.

[1] http://www.plantoys.com/

[2] camerascope