I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

February 8, 2007

Non-Native UI Sucks

It's common knowledge that Mac users prefer Safari to Firefox. It is the browser bundled with the OS-- and we know how that generally works out. But it's not just a monopoly play; there are legitimate reasons for Mac users to choose Safari:

Mac users favor [Safari] for its rendering speed, clean interface and fast launch times.

Safari is, of course, a completely competent browser that stands on its technical merits, very much unlike IE6. But if you ask Mac users why they chose Safari, and if you keep pressing them, you'll probably find the deciding factor was that Safari feels like a native Mac app.

safari-vs-firefox-on-mac.png

The next version of Firefox will use some native UI elements in OS X. But it's still not a native Cocoa app. The lack of a completely native UI on OS X may seem like a minor implementation detail, but it's actually a showstopper for a lot of people, like this commenter:

"Native cocoa widgets" refers to the use of the natively rendered components such as scroll bars and submit buttons. These are the same buttons and scroll bars used in nearly all Cocoa apps for OSX (basically every program you've ever used). The default theme for OSX FF2 uses these really ugly widgets that are really blocky and Netscape 4-y looking.

As vain as it may sound, those ugly widgets are actually one of the major reasons I use Safari instead of FF on OSX.

When two applications with rough feature parity compete, the application with the native UI will win. Every time. If you truly want to win the hearts and minds of your users, you go to the metal and take full advantage of the native UI.

Java has struggled with this problem for years, producing results spanning the continuum between "terrible" and "awful", depending on who you ask. Most Java developers have given up completely on GUI applications:

Me, I defected long ago. I'm another of those Apple Java engineers who dropped out. I spent five years as a raving Java fanboy, but I gave up after optimizing AWT, implementing drag and drop, and trying to make 1,200 pages of crappy APIs do the right thing on the Mac. Then I took a one-week Cocoa training course, and wrote the first prototype of iChat.

Desktop Java never worked because Sun tried to build their own OS on top of the real OS, duplicating every API and feature. This led to terrible bloat, making every app as heavyweight to launch as Photoshop. Worse, the GUI portions of the Java platform are awful, because Sun is a server company with no core competency at GUIs. The APIs are too clumsy to code to, and compared to any decent Mac app, the results look like a Soviet tractor built on a Monday.

Ultimately, the best any Java app can do is pretend to be a native app. To fake it. And more often than not, it can't even manage to do that:

This project should be a cautionary tale for people who think programmers should be interface designers. Apple and Microsoft at least recognize that these are different skill sets, and that looks and feels should be created by a team of programmers, graphic designers, and interaction designers. Sadly the Linux and Java communities haven't really figured this out yet, and are still trying to have programmers do it all, with predictable results. The bottom line is that we don't really need different look-and-feels in Java. The best Java can or should do is faithfully mimic the native user interface. Unless your name is Bruce Tognazzini or Kai Krause, you almost certainly won't do better than that; and you'll be very, very lucky if you don't do worse. Pluggable look-and-feels are necessary in Swing only because Swing apps have to run on multiple platforms. They should be changed only from operating system to operating system, not application to application. The goal of a Java application is to fit in with other native applications, not to stand out.

GAIM has a cross-platform UI based on GTK, which produces predictably bland, least-common-denominator results:

gaim on linux  gaim on Windows

Most of all, I find myself empathizing with Mac Safari users because I haven't been able to switch away from IE7 on Vista. Firefox feels so dowdy in Vista. It just doesn't fit in. It scrolls very slowly, the keyboard stops working at random, and the overall GUI is jarringly out of place, including the legacy main menu. There's no doubt whatsoever that Firefox is a vastly superior browser for web development, with a vibrant developer community. Firefox absolutely should be a part of every developer's core toolkit.

But when it comes to day-to-day browsing, I'll always pick native speed and native look and feel over the ability to install a dozen user extensions, or the ability to run on umpteen different platforms. Every single time.

If that makes me shallow, then I'm in good company. Non-native UI sucks.

Posted by Jeff Atwood    View blog reactions
« Boyd's Law of Iteration
Remotely Waking Up Your PC »
Comments

I use Camino on my Mac, a Cocoa native application using the Gecko renderer from the Mozilla project. A pretty good compromise, I find. I found the same things as you did when I was trying out Firefox on the Mac, there were just small details off everywhere (the preferences are particularly out of place, as I remember).

Pierre Phaneuf on February 10, 2007 2:35 AM

I remember thinking the same thoughts when WinXP just came out and apps did not use the native look and feel. I kept seeing those ugly win2000 buttons spoiling my view.

Mladen Mihajlovic on February 10, 2007 2:50 AM

But this works both ways... I still run Win2k on most of my machines and Firefox looks better than Internet Explorer v6 on that OS. And of course, it has more functionality too.

I suppose this sort of thing will happen less and less now that operating systems have become so rich in graphical bells and whistles.

Nij on February 10, 2007 3:05 AM

> I use Camino on my Mac, a Cocoa native application using the Gecko renderer from the Mozilla project.

Ditto, and the nightlys (using Firefox 2.0's engine) are stable enough for my usage.

Masklinn on February 10, 2007 3:29 AM

I use firefox on vista and have had no speed problems at all (much less with scrolling). Sure, firefox still has the memory leaks it has always had, but it works fine for the most part. I'm also using this skin: http://www.deviantart.com/deviation/44508564/ which looks pretty nice I think.

And I really can't stand IE7. The new UI is horrendous and far less usable than IE6 or firefox. The tabbed ui implementation sucks.

Tomas Restrepo on February 10, 2007 4:15 AM

That is why Firefox sucks on Windows as well. The location bar, all the toolbar buttons etc just simply look and feel WRONG. GTK tries to mimick the native stuff but it fails utterly. It should be considered a BLOCKER level bug on the Windows port. The usability is just plain trash.

Other "hyped by engineers/nerds but actually horrible applications on Windows or Mac" are Gimp, Gaim, Thunderbird and Audacity.

That is why Ruby and Python btw suck majorly too. They don't come up with any GUI library in the standard libraries. All they offer commonly is TK. And TK looks and feels wrong not only on Mac/Windows but on ALL platforms. Sheesh, what retards.

Mike on February 10, 2007 4:51 AM

i dont agree with you, i mean yes sometimes/mostly non-native UI sucks but sometimes its very cool, take a look for example at Microsoft Max (http://channel9.msdn.com/showpost.aspx?postid=156065, its dead now but you can find some photos of it on the web)

Ion Todirel on February 10, 2007 4:58 AM

I have to agree with you Tomas. Function over form. The benefits that the Firefox extensions give you far outweigh the "nice to have" native windows buttons. And they are easily customizable like Tomas points out.

Dave on February 10, 2007 5:00 AM

The cool news is that Adium, based on libGaim is actually pretty beautiful.

Kyle Korleski on February 10, 2007 5:34 AM

I'm a Mac user and I've used Firefox over Safari for a long time, even when Firefox on OS X was pretty bad. The only downside to Firefox has been the typography, but even that's mostly sorted now.

I don't get why people want native OS X widgets on Web pages. The Web is not OS X. Buttons on the Web are meant to be gray and blocky, that's what Web pages are meant to look like. And, well, that's why I like Firefox.. at least it doesn't make my pages look like OS X applications.

And UI consistency is overrated anyway. Look at iTunes compared to Mail, compared to Photoshop, etc.. they all have different interfaces. Brushed metal, plastic, small buttons, big buttons.. unless your apps are all Cocoa apps, you're not getting consistency anyway. I'd say the average suite of Mac applications is grossly less consistent than a group of Windows apps. But consistency is not important. Distinctive apps stand out from each other and provide unique interfaces, much like objects in real life.

Peter Cooper on February 10, 2007 5:48 AM

That's why I use the osx optimized BonEcho - much faster, and has osx buttons:


http://www.beatnikpad.com/archives/2006/10/26/firefox-20

Steve on February 10, 2007 5:55 AM

I've been using Vista for two months now and use Firefox for 99% of my browsing. I have absolutely no problems with it. I only use IE7 for Microsoft sites. Why? Ignoring the ugly, non-changeable toolbar and lack of Adblock Plus, IE7 causes all kinds of problems for me in my browsing. This isn't an IE7 complaint forum, so I'll just gloss over those problems. But, IE7 under Vista just won't work for me on some of my most important sites (i.e., financial). Surprisingly, I've even had trouble with it on Microsoft's TechNet site (I have to download using Firefox since IE7 won't start up their download program).

David A. Lessnau on February 10, 2007 5:57 AM

There are always people that like uniforms and want everyone to wear it. Even then, some people like gray uniforms, some like green and some like blue ones...

Iggi on February 10, 2007 6:02 AM

The *only* thing I like about IE7 versus Firefox is the new tab sticking out from the current tab. I know, I know, Ctrl+T. The placement of the common functions as icons is horrible. Very counterintuitive.

I prefer Firefox over IE and Safari for five reasons: Web Developer, Live HTTP Headers, JSView, GreaseMonkey, and Firebug. When it comes to pen-testing webapps, these extensions are requirements. Sure, Safari looks best on OS X and IE7 looks best on Vista, but Firefox is theme-able to an extent and has the extensions that make the browser a really handy tool.

BG on February 10, 2007 6:08 AM

Jeff,

The truth is, only developers care about these issues !

Look at MS Office, Ad-Aware, Winamp, Windows Media Player, your own beloved MediaMonkey, Picasa, all the web sites with image buttons, etc... All of these use a different look and feel from what could be called "standard windows" and yet they are very succesful. Why? Because most people don't care ! My dad doesn't care whether a button is squared or round, as long as it is recognized as a button and behaves as expected, he's happy. As so should you... Usability over "Pixel Perfect Copy" I say. Just like JGoodies java apps can be perfectly usable, if it weren't for Java's installations issues.

Cheers,
Axel

Axel on February 10, 2007 6:12 AM

I totally agree. I use Konqueror on KDE. It just fits in.
However, in this case, there's a lot more to it like being able to use kio-slaves and such but it boils down to the same thing: Use native libraries!


regards,
felix

Felix on February 10, 2007 6:25 AM

Mike said:
> That is why Ruby and Python btw suck majorly too. They don't come up with any GUI library in the standard libraries.
Last time I checked Python came with TK bundled in (at least the Windows and OSX binaries sure do, since that's the toolkit used by IDLE), and Ruby uses FOX as its standard UI toolkit.

> All they offer commonly is TK.
Doesn't prevent you from installing wxWidgets (trivial to install for Python, on pretty much any platform) or PyQt4 (using the GPL'd Qt4.2.2)

Masklinn on February 10, 2007 6:47 AM

I don't care about button style. I started using Safari only because I got sick of having to restart Firefox all the time. I know, I know, Firefox doesn't have memory leaks. It just caches itself to death. What's the difference?

On the other hand, Thunderbird is much more useable than OSX's Mail.app.

Super Dave on February 10, 2007 6:56 AM

> Doesn't prevent you from installing wxWidgets (trivial to install for Python, on pretty much any platform) or PyQt4 (using the GPL'd Qt4.2.2)

Indeed. That's what I am doing. That's what the Gimp/Gaim/Firefox retards should be doing as well.

> Look at MS Office, Ad-Aware, Winamp, Windows Media Player, your own beloved MediaMonkey, Picasa, all the web sites with image buttons, etc... All of these use a different look and feel from what could be called "standard windows" and yet they are very succesful.

Yeah, they unlike silly engineers making software for engineers know how to make good pixel art. That's the difference. It works on commercial stuff, not on open source. Open source geeks should stick to wxwindows as it falls back to gtk or windows native widgets better.

Mike on February 10, 2007 7:21 AM

Are the Web 2 applications you use every day (like Google Docs & Spreadsheets or some other AJAX app) supported in Safari - NO.

Is your on-line bank supporting Safari - NO.

Is Safari in your language - NO.

Mac is something like 10 years behind Microsoft, Java and open source project like Firefox.

Yes it is nice, all antics are nice.

Arek Stryjski on February 10, 2007 7:24 AM

I really hate Safari's rendering - even gmail isn't fully functional - so I stick with Mozilla-based browsers only. I've always prefered Firefox to Safari for that reason. Recently I noticed Firefox has been using too much memory & CPU time so I gave Camino another try and I'm now using it instead. I still miss a lot of firefox extensions, though.

Mike Cohen on February 10, 2007 8:07 AM

Java GUI development has one word that can make a grown man cry: GridBagLayout.

Although IE7 is a far superior browser to IE6, I really dislike its interface (it's even worse under XP than under Vista) and find Fx a lot more pleasant, even under Vista. Perhaps that's because I don't like the Vista interface period.

Where I really don't like the non-native UI is in other stuff, especially media players and security software. Realplayer, iTunes and Quicktime, Windows Media Player, Norton AntiVirus, McAfee, ZoneAlarm. What's with this horrible skinning? It always looks out of place compared to the rest of my properly behaved apps. Axel may not care, but I prefer native UI on apps.

Steven on February 10, 2007 8:16 AM

I use firefox almost exclusively on my Mac. I use Firefox on windows, only using IETab when absolutely necessary. The user preference is for one or two apps that do their job exceptionally well. In most cases on a Mac, the tools that come with it are very good, but there are many open source apps that are available that improve on what OS X provides. I use an application called "UNO" that makes all the window decorations look the same. The UI gets to more than just the LOOK of apps on a Mac. The HIG actually calls for certain things to look and respond in certain ways.. like COMMAND+, which almost always opens the Preferences for an application ( incidentally Firefox complies with most of these conventions as far as I have noticed). Some people want every window to look different, some people want them to look the same. I would say users care much more about the menu items being in the right place, than any preference for the "bundled" app vs. the 3rd party app.

Andrew Theken on February 10, 2007 8:30 AM

Have you tried the new Adobe Reader 8.0? They have chosen to ruin the UI and put in some skinned crap menus which look horrible if you change Windows color scheme a bit to the wrong direction.

To say something for Java GUI applications. Think about Eclipse or Azureus - both have native UI widgets, because they use the Standard Widget Toolkit (http://www.eclipse.org/swt/). Sure they're a bit on the heavy side but at least they look and feel right..

liquidos on February 10, 2007 8:31 AM

Steven: Don't forget MS Office. I think the last time the Office UI actually looked like native widgets upon release was Office 95.

Bob on February 10, 2007 8:34 AM

To all those who don't get the idea of why Native UI is good... I feel sorry for you. The point of a consistent presentation is so that familiarity is easier to come by. Yes, the single buttons and drop-downs are small examples, and do not affect usability. But, the point is that when it is done right, no one notices. Period. You don't have to learn each application; they are all the same and have the same behaviours.

And most people, myself included, don't want to go through a configuration workout to make it seem almost right. I have better things to do that try and make firefox look like Safari. Besides, there is a better alternative for OS X in the form of Shiira. Check it out.

Drew on February 10, 2007 8:38 AM

Axel: If you click some obscure checkbox in the settings, Media Monkey can actually use native Windows UI. That's how I run it and it works a lot better with UltraMon and, I think, looks a lot better than the default skin.

Eam on February 10, 2007 8:53 AM

No one has mentioned Lotus Notes, so I will. Talk about a non-native UI...

Gary on February 10, 2007 9:16 AM

I am a Mac user who prefers Firefox. Safari is nice but it doesnt support keyword searches, so that is a showstopper for me.

Anonymous on February 10, 2007 9:16 AM

This is one of the reasons I refuse to use Quicktime on Windows. The brushed metal and odd widgets bug me. That, and the fact the the player would always force itself into the tray on startup, even when I deleted the registry key, made me hate the Windows developers at Apple. I'll use Quicktime Alternative to view .MOV under Media Player.

Don't get me started on iTunes.

davegust on February 10, 2007 9:31 AM

Now, why is it that Coders will crow that Most Coders have no business writing UIs because they're incompetent at it. Yet Coders will, themselves, go off and specify RDBMS that look just like VSAM flat files from the 1970s; processible silo-like only by their code?

Data design is at least as impactful (neat word, huh?) as UI in the large, yet Most Coders are content to wallow in the Olde Times. They have not a clue. I just chuckle. Folks worry so much about the Lipstick, but let the Pig rot.

Buggy Fun Bunny on February 10, 2007 9:31 AM

IE7 renders animated GIFs so slowly that a pageful of them grinds it to a halt, whereas any other browser seems to cope just fine (including IE6).

My main issue with Firefox is the incredible amounts of CPU and RAM usage. Such a huge resource hog. I have tried everything to speed it up, from FlashBlock to FireTune, but it just sits there in the background making everything else sluggish. Every 2-3 seconds, its CPU usage spikes to around 100% which causes anything you're doing to stop dead for half a second. Totally unacceptible.

Mark on February 10, 2007 9:40 AM

I only use FF on the Mac when Safari (first choice) and Camino (second choice) occasionally fail to read a page (it's happened to me twice in recent memory). And the *only* reason I don't use FireFox is because of the non-native widgets. Yes, iTunes, Mai.app, Finder UI's are not consistant, and I deplore that, but at least, they look reasonably good and "modern". FF widgets seem to be there only as a nostalgic reminder of the old Netscape 1.0 days or something ;).

But I'll take it a step further: I prefer Safari over Camino because Safari renders native widgets *better* than Camino does ! Ex: WordPress QuickTag buttons. Camino renders them with a serif font instead of the system font, and the button labels are off-center. Yuck !


sknob on February 10, 2007 9:41 AM

"you'll probably find the deciding factor was that Safari feels like a native Mac app."

Well, that's because it is.

I think the "feels like a native Mac app" statement is a red herring. The real reason people prefer it over any other browser ,including Omniweb, is because it's the default. Why fix what ain't broken? If they don't know how to set their default browser (in the Safari preferences you can set your system default web browser and the system actually respects your choice unlike Windows XP) then they will stick with the default.

The irony is that IE7 and Office 2007 no-longer feel like native Windows apps. Which is a good thing, but confusing.

OK, IE7 feels like a native Windows app when it chokes on pages with complex javascript and lots of images then crashes and burns. But other than that...

Scott on February 10, 2007 10:05 AM

Then what happens when WPF comes along and gets rid of the notion of a "native UI"? Will this send us backward dozens of years when it comes to application consistency? I think that WPF is really cool but this one aspect really bothers me. Heck, the default text box isn't even usable out of the box. You have to resize it so that it doesn't have 10 pixel borders all the way around the text.

Thoughts?

Matt on February 10, 2007 10:39 AM

I used the first UIs on the Star many years ago. I've used lots more since. IMHO, the AMiga's still stands out above most others. Along with the later OS/2 PMs.

The new Mac interface is an annoying candy triviality that breaks almost every "guideline" Apple used to preach. I value FF for its standardisation across platforms.

discernment on February 10, 2007 10:42 AM

> "Recently I noticed Firefox has been using too much memory & CPU time so I gave Camino another try and I'm now using it instead. I still miss a lot of firefox extensions, though."

You might find that some of the extensions themselves are at fault, not the browser per-se. Extensions with major memory leaks, stability problems, and excessive cpu usage have become a big issue in the firefox community, and FF3 is supposed to clamp down on them a lot more, and incorporate stricter memory management. (FF devs will routinely tell people to remove all extensions before reporting/asking for help, because that magically clears up so many problems.)

Of course, Camino looks nicer than FF on Mac anyway.

The bizarre part is that FF has had Aqua themes as long as it's had themes, that can even effect buttons and textfields, yet no one wants to break the "purity" of the app or something and bundle them on the OSX install.

Foxyshadis on February 10, 2007 10:48 AM

if ui look and feel is so important, why is myspace so popular?

i love cool looking ui's, but im not convinced that having all my buttons look like gumdrops is what makes it 'correct'. i think it has more to do with what the app is trying to do, and if things are in the right place when youre working fast.

i dont think uniformity is as important as everyone claims. we all know what a button is.

lenny on February 10, 2007 11:15 AM

>if ui look and feel is so important, why is myspace so popular?

UI look and feel is always important, unless it isn't. :-)

Consistency within a single app is critical. Whether consistency across apps is important depends on the application.

Every game has as unique an interface as the developers can afford. In the world of games novelty is critical.

People make myspaces pages to show creativity and uniqueness. They are not trying to show competence as ui designers. MySpace is popular because people don't have a ui consistency requirement on friendship. People will put up with a lot to have and keep friends.

That said Jeff is 100% right, when he beats the drum for consistent competent ui. Most applications are rarely used. The user gains nothing but confusion from a novel ui.

In the examples of games and Myspace, a bit of cognitive dissonance is a benefit. Novelty and surprise is the whole point. In the realm of most applications cognitive dissonance is not a benefit. The next web shopping cart, or spreadsheet implementation is not so inherently cool that people will put up with the UI being visual distinct without a very good reason.

Steve Steiner on February 10, 2007 11:46 AM

It seems really silly (and, yes, shallow) to pick a browser based on the aesthetics of the the buttons. The plugins available for Firefox make my browsing at least twice as productive as my IE browsing - it's like the switch from dialup to cable.

We should strive for aesthetic excellence in what we build, but pick the applications we use for more than style.

Would you really hire Marilyn Monroe to be your executive assistant? (get the chuckling out the the way here)
Really?

Jon Galloway on February 10, 2007 1:02 PM

If you want to see non-native look and feel, try using IE7 with the Windows Classic style:

http://img57.imageshack.us/my.php?image=uglyiecw5.png

Buttons are randomly strewn all over the place, the new tab icon is totally invisible unless you mouse over it, classic beveled buttons are mixed with shiny new rounded style buttons, even the tabs don't match. Compare it to Firefox 2.0 using the Whitehart theme:

http://img230.imageshack.us/my.php?image=nicefirefoxdv3.png

Unintrusive, consistent, clean. The IE7 UI feels like it's trying to jump out of the screen and hit me in the face, but the Firefox UI just sits in the background letting me focus on the websites I'm looking at. A good illustration of this point: the screenshot of IE7 is 21.3KB, but the screenshot of Firefox is only 13.9KB, despite having larger dimensions.

Yes, I am using a theme that has to be downloaded and installed separately from Firefox, but from what I recall it looking like before installing the theme, I think the same argument can be made out-of-the-box. Firefox beats IE7 when using the Windows Classic theme.

David on February 10, 2007 1:03 PM

Dead-on... except that a well-designed replacement UI can do awfully well. The trouble is what you get to in the second half - that most UI is not well-designed. The example you point out about Java is glaring because all of their UI has been complete and utter trash.

But then, look at Eclipse. Really, look at it:
http://images.google.com/images?q=Eclipse%20Java

It's not quite native, and not quite... not. Eclipse is actually a very good example of how universal UI can actually succeed. For the most part the Eclipse UI is consistent cross-platform, and not gorgeous, but usable and non-ugly. And, there are portions of the UI that are platform-specific; for example, on Windows it's easy for a Visual Studio developer to switch into the Visual Studio shortcut keys.

So, it can be done, and Eclipse is an ironic example of it somehow being done in Java no less. That project has had a LOT of work done to get it to where it is. But it can be done.

Chris on February 10, 2007 1:44 PM

Generally I agree, but really who cares? Desktop applications are going the way of the dodo, pretty much all the OS does for most people these days is run a word processor and a browser, and in a web context we are used to non-native UI.

Marcus on February 10, 2007 1:45 PM

"It seems really silly (and, yes, shallow) to pick a browser based on the aesthetics of the the buttons."

Jon, the buttons that Safari (and Camino) use are more than just aesthetic. The functionality of the buttons is different between Windows and OS X. So using the built in buttons gives a more consistant look AND feel for your app under OS X.

Personally, the functionality of the select box under OS X is broken for me. You can't tab to them on forms (at least browser forms) and the keyboard selection doesn't work the same as Windows or other platforms.

"Desktop applications are going the way of the dodo" - All that is changing is the way we develop desktop apps. Now we develop them more like web apps, using markup and distributing them over the web.

Scott on February 10, 2007 2:07 PM

IE 7 on vista (or XP) is appalling. Its implementation of tabs is a joke and its layout is terrible. Buttons thrown all over the place, ugly GUI, fixed layout etc. (Nearly as bad as the Office 2007 GUI.)
Makes IE 7 unuseable for veteran IE users.
Firefox is far superior on Vista and runs extremely well. (Its never crashed on me yet!, not like IE 7)
Picking an app because you like the buttons or its color is ridiculous. What about functionality and useability?

Dazza on February 10, 2007 2:21 PM

@Mike:
Both Ruby and Python have bridges to cocoa on the mac. See: www.rubycocoa.org for example. So you can use native widgets. (Actually Python supported native widgets on the even before OS X).

Shawn MacIntyre on February 10, 2007 2:37 PM

I only use firefox. I also recently got my first mac, and downloaded fire fox after two days of strugling with safari talk about native UI. Nothing feels more native to me than fire fox and we can thank IE for being so shitty, and driving me to it. Nothing beats searching for text one letter at a time at the bottom of the window, so in invasive, unlike IE6 where you get a big box in the middle of the window and no option at all in safari.
However my keyboard does on occasion stop working when i have flash loaded with fire fox. Bot there is a simple fix ctrl+tab or apple+tab and then back into browser.

eugene on February 10, 2007 2:49 PM

I actually prefer a minimal UI to dropshadowed gelatinous animated cellophane flying all around the screen. Most users really care more about speed, ease of use, and reliability. A successful UI is simple and highly functional. Cuteness can be charming but the charm wears off quickly when simple and highly functional aren't there.

Most users are probably already used to a non-standard mismash of UI design and could care less about how buttons look today. iTunes on Windows, any IM client, and modern CD writing software are great examples. Everyone wants to reinvent the UI and look like the next big futuristic whatever.

Regarding the Firefox complaints, I wonder if the commenters here having issues with Firefox are:
- Using the latest (or event recent) version
- Using some addons that might be causing trouble.

I haven't had memory leaks in FF on Windows for some time now. And the last few times I had trouble, it wasn't Firefox per se, but a buggy addon. Addons are great, but its rash to blame some third-party addons' bugs on the whole browser, take responsibility for evaluating them if you're going to customize your browser!

casey on February 10, 2007 2:51 PM

The beautiful thing about firefox is that it is completely customizable. I'm sure with a little bit of tweaking the UI buttons could be changed. Hell, I'm sure a quick google search would find a theme or extension that does this for you already. Firefox isn't supposed to be robust on its own, that's why it has extensions.

TME on February 10, 2007 3:27 PM

I'm a new Mac convert and I won't even consider using Safari until it has a Google toolbar. Plus I do a lot of work on Windows and occasionally Linux. Having one browser that I can use everywhere is more important to me than native Cocoa controls on my web pages.

Matt on February 10, 2007 4:01 PM

A lot of people focus (or write off completely) on the 'Look' part of 'Look and Feel' to the detriment of 'Feel'.

Feel is much more important than look. Behavior is more important than appearance. When you use a Java application on Mac OS X - even if it has the native 'look' and managed to figure out where to draw the menu bar - it still feels different. The behavior of text input, the sluggishness of tabs, the awkward feel of drag and drop... Eclipse behaves better than most, but it still feels a bit 'off'. But as looks become more stylized and unique per application (witness the clubbing iTunes 7 took from the ugly stick), it's going to be the feel of things that matters. I don't mind so much if your app draws slider bars in a cute and funny way. I do care about what happens when I click in the empty space. If it performs a "scroll to here" move when I expect a "scroll down one page" move, I get pissed. I remember getting so frustrated with WinAmp skins over issues like this.

But what's really important about native widgets is the fact that the Cocoa text system has some pretty powerful features, reaching back into the NeXTStep days. All Cocoa apps can share these features automatically: spell checking, auto completion, some emacs style movement and kill-yank key bindings. Safari and OmniWeb's text fields all pick up these features. And you can install Input Managers to get even more power out of all text managed widgets. I use "Edit in TextMate" all the time. While writing this comment, I hit 'control-command-e' after the second paragraph so that I could write out my thoughts in a full text editor, giving me more space and focus. Every time I hit 'save' in TextMate, it's saved back to this comment box in Safari. This is very useful with web apps like GMail and Basecamp where one can use the Mail and Textile bundles while writing a message. And this feature extends to other applications like Mail.app, TextEdit, even the filename field in "Save As" dialog boxes. What's the point of being able to bring a filename into a full text editor for a few seconds? Being able to fix gremlins, apply a uniform case, etc.

Native Cocoa text widgets get a lot of power. Firefox can't take advantage of this at this time.

But also, Carbon text widgets don't get this behavior either. And I believe that Camino, while rendering native Cocoa widgets for windows and toolbars, renders Carbon widgets in the HTML... At least, that was the behavior in some of the 0.x versions. I haven't used it in a while. And yes, this is another weird little inconsistency within the Mac OS stemming from its union of many legacies.

Jeff Shell on February 10, 2007 4:02 PM

I really prefer native UI, but why can't anyone do that now on a webpage? They are always limited to using either custom buttons, or custom browser settings.


Last I checked, IE could not:
Configure itself by typing in about:config (to turn that nasty D/L window off)
Right-click on a word and select "search google for "word""
open a new tab with one click from the middle mouse button.

I've had CPU usage problems with Firefox (when it runs in the background), but it's not bad enough to make me go back to Mozilla either.

karl on February 10, 2007 4:54 PM

Is it about native UI, or just good UI? If the native Firefox UI was beautiful, consistent, and had the same level of attention as a world class operating system UI, would this be a moot point?

Jeff Gilbert on February 10, 2007 4:59 PM

> All Cocoa apps can share these features automatically: spell checking, auto completion, some emacs style movement and kill-yank key bindings. Safari and OmniWeb's text fields all pick up these features.

This is exactly what I'm talking about: leveraging the power of the native UI.

> The plugins available for Firefox make my browsing at least twice as productive as my IE browsing - it's like the switch from dialup to cable.

I know for a fact that you, Jon Galloway, don't use AdBlock Plus. Which is far and away the #1 productivity booster for Firefox web browsing. So your opinion is this topic is highly suspect.

> Picking an app because you like the buttons or its color is ridiculous. What about functionality and useability?

That's just it: I find the new IE7 layout far superior to old style menus and toolbar. The favorites button is the thing I use the most, and on Firefox it's behind a Bookmarks menu about 300 pixels to the right. Plus, IE7's favorites isn't a menu, so it doesn't suffer from the same problems as a fidgety, full-screen drop-down favorites menu with (n) cascading levels. And the favorites drop-down also has a handy tab that lets me dynamically switch to my history so I can see where I've been, to follow a trail of click-crumbs back to their source.

Firefox uses the old traditional menu paradigm. I feel we've moved beyond this already with Office 2007 and IE7. More generally, main menus and toolbars are obsolete: they don't scale worth a damn. It's the same problem with the old Windows XP style cascading start menu.

http://www.codinghorror.com/blog/archives/000273.html

Jeff Atwood on February 10, 2007 5:52 PM

i agree, but i don't think that it means developers should only use native gui widgets. apple doesn't. for example, front row, time machine, itunes, and pretty much all of their hit apps have some special interface feature. gui developers should be creative, but they should be sensive to the fact that users do get used to the "look and feel" of their operating system. if your interface is going to make them uncomfortable, figure out something else. a little bit of user testing will let you know.

cs on February 10, 2007 7:03 PM

I'm going to have to step out of the majority on this one.

On a given day, I use Linux and Windows at work, and come home to my Mac.

The biggest aggravation in my life is applications that try to be "native". I don't want a different set of key commands on each application, I don't want different looks and feel. If I have to get work done, I want everything to look and behave as similar as possible across platforms. I don't care if it's bland or ugly (I've turned Vista back to the classic W2K theme anyway). I don't care if they're non standard. I don't want to have to remember three sets of muscle memories for each given program.

Currently, I use:
* Firefox / Firebug for browsing and development
* Thunderbird / Lightning for mail and calendering (using <a href="http://rscds.sourceforge.net/index.php">RSCDS</a> and IMAP).
* Aptana for web development
* Emacs for Lisp and Perl development
* vi/vim over ssh for other kinds of in-place development
* Eclipse for Java development in cvs

All of these are cross platform between Windows, OSX and Linux. All of them are (largely) network independent.

And most importantly, they all look and feel the same regardless of the underlying OS. I don't have to worry about my muscle memories thrashing every time I sit down at a different terminal.

It's so much easier to get stuff done this way.

Therac-25 on February 10, 2007 7:35 PM

I personally use safari, but keep camino for those odd ball firefox/camino only websites.

i do enjoy the native UI feel, and hate Java apps invading my osx

-clay

clayton thompson on February 10, 2007 9:02 PM

You should define "native" a little more...

Steve on February 10, 2007 9:41 PM

Jeff,
I'm surprised you would prefer IE7 to FF. Like Jon, I find FF (with extensions) to be WAY more powerful and productive than IE7. Given how much time I spend on the web, that hugely improves my overall productivity.

>IE7's favorites isn't a menu, so it doesn't suffer from the same
>problems as a fidgety, full-screen drop-down favorites menu with (n)
>cascading levels.

I'm confused - as far as I can tell, FF and IE7 have almost identical functionality here. Both have favorites/bookmarks available as a menu and as a sidebar. The history info is also available in a side bar in FF (not a tab on the favorites bar, but one hotkey away). And the favorites sidebar in FF has a search feature, which is very useful (or would be if I still used local bookmarks). Am I missing something?

>More generally, main menus and toolbars are obsolete

But they are still used by IE7. The only difference is that the main menu is hidden by default in IE7 (something easily accomplished in FF by the way). I'm with you on the ribbon though.

Kevin Dente on February 10, 2007 9:51 PM

I'm going to have to go ahead and call you on this one, Jeff. I have sitting to my immediate right an iMac computer that runs Tiger. I have Safari on the computer, but my dock has only FireFox. I don't notice the differences at all and, in fact, because it DOES look like a Windows computer, I'm more content to use it because I visually process the data it presents me faster since I work with a Windows GUI all day anyway.

The native GUI doesn't always win out in browsing, but in every other application it sure does. I'll stick with FireFox on my Mac, thanks.

Jae on February 10, 2007 10:33 PM

The one thing that i feel people are forgetting is that most of the actual users of browsers are not developers or even power software users. Someone like my younger sister would absolutely make a decision about what software she is going to use based on whether or not it looks and feels familiar to her.

louis on February 10, 2007 11:33 PM

For the Tk bashers there, Tk looks like Motif mostly (in older Versions). But if you don't use a Tk binding that sucks, you can arrive in the present time and use theming, looks nice on OS X, Windows with Theming, Unix with Qt Themes, or build your own look and feel.
Look at the screenshots at:
http://tktable.sourceforge.net/tile/screenshots/macosx.html

Or for some more apps using Tile (which will be part of the upcoming Tcl/Tk 8.5):
http://wiki.tcl.tk/13636

So if your apps look like crap when using Tk, you just don't invest the time to polish the UI a bit, like you are forced to with some other toolkits to even get it working ok.

schlenk on February 11, 2007 4:57 AM

After spending years with Windows, and using Firefox as my default browser, I bought a MacBook for personal use recently.

I have used Safari a lot. I have also installed Camino (the OSX tailored version of Firefox), and Flock, but not Firefox itself - precisely for the reasons outlined in your article.

Jonathan on February 11, 2007 6:33 AM

"AdBlock Plus. Which is far and away the #1 productivity booster for Firefox web browsing."

I'd disagree a little here. I've used the AdBlock Plus plugin and didn't find it speeding up my experience much. I blame the rise of javascript widgets. Too many requests to remote domains. That an un=optimized queries on the back end of the websites I'm visiting.

The Fasterfox plugin helps out a great deal. The biggest productivity boost I get, in either browser, is through my bookmarklets.

Camino is a great idea, but it doesn't support firefox extensions!? Talk about neutering a browser.

Scott on February 11, 2007 7:20 AM

AdBlock Plus is not a productivity addin. If that's the best Firefox plugin you use, I understand how you'd prefer IE7.

Jon Galloway on February 11, 2007 9:19 AM

"Firefox feels so dowdy in Vista. It just doesn't fit in. It scrolls very slowly, the keyboard stops working at random, and the overall GUI is jarringly out of place, including the legacy main menu."

Well, first of all, you're using Vista. Secondly you're making the incorrect assumption with that statement that everything should work and fit in with Vista. The reality is that there are a ton of incompatibilities with the OS with a lot of hardware and software. Firefox is not excluded from this list. It sounds like you're shifting the fault from Microsoft to the Mozilla team and is overall an unfair comparison in this regard. I agree that non-native UI sucks. But in an exaggerated analogy, that's like saying you'd rather be mugged and raped by a Fabio look-alike over trusting an ugly security guard with your safety.

Victor on February 11, 2007 12:21 PM

> Indeed. That's what I am doing. That's what the Gimp/Gaim/Firefox retards should be doing as well.

1. Qt4 is extremely recent, and is the first Qt with a GPL version for Windows, all of these projects predate Qt4 by many years.
2. Qt4/GPL requires the code linked to it to be GPL'd, not all of them are GPL'd, and some are multi-licensed (Firefox is tri-licensed I think).
3. I've heard pretty mixed reports from wxWidgets, had no problem with it myself but other people really seem to hate it.

> Are the Web 2 applications you use every day (like Google Docs & Spreadsheets or some other AJAX app) supported in Safari - NO.
> Is your on-line bank supporting Safari - NO.
> Is Safari in your language - NO.
> Mac is something like 10 years behind Microsoft, Java and open source project like Firefox.

1. Safari, even Safari 2, has one of the best CSS supports out there.
2. Try Webkit/Safari 3 next time you have access to a mac, it's a very impressive upgrade over Safari 2, while Safari 2 ranks second-to-last overall due to its awful JS support (1 is Firefox and 4 is MSIE, 2 is opera) Webkit currently stands at the second place, and pretty much only because Firefox as much better tools (Firebug...)

And of course Webkit's CSS support blows everything out of the water...

> Eclipse [...] look and feel right..

Surely you're joking right?

> This is one of the reasons I refuse to use Quicktime on Windows.

Is the main reason the fact that Quicktime is a complete and utter piece of shit? Cause that sure is the reason why I refuse to use Quicktime on OSX.

> I'm a new Mac convert and I won't even consider using Safari until it has a Google toolbar.

Why do you need a google toolbar exactly?

> Safari and OmniWeb's text fields all pick up these features.

Camino does, too

> Which is far and away the #1 productivity booster for Firefox web browsing.

Strong disagreement here, Firebug, Flashblock and NoScript are far beyond Adblock in productivity boosting, Adblock is merely an annoyance killer.

There are dozens of extensions I'd put before Adblock as far as productivity is concerned, seriously, including Firesomething.

> The favorites button is the thing I use the most

The favorites button? As in "add as favorite" or as "I want to see a website that's inside my favorites"?

Masklinn on February 11, 2007 1:15 PM

I don't really know if Opera has native UI or not when using the "native" skin (though I'm sure there's a skin for any OS anyways), I do know that it is the best browser in existance. After FF2 came out, I used it for a while, but quickly grew tired of both FF and IE. Opera is faster and has more features than both of them. Since then, I've never even looked back.

Allied on February 11, 2007 2:33 PM

> AdBlock Plus is not a productivity addin

Pages load faster. Your eye isn't distracted when the text you're reading is no longer surrounded by five animated flash advertisements, so you can read faster, too.

If that isn't productivity booster, I don't know what is.

> I'm confused - as far as I can tell, FF and IE7 have almost identical functionality here. Both have favorites/bookmarks available as a menu and as a sidebar. The history info is also available in a side bar in FF (not a tab on the favorites bar, but one hotkey away). And the favorites sidebar in FF has a search feature, which is very useful (or would be if I still used local bookmarks). Am I missing something?

You're falling into the myth of infinite configurability (also applies to your "you can hide the main menu" comment). IE7's favorites is not a sidebar. The behavior is not the same. What is a single click in IE7 becomes a menu traversal, plus a click on a close button when I'm done in Firefox. Try it yourself and see. You shouldn't have to touch the drop-down menus to perform a common task in a browser.

Also, the slow wheel scrolling in Firefox is extremely painful. IE7 starts up faster, and I'd swear it loads pages faster, too.

I do use Firefox when coding web pages. I just don't use it for day-to-day browsing.

Jeff Atwood on February 11, 2007 3:01 PM

Just gotta say that I run XP with the Windows classic theme, so the app's look really has no bearing on whether I use it or not. I'm all for Firefox and some of the user made themes do pretty accurately recreate the native XP/OSX themes.

Mike on February 11, 2007 5:35 PM

Dear God, this is probably the worst reason I've EVER heard someone give to not use Firefox.

You flat-out stated that you'd choose "native look and feel over the ability to install a dozen user extensions." Are you freaking serious? You're willing to trade nearly infinite customization and personalization potential for something that "looks pretty?"

Someone please shoot me...

Dan on February 11, 2007 7:22 PM

> You're willing to trade nearly infinite customization and personalization potential for something that "looks pretty?"

This is something I've tried to keep from my wife for YEARS. Thanks for blowing my cover.

Jeff Atwood on February 11, 2007 7:36 PM

>IE7's favorites is not a sidebar. The behavior is not the same.

Ah, I see. I hadn't noticed the auto-hide-on-select behavior. Thanks for the tip - that is a nice feature. For me, if bookmarks are important enough that I need them so easily accesible, I put them on my bookmark toolbar (MS botched the links toolbar from the beginning, and has never fixed it). Otherwise, I'd rather have the bookmarks in a central place like Del.icio.us, not tied to one computer. But that's a matter of preference.

I haven't had the scrolling performance problems you've had. Startup time is irrelevant - I always have a web browser open. Always.

As for the main menu, IE7 is the worst of both worlds. The point of the ribbon was to make the rich functionality of Office apps contextual and discoverable. The main menu in IE7 does neither. In order to "move beyond the menu" it's not good enough to just hide it unless you know the magic incantation to bring it back - you actually need to replace it with something better.

>You're falling into the myth of infinite configurability

There's a difference between configurability as a form of personal expression and as a means to improve productivity. I don't the former, but I'm glad to have the ability to do the latter. I will take every opportunity to be more effective with the tools that I use, whether it be defining a hotkey for a commonly used function, memorizing keyboard shortcuts, or installing an extension that makes the browser a more capable tool. If you're worried about an extra click to navigate bookmarks, productivity seems like it must be important to you, yes?

Kevin Dente on February 11, 2007 9:25 PM

> I'd rather have the bookmarks in a central place like Del.icio.us

My blog is my del.icio.us; it it's important enough to remember, it's important enough to write about.

> I always have a web browser open

And you never open new instances? That's what I mean by startup time.

> There's a difference between configurability as a form of personal expression and as a means to improve productivity

Yes, but browsers aren't Visual Studio for 99.9% of the audience. There's a difference between expressing productivity in terms of the tool (eg, the browser) versus the content (eg, the websites you visit and the information you consume).

We don't need a ribbon (or a main menu) in web browsers because they're windows for content browsing, not content creation. The day that a web browser is as complex as Word 2007, we're in big trouble.

> I haven't had the scrolling performance problems you've had

Try this experiment: Take this page and open it in both IE7 and Firefox. Hit END to move to the bottom. Then mouse wheel up a bit. This is easy to see if you have two monitors, just do one in each.

Scrolling is an activity I perform constantly while I'm using the web, and for whatever reason, it's terribly slow in Firefox, like wading through molasses. Maybe because it's not using the native DirectX interfaces?

Jeff Atwood on February 11, 2007 10:23 PM

Ya, I'm surprised you didn't talk more about Camino...most hard core Mac-folks say that's the browser-of-choice.

Scott Hanselman on February 11, 2007 10:30 PM

I just did your mousewheel test and Firefox was durn speedy in scrolling to the top. I only have 18 tabs open - normally I have between 40 and 60 open, but I just cleared some tabs to Scrapbook.

I'm going to try one more crack at this web productivity addon thing. Some game changer addons I'm using include Scrapbook, SessionSaver, SearchKeys, DownloadThemAll, ButMeNot, and Colorzilla. The reason I call these out (I'm using a lot more addons) is that they illustrate the idea of using a browser in a fundamentally different way. These things go beyond improving loading time and reducing annoyances to changing the way I work. Scrapbook (set up with FolderShare) allows me to save any page and have it available offline on any of my computers while keeping the original URL and allowing me to make notes at any level. That's a huge difference from a Favorites menu - I don't even bother with Favorites anymore, it's like talking about better cassette sorting methods when you've got an MP3 player.

And that's just one extension out of a dozen that I use.

So I'm going to pick IE7 over that because it seems to "fits in" better with Vista? Crazy talk.

Jon Galloway on February 12, 2007 12:20 AM

I totally agree with this blog entry Jeff, as a Java Swing developer I can honestly say non-native UI's suck to get to play right. However:

> And you never open new instances?

I am guessing most developers have firefox with ~10 tabs open constantly and a bunch of dev plugins, but in the same process. So what makes for a new instance is subject to debate. Personally I always put my PC to hibernate so I create a new instance perhaps once a month (session cleanup time).

> Try this experiment: Take this page and open it in both IE7 and
> Firefox. Hit END to move to the bottom. Then mouse wheel up a bit.
> This is easy to see if you have two monitors, just do one in each.

Hmm... no ill effects on my system. IE probably does perform a bit better in specific micro-benchmarks, but its benefits by far outweighs its drawbacks.

Casper Bang on February 12, 2007 12:27 AM

> normally I have between 40 and 60 [tabs] open, but I just cleared some tabs to Scrapbook

You don't need more tabs-- you need more/larger monitors. The reason I open new windows is to throw screens from monitor to monitor, ala Minority Report, to display related information simultaneously.

Also, there's quite a bit of cognitive dissonance between tabs and windows. CTRL+TAB.. ALT+TAB.. it gets confusing. I often close windows that had a tab I needed because the title of the tab was not visible in the taskbar.

My strategy is this: I keep *related* stuff in tabs, and when I switch topics, I open a new window containing only info related to that topic in tabs.

Seriously, you guys and gals with 15+ tabs open: GET MORE MONITORS. You'll thank me later. Tabs have their place, but if you're using that many, it's a symptom of a deeper problem.

Jeff Atwood on February 12, 2007 1:12 AM

My girlfriend have a mac, and she told me the exact same thing about Safari yesterday; "It feels more 'Mac', and that I'm supposed to use it".

Great article!

Patrik on February 12, 2007 2:47 AM

I'll mention my pet peeve here: those two-tone menus in Visual Studio 2003 and later. With my preferred colour scheme, unselected options have a background colour of #f3f3f3 and the selected option has a background of #f2f2f2. What a contrast!

Oh, and the file chooser in Office 97. It looks and behaves just differently enough from the standard XP one to be very very annoying.

John Elliott on February 12, 2007 3:01 AM

While I agree, for the reasons given above, that *desktop* applications should use native UI widgets in most cases, I wholeheartedly disagree that web pages should have to follow this convention.

Desktop applications have access to, and should conform to, a much larger set of UI elements than the half dozen or so that a browser might use to display a form on a web page. This larger set absolutely does contribute to a better sense of cohesiveness with the OS. However, those half-dozen native form widgets within a web page generally have the *opposite* effect. They stick out like a sore thumb when the design of the rest of the page does not mesh with them, and make my clients ask why their site doesn't look the same in every browser.

If we start expecting web pages to conform to OS guidelines, we can throw out every web page in existence today, because they all have "non-standard" backgrounds, typography, and color schemes. If that's what you really want, then just use a feed reader to look at RSS feeds and stop using web browsers completely.

Web page form elements should be governed by the same set of rules as everything else on the page: CSS. Don't like how the Firefox widgets look on your page by default? Style them!

easykill on February 12, 2007 4:49 AM

Wow it looks like someone has never done cross browser testing with Safari. Safari HTML rendering is worst of breed by far.

IE owns a landslide majority of the browser market. I don't know but I think I can assume maybe Microsoft is doing something right? And if they aren't least trying to mirror how IE is doing things I think as a browser company you are doing something majorly wrong otherwise.

Josh on February 12, 2007 5:27 AM

> Seriously, you guys and gals with 15+ tabs open: GET MORE MONITORS. You'll thank me later. Tabs have their place, but if you're using that many, it's a symptom of a deeper problem.

I have 3 monitors including a 24" widescreen Dell (the others are older 19" Viewsonics).

And yet, I only ever have one firefox window open, with many many tabs, the only time when I have two or more browser instances is when I have to cross check websites in separate browsers.

And if I need a specific page and I can't see the name in my tabs bar (because i went on a spree and have 40 or 50 tabs open) I just hit F2. Reveal, now THAT is what I call a productivity booster.

By the way Adblock doesn't actually make pages faster to load, it makes them slower because it has many rules-related computations to do. While you'd also have to load ads-images, the initial loading of the page (the HTML part) would be faster if you didn't have adblock.

Masklinn on February 12, 2007 5:33 AM

I'm sorry to say it Jeff but I don't think you're in good company, I think you're in a tiny minority of people who actually care. Safari, like IE, is the most popular because it's the default. Nothing more, nothing less.

I for one do not and will not lament some apps' lack of "native" look in Vista, which to me often looks like a cheesy photoshop job, as if some geek got a little trigger-happy on the shadows and glows. And as for the "legacy" main menu, Internet Explorer isn't a complicated enough program to need ribbon-esque functionality (as compared with MS Office, which is considerably more confusing even to many experienced users).

I'm on the fence when it comes to the web itself; that FF-Mac screenshot does look butt-ugly, and yet something bothers me about the Safari shot too. It just doesn't look like Google. Those buttons are not Google's style... they don't seem to fit. I don't know, maybe I'm just not used to seeing it like that, since it looks the same in both IE6 and Firefox (Windows).

Aaron G on February 12, 2007 6:41 AM

You're spot on. But until you pointed this out, I wasn't consciously aware of WHY I preferred Safari (and Camino) to Firefox. The implication there being that sometimes we _unconsciously_ gravitate toward the preferred look-and-feel.

Dave C. on February 12, 2007 9:18 AM

I use FireFox on OS X and while this did not come standard with FF 2.0, unlike FF 1.x, I got the OSX theme installed and it looks like an OS X.

The only problem with FF on OS X is the font antialiasing quality. I have also downloaded a utility that transfers the bookmarks from Safari.

I use GrApple <a href="http://www.takebacktheweb.org/">http://www.takebacktheweb.org/</a>

Early version of this theme didn't work well but now the bookmark UI is the look as Safari

ulric on February 12, 2007 9:26 AM

>My blog is my del.icio.us; it it's important enough to remember, it's
>important enough to write about.

If only I had time to do that. ;)

>And you never open new instances? That's what I mean by startup time.

Very rarely. I just tested it - the new instance startup time difference is negligible on my machine.

Yes, but browsers aren't Visual Studio for 99.9% of the audience. There's a difference between expressing productivity in terms of the tool (eg, the browser) versus the content (eg, the websites you visit and the information you consume).

>We don't need a ribbon (or a main menu) in web browsers because
>they're windows for content browsing, not content creation.

Uh - we still have a main menu in IE7. The issue here is hidden or not, not present or not. If MS wants to replace it with something better, I think that would be grant. What they have now is a combination of a hidden menu and a pseudo-sort-of-ribbon-esque toolbar. How is that an improvement?

BTW, if you think the browser is "too simple" to warrant a ribbon, I think you're buying into MS's "we haven't had time to redo it with a ribbon so we'll just tell people it doesn't need one" spin. An auto-hide ribbon would be a great UI for IE, and it wouldn't surprise me at all if we see one in IE8. Hell, the IE7 toolbar functionality is half-way to a ribbon already.


>Try this experiment:

Tried your scrolling experiement. No speed difference for me...both scroll very quickly. You sure you're not running some Firefox extension that's slowing things down? :P

Actually, this is all somewhat orthogonal to your original point about non-native UIs, which I happen to agree with. :) I certainly would use Safari if I was a Mac user (as my wife does), because an app running on a Mac should look like a Mac app. I hate running Java UIs for the same reason - the "almost Windows" UI irritates me.

But it's hard for me to understand how you could consider Firefox's UI "jarringly out of place". The main menu? Windows Mail, Notepad, and many other included-in-Windows apps still have a main menu. The color scheme? IE7 uses a totally different color scheme than Media Player and Movie Maker, which are in turn different still than Mail. What is it that looks so out of place to you?

Kevin Dente on February 12, 2007 9:52 AM

Blech, too much editing in a small comment window. Sorry for the typos.

Kevin Dente on February 12, 2007 9:54 AM

You should look at SWT and eclipse. Most people refuse to belive that its a Java app. This is how Java should be

In addition eclipse has RCP, a totally awesome framework for building pluggable GUIs

pm100 on February 12, 2007 10:18 AM

Ignoring the non-native GUI widgets, a much more significant lack of Firefox on OS X is that it doesn't integrate with Keychain Access (the central password manager) like other OS X browsers do.

This means that for multi-browser usage, all passwords need to be entered and stored twice: once in Keychain, and once in Firefox's password manager. When you have hundreds of passwords, this rules out using Firefox for anything but a web development platform.

Arto Bendiken on February 12, 2007 10:57 AM

> No speed difference for me...both scroll very quickly

There's a huge difference. Try it this way. Open this page in both browsers, on the same monitor. Start at the bottom, then mousewheel up five times.

In IE7, I end up at Feb 12, 12:20am. In Firefox, I end up at Feb 12, 5:33 am (about 20% less scrolling). I just did this 3 times and its very consistent.

Also, I am typing this in Firefox and my arrow keys arent working, and every time I type a single quote, the quick search is launched. This happens to me constantly in Firefox-- the keyboard goes haywire.

Jeff Atwood on February 12, 2007 11:05 AM

Ah, OK, I was unclear what you meant by "fast". You mean the length of each scroll with the wheel. Easily changeable:
http://adamplatti.net/blog/2006/10/12/how-to-set-mousewheel-scroll-length-in-firefox/

Changing the numlines setting to 6 matches up IE and Firefox fairly well on my machine (it's not clear what a "line" is in either browser, though - they seem to interpret the system scoll wheel length setting differently, with neither matching a "line" on this site).

That's pretty wonky with your keyboard - I don't have that problem at all (single quote only activates quick search if I'm not inside of a text field, and my arrow keys work fine). If that happened to me regularly, I'd probably bail on Firefox too.

My only complaint with the keyboard handling in Firefox is that sometimes the browser window loses focus (clicking on some toolbar element, for example), and it's neither obvious that it happened nor is there a keyboard shortcut to restore focus to the browsing window. It requires a mouse click, which I cannot abide.

Kevin Dente on February 12, 2007 11:29 AM

There are a lot of comments here, but I just wanted to add my thoughts as well. I couldn't agree more that non-native UIs suck. Both as a user and developer I so must prefer using native widgets.

Allan on February 12, 2007 11:57 AM

"Function over form. The benefits that the Firefox extensions give you far outweigh the "nice to have" native windows buttons."

Major distinction between 2 types of people. Some are all about aesthetics, but I could care less. I just use whatever works best for my personal process. I use a hodge podge of utilities and apps that have nothing in common when it comes to UI.

And I cannot live w/o FF's "find as you type" feature and the quick searches (actually IE7 may have those, haven't checked - I just ruled it out for daily use when I could find no find as you type feature).

Brad on February 12, 2007 12:55 PM

I use firefox on the mac (instead of safari) for one reason:
Google browser sync

Safari does not make it easy for me to maintain a single set of bookmarks from any machine that I use.

pedro on February 13, 2007 11:28 AM

I really don't know what you are talking about with Firefox on Vista...

I'm a test engineer, and i've been working with Vista since the first test version, as the apps developed here must work with Vista too.
As a test engineer working with desktop apps, i must have clean systems - just the OS installed and not much else, so as not to have any interference.

Still, after a few days of constant annoyance at IE7, i had to install Firefox on my test system (i'm using Firefox at home since version 1.4 appeared).
Why ? Because IE7 is riddled with so many bugs, it's crazy... just try switching tabs (IE stops responding for somewhere around ~50 seconds, and no, it's not the hardware specs, my test box here is pretty high end), and so on.
Ironically - the most critical IE7 bugs can be recognised from early editions of Firefox... the difference being that you never know when IE7 bugs are ironed out.

Now, if i need to connect to my company email (on Outlook Web Access, really poor choice), or to the company's bug tracking system, i use IE7 - it's still annoying as hell, when you have to do something in a hurry, but i have no choice. When i have to do anything else, from reading some news or checking my personal e-mail, or searching for something, i use Firefox.

Yes, maybe it's not so "streamlined", like IE7. But, have you ever tried to disable the useless "Aero" feature in Vista, and then use IE7 ?
Firefox looks the same, IE7 looks like a DOS application when Aero is disabled.

And, about the scrolling and the keyboard stop problems... i've never encountered them here. And i really mean never. Albeit, the keyboard bug seems valid, i would love to try to reproduce it here - could you give me some details ?


As a conslusion : i'm not a web developer, or a fanboy.
If IE gets better, it would be easier for me to use the OS's native browser, rather than using Firefox.

I'm using Firefox just because it is way better right now - for example, when reading news articles - i open an index in Firefox, and just open every article that seems interesting in a new tab (without automatically switching to it). This usually means around 60 tabs opened, maybe less, maybe alot more, depending on the day.
On my test box here, Firefox behaves the same as with one or two tabs - well, it does take some additional resources, but nothing you can feel.
At home, where i have an incredibly obsolete AMD Duron at 750 MHz, Firefox gets sluggy while the new tab loads the article, 2-3 seconds on my broadband connection, and then it's all ok.

With IE, my test box almost dies after reaching 35 opened tabs (with articles from many different websites, some with more flash adverts than others).
Also, if Firefox would die, from a 3rd party app for example, like Adobe reader malfunctioning when you opened a .pdf in Firefox, you just have to kill the process. It doesn't hang, and you don't lose your data, as the session is restored.

Try to kill IE7 if it hangs, when opening a .pdf, or a powerpoint, or a .doc, or excel, ot just because you switched too fast between tabs. You are lucky if you just cannot kill it (as it usually happens).
When you do, most of the time the system goes too (and that's with the "autorestart" option in windows disabled).


So really, i don't understand the basis for this article...

tanoprime on February 14, 2007 4:05 AM

->>Keyboard stops repondings

I have that same problem in FireFox 2 on my two Macs, since i upgraded from 1.5 to 2.0

I think it's FF 2.0 bug

ulric on February 14, 2007 9:44 AM

Something that I think is possibly being missed here, what with scrolling speed: Scrolling is heavily dependent on the video card, and the quality of its 2D implementation.

I remember, some years ago, when I needed to upgrade to a video card with enough memory to support more than 256 colors on 1280x1024. I don't use the 3D capabilities of my video cards much at all, so I figured I could go with a bargain-basement off-brand one without losing anything. I got it home, installed it, and watched <i>everything</i> have scrolling problems -- not only was it scrolling at a speed slower than I can skim the headings, but it was jerky and uneven. I immediately went and got a better card, after looking at some online reviews of 2D performance (Matrox makes a fairly big deal of theirs, and I've had no problems with their cards), and I was much happier.

On AdBlock Pro -- I can't see a need for it. I've got Flash disabled (except when I specifically turn it on), and GIF-animation disabled, and ... wait, your browser doesn't offer that? How can you <i>use</i> it? <tt>:)</tt>

(Every so often, I use someone else's browser, and it's always a jarring realization that, for the rest of the world, the web <i>blinks</i>. It doesn't matter to me if it's an ad or an LJ usericon, so an ad-blocker is the wrong tool.)

Brooks Moses on February 14, 2007 5:40 PM

I'm also another fan of IE7 on Vista instead of the alternatives (Opera/Firefox) which I used all the time in XP.

As mentioned... Opera/Firefox just seem... out of place in Vista...
i.e. Opera in XP would scroll very smoothly and just would feel smooth. But in Vista its jaggered and harsh. Then you compare IE7 against it and IE7 just seems right.

Li on February 17, 2007 4:22 AM

Kinda biased (being a trolltech engineer), but using the right toolkit for the job helps too for x-platform applications. GTK? non-native controls. Java? Non-native controls. Qt? Native controls if you choose to, or non-native if you choose that theme. Having a toolkit that takes the pain out of creating native looking applications without any work on your behalf makes making proffesional looking applications so much easier, and as you stated, not just proffesional, but native looking and feeling apps help takeup by end users. Good article :)

Bill King on February 18, 2007 1:55 AM

"Are the Web 2 applications you use every day (like Google Docs & Spreadsheets or some other AJAX app) supported in Safari - NO.

Is your on-line bank supporting Safari - NO."

Given that Adobe's Apollo team chose WebKit over Gecko for the upcoming Flash 3/Apollo/Flex sledgehammer, I would assume these are temporary problems at worst.

But for now, you're correct sort of. I'm a mac user that cares about the way interface looks and everything, and lack of support for a bunch of javascipt bits that Web2.0 seems to depend on made me switch to Firefox as my default browser.

And now that I'm here, it'll be hard to go back, since Safari lacks support for add-ons like Firefox has - I don't know if I could live in a world without Firebug =P

Ironically, my biggest pet peeve about Firefox is that it uses the standard OS X window bar, what made Safari nice was the brushed metal window bar - it made browser windows distinctive when they were in the background.

Oh well.

illovich on February 18, 2007 8:35 AM

Only if you have the privilege to work on a nice platform. Now, I certainly wouldn't call Vista "a nice platform" (just out of habit), but on XP I would choose ANYTHING that looks nice and that means NOT native.

You're right, though, on your core point... Apps need to become more native. Problem probably is that if you don't build it into the language, you get many "half-assed" attempts that don't work out anyways.

grey on February 21, 2007 8:42 PM

Wow, why would anyone care what their computer UI looks like? That's like caring what your dishwasher looks like. I don't think most people care and they shouldn't. Notice I said "looks like," not "acts like."

I've gotten plenty of practice making Windows XP look as much like W2K as it can. The time spent turning off all that gaudy crap is worthwhile, because I get more pixels for what I care about: my content. But if there was no way to make all those execrable gumdrops go away... I'd stop seeing them in a day or two. There is no business case for impressively fancy UIs. This is why only monopolies and fools invest in them.

Erik Nilsson on February 22, 2007 11:54 PM

I haven't read all the comments, but I want to give a big AMEN to the article in general and the 6th comment by Mike. It's nice to finally find somebody else who doesn't have their vision occluded by fanboyism.

Firefox has some nice features (well, it has extensions that have nice features. Firefox itself is relatively mundane), but what keeps me using IE is the terrible interface. It clashes so hard with the rest of Windows. If I wanted an interface like this I'd still be using Win95.

It's not just clashing themes either, everything in Firefox's UI under Windows feels off. The insertion beam in text fields is flaky. Textareas (like this one) barely work, selecting things at random as I scroll up and down. Form controls are also straight from 1995 (for the curious: form controls are not classic Windows controls. They are custom windowless controls [Windows devs know what that means] in order to save on resources. When it comes right down to it, Firefox's controls just aren't as good as IE's.)

Firefox's UI on Linux isn't so bad. Firefox's UI on Windows sucks.

Oh, and Erik Nilsson, you are a moron.

"why would anyone care what their computer UI looks like?"

Holy crap, because it's the frakking USER INTERFACE?!? Just maybe? You know, the thing I have to look at all day at work?

"I've gotten plenty of practice making Windows XP look as much like W2K as it can."

Still scared of change after 6 years? That's sad.

"There is no business case for impressively fancy UIs."

Tell that to Apple.

"This is why only monopolies and fools invest in them."

I reiterate--you are a complete moron.

Nick on February 24, 2007 10:47 PM

I agree with the article. Safari is much better for browsing and the UI is the main reason.

It's not just the visual eye-candy though, the widgets behave like other the rest of the OS. They just work better.

davoid on February 28, 2007 12:13 AM

I think you are missing a lot.

t on April 6, 2007 5:32 PM

I realize this is an old article, but I just happened to run across it.

Enterprising hackers have solved your problem:

http://osnovice.blogspot.com/2007/05/firefox-controls-are-ugly.html

William Furr on June 22, 2007 6:54 AM

Ew, I can't imagine choosing to use IE over Firefox. Yeah, I use Windows XP. I can't say that the native UI thing bothers me. I think it has to do with my use of GNU/Linux on every other computer I own, so I'm used to those interfaces, and my use of non-Microsoft software for pretty much every other program besides the browser as well. Firefox starts to fit in pretty well when you're using free software for everything else on Windows, too: Pidgin for IM, X-Chat for IRC, OpenOffice for word processing, Azureus for torrents, Tor for anonymization, GIMP for photo editing, etc. Frankly, IE looks a lot more out of place to me than Firefox does just because of everything else I use, even under Windows XP.

Cyde Weys on October 4, 2007 5:20 AM

firefox degrades the text you read, and the graphics you view, to make for faster viewing, its hard to read a regular text page. You shouldn't have to degrade something to make it better. This speeds up your viewing, but it reduce's the appearance of a normally neat viewable page..

I perfer a browser that i can see easily...

Seeing on October 18, 2007 6:04 AM

When I first read your article I thought you were just another whiney mac user. Then I started using the safari 3 beta for windows. While the rendering is really fast and its a lot lighter than FF (though FF is still the best for web development), the mac widgets and totally different look and feel are very hard to get past. I had the same issue with using GAIM/pidgin in windows until gtk started using native windows widgets by default.

I think you are very much right. Until an application visually fits into a system we, the users, just don't like it. Regardless of any technical merits it may have.

Also the best thing that ever happened to java ui is the jgoodies windows look and feel.

bob on January 17, 2008 9:47 AM

2 bob:

>I had the same issue with using GAIM/pidgin in windows until gtk started using native windows widgets by default.

Actually, GTK+ version 2 doesn't use native Windows widgets (which are implemented in modules user32.dll and comctl32.dll), as Bill King already mentioned. Instead, GTK+ has theme engine called 'MS-Windows Engine' (aka GTK-Wimp, stands for 'Windows impersonator'). This theme engine uses Windows Visual Styles API (aka UxTheme API, implemented in module uxtheme.dll), if it is available (it is available in Windows XP and later operating systems), to paint GTK+ widgets. This allows GTK+ widgets to look like native Windows widgets.

Peter Sedov on March 8, 2008 2:37 PM

I'm sure that what is needed here are simply more standards. If someone came up with a set of XML standards or whatnot which defined the themes of buttons, fonts, and other such things, it seems to me the problem would be solved. The window itself matches the theme of the desktop, so why can't programs simply specify that they want to use the "standard desktop's theme" and subject themself to that theme that the user chooses? Here I'm also hinting that I believe the silly button graphics and such should also be a theme that is changable, but that part of it is for the OS developers to allow (which is one reason why I like sticking to Linux). Back on topic though, if someone did come out with a standard, it'd help to make writing apps that looked and felt native to any desktop environment non-trivial. I don't know if the solution is WXWidgets, that may help for now, but the long term solution seems to me to be one of untangling any platform-specific code from the buttons and such, and have a standard to allow all of the graphics to be determined by the DE, the way it should have been a long, long time ago in the first place. The programmers who've decided to make their own GUI instead of putting the API in place to allow the user to have the GUI they wanted to go along with their DE need a good chastizing. :P

Yfrwlf on May 19, 2008 7:59 AM

When two applications with rough feature parity compete, the application with the native UI will win. Every time. If you truly want to win the hearts and minds of your users, you go to the metal and take full advantage of the native UI.

I'm not even sure the native application has to be at parity with a competitor to win. I think the lack of tabs in Safari is a big detriment.

I also agree with Jeff's comments about the Java UI. UGGG-LYYYYYY. And SLOW. Never met a Java app I didn't hate.[url=http://www.estetik-ameliyat-merkezi.com ]estetik[/url] [url=http://www.disestetigi.org ]estetik[/url] [url=http://www.estetik-cerrahi-merkezleri.com ]estetik[/url]

ankara evden eve nakliyat on May 30, 2008 11:28 AM

&#1103; &#1076;&#1091;&#1084;&#1072;&#1102; &#1074; 2012 &#1075;&#1086;&#1076;&#1091; &#1089;&#1073;&#1086;&#1088;&#1085;&#1072;&#1103; &#1088;&#1086;&#1089;&#1089;&#1080;&#1080; &#1087;&#1086; &#1092;&#1091;&#1090;&#1073;&#1086;&#1083;&#1091; &#1074;&#1089;&#1077;&#1093; &#1087;&#1086;&#1088;&#1074;&#1077;&#1090; &#1088;&#1086;&#1089;&#1089;&#1080;&#1080;.

ara kiralama on August 9, 2008 1:53 AM

WTF? You write a supposed programming blog and use FUCKING IE 7?

mibby on June 2, 2009 11:25 PM
Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.