Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The correct thing to use is AppKit on OS X, WPF on Windows, GTK+ on Gnome, and Qt on KDE. Yes, this requires more code, but it results in a much, much better experience. As an OS X user, it's so obvious when an app isn't properly using AppKit.


Could not agree more.

Firefox has traditionally not been very popular on Mac for this very reason. They've gotten better at imitating OS X slightly, but even today it's still out of the question for me (and I suspect many Mac users) to use Firefox. It feels really awful to use. Whilst Chrome and Safari have nice native scrolling, rubber banding and smooth zooming, just like any other native app, Firefox feels jarring. It only just supports gestures (there's no nice animation like in Safari or Chrome).

My day-to-day browser is Safari. Not because it's faster or technically better (it really isn't) but because it's fully native and integrates properly with the system, e.g. it integrates properly with the downloads folder (showing the progress bar on the file and on the folder icon) and it looks and feels like any other Mac app. Chrome may be faster, Firefox may be more extensible - but I choose Safari because it works properly with the OS.

I really love Mozilla and I would love to use Firefox. I really hope they go with a OS-specific native shell - although I suspect they'll go with building the UI in HTML/CSS. But if they do, there's a good chance I'll switch.


It's hard for me to believe someone telling me "if it's not 100% native look and feel it's not good" when they're trying to sell something and build a content silo.

> The correct thing to use is AppKit on OS X, WPF on Windows, GTK+ on Gnome, and Qt on KDE.

WHAT?! Personally, being asked to rewrite the UI for X different native platforms is rage-inducing.

Some people who write their apps in Web technologies have done native UIs and are sick of the duplicated effort. ;)


Well it's already been done before. Yes it's a lot of effort but the added user experience can be very valuable. Case in point: Transmission is a BitTorrent client that has at least a Web UI, an OS X native UI, a GTK+ and a Qt one. Using the app just feels right, and the little bits of joy while using just adds up.


Web UIs are great for developers, much, much less so for people who don't have an ideological axe to grind or a limited development budget.


They are entitled to be lazy, but you get what you pay for and web UKs are never as good as native.


> They are entitled to be lazy

I really, really don't think that is the case.


It's just a judgemental way of saying that they have not made UI quality a priority. They're saving money on dev time by asking users to put up with a lower-quality experience, and I always feel resentful and put-upon when I encounter such an app. I'm likely to scrap it out of spite and use something else which has a better interface, even if it is less featureful.

(also, what happened to the edit link? "UKs" was obviously supposed to be "UIs" above.)


> They're saving money on dev time by asking users to put up with a lower-quality experience

I think that the idea that somehow if the UI is written in web technologies that it's somehow lesser quality is a false dichotomy. Web developers and native developers can make UIs that look exactly the same to the point where they are indistinguishable.

You have 2 hours after posting to edit a ~~commit~~ comment. Not my favorite "feature."


Well, maybe they can, but I haven't seen it happen, and it has never been truly indistinguishable in the past when people have made similar claims. Cross-platform UI tools have been coming and going for years, and "write once, run anywhere" has always been a goal and not an accomplishment. People said the same thing about Java apps, but you could always tell - there was always something that didn't fit right, and the "uncanny valley" effect makes it hard to respond with anything other than revulsion when you realize that you're working with an elaborate fake.


I'm used to agree. That's how you get a native look and feel, but I don't think that's necessarily what people want. I find the use of tabs in the browser to be very telling - it means the way OSes have handled multiple instances of an application are not satisfactory, so people want the browser to handle that. Once it's in the browser people will want it to be the same on all platforms.


Someone should survey software end users to figure out if they care about native-looking UIs. I have a feeling most users don't care very much.

My most-used GUI apps are Chrome, Visual Studio, Ableton Live, and Photoshop. All of them have heavily customized user interfaces. Their custom controls and tiling/layout systems are tailored to the application domain. Except for Chrome, these are "do your life's work" applications. They should aim for maximum productivity, even if it makes the application harder to use. I think they would suffer if they tried to "look native".

Most everything else is done in web apps these days. Users don't seem to have a problem dealing with different button CSS in different web apps.

Certain things, like the "open file" dialog, really suffer if they look non-native. But I think users don't care about most other cases.


In a sense, Chrome has been moving further and further away from being native over time; in-content preferences, for example.


There's nothing wrong with designing custom UI elements, so long as they're done properly on each platform. For example, Safari's tabs are completely custom (as far as I know) - they can't be used in other applications, they aren't part of Cocoa - but they're tastefully designed and they work well.


As a non-OS X user, I would very much prefer Firefox developer time to be concentrated on things other than platform-specific UI code.


Well they're either going to have people writing platform specific code, or people writing code to emulate and keep current with platform specific features.


Agreed. I strongly dislike the philosophy espoused by the parent. "I recognize that other products are technically superior and allow me to do more things without inflicting undue hardship or learning curve, but because the animations aren't as nice, I'm just going to use this other thing." I have no interest in humoring those with such a vain and frankly indefensible perspective.


