The programmers don’t design skins; they just make skins possible


Not all skill sets are interchangeable. That's why we have concepts like division of labor and specialization. But it appears that not everybody understands this.

I was reminded of this topic when I read the reactions to the Microsoft Exchange Team announcing that they had added Xbox and Zune themes to OWA. Many people were shocked, such as Loren, who was furious that "development time" was wasted on something frivolous like new themes when there are so many bugs that need to be fixed. Loren appears to believe that the people who do graphic design and the people who are up to their elbows in the code base fixing bugs and adding features are one and the same, that any time spent building a new visual style is time not spent fixing bugs.

Generally speaking, programmers don't do the visual design. I mean, these are people who are lucky if they are wearing matching socks when they come to work, if they even remember to wear socks at all. And you want them to design a color scheme? Visual design is done by people trained in the visual arts, people who know about color wheels and lighting effects, people who can argue for days about whether the spacing between two visual elements should be one point or two, about whether a serif or sans-serif font should be used for a particular screen element. What the programmers do is create the infrastructure for skins and themes, but the actual building of the skin or theme is left to the designers. Once the infrastructure is built, the programmers' work is pretty much done, and they can go back to fixing bugs and adding other features, stuff that keeps Loren happy. Of course, the infrastructure for themes and skins needs to be maintained, but the amount of work spent on maintenance is largely independent of how many themes the designers have come up with.

(Similarly, the office disco party happened to have been the handiwork of the infrared communication team, not the Windows 95 setup team, so any time they wasted on the party had no effect on Windows 95 setup.)

Mind you, the new skins do create additional work for the testers, who need to write tests to verify that that the new skins don't have bugs like "In the Zune skin, you can't read the subject lines." But presumably they already have a template for testing skins—after all, they have to test all the other skins—so plugging the new skin's parameters into the template is a comparatively low incremental cost.

So go ahead and enjoy those new themes, comforted in knowing that the effort spent in making those new themes was not at the cost of bug fixing.

Next time, a story about what happens when a tester needs to test the skinning infrastructure when there are no skins.

