PREVIOUS | TABLE OF CONTENTS | NEXT
Teknidermy Magazine - Issue 3 , Vol. 1
March/April, 2001

The Skinning EFAQ*
or, The Absolute Raw Newbie's
Guide to the Skiniverse

by clasqm
( * Embarassingly Frequently Asked Questions)
Last updated 13 February 2001

What is skinning?


Skinning is destined to be the dominant form of artistic
expression of the 21st century and beyond.


What is a skin?


A skin is a collection of computer files: some bitmap graphics,
possibly a font and an audio file or two, and a control file that
tells a special skinnable program what to do with them.
When applied correctly, these can radically change the appearance
and functionality of the program.


This makes the skin a unique artform. The control file (or ini
file
as it is commonly called, since many of them use the .ini
filename extension) is in fact a simple, even primitive computer
program, and the program that interprets it is the equivalent of
a BASIC interpreter or a Java runtime environment. To make a
succesful skin requires both artistic flair (or at least a steady
hand on the mouse and a vision of the final product) and a
conceptual understanding of how computers work. The skin is the
combined result of equal exertions by left- and right-brain. In
it, yin and yang, feeling and logic achieve their true
interdependence in a way not seen since the cathedral builders of
the Middle Ages.


Why do you skin?


The first program I ever skinned was Eurocalculator and I did mainly
Star Trek-inspired designs. From there I moved on to different
designs and different apps. Since then, "real life" has
intruded on my skinning existence from time to time, but once you
get into it, skinning is more addictive than crack. The thrill of
making a computer program look and behave the way you want it to,
even when you are too dumb and lazy to learn C++ and start
programming, can hardly be explained to those who haven't done it.


What kind of programs can one skin?


To start with, one can skin on any of the popular operating
systems. On Linux, all the main window managers and environments,
like KDE, Gnome and WindowMaker, accept different skins (though
they are usually called themes, see below). On
the Mac, a program called Kaleidoscope is the main way of
skinning the interface, and it remains to be seen how someone,
somewhere will figure out how to skin OSX. At the moment, I am
busy skinning on the BeOS, and I'm sure the last few remaining OS/2
users will let us know how their beloved OS is more skinnable
than any other, really.


But the main action is on Windows, of course, and here we
distinguish between

(1) skinnable programs, ie: only that one program (a calculator, a text editor, whatever) gets skinned.


(2) window dressers, where the skin gets applied even to
programs that were never written with skins in mind. There are a
few apps in this category, but Windowblinds
is the current king of the hill in this category.

(3) shell replacements. These replace Explorer, that
is, the start menu and taskbar, completely. Here Litestep is currently the best
known, but there are many ongoing projects, and some, like
Talisman, have their own band of supporters.

These categories are not completely exclusive: on Linux, for example, window manager themes combine aspects of window dressers and shell replacements,
and even within the Windows world, you can get a suite
of skins that attempt to give a consistent look and feel across
the shell, windows and skinnables. Window dressers are starting
to skin the taskbar, thus moving into shell replacement territory,
and there are skinnable app launchers and file managers that can
help you ignore the shell. But by and large, skins will still
fall into one of these three categories.


Some of these programs are straightforward commercial software.
Others are cheap shareware, or even completely free to download.
Some skinners refuse to work on commercial apps as a matter of
principle, while a few others (very, very few) have made a modest
living from making skins for the commercial software houses.


What is the difference between a
skin, a theme, a cloak etc etc?



Generally, the word theme is used for skins that are
applied to shell replacements. A few app authors have tried to
distinguish their product from the herd by using terms like cloak
instead of skin. You won't go wrong just calling all of
these skins.


What kinds of skin are there?


Whatever kinds of skin categories we set
up, there will always be a skin that defies classification. But
here are a few of the most common types:


1. Actual objects: This might refer to an instant
messenger program that is skinned to look like a cellphone, or a
calculator skin that resembles a real hand-held calculator. The
object being modeled would normally have some connection to the
kind of program its image is used to skin, but there have been
exceptions.


