Skins

How do we approach skins as a research issue?

The following is from a note I sent Ruth Nichols who is doing her M.Sc. thesis on skins and UI at McMaster.

1. How do we approach skins as a research issue?

1.1 On aspect of the research is to describe what skins are, their history, and their use. It is safe to say that they have proven successful or widely used in certain areas. Can we learn more about where they appear to be successful? This is a question about computing culture.

1.2 We can place them in the larger picture of HCI? What type of interface is a skin? I think we need to distinguish traditional User Interface Design from what I am going to call Designer Interface Design. UID is about interfaces for end users. DID is about designing intermediary interfaces aimed at designers who then design UIDs for end users. The question then is (see below) How and when to design Designer Interfaces?

2. How do we design a Designer Interface? What makes for a good DI?

2.1 Part of the answer is what types of applications seem to be attractive to designers to design for. We can hypothesize, based on looking at where skins have been successful that there are two situations where DIs are popular:

2.1.1 – Applications that are used frequently by users and therefore end users are likely to want to make attractive. Further, it is likely that applications that users use for consuming cultural content as opposed to applications for productivity are more likely to be applications for which end users want to change skins. The idea is that if you are using the app to access art/music/entertainment you are more likely to want to have the app be entertaining.

2.1.2 – Applications that are used by entities that want to brand the application for a community. Situations where an entity like a corporation might want to brand an app used by their employees are ripe for skins.

For this reason you focus on the browser as an app to customize.

2.2 Part of the answer is asking what do skin designers typically do? What do they like to change? If we can figure out what designers of skins care about then we can figure out how to give them the control they want while hiding the rest. This assumes that most skin deisigners are graphic designers with some computing skills, but not programmers.

The answer lies in the nature of skins. Skins typically play with two elements:

2.2.1 – Arrangement of features

2.2.2 – Appearance of features

To a lesser extent features can also be shown or hidden.

What skins do not do is really add new features. They are about creating a aesthetically coherent and pleasing interface to a tool that suits a corporate or individual need for appropriate appearance.

Therefore your project aims to create a simple XML language that combined with an image editor could allow designers to create skins effectively.

3. How are skins delivered, consumed, and installed?

Something you don’t do, but is implied in your project is that there is a larger question about how skins are consumed. Typically they are created by designers not for pay, but for the pleasure of doing it and for the “fame”. They are part of a gift culture. The app creators can significantly increase the value of their application if they can trigger the gift culture that adds value to the basic app.

One of the basic issues, however, is the ease of installation of skins. Skins by definition have to be easy for end users to download and install. They can change the look, but they can’t crash the program. This is why you have started using Java – eventually you need to develop a skinning evironment that is:

3.1 Easy for a designers to use and deliver with.

3.2 Easy for a user to use to install and change skins.

XSL (and for that matter XUL) is not suitable for either designers or end users.