[PDF]

Automation Toolkit: Enhancing Macro Development


Finlay Houlton

17/05/2024

Supervised by Dr Daniela Tsaneva; Moderated by Irena Spasic

Problem description: AutoHotKey is a powerful scripting language used to create automated programs. At the end of 2022, AHK version 2 was released, deprecating version 1, along with significant changes to syntax, functions, and data-types, posing a challenge to both advanced and novice users. While automation can easily increase productivity, streamline tasks, and reduce repetitive workload in large sectors such as manufacturing, office work, and healthcare, AHK relies on the user to grasp programming concepts and skills that most people never develop, leaving simple automation locked behind complex knowledge barriers.

Proposed solution: Using web development frameworks such as Flask, Werkzeug, and Jinja (unless more optimal ones exist), host a website where users can write and save AHKv2 programs. When creating a program, users can click/drag-and-drop elements - akin to 'Scratch' or 'Pulover's Macro Creator' (which only works for AHKv1) - and are prompted for necessary parameters, displayed information, and guided through the process. Their script can be downloaded to be run on their machine. This project extends the basic back-end functionalities we've been taught previously and should also feature front-end aspects such as animation and graphics. It's also scalable; features like user accounts, encryption protocols, and further enhanced front-end/UI can supplement the project if workload is too light, but are unnecessary if the workload is too heavy.


Initial Plan (01/02/2024) [Zip Archive]

Final Report (17/05/2024) [Zip Archive]

Publication Form