Comments (37)
  1. nathan_works says:

    The MS Exchange team should hyphenate their URL.. m sex change team .. Like the old joke email about poorly named domains, I believe the experts exchange finally hyphenated their domain name because of it..

  2. Zuny McZunington says:

    Is it just me, or is the Zune theme hideous?  Of all the colors in the world, why did they choose poop-brown for the Zune?  Am I supposed to flush it down the toilet after listening to a few songs or what?  I guess it’s somewhat fitting that the Zune turned into a brick a few days ago.

    On the other hand, I guess it would be kind of cool if the Zune could produce the brown note.

  3. andy says:

    This is similar to people who argue that for example nuclear physics researchers are just wasting their time and should rather work on solving health issues such as AIDS and cancer. For example this popped up several times when CERN’s new Large Hadron Collider (LHC) was described in the news last summer/autumn. It is especially ironic that the research done by CERN, and other institutions, have nice side-effects for also medical treatment.

  4. David Walker says:

    Interesting.  I know Excel VERY well (among other things), but I find that other people are MUCH better than I am at adding a little color and some visual highlights to spreadsheets, even if I wrote the formulas (and/or the VB code) that populated the spreadsheets in the first place.  

    I don’t have the faintest idea how to start making a spreadsheet look visually attractive, but I can parse a complicated IF formula that contains lots of ANDs and ORs as well as anyone.

  5. CDarklock says:

    @tsrblke:

    The problem with your argument is that the money you’re talking about is someone’s salary, and reallocating it means this someone has no job.

  6. Joshua Muskovitz says:

    Is it just me, or does everyone read the url as M-Sex-Change-Team?

    It makes the whole skinning discussion that much more amusing.

  7. Chris says:

    How about the effort the programmers had to put in to make it skinnable in the first place?

    [That would have been a valid complaint, but that’s not what people were complaining about. They thought skins were okay in general, but they believed that the Xbox and Zune skins were a waste of valuable developer time. -Raymond]
  8. Trevel says:

    If the programmers hadn’t gone through the effort to make it skinnable, then the programmers would have had to implement the "default skin" themselves. I don’t think this is a significant cost difference, especially if you have a skinning framework of some sort.

    It scares me sometimes how people consider other people to be interchangeable cogs, even when they work radically different jobs.

  9. Erzengel says:

    So very true Raymond, can’t wait to see the "testing skins without skins" story!

    Tsrblke: Reallocating money may be possible, but there is also the point of diminishing returns. You can’t just throw money at the problem, money doesn’t fix things. Money pays for people to try to fix things, but "too many cooks in the kitchen" has its own problems. Besides, not everyone has the brain for medical work, so eventually you’ll run out of people who can work competantly in the field.

  10. Leo Davidson says:

    @Zuny McZunington:

    "I guess it’s somewhat fitting that the Zune turned into a brick a few days ago."

    To be fair to it, it went back to working the next day, and only affected 30gb Zunes. And they’re very good DAPs, from what I can gather. (Not sold in the UK, sadly.)

  11. Steven Stewart says:

    I have, at every programming gig I’ve ever had, gravitated toward the "UI" end of development.  Don’t know why, but I love that kind of work.  I love making a responsive, logical, interactive UI.

    But I can’t DESIGN a UI for anything.  Anything I design looks like, well, an engineer designed it.  It’s laid out in a very methodical way, everything lined up, as if I was drawing blocks on grid paper.  In my mind, that’s exactly what I am doing.

    People who draw pretty pictures, and people who are well versed in HCI, are not always the same people who can breathe the breath of life into those designs and layouts…Though, in my time I’ve met a couple of annoyingly lucky bastiges that could do both.

  12. eff Five says:

    I think KC Lemson (the author of the announcement) got what he deserved since he failed to provide a preemptive snarky comment.

  13. dbt says:

    Skinning has a valid business case; often large institutions that are potential customers of products like OWA or gmail (gmail also recently added skins) would love to be able to brand their hosted web offerings.  Imagine a university being able to put their own colors and logo on their students email, etc.

    (Useful to the end user?  Probably not.  Helps close the sale?  Definitely.)

  14. elcuco says:

    m-sex-change-team ….

    LOL… FAIL :)

    I wonder if this is what you feel when you read the news ;-)

  15. dbt says:

    FYI: KC Lemson is not a "he", she is a she.

  16. benjamin says:

    Some programmers design skins…and generally we’re left wishing they hadn’t.

  17. Jeffrey L. Whitledge says:

    Sometimes I wish the software that I used had an "engineer-designed skin" available. The pretty stuff behaves in ways that I find non-intuitive, sometimes.

    I feel that way about Microsoft Money, for example.

    And it doesn’t take long to become desensitized to the fancy looks of a program, and then you just want it to work faster and better.

    But I supposed the ad-copy "Now with a boring CUI interface!" will not yield many sales.

  18. Gkeramidas says:

    this is a classic!

    " I mean, these are people who are lucky if they are wearing matching socks when they come to work, if they even remember to wear socks at all."

  19. Tim says:

    The excuses are nice and all, but I think it comes down to this: ‘Perception is reality.’

  20. Weiguo says:

    <i>Not all skill sets are interchangeable…but it appears that not everybody understands this.</i>

    that’s nothing new.  How long have people been posting on your ‘blog complaining about trivia in random Microsoft products that have nothing to do with Win32?  And attributing directly to you all (sometimes imaginary) problems even loosely related to Microsoft?

  21. steveg says:

    disco organised by the infrared team

    Makes sense, they’re the best qualified to see in the dark.

  22. tsrblke says:

    @ Andy,

    Be careful where you point that argument though.  A more reasonable argument could have been made that the *money* spent on the LHC could have been redirected, since money doesn’t have a skillset and can be reallocated (which is the argument I saw.)  This of course doesn’t apply here, since as Raymond said the incrimental cost is low for skinning.

    True though, the FermiLab produced some interesting particles that could be used in treating cancer (if you had a Supercollider to put the cancer patient near.)

  23. Yuhong Bao says:

    "break Aero by putting the company name on the right side of the title bar."

    MS actually already disable Aero if you tried to draw to the standard Windows title bar, apps have to create custom title bars to work with Aero.

    "Windows has stopped this program from executing because it not only tried to write to the Program Files directory"

    That is handled by file and registry redirection.

    "Invariably you’ll always seem those same flashy companies complaining when something changes, too."

    "Ah man, enabling high DPI mode broke my application! Microsoft sucks!"

    "Dude, Aero Glass defaults to reduced mode in my program! Ugh, looks like the people in Redmond are sucking it up again!"

    These developers should read the docs, presentations and blog entries for how to make their programs DPI and Aero compatible.

  24. Eugene says:

    FYI: KC Lemson is not a "he", she is a she.

    So that m-sex-change thing is apparently working!

  25. Brian Prince says:

    "Of all the colors in the world, why did they choose poop-brown for the Zune?"

    soil

    chocolate

    otters

    wood

    2/3rds of the Earth’s population

    Brown is a gorgeous color, and I’m disappointed they haven’t released the 120gb version with a more earthy palette.

  26. DriverDude says:

    "I wish there were something like DEP but for good practices violations."

    I think that’s called the Designed for Vista logo. But I could be wrong, because I swear I’ve seen logoed software misbehave when high DPI is set.

  27. Jennifer says:

    RE: matching socks

    I resemble that remark, Raymond. But I made it easier by getting SolMate socks from http://www.socklady.com/index.php (no affilliation – I just hate matching socks!)

  28. benjamin says:

    >Sometimes I wish the software that I used had an "engineer-designed skin" available.

    I *always* wish skinned apps had an option that said "Enough of this fruity stuff, standard interface, please."

    I’ll never understand why people want to take the untold millions of dollars in design expertise, user testing and debugging that Microsoft provides in the form of Windows user interface and try to re-invent the wheel. When I switched from Winamp to foobar everyone kept saying "Ugh, it’s so plain looking." Yeah, plain looking, intuitive and pleasing to the eye.

    Invariably you’ll always seem those same flashy companies complaining when something changes, too.

    "Ah man, enabling high DPI mode broke my application! Microsoft sucks!"

    "Dude, Aero Glass defaults to reduced mode in my program! Ugh, looks like the people in Redmond are sucking it up again!"

    I wish there were something like DEP but for good practices violations. I’d enable it in a heartbeat. "Windows has stopped this program from executing because it not only tried to write to the Program Files directory, but also attempted to use a Registry hack to add itself to the autorun list and break Aero by putting the company name on the right side of the title bar."

  29. Worf says:

    OK, I do have a Zune, but only because I’m a Halo fan and have the Halo 3 Zune. (Which has a symbol covering the Zune logo on the back, too – I guess the Covenant won’t even touch one, nevermind Master Chief?) Now… what would it take to have either a Halo or Halo 3 theme for OWA?

    (And can users choose them? I might just have to stop using Outlook for a Halo-themed OWA…)

  30. Mihai says:

    I think skins are a very often a waste of time, in general.

    Ok, I can understand skins in some fun game for kids. Or even in a media player.

    But in this case it really is a waste, both for developers and designers. Because we are talking the admin UI or Exchange Server! A expensive server professional thing touched by sysadmins only. What is the percentage of the population seeing it? And how many of them appreciate these skins (or even install them?)

  31. J says:

    Mihai:  We’re not talking about the admin UI or Exchange Server.

    And skin support practically falls out for free when everything is laid out via CSS.  Read all about it here:

    http://technet.microsoft.com/en-us/library/aa996029%28EXCHG.65%29.aspx

  32. Lee B. says:

    An interface that’s designed by engineers is not necessarily intuitive or pleasing to the eye.

  33. Andrew says:

    “They believed that the Xbox and Zune skins were a waste of valuable developer time. -Raymond”

    And they’re probably right. Programmers love to build abstractions like skinning infrastructures, but I’ve seldom seen one be both complete and bug-free enough that adding new skins is really the cinch that people always claim it is.

    And it seems to me that this is a particular blind-spot that the Shell team has had for many years in the past. So I’m very curious what Raymond’s take is on this.

    P.S. If Raymond knows that the new skins were so low priority that they’d have been abandoned if any issues were hit, that would explain his position.

    [But there was already a skinning infrastructure for the other themes (sky blue, etc.) Adding Zune and Xbox skins took no additional development effort. I can see your point if Zune and Xbox were the only custom themes available, because that would have removed the need for a skinning infrastructure at all. -Raymond]
  34. Andrew says:

    "I can see your point if Zune and Xbox were the only custom themes available, because that would have removed the need for a skinning infrastructure at all. -Raymond"

    No, with an incomplete or buggy infrastructure, almost every new skin triggers bug-fixes or enhancements to the infrastructure, or (after discussion with the developers) shoehorning the design into the existing infrastructure.

    If there are already existing skins, that doesn’t tell you much on its own – you also need to know how much of this they triggered.

  35. Tihiy says:

    So what’s why infrared was so shaky in 9x!

  36. Scott says:

    In my mind, skins fall into the same category as nls-support. Better to abstract it in the first place then to have a major piece of work to retrofit it later.

  37. ender says:

    > I *always* wish skinned apps had an option that said "Enough of this fruity stuff, standard interface, please."

    I agree. Windows XP and newer support themes that apply system-wide, why do some applications think that they can ignore/override my preferences (I’m looking at you, Office 2007!).

Comments are closed.

Skip to main content