On software design …

firstguidecover In my upcoming book, Your First Guide to Database Design, my goal is to provide a clear guide for users at all  levels of experience on how to organize their data into an efficient database, regardless of whether they’re using a desktop database like Microsoft Access or a network software such as MySQL.

The first chapter starts out with the basic definition of a database and the various ways in which information is stored and transferred in modern systems. The rest of the book takes the user through clear, logical steps of modeling the data and creating a new database that can be used for analysis and reporting.

One of the perks of writing a book, and especially of being a self-published author, is that you can occasionally speak out on things that are important to you. An example of this can be found in the chapter on designing a user interface for your database application …

“Software users don’t like surprises as much as some designers seem to think and what looks cool and innovative to you as the designer can confuse and annoy the user. Many people have experienced this annoyance first-hand in the last few years as a certain leading software company has repeatedly reorganized the look and feel of its software products, leaving many users with the burden of having to re-learn how to do the same things they’ve always done.

“In my experience, many everyday computer users know enough to get their jobs done and that’s as much as they want to know. These people find more delight in getting their work done so they can go home to their families or out for the evening than they do in the latest tech trends. They’re far more interested in their own hobbies and diversions than they are in the ways in which a software company has found to make its products look more exciting in order to stay relevant in the marketplace. They find no joy whatsoever in playing hide-and-seek with the software functions they need. Some of them, like me, are getting to a point where the ever-escalating pace of change isn’t quite as thrilling as it used to be and familiar things are a lot more comforting. Maybe they have certain disabilities that make radical changes harder to cope with.

“What all this means to you as a designer is that your first priority, after making sure that the program doesn’t crash on start-up, is to design an interface that your users can be comfortable using everyday. It doesn’t matter if you are a lone developer creating database applications for your office to use, a corporate programmer designing enterprise software for the entire company or a software engineer designing the next software sensation; your users are your customers. Without them, your work is an intellectual exercise at best. If you deliver a product to them that causes confusion and pain, they will eventually find a way to go elsewhere.

“Does this mean that every program should look the same and that no new designs should ever be tried? Absolutely not! In over 20 years of working with computer technology, I’ve seen incredible changes in the way people interact with software. The keys to the successful changes are that they are incremental, they are useful and they are somehow already familiar to the user, whether they evolve from current designs or resemble something else in the user’s life. The concept of a desktop with folders and documents wasn’t hard for the average user to grasp. Users love relatively simple menus with clear options that they can navigate through the same way they navigate streets and building corridors. They don’t love lots of keyboard shortcuts they have to memorize or ‘helpful’ features that intrude when they’re trying to do something else. Touch screens that enable a user to move between pages or programs with a swipe of a finger or enlarge a picture by using two fingers to stretch it are fun and intuitive meaning that the steps make sense to the user because they’re likely what the user would have tried anyway.”

Sign up for our newsletter to receive updates about new projects, including the upcoming book "Self-Guided SQL"!

We respect your privacy and will never share your information with third-parties. See our privacy policy for more information.