Microsoft's WPF (Windows Presentation Foundation) technology is the de-facto standard for modern Windows UI development. When used properly, it is the most powerful and flexible, and most productive and reusable user interface technology available. The only downside to WPF is its new paradigm and the associated learning curve, which leads many developers astray and causes disappointing results that require too much time to create. We can help you to avoid these problems and assist you with all of the aspects of WPF development, from overall project setup, to guiding developers, to implementation, and even graphic design.
Our experience spans all aspects of WPF, but we focus on developing WPF business applications in a productive and powerful way. Our techniques for reusable and productive WPF development have been widely published and are industry-leading.
Our Expertise
We have been involved with WPF development since before it was called "WPF" (you may catch us still calling it "Avalon" at times). Not only have we been part of Alpha and Beta programs, but some of our people have been part of design sessions at Microsoft during which some of the earliest decisions around WPF were made. Our experts have been extensively published and have presented about WPF at various events, ranging from local user group meetings all the way up to major industry events, such as Microsoft's TechEd. Most importantly, our people have extensive real-world experience in building all kinds of WPF applications.
We develop our WPF applications mostly in Visual Studio, but we are also experts in Expression Studio and Expression Blend. Many customers engage us for short sessions in which we introduce a team to the productive use of Expression Blend. In fact, Microsoft often asks us to expose development team to Expression blend on their behalf.
Graphics Design
While the majority of CODE/ EPS Software is focused on development, we also have graphics designers on staff, with skills ranging from UI design, to pure graphic design, to print-related graphics and layout. Thus, we can help you with various graphics design needs. Most of the graphic design for software is related to professional UI design for business applications, as well as consumer and social apps.
Starting a WPF Project
WPF projects vary drastically in size and with that, in approach to the project. In our experience, most WPF projects start with a Vision & Scope Workshop to determine the overall goals of the project, the size of the effort, and the best approach. Based on the findings of this process, we decide on the 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.
WPF is only the user interface layer of an application or an entire system. Most WPF applications are not developed in a vacuum, but they tie into larger systems. Overall architecture is often of significant importance to WPF projects.
Project Lifecycle and Development Approach
WPF projects vary greatly in size and complexity and thus, the development and project management approach must be customized 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 be a small supporting role, or the other end of the spectrum, which has CODE manage and handle a majority of the project. In many cases, we do not use our own approach, but instead integrate with a customer’s existing process.
Most WPF projects utilize some variation of an Agile methodology.
Purchase Options
As WPF Applications come in all shapes and sizes, and the most appropriate business arrangements for such projects need to be determined on a case-by-case basis together, with the customers. In many cases, WPF 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). Sometimes, WPF Applications can also be billed on a fixed-price basis, which is especially true for relatively small, self-contained projects. Graphic design tasks are often billed at a fixed price for a certain set of designs.