While there are several tools available to monitor your application's performance, when it comes to improving your UI, it's your understanding of your users that's critical to finding problems.
Predicate methods allow you to separate the criteria you're using to test items in a collection from the code that processes the collection. You may never write a For...Each loop again.
The IComparable interface lets you create objects that know how to sort themselves correctly. This interface also provides an example of a high-level strategy for building and extending your classes.
Your UI could work exactly the way you intended it to work and still fail during usability testing.
Even if you're not working in the Microsoft .NET Framework 4.5, .NET provides you with a way to create a read-only collection or to convert an existing List into a read-only collection.
Peter Vogel compares both of the Microsoft dependency injection managers/inversion of control containers and comes up with a decision tree for picking the correct one.
Integrating your .NET line-of-business applications with SharePoint is easy to do and allows you to transfer a ton of work from your desk to your users' desks.
Because the mobile platform has come later in the history of computing, developers have gotten in the habit of redesigning desktop applications for the handheld device. Peter Vogel thinks developers have that backward, and that the UI design process shows the way out.
Peter Vogel returns to creating a Windows Communication Foundation (WCF) router that loosely couple services with their clients. But this time he uses XML to configure his router rather than doing it in code.
Implementing design patterns in the Microsoft .NET Framework isn't all that hard to do; understanding what each pattern does for you and picking which one to use is the real issue.
Workflows make it easy to do something that's very hard to do in any other development environment: Take action when something doesn't happen. Here's how to protect yourself when something's isn't happening in your Windows Workflows.
There's a well understood UI design process that you can use to get to the "right" UI for your application. And it starts by inventing people.
Creating connectable Web Parts is a good thing for you and your users -- and the default interfaces that come with SharePoint form the architecture you should use to create those Web Parts.
Peter returns to creating a provider WebPart, but this time passes SharePoint list data from one WebPart to another.
The IWebPartParameters interface provides a flexible way for one WebPart to select the data it wants from another WebPart. And, since implementing that interface doesn't require much code, you should consider using it on all your WebParts.