GUIs
Site News

Xerox
Visi On
GEM
Deskmate
GEOS
Desqview/X
AmigaOS
RISC OS
BeOS
QNX
OS/2
Apple
Linux/Unix
Windows
Win Shells
Misc GUIs

GUI Timeline
GUI Sites
Location: GUIs > Misc GUIs > Remote GUIs > Client / Server Applications

Previous - Character Cell Terminals
Client / Server Applications

For contrast it is worth mentioning client/server applications as a form of remote computing, although strictly speaking they are not "remote guis" as I have defined them here.

A client/server application is a piece of software that runs on a client computer and makes requests to a remote server. Many such applications are written in high-level visual programming languages where UI, forms, and most business logic reside in the client application. Often such applications are database applications that make database queries to a remote central database server (this can, however, get much more complicated than that and involve other communication methods)

In a database application, data related number crunching can occur on the remote database server where the processing is close to physical data. An example of a database query might be to return the sum of a field named "dollar amount" where the field name year is "2001". There may be hundreds of thousands of records but the client computer does not have to worry about fetching or sorting through all of them itself. The database server will sort through that and just return one small record with the result to the client.


This screen shot shows an example of a client /server application running locally on a computer. This is the same application shown running remotely in some of the Terminal Server and Citrix screen shots in the previous section.

A client / server application can be cross platform if it is written in a cross platform language, or it can be platform specific. In the case of a cross platform language there is an advantage that the application can potentially provide a user interface that is native in appearance to the OS or platform environment it is running under.

An issue of client/server is that the application must be installed on each users computer. Depending on the complexity of the program, the environment it is written in, and the care the developer took to package the program, this can be as easy as creating a shortcut to an executable on a shared network drive or it can be as hard as spending hours installing and configuring runtime software and components on each client computer.


Client / server applications, either run locally on a client computer or through something like Terminal Server, Citrix, or VNC, can work closely with the underlying OS to provide a rich, powerful, robust, easy to use interface.

By running locally on a client computer applications can also work with other local hardware such as scanners, bar code readers, modems, removable media, accelerated video for multimedia, or 3d video acceleration.


Depending on the programming environment in use, applications can be very easy to develop and maintain, often through a visual interface where commonly needed functionality is provided through built in objects or properties.

The above screen shot is of Microsoft Access showing its built in table design, form design, and report design modes. Even simi-complicated reports and forms can be created with little or no coding and it is easy enough for just about anyone to use. This is one reason why MS-Access is so popular in corporate environments (And why Access databases tend to spring up like weeds).  When linked to a remote database server, such as an Oracle or MS-SQL server, it can act as a client / server application. Multiple users can also open an MS-Access database file over a network share, but this is not considered Client / Server (and due to performance and data integrity issues, should be avoided).

Next - The Web