Permalink
Browse files

Minor fixes.

  • Loading branch information...
1 parent a376bcc commit e447a1561193de785a7e7335225a10409b880732 Michael Aufreiter committed Nov 23, 2011
Showing with 130 additions and 127 deletions.
  1. +3 −3 abstract.tex
  2. +2 −2 conclusion.tex
  3. +6 −6 evaluation.tex
  4. +16 −16 hgbthesis.cls
  5. +35 −35 information_visualization.tex
  6. +8 −8 introduction.tex
  7. +6 −4 kurzfassung.tex
  8. +4 −4 requirements.tex
  9. +22 −24 unveil.tex
  10. +28 −25 web_based_visualization.tex
View
@@ -4,12 +4,12 @@ \chapter{Abstract}
Since the availability of digital information is growing rapidly, the utilization of Information Visualization has become essential to perform complex analysis tasks. Visualizations allow us to identify patterns in large sets of data and reveal facts that are not obvious when looking at the underlying raw data. So gained insights may trigger further investigations and can eventually back up strategic decisions.
-Creating interactive visualizations for the browser used to be difficult and did not play a vital role in the past. Serious visual data analysis was usually practiced through dedicated software tools which were running on local machines and used files and databases as their data-sources.
+Creating interactive visualizations for the browser used to be difficult and did not play a vital role in the past. Serious visual data analysis was usually practiced through dedicated software tools which were running on local machines and used files and databases as their datasource.
The latest findings in browser and internet technology have now set the baseline to build interactive visualizations in a distributed environment. This allows the proceeding from local analysis scenarios to \emph{cloud-aware collaborative services} which can operate on live data through \emph{web services}. The fact that installing software is no longer necessary enables a much broader target group to use visual analysis tools.
-This thesis is dedicated to visualization developers and focusses on the process of creating web-based visualizations. Based on the current state of research, it gives an \emph{overview about existing methods and technologies} which can be applied to produce interactive data visualizations for web-based environments. Based on HTML5 Canvas, a library is being developed that allows creating visualization in a declarative and data-driven way.
+This thesis is dedicated to visualization developers and focusses on the process of creating web-based visualizations. Based on the current state of research, it gives an overview about existing \emph{methods} and \emph{technologies} which can be applied to produce interactive data visualizations for web-based environments. Based on HTML5 Canvas, a library is being developed that allows creating visualizations in a declarative and data-driven way.
-According to design considerations and lessons learned from \emph{implementing a visualization toolkit}, this paper also introduces \emph{new approaches and techniques with respect to HTML5 Canvas}. Eventually there will be an evaluation of selected toolkits emphasizing strengths and weaknesses of different techniques.
+According to design considerations and lessons learned from implementing a visualization toolkit, this thesis also introduces new approaches and techniques with respect to HTML5 Canvas. Eventually there will be an evaluation of selected toolkits emphasizing strengths and weaknesses of different techniques.
\end{english}
View
@@ -14,10 +14,10 @@ \chapter{Conclusion and Outlook}
Simple visualization tasks can often be accomplished by employing the DOM interface directly. However, for more complex scenarios, employing a toolkit (e.g. Unveil.js or D3.js) could make sense, especially if interaction is needed. If interaction is not a requirement, using the raw Canvas API seems reasonable.
-Finally, visualization designers have to decide whether or not to use web-based technology for their particular visualization task. Generally spoken, web-based visualization should be considered if the results should be made available to a broader audience. If capabilities are sufficient in terms of data-throughput, rendering performance needs to be evaluated for a particular task. For ad-hoc visualizations which need not to be shared publicly or involve great amounts of data, using native desktop technology is probably a better choice. An example for this would be medical visualization such as plotting a CT. Given an abstract visualization specification and support for both web and desktop runtime environments, cross-platform deployment would be possible. However, in practice production-ready frameworks suitable for cross-platform deployment are not yet available.
+Finally, visualization designers have to decide whether or not to use web-based technology for their particular visualization task. Generally spoken, web-based visualization should be considered if the results are intended for a broader audience. If capabilities are sufficient in terms of data-throughput, rendering performance needs to be evaluated for a particular task. For ad-hoc visualizations which need not to be shared publicly or involve huge amounts of data, using native desktop technology is probably a better choice. An example for this would be medical visualization such as plotting a CT. Given an abstract visualization specification and support for both web and desktop runtime environments, cross-platform deployment would be possible. Unfortunately, in practice production-ready frameworks suitable for cross-platform deployment are not yet available.
\SuperPar Within the last years, web-native technologies have made good progress. Javascript implementations become measurably faster every month. Javascript emerges as a platform and is no longer restricted to the browser environment. Server side implementations, such as Rhino\footnote{http://www.mozilla.org/rhino} or the ambitious Node.js\footnote{http://nodejs.org}, are ready for production use.
Considering that browsers have already started to gain hardware acceleration support for graphical operations, it is likely that in the near future web-native technologies with respect to Information Visualization will be on par with traditional graphics programming environments.
-However, even if low level interfaces are continuously improved, there is a great demand for higher level interfaces. Tools that have been covered in this thesis are just the start. API's should influence each other in order to create better abstractions. Moreover, the availability of expressive abstractions may influence browser native API's as well. A prominent example for this is the upcoming ECMAScript 6 Standard. It will contain language constructs adapted from CoffeeScript\footnote{http://http://coffeescript.org}, a higher-level language that compiles to Javascript and exposes a simpler syntax. In the same way high quality visualization toolkits could influence native graphical interfaces. Every developer is enabled to contribute here, as it is not just up to the specification committee (W3C\footnote{http://www.w3.org/}) how future graphical interfaces will look like.
+However, even if low level interfaces are continuously improved, there is a great demand for higher level interfaces. Tools that have been covered in this thesis are just a start. API's should influence each other in order to create better abstractions. Moreover, the availability of expressive abstractions may influence browser-native API's as well. A prominent example for this is the upcoming ECMAScript 6 Standard. It will contain language constructs adapted from CoffeeScript\footnote{http://http://coffeescript.org}, a higher-level language that compiles to Javascript and exposes a simpler syntax. In the same way high quality visualization toolkits could influence native graphical interfaces. Every developer is enabled to contribute here, as it is not just up to the specification committee (W3C\footnote{http://www.w3.org/}) how future graphical interfaces will look like.
View
@@ -22,7 +22,7 @@ \section{Methodology}
\setlength{\tabcolsep}{5mm} % separator between columns
\def\arraystretch{1.25} % vertical stretch factor
\begin{tabular}{|r||c|c|c|} \hline
-Score & \emph{Level of Support} & \emph{Quality}\\
+ \emph{Score} & \emph{Level of Support} & \emph{Quality}\\
\hline\hline
3 & complete & very high \\
\hline
@@ -152,14 +152,14 @@ \subsection{Declarative Language Design}
\subsection{Cross-platform Deployment}
%%%-----------------------------------------------------------------------------
-D3 uses a representation transparent approach and relies on the document object model, and thus on web-native technologies (HTML, SVG and CSS). Consequently, this implies that visualizations specified using D3~\cite{D3} cannot be deployed to platforms other than the web. This is by design, according to Michael Bostock, and in turn offers better accessibility, while transformations of the DOM offer dramatic performance gains.
+D3 uses a representation-transparent approach and relies on the document object model, and thus on web-native technologies (HTML, SVG and CSS). Consequently, this implies that visualizations specified using D3~\cite{D3} cannot be deployed to platforms other than the web. This is by design, according to Michael Bostock, and in turn offers better accessibility, while transformations of the DOM offer dramatic performance gains.
\SuperPar \textbf{Score: 0}
\subsection{Optimization}
%%%-----------------------------------------------------------------------------
-The result of D3 document transformations is a scene graph, represented as DOM elements. Overall visualization performance depends on the performance offered by browsers. There is no intermediate representation (such as a toolkit-specific scene graph) that could be optimized in terms of evaluation or rendering. This is all up to the native browser technologies, such as Javascript, SVG and CSS. Because the DOM is modified directly, D3 can avoid unnecessary computation, as transformations can be limited to selected attributes. The author assigns a score of 2 here, as D3.js performance can be considered good. However, the design of this library intentionally does not offer much room for rendering optimization.
+The result of D3 document transformations is a scene graph, represented as DOM elements. Overall visualization performance depends on the performance offered by browsers. There is no intermediate representation (such as a toolkit-specific scene graph) that could be optimized in terms of evaluation or rendering. This is all up to the native browser technologies, such as Javascript, SVG and CSS. Because the DOM is modified directly, D3 can avoid unnecessary computation, as transformations can be limited to selected attributes. The author assigns a score of 2 here, as D3.js performance can be considered good. However, the design of this library intentionally does not offer much room for optimization of rendering
\SuperPar \textbf{Score: 2}
@@ -181,14 +181,14 @@ \subsection{Object-oriented Composition}
\subsection{Interaction}
%%%-----------------------------------------------------------------------------
-With D3, adding interaction is easy. Because the DOM is exposed, event handlers can be attached to graphical objects directly. Programmers, who have done web-development or have used DOM manipulation libraries such as jQuery\footnote{http://jquery.com/} will immediately be familiar with it. D3 also makes data objects available to event handlers, allowing data-driven interaction.
+With D3, adding interaction is easy. Because the DOM is exposed, event handlers can be attached to graphical objects directly. Programmers, who have done web-development or have used DOM manipulation libraries such as jQuery\footnote{http://jquery.com} will immediately be familiar with it. D3 also makes data objects available to event handlers, allowing data-driven interaction.
\SuperPar \textbf{Score: 3}
\subsection{Animation}
%%%-----------------------------------------------------------------------------
-Being the official successor of Protovis, D3.js comes with comprehensive support for transitions, where attributes or styles are smoothly interpolated over time. Animated transitions can be specified using the transition operator. There is support for staggered animation through individual specification of delay and duration. The easing method can be customized too. Performance experiments have shown that animation works well with a moderate number of motion tweens running at the same time. If the number of animated objects become too high, rendering performance drops significantly. In such scenarios, the Canvas Rendering API has some advantages.
+Being the official successor of Protovis, D3.js comes with comprehensive support for transitions, where attributes or styles are smoothly interpolated over time. Animated transitions can be specified using the transition operator. There is support for staggered animation through individual specification of delay and duration. The easing method can be customized too. Performance experiments have shown that animation works well with a moderate number of motion tweens running at the same time. If the number of animated objects becomes too high, rendering performance drops significantly. In such scenarios, the Canvas Rendering API has some advantages.
\SuperPar \textbf{Score: 3}
@@ -212,7 +212,7 @@ \section{Performance Evaluation}
In addition to the qualitative evaluation based on requirements, a performance benchmark has been implemented that opposes Unveil.js with D3.js.
The benchmark considers initialization times and frame rates by constructing a scatterplot using different numbers of objects. The results, as shown in Figure~\ref{fig:benchmarks}, reveal that overall performance highly depends on the browser's implementation of native interfaces (HTML Canvas and SVG). Current webkit-based browsers (Google Chrome, Safari) provide high performance rendering for the SVG interface, which makes D3 noticeably faster here. Moreover profiling results have shown that Unveil.js performance (compared to native usage of the Canvas element) is decreased due to the application of matrix transformations. Unveil.js uses its own matrix library in order to let users adjust the object drawing order. However, this has been identified as a significant bottleneck and should be optimized in future.
-In general both libraries offer sufficiently fast performance to implement interactive visualizations involving animation. Importantly, the results shown in the benchmark are just a snapshot considering a single use-case. According to the explanations in the qualitative evaluation, visualization designers need to decide themselves, which is the best solution for a particular task.
+In general, both libraries offer sufficiently fast performance to implement interactive visualizations involving animation. Importantly, the results shown in the benchmark are just a snapshot considering a single use-case. According to the explanations in the qualitative evaluation, visualization designers need to decide themselves, which is the best solution for a particular task.
\section{Summary}
View
@@ -299,22 +299,22 @@ im\\
}
\newcommand{\@erklaerungsseite}{%
-\chapter{Erklärung}
-%\thispagestyle{empty}
-
-\noindent
-Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit
-selbst\-ständig und ohne fremde Hilfe verfasst, andere als die
-angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen
-Quellen entnommenen Stellen als solche gekennzeichnet habe.
-
-\vspace{10mm}
-\noindent
-\@studienort, am 25. November 2001
-
-\vspace{12mm}
-\noindent
-\@author
+% \chapter{Erklärung}
+% %\thispagestyle{empty}
+%
+% \noindent
+% Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit
+% selbst\-ständig und ohne fremde Hilfe verfasst, andere als die
+% angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen
+% Quellen entnommenen Stellen als solche gekennzeichnet habe.
+%
+% \vspace{10mm}
+% \noindent
+% \@studienort, am 25. November 2001
+%
+% \vspace{12mm}
+% \noindent
+% \@author
}
%------------ Struktur der Frontseiten -------------------
Oops, something went wrong.

0 comments on commit e447a15

Please sign in to comment.