XaAES
This article provides insufficient context for those unfamiliar with the subject.(October 2009) |
XaAES is a graphical user interface for the OS kernel FreeMiNT. MiNT (nowadays named FreeMiNT) is aimed at systems that are compatible with 16/32 bit Atari computers such as the ST, TT or Falcon. The combination of MiNT and XaAES is the natural successor to MultiTOS.
History
XaAES -The beginning
XaAES is a free AES (Application Environment Service) written with MiNT in mind, originally developed by Craig Graham (Data Uncertain Software) back in September 1995. Taken from the XaAES beta6, here is a snippet of the readme.txt in which Craig explains his motives for initiating XaAES: "After using MultiTOS, then AES4.1, I became frustrated at the lack of a decent GUI to use the real power of the MiNT kernel - X Window is all very well, but I can't run GEM programs on it. MultiTOS (even AES4.1) is too slow. Geneva didn't run with MiNT (and, having tried the new MiNT compatible version, I can say it wasn't very compatible - at least AES4.1 is quite stable, if a little slow). MagiC lives in a very fast, very small world all its own (no networking support, few programs written to exploit it)."
Craig worked actively on XaAES until 1997 when he stopped the development, and already at that time a plethora of applications were already usable under XaAES.
In 1998 the project was taken up by Swedish programmer Johan Klockars. He had been involved already during Craig's maintainership and at this point he stepped forward after a period of inactivity.
Johan's work resulted in several bugfixes which eventually were released as Beta7+. Shortly after this beta Johan also made the decision to hand over the project to someone else. This time it really seemed like XaAES had hit the end of the road, with no one interested in taking up the project again. After a period of complete standstill Dutch coder Henk Robbers took over the project in November 1999. During Henk's maintainership loads of progress was made, and XaAES went from interesting to becoming rather usable and showing great potential. The visual appearance was made to look closer to that of N.AES, as this was the obvious reference target - the AES that at the time was the GUI for FreeMiNT. XaAES also become a lot more robust although the response for key and mouse input was still somewhat of a problem.
XaAES goes CVS
In early 2003 Henk Robbers decided it was time to let someone else carry on his work, as he wanted to move on to other computing issues. When Henk went looking for someone who could take care of the continued development, the idea that XaAES should be part of the FreeMiNT project was suggested. After all, it was developed to be an AES for MiNT exclusively, and since FreeMiNT is being administrated via CVS, anyone could access the sources and contribute.
The move to CVS was made possible thanks to great efforts from the FreeMiNT maintainer Frank Naumann, who made the necessary changes to allow XaAES to compile under gcc. In earlier XaAES builds, one of the major problems has been the somewhat irregular response to mouse buttons. This has since been reworked by Odd Skancke (aka Ozk), something that also resulted in a complete rewrite of the XDD. The moose.xdd is now coded in C too, just like the rest of the XaAES code.
XaAES - A FreeMiNT kernel module
In order to get a clean and fast XaAES, the best solution turned out to be changing XaAES into a kernel module. To achieve this goal a completely new API was constructed, and it quickly got apparent that the new kernel module offered a massively improved performance. Most noticeably, the response time was significantly improved, resulting in a much more snappy and responsive experience when trying anything to clicking a button to seeing live window redraws and stuff like that. All in all, XaAES reached a whole new level after being integrated this tightly with FreeMiNT and as of the 1.16.1 FreeMiNT release it must be considered highly usable. With the implementation of window shading the list of missing features was getting short.