http://forum.makingfun.com/showthread.php?4230-Discarding-trashing-othering-multiple-cards
It turns out that they currently (due to the code they were given) are sending way more information than anyone ever would. They are sending card images over and over, for example. So, in terms of reducing the amount of communication, the Chapel etc. thing isn't up there (though of course it's still better from an interface perspective, and it's good when your own side of things is slowing things down).
The "hidden discards" rule is a wonky thing from the early days, when I didn't have as much control (and/or had not thought things through sufficiently). It's bad to bog a game down on things like pawing through discard piles, but it's a general rule (of game design, not specific to Dominion) that you can't do two things at once unless game components etc. struggle to let you. You always need an order. A very tiny set of cards might dodge the issue, but you quickly hit it. The cards do though provide the components necessary for discarding multiple cards while keeping the order secret. It meant Tunnel had to say "you may reveal this" and yes that's wonky too.
I think it's more natural to discard one at a time to Militia, given the phrasing; especially considering it lines up with Library etc. This could give you an infinite loop with "when you discard this, +1 card" and well that card doesn't exist. I'd rather not have a special ruling and with no special ruling and nothing in the rulebooks, "discard down to 3" sounds to me like I keep discarding until I have 3 (or fewer dammit). However you don't need to reveal the cards below the top one because somehow the rulebook says this.
Other discards are all at once; but the cards are discarded in a particular order, since, being cards, they have to be.
Yes my proposal for the online version for Militia etc. doesn't work the same way; to be correct it would need a special case for hands with both Tunnel and Watchtower. Or to be safe (in case a future card interacted with this stuff), it should do "down to" discarding one at a time but the others in a lump.