Q&A with DevExpress CTO Julian Bucknall

It's not often that I get completely beyond "marketing speak" to hear about what the business side of the Visual Studio/.NET toolspace is really like. My talk with Julian M. Bucknall, chief technology officer at DevExpress is one of those occasions.

Peter Vogel: What does the control suite market look like from DevExpress' point of view?

Julian M. Bucknall: I would say that the control suite market is essentially 6 to 9 months ahead of the main application market. In other words, we have to look ahead to 6 months down the road and try and work out what applications our customers might be writing then. For enterprise customers, it's likely to be pretty much what they're writing now: the rate of change for "departmental software" is fairly slow, I reckon, since there's never enough time/resources to investigate new platforms and so on. If you like, most corporate software development is now particularly "early adopter" stuff. Other customers have a greater requirement for support for new platforms and the like.

So, in essence, we see Silverlight on the rise (although I'm not really sure how much further it can go, so it may have reached a peak by mid-year), WPF going into a fall (Silverlight 5 will rob market from its older/larger brother), WinForms staying steady (the good old departmental software tends to be WinForms still), ASP.NET slowly dropping, but MVC rising. After that, it's hard to gauge: we'll have to see the effects of ASP.NET MVC 3 and Silverlight 5.

Mobile development will certainly be on the rise, and my gut feel is that it'll be web development that will win out for control vendors, rather than native controls.

PV: Is there a unique value that DevExpress brings to the suite market? Or, to put it another way, how does DevExpress compete in this market?

JMB: I've said this for a long while: the selling of controls is a commodity market. All controls of a certain type from every vendor work in essentially the same way and have much the same functionality. The edge cases are different certainly (X may be faster than Y in a certain scenario, Y may be more stable than X in another, you as a developer may prefer the object model and API of X versus Y) but overall it's like buying milk.

So, in order to differentiate ourselves, we not only concentrate on performance and stability but on the services associated with selling controls: purchasing, support, documentation, video tutorials, webinars, evangelism, attending and sponsoring user groups and codecamps. We want to assure our customers that they're not abandoned once we have received their purchase money.

Posted by Peter Vogel on 02/02/20110 comments


Re-Aligning the NetAdvantage Bundle

Re-Aligning the NetAdvantage Bundle You know, the world keeps changing. As we started reviewing Infragistic's NetAdvantage for .NET: Windows Client suite , Infragistics was rejiggering their packages. The products we reviewed are now part of a 'bigger' bundle (NetAdvantage for .NET or NetAdvantage Ultimate) for less money ($1,495 vs. $1,995). You can also buy suite components individually. More

Posted by Peter Vogel on 01/31/20110 comments


VS Toolbox: Coming up in February

Next month we're looking at two more unusual products. The first is Infragistics' Data Visualization suite of controls. These controls are not (as Infragistics makes clear) a complete business intelligence solution. Instead, Infagistics' intention is to provide a suite of controls that will let your users sort through the data from your business intelligence solution. I'm going to be interested in what controls go into a "Data Visualization" package and how effectively they work at presenting data. More

Posted by Peter Vogel on 01/26/20110 comments


Installing New Tools with DXperience

I suspect that most developers, once they find a tool they like from a vendor, will go back to that vendor for their next purchase. At the very least, that vendor will get "first refusal" -- developers will check out offerings from a vendor they trust before they start playing the field.

DevExpress obviously assumes that is the case with its customers. I reviewed the DevExpress DXperience for ASP.NET bundle in the January issue of Visual Studio Magazine, and appreciated its integrated install experience.

When I get a package from DevExpress (and, as a software reviewer, I'm frequently revisiting vendors) I don't download the package I want. Instead, I start up the DXPerience Product Installer, which shows me a list of the products I've licensed (with an option to see all of DevExpress' products). The application walks me through logging on, getting the list of products, and giving me the three choices of repair, modify and remove.

Other tools vendors provide the same facility from a Web page: I log onto "my account" and can download the products I've bought. I have to say, I prefer the DXperience app (nestled into my Start menu under "DevExpress") over having to surf over to some site that I've forgotten about.

DevExpress' approach is not perfect. At one point, the package wanted me to shut down Visual Studio before it would proceed with the installation. Sadly, after I did shut down Visual Studio, it wouldn't continue the installation and I had to cancel out and restart.

I recognize that this isn't a critical part of the "DXperience" (DevExpress does give it away free, after all) but it's a nice touch and I like it.

Posted by Peter Vogel on 01/24/20110 comments


Free Visual Studio 2010 Tools You Need: VSCommands 2010 Lite

I'm really enjoying going through the Extensions Gallery in Visual Studio 2010 to see what's available and, more importantly, what's available and free . Many of the extensions also work in earlier versions of Visual Studio and/or have versions that do. My latest download, however, only works for Visual Studio 2010.

VSCommands 2010 Lite adds about two dozen neat features to Visual Studio -- in fact, some are so essential I wonder why they're not included in Visual Studio out of the box. For instance, VSCommands adds a Locate in Solution option to Solution Explorer and the Editor window context menu. This option synchronizes the currently selected file in Solution Explorer with the file open in the Editor. I'm frequently working on a Solution with over a dozen projects, so the ability (after double clicking on an entry in the Errors window) to figure out what project I'm in is really worth something.

Speaking of the Editor window context menu, I also like the Add Guid option that lets me insert a GUID into my code without having to go to the Tools menu. And, speaking of solutions with over a dozen projects, my favorite feature is one that I never use explicitly: VSCommands terminates the build process as soon as even one project fails. As you can imagine, this feature saves me a lot of sitting around waiting for builds to complete when I have a problem with a project early in the build process.

That's just two or three of my favorite features among twenty-four in VSCommands 2010 Lite. And, as the name implies, there's a Pro version that costs money and throws in even more goodies. One warning: Install this package before you open a project -- installation requires restarting Visual Studio.

I'm going to have to find some way to control this addiction to Visual Studio add-ins, though. My pop-up menus are getting longer and longer as I keep adding new cool tools.

Posted by Peter Vogel on 01/21/20113 comments


Tab Happy: DevExpress DXperience ASP.NET Controls

I'm of two minds about how much an installation should do. Obviously, the installer should put all the software on my hard disk. But, after that, how much should be done?

For instance, when I install a new set of controls for Visual Studio, I expect those tools to turn up in a tab on my Toolbox the next time that I open the appropriate kind of file in Design view. In fact, if there's more than a few controls, I expect the controls to appear in several different tabs, organized in some useful way. (I recently complained about Infragistics' WinClient bundle for dumping -- a harsh term, I know -- all of their multitudinous controls into a single tab.)

