Pradeep Kumar

When I decided to develop my application I wanted to consider three important criteria. These considerations are my 3-point formulas in developing an application. They are: development, user interface, and supportability. My requirements were simple: Ease of development, superior end-user experience, and the ease of long term supportability of the application. I looked for components that would help me accomplish my goals and I found DevExpress components to completely support my needs. After reading the specifications of these components I was convinced that I will be able to accomplish my goals by using these components. Quickly it became even more evident when I started developing my application that what I knew about the capabilities of Developer Express components was just the tip of the iceberg. Working with these components I started to uncover the full potential and the gamut of features of these components. Take a look at the following image for a complete screenshot of the application window showing Developer Express components in action.


An Application Built with DevExpress WinForms Controls

Development Details

The nature of my application is such that I needed separate tree view and grid controls yet I did not want to deal with multiple controls. In addition, I believe in minimalization and the theme for my application was a unified application. My philosophy was to have an integrated, all in one, and unified application. This was my biggest challenge. I intended the users of my application to do what they need to do in a minimal number of steps and screens. The DevExpress WinForms Tree-List control was the answer to my problems. This is truly an all in one comprehensive control. This product is a seamless integration of tree view and grid control in one single control. By using this control, I accomplished what I needed to do with what would otherwise have been two separate controls. Two separate control meant data synchronization but not with XtraTreeList control. It was very easy to use this control. I could focus on writing the code for the functionality than design UI because all the legwork for the UI was already provided by the control. XtraTreeList control allowed me to embed images, embed controls, and provide a tree view and a grid view of the data so I can present it to the user in a seamless and much cleaner manner. I found the designer tool to be very useful in configuring this component.

One of the significant strengths of Developer Express components is the excellent built in and useful designer tool. The designer tool is unlike anything I have seen in the past while using other products. This tool enabled me to quickly and easily configure the controls. It helped streamline my time and made the process to systematically configuring components, setting their styles, appearances, etc.

Another great strength I found was the ability to embed controls very easily using the In-place Editor Repository. Without this feature I would have had to write custom code myself to embed controls in controls. In-Place Editor Repository enabled me to quickly and easily add controls within controls. Without this feature, I would not have been able to accomplish the goal of having a unified application. I saved a significant amount of time by not having to write code myself. This is already a prepackaged feature and built into the component. This feature significantly leverages Developer Express components capabilities.

I then needed to provide a mechanism to the user to customize the application. Typically, this is done by providing a separate settings window, then switching the user control and focus to the settings window. This of course ran contrary to my philosophy of having a unified application. The answer to this problem was the popup container edit and popup container control. I was able to use these two controls and provide the users a mechanism to customize my application by adjusting the settings all without allowing them to leave the existing screen. I placed all the required settings on a popup control and the user can call up the popup control to adjust application settings without ever leaving the main screen or switching to another window. I used XtraNavBar control to provide the applications settings in a single control and in an organized manner. This control further reinforced my philosophy of maintaining a unified application to present required data to the end user.

Now I wanted to show some additional detailed information about user selected items. The XtraVerticalGrid control with its advanced features was definitely the best suited control. I was able to customize and tailor the grid layout, appearance, etc. to meet the needs of the application. I was even able to embed other controls and images. This control is very powerful and highly customizable.

My experience with laying out controls on a form has never been easy and never been anything less than challenging. However, with the XtraLayout Control it was very easy to layout the controls on the form. XtraLayout Control is significantly more advanced than the Visual Studio's TableLayoutPanel control yet simple, pleasantly intuitive to use, while creating a customized layout of the form.

Last yet certainly not least, I cannot end this study without saying something about the built in user interface and skinning features of Developer Express components. The ribbon form and control significantly improved the look of my application. Using the built in ribbon control gave my application the new Office 2007 look and style. Ribbon control was easy to set up with the help of the built in designer. One suggestion I'd like to make is that a built in clip art for commonly used icons for use in the ribbon control items would greatly leverage the ribbon control technology. Perhaps not as much in this application, but I can see the time that would be saved in other applications if there were ready to use clip art icons included with the ribbon control.

Additionally, the various built-in skins greatly enhanced the look and feel of the application and controls. Many of the skins are nothing short of exceptional. Furthermore, Developer Express provided a skinning editor that can be used to create custom skins and give the applications a customized look to make it different and unique from other applications in the market. The range and scope to customize the applications by using Developer Express components is outstanding.

There was one thing however I wish was present. Maybe it is present and perhaps it is a matter of just locating it but I sure think that a global style and skin manager control would provide a one click setting. This feature could change the skin and style of the entire application and the controls within it.

All in all, my goal was to provide a rich and powerful user interface and I was able to accomplish that by using the ribbon form, ribbon control and the built in skins by Developer Express.

Summary

As can be seen from the screenshot of the application I have made the application such that the end user does not have to navigate away from the main window. The user interface is so consistent and rich in look and feel, and it is a unified application. Overall my impression of Developer Express components is nothing short of impressive. With these components there is no limit to ones imagination and innovation. They are highly customizable to tailor to any kind of application and audience (end users). These components saved me a lot of time as I did not have to develop them myself and it took me next to no time to use them in my application. I was also able to develop my application in an unbelievably short period of time and did not have to worry about the stability of controls. I tested the application thoroughly and the components are rock solid. Developer Express components offer advanced capabilities and yet are extremely simple to use. They offer a rich, stylish and professional user interface, while offering a consistent look and feel for the application. What’s more, the documentation along with the demos provided with the components significantly shortens the learning curve. By using Developer Express components I was productive, made efficient use of my development time, mitigated risks, and I am in a position to deliver a quality product to my end users. Without Developer Express components I could not have accomplished what I needed to accomplish and still fulfill my requirements of a unified application that has a rich and professional user interface with great ease of development while keeping my application supportable.


Pradeep Kumar