Pedigree visualization prototype
4.3 Delivery of visualizations
There are two main formats used for data visualization that were considered. Online or web-based visualization using the web browser as the delivery medium or application based utilizing the features offered by desktop programming languages and toolkits. Each approach has advantages and disadvantages.
Web based delivery
4.3.1.1 Advantages of web based visualization approaches
The main advantage to a web-based approach is in its cross platform compatibility. In addition additional software usually will not need to be installed prior to use if the application sticks to basic core web-standard technologies such as Cascading Style Sheets (CSS) and JavaScript with pre-processing carried out on a central server whose makeup can be as simple or complicated as the task requires. Using these web standards ensures, so some extent, cross platform compatibility. Web based approaches also mean that the specifications of the users client machine are not as important as most data processing will be done at the server end.
Recent years have also seen the increase in the use of web-based applications and the use of computing clouds to perform large data analysis and manipulation tasks such as Amazons EC2 service.
Web based approaches also mean less complicated configuration for client users to use your applications, while network traffic may be an issue the increased performance of networks and internet bandwidth to the average user continues to increase.
4.3.1.2 Disadvantages of Web Based Visualization Approaches
The main disadvantage of data visualization via a web based medium is ultimately performance. While web standard technologies such as the HTML5 specification may offer visualization capabilities for small scale datasets they tend to scale badly when
dealing with larger volumes of data such as those generated through current high throughput technologies. While many of these issues can be addressed by pre- processing of data they still impose limitations that are difficult to deal with.
Standalone application based delivery
4.3.2.1 Advantages of standalone application based approaches
The use of high performance programming languages such as Java, C# or C++ allows the development of tools for the visualization of large data volumes. These tools can make use of local hardware resources such as graphical processing units (GPU) where available to increase visualization performance. This ability to offload data processing to the user’s machine instead of the server as would be the case in many web- applications is an important benefit of this type of approach, especially with the volumes of data being used here.
4.3.2.2 Disadvantages of standalone application based approaches
As an application is run on the user’s computer and not on a server this brings the overhead of having to deal with an infinite number of both computer hardware configurations and host OS (Operating System). While programming languages such as Java try to overcome these issues by using a common runtime environment there are nevertheless still instances where differences exist between machines.
In addition, where large volumes of data are available in for example a database it is not always practical, or indeed beneficial to store this on a user’s machine in its entirety. This means that there are situations where the use of a combined model is the most appropriate choice for such applications, this is described below (Table 4-1).
Client Based Web Based Hybrid Approach
Processer Availability
User control over resources Determined by server load Determined by both server and users processing power
Speed Determined by users machine Determined by users machine
and server Determined by users machine and server Data Local data repository required Data held on server Data held on server Interfaces
Languages Java, Air, C++, etc. HTML, JavaScript, Flash Hybrid of client and web
Platform Independency
May need to be compiled for operating system or reliance on Java Virtual Machine cross platform compatibility
Reliance on browsers standards compliance not operating systems
May need to be compiled for operating system or reliance on Java Virtual Machine cross platform compatibility
Software Updates
Cannot guarantee all users are using the most up to date software version even with automatic updates
Updates to server only ensures users are all using current version
Cannot guarantee all users are using the most up to date software version even with automatic updates
Portability Software needs to be installed
on all computers it is used on Only a web browser is required with no additional software requirements*
Software needs to be installed on all computers it is used on
Availability No restrictions on availability Available only when user has
internet connection Available only when user has internet connection
Security As secure as users machine Transmission of data over
internet may have security implications
Transmission of data over internet may have security implications
Deployment Deployed as installer for users
operating system Deployed to controlled server Hybrid of client and web based approaches
* Except where Flash or other browser add-ons are required.
Table 4-1 Comparison between Web and Desktop Application Based Approaches
The combined model
The combined model takes the benefits of a web-based approach in that data is held on a central server maintaining data security and access rights but utilises application based tools and utilities for viewing and visualization of complex data. The combined solution can also use the central server for generation of visualization components out with the client application if required.
This has the advantage of allowing interactive visualization within a standalone application with subsequent reduction on server load with the ability to restrict access to data using a web based technique. Where appropriate smaller scale data visualizations can also be carried out server-side directly into the web browser for users whose requirements may not require the standalone application.
Disadvantages do however exist in that a constant web connection is required to be maintained and one that is responsive enough to carry data to the client interface.