Julia and deploying complex graphical applications for laypeople
2021-07-29 , Red

Applications written in Julia targeted at a nonprofessional audience are still uncommon, even though libraries for designing such applications have existed for years. For software to be easy to use by laypeople, a simple installation process and an intuitive GUI are essential. We have been developing and deploying such an application for over three years. This talk will focus on our experiences during that time, how the situation has improved since Julia 0.6, and what it looks like today.


Julia shows to be promising as a general-purpose language, yet uses for software targeted at non-professional users still appear to be scarce. We are the developers of one such tool: Ahorn is a graphical level editor for the video game Celeste that allows a user to create their own levels for the game. Ahorn is written entirely in Julia. As the tool itself is likely to be of little interest to the Julia community, this talk will not focus on the tool, but on our experiences developing and deploying it.
Owing to the nature of the tool, its audience consists in large parts of people who want to dip their toes in game and level design for the first time. Many of these people are young, some as young as 13 years old. This talk will be about what it is like to develop a graphical Julia application that has to be able to be installed by a child on a 10-year-old laptop. What did the Julia ecosystem offer for GUI design in early 2018 when the project started? How well did Julia’s package installation system handle the large variety in hardware and operating systems we have encountered? How has the situation improved since then? What unique features does Julia offer that made us choose it, and how did using the language pay off years later? In our talk, we would like to answer these questions by sharing on our own experiences, and provide some ideas for what can be improved if the Julia community wants the language to become more widely adopted for the development of non-scientific user-facing applications.

Developer of Ahorn and similar tools. Using Julia professionally since 2017.

Developer of Ahorn and similar tools.