At a macro level, a prototyping tool like the one Bret Victor demoes is a game changer for 2 reasons:
- It dramatically shortens development time
- It allows to reach the overview stage faster
When building software, you usually spend (waste) a lot of time iterating. Designing and coding the very same screen again and again until you reach a point where it is satisfying.
When you get there, you usually realize that all this cascading views you created need some additional work for your application to be consistent as a whole.
It’s a painful process because it doesn’t matter how good you are, it remains sequential: design / code / test / iterate.
That’s why companies like Facebook extensively use Quartz Composer. Getting as close as possible to the first version of an application in the design phase lets you minimize engineering time, iterations and balance the workload between engineers and designers.
However, be it Quartz Composer, After Effect, web technologies, the hundreds of web-based prototyping tools available or even Keynote, they’re all inappropriate.
They only partially solve the problem because they only allow partial prototyping. You can flesh out a few transitions and animations but you can’t see the whole picture and reach the point where you realize there is an obvious simpler solution.
The obvious simpler solution can only occur to you when you reached what I would call the overview stage.
That’s when the first fully working iteration of your software is in your hands. It is usually the moment where the magic happens in software, when you have a chance to go from good to great. Iterate one more time or leave it as it is because it is good enough.
By reaching the overview stage before any line of code is typed, the dynamic drawing app not only shortens development time thus engineering resources but also provides designers with an early global vision on their work and how all the piece fit together. It gives them a chance to iterate without code and keep control on the design.
From experience, my real work at Sparrow mainly consisted in optimizing engineering resources by making the good calls design-wise. Unfortunately, it means design always comes second and is highly dependent on the development’s pipeline. Not much room for experiments.
The true value of Victor’s tool is to be found at the micro level. The real waste when building software, apart from inevitable lost coding days, is aborted design ideas.
As toolmakers, we have to do everything we can to get pictures out of people’s head and into the world […]. If people are thinking in picture, we can’t force them to take a detour through symbols to get to their picture
Today, a designer in charge of making a software engaging, understandable, easy to use and pleasurable has no direct control over the implementation details and no precise knowledge of what’s really possible.
Here, I am just talking the usual designer day-to-day routine of refining interactions and interface.
Innovating when you have no control or deep understanding of how things work behind the scene is almost impossible. Imagine coming up with the pull-to-refresh idea with no programming background.
The only way for a designer to control the implementation details is to stand over the programmer’s shoulder and fine-tune what he’s building. This requires patience on both sides and time, a resource many small companies don’t have. Design remains mediated.
The other way out is to be Loren Brichter and master both design and code. Unfortunately, this is pretty rare. This explains why most software usually end up being good enough or ok but not great despite considerable efforts.
The dynamic drawing tool transfers power (and responsibility) from the engineer (back) to the designer who is finally able to control all parameters and deliver a fully alive drawing of what he wants.
He is not in a position where he’s stuck approximating anymore. He can flesh it out from the beginning to the end.
This makes a huge difference.
From blindly manipulating symbols = programming, we’re on the verge of being able to draw the living picture in our heads.
Bret Victor is this close from offering designers the tool they’ve long stopped dreaming of. It is his revolution.
Here’s something else that’s weird but true: in the day-to-day trenches of adult life, there is actually no such thing as atheism. There is no such thing as not worshipping. Everybody worships. The only choice we get is what to worship.
If you worship money and things, if they are where you tap real meaning in life, then you will never have enough, never feel you have enough. It’s the truth. Worship your body and beauty and sexual allure and you will always feel ugly. And when time and age start showing, you will die a million deaths before they finally grieve you. On one level, we all know this stuff already. It’s been codified as myths, proverbs, clichés, epigrams, parables…
But the insidious thing about these forms of worship is not that they’re evil or sinful, it’s that they’re unconscious. They are default settings.
They’re the kind of worship you just gradually slip into, day after day, getting more and more selective about what you see and how you measure value without ever being fully aware that that’s what you’re doing.
The really important kind of freedom involves attention and awareness and discipline, and being able truly to care about other people and to sacrifice for them over and over in myriad petty, unsexy ways every day.
That is real freedom. That is being educated, and understanding how to think. The alternative is unconsciousness, the default setting, the rat race, the constant gnawing sense of having had, and lost, some infinite thing.
David Foster Wallace 2005 Commencement speech at Kenyon College.
“Luminant Point Arrays” is a photographic series of old tube televisions taken at the very moment they are switched off. The TV picture breaks down and is abstracted to its essential element: light. This abstraction also results in the collapse of the external reference.
Back during World War II, the RAF lost a lot of planes to German anti-aircraft fire. So they decided to armor them up. But where to put the armor? The obvious answer was to look at planes that returned from missions, count up all the bullet holes in various places, and then put extra armor in the areas that attracted the most fire.
Obvious but wrong. As Hungarian-born mathematician Abraham Wald explained at the time, if a plane makes it back safely even though it has, say, a bunch of bullet holes in its wings, it means that bullet holes in the wings aren’t very dangerous. What you really want to do is armor up the areas that, on average, don’t have any bullet holes. Why? Because planes with bullet holes in those places never made it back.
Applying the above to UI/UX confirms a lingering feeling I have about software metrics and usage statistics.
Metrics are undeniably useful when designing sign up forms, improving conversion rate on merchant sites, increasing upload success rate… They’re essential to web design. But, to some extent, they do not make sense for apps.
Some users are dealing with your UI blunders but they keep using the app.
Back home with bullet holes.
Some just can’t cope with it.
Tweaking your design based on statistical usage is armoring up the plane that made it back.
Doing so is becoming blind to your interface real pain points and ending up strengthening your user deviations.
You’re adding armors where it’s not needed.
Oh! 80% of our users click on this reply button rather than the other.
You’ll make the other one disappear, make the 80% button more prominent. By getting along with the figures, you’ll only amplify the observed behavior.
Let’s cross reference all the data on all buttons, all actions and we’ll have a comprehensive map of our user’s interactions.
Same thing. It’s like looking at a mouse in a labyrinth. The left/right decision at each corner doesn’t matter. It’s the labyrinth design that matters and affects the behavior. Not an isolated choice within the design.
Of course, you can tweak it but it means entering in an infinite loop of modifications impacting each other.
Application UI/UX design does not obey the same rules than web design.
Designing an app means selecting a few things and making them work as flawlessly as possible.
Application design is organic.
An app is a whole, a living organism. You can’t subtract or add without hampering its core or killing it.
The only way out if it doesn’t work out is to start from scratch. Not tweaking based on metrics and stats.
One of the best example I know of this is Path.
Path, as we know it today, is not a 2.0. It’s not an iteration over a first version.
It is a new app.
I remember Jack Dorsey mentioning a feature they thought about but left aside at the very beginning of Twitter: worshipping.
The basic idea was that by worshipping someone you could see every single tweet the person made.
I don’t think seeing all tweets helps much but what could be valuable is to see who the person I am worshipping is talking/replying to.
Let’s say I decide to worship @Jack.
Every single time @Jack replies to someone, I am notified. The person he talked to could also be added to a specific list.
From there, I’ll be able to easily review the profiles of the people he responded to and follow them in a click/tap.
Replies imply a selective process.
People with a lot of followers simply can’t reply to everybody who mention them and perform some kind of selection.
This selection process - the work provided by the person who is worshipped - is valuable and can be leveraged in the form of following suggestions for the worshipper.
Simply put, discovery isn’t as good as it could be because it’s hard to see who people I consider important are talking to.
You can see the important people to follow, but it’s not easy to see who they’re communicating with on the platform, and that is a richness Twitter could leverage more.
It’s a pretty high level feature but I think it could definitely improve the discovery process in Twitter. I would use it.
I visited Square offices last week. Met with Jack Dorsey and asked him how he manages to run both Twitter and Square at the same time.
He told me that it required a lot of discipline, a very tight schedule and he gave me a book suggesting part of the answer to my question could be found there.
Wabi-Sabi (侘寂) represents a comprehensive Japanese world view or aesthetic centered on the acceptance of transience.
It is a beauty of things imperfect, impermanent, and incomplete.
It is a beauty of things modest and humble.
It is a beauty of things unconventional.
At one point in the book, Koren compares Wabi-Sabi to Modernism.
It helps grasp the concept.
- implies a rational worldview
- believes in the control of nature, mass-production, everlasting things
- function and utility are primary values
- romanticizes technology and is future-oriented
- implies a instinctive worldview
- believes in fundamental uncontrollability of nature, one-of-a-kind, seasons
- is comfortable with ambiguity and contradiction
- romanticizes nature and is present-oriented
If you have 30 minutes, it is a very inspiring read.