I regularly programming on my iphone using the blink shell[0] with an external keyboard. I'm actually more focus when programming on the phone instead of a desktop/laptop. However when any kinds of visualization are involved I immediately go to desktop