2. Other Operating Systems: Here skins are used to
make one operating system lok like another. One can actually be
using MS-Windows, but with the right skins it will look as if you
are on a NeXTStep workstation, an Amiga, a BeBox, an Apple Mac
... you name it. Prospective artists who are interested in making
such skins should be careful, though. Apple, for one, zealously
protects its trademarks, especially those that are most current.
And so there are skins that resemble the OS X interface Aqua (which
was still in beta at the time of writing), but you might find
them under names like Agua or H2O, and they would
definitely not contain Apple's trademarked "bitten apple"
logo. On the other hand, Steve Jobs no longer seems to care who
duplicates the look and feel of his old NeXTStep machines, and
that is a good example of how a Windows computer can be totally
transformed - see TheNeXT View for details.


You can find skins that will make your desktop look like it
was running QNX, BeOS, even (ahem!) Windows 3.1. There are skins
ported from Linux window managers like Enlightenment, Blackbox
and Gnome. Amiga, Atari ... if it has a GUI, someone will by now
have skinned it. This is not the same as true emulation, however
- that often requires extra software. For example, to simulate
a Mac on a Wintel machine you will need a program ( a kind of
shell replacement) that places the menu bar for all apps at the
top of the screen, plus a Mac-lookalike window dresser skin. To emulate
a Mac on the same box, you will need to run a program (really a
pseudo-OS) like Executor or Basilisk II - these will allow you to
run (some) real Mac programs. Skinning only gets you halfway
there, but the illusion can be very convincing indeed.


2a. A special case - LCARS: One operating system is
not only one of the most commonly emulated in skins, but enjoys
the peculiar honour that it doesn't really exist!

LCARS (Library Computer Access and Retrieval System)
is the fictional computer interface used in in the Star
Trek
movies and TV shows, sometimes also called an Okudagram. You
know the sort of thing, with curved, brightly coloured
bars all over the screen. A nice way of getting into skinning,
because the LCARS interface is relentlessly 2-D. But spare a
thought for the other species - there are few skins that
celebrate the Klingon, Cardassian or Ferengi view of computing,
and whole star systems lie open for the skinner who is prepared
to do a little research. Also, other fictional computer
interfaces like those in Babylon Five and Le Femme
Nikita
(the TV show, not the movie) have barely been touched
on. Star Wars skins tend to show up only when George
Lucas deigns to release another episode.


3. Techno/Science Fiction skins: This broad category
probably contains most non-OS skins. Characteristics of this
group include lots of metallic surfaces (sometimes a metallic
sheen on a oddly coloured texture), very obvious buttons, widgets
and gadgets, rounded surfaces (usually, but a suite like Scathe
revels in its angularity) and lettering rather than pictorial
icons.


4. Fantasy skins: From medieval skins (lots of
leather, parchment and wood) to the disturbed visions of Giger
and Lovecraft, if you have a taste for the Gothic, you will be
able to show it on your computer desktop.


5. Seasonal skins: Towards the end of the year, all
sorts of red and green skins start to show up on the skins sites,
with holly leaves and so on. Get the picture? The problem with
seasonal skins is that they are very culture-specific. Believe me,
Thanksgiving skins are completely meaningless outside the US!


6. Photoskins - not an actual category of skins, but
a general term for skins that contain copyrighted material, or a
photograph that, even if the copyright belongs to the skinner,
were simply superimposed on the skinnable app without any real
attempt at creative interpretation. All photoskins of the first
kind, and most of the second, will normally be rejected by a
reputable skin site. For a good look at how one can use a real-life
image but interpret it in a way that makes it rise above the
photoskins, take a look at the GSXR-750 series of skins on skinz.org. Here, the artist
celebrates the beauty of the motorbike, and uses its image, but
not in a simplistic way. The parts of the bike become functinally
and aesthetically elements of the skin.


How do I get started?


Find an app that you want to skin. Try to start with something
simple. Every newbie wants to skin Windowblinds or WinAmp,
apparently, but while these are well documented and not too hard
to understand, they are quite hard to skin well.Also,
your skin will be up against some formidable opposition - the
skins sites are bulging with skins for those two. Far better to
cut your teeth on something easy: Scribbles, Beatnik, Candy Clock,
Quicknotes, and wbiff are some easy-to-skin examples. Once you've
done those, move on to Eurocalculator, Sysmeter V2 or Sonique.
Once you have those under your belt you should be ready for the
major leagues: LiteStep, Talisman, NeoPlanet etc.


From your favourite skins site, find out where to download the
app of your choice (there should be an "application links"
page or equivalent). While you are on the app's homepage, browse
around and see if the author created a FAQ or tutorial about the
skin format. If there isn't, perhaps some kind skinner has
written one: fire up your favourite search engine and search for
both the app's name and "tutorial". If that doesn't get
you anywhere, have a look at the directory where the app was
installed - all you need may be in a readme.txt.


