User Interface and Interaction Design

User Interfaces and User Interaction are not after-thoughts anymore. Instead, UI is one of the most important aspects of a software project that determines how productive a user can work with your application or how well the application will sell. User Interface development is also one of the most expensive parts of software development, simply because changes in the user interface tend to have far-reaching implications. Changing from a Windows Interface to a Web Interface or even a Mobile Device Interface, often causes entire systems to be re-written. As such, the User Interface is not just a stylistic and ergonomic matter, but it is a fundamental architectural and economic concern.

We can help you with all aspects of UI and Interaction Design. Most of the systems we build are business applications (deployed on various platforms, ranging from Windows to the Web and Mobile Devices) although we also build consumer experiences (especially on the Web and on Mobile Devices). For us, UI development starts with system architecture, to make sure the overall system is fundamentally capable of supporting the desired (and potentially future) user interfaces. The next step often is Interaction Design as well as UI architecture to make sure the chosen user interface approach is productive to implement and flexible to maintain. We often also provide graphical user interface design and associated styles and a Style Guide for developers and designers to follow. In many business applications, graphical design aims to be professional and clear, but on occasion, we also design fancier consumer experiences (for an example of the later, see www.Xiine.com and the various user interface options we support there).

Related Technologies

User Interfaces come in a variety of flavors and new options are added every day. Trying to compile a complete list is thus a never ending exercise. However, the following list is a quick sampling of the most important UI-related aspects and technologies:

Style Guides

We often create Style Guides for our customers. Style Guides show developers and designers how certain types of user interfaces are supposed to look, flow, and behave. Furthermore, a Style Guide provides documentation as to how a certain type of user interface is to be developed.

Style Libraries

Many modern UI technologies such as HTML, WPF, and Silverlight, allow for the creation of style libraries of some sort. We often help customers develop such libraries to enable developers to work productively without having to worry about visual details, yet built professional and consistent UIs. In many cases, this includes the creation of UI development paradigms and components specific to the project, that enable the creation of UIs much more efficiently and productively and often in a more reusable fashion.

Multi-Touch and other Natural User Interfaces (NUIs)

Many user interfaces (both Windows and Web) are still conventional GUIs (Graphical User Interfaces), operated with keyboard and mouse. And we certainly expect GUIs to retain a significant market share for a long time to come. (Much of our UI work is spent on GUIs). Nevertheless, a new kind of user interface has emerged. A more natural user interface paradigm has emerged, not surprisingly called "NUI" (Natural User Interface). NUIs include multi-touch interfaces, as popularized by smart phones and slate devices. We have extensive experience in designing multi-touch interfaces for phones and slates as well as Microsoft Surface.

Another type of NUI is represented by Microsoft's Kinect technology. This technology has been popularized by the Xbox platform, but it also has implications on the world of business applications, especially in public scenarios or production floor environments, and the like. We can also help you with Kinect scenarios.

Tablet PCs and Digital Ink

Modern slate devices, such as the iPad, may have stolen much of the conventional Tablet PCs thunder. However, Tablet PCs still have a wide range of uses, especially when digital ink input ("pen support") is required, which is the case in many business scenarios such as the medical field. We can help you with all kinds of Tablet PC development needs.

User Interfaces and the CODE Framework

We have developed a development framework that covers a wide range of things encountered in today's software projects. This framework offers different features and components that can be "pulled in" as they are needed on a case-by-case and component-by-component basis. In many cases, our framework components are used in combination with other components and technologies.

Among the features of our framework are a number that are related to various UI development tasks for different technologies and platforms. Most of them are geared towards business applications and the productive and reusable creation of professional UIs.

Many of our customers choose to use these components (free of charge in combination with our consulting services) as they provide them great benefits. Actual "mileage" varies on a case-by-case basis (we also often modify and enhance these components for specific client needs) and usage of these components is of course not mandatory and just meant as an optional benefit.

Starting a User Interface or Interaction Design Project

As many of our projects, we usually start UI projects with a Vision & Scope Workshop to determine overall goals of the project, the size of the effort, and best approach. Based on the findings of this process, we decide on next steps together with the customer. Often, but not always, that may be a Proof of Concept or Prototype phase that subsequently moves into a further standard development process. Typically, we also create a Style Guide that helps developers and designers to create consistent UIs and do so quickly and productively.

Project Lifecycle and Development Approach

