BN.com Gift Guide

Seeing Data

( 2 )

Overview

Why do so many computer programs have such poorly designed user interfaces? The most likely reason is that most developers have no training in how to design good graphical user interfaces (GUIs.) Microsoft has included many helpful tools in the .NET Framework for interface design. Many books on .NET have a few pages or at most a chapter on these tools. But until now there has not been a book that shows how to use these tools in detail in the context of sound UI design principles. This book is intended for ...
See more details below
Paperback
$31.71
BN.com price
(Save 20%)$39.95 List Price
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (6) from $12.91   
  • Used (13) from $1.99   
Sending request ...

Overview

Why do so many computer programs have such poorly designed user interfaces? The most likely reason is that most developers have no training in how to design good graphical user interfaces (GUIs.) Microsoft has included many helpful tools in the .NET Framework for interface design. Many books on .NET have a few pages or at most a chapter on these tools. But until now there has not been a book that shows how to use these tools in detail in the context of sound UI design principles. This book is intended for experienced programmers with a basic knowledge of application development and database systems, but no formal training in the basics of interface design. Acknowledged database design expert Rebecca Riordan calls upon her years of experience in the field to give developers just the right combination of theory and practical information to help them design interfaces that will be easy to use. She includes lots of sample code that readers can take and insert into their own programs, saving them time and money. All code in the book is written in Visual Basic .NET; C# versions are available on the book's companion web site.
Read More Show Less

Product Details

  • ISBN-13: 9780321205612
  • Publisher: Pearson Technology Group 2
  • Publication date: 2/9/2011
  • Series: Addison-Wesley Microsoft Technology Series
  • Pages: 554
  • Sales rank: 1,309,439
  • Product dimensions: 7.50 (w) x 9.25 (h) x 1.12 (d)

Meet the Author

Rebecca M. Riordan has more than fifteen years of experience designing and developing databases and other applications. She is a Microsoft MVP and a frequent speaker at conferences, including Microsoft TechEd. She is the author of many books, including Seeing Data: Designing User Interfaces for Database Systems Using .NET (Addison-Wesley, 2005). Her other highly respected books include Designing Relational Database Systems (1999), Microsoft SQL Server 2000 Programming Step by Step (2000), and ADO.NET Step by Step (2002), all published by Microsoft Press.

Read More Show Less

Read an Excerpt

I’ve been designing and implementing database applications for longer than I’d care to talk about. For the last ten years or so, much of my work has involved helping organizations and other developers improve their existing designs. Even if this weren’t my line of work, like everyone else in the twenty-first century, I spend a lot of time using systems. Whenever I shop or do my banking, get a haircut or go to the doctor, I’m directly or indirectly dealing with a computer system somebody, somewhere, designed and implemented.

And most of these systems are just plain awful.

Now, I’m never entirely comfortable speaking for other people, but I’d be prepared to bet an entire year’s worth of chai that nobody has ever intentionally built a “user antagonistic” software system, so why are so many of the systems we use every day so far away from being “user friendly?”

Part of the answer is that we’re all so new at this. Think about it: We’ve been designing agricultural tools for thousands of years, but we’re still fiddling with the shape of a shovel. We’ve been designing computer programs for use by nonexperts for about twenty years. It’s not reasonable to expect us to have it quite figured out yet.

Another part of the answer is that none of us can be experts at everything. Given the complexity of today’s computer systems, is it reasonable to expect that any one person can be expert at business analysis, interviewing users, systems design, database design, interface design, programming in his or her chosen language (or, more likely these days, languages),testing, implementation, writing documentation, and training users? Of course it isn’t, and yet the realities of system development often require that we have to take on, if not all, at least several of these roles.

So, welcome to Seeing Data. I’m not going to promise to make you an expert on designing interfaces. I do promise to introduce you to the basic principles of designing user interfaces for database applications. I’ll show you the things you need to think about, the kinds of questions you need to ask yourself, and some of the answers in the form of working code snippets.

Most of the principles, and much of the sample code, work equally well with any kind of system, not just databases, but since that’s my background, and since most business systems do manipulate data in some way, those are the systems on which I’ve concentrated. Who Do I Think You Are?

To make the subject manageable, I’ve had to make some assumptions about what you already know. First, I assume that you have a basic understanding of database design. Specifically, I assume that you understand how databases are structured in terms of tables, columns, and rows, and the basics of database normalization. You should also understand the Structured Query Language (SQL) at least well enough to read the snippets, even if you always build your queries using an interactive tool.

