Steve Williams, Nancy Williams
Business Intelligence (BI): It's not just a technology. It's not just a methodology. It's a powerful new management approach that - when done right - can deliver knowledge, efficiency, better decisions, and profit to almost any organization that uses it. When BI first came on the scene, it promised a lot but often failed to deliver. The missing element was the business-centric focus explained in The Profit Impact of Business Intelligence. Written by BI gurus Steve Williams and Nancy Williams, The Profit Impact of Business Intelligence shows step by...
I am making the distinction between User Interaction Experience and pure User Interface (UI) design here, even though there is often a correspondence. You can have great user interaction even with a ‘boring’ grey interface, (note that a boring interface is not a requirement!).
My bookshelf contains the following:
What other books or resources would you add to this list?
I like these books:
I've been using C# for a while now but haven't really homed in my UI design skills. At the time I design them, I find myself enjoying the design, but later on, I look back on it and see horrible work. An example comes to mind from my project at work where I had to use 127 buttons to represent 127 computers in our lab. :/
I was wondering if anyone could refer me to a site or book that would teach good UI design?
The most important to focus on first would be the work flow of things. Try to find the goals the user has and create a model the is as effective as possible in reaching that goal. Also read a lot around this one of the best books to start with is The Inmates are running the asylum
I would suggest lots of sketches here. Make sure you keep it simplistic to focus on what and where things are placed and less on how they look. A tool like balsamiq is great for fast UI mockups. Also go through UI patterns here to come up with concepts that work, Tidwells book Designing Interfaces is great and also Infragistics new patterns site are great resources
Now you have an idea on what you want to do, now is the time to put together the interface. Along the way from the first sketch to the last pixel - always user test.
And don't always follow the UI guidelines, it is OK to break them if you have a good reason. And last, you will only get one free unrelated 3D effect in an interface :)
The answers already give some great books on how to specifically design interfaces. I'd like to help with some suggestions to help you improve your nose for design. Some of these might be cheaply available 2nd-hand, or something you can borrow locally (I'm always willing to lend books to people in Perth, Western Australia):
When should some GUI elements be used over others? For instance, how do you choose between a ComboBox, RadioButtons, or Listbox? For instance, I have seen ComboBoxes used for as many as two items and radio buttons for two items as well, on the same panel. How do you maintain a constant, intuitive GUI interface that is not confusing to the user?
From what i recall of the MS design guidelines, you should use radio buttons for up to four items and then a combo box for any more. One consideration is that combo boxes hide potential data while radio buttons always show all options. The drawback with radio buttons being that they take up a great deal of room. List boxes? i never use them. Logically they are no different than radio buttons in selection or layout so you might as well use radio buttons.
There's actually a great book that addresses questions like yours. It's currently in its 2nd edition
I am working with a team of 10 developers in enhancing an enterprise app built on .NET/C# and SQL Server 2005. The application is mature and large but there are lots of opportunities for improvement in terms of reusability, scalability and performance.
I would like to help in making the application more robust and would like to know where I could pick up suggestions/tips related to ASP.NET and SQL Server. As an example, I helped in adding Memcache to the application that made the application perform faster. I am not looking only for major enhancements - the smaller ones help too. One of the smaller changes we made was in creating a library that encrypts hidden data making the app more secure (Earlier, the hidden input form fields were not encrypted)
I haven't worked with larger apps before and my experience lacks in this area. Any online resources, websites, books, whitepapers, articles that would help me in my quest?
I'm not sure how much your team focuses on usability, but I've been doing a lot of reading about it lately. Specifically, this book:
If you make sure you're not committing any of the bloopers in there you'll be doing your users a huge favor. The most interesting section for me involved the perception of speed. Even if you optimize a certain algorithm to be faster, the users might still have the perception that it's slow. That's what really impacts how people feel about your app.