Usability and Accessibility for Desktop Applications - user-interface

I am about to start developing a desktop application, and I am interested in making the application both usable and accessible for end users. Can anyone suggest online resources that offer guidance for developing usable desktop applications? In particular, I would be interested in learning about how to test desktop applications for usability. I am aware of several tools to validate HTML for accessibility; how could you test a desktop application for accessibility?
Thanks, MagicAndi.

I read through the entire Introduction to Apple Human Interface Guidelines, and it was not to my loss. Rumor has it that similar guidelines for MS Windows and Gnome are excellent, too, but I haven't read those.
Wikipedia has interesting pointers to usability. The single best (short) piece of literature I've seen on usability is "Don't make me think" by Steven Krug, with a focus on Web Usability.
As for Accessibility, I haven't read through all of it, but from small exerpts I blieve that real experts have written WIA-ARIA, the W3C take on accessibility.
I forgot where, but these are hints I've learned on how to test for accessibility:
Buy a screenreader and try to use your app with that
Put on glasses that are not yours (or take yours off) and find your way through the app
Try to handle the your App with an imprecise substitute for a mouse, to simulate disabilities of the hand. E.g., try using your app with a trackball, or with a mouse on a reflecting surface.
Turn the sound very silent or off
Use your app with one hand only.
Set your screen to black and white (to check that contrast suffices)
That's all I can come up with now.

I can answer from a MS centric point of view, although some of the tools mentioned should work for other languages that run under Windows.
First there are two open source options on CodePlex that you can run against your applications to verify that you have the building blocks in place for accessibility AccChecker and UI Automation Verify.
You should also use a screen reader to verify your accessibility, in my experience a good one that works with Windows and WPF applications is NVDA Screen Reader.
For measuring luminosity ratios of UI elements I like Colour Contrast Analyzer v 2.2
Microsoft also provides guidance with their Accessibility Labs and Sarah Ford has a really good article providing a great overview of accessibility testing http://msdn.microsoft.com/en-us/library/ms971307.aspx

Related

Web User Interface design and smart watches. What considerations to make?

I dont know enough about smart watches but i figure that at some point, browsing web sites on them will become a standard feature. The "Web Browser for Android Wear" app on google play has more than 100,000 downloads and the "WebBrowser for SmartWatch" app has more than 10,000
To that end, given that smart watches like Sony's SmartWatch 3 has a 1.6” screen, what should web designers need to take into consideration when making their web pages as portable as possible? Is there a set of standards? What kind of functionality and behaviour should one expect of a page displayed in a smart watch browser?
Although SO isn't the best place for this question, I'll chip in. As far as I know, designing for wearables is still a new thing, and as per say, I haven't come across any standards as such.
But I think responsive web design should do just fine.
People are working on designing websites for smart watches. Here.
However, think about using the standard manufacturer APIs to build more robust and interactive experiences than just relying on websites on tiny screens.
Here's an article from Net Tuts+ that shows you how to design for the Apple Watch using existing web technologies. Bear in mind it doesn't beat native at all.

Desktop app vs. Web app development differences and similarities

Forgive me if there is vagueness in this question. In a nutshell, I've built websites for several years, working with PHP, Javascript, JSON, AJAX, HTML, CSS3 and ASP-(many years ago when I didn't know better).
Lately I'm coming across projects where the clients prefer the app on their desktop (offline) rather than on the web.
Is it going to be a long road ahead to learn this? I can't get my head wrapped around going from web to desktop. Could someone give me a 50,000 ft overview of what I need to research? No details needed.. just an overall approach.
Are there packages out there I should read into which give tools for running a system "offline" so to speak? I'm not sure of there terminology or even where to start.
One of the main reasons is that features like Imagemagick seems too slow to process images online. The client would like tool where they don't have to rely on the speed of internet. Go Daddy is useless when it comes to upgrading their tools and I hope to do a standalone system for image processing.
Also, I'd like to get into making desktop widgets like time tracking tools, or anything that can be self-contained and running from a downloaded program that I would create.
Is this a really bad idea?
Try Auto it, it has a tiny foot print and it is great for writing small tools. It does have an GUI editor.
example of auto it widget
auto it widget
Other than that you could use industrial strength Microsoft Developer studios for either VB or C# . You can even do apps in VBA excel.

Designing WP7 App

