• No results found

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.