More

Posted by Peter Vogel on 01/19/20110 comments


More on Working with Infragistics NetAdvantage WinClient

I continue to be impressed by the "little things" in Infragistic's WinClient controls bundle, reviewed in the January issue . For instance, I really liked the NetAdvantage UltraDropDownButton for Windows Forms (though it may just be because I'm working on an app with extremely limited screen space).

In the button's basic configuration, it's a button with a drop down arrow beside it. When the user clicks on the arrow, you can display an UltraPopupContainer holding a container with any control you want. Associating the container with the drop down requires a single line of code:

Me.ultraDropDownButton1.PopupItem = Me.ultraPopupControlContainer1

For my application, I used several of these buttons each displaying, as its Text, a typical date that a user might want to select. But for those cases where the user wanted a special date, I also had a DatePicker on my form that I assigned to the UltraPopupContainer tied to the buttons. If the user wants to accept the default date, they just click the button. When the user wants a "custom" date, they click the drop down arrow, get the standard Windows date picker and select a date they'd prefer. In the button's ClosedUp event, I set the button's Text property to reflect the new date:

Private Sub UltraDropDownButton1_ClosedUp(ByVal sender As Object, 
  ByVal e As System.EventArgs) Handles UltraDropDownButton1.ClosedUp
  Me.UltraDropDownButton1.Text = Me.DateTimePicker1.Text
End Sub

Without requiring any additional screen space, this control let me merge a control for triggering an action (the button) with a control to override my default settings (the DatePicker) without having to go to an "Options" form. Again, not a big, important control but one that solved my problem quickly and, I think, elegantly.

Posted by Peter Vogel on 01/18/20110 comments


Working with Infragistics NetAdvantage WinClient

I appreciate toolsets that reflect the world that I live in as a software developer. Often, it's the little things that count.

For instance, as I worked with the Infragistics NetAdvantage for .NET: Windows Client suite (reviewed in the January issue), one of the tools that I wanted to try out was its UltraMessageBoxManager. MessageBoxes may seem like a trivial tool to concentrate on but, when all you want to do is ask the user to click a button, it's easier to use a MessageBox than create a custom form. The problem is that you don't have much control over the appearance of your MessageBox -- they all look very much alike. There's also no way to centrally manage your message box settings. Every invocation of the Show method is a unique occurrence, stranded somewhere in your code.

The UltraMessageBox manager has about the same number of overloads in its Show method as the regular MessageBox but also accepts an UltraMessageBoxInfo object, which makes all the difference. The UltraMessageBoxInfo has numerous parameters that let you configure the dialog box that will be displayed and, as a result, allows you to define your MessageBoxes centrally.