I also assume that you have a basic understanding of the .NET Framework class hierarchy and the Visual Studio environment. I discuss the .NET Framework data-binding architecture in Chapter 6, “ADO .NET Data Binding,” but I assume that you have a basic understanding of the primary ADO.NET objects: the Connection, DataAdapter, DataSet, and DataTable.

The code examples in this book are in Visual Basic, since I believe it’s the easiest of the Visual Studio languages to read, but C# examples are available on the Web site for the book. I do not assume that you’re a professional programmer, only that you have some familiarity with the process. Nor do I assume that you have an intimate knowledge of either the Windows API or the internals of the .NET Framework CLR. What’s in This Book

In Section One of the book, we’ll look at each of the fundamental areas of interface design independently. We’ll begin with a general overview of interface principles, and then look at graphics, typography, color, and the use of images in the .NET Framework in some detail.

In the last chapter of the section, we’ll examine data binding with ADO.NET. This isn’t strictly part of interface design, but it is fundamental to the rest of the book. If you’re already an ADO.NET wizard, you can probably skip this chapter with impunity.

In the next two sections, we’ll look at how to build an interface from the perspective of the database schema. In Section Two, we’ll examine the canonical structures for entities, and how those entities can be represented in the user interface. In Section Three, we’ll examine each type of attribute and map them to .NET Framework controls.

In Section Four, we tackle the mechanics of how the system interacts with the user. We’ll examine methods for allowing the user to navigate through a DataSet and manipulate the data it stores. Then we’ll examine the methods you provide for allowing the user to control the application: menus, toolbars, and command buttons. After that we’ll discuss two closely related topics: the provision of user assistance and the maintenance of data integrity. In the last two chapters of the section, we’ll examine filtering and sorting data, and the provision of reports, both from the perspective of user interaction.

In the final section, we’ll look at the user interface from the point of view of the application itself. We’ll begin with an examination of the architecture of the application as a whole—how the constituent forms are structure, and the navigation method(s) presented to the user. We’ll follow this with a discussion of the methods your application can provide for user customization, and conclude with a brief discussion of the installation process, again from the point of view of how the application interacts with the user.

Finally, downloadable code is available at www.awprofessional.com/titles/0321205618. Here you will find all the Visual Basic .NET examples, along with C# equivalents. What Isn’t in This Book

As I’ve said, the principles we examine apply equally well to most types of applications running in most environments, but this book focuses on desktop database applications running under Microsoft Windows and built using the .NET Framework.

In particular, we won’t discuss thin-client applications or applications deployed on Windows CE. That said, all of the techniques, and many of the code snippets, can be directly transferred to applications running in these environments (provided, of course, that the applications are developed in Visual Studio).

In addition to the environment techniques, there is one subject area that we won’t be discussing: localization. There’s a very simple reason for this. I know very little about it, and my mother always said that a wise woman knows her limitations.

Read More Show Less

Table of Contents

Foreword.

Preface.

Acknowledgments.

I. THE BASICS.

1. Interface Design.

Terminology.

The Principle of Interface Design.

Graphic Design.

2. .NET Graphic Objects.

GDI+ Primitives.

Pens and Brushes.

Using the Graphics Object.

The ControlPaint Class.

3. Typography.

The Architecture of Type.

Families and Faces and Fonts (oh my).

Using Fonts.

Windows Fonts.

4. Color.

Understanding Color.

Using Color.

Color Models.

Color in the .NET Framework.

5. Images in the .NET Framework.

Using Images.

Images in the .NET Framework.

6. ADO .NET Data Binding.

Binding Control Properties.

Synchronized Binding.

II. REPRESENTING ENTITIES.

7. Entity Types.

The Entity-Relationship Model.

Simple Entities.

Complex Entities.

Displaying Multiple Entities.

8. Simple Layouts.

Window Basics.

Primary Windows.

Secondary Windows.

9. Complex Layouts.

Complex Form Design.

Panel Structures.

Coordinated Structures.

10. Displaying Forms.

Laying Out Forms.

Anchoring and Docking Controls.

Resizing Forms.

Displaying Forms.

III. REPRESENTING ATTRIBUTES.

11. Complex Attributes.

Get it Right.

Logical Values.

Date and Time Values.

Binary Objects.

12. Numbers and Text.

