This is a tutorial on making and using frames with XML. To see things in action, we'll be creating a little add-on that displays the Lua memory usage and updated every couple of seconds, therefore this can also be considered a tutorial on creating an add-on. In this respect, there will be a fair amount of repeated information from the Runes of Magic Wiki's add-on tutorial.
As there is simply too much to the topic of frames for a single tutorial, I'll only be covering some of the more common features, and yet it still needed to be split into two parts because of its length.
But before we get to that, we'll quickly review how Runes of Magic loads an add-on, take a very brief overview of XML, as well as have a short discussion on what exactly frames are.
As a reference for this guide, here is the code for the example add-on as it appears after completing part 2.
Also read this for more details regarding XML frames:
Explains layers, special keywords, XML validation and more.