You can, for instance, define a single UltraMessageBoxInfo object with some settings you want to use throughout your application. For any particular call to the Show method, you can just provide the text/caption. Alternatively, you can define in one location in your application a separate MessageBoxInfo for each dialog box you intend to display. When the time comes to display the message, you just pass the appropriate MessageBoxInfo object to the Show method.

And the UltraMessageBox gives me some additional features that the standard MessageBox does not: a header a footer, and tremendous control over the dialog's appearance. The UltraMessageBoxInfo even has a Tag property that I can use to store related information.

As I said, it's not an important part of the NetAdvantage package but it means a lot to me.

Posted by Peter Vogel on 01/12/20110 comments


Cool Component Maker Slogans

I'm torn. Do cool slogans matter?

I'm fond of Infragistics' sort-of edgy "Killer Apps. No Excuses" (they even have an edgy font). Telerik's slogan is a little more uplifting: "Bring Your Ideas to Life." DevExpress doesn't appear to have one. Does that hurt their sales, I wonder? Is there a company slogan that resonates with you?

Posted by Peter Vogel on 01/06/20110 comments


What's Next: VS Toolbox Reviews for February

January may have just arrived, but I'm already looking ahead to February. Next month, Visual Studio Magazine will finally respond to all the comments we got when I asked if we should be looking at Flash development in Visual Studio . The VS Toolbox section of Visual Studio Magazine in February will include reviews of the Amethyst IDE for Adobe Flash and WebOrb for integrating Flash and .NET. It's going to be an interesting review because it involves two different companies' products working in concert: WebOrb is from Midnight Coders and Amtheyst is from Sapphire Steel Software. More

Posted by Peter Vogel on 01/03/20110 comments


The Future of CA ERwin Data Modeling

My last blog post ( CA ERwin and the Data Modeling World ) was the start of an interview with Donna Burbank, the product marketing manager for Erwin, about the data modeling market. I finished the interview by asking about what CA Technologies sees in ERwin's future and the impact of ORM.

Peter Vogel: What's the strategic direction for CA ERwin Data Modeler?
Dana Burbank: One of our goals moving forward is continuing to evolve to support new data sources and platforms so that data management professionals can keep relying on CA ERwin as their "single source of truth" for data definitions and structural design. We're evaluating each of the use-cases carefully because the need is different for each role and technology. In some cases, integration with existing data sources makes the most sense, while in others it makes sense to model and manage the data natively in CA ERwin Data Modeler.

For example, a business intelligence developer might want to extract core data definitions from CA ERwin Data Modeler, and then design his or her application in their native BI tool -- that would be more of an import/export paradigm. In other cases, a developer may wish to model a new data source natively within CA ERwin -- a new cloud database, for example. We expect that CA ERwin will be used as the core hub for data-centric initiatives -- with CA ERwin being the common source for data definitions that can be reused in other projects: from BI, to MDM to application development, etc.

Visualization is the other key aspect to being this "single source of truth" for data assets. One of the reasons that data modeling has become so common is that it helps people visualize complex data structures. Visualization options have changed dramatically from the traditional data models in the 1970s and 80s. You'll see some next-generation ways to graphically show data models in upcoming releases.

We're also seeing personnel with a broader range of responsibilities getting involved in the data modeling process -- from business users and executive sponsors to technical staff from a variety of backgrounds. To address these audiences, we're looking at non-traditional ways of showing data models: from the simple but familiar spreadsheet view of business users, to BI-style reporting, to more alternative ways of sharing the core metadata and definitions that are managed in ERwin. This is key, because when more people across an organization use the models, more value is drawn from reuse and standardization, and ultimately costs are lowered and production time is decreased.

PV: What, if any, impact do you see ORM tools having on the market that CA ERwin Data Modeler is part of?
DB: Although ORM is a topic of discussion in academic circles and at conferences, we're not seeing a huge demand for ORM from customers planning to use it for their core design projects.

The strength we see for ORM is for high-level or business-level data modeling, which is known as conceptual data modeling to many data architects. ORM has a nice way of displaying core business facts, and its emphasis on showing sample data sets within the model can be an intuitive way for business users to understand the data relationships being discussed.

CA ERwin Data Modeler continues to focus on the Information Engineering and IDEF notations, which can also show conceptual data models, but can easily translate to the logical, physical and implementation levels, so that these conceptual artifacts can be leveraged throughout the design process.

Posted by Peter Vogel on 12/23/20100 comments


CA ERwin and the Data Modeling World

After working with CA Technologies' ERwin Data Modeler 7.3 for our review in the December issue of Visual Studio Magazine ( Designing Databases with CA ERwin Data Modeler 7.3 ), I spoke with Donna Burbank, the product marketing manager for CA ERwin, about what it's like competing in the data modeling market.

More

Posted by Peter Vogel on 12/22/20100 comments


Subscribe on YouTube