Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

What is a "native" Windows app?

By MSBob in Op-Ed
Thu Jun 13, 2002 at 08:44:51 AM EST
Tags: Software (all tags)

With the advent of Windows XP Microsoft has finally kissed the Windows consistency goodbye for good and embarked on the slippery slope of having an environment with an inconsistent look and feel between apps and sometimes even glaring inconsistencies within a single same application.

Sponsor: rusty
This space intentionally left blank
...because it's waiting for your ad. So why are you still reading this? Come on, get going. Read the story, and then get an ad. Alright stop it. I'm not going to say anything else. Now you're just being silly. STOP LOOKING AT ME! I'm done!
comments (24)
active | buy ad
It is becoming quite ridiculous. The release of Windows XP has finally revealed to the masses just how non-uniform Microsoft the company is.

A first look at Outlook 2000 - the latest I have access to - shows clearly that portions of the UI have been written from scratch instead of reusing Windows native widgets. The Outlook Mail preview pane uses the native Windows scrollbar while the upper pane which usually lists the inbox items has something custom drawn that resembles the old style scrollbar except it doesn't behave quite right. Moving it does not update the window until the scrollbar is released, which is quite annoying.

Even more inconsistent, to the point of being funny, is the UI of the new Visual Studio.NET. This brand spanking new product truly feels like a work of a big international conglomerate. Each window pane seems to use its own widget toolkit which is inconsistent with the neighbouring pane and inconsistent with the outer, main frame window.

The 'Solution Explorer' window uses what appears to be the new style scrollbars with the 'old style' tree widget. The source window seems to be using a custom draw scrollbar which has the Windows 95 look'n'feel while the dialog boxes use a mixture, probably depending on who coded the particular dialog. Selecting the Customize... option brings up a dialog with Windows 95 style widgets while pressing the Keyboard... button on that same dialog box pops up a new dialog box which uses new XP style widgets (notice the buttons and scrollbars again). Selecting the Options... dialog reveals even more inconsistencies. The Left hand side feels like something that isn't a tree view but tries to act as one. Different sheets on that dialog (whatever happened to old property pages?) seems to bring up a different style UI. Some have the modern XP style widgets while others use old Windows95 style ones. Finally there are some, such as the Projects sheet, that implement the new 'web' look and feel.

All this on a single dialog box.

Now, the main window itself is quite interesting as its toolbars and menus have a look and feel that is not consistent with either the old or the new widget style. It's the 'flat look' web style collection. Must be that that's what the developer who wrote the main shell enjoyed using. What is really funny is that my Java IDE (called Eclipse) looks and feels far more native on Windows than Visual Studio.NET. Oh, and by the way, Eclipse is written in Java

What is the point of this blather? The point is that for many years, Microsoft kept feeding us developers stories about the importance of a consistent look and feel for Windows applications and urged developers to use MFC and nothing else, while at the same time putting down toolkits such as QT and Swing for their 'non-native' look and feel. Clearly they refused to eat their own dogfood, which has now become apparent now that Windows XP supports widget themes.

And what is the deal with the "web look"? Is Microsoft suffering from attention span deficit disorder? It is no more than a year since Windows XP came out and they are already refusing to use its theming engine and are (possibly) embarking on implementing yet another widget set. Why not implement the 'web-look' as a theme which uses the XP theme engine? Is the theme engine capable of rendering such style? Are there limitations to it that forced yet another widget set project within Microsoft?

While this may sound like an anal discussion about widget eyecandy it reveals a very important message to developers who target the Microsoft platform. The message is that there is no standard look and feel of a Windows application and even more distrubingly there likely is no standard Windows widget toolkit either as the old Windows 95, the new Windows XP and the supernew Web-style widgets compete for the title of being the native Windows.

If Microsoft are scrambling to define their own UI strategy, developers are left in limbo. In this situation the best option is to forego the Windows based APIs and use something that is actually nice for the developer such as QT or Swing/AWT if you're doing Java. There is no point to adhere to capricious Windows UI standards that are clearly incoherent and not followed by Microsoft themselves. All of a sudden, neither Mozilla nor Swing applications feel 'alien' anymore in this myriad of buttons and scrollbars all different and all pitfully inconsistent in their look and their behaviour.


Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure


Related Links
o Eclipse
o Also by MSBob

