Users don’t read error messages

My CHI professor used to repeat that users didn’t read error messages, and that you should avoid them when possible. Think about it: how often do you close error messages without even reading whatever is written? And when you do read them, how often do you find them both clear and relevant?

I was recently shown this picture (source unknown unfortunately; adapted from these ones) of a slide that captures perfectly the problem with most error dialogs.

Every error message

Every error message.

Christopher McKay – Life beyond the Earth

So that’s my job in a sense: search other worlds for alien life.

So when I’m on a long plane flight, like coming over here, and the guy sitting next to me says: “So what do you do?”. Chatty fellow. I say: “Well I search other worlds for alien life.”. And then, he leaves me alone for the rest of the flight, I can get some sleep. It’s a great job description, I like it.

This excerpt is part of the introduction of the following lecture by NASA scientist Dr. Christopher McKay, on the search of life beyond Earth. He talks about Mars exploration, a potential mission to Enceladus, the challenges of field research in such environment, how to detect life (without accidentally destroying it in the attempt), how to avoid contamination and what would be some practical consequences to finding life. It’s a great insight into the current state of the field, delivered with an entertaining tone.

The physics of cloaking

In this seminar, Dr. Greg Gbur presents the current state of research on cloaking devices, the differences between science fiction and what seem to actually be possible, and different applications beyond invisibility, like protection from thermal radiation or earthquakes.

Commented footage of the space shuttle launch

Ascent is a commented montage of carefully selected videos of the launch of space shuttle, made by the Glenn Research Center. A DVD and a Blu-ray were produced but are apparently yet to be distributed reliably, so meanwhile the DVD ISO can be downloaded on this unofficial website.

The document is 45mn long, and presents outstanding footage taken during launch of missions STS-114, STS-117, and STS-124, from some of the 125 cameras used to ensure vehicle safety. Views include close ups of the ignition and of the launchpad at 400 fps, mid range footage, and up to footage taken from over 30km away (with the equivalent of a 4000mm lens). The comments give abundant detail about what is happening on the picture as well as the camera involved (lens, film, speed…).

As mentioned this video is 45mn long, but I’ve found it so captivating that I hardly noticed the length. If you only have 8mn available though, this other montage shows the launch from the cameras attached to the solid rocket boosters (SRB) with the recorded sound, from ignition, up until separation, then down to landing in the sea.

Facebook’s iOS Infrastructure

In this talk from @Scale 2014, Adam Ernst and Ari Grant present some of the problems met during the development of the native Facebook mobile application, and the solutions developed.

The first part, starting at around 7’00, explains why the built-in data management library was ill-suited and how they designed a different system to better suit their needs. The second part, starting at around 24’30, shows how their implementation of MVC was becoming unmanageable and how they redesigned it. Interestingly enough, in both cases the solution was based on immutability.

On proper use of communication in development

The following links came to my attention in a relatively narrow span of time. There would be a lot to be said but I will keep it brief.

Last month someone explained their reasons for leaving the Linux Kernel development team in an article that consequently got quite some attention. Apparently a toxic culture is encouraged there, under the motive of promoting open, direct discussion that doesn’t shy away from tackling issues.

Whether the motive is genuine or rationalized could be meat for debate by the way but, moving on. Last week this mail was posted by Linus Torvalds on the LKML, painfully illustrating the problem. Warning: (im)mature language.

Then, someone proposed this rephrased version, which is the reason of me posting today.

This here, is not just a joke, a funny contrast or Linus getting schooled; this is a lesson for anyone and an example to follow, this is what you want and the standard you should promote and expect from yourself and others in any development team you belong to. Especially so if you are a lead.

Series of articles on noise generation

I discovered last year these tutorials by Jasper Flick on how to make and use noise in Unity, and a couple of terrain and particle use examples. They present the difference between value noise and gradient noise, how Perlin noise and simplex noise work, and among others how to use curl noise to control the flow of particles.

TheĀ order information is presented is well thought, although the intention might not be clear at first. Don’t let the beginner’s tutorial tone (“You’ll learn to: create and fill a texture;”, etc.) turn you away, as the series do a great job at detailing the concepts and algorithms in a simple manner yet without cutting corners like so many articles on the topic do (when they’re not blatantly wrong and go ahead calling a blurred noise “Perlin noise”). I thought I had a pretty good grasp of gradient noise already, but reading it gave me an even better understanding.

Pushing particles around with Simplex curl noise.

While at it, other resources on the topic include Ken Perlin’s GDC 1999 talk and his two pages paper Improving noise explaining why use a 5th order polynomial for interpolation (a function I’ve sometimes seen called “smootherStep”).