The thin client idea is fine if the user is on a thin client (only) device. If however they're not, and they have local data they want to work on, the thin client idea would require them to first upload their data to the mainframe (that's what a web app is, sort of), which can be tricky. Just as with software engineering itself, there are no silver bullets.