Building thin client applications is easy: it is what we used to call "client server". I was part of a defence-industry project to build such applications in the early 1009s (I even published a scholarly letter about it: "Remote Presentation Client-Server More than Just Screen Scraper", Worthington T., Australian Computer Journal, Volume: 27 Issue: 1 Pages: 16-16 Published: FEB 1995). However, just as we got the graphical user interface to work for the remote client, along came the web and made such an interface a commodity item.
Using the web as the user interface for a remote database application is now an everyday application of technology. However, allowing the client to function while disconnected from the central database is very much more difficult. This requires having part of the application running in the client, along with some form of database.
Having an offline application would have required a complex bespoke software setup in a desktop computer and would have not been feasible in something which could be called a "thin client". However, in a review of the new HTC Desire Android mobile phone, I noticed that it used the Android 2.0 operating system, which has improved support for HTML5, including:
- Database API support, for client-side databases using SQL.
- Application cache support, for offline applications.
The Defence CTO's desire for offline thin client applications now does not look that difficult: Use HTML5 for the user interface and provide local database and cache support. This will require as much hardware as a $400 netbook computer, running some sort of cut down Linux operating system, such as Google Android.
However, there are still some difficult issues for designers of such applications. Not all data can be made available "offline" as this would require each thin client computer to have as much storage as Defene's largest data centre. Security considerations would also limit access to offline data. One of the benifits of a thin client computer without offline storage is that when it is offline it contains little or no sensitive data. Thin clients with offline storage will have to be protected the same way as other computers holding sensitive data. Defence issues very detailed instructions on how to protect data, including how to destroy the devices (including what type of hammer to use when the enemy is at the gates).
Also with offline data there is the issue of synchronising with the central database. There is no foolproof what to solve this problem and each application will have to be designed accordingly.
Lastly a thin client computer is "thin" because it is not as powerful as a "thicker" one. There will therefore be some applications not suited to these devices.