Greetings everybody, thanks for taking the time to read this little article about my work on Maghni's editor. For better understanding of this adventure, I will break it down to 4 sections. For reference, here is the old GUI:

Requirements and Constraints

When Maghni first was introduced and promoted, there were many promises not for the engine but for the editor, giving more options to users but also more things to balance for the developers (Cocoa and I). the general requirements basically were:

  • good looking: modern and fresh UI design that stand out from the competitors.
  • customizable: theme's made by users, font options, character-first design.
  • support for every language: find a font that supports all supported languages for consistency.
  • accessibility first: be easy to use, support for readers, high contrast.

Technology

Not only the graphic part was an evolving work, the code has also evolved a lot and got more efficient, straightforward and clever to handle smooth user interaction with the engine, it's been refactored in its entirety nearly 3 times by now taking advantage of the framework it's built on; but since we're short in hands it's just me in the editor until I can get help on the backend to ensure the best outcome.

The philosophy on the editor is the least amount of clicks the user would need to work and the biggest real-estate possible for workspace.

Color System

maghni's color language was the most difficult part to get right; since it needed to be functional, customizable and preserve personality; all this came together to make the color system (as i call it), using 2 pairs of colors:

  • theme colors: the main color profile of the interface. The primary color indicates functionality and the secondary shows where you are.
  • system colors: an accent color to bring up the user's atteention (errors, playhead) and a help color to indicate accessibility functions and interactive elements.

What's Next

With a fresh start, new goals and direction, this editor will keep evolving to be in line with modern standards, repurposed for a more flexible and straightforward customization. I am very convinced dedicated to make this software the best to use and look at.

Thanks for supporting this project and keep an eye open for future updates.