I have made one windows phone based application. i want some designing ideas from you wp7 people.how can we apply styles,transparent background or the design which suits wp7 app. may i have some links which provides snaps for good designed apps. please help
One app that jumps to my mind when talking about great use and adaption to the metro design, it's "Cocktail Flow". It has very well done implementations of many design cues for WP7. As special treats it has features like parallax effects controled via gyroscope.
You can find a free version on the marketplace. Definitely worth a look.
MSDN user experience guidelines are pretty good, User Experience Design Guidelines for Windows Phone.
Also, it helps to install some popular apps from the marketplace and study their design.
The BEST thing you can possibly do to get a good idea of how to build a great WP7 app is to own a Windows Phone, and use it as your primary phone.
Get used to the way the operating system flows. Download cool apps. As time goes on you begin to understand from the user's perspective what a "good" app looks (and more importantly) feels like. It's a hard thing to nail down in a "user experience" spec. I find that a lot of people who set off to build a WP7 app do so before understanding how apps are supposed to behave on the platform. It is vital that you understand how users expect applications on the windows phone to operate. If you use a windows phone for a good 3-4 months, and really make an effort of butting it through the steps, it will be hard to walk away from that experience without a very clear idea of what a "good" application looks like for the windows phone.
That being said, and while I honestly don't believe that there are any short cuts to good design for the windows phone, I highly recommend downloading the following apps, and playing around with them to get a feel for "good" UI:
Wordament
Cocktail Flow (previously mentioned)
Twitter
Spotify
Yelp
Any of the built in applications (Office, Zune, Internet Explorer)
The above are good to start with, but again, you're really not going to understand it unless you live and breath it everyday for at least a few months.

Windows mobile user interface suggestions

I will start new PDA project on the windows mobile and compact framework 2.0 or higher.
I need to design the new application user interface like IPhone, it should be smilar IPhone buttons, gradiend screens, colors, some thing like this. It seems i need to many images and backgrounds on the windows mobile application for achieving this.
I don't need to use default pocketpc UI elements, it's not useful for my project and me.
I need your some suggestions about the new pocketpc app user interface design.
Could you please share me your ideas or suggestions ?
Have a look at:
http://fluid.codeplex.com/
and
http://www.beemobile4.net/
This CodeProject article will be of interest for you (iPhone UI in Windows Mobile). You may also want to look into UI Framework for .NET Compact Framework 3.5 (MSDN article describing some of the features).
I feel your pain. Worse yet, I use Win32 and C/C++ for my WM apps, which none of the listed UI libraries even support.
The end result is that unless you buy UI components from someone else for this platform, then you will unfortunately have to write your own UI controls. I had to do just that myself. :/
There is more info here.
I took a look at all these options, Fluid looks nice but the complexity of the code put me off. I've gone with a very basic approach (which fits my current needs) and I've written an ImageButton control
I'll add a vote for Resco. I been working with .NET for years but don't have any mobile or C++ experience. The Resco controls are not cheap but they made it vastly easier and cut my dev time by at least 50% and probably a lot more. In the scale of things the cost is nothing compared to developer wages and missed deadlines. No affiliation - just a happy customer :)
Also check out the Resco Toolkit

Windows 7 - What to expect from a developer's standpoint?

What features can I look forward to in Windows 7 that will:
Make my job easier as a developer.
or...
Make my job "different"(harder) as a developer.
I've been hearing a lot about performance improvements and a few UI effect enhancements, but nothing really about what development on Windows 7 will be like. Thanks.
Following are areas that are new:
multi touch API for developing touch based applications
new concept of 'libraries' for storing user specific data (similar to mydocuments)
Enhanced support for GPS and other such hardware
Office2007 Ribbon like user interface
Refer to http://windowsteamblog.com/blogs/developers/default.aspx for details.
The new sensors API will make your job easier, provided Microsoft can get enough people on-board with it. It should provide you a standard way to interface with things like GPS and light sensors, if you program with that kind of thing.
Very east to use and seamless Virtual PC is great for debugging and testing.
Touch is another new capability.
Feature list from Wikipedia.
To answer your actual question:
I don't think any of them are aimed at developers explicitly (such a tiny niche really).
For the begged "Features to use in apps" question:
I'd like to see lots of search extenders, jump lists, and those little "preview shortcut" button things (I have no idea what they're called).
Microsoft publishes an official Windows 7 Developer Guide.

Resources