In this chapter, we explored techniques for designing and programming more complex graphical applications. While looking at principles for complex layouts and deep navigation structures, we compared how common applications deal with these challenges and noted the types of complex user interfaces to avoid. To provide a richer, consistent user experience in these applications, we investigated the APIs that provide standard dialog windows and allow developers to configure application windows to be consistent with the application workflow.
Background task progress and system notifications should be visible but not interrupt the user's workflow. We explored how to use toolkit widgets and common techniques to provide this balanced communication. To further integrate with the current operating system, we explored the differences between, and additional features provided...