What are some of the different Usability tips/tricks and best practices followed
with WinForms-based applications, or which are followed as a Standard?
These might be anything like font styles/sizes/color, number of controls on form, showing processing, error checking, themes, layout of controls, etc.
Any resources/links or checklists?
Thanks Everyone!
The most basic advice that I will give you is to look to other applications in your sector and do what they do. The users probably will be used to that style and would love to not have to learn new ways of working with the interface.
Also, chek this pdf, i've used it several times: Usability guide
It canbe found here too: http://static.lukew.com/webforms_lukew.pdf
Well there are lots of free/paid components to use. DevExpress components are my favorite (Grids, buttons, panels etc). Just google it o/
Related
I am a systems analyst focusing on interaction design and usability, normally working on web applications (using my Mac). However, currently I am in a project team working on a legacy application which has a Windows Forms-based front-end.
I try to simplify and clean up the interface but given my web background it's quite frustrating to work within the strict constraints of WinForms and DevExpress 8.3 controls. (WPF would be great but it is not an option: the company has lots of off-shore users logged in remotely to virtual machines. WPF was tested several times and it failed. Windows XP and IE6 are still on all workstations.)
It would be great to see some good examples for elegant UI design for complex forms with lots of input fields in different categories and groups, including read-only sections with meta-data. It should not be fancy, just simple, slick and clean. Do you happen to have some good examples?
It looks like this post might give you some ideas/leads to pursue:
Where are examples of great program UI's built free with Winforms?
I still couldn't find real good ones, only sporadically. The best WinForms examples I found are in Windows XP itself and in other Microsoft products, like IE, Office.
This may be a long shot but have you considered using a metro-style layout (see wp7 et cetera)? I personally think it would be really well suited to forms with large data entry requirements, I mean, you have the spacing that will separate things perfectly for you, and it's all blocky so you know what you're doing.
This is just my opinion, but hope it can help!
With regards to being "restricted" to Windows Forms, I wouldn't see it as this. By creating your own custom controls you can do pretty much anything you want. I've always hand-coded my WF apps and they're always easier (not to mention more fun) to develop than in WPF. I think WPF is the restrictive place, but again that's just me... Haven't used it too heavily at all.
I'm looking for a skinning library for Windows Forms.
I see this question asked a few times on StackOverflow, but always people looking for free/open source solutions. I don't mind paying for a skinning library. Googling around I see DevExpress's controls support some kind of skinning, and there's also skincrafter.com (though I'm unclear if that supports Windows Forms). Anyone familiar with either of these products or can recommend something better?
I'd like "full" skinning support, but I might be happy with something simple like Firefox Personas/Chrome Themes.
I'm used to using the DotNetBar controls but they don't seem to support skinning, other than basic color themes.
I use DevExpress WinForms and I'm very happy with them.
However, developing custom controls that look good in all of their included skins can be quite challenging.
If you were to buy one control suite for WPF, which would it be?
EDIT - I know that this is vague and understand that the answer might be different depending on the exact requirements. I guess what I'm getting at is that there are numerous WPF control libraries out there (e.g. Infragistics, Telerik, Syncfusion to name but a few) and instead of forking out for a different one per project because that is the best fit right now, based on experience with costs, upgrades, support, etc. who would you choose as a "preferred" supplier?
Going on the assumption that you are looking for the best control suite, to suite most general purpose uses, I'd recommend telerik. They have a pretty wide range of controls, in basically every UI platform on the Microsoft stack. WPF, WebForms, WinForms, Silverlight, and ASP.NET MVC.
I think what I have learnt from this and from looking around at all of the different vendors is that they really do all offer something slightly different in different areas. To pick a suite before confirming your requirements is not sensible.
Having determined your high level requirements you can then go through each of the suites and find the short list of vendors who do what you need.
In the meantime, I think I'm going to still with Infragistics (if anyone's interested)
I would buy me a Visual Studio license with all the standard controls.. harrr
Surely it would depend on what controls you wanted? Or your budget? This is kind of a vague question since it depends heavily on the requirements.
Personally I've only used some of Actipro's stuff but it seems well written.
Try the WPF Toolkit from Microsoft, its even free...
I use Telerik WPF Controls about a year. Great controls with good support.
You should definitely evaluate DevExpress.
Their WPF and SL controls have the same foundation = same functionalities, same APIs.
Their grid is available for Winforms, ASPx, MVC, WPF and SL.
Their control set is one of the best there is.
http://community.devexpress.com/forums/p/95200/327082.aspx#327082
I think we're all aware of what "your company's line-of-business software" looks like.
(source: glompix.com)
Are there any resources, rules of advice, or general tricks to visually taming applications like this? Our business's domain is pretty complex, as most are, and our customers demand a great amount of flexibility. Tracking a boatload of fields on each object isn't exactly avoidable.
Besides general advice, I'm also interested in usage and tools specific to WinForms. If there are any examples of (visually) well-designed software of this type, that would help as well.
There is a site that I visit every now and then to be reminded of what not to do:
Interface Hall of Shame.
A quick googling turns this up, which goes more into detail of the most common UI mistakes, which boils down to:
Non-Standard GUI Controls
Looking Like a GUI Control Without Being One
Inconsistency
No Perceived Affordance
Tiny Click Targets
No Feedback
Out to Lunch Without a Progress Indicator
Bad Error Messages
Asking for the Same Info Twice
No Default Values
Dumping Users into the App
Not Indicating How Info Will Be Used
System-Centric Features
There are some books that you should read too:
(source: mac.com)
(source: mac.com)
(source: mac.com)
Mainly, try to use the platform standard widgets, guidelines and rules.
I'm a programmer who used to work in a publications department. My advice is: Use a graphic designer; trust their opinions; and know if you are not one.
Here at the office, where we don't have a graphic designer, we have a bi-weekly "interface meeting" with a few developers and a few non-developers to hammer out these sorts of problems and develop design rules we can follow.
From .NET Rocks! Show #488:
Richard Campbell: "In the GDI world we
got a document from Microsoft that
said you will build your apps in
battleship gray and here's now they
should look: File goes here and Help
goes here, and we all got that as
developers. There's no book like that
for WPF. There was this idea I've got
to find the guy in a black turtleneck
and here is his piece of software and
you guys go play nice now."
I think Microsoft now wants every Windows application to look like the ugly, difficult-to-use, hardware-bundled crapware we all hate!
Is there no such best-practices document?
There is a Windows User Experience Interaction Guidelines document that Microsoft makes available. It might be along the lines of what you are looking for, but it isn't specifically a WPF or Silverlight best practices guide.
Nobody has paid much attention to MS ui guidelines in a very, very long time (including MS). It is a big part of the reason why every app on windows looks and behaves different from every other app.
Depends on the guidance you're looking for. The primary reason everything was battleship grey in Winforms was less because the Microsoft guide said it should be (it didn't) and more because that was the default and it was a pain to write it differently. Even now, I would imagine that the bulk of the LOB apps written with Silverlight or WPF will use default colors and styles for exactly the same reasons.
But a lot of the other UI guidelines can still apply. If you want something the looks and feels familiar, there's no reason that you can't make a standard menu bar with File, Edit, View, Help, etc. You can still use the same hotkeys, same commands, same layout for buttons and controls.
Keep in mind though that these guidelines were written with assumptions about software and computers in general that are no longer true. The dominant paradigm has changed and people are far more used to websites with different UI layouts and richer visuals. As a result, visual style is a lot more diverse and people are less likely to be confused by some non-standard layouts and controls. Which doesn't mean that anything goes, just that we should feel less contrained to keeping things in the exact same order and position, lest our customers freak out because they can't find the save button.
In short, the style guide was there because there wasn't enough for a real designer to do but still enough that we developers could make things ugly. Now it's even easier to make really ugly stuff, but there's a lot that a real designer can do to make it nice. So hire one. It's worth it.