Now download some skins for the app. Install them, then load
up their ini files next to each other on your screen so you can
compare them. Look at the bmp files - can you see a pattern? For
example, in xxcalc you have a main graphic and a separate one for
each button. But in Eurocalculator, the main graphic is
duplicated three or four times, each one subtly different to show
different states. Now that you know that, does the ini file make
more sense?


The number of things an app author can do is actually fairly
limited, so after you've seen how some apps work you'll be able
to figure out others just by looking at the ini file. But be
prepared for surprises. In most cases, the x,y value of the top
left corner is 0,0 (the proper way), but I have come across an
app where that was 1,1 (it got fixed in the next version, which
meant that the ini file of every existing skin had to be changed
- %&$@#**&). Some apps allow you to define your own
transparent colour, but it is advisable to stick with the
convention of using "magenta" or "great pink"
(RGB 255,0,255) for this purpose - it will make your life much
easier if you decide to port the skin to another app or if you
need to reduce the graphic's size for a thumbnail shot.


What do I need?


If you have Windows installed, chances are that you already
have the basics: a graphics program called MSPaint and a plain
text editor called Notepad.


Of course, these tools are rather limited. While Notepad will
take you a long way, most skinners sooner or later move to a more
sophisticated editor, perhaps even one that they've skinned
themselves! I use the (non-skinnable) EditPad Classic, but there are
many other candidates floating around the Web, mostly freeware or
cheap shareware. A few apps have some sort of "skin builder"
built in or available for download and don't even require a text
editor. In fact, some recent skinnable apps use binary ini files
that cannot be read by a text editor at all. But most do still
use good old ASCII, so keep that text editor handy!


Your choice in graphics apps is more restricted.

Ulead and Corel make good apps, and some swear by them, but the big three are Adobe Photoshop, Paint Shop Pro and TheGIMP for Windows.
Photoshop is muchos expensive, unless you
get the "lite" edition, but then you might as well get
Paint Shop Pro. The GIMP is free, gratis and for nothing. But it
is a Linux port and it does take a while to get used to the
nonstandard interface. Any one of these three will handle layers,
transparency and all the other goodies that make skinning a
pleasure. But really and truly, there are great skins that have
been made with MSPaint. It just isn't as easy.


All the above are bitmap or "paint" apps, that is,
they draw one pixel of colour at a time on a blank "canvas".
But there are also programs that work with the mathematical
formulas that define lines and shapes. These are called vector or
"draw" programs. Unlike bitmaps, vector illustrations
can be resized without any loss of clarity. But in the end, your
skinnable app will probably require a BMP or GIF file, so you
will have to export to a bitmap format anyway.


If you prefer to work in vector mode, Corel Draw is the way to go for
most people. You'll probably still need a paint app for detail
work, but Corel's own PhotoStyler is in any case bundled with
Draw. If at all possible, try to work with Draw at a friend's
machine for at least an hour before you buy. Some people take to
drawing apps like ducks to water; others (even old-time bitmap
junkies like myself) never seem to get the hang of it. Also note
that a lot of middle-to-high end paint programs are now getting
limited vector support built in.


If, like me, you don't get along with drawing programs, don't
even think about 3-D design apps. For most skins,
they are overkill anyway. But if you insist, start hanging out
where the 3-D artists are and ask around. Bryce seems to be the
flavour du jour, but old-timers swear by POV-Ray.


OK, I've made a skin. Now what?


You should first use it for a few days, preferably a week and
see if it works! If it does, then you are ready to share it with
the world.


You will need your skin, all zipped up (in most cases, zip the
directory structure into it, please), a screenshot of your skin
in action (ALT-PrintScrn is your new best friend) and a skinner's
account at your favourite skins site. Unless you have a very good
reason for doing otherwise, I would suggest you choose one skins
site and stick to it. The various sites need to differentiate
themselves, to have that touch of exclusivity. Think of it as
doing your bit for the community.


Different sites also have different requirements, especially
when it comes to the size, transparency and colour depth of the
screenshot. Read the instructions carefully.


Oh, and of course you can always set up your private website
for your skins. Skins tend to take up a lot of space, so try to
get hold of one of the free website providers that give you 50 MB
or more. Tripod is a good
example, and is where my ownskins hang out.


Are skins Open Source?


Most skins consist of a handful of
graphic files and a text file. You don't get more open than that.
Even the newer XML-based file formats can be torn apart and
looked at, if necessary. But perhaps what you mean is if you can
take someone's skin, make some minor changes and claim it as your
own. There is a very simple answer to that:

NO


If there is one thing that will get your account at a skins
site cancelled, it is taking someone else's skin, changing the
colour here and there and uploading it under your own name. This
is called "ripping" and in the skinning community it is
regarded as something pretty close to Original Sin.


Of course, one has to be realistic. You might see someone else's
skin, think "I can do better than that" and go for it.
No problems there. And if you see that someone has developed an
unusual kind of button design, by all means download it, study it
and try to figure out how she did it, then go ahead and make your
own, improved version.


You can even pick up a series of skins that another skinner
has stopped working on and adapt the concept for apps that have
appeared since, after you have emailed the other skinner
and asked for permission. Just don't take someone else's skins
and put them up under your name. If you like a skin except for
the colour, change it, sure, but never let it go beyond your
personal desktop.


I'm not artistic, but I do know how to program ...


First of all, get the idea out of your head that you need to
be some kind of head-in-the-clouds, body-starving-in-a-garret
"arty" type to become a skinner. Skinning is a strange
mixture of artistic expression and programming, and some skins
tend to one side of the equation, some to the other. If you look
around you will find skins that are aesthetically straight-up-and-down,
but that make clever use of the skinnable app's features to offer
possibilities that even the programmer hadn't quite foreseen.
There are skinners who specialise in minimalist skins, using as
few graphical elements as possible, even to the extent of using
only black and white. With the Net as your distribution system,
odds are that someone out there will like your work. In
all the time I have been active as a skinner I have never seen a
skin that wasn't eventually downloaded within a week.


The Net is awash with PS and PSP tutorials that will tell you
how to make something look metallic, or semi-transparent, or
whatever look you fancy. Can't "draw a straight line"?
On a computer, unlike on paper, drawing a straight line is
actually easier than drawing freehand. The vast majority
of skins can be deconstructed to a small number of simple objects
like rectangles and circles, and these have then been given a
surface texture and a nice bevel for show. With practice, you'll
find you are more "artistic" than you ever imagined ...
Yes, there will be people with more innate graphical talent than
you, and their skins may look nicer than yours. But there are
ways to make up for that, with a novelty factor, with technical
innovations, a consistent look across applications, or just with
a skin that "fits", that is so easy to use that it
immediately feels right.


But I'm digressing again. Perhaps what you meant was that you
were thinking of writing a skinnable app. That's great, we can
always use more. But have a look at what's already available.
There are several clock apps already. If you must write your own
clock, think very hard about what will make yours different. Same
with calculators and Notepad replacements. If your app has
basically the same functionality as an existing one, don't expect
skinners to flock to it. They might grudgingly port a few
existing skins, but progress will be slow. But if you wrote a
skinnable clock that could tell the time in 24 cities around the
world at the push of a button (so that when you push "New
York" a skin with the Manhattan skyline comes up, etc), or
that told the time since the creation of the universe as
calculated by different cultures, with a different skin for each
culture, that might get some interest in the skinner community
...


Once your app is at the stage where you are pretty sure that
the skin specs are not going to change (or at least, that you can
make it backwards-compatible), contact a few skinners whose work
you admire, tell them of the app you're developing and ask them
if they'd like to work on the first few default skins. Skinners
are really, really vain when it comes to their skins; create a
hush-hush aura around the project, make them feel like the chosen
few and they'll be yours for life. The next step is getting the
main skins sites to create a category for your app. This may be
done through the traditional methods of blackmail, intimidation
and putting horse's heads in people's beds. Or you can just ask
nicely. Once the category is up, upload your default skins even
if they are included in the distribution files. This is called
advertising, but if anyone enquires, just tell them that it is in
case a user accidentally deletes the files.


Once you have gotten over 100 000 downloads of your app, you
can announce that version 2.0 will have vastly improved
facilities and will only be available on an annual subscription
basis. At this stage you hand over development to a flunky and
retire to Tahiti ... OK, not really.

clasqm: "the Skinners EFAQ"
clasqm@mweb.co.za
http://clasqm.tripod.com

 

PREVIOUS | TABLE OF CONTENTS | NEXT