It's also the best way to write portable code. What you're asking, though, is not a question of the technical merits of this pattern. Rather, it's a question about who's actively behaving in this way, day to day. I hope more and more folks start to do this right off the bat in their application projects so they can more easily port their applications to different application platforms.

Code locally. Design globally.