Hey Bjarni, thanks for the quick reply!
I’ve tried Mailpile with the JS turned off and is seems its mostly responsible for UI tweaks and running the notifications, and the core of the apps functionality is provided by the python server, is that correct? If so, my plan is to work on the appearance, CSS and HTML.
So I’d start by moving from Bower to NPM and migrating the JS dependencies over without re-implementing the current JS code. After that my plan would be to update the Jinja templates to apply a standardized UI language e.g. Github Primer (https://primer.style/css) or Google Material. I’ve used Primer for internal tools in the past and think it would work well here.
The upside / downside would be that my Mailpile theme would look identical to GitHub. To me that would be a positive since I find the GitHub UI very well designed and intuitive. However, that would result in some ‘blandness’. I"m hoping that moving to a fairly well known CSS design system would then allow anyone else who wants to play with the look and feel to be able to focus on that, without having to worry about the rest of the project.
Regarding the API between the main app and the UI, I understand the entire app to be constructed of endpoints that can either reply with JSON or HTML (via Jinja). So there would be breaking changes if either:
- Any of the variables supplied to the Jinja templates was removed; or
- The structure of the data returned by the Json api changed.
I’ll be starting with (and focused mainly on) the main page where you can see a list of all the emails, is the API for this page quite stable?