What a comment! You made a binary discussion from a nuanced one. The question is whether an attractive UI (which, surprise, matters to many people) is worth focusing developer effort. Several comments in this thread advocate that non-native UIs look tacky, and that it would do well for the product to have native rendering.

As an aside, it's the no. 1 reason I don't use Atom: An ugly, slow UI that doesn't render native elements.

So no, it's not indefensible. I think your conspirator's OP comment "As a non-OSX user, I don't care about your UX" is more vain.


> I think your conspirator's OP comment "As a non-OSX user, I don't care about your UX" is more vain.

Sure it's vain. We all have personal priorities. People suggesting that Mozilla spend time developing the perfect OS X product are expressing their priorities as well.

I could say that I'm a BeOS user and I really think that Firefox should have a fully-integrated native UX because the way a product looks and works is important. But no one cares about BeOS UX because they're vain.

It looks like OS X users are the only ones who really care. Windows users have been dealing with non-standard UIs since tabs first stopped being MDI, and, comparing Chrome's adoption with how it looks, they're mostly fine with them. Linux users are mostly just straight-up crazy and Firefox is fine for them. Smartphone users have seen more non-standard than standard UIs and it doesn't seem to have been a problem for the Facebook app. The question is then is it worth caring as much about OS X UI, or is it more useful to make a better product for the 80+% of users who don't use OS X?


In what way is this a choice between "technically superior" and "nice animations"? The reasons that Firefox, for example, is terrible on OS X is not to do with the quality of the animations (although they are awful) but rather the semantics of user interaction, which are by definition different in non-native applications.

And, I'd argue, Firefox is far, far, far from "technically superior" on any number of axes, regardless.


It's really not indefensible, and you're sort of minimising a valid viewpoint that I wish more developers took on board.

User experience is important. Dismissing that aspect as "animations [that] aren't as nice" misses an important point - things like animation, consistency with the host system, integration with platform features and so on are really very important to the quality of an app.

Technical capability is also important, obviously. It's why I use Firefox and when building web projects on the Mac - best feature set. But I use Safari instead for day-to-day browsing, because of things like better scrolling and zooming, and better integration with platform services.

I do think the way a product looks and works is important, and developers who dismiss that are why we have so many awful UIs out in public.


>User experience is important.

I agree user experience is important, but experience is so much more than simple aesthetics.

I'm not saying they're totally unimportant, which is why I included the qualifying clause about "undue hardship", but I have no respect for users that will put themselves at a functional disadvantage so that their experience can be "prettier" (aka "more native"). These people have their subculture, called "Apple", and frankly, I want as little to do with it as possible. Prioritizing glitz above function shows serious problems in critical thinking.

If we can make an application look better, cool, we should add that to the list somewhere. I'm not opposed to that. I strongly disagree that this should be anywhere near the primary criterion used to judge an application's value.


While discussing downvotes is considered bad etiquette, can someone explain why cookiecaper has been downvoted? They've expressed their viewpoint, respectfully and at some length. Downvotes because you disagree with their viewpoint is bad form.

Edited to add: And I disagree with them, however I'm downvoting to show disagreement is something that HN has always been against, to it's credit.


Because he accuses those who have different prioritization in the functional/experience tradeoff of having "serious problems in critical thinking"? It's a matter of opinion and not mental capability.


I disagree. The person that will impede his ability to accomplish actual work because of his subjective aesthetic preferences is substantially less "mentally capable" than a person that will tolerate a bit of ugliness for greater efficiency. Again, it's a matter of degree because there are some programs that are so "ugly" that they are unusable, but the grandparent's specific example was Safari v. Firefox, and while Firefox may not conform to Apple's aesthetic standard exactly, it's far from unusable. The GP admitted that both Firefox and Chrome were superior to Safari in tangible ways that affect productivity, but that they continue to use Safari because they think it's prettier. I cannot comprehend that POV and have no respect for people who hold it, and that expands outside of software too.


I can see you've decided to ignore what I actually said and instead substitute your own version.

I'll tell you what I can't comprehend – people who apparently find it difficult to accept that other people have differing priorities to them, and aren't mentally subnormal as a result.


Look and feel are important to me in a product, amongst other things. I don't see that as something that needs defending.


Camino was discontinued 3 years ago. https://en.wikipedia.org/wiki/Camino_(web_browser)

k-melon for windows http://kmeleonbrowser.org/


This would result in bugs between different UIs on different platforms, resulting in duplicated effort and codebase, and many frustrated developers who want to work on feature Y on platform X, and cannot port it to platform Z because of missing support or different implementations.

I don't really care if an application is native or not, Firefox works great for me on Os X and I really appreciate I can run the same browser on all platforms I have to use or developer for.


So if you don't use Gnome or KDE - what should be used? I'm using XFCE at home, and Cinnamon at work.


XFCE and Cinnamon are both primarily GTK+-oriented.

Although your point isn't lost. In 2015 Mozilla probably won't release a Motif build for the WindowMaker users.


You're just describing what sits underneath the XUL or HTML.


No he isn't?


Well, most of it isn't, but some things are. Radio buttons and checkboxes on Gtk for example: https://mxr.mozilla.org/mozilla-central/source/widget/gtk/gt...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: