Hello There, Guest! (LoginRegister)

Skinning Documentation

Introduction to Skinning
Getting Started
What's a Skin in Messenger Plus! ?
How Does it Work?
Integration with Messenger
Your First Skin
Skins Essentials
Windows Definitions and Styles
The Trace File
Using Pictures
Packaging Your Skin
Specialized Subjects
Restrictions: How and Why?
Reshaping Your Windows
User Modifiable Options
Options for Advanced Users
Skinning Plus! Itself
XML Schemas Reference
SkinInfo Files
SkinInfo Information
SkinInfo Diagram
Schema Documentation
Messenger Plus! Interfaces
Interfaces Information
Schema Documentation

What's a Skin in Messenger Plus! ?

In the world of software, "skins" generally refer to custom graphical interfaces created for an application. Skins in Messenger Plus! are exactly that: a way to customize the look of Messenger. Since the days MSN Messenger became popular, people have spent their time and talent creating skins for Messenger. The concept is not new but Messenger Plus! brings it back with a couple of new twists.

With time, creating skins for Messenger proved to be a rather complicated task. Nowadays, anybody who wants to customize the windows of Messenger from scratch needs to have good knowledge of how resource files are organized, find where the files needed to be modified are, get past encrypted pictures, spend hours getting information from style files full of de-referenced data... and when all of that is done, a special installer program needs to be created to modify the binaries of Messenger appropriately and unfortunately, all the changes applied by the skin will go away as soon as the user applies any other update (or even another patch) to Messenger.

For all these reasons, skins created for Messenger have become quite rare and this is why a brand new skinning system was developed for Messenger Plus! Live. If you are reading this documentation wondering why you would choose to create a skin for Messenger Plus! rather than a skin for Messenger itself, here is a list of some of the reasons you may find appealing.

Developer's point of view (you) :

  • No knowledge of resource files structures is required. You won't need to repack Messenger resources with your modifications either (no need for a resource unpacker/repacker tool).
  • You won't ever need to check if a new version of Messenger uses new file names, new directories or new internal methods to display its interfaces. Messenger Plus! skins are created as separate entities and Messenger Plus! itself is in charge of ensuring file compatibility with all (present and future) versions of Messenger.
  • Your skin won't disappear every time an update is released for Messenger or a user decides to apply a patch that modifies the resources. This is particularly interesting for small updates that do not modify the interface but only fix some known problems. This kind of update is expected to become more frequent now that Windows Live Messenger is using the Windows Update system.
  • Redistributing modified Messenger binary files is not really legal and creating a proper installer for that can be tricky as a skin created this way generally only works on one specific version of Messenger. In addition, redistributing entire binary files requires much bigger setup files. Messenger Plus! skins are packed only with the resources modified by the skin.
  • Finding the right resource to modify can take hours, even with a a specialized resource unpacker program. Messenger Plus! extracts all the pertinent resources of Messenger with a single click, organizes the files in categories, decrypts most of the RLE encrypted pictures, creates maps of which picture is used by which window and rebuilds windows definitions and styles files to include most of the de-referenced data directly inside the file (like color codes, texts, ...). In less than a minute, you'll get everything you'll ever need to customize anything you want in Messenger.
  • No need to create an installer, Messenger Plus! skins can be packed for redistribution in seconds.
  • Many good skins disappear over time because of the amount of work required to ensure compatibility with new versions of Messenger. Updating an existing Messenger Plus! skin for a major update of Messenger is an easy task that can be executed quickly. Backward compatibility is also possible so a single skin file can work the same way on multiple versions of Messenger.
  • Messenger Plus! brings its own additions to the world of Messenger skins: you'll now be able to do things like add user modifiable options for your skin, add multi-language support or change the shape of Messenger's windows.
  • Trace file automatically generated when a parsing error is detected in a window definition or style sheet files. This trace will help you to quickly find typos inserted by mistake in the Messenger files you edit.
  • Messenger Plus! has a user base of more than 22 million active users (as of November 2007). By creating a skin for Messenger Plus! and sending it to the official database for public distribution, your work will instantly connect with millions of people.

Users' point of view:

  • No potentially dangerous executable file to run to install the skin (and in Vista, no need to request elevation because the skin needs to modify files in Program Files). Messenger Plus! Skin Packs bring a uniformed way to install skins efficiently into Messenger.
  • More than one skin can be installed at a time allowing users to vary their experience.
  • Messenger Plus! skins can offer a variety of options to their users. Many elements can be changed on the fly without the need for reinstallation, allowing even more customization per skin. This means that as a skin developer, you also won't have to make all the choices for the users (like what buttons to keep in the toolbar).
  • Messenger Plus! skins resist to Messenger updates (any small update distributed for security or bug fixes reasons). When a bigger update is applied and the skin gets disabled, the user will have the opportunity, from the Plus! menu, to access the official database or the developer's web page to get a new version.
  • Less risk associated with installing a new skin: Messenger binary files won't be touched and a skin can be disabled as quickly as it can be enabled. Also, in case of a major issue with a skin, the user can quickly restore his Messenger with the Maintenance Wizard of Messenger Plus!. That's less responsibilities for you and more peace of mind for your users.

Although Messenger Plus! skins have even more to offer than what's listed here, this page looks enough as an infomercial as it is already. We simply hope that we've picked your curiosity and that this will be enough to convince you to take a closer look into the Messenger Plus! skinning system. After that, you're free to choose whether you want to use it or not. Keep in mind that if you consider it important to offer a skin to your users that does not require any additional add-on such as Messenger Plus! to be installed, you can still offer two versions of the same skin, there's no need to be exclusive if you have time to develop both ways.

Some of the advantages offered by the Messenger Plus! skinning system come from the fact that, like everything else in Messenger Plus!, all the changes are done in memory. Messenger files are never touched which solves many problems (and creates others but you can leave that to the guy in charge of Plus! ;). The active skin is analyzed when Messenger starts-up, all the resources are loaded in memory and Messenger Plus! then takes care of sending the skinned material to Messenger when appropriate. You'll never have to worry about the technical details, all you need to do is concentrate on your own files.

Now that you know what these skins are about, it is time you learn how the system works.

See Also

Introduction to Skinning, How Does it Work?.