• Share this article:

Native Look and Feel?

Tuesday, March 20, 2007 - 16:47 by Wayne Beaton

Every once in a while, I review the SWT snippets. These are available both through the SWT project website and directly from the CVS server. Today, I updated the project from CVS and started looking through the additions. My usual process is to start with the highest numbered snippet and work my way backwards until I run into stuff I’ve already seen.

Today, I made it as far back as snippet 250. Snippets 250 and 251 show off the new DateTime widget (currently part of Eclipse 3.3M5eh). This widget can be used to create a calendar, date spinner, or time spinner. Snippet 251 is shown in action below.


I found what I believe is a bug (178372) in the SWT.DATE variant of the widget (I worked around the bug for the screenshot) and I have a problem with the calendar control (I’d like it to let me deselect the date; i.e. allow null to be a valid value so that I can unset dates) that’s really more of a feature request (178362).

The real problem that I have with this new widget has nothing to do with SWT. At least I’m pretty sure that it doesn’t. My problem is that this widget looks nothing like any other calendar widget on Windows XP.

I’ve read a lot of blogs and comments on blogs lately that suggest that other applications are “more native” looking than Eclipse. When I read this sort of charge, I’m left with what should be a pretty simple question: just what the heck does “looks native” even mean? The DateTime widget uses the native DATETIMEPICK control on the win32 platform (an emulated one is currently used on Motif, Photon, and Windows WPF), so this widget definitely “looks native”. However, a quick look at the “Date and Time” properties dialog on Windows XP reveals a completely different control with a completely different look. And in Microsoft Outlook, the drop-down calendar on the Tasks view is again different (I’m not posting screenshots because I don’t want Microsoft’s lawyers after me).

After poking around for while, I did find an instance of what at least looks like the native control on the Windows XP “Scheduled Task Wizard”. So, I guess that it’s probably fair to say that the “Scheduled Task Wizard” looks native. That’s one.

To be completely honest, I’m not sure that I even know what a “native” Windows XP application is supposed to look like. As I survey the various applications I have running, it occurs to me that they all have at least slightly different looks. Curiously, Microsoft itself seems to be the worst offender. The Microsoft applications that I run are the ones that look the least “native”. I managed to yank the menu bar off the top of the search window in Outlook and now it’s attached to the left side of the window (with text flowing bottom to top). I thought that menu bars are supposed to be fixed (I could be wrong, I’m not expert on Windows User Interface Guidelines). The new version of the Windows Media Player looks anything but native. The new version of their Office suite—which I’ve only seen from a distance—seems to throw any notion of a “native” look (and feel) out the window (failed pun attempt intended).

So what makes Eclipse look less than “native”? Is it those fancy curvy tabs? That’s a pretty easy thing to change if it really bothers you. Is it resizeable views and perspectives? How about we make Eclipse look like Outlook? There… isn’t that better?

I wonder if the real problem is that Eclipse just looks too native…