2024-04-06 –, HS i7
Language: English
This talk presents Gizual, a cutting-edge open-source web application for visualising and interacting with Git code repositories. It leverages the power of web workers, WebAssembly, and a combination of optimisation techniques to run a Git visualisation locally in the web browser. The talk will look at some of the technical challenges which were overcome, including strategies to minimise memory footprint, implement performant file operations, and distribute workload using web workers.
This talk presents Gizual, a cutting-edge open-source web application, which reimagines Git code repository visualisation and interaction in the spirit of SeeSoft [1]. The Gizual user interface uses a zoomable timeline component for detailed navigation through the commit history of a repository. A zoomable visual overview is then provided for a specified (sub)set of files for the chosen commit, which is colour-coded by metrics such as age of line of code, or author of line of code. Pre-generated preview images and a pool of web workers are used for enhanced performance. Overview statistics such as
contribution charts are also provided.
Beneath the user interface, Gizual exploits the bleeding edge of WebAssembly (WASM) to run performant Git operations directly in the browser. The WebAssembly System Interface (WASI) [2] is used to run libgit2 [3], together with various custom implementations for efficient file i/o and git index parsing.
The talk will cover Gizual's innovative approaches to interaction and visualisation, and some of the technical challenges which were overcome, including strategies to minimise memory footprint, implement performant file operations, and distribute workload using web workers. It will conclude with a look at ongoing and potential future work.
[1] https://doi.org/10.1109/32.177365
[2] https://wasi.dev/
[3] https://github.com/libgit2/libgit2
I am a (web) developer based in Graz (Austria) with a love for minimalist UIs.
🔭 I'm currently mostly working with Typescript, React and Vite.
🌱 In my spare time I'm learning Rust and Lua.
🎈 Occasionally, I get a little too obsessed with coffee, mechanical keyboards and NeoVim.
Web Enthusiast who enjoys working with modern browser features & tools. WebAssembly, PWAs, Typescript, Vite, Webpack v5, Yarn3 Plug'n'Play, Playwright and more.
Keith Andrews is a tenured associate professor at the Institute of
Interactive Systems and Data Science (ISDS) at Graz University of
Technology, in Austria. Having done work in the fields of computer
graphics, 3d worlds, hypermedia, and the web, he is currently pursuing
research in the fields of information visualisation and
usability. Keith helped organise the very first IEEE Symposium on
Information Visualization in 1995, was program co-chair in 2001 and
2002, and general chair in 2005. He also co-founded the UX Graz
meetups and UX Day Graz conference series.