Numeric and Monetary Values.

Text Values.

13. List Controls.

Using List Controls.

ListBox and CheckedListBox Controls.

The ComboBox Control.

The DomainUpDown Control.

TreeView.

14. Grid Controls.

Using Grid Controls.

The ListView Control.

The DataGrid Control.

IV. INTERACTING WITH THE USER.

15. Managing Data Display.

Navigating through Data.

Managing Data Entry.

Managing Data Persistence.

16. Command Widgets.

Button Widgets.

Menus.

Menu Conventions.

Toolbars.

17. User Assistance.

Types of User Assistance.

Functional Principles.

Providing Passive Assistance.

Providing Reactive Assistance.

Providing Proactive Assistance.

18. Database Integrity.

Theoretical Foundations.

Implementing Constraints and Rules.

Validation Techniques.

Using the ErrorProvider Control.

19. Sorting, Searching, and Filtering.

Sorting.

Searching.

Filtering.

20. Reporting.

Designing Reports.

Managing Reports.

Implementing Reports.

V. BUILDING APPLICATIONS.

21. Interface Architectures.

Architectural Paradigms.

Implementation Architectures.

22. User Customization.

Using Control Panel Settings.

Implementing Customization.

Persisting Application States.

23. Installation.

Windows Conventions.

Visual Studio Setup Projects.

Glossary.

Index.

Read More Show Less

Preface

I’ve been designing and implementing database applications for longer than I’d care to talk about. For the last ten years or so, much of my work has involved helping organizations and other developers improve their existing designs. Even if this weren’t my line of work, like everyone else in the twenty-first century, I spend a lot of time using systems. Whenever I shop or do my banking, get a haircut or go to the doctor, I’m directly or indirectly dealing with a computer system somebody, somewhere, designed and implemented.

And most of these systems are just plain awful.

Now, I’m never entirely comfortable speaking for other people, but I’d be prepared to bet an entire year’s worth of chai that nobody has ever intentionally built a “user antagonistic” software system, so why are so many of the systems we use every day so far away from being “user friendly?”

Part of the answer is that we’re all so new at this. Think about it: We’ve been designing agricultural tools for thousands of years, but we’re still fiddling with the shape of a shovel. We’ve been designing computer programs for use by nonexperts for about twenty years. It’s not reasonable to expect us to have it quite figured out yet.

Another part of the answer is that none of us can be experts at everything. Given the complexity of today’s computer systems, is it reasonable to expect that any one person can be expert at business analysis, interviewing users, systems design, database design, interface design, programming in his or her chosen language (or, more likely these days, languages), testing, implementation, writing documentation, and training users? Of course it isn’t, and yet the realities of system development often require that we have to take on, if not all, at least several of these roles.

So, welcome to Seeing Data. I’m not going to promise to make you an expert on designing interfaces. I do promise to introduce you to the basic principles of designing user interfaces for database applications. I’ll show you the things you need to think about, the kinds of questions you need to ask yourself, and some of the answers in the form of working code snippets.

Most of the principles, and much of the sample code, work equally well with any kind of system, not just databases, but since that’s my background, and since most business systems do manipulate data in some way, those are the systems on which I’ve concentrated.

Who Do I Think You Are?

To make the subject manageable, I’ve had to make some assumptions about what you already know. First, I assume that you have a basic understanding of database design. Specifically, I assume that you understand how databases are structured in terms of tables, columns, and rows, and the basics of database normalization. You should also understand the Structured Query Language (SQL) at least well enough to read the snippets, even if you always build your queries using an interactive tool.

I also assume that you have a basic understanding of the .NET Framework class hierarchy and the Visual Studio environment. I discuss the .NET Framework data-binding architecture in Chapter 6, “ADO .NET Data Binding,” but I assume that you have a basic understanding of the primary ADO.NET objects: the Connection, DataAdapter, DataSet, and DataTable.

The code examples in this book are in Visual Basic, since I believe it’s the easiest of the Visual Studio languages to read, but C# examples are available on the Web site for the book. I do not assume that you’re a professional programmer, only that you have some familiarity with the process. Nor do I assume that you have an intimate knowledge of either the Windows API or the internals of the .NET Framework CLR.

What’s in This Book

In Section One of the book, we’ll look at each of the fundamental areas of interface design independently. We’ll begin with a general overview of interface principles, and then look at graphics, typography, color, and the use of images in the .NET Framework in some detail.

