4 ms·
I have a very good feeling telling that to byuu isn't going to end well... That being said, byuu is absolutely correct. It's one thing to make a program look l
by andlabs 12y ago
I have a very good feeling telling that to byuu isn't going to end well...
That being said, byuu is absolutely correct. It's one thing to make a program look like all the other programs on the target platform, but it's something else entirely to make it feel like one as well. You'll need to compromise quite a bit, as even when you go into raw event-handling no two systems are alike. You can see olddocs/areaplan.md in my repo as an example of where this gets especially hair-pulling, or all the places in the documentation where I mark some subtlety as implementation-defined or system-defined.
Not even the big packages are immune. Look at Qt's QFormLayout type, which is a dedicated layout for aligning labels properly on each platform. (I'm going to have a similar thing eventually; that's why my docs presently have a TODO on vertical alignment with Label.)
And yes, human interface guidelines can differ in very subtle ways. As an example, take multiple-selection listboxes. There are two ways you can implement this: as a normal listbox that you can select multiple items of, or as a list of items with checkboxes that you check to mark as selected.
Microsoft's guidelines (http://msdn.microsoft.com/en-us/library/windows/desktop/dn742407%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/dn74...) say (emphasis preserved)
> Given this clear indication of multiple selection, you
> might assume that check box lists are preferable to
> standard multiple-selection lists. In practice, few tasks
> require multiple selection or use it heavily; using a
> check box list in such cases draws too much attention to
> selection. Consequently, standard multiple-selection
> lists are far more common.
GNOME's guidelines (https://developer.gnome.org/hig-book/stable/controls-lists.html.en https://developer.gnome.org/hig-book/stable/controls-lists.h...) say
> Consider using a check box list for multiple-selection
> lists, as these make it more obvious that multiple
> selection is possible:
And Apple's guidelines (https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Controls/Controls.html#//apple_ref/doc/uid/TP30000359-TP6 https://developer.apple.com/library/mac/documentation/UserEx...) don't say anything too clearly, but DO say that
- scrolling lists are selected traditionally (not checkboxed)
- but a menu-style list should use check marks instead
So there's that.
- GuiA 12y agoAs someone who has worked extensively within Gnome's HIG, Apple's HIG, and with frameworks such as QT/GTK+/Cocoa, I fully agree with your and byuu's comments. I was merely pointing out that the market seems to be pretty content with web apps as a solution to "write once, run anywhere, look nice" (even if here, the "look nice" doesn't include "look native" - but those are 2 different things)