Display: Sort:
What is a "native" Windows app? | 97 comments (78 topical, 19 editorial, 0 hidden)
WHO CARES!? (1.64 / 34) (#1)
by autopr0n on Wed Jun 12, 2002 at 11:20:39 PM EST

[autopr0n] got pr0n?
autopr0n.com is a categorically searchable database of porn links, updated every day (or so). no popups!
Which toolkit? (3.83 / 12) (#2)
by tftp on Wed Jun 12, 2002 at 11:22:49 PM EST

the best option is to forego the Windows based APIs and use something that is actually nice for the developer such as QT or Swing/SWT if you're doing Java.

I use Qt 3.0.4, Commercial version. Works great, it is much better OO application framework than MFC ever was. I still have couple of MFC apps waiting to be rewritten to Qt, the rest is Qt only (and works on UNIX and Win32 too).

Missed one... (3.50 / 2) (#50)
by pauly on Thu Jun 13, 2002 at 10:02:59 AM EST

(and works on UNIX and Win32 too)
...and Mac OS X. Damn QT is cool -- I couldn't agree with your accolades more.

[ Parent ]
Nice FUD (1.65 / 20) (#3)
by DeadBaby on Wed Jun 12, 2002 at 11:30:36 PM EST

Great work.
"Our planet is a lonely speck in the great enveloping cosmic dark. In our obscurity -- in all this vastness -- there is no hint that help will come from elsewhere to save us from ourselves. It is up to us." - Carl Sagan
FUD???? (4.83 / 12) (#6)
by MSBob on Wed Jun 12, 2002 at 11:32:59 PM EST

Why FUD. I AM a Windows developer. This stuff is actually relevant to me as I'm starting work on a new project and have decided to avoid coding to a native Windows API for the reasons mentions in the post. This is no FUD this is something MS developers must face everytime they are about to begin a new development effort.
I don't mind paying taxes, they buy me civilization.

[ Parent ]
I agree (4.00 / 1) (#19)
by ROBOKATZ on Thu Jun 13, 2002 at 12:41:04 AM EST

What confuses this issue further, is that customers want the latest and greatest UI features. But for every minor "improvement" in the UI you risk confusing less experienced users. If all applications would adhere to a fixed standard, this would not be a problem. And Microsoft is the only organization that would be able to establish solid UI guidelines. However, since they consistently break their UIs, they instead set the standard for consistently broken but "cool" UIs which people come to expect. Sigh..

[ Parent ]
Yes (4.00 / 3) (#29)
by DeadBaby on Thu Jun 13, 2002 at 02:39:39 AM EST

They have to face similar issues on every major/popular OS. Mac OS, Mac OSX, Linux, Windows XX -- they all have different UI toolkits you can use. The fact you single out Microsoft while trying to say QT and Swing are an answer to the problem is where the FUD comes into play.

We're lucky that any apps look the same, even with Microsoft's various toolkits their widgets still work and look very similar to each other. I'm sure it'll confuse some people but your solution, using QT or Swing, would confuse them even more.
"Our planet is a lonely speck in the great enveloping cosmic dark. In our obscurity -- in all this vastness -- there is no hint that help will come from elsewhere to save us from ourselves. It is up to us." - Carl Sagan
[ Parent ]

speaking of fire and movement... (none / 0) (#66)
by Shren on Thu Jun 13, 2002 at 02:13:58 PM EST


Just kidding. If there is a problem with Microsoft, I don't think it comes from the coders. You guys write some good code - I was very impressed by ATL. It's a nice example of what you can do with multiple inheritance if you use it in a coherent framework.

[ Parent ]

You seem to hit on another issue... (3.00 / 6) (#10)
by Ken Pompadour on Wed Jun 12, 2002 at 11:43:43 PM EST

(topical this time...) That is, the difference between so-caled "native" widgets and frame-buffered widgets. You seem to prefer native widgets, but I cannot understand why. They're inferior in every way except speed.

...The target is countrymen, friends and family... they have to die too. - candid trhurler
Why? (4.50 / 2) (#27)
by Hobbes on Thu Jun 13, 2002 at 02:22:31 AM EST

I've never done any graphical work, but it seems silly to use custom widgets when you have the native OS widgets right there.  Is it just the look of the widgets?

Personally, the windows application that I use with a non-standard look and feel drives me F-ing batty.  (SAP, ever tortured by it?)  Consistent UI look and feel is key to gaining higher productivity for me.

As bad as I am, I'm proud of the fact that I'm worse than I seem.
[ Parent ]

SAP Frontend (4.00 / 1) (#32)
by nospoon on Thu Jun 13, 2002 at 03:43:18 AM EST

I think SAP Frontend is ok, but I'm trying to hack together an XP theme for it anyway.
Look in your sapguithemes directory and there is a default and HighCont directory.  I copied the default to a new directory and I'm editing all the bitmaps to look like WinXP.  There is an .ini file somewhere that you have to add the new theme name into (I can't remember where right now.)  If I ever get it finished I might post it for download somewhere.

[ Parent ]
Frontended (none / 0) (#37)
by Mashx on Thu Jun 13, 2002 at 07:38:15 AM EST

It looks okay to me as well, but start to mess around with different font sizes etc and it behaves as if it is a beta release.  You have to wait for it to wake up when switching between it and another window, it doesn't minimize when you try 'Minimize All Windows' (is that a MS fault though?), and it doesn't focus even though it insists on coming up in the foreground (à la Microsoft).  

The Java front end behaved so much more nicely, I wonder if half the developers in Walldorf were playing with that instead of the standard..
[ Parent ]

You missed my point (none / 0) (#55)
by Ken Pompadour on Thu Jun 13, 2002 at 11:39:05 AM EST

By 'native' I meant 'draws the widget directly to the screen without using an intermediary surface.' Sorry about that...

...The target is countrymen, friends and family... they have to die too. - candid trhurler
[ Parent ]
UIs (4.42 / 7) (#12)
by ucblockhead on Wed Jun 12, 2002 at 11:50:16 PM EST

They fairly explicitly have two different UIs in the .NET framework, an older style "Forms" UI that acts like old Windows, and a newer style "Web" UI that acts like, well, the web.

Rumor has it that they want to merge them. Lord knows how.

But yeah, this has been an issue since MS-DOS 3.0. Microsoft changes direction every nine months or so, and heaven help the developer who tries to keep up with all the zigs and zags.
This is k5. We're all tools - duxup

Pure Evil (4.40 / 5) (#51)
by retinaburn on Thu Jun 13, 2002 at 10:10:09 AM EST

Rumor has it that they want to merge them. Lord knows how.

By strapping them to two large wooden tables. Hooking a small metal helmet to each and throwing a large switch. Harnessing the power of *electricity* to create something trule monsterous.

I think that we are a young species that often fucks with things we don't know how to unfuck. -- Tycho

[ Parent ]
Bashing (2.93 / 16) (#14)
by jabber on Wed Jun 12, 2002 at 11:59:50 PM EST

The article uses the example of XP and MS apps to make a good point about UI inconsistancies. Because it is so MS-centric in it's bemoaning the real point of the piece, it comes across as MS-Bashing. I agree with the points made about the importance of UI consistency, but in this area, not even the Mightly Linux is exempt. This is not a Microsoft problem, and it is unfair and opportunistic to present it with such implied bias.

-1 for the propaganda. The underlying topic is very good and well worth discussing. Please revise and resubmit in a more even-tempered form.

[TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"

Disagree (4.37 / 8) (#16)
by MSBob on Thu Jun 13, 2002 at 12:09:15 AM EST

My point foremostly applies to Windows. Microsft have heavily criticised Linux in the past for its lack of a consistent UI. They often quoted it as a Linux's weakness. Now that the cat is out of the bag, so to speak, we can clearly see they are not much better themselves. A classic case of a pot calling a kettle black. The Linux UI is inconsistent, everyone knows that (and repeats it too if they have an axe to grind against Linux) but few people notice that Windows is almost as inconsistent while they themselves have been touting consistency as a big selling point in Windows.
I don't mind paying taxes, they buy me civilization.

[ Parent ]
linux'es UI inconsistancy by a linux user... (4.00 / 5) (#22)
by KiTaSuMbA on Thu Jun 13, 2002 at 01:39:54 AM EST

I see the point of MS being inconsistent within their own developer suite (!?! terrible PR) while bashing unices for that account. As a linux user I see the "inconsistency" among kde (QT), gnome (GTK), lesstif, tcl-tk and a parade of window managers (enlightment, windowmaker, whatever else)... But that's what I really like! This multi-overlaping of different graphical interfaces assures you that there will be at least one of all the latest versions that you actually like and want to use. On windows instead you are rather *stuck* with it: did I mention how much I hate fading, whitened (like clorinated clothes) menus? So the MS got a blink of genius to use a theme engine only to drop it some months afterwards. The real inconsistency problem here is not about UIs (they messed up an app, fine with me - it's not like you *have* to use it) but rather about MS "preaching" and MS "acting."

There is no Dopaminergic Pepperoni Kabal!
[ Parent ]

This effect is everywhere now (4.00 / 1) (#86)
by thebrix on Fri Jun 14, 2002 at 05:40:48 AM EST

The whole notion of 'user interface (in)consistency' is breaking down anyway because of application-based skinning, which makes individual applications visually inconsistent by choice.

Some people (most notably Jef Raskin) are dead against it because - to be irreverent - the user interface designer spent a labour of love in creating an austere and minimalistic interface which the user had the impertinence to throw a pot of paint over.

I worry less about this than he does; as long as the operation of controls is unaffected, and there is always the option to go back to the 'austere interface', throw away!

Really, the differences between KDE, Gnome, MacOS Classic and X and Windows 95+ are mostly superficial and to do with skinning; although there are some unique controls (rarely used, as it turns out) in each window manager there's little variation, and can be little variation, in how a scroll bar, a toolbar, a drop-down list or a button works, for example.

[ Parent ]

In that case, there's nothing to see here (2.00 / 1) (#47)
by jabber on Thu Jun 13, 2002 at 09:36:55 AM EST

The cat has never been in the bag to begin with. MS lack of UI coherency has always been clear to anyone who messed around with color schemes. The fact that most 'customers' buy the 'consistency' pitch just goes to show that they're not even enthusiastic or curious enough about their computing experience to change the Look-n-Feel of their interface. <rhetorical>How can you expect to swing these people over to an alternative like Linux?</rhetorical> They are just Mac users in denial, after all. ;)

[TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"
[ Parent ]

I disagree. (4.50 / 6) (#31)
by NFW on Thu Jun 13, 2002 at 03:20:56 AM EST

This is not a Microsoft problem [....]

Microsoft's disregard for their own policies is Microsoft's problem. The profusion of UI toolkits and themes and such is a widespread problem, but Microsoft is in the unusual position of having spoken out against it repeatedly while at the same time contributing to the problem.

You couldn't write an article like this about other environments, because in other environments it's more a problem of too many independent developers persuing their own individual goals. Fragmentation is to be expected from a group of entities that never agreed on anything to begin with. The most you can do is beg everyone to put their heads together and agree on some common standards.

Fragmentation from a single entity - and one that has publicly opposed this kind of thing - is different kind of problem. The least you can do is expect them to follow their own guidelines.

The fact that the writer focused on Microsoft's shortcomings in this area does not make those shortcomings any less true, nor does it make the author's criticism any less valid.

Got birds?

[ Parent ]

It's a fact of life (4.00 / 1) (#48)
by jabber on Thu Jun 13, 2002 at 09:47:36 AM EST

Show me any organization that's 'large' and fully coherent. As an entity grows linearly, the need for communication growe geometrically, and things get lost in the process. I work in a large company and see this lack of synchronization daily, so maybe that's why I'm not so outraged. I see it as completely normal - harmful, disturbing and unfortunate, but unavoidable.

My objection to the article is not that "MS doesn't follow it's own policy". The thrust of the article, and it's most interesting point, is that UI consistency is a good thing, and it's lack, a bad one. If other OSes were mentioned, and their consistency issues at least summarized, I would have been happy. The focus on MS made the article seem as one of two things: Bashing, or Incomplete.

Had there been a so much as a single paragraph to acknowledge MacOS as superior in this area, and another to justify Linux schizophrenia as the result of multiple competing GUI options, and maybe one more to show that there is some consistency in vendor-specific Unices (or there isn't) like AIX, HP-UX, Solaris, IRIX, etc; then the article would have been both complete and fair - while still making MS the case study.

MS hypocrisy wasn't prominent enough to be the point of the article, IMHO. The article was about consistency, and it didn't do the topic justice.

[TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"
[ Parent ]

Re: It's a fact of life (5.00 / 1) (#88)
by bluebird on Fri Jun 14, 2002 at 08:47:50 AM EST

"Show me any organization that's 'large' and fully coherent"


It is large, more than 200 active developers and more than 1000 developers.

It is fully coherent. This is one of the reason for which I like them. They have a UI style guide, which is followed. And they provide many way to enforce consistency.

[ Parent ]

Linux seems always the exception (5.00 / 1) (#90)
by jabber on Fri Jun 14, 2002 at 10:00:24 AM EST

Ok, that I'll grant, but along the same lines, I'd have to grant that the whole process of evolution also applies.

I really should have phrased that as 'traditional organization', you know, with deadlines, and managerial pressures, where doing things is required to get paid.

The KDE and the rest of Linux have a schedule they want to adhere to, but if any one person falters, the project isn't 'compromised'. Volunteer work is always higher quality than for-pay, because the job is the motivation.

Corporate, federal, special interest, all these contexts have one thing in common, money. Communication breaks down then because people have to look competent to keep getting paid, so assumptions get made, and ego plays a huge part.

Is KDE a 'corporation', with paid developers? I don't know their 'business model', but even if they are, I'll bet that they do not have the same sort of pressures that MS coders face to get things out the door.

[TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"
[ Parent ]

Maybe... (3.55 / 9) (#17)
by dissonant on Thu Jun 13, 2002 at 12:12:37 AM EST

...it's like their recent security training and they changed their UI look and feel but forgot to hit restart.

My opinion (3.30 / 26) (#21)
by marcos on Thu Jun 13, 2002 at 01:08:51 AM EST

I voted this down because of the MS bashing, like someone prviously remarked on.

Get one thing through your head: it doesn't make you cooler when you attack Microsoft. There are myrads of ways to get your point across that don't involve singling out a single vendor and attacking them for a "crime" that is commited by every vendor. And don't talk about monopolies here - doesn't Java have a near monopoly on cross-platform applications? And Macromedia on vector formats?

Back to the article: There are UI guidelines, but these are not set in stone. Would you like winamp with the normal windows command buttons?

UI guidelines do not mean that all aplications should look exactly the same. Rather, they are guidelines on how your application should behave - for example, ctrl and c is copy everywhere in windows. Tell me what copy is in linux. And please don't talk about freedom of choice, or how you don't want ctrl + c having a monopoly on copy and pasting activities.

Also, tab opens menus. alt-f4 kills windows, messageboxes do not vanish, applications cannot be moved when resized.

Things like that are the general UI guidelines that one should ALWAYS stick to. Those are the important things.

The unimportant things are the shapes of your dialogs, the colours of your wdgets, and the type of widgets you use. It is neccesary to build custom versions of these things if the real widgets are not available on the system, and if your widget works better, then all the better!

Just like MS Office introduced the toolbar (I heard), these widgets can later be adopted into the OS. But it isn't just microsoft that uses widgets that are not part of Windows - look at Adobe products.

In my opinion, widgets are a very minor part of the UI guidelines. Visual Studio.net looks different from the usual Windows applications - a lot of things have been introduced - but I don't see it as in any way worse.

Also take into consideration that Visual Studio.net is supposed to run mayn OS versions, and not just WindowsXP, and that the team that made VS.net is not the team that wrote WindowsOS.

I suggest you are just looking for a way to attack Microsoft. What you are doing is equivalent to going into a restaurant where you don't like the owner, picking up a speck of dust on the floor, and holding a 15minute long tirade to the customers on how filthy the restaurant is.

But Windows apps /do/ need to be more consistent (4.71 / 14) (#26)
by Hobbes on Thu Jun 13, 2002 at 02:10:48 AM EST

Part of having a good UI (in my opinion) is having a strict set of guidelines that applications must follow.  To some extent, yes, all applications should look somewhat alike when they are running on the same OS.  It's not just the keyboard shortcuts (which, by the way, are still not completely consistent between windows apps) that need to be the same, it's the position of the widgets, the icon used for the widgets, the position and action of the scroll bars, etc.  If you look at adobe products, you'll find that the icon to close the window is in the same place as most other applications...

I don't think the author is MS bashing, I think they raise a very valid point.  If the owner of the OS can't even write their applications in a consistent manner then what kind of example is that setting for third party developers?  A much more fitting example would be a father telling his kid not to smoke, then lighting up right in front of them and blowing smoke in their face.  It's a 'do as i say not as i do' kind of situation.

Toolbars are a completely different ball of wax.  They are not standard OS level widgets, they are custom application level widgets.  There is no system wide standard to follow regarding toolbars.  There is, however, a system wide standard to follow for the placement and design of the scrollbars and window widgets.

Just because an application is meant to run on many different operating systems does not mean it has to look out of place in each of them.  That's what system toolkits and the like are for.  You let the system draw the common widgets, and then they look right no matter what OS you are running.

As bad as I am, I'm proud of the fact that I'm worse than I seem.
[ Parent ]

What MS bashing? (4.54 / 11) (#41)
by mr strange on Thu Jun 13, 2002 at 08:26:05 AM EST

To be honest I couldn't tell whether the author is anti-MS or not. They use Visual Studio .NET - so they are obviously not a rabid Linux-only nerd.

I would have thought that this article is mainly of interest to developers targetting the MS Windows platform. It's informative and interesting to that target group.

intrigued by your idea that fascism is feminine - livus
[ Parent ]

'Unimportant things' ... ? (4.85 / 7) (#45)
by thebrix on Thu Jun 13, 2002 at 09:00:21 AM EST

The unimportant things are the shapes of your dialogs, the colours of your widgets, and the types of widgets you use.

In my opinion, widgets are a very minor part of the UI guidelines.

Au contraire, these are absolutely crucial. Have you ever tried to choose from a drop-down list with twenty or thirty items, or pick a filename from a list in a tiny box which has to be scrolled in order to see anything? Mistakes in choosing which widget to use, or how it is sized, are legion. And, for example, if you have colour-blind users colour matters; there are very few situations where you are guaranteed to have every user with perfect vision.

The Interface Hall of Shame is required reading!

[ Parent ]

hear, hear! [nt] (none / 0) (#54)
by toganet on Thu Jun 13, 2002 at 11:14:08 AM EST

Johnson's law: Systems resemble the organizations that create them.

[ Parent ]
The toolbar as such was first seen in Lotus 1-2-3. (none / 0) (#68)
by mjfgates on Thu Jun 13, 2002 at 03:28:53 PM EST

1-2-3 3.0 had what they called a "SmartPalette" iirc, which was essentially a toolbar, about a year before the release of the first Microsoft application to have one (Excel 3.0). Of course, 1-2-3 3.0 in general licked the genitals of dead donkeys, and their Windows version was even worse (I especially liked their "italicizing text makes it three times as wide" feature), so it didn't actually help them much.

[ Parent ]
Winamp sucks! (5.00 / 2) (#83)
by phliar on Fri Jun 14, 2002 at 12:04:57 AM EST

Would you like winamp with the normal windows command buttons?

Well, in my case xmms, not winamp. Why is it that somehow we must have these "cool" themes for MP3 players? Why the stupid tiny fonts in dark saturated blue on a black background? If you're a high school kid I guess you can see that sort of shit, but some of us are getting on in years and need glasses, you know. And why the silly 7-segment numerals?

Faster, faster, until the thrill of...
[ Parent ]

A historical answer... (4.13 / 15) (#25)
by pb on Thu Jun 13, 2002 at 02:00:45 AM EST

One of the few certainties about WIndows is that whatever it's doing now, it's copying from the Macintosh.   With the advent of MacOS X, Apple has finally dropped the "UI Consistency" that they have preached about for so long and have several different kinds of apps and widgets.  So I don't find it surprising that WIndows is doing the same thing...

The amusing part about this is that for the longest time, the Macintosh was almost the full opposite of a UNIX system (no CLI, nothing useful for the programmer included, one consistent widget set / WM imposed on the GUI...), and as WIndows grew, it adopted more of these features and hid the old DOS CLI as much as possible.  But now, MacOS X is based on BSD code, and Windows is based on NT (and therefore VMS internals) and is finally implementing many features that already exist in the UNIX world.  (albeit in their own 'innovative' fashion)  So whether Windows is still playing catch-up to UNIX or still just slavishly copying the Macintosh, they're all doomed to reinvent UNIX anyhow, and it's nice to finally see it happen!

Also, I see nothing wrong with custom widgets if they're well-designed, and if they're themeable, so much the better.  But the sorts of inconsistencies that you're highlighting within one application sound rather troubling.
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall

Aqua, Microsoft UIs (4.50 / 6) (#39)
by haflinger on Thu Jun 13, 2002 at 08:01:47 AM EST

With the advent of MacOS X, Apple has finally dropped the "UI Consistency" that they have preached about for so long and have several different kinds of apps and widgets.
Incorrect. They have revised the HIG (Human Interface Guidelines) for Aqua. You can get the new ones online. You can also note that they specifically mention the Macintosh Human Interface Guidelines, the original UI directives that all Mac programs were supposed to abide by (and ones written by Microsoft often didn't) until OS X was released.

The HIG and Microsoft have had a long and rather combative history. Word versions up to and including Word 4 were all HIG compliant; Word 5 was a bit off, but MS tried to make Word 6 look like a Windows program. The result was, in some corners, a violent rejection of the new Word. I use Office 2001; Microsoft compromised with it. There's a switch in the preferences panel which makes it fully HIG compliant; I have it off, as the few extensions that Microsoft has implemented don't bother me.

However, at one point I was a Mac FoxPro programmer, and that program was really, really odd. Most of the time it was HIG compliant, but a number of the programmer debugging interfaces had had their UIs ported from Windows, where they were fairly odd anyway. Let me tell you something: the Windows UI sucks even harder when you try to run it on a single mouse button.

Did people from the future send George Carlin back in time to save rusty and K5? - leviramsey
[ Parent ]

Good point... (4.00 / 1) (#43)
by pb on Thu Jun 13, 2002 at 08:37:09 AM EST

My point was that applications for the Mac won't necessarily look consistent, because they have a few different widget sets now; I didn't mean to imply that they wouldn't behave consistently.

However, as you mentioned, that document is no guarantee that they will behave consistently, only that they should.  Microsoft has a similar document that is likely more widely ignored.  :)

It's hard to port an application and make it look native; after a while, you need your own widgets, which is what Mozilla ended up doing.
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]

Aqua *is* consistent (4.00 / 1) (#46)
by gidds on Thu Jun 13, 2002 at 09:31:24 AM EST

they have a few different widget sets now

Which ones?  It's all Aqua now.

(Okay, Classic still uses Platinum from OS <=9, but Classic is really an emulator and doesn't count; hopefully the need for it will fade over the next couple of years.)

But apart from that, Cocoa apps, Carbon apps and Java apps all use Aqua.  Of course, apps can write their own widgets (e.g. Netscape), but as far as Apple's concerned, there's just Aqua.  Far more consistency than Windows.

[ Parent ]

My point exactly... (3.50 / 4) (#49)
by pb on Thu Jun 13, 2002 at 09:48:55 AM EST

Stop apologizing for the Mac, and read your post.  First you deny the existence of any other widget sets, and then you admit to their existence; I rest my case.  (I won't even mention everything MacOS X got grafted into it from NeXT) Here's some more information about Aqua, Platinum, etc. and some of the changes that have been made, for those who are interested.

I'm not saying that Aqua isn't an improvement, but of course you realize that Apple could have made classic apps use Aqua instead, or make it all themeable.

I never argued that Windows was more consistent than anything, and I've never liked how the Mac has done things either; I'm not sure which is worse.

"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]

My point exactly... (3.33 / 3) (#80)
by Maserati on Thu Jun 13, 2002 at 08:24:35 PM EST

Good article you linked too. Very informative, and made some new points - always refereshing in holy wars like UI issues.


For the wise a hint, for the fool a stick.
[ Parent ]

Problems (5.00 / 2) (#61)
by epepke on Thu Jun 13, 2002 at 01:26:58 PM EST

The trouble is that most Apple applications seem to have widgets that don't seem to be in the standard widget set. At least they're not in the Interface Builder, and I haven't found them yet.


  • Forward and back buttons in Finder windows.
  • Big, flat, round buttons like the find in Sherlock
  • Little thumb ridges for opening drawers.

I'd like to use some of these widgets. So far, I've been writing my own that look similar. However, I don't like having something that has the chance of looking out of place if and when they decide to have colors other than gray scale and blue.

It seems to me that when the company that produces the UI API's, whether Apple or Microsoft, decides themselves to use non-standard widgets, it's tantamount to an admission that their widget sets really aren't good enough.

The truth may be out there, but lies are inside your head.--Terry Pratchett

[ Parent ]
schyeah (4.66 / 3) (#59)
by kstop on Thu Jun 13, 2002 at 12:24:01 PM EST

VMS is not Unix.

X is not the first UI.

Mac OS X isn't reinventing UNIX, it's implementing the Mac UI on top of a fairly generic UNIX variant.

NT does not have VMS internals in the same way as OS X has UNIX internals. It just happened to be designed by some of the same people.

Mac OS X is pretty consistent in terms of widgets, from the perspective of someone more used to X and Win32 anyway.

[ Parent ]

whatchu talkin' 'bout, Wills? (4.50 / 2) (#64)
by pb on Thu Jun 13, 2002 at 01:37:59 PM EST

I agree with many of your points, and fail to see how they relate to my post.

No, VMS isn't Unix, and X isn't much of a UI at all. And MacOS X isn't reinventing UNIX; rather, MacOS has become a UNIX (or close to it).

I'd say that NT is much closer to VMS than DOS was to CP/M -- even if no code was shared, much of the design is quite similar.  Here's an article about it.

The only claim I made about Mac OS X's widgets being more or less consistent than anything else is that they are less consistent than MacOS's.  And foolish consistency is the hobgoblin of little minds.
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]

Any proof of "VMS Internals" rumor? (5.00 / 3) (#62)
by bediger on Thu Jun 13, 2002 at 01:28:51 PM EST

Windows is based on NT (and therefore VMS internals)

Does anyone have any proof of this? I've heard rumors from well-placed sources that NT was originally based on "Mica", the VMS replacement that Cutler worked on just prior to leaving DEC in '88. I've heard that the NT source code was riddled with obvious pieces of "Mica", and that's why DEC got such a sweetheart deal on Alpha NT - Robert Palmer traded a copyright violation suit for MSFT supporting Alpha CPUs first and foremost.

Besides that, various editions of "Inside Windows NT" seem to describe Mach rather than VMS. If only the Native API were better (officially) documented, we could tell for sure, but the whole "inject a thread into another process" thing is very Mach-like, and not very VMS-like. Also, where's the VMS "process" in NT? NT processes are far closer to Unix processes or Mach tasks and threads than they are to the VMS process. After all, a .exe file runs in its own memory space, it isn't an "image" that gets "activated" and "run down" in a process' address space. The "PE" (nee' COFF) object file format used by NT really isn't suitable to VMS-style heavyweight processes with "jump tables" at specific addresses etc etc.

-- I am Spartacus.
[ Parent ]
interesting (none / 0) (#65)
by pb on Thu Jun 13, 2002 at 01:52:04 PM EST

I didn't mean to imply that NT is the bastard child of proprietary VMS source code, although from your post that might be the case, at least in part.  I just provided a link that discusses the similarities and differences between Windows NT and VMS in some detail, along with some of the reasons for it.

And yes, NT uses threads, which DEC had to implement later, although I guess we can't really know if that was based on DEC source code for an unreleased product or not...
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]

Proof, maybe (none / 0) (#89)
by salsaman on Fri Jun 14, 2002 at 09:21:48 AM EST

A quick google for "VMS WNT cutler" turned up this: http://www.winntmag.com/Articles/Index.cfm?ArticleID=4494&pg=2

[ Parent ]
A few points (3.44 / 18) (#33)
by cooldev on Thu Jun 13, 2002 at 04:00:13 AM EST

  • Yes, you're absolutely right that the UI should look more consistent.
  • Microsoft is acutely aware of this, with the possible exception of products whose defining characteristic is its unique UI.
  • No, it's not worth writing an article about.
  • Consistency in functionality and accessibility is far more important than minor visual differences.
  • You can try to make Visual Studio .NET more consistent by creating a manifest file to make it use comctl32.exe 6.0. Some info here. I haven't tried it.
  • You forgot to rip on Office XP.
  • I'm sure you could have unified all of Microsoft to modernize the UI overnight across all product groups (on wildly different schedules) while maintaining backwards compatibility with 90% of tens of thousands of unique applications across hundreds of millions of machines. Some of use happen to live in the "real world", however, where things don't always go as smoothly as we would like.

    Yes, you can do this sort of thing easily (4.33 / 3) (#35)
    by Ian Clelland on Thu Jun 13, 2002 at 05:29:48 AM EST

    I'm sure you could have unified all of Microsoft to modernize the UI overnight across all product groups (on wildly different schedules) while maintaining backwards compatibility with 90% of tens of thousands of unique applications across hundreds of millions of machines.

    Yes, you could have. The point of the article is that Microsoft hasn't used the common controls in a number of their major applications. If they had, then Office, Visual Studio, and every other application would have had its UI modernized overnight, with a simple update of comctl32.dll.

    You forgot to rip on Office XP.

    Office has been one of the worst offenders here. Microsoft seems to have a strategy whereby they 'beta-test' their new Windows UI with a version of Office released about a year earlier. Office 2000 did this as well, with the new-style 'flat menus' and other eye-candy included long before Windows 2000 was released. The upshot of this is that every version of Office comes with its own set of custom controls, which don't look like any other Windows application, and don't get upgraded when you install XP.

    [ Parent ]

    Microsoft UI Beta-Test (4.00 / 1) (#44)
    by Matrix on Thu Jun 13, 2002 at 08:46:31 AM EST

    Microsoft seems to have a strategy whereby they 'beta-test' their new Windows UI with a version of Office released about a year earlier.

    They've been doing this as long as they've been writing graphical software. I guess they don't want to spend the money on proper UI analysis and review or something, and would rather have their customers do it for them. I guess its the logical conclusion of the software industry trend of making your customers pay to beta-test your software...

    For those who don't remember, the oldest program I can remember them doing this with was Encarta 95. Which, despite its name, was not a Windows 95 program. It was a Win3.1 program, released a year and a half or more before Win95. It (supposedly) employed the interface that Microsoft was going to use throughout Windows 95.

    Given that Encarta 95 bears more resemblence to WinXP than it does to Win95, I'm sure you can guess how well this interface went over with the general public.

    "...Pulling together is the aim of despotism and tyranny. Free men pull in all kinds of directions. It's the only way to make progress."
    - Lord Vetinari, pg 312 of the Truth, a Discworld novel by Terry Pratchett
    [ Parent ]

    If only it were that simple (4.33 / 3) (#63)
    by cooldev on Thu Jun 13, 2002 at 01:35:51 PM EST

    Yes, you could have. The point of the article is that Microsoft hasn't used the common controls in a number of their major applications. If they had, then Office, Visual Studio, and every other application would have had its UI modernized overnight, with a simple update of comctl32.dll.

    That's true to an extent, but developers can't always do that. In the fantasy world you can just say, "oh, the OS doesn't support that yet so we can't do it", but in the real world you often have to find a way to make it work. That's what leads to this -- in a way it's shortsighted, but in a way it's not. This amusing article by the very cynical Victor Stone shows both sides of the coin.

    There are other technical factors too, such as integrating millions of lines of legacy code (or code from another team) that haven't been tested with comctl32.dll 6.0, so you can't safely make the switch for that component and still meet the schedule.

    [ Parent ]
    on the other hand.. (none / 0) (#79)
    by Maserati on Thu Jun 13, 2002 at 08:18:21 PM EST

    Microsoft's Macintosh Business Unit is an exception. Their implementation of Office for OS X is a showcase for the Aqua widget set. They're very into native Mac interfaces these days, which is a good thing. They implement the same feature set as Office XP, but it works better and does some very interesting things. A lot of that is because, at least in my opinion, Aqua is a beautiful UI. They aren't done with it. But since DP3 back in summer of 2000 they've made a leap almost as big as 1984 to System 7. Aqua will mature, 10.2 will tweak both the UI (a little) and the Finder in a lot of little ways (lottle ?). See Apple's site for details. The odd thing is that a lot of the Jaguar screenshots are for apps using the Brushed Metal look introduced in Quicktime.. 5. The screen shot of Mail is a standard Aqua app, it doesn't mean all blue, the theme is mostly cheery near-whites with subtle textures and bright aqua highlighting. The iBook is almost dazzling.

    Check it out.

    Rumor has it that the MBU has a strong contingent of ex-Claris employees who'd be in senior positions by now. This would explain why versions 5 of IE and OE where such steps forward in quality.


    For the wise a hint, for the fool a stick.
    [ Parent ]

    Stop using so goddamned many <br>s. [nt] (2.25 / 4) (#56)
    by alge on Thu Jun 13, 2002 at 11:52:42 AM EST

    vi er ikke lenger elsket her

    [ Parent ]
    More Fire and Motion (4.80 / 15) (#40)
    by dennis on Thu Jun 13, 2002 at 08:14:19 AM EST

    Keep changing things so your competitors spend all their time trying to stay compatible. According to Joel:

    "When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion. You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can't fire at you. (That's what the soldiers mean when they shout "cover me." It means, "fire at our enemy so he has to duck and can't fire at me while I run across this street, here." It works.)  The motion allows you to conquer territory and get closer to your enemy, where your shots are much more likely to hit their target. If you're not moving, the enemy gets to decide what happens, which is not a good thing. If you're not firing, the enemy will fire at you, pinning you down...

    "Watch out when your competition fires at you. Do they just want to force you to keep busy reacting to their volleys, so you can't move forward?...

    "Think of the history of data access strategies to come out of Microsoft. ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET - All New! Are these technological imperatives? The result of an incompetent design group that needs to reinvent data access every goddamn year? (That's probably it, actually.) But the end result is just cover fire. The competition has no choice but to spend all their time porting and keeping up, time that they can't spend writing new features...

    "The sales teams of the big companies understand cover fire. They go into their customers and say, 'OK, you don't have to buy from us. Buy from the best vendor. But make sure that you get a product that supports (XML / SOAP / CDE / J2EE)'...Then when the little companies try to sell into that account, all they hear is obedient CTOs parrotting 'Do you have J2EE?' And they have to waste all their time building in J2EE even if it doesn't really make any sales, and gives them no opportunity to distinguish themselves...."

    ...sounds like the strategy's backfiring...

    Data access (4.20 / 5) (#53)
    by CaptainSuperBoy on Thu Jun 13, 2002 at 11:00:38 AM EST

    Think of the history of data access strategies to come out of Microsoft. ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET - All New! Are these technological imperatives?

    Well.. these technologies aren't interchangeable.  They don't all perform the same function.  ODBC allows applications to connect to any database with a driver.  OLEDB is newer and functions on the same level as ODBC.  RDO, DAO, and ADO are higher-level APIs.  DAO and RDO were really complementary - they are useful for different purposes.  Anyway, they're both obsolete - replaced by ADO.  ADO.NET was a necessary step.  In order to get the functionality they wanted in .NET, i.e. DataSets, DataReaders, Data binding, complete XML support, they needed to break the ADO API anyway.. so why not make it better in the process?

    I agree that MS has played standards "musical chairs" in the past.. but not with data access.  Where would we be if we still had to access all our databases with low-level ODBC calls?  Newer technologies have enabled people to develop flexible applications much faster.

    jimmysquid.com - I take pictures.
    [ Parent ]

    read() (5.00 / 2) (#76)
    by J'raxis on Thu Jun 13, 2002 at 07:46:32 PM EST

    ssize_t read( int fildes, char *buf, size_t n );

    All the data access you need. :)

    — The Raxis

    [ J’raxis·Com | Liberty in your lifetime ]
    [ Parent ]

    ODBC vs OLEDB (none / 0) (#84)
    by BackSlash on Fri Jun 14, 2002 at 12:48:38 AM EST

    What is the difference between ODBC and OLEDB anyway? All I know is that ODBC has a real hard time with MEMO fields. Switch yer data drivers - an elementary task -- and everything's fine.

    Normally I connect with ADO using OLEDB drivers, if a native driver is unavailable.

    Is the difference just low-level implementation?

    [ Parent ]

    Short answer (none / 0) (#87)
    by CaptainSuperBoy on Fri Jun 14, 2002 at 07:51:40 AM EST

    The short answer is, it doesn't matter to you too much.  ADO is acting as a wrapper to either ODBC or OLEDB, so it's basically the same process to program for either one.  If you were accessing ODBC or OLEDB directly you'd see they have different implementations.  ODBC is older and more cross-platform; OLEDB is a true COM implementation.

    OLEDB is usually quicker through ADO, but sometimes there isn't a driver available for your platform - in which case you'd use ODBC.  As for your memo fields, the driver manufacturer can choose what features to support - so you'll see many ODBC drivers without support for BLOBs like memos and binary fields.

    jimmysquid.com - I take pictures.
    [ Parent ]

    ...was replaced by... (none / 0) (#92)
    by juahonen on Sat Jun 15, 2002 at 02:45:23 AM EST

    Did you just say Microsoft is deprecating their technologies to keep competition down? To me it pretty much sounded like you did. If MS was only interested in providing the new functionality they could just have improved the existing technologies.

    [ Parent ]
    Not really (none / 0) (#95)
    by CaptainSuperBoy on Sun Jun 16, 2002 at 12:30:28 AM EST

    No.. I don't think they are putting technologies out to pasture simply to keep the competition jumping. I don't see what the difference is between improving an existing technology, and deprecating its old version.  By releasing ADO.NET, they improved ADO.. so technically, ADO is now 'deprecated.' ADO.NET is easy to learn if you are familiar with ADO already.. and any OLEDB or ODBC provider that worked with ADO will work with ADO.NET as well.  Of course your programming API is going to change - it has to change if you want new functionality!

    Anyway, you are still free to use old technology but understand MS's improvements were necessary.  This doesn't just go for Microsoft.. you might as well accuse Larry Wall of the same thing, due to the drastic changes in Perl 6.  But he feels they are necessary, in order to improve the language.

    jimmysquid.com - I take pictures.
    [ Parent ]

    Data provider generations (5.00 / 1) (#94)
    by mech9t8 on Sat Jun 15, 2002 at 08:41:07 PM EST

    ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET - All New! Are these technological imperatives?

    Largely, yes.  Both in capabilities (ie. types of data they were designed to handle), underlying technology (C,VB,COM,.NET,etc), and layer (high-level or middle-level programs)

    Basically, there are three generations:

    First generation - non-object-oriented or simple VB objects: (early 90's)
    ODBC is a complex C-based API for accessing relational SQL-based data sources.
    DAO and RDO were simple VB objects for accessing local data sources and remote data sources, respectively.  As more and more capabilities were needed, the object model became more and more complex and unmananagable.  For instance, since it was designed to access local data sources, DAO was designed without a real concept of a "connection".

    Second generation - generalized COM objects: (mid 90's)
    OLEDB is an object-oriented COM-based replacement for ODBC to allow generalized data access, not only to SQL sources but also free-form (say, Excel spreadsheets) and multi-level (OLAP).  (It provides a wrapper for ODBC, if a native OLEDB driver isn't available.)
    ADO is a COM-based (as opposed to VB-only) front-end to OLEDB, which provides a common object model designed for local, remote, and disconnected data.

    Third generation - .NET disconnected classes: (early, er, 21st century)
    ADO.NET is the data access model for the .NET framework.  It use native .NET providers (currently only SQL Server) or OLEDB providers (which in turn can even wrap ODBC).  The object model is designed such that it provides the power formerly available for low-level classes such as OLEDB, while maintaining the simplicity of higher-level classes like ADO.  It's also optimized for disconnected data access (ie. connection pooling for websites and whatnot).

    Naturally, if someone thinks that COM or OOP are dumb ideas, or that .NET is unnecessary, then the data access changes are going to seem unnecessary.  But, if you accept the need for the change in the underlying technologies and philosophies, the need for changes in the data access technology quickly follows.

    [ Parent ]

    True, but... (none / 0) (#97)
    by dennis on Thu Jun 20, 2002 at 12:30:36 PM EST

    I'm not claiming that ADO.Net isn't better than ODBC, and I don't think Joel is claiming that either. He's just talking about the effect of these changes on the competition, whether or not there were good engineering reasons for the changes themselves.

    [ Parent ]
    Clarification on Eclipse (4.53 / 15) (#52)
    by pauly on Thu Jun 13, 2002 at 10:12:45 AM EST

    What is really funny is that my Java IDE (called Eclipse) looks and feels far more native on Windows than Visual Studio.NET. Oh, and by the way, Eclipse is written in Java

    Actually, Eclipse is written in Java, but doesn't us Swing or AWT for GUI widgets. Eclipse is a showcase for IBM's Standard Widget Toolkit (SWT) technology. SWT allows the use of native widgets instead of Java widgets in Java GUI apps.

    So, in other words, those widgets you see in Eclipse are native Windows widgets. But since the choice of which widgets is made not by the GUI programmer, but by the SWT developers, GUI programmers don't get to play around with just anything. And somehow, that just seems to make better apps.

    An aside, my personal favorite UI breaker is the "Real One" player. That thing is a blight on humanity.

    Real One and others (3.66 / 3) (#69)
    by roju on Thu Jun 13, 2002 at 03:32:12 PM EST

    Did you ever notice that the various media players insist on strange key bindings?  For instance, to start/stop playback, many use ctrl-P.  Seems reasonable -after all P could be from "Play"- until you realize that just "P" isn't bound to anything.  So for such a basic function as play/pause, rather than just smacking space (which used to be the norm), you have to HOLD control and hit P.

    I've seen this sort of thinking in almost every video player.  MS Media Player wants ctrl-alt-forward to advance in the video.

    Ugh.  If only they used sane keybindings, or allowed customizable ones.

    [ Parent ]

    Feeding the trolls (2.00 / 33) (#57)
    by Fon2d2 on Thu Jun 13, 2002 at 11:54:41 AM EST

    so here I go, I hope you get your fill.

    It is becoming quite ridiculous. The release of Windows XP has finally revealed to the masses just how non-uniform Microsoft the company is.
    Dude, shut up. Please shut the hell up. What about how non-uniform Linux the non-company really is? I mean what the hell do want? Windows is wonderfully consistent. Linux can't even decide how kernel module versioning should work or how the modules should be loaded. God, do you know what it's like to sit and dick around with that shit when at any time you could switch back to Windows and have the ease of selecting your hardware from a simple list? It's like a complete waste of time. And programming? Give me MFC and Visual Studio over X Windows anyday. I still remember the day the CS prof spent half the class time talking about how to change the color of one frickin pixel. God I hated using GCC and GDB when I had my own perfectly good graphical debugging tools. And KDBG or whatever you call it is a pile. There really is nothing consistent in Linux. Every distro arranges crap differently and there's all kinds of different standards. Now, if you hadn't noticed, I took by your anti-Microsoft stance that you are a Linux fanatic. But honestly, I say again, take a good look at Linux, and then reconsider your gripe.

    Let's not be hasty (4.28 / 7) (#58)
    by jacob on Thu Jun 13, 2002 at 12:00:45 PM EST

    He didn't say Linux was any better. This isn't Slashdot, you shouldn't assume tacit Linux advocacy in every dark corner and between every pair of lines.

    "it's not rocket science" right right insofar as rocket science is boring


    [ Parent ]
    Oh, it's not? (2.33 / 9) (#67)
    by Fon2d2 on Thu Jun 13, 2002 at 03:02:28 PM EST

    This was certainly an anti-MS article along the same old tired out lines as anything you'd find out on good old slashdot. I mean honestly, it was a big long whine about the look of the GUI, not even its functionality. Linuxconf doesn't even work when I click it and that's the way RedHat installed it. And that's why I get tired of this stuff. I have never actually heard or seen a professional review that compares Linux to Windows to MacOS. Just lots of talk. But I know not to expect any better from the readership of Kuro5hin. Just look at the ratings. More than 2/3 voted this article front page. And why? It provides really no useful information. It doesn't do any scientific or statistical analysis. All it does is whine about the way some Windows products look. Give me a break.

    [ Parent ]
    Regardless, it's not linux advocacy. (4.66 / 3) (#70)
    by jacob on Thu Jun 13, 2002 at 04:08:58 PM EST

    Let's take for granted that it's a pure mindless microsoft-bash for the moment, though it isn't. How do you know the guy's a Linux bigot? What if he's a BSD bigot, or a Solaris bigot, or a Mac bigot? Hell, maybe he's got a thing for Amigas or something, you don't know. Or maybe he's Amish and he's trying to make us reject all technology by pointing out the flaws of everything he sees. Or, it's also possible that he's a Microsoft developer who is just tired of what it's delivering compared to what it could be delivering. The connection to Linux is purely in your mind.

    "it's not rocket science" right right insofar as rocket science is boring


    [ Parent ]
    The point is the same (1.20 / 5) (#71)
    by Fon2d2 on Thu Jun 13, 2002 at 04:48:05 PM EST

    Implied in this article is either the opinion that there is a much better and more consistent OS than Windows, or that the author could do it better, which I seriously doubt. Now Linux advocacy and Microsoft bashing often go hand in hand and I fully acknowledge the fact that I have taken that at face value, but I have done that for a reason. I do it to debunk the first possible implied opinion: that their is a better OS. I choose Linux since a large majority of the K5 readership is still of the mind that Linux is necessarily superior to Windows (look at the comment ratings on my first post). Granted I didn't give a scientific dissertation or anything but I did provide anecdotel evidence of Linux's non-superiority that in my mind far outweighed the author's original gripe. The second possible supplied opinion, that the author could write a better OS is debunked by the fact that he has obviously not written his own competing OS. In fact if he worked at all with any kind of graphical interface design he'd know what a tough ongoing battle there is between consistency, utility, efficiency, and appearance. It really is tough. It doesn't mean I don't agree with him though. I've used Visual Studio .NET as well and I have the same thoughts. My beef is with the implied opinions: that there should be or is a better OS. Either I want to see it or I want to hear a well reasoned explanation of why it doesn't exist. I don't want to hear the mindless drone of Linux fanatics walking around proclaiming the greatness of Linux. Don't tell me Microsoft doesn't work hard at what they do. The difference in quality and focus on the user is astounding between Linux and Windows. And one final clue for all you angstful Linux fanatics, voting 1 on this comment or declaring my stupidity is obviously not going to convince me of the greatness of Linux, so please give it up.

    [ Parent ]
    re: The point is the same (4.00 / 3) (#77)
    by Maserati on Thu Jun 13, 2002 at 07:47:31 PM EST

    Implied in this article is either the opinion that there is a much better and more consistent OS than Windows, or that the author could do it better, which I seriously doubt

    See if you can't get your hands on an OS X Mac with the developer tools installed. Project Builder is a very slick IDE. The OS in general has a very consistent feel, with truly native apps (Cocoa) using a consistent and very well designed widget set. Apple has been very good about following their own interface guidelines and the 3rd party developer community has mostly been very good about doing the the Mac Way (not the Apple Way) and so applications are very similar in interface. I must say that the amount of good freeware and shareware is actually higher on the Mac than on Windows.

    You should definitely also check out www.eclipse.org. The author may not have built a whole OS by himself (a statement which proves I've been trolled, but is a beautiful gasoline-soaked strawman), but he has built an IDE which has a more consistent and standards-compliant (MS standards) interface. To quote the article, "In Java." I starteda download of Release 1.0 to check the size, and it's a whopping 38 MB. He even made it smaller than Microsoft did. You should at least reread the article, since the author made that point himself.


    For the wise a hint, for the fool a stick.
    [ Parent ]

    The enemy of my enemy... (4.00 / 2) (#78)
    by El Volio on Thu Jun 13, 2002 at 08:16:14 PM EST

    I don't think the point of the article was to promote Linux in favor of Windows. I think the point was to demonstrate inconsistencies and flaws in the Windows UI -- not everything is a direct competition. As an example (not UI-related), I much prefer any of the *BSD or Solaris to Windows, so when I write something about the problems I see with Windows, it's not to promote Linux. If anything, I want to point people in the direction of *BSD or Solaris for their needs.

    Now, it may have the effect of promoting Linux (which isn't necessarily a bad thing), sort of a "the enemy of my enemy is my friend" kind of vibe. But it seems like you're seeing ghosts where there are only shadows. Out of the abundance of the heart the mouth speaks, and all that...

    [ Parent ]

    Implied is that *Windows* used to be consistant (5.00 / 5) (#81)
    by BobRobertson on Thu Jun 13, 2002 at 09:55:25 PM EST

    Actually, not even implied, explicitly stated. The author does not "compare" anything but windows aps to windows aps, which is a fair comparison.

    The writer even compares Microsoft's -talking- to Microsoft's -production-, which is also a very fair comparison.

    Examine the original article again, and it shows a deep understanding of UI programming issues, widgets, and WINDOWS. Not Linx, not BSD, not Solaris.

    The suggestion implied is that Microsoft is failing its own stated goals. That's all.

    September 11, 2001. The most successful day for gun control and central planning in American history.
    [ Parent ]

    K5 FlameWar...I wanna play! I wanna play! (none / 0) (#72)
    by underscore on Thu Jun 13, 2002 at 05:03:27 PM EST

    The medium is the message as Woody Allen intended it to be in collaboration with M. McLuhan. We're dealing w/ eyecandy here, and, drawing upon the seriously broken analogy of the history of software development to the automobile industry, we're just breaking away from the Model T era. Widgets on a front end announce to the user the era of the product in terms of bells and whistles. Bells and Whistles are for clowns and journeymen usually don't go in for them except as a necessary evil. But at least see them for what they are and don't go all evil over it all.
    a geek possessed of animal cunning
    is a most fearsome adversary

    [ Parent ]
    comparisons (4.28 / 7) (#73)
    by ucblockhead on Thu Jun 13, 2002 at 05:11:40 PM EST

    Saying that "X" sucks is not the same as saying that "X" is worse than "Y". Everything he said is true. Whether or not Linux is worse is not the point.

    "The other guy is worse" is no excuse for bad design. So while you are correct about Linux, it is not really relevent to the author's point.

    There's more then just "US" and "Them".
    This is k5. We're all tools - duxup
    [ Parent ]

    Excuse me, but... (none / 0) (#96)
    by pwhysall on Sun Jun 16, 2002 at 03:03:05 AM EST

    Just what the fuck has Linux or X got to do with anything at all in this article?

    K5 Editors
    I'm going to wager that the story keeps getting dumped because it is a steaming pile of badly formatted fool-meme.
    [ Parent ]
    A whole class of native windows apps... (1.80 / 5) (#60)
    by MickLinux on Thu Jun 13, 2002 at 12:26:28 PM EST

    I have just sent out a whole bunch of emails appended below (in italics) to everyone serviced by our ISP, in order to stem the oncoming flood of identical messages.

    .I hope they can understand my pigeon Lithuanian.

    It's funny, because I have Linux. But I have decided that there is really one class of about 20,000 truly native Windows apps.

    They're called W32 viruses.

    - - - - - "Re: Your Password" virusis yra.

    Jeigu tu turi "MS Windows 95" arba geresnis, jus galite turite infekcija. Jeigu tu turi taip pat "Interneto Explorer", galimybe tik zuretintis epasta gali dauti infekcija

    Todel: (1) Uzdaryk laida kur jus galite matyti epasta.

    (2) Spausk kiek "Re:Your Password", ir spausk "Trash/Delete".

    (3)Spausk "FILE/Empty trash".

    I make a call to grace, for the alternative is more broken than you can imagine.

    Here's why (3.00 / 4) (#74)
    by stuartf on Thu Jun 13, 2002 at 05:40:09 PM EST

    upper pane which usually lists the inbox items has something custom drawn that resembles the old style scrollbar except it doesn't behave quite right. Moving it does not update the window until the scrollbar is released, which is quite annoying.

    I'm pretty sure the reason for that is a design decision to remove load on the server. It would mean reading the title of every item while it's scrolling.

    re: Here's why (3.00 / 2) (#75)
    by Maserati on Thu Jun 13, 2002 at 07:32:55 PM EST

    Or teh application could cache a local copy and display that while scrolling. It contributes to memory bloat, but would improve the user experience. But I doubt Microsoft considered that issue, it sounds like the app in question had UI widgets chosen at random.


    For the wise a hint, for the fool a stick.
    [ Parent ]

    Reducing server load (none / 0) (#91)
    by juahonen on Sat Jun 15, 2002 at 02:30:47 AM EST

    Is not done with scrollbars. If you had done any serious development you'd know using such GUI tricks are only for hiding your own incompetency. If the designers were for reduced server load they would have implemented a cache for the inbox. (I have never used Outlook so I can't tell if it has a cache or not.)

    It would suggest the scrollbar was chosen randomly from a collection of widgets; similar scrollbars are used in Office 2000 applications. Moving the scrollbar in Office 2000 doesn't update the display until the scrollbar is released.

    [ Parent ]
    Screenshots? (4.60 / 5) (#82)
    by phliar on Thu Jun 13, 2002 at 11:46:38 PM EST

    Got any screenshots to illustrate all this, for those of us happy folk who never see Windows machines?

    Faster, faster, until the thrill of...

    It's just a generation shift (4.50 / 4) (#85)
    by mech9t8 on Fri Jun 14, 2002 at 01:59:31 AM EST

    What's going on now is basically a shift to a new generation of controls; similar to the switch from Win3 to Win95 widgets, there's now a shift from Win95 to WinXP widgets (the important shift being that WinXP controls are skinnable with "styles", as well as having some more advanced characteristics relating to ComCtl6 and GDI+).

    Microsoft specifically designed it so that you have to enable the WinXP widgets on your app, for compatibility reasons.  It's a very smart move on their part.  For information on how to use the WinXP-style widgets, try this MSDN article:
    http:/msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=280 00524

    In the meantime, a few apps in Windows XP will have minor inconsistencies, like the scrollbar thing you mentioned (probably a result of the IE preview pane being an XP-native control while the rest of the app is written for previous versions of Windows).

    About the Office XP and Visual Studio .NET UI: Microsoft has always used Office as a harbringer of new widgets and whatnot, so they've always seemed to use custom widget sets (it supported moveable toolbars and whatnot long before it was a standard widget).  Unfortunately, this backfired on them for this release; Windows XP was originally supposed to use the Luna skin (the current skin) for the Home edition, and a "Professional" skin for the Professional edition, which would match the Office XP style (the so-called "Web Look").  However, after user testing, they decided to drop the "Professional" style from Windows XP, thus leaving Office XP and Visual Studio .NET not matching anything.  (I imagine they left in the funky menus and whatnot so that people could tell the difference between Office XP and Office 2000...)

    So, if you want to develop, if you use MFC, VB6, or .NET, they'll all look the same: either the traditional Win95 look, or the WinXP look if you choose to enable it.  There no development tools (including Visual Studio .NET) which support writing apps in the so-called "Web style".  (ie. Apps written in Visual Studio .NET don't look like Visual Studio .NET, they look like every other Windows app.)

    So, if you're trying to figure out what to do with Windows widgets: if you develop the way you always have, you'll continue to make apps the way you'll always have.  If you want to support the next generation widgets, follow the instructions on MSDN.  And ignore the funky widget sets on Office XP and VS.NET.

    It would be very simple except for the funky interfaces on Office XP and VS.NET.  Oh well. ;)

    The important thing, anyway, the consistency of behaviour: shortcut keys, tabbing, right-mouse button, etc.  What Microsoft's doing now, resulting in the slight appearance inconsistency between Win95 and WinXP-era apps until everything gets updated for ComCtl6, is the best compromise between allowing technology advances while maintaining compatibility with older apps.


    What is a "native" Windows app? | 97 comments (78 topical, 19 editorial, 0 hidden)
    Display: Sort:


    All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!