In the last chapter of the section, we’ll examine data binding with ADO.NET. This isn’t strictly part of interface design, but it is fundamental to the rest of the book. If you’re already an ADO.NET wizard, you can probably skip this chapter with impunity.

In the next two sections, we’ll look at how to build an interface from the perspective of the database schema. In Section Two, we’ll examine the canonical structures for entities, and how those entities can be represented in the user interface. In Section Three, we’ll examine each type of attribute and map them to .NET Framework controls.

In Section Four, we tackle the mechanics of how the system interacts with the user. We’ll examine methods for allowing the user to navigate through a DataSet and manipulate the data it stores. Then we’ll examine the methods you provide for allowing the user to control the application: menus, toolbars, and command buttons. After that we’ll discuss two closely related topics: the provision of user assistance and the maintenance of data integrity. In the last two chapters of the section, we’ll examine filtering and sorting data, and the provision of reports, both from the perspective of user interaction.

In the final section, we’ll look at the user interface from the point of view of the application itself. We’ll begin with an examination of the architecture of the application as a whole—how the constituent forms are structure, and the navigation method(s) presented to the user. We’ll follow this with a discussion of the methods your application can provide for user customization, and conclude with a brief discussion of the installation process, again from the point of view of how the application interacts with the user.

Finally, downloadable code is available at www.awprofessional.com/titles/0321205618. Here you will find all the Visual Basic .NET examples, along with C# equivalents.

What Isn’t in This Book

As I’ve said, the principles we examine apply equally well to most types of applications running in most environments, but this book focuses on desktop database applications running under Microsoft Windows and built using the .NET Framework.

In particular, we won’t discuss thin-client applications or applications deployed on Windows CE. That said, all of the techniques, and many of the code snippets, can be directly transferred to applications running in these environments (provided, of course, that the applications are developed in Visual Studio).

In addition to the environment techniques, there is one subject area that we won’t be discussing: localization. There’s a very simple reason for this. I know very little about it, and my mother always said that a wise woman knows her limitations.

Read More Show Less

Customer Reviews

Average Rating 4.5
( 2 )
Rating Distribution

5 Star

(1)

4 Star

(1)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted October 10, 2004

    Fantastic discussion of UI development for WinForms projects

    The one quality that makes this book a clear winner is the quality of the content and clarity of author Rebecca Riordan's writing. She uses a friendly, humorous, often bitingly sarcastic voice that eases the normal tension accompanying such a complex topic as UI design for Windows applications with .NET technologies. You'll appreciate this tone as Riordan takes you through some very challenging scenarios in developing winning desktop apps.<br/><br/> The main focus is on presentation tier technologies and techniques used to create great programs that customers will really enjoy using. The book starts out with five phenomenally-written chapters on GDI+, typography, color, and image programming that every developer working with .NET should read, whether they're examining UI design for desktop applications, or otherwise. It also includes a helpful glossary of development terms mentioned throughout the text that you'll enjoy and refer to often. <br/><br/> Riordan also attempts to demystify the many complexities of .NET databinding within Windows Forms. as do most Addison-Wesley texts, the book's physical properties are to be appreciated, using sturdy binding and thick paper, making the book close and sit easily after a session open on your lap (and who hasn't wrecked at least book doing so?). <br/><br/> The only downside to this book (and a minor one at that) is the exclusive presentation of code in Visual Basic .NET, which would make the book largely one-dimensional to programmers working with that language (or liberal minded C# readers). But programming language semantics aside, this is a real gem, and one you'll want to pickup for your WinForms team projects.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 22, 2004

    UI with complex SQL data

    A formidably detailed and comprehensive attack on the problem of user interfaces and data visualisation. Riordan tackles this in the context of Microsoft's .NET platform. Notice the two topics. There are books on pure UI design, for various operating systems. Nothing wrong with that. But they tend to concentrate on the strict visuals and how the user interacts with various widgets. Usually, any data to be displayed or modified is general and lacks much structure. There are certainly elements of this approach here. Like where Riordan discusses the various properties of fonts and faces, or colours or different image types. But she goes further. She shows how to make UIs customised for SQL data. To make your SQL Server easily accessible. A full workout. From using the widget families that come with .NET and hooking these all the way back to a SQL Server. In, for example, a four tier architecture. Unusual to see all this in one book. PLus, she makes VB seem very easy to design and program in.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)