UI and Interaction Design projects can be stand-alone projects, or they can be part of larger projects. Depending on the exact setup of the overall project, UI projects adjust accordingly. We work with our customers to decide on the best possible approach that matches the customer’s need and incorporates CODE at the level desired, whether that is a small supporting role or the other end of the spectrum, which has us manage and handle most of the project. In many cases, we do not use our own approach but integrate with a customer’s existing process.

It is not uncommon for UI Design projects to have very specific phases or segments (such as the creation of a style guide or the development of certain UI components) that are efficiently handled as individual small projects (sometimes even as fixed-price projects).

Many (but not all) Windows Application projects utilize some variation of an Agile methodology.

Purchase Options

UI projects come in all shapes and sizes, and the most appropriate business arrangements for such projects needs to be determined on a case-by-case basis together with the customers. In many cases, these projects are set up as “time-and-materials” projects billed on an hourly basis (either billed on an ongoing schedule, through service agreements, or as pre-paid hourly blocks). However, it is not uncommon for UI projects (or parts of UI projects) to be billed on a fixed-price basis.

Purchasing Our Services

We offer our services in a variety of ways to meet every possible need. Options range from plain time and materials setups, to hourly blocks and montly service contracts, and sometimes even fixed price setups (especially for mobile "apps"). Contact us for more information and for a Schedule of Fees.

Click here to contact us!

Related Services

System Architecture

Constructing systems properly is the most important aspect of any software project. With the right architecture (and proper management), almost any problem can be compensated. If, on the other hand, the architecture is wrong, you have an extremely costly and time-intensive problem. We can help you to avoid these problems and reduce overall project risk, not just by sharing our own expertise, but also by letting you share in the experiences we have gathered through our CODE Magazine (authors and readers), CODE Training (trainers and attendees), events (speakers and attendees), RD, MVP, and other networks. This is a treasure trove of information you simply cannot get any other way. Can you think of anything else that could have positive impact of similar magnitude on your project?

More about this service...

Windows Presentation Foundation (WPF)

CODE Consulting has been involved in Microsoft's next generation presentation technologies since long before they were publically released. Whether you need mentoring, training or an entire application, CODE Consulting has the WPF (and Silverlight) experts to act as a mentor to your team or to write the application for you. We specialize in the productive development of reusable WPF user interfaces, a subject we have written about extensively, and we have taken the industry lead on.

More about this service...

Web Sites and Web Applications

HTML is the most widely available and deployed application platform today, spanning a wide range of technologies and standards. We perform most of our web development with ASP.NET (MVC and WebForms) and Ruby. CODE can help you with various aspects of any development project including HTML4/5, CSS, ASP.NET, JavaScript or jQuery, and more. CODE can even help you with the graphic design of your websites and apps. CODE Consulting has the expertise to train, mentor or write your complete web application.

More about this service...

Windows Application Development

Need help building applications for Windows? You have come to the right place. We have expertise in building rich Windows applications of any kind (with an emphasis on Windows Business Applications). Regardless of whether you need short-term help to solve a specific problem, a few experts to augment your team, or whether you need us to develop an entire application, from conception to marketplace deployment and every step in between, we have the right arrangement and the right expertise for any need.

More about this service...

Windows 8

Windows 8 is gaining momentum, and now is a perfect time to decide on it's application to your company. What does this new technology mean for you specifically? Are you in a position is easily migrate? Windows 8 isn't the direction to take for everyone, but it's definitely something everyone should consider.

CODE Consulting is ready to help you decide and prepare for writing applications for Windows 8.

More about this service...

Project Rescue

Is your project in trouble? We can help! CODE Consulting brings projects back from the brink of failure. With deep a knowledge process and business to go along with technical knowledge, we are skilled at finding problems and bottlenecks and implementing solutions to get your project back on track. We can't do magic, but most troubled projects are not beyond help. It is usually well worth to spend the time in a short meeting and perform a few hours worth of analysis, for a shot of getting your project back on track.

More about this service...

Mobile Development

Mobile Device Applications are rapidly gaining in importance and sophistication. Many applications that used to be desktop or Web-only are now available in mobile versions. Such applications may be stand-alone applications, but more often they are integrated with existing systems. We can help you to plan for and construct Mobile Apps. We can help you to extend your existing infrastructure to Mobile Apps. We can even help you with the graphic design of your Mobile Apps.

CODE Consulting develops for all major mobile platforms, including Apple's iOS (iPhone, iPad, and iPod), Google's Android, Microsoft's Windows Phone, and other platforms, such as WebOS, and more.

More about this service...