Any application that needs to share data with other instances will need some server and some client part. The only question is where to put which part of the application.
Is the client merely a displaying tool like VNC? Or does the client actually run application code, and the server is just some kind of database? Which parts of the data is processed server-side and which client side? Or, is the server part decentralized and the clients communicate via P2P?
Maybe the application is even a combination of all those strategies, using in each corner of the application the most appropriate strategy.
Given all those possibilities and the wide range of succesful strategies that can be observed in the wild, drawing a sharp line between "thin" or "thick" client is already impossible today.