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
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.
For me, this raised the issue of why a company would make a major change like shaking up its product lines (which includes, for instance, handling customer who want to upgrade from the old package). The right answer seemed to be "ask them." And that led to Andrew Flick, product unit manager of NetAdvantage at Infragistics and these questions.
Peter Vogel: When did this change take effect? When did you start thinking about creating the NetAdvantage Ultimate bundle? And, as long as I'm asking: How long does it take to put a change like this into effect?
Andew Flick: We repackaged our NetAdvantage product suites in conjunction with our 2010 Volume 3 release in October 2010. We introduced NetAdvantage Ultimate, which includes all six Infragistics UI control toolsets -- Silverlight Data Visualization, WPF Data Visualization, Windows Forms, ASP.NET, WPF Line of Business and Silverlight Line of Business.
The Ultimate suite really is 'ultimate' in that it provides our customers with the flexibility to move between platforms, maintain existing applications and create new ones on newer platforms.
For developers who are primarily doing Line of Business application development and using two or more controls, we repackaged NetAdvantage for .NET to include our four Line of Business UI control toolsets. Individual purchasing of each toolkit is now also available.
Before introducing our package rebranding to our customers, we did work for several months to ensure that our systems were ready to accommodate both the new and 'grandfathered' SKUs and that our documentation reflected the rebranded product suites.
PV: What drove this change?
AF: Our decision for this repackaging was driven by customer research and demand. As with every New Year, we reviewed our customer data, feedback and comments and evaluated how we could provide greater value to our customers and how our products could better help customers develop UI applications with the greatest user experiences possible.
PV: What do you see as the benefits for developers? For Infragistics?
AF: Customers who want all of our Infragistics controls in their toolbox for UI development on the web and the desktop, or enterprises that do not want to hassle with multiple licenses can now purchase or upgrade to NetAdvantage Ultimate. Because NetAdvantage Ultimate also includes our Data Visualization suites, it provides developers an opportunity to delve into the data visualization realm and communicate business intelligence data in a way that is visually meaningful.
PV: How do you see this change evolving (if it does evolve)? What impact will it have on existing Infragistics license owners now? At upgrade time?
AF: As we grew our UI toolkits to support new technologies and platforms, and market adoption ramped up it, made sense for us to rebrand our UI control suites to provide the most value to our customers. Current subscribers will be 'grandfathered' in, although we encourage our customers to take advantage of an upgrade package. As we introduce new NetAdvantage UI components, such as NetAdvantage Reporting, NetAdvantage for Web Developers, NetAdvantage for Mobile, our Ultimate subscribers will also get these new products to help them reach into new realms of development.
Posted by Peter Vogel on 01/31/20110 comments
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.
Our second review is driven by reader demand. I asked if we should review the product and the answer was a strong "Yes" (to put it mildly). We'll actually be reviewing two products: Sapphire Steel's Amethyst, a Visual Studio Add-In and Midnight Coder's WebOrb, a run time environment. Amethyst is unusual because it's designed to let developers do Flash (Adobe AIR/Flex) development in Visual Studio while WebOrb, among other things, let's you run and debug those applications from Visual Studio. I'm going to be concentrating on the integration that Sapphire Steel and Midnight Coder have managed to achieve.
Posted by Peter Vogel on 01/26/20110 comments
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
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
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.)
What got me thinking about this was my recent installation of DevExpress' DXperience bundle for ASP.NET. This time none of the controls turned up in the Toolbox. I recognize that this may not be your experience. I've installed/uninstalled/reinstalled so many toolsets on this particular Virtual Machine that the DXPerience installer may just have thrown up its metaphorical hands and given up in disgust. In my case, I had to add a tab and use the Choose Items dialog to add the controls.
I'm not sure that this is a good or bad thing. Like many developers, I'm very protective of my Visual Studio configuration. I move around enough to various client sites that I stick to a pretty vanilla configuration so that I don't look like a complete dork by not being able to find something while a client is looking on.
Is letting me install the controls where and how I want a better strategy than inflicting the vendor's preferences on me? This may be especially true of a bundle as large as the DevExpress collection, because I probably don't want to use all of the controls, at least not right away. Not installing the controls in the Toolbox may indicate a level of respect for the developer on the part of the vendor: We won't impose our will on you.
In the end, though, I think that I'd prefer that the installer create a set of tabs and install the controls (let's recognize that I have no idea how easy/hard it is for an installer to do that). The reason is that the way that the controls appear in the Toolbox helps me understand what the controls do.
For instance, installing all the controls that make up the DXperience scheduling solution into a separate tab would make understanding and using them (or not) a little bit easier. The other benefit of organizing the controls into tabs is that it's so much easier to get rid of the ones you don't think you'll be using: right-mouse click on a tab, pick "Delete Tab", and it's gone.
Yep, I've thought about it and I like it.
Posted by Peter Vogel on 01/19/20110 comments
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
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
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
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.
We're also going to be looking at another product: Infragistics' NetAdvantage for Silverlight Data Visualization. This package is a set of controls to support creating business intelligence applications. I'm hoping to have enough time to, at least, glance at their implementation for WPF.
Or do I have it backwards? Should I be concentrating on the WPF implementation and only glancing at the Silverlight -- what makes a difference to you?
Posted by Peter Vogel on 01/03/20110 comments
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
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.
Peter Vogel: What market is CA ERwin Data Modeler part of? What are the essential issues/characteristics in this market?
Donna Burbank: Data modeling is a core component in a number of markets that manage or use data including Data Integration, Business Intelligence (BI), Data Warehousing, Master Data Management (MDM), and Data Governance. Data modeling provides a blueprint for data assets that can be used by both the business and technical staff to define and modify data structures. For example, business analysts use CA ERwin Data Modeler (CA ERwin) to define core business requirements, which are then integrated with the technical architecture at the database design level.
Challenges with data management include ensuring that all data is of the same high quality, maintaining data integrity and standardizing data fields across different data sources. Companies that understand their customer, product, and competitive data have a distinct advantage. Data Modeling helps organizations maintain a clear, consistent view of their strategic information -- helping them understand the data they have, what it means, and the relationships between data elements.
PV: What challenges do you see in CA ERwin Data Modeler's future?
DB: The major challenge is to keep up with new data formats and on-demand/cloud platforms. Where much of an organization's data was historically stored on-premise in traditional relational databases (RDBMS), today there are new platforms and data formats to deal with: unstructured data in emails and documents; XML and related formats for Web development; cloud-oriented databases; and so forth. CA ERwin's challenge is to provide the same level of data management and model-driven development options for these new data sources as we historically have for the traditional database market.
Posted by Peter Vogel on 12/22/20100 comments