A Lot of Rules
A lot of rules

		
			

	
			
A Swede, on American
Football: “Are there any rules? It looks like they stand in two lines,
someone throws the ball backwards, and then it’s a big pile.”



Me: “141 pages, last I checked. It takes a lot of rules to look like there aren’t any.”



Later, people talked
about error messages. There are so many different ones! … or there should be.
Actually they all fall back to “Something went wrong” when the server
responds with non-success.



Was it a transient
error? Maybe the client should retry, or ask the person to try again later. Was
it a partial failure? Maybe the client should refresh its data. Was it invalid
input? Please, please tell the person what they can do about it. In all supported
languages.



The happy path may
be the most frequent path, but it is one of thousands through your application.
As software gets more complicated, the happy path becomes unlikely. (99.9%
success in a thousand different calls has a 37% happy path, if the person gets
everything right.) What makes an app smooth isn’t lack of failure, it’s
accommodation of these alternate paths. Especially when people are being humans
and don’t follow your instructions.



Each error is
special. Each chance to smooth its handling is precious. People rarely report
confusion, so jump on it when they do.



This alternate-path
code gets gnarly. You may have 141 pages of it, and growing every year.



It takes a lot of
rules to make an app “just work.”
		

		
	