Research software has been a driving force behind the birth and rapid growth of informatics, but it was the appearance of graphical user interfaces (GUI) in the 1980s that made computers accessible to everyone. A GUI helps to reduce the learning curve for using software, increases the base of potential users and can ultimately increase citations and impact. Moreover, a well-designed GUI can perform validation and increase the robustness and reproducibility of the results, productively decoupling developers from users.
This workshop will have three parts. In the first one, we will give an introduction to GUIs and review three of the most common Python packages to create them: Tkinter for the desktop, Jupyter Widgets for web and Kivy for mobile devices (45 min). The second part will be a hands-on session where attendees will explore a complete GUI built with the framework of their choice and go through a range of exercises to learn the basics of GUI development (90 min). The last part will provide guidance on how to plan and implement a GUI, considering the target users, their objectives, accessibility, providing contextual help, etc. Finally, organised into groups and building on the user-centric concepts of GUI development covered in the previous sections of the workshop, the attendees will design a GUI for the well known command line software: Git. (45 min).
PrerequistiesParts 1 and 3 of the workshop can benefit anyone interested in GUIs, and no specific knowledge in programing is required. The hands-on session, Part 2, is specific about implementing GUIs in Python and therefore experience using this language will be essential.
Using the Workshop Virtual Machine A remote server has been set up with all the Python packages, libraries and examples required for the workshop pre-installed. Connection details will be provided on arrival at the workshop. The server will be accessible via remote desktop client software:
- Windows: It should include Remote Desktop already
- MacOS:
Microsoft Remote Desktop is available in the App Store (free)
- Linux: Tested using
Remmina. It comes with Ubuntu and should be available in most Linux distributions.
Local installationIf you prefer to setup your own laptop for the workshop, please follow the instructions available in the
workshop repository for your operative system.
VirtualBox VMIf neither of the above works for you, we have prepared a
VirtualBox VM with Lubuntu 19.04 and all the packages for the workshop pre-installed. It is a pretty big download (~2.5 Gb), so use it only as a last resort and preferably before the workshop starts!