So yeah, his method is not _that_ wrong. But there's a catch: in the beginning he was really interesting in pico-iterations. So not only I was doing, but every hour or so we were discussing what the screen looked like, going to the lengths of adding fake buttons that did not do anything, but helped to reason about the application.
After few years (you read it right), we no longer needed to talk a lot about what the company needed. Usually he would point to a problem to be solved, what he would like to see, and the development team managed to fill the gaps.
More recently, in another company with another boss, at a certain point she appraised the team for not really having to fill the gaps of understanding for the team: she spit a vision and we do it in our way. Every iteration she validates it, and of course ask for changes. Pretty average.
I think the real problem in your case is the attitude : public scolding and humiliation. For this, I have two alternatives.
If you are vested with stocks or somehow protected by some strong contract, and believe in the idea, the solution is to bark back. Abusive behavior are always multiplied by lack of balance and checks.
If you are just a developer, with zero personal benefits than compensation, the solution to your problem is quitting. Suddenly. Even if you do not have another job in sight.
The reason of this sudden quit is to ensure you halt the damage to you well being while staying in this company. The damage is and will be there: days you don't feel like working, arriving very late and leaving very soon, avoid opportunities, apathetic feedback when approached by people etc etc. In the right intensity, even depression. (well if you're in US you might want to actually get depressed and ask for compensation in court. Probably will give you more money).
Good luck.