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
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/2011 at 2:09 PM0 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/2011 at 2:15 PM0 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/2011 at 1:02 PM0 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/2011 at 10:35 AM0 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/2010 at 7:57 AM0 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/2010 at 5:33 AM0 comments
In the spirit of the season, here's hoping that Santa comes bearing some good programmer support tools, like JetBrain's ReSharper or Developer Express' CodeRush
. A computer with enough CPU and memory to ensure that Visual Studio stays snappy with these add-ons would be a nice gift, as well. Personally I like ReSharper, but really it's a lifestyle choice.
For those out there building and managing database changes, a copy of Red Gate's SQL Compare and SQL Source Management will save you many a night's sleep.
Of course, Windows and ASP.NET developers always like to have a big bag of controls to draw from. While DevExpress and Infragistics keep winning our Readers Choice Awards, I have a soft spot for Telerik even if their documentation makes me wish for more. Office developers should make sure that Santa didn't leave without dropping off a copy of Add-In Express. SharePoint developers, on the other hand, probably had visions of ComponentOne's Studio for SharePoint dancing in their heads.
And, when it comes time to deploy, if your complex application is going to be installed on multiple computers without your supervision, perhaps you found a copy of InstallShield 2011 under your tree. But keep in mind: Just because you didn't find it under your tree doesn't mean that you can't have more. There are lots of free tools out there.
But, mostly, I hope that you have lots of interesting apps to build... and an understanding family.
Posted by Peter Vogel on 12/21/2010 at 8:32 AM0 comments
In my last blog post
, I talked to Stephanie Herr and David Atkinson, product managers for SQL Source Control, about the market for their product. This week, I wanted to ask them about the future of SQL Source Control and Red Gate's related products.
Peter Vogel: What were your goals for the product? What were the challenges in developing it?
David Atkinson: Our goal was simple: to extend the well-understood benefits of source control to SQL Server developers, eliminating the need for manual change management scripts.
Our biggest challenges came from making the source control process as easy and intuitive as our existing Red Gate tools, particularly since these are tasks that developers will perform on a day-to-day basis as they make changes to their database.
Based on user experience sessions with our initial prototype, we learned that database developers needed something directly integrated into Microsoft's SQL Server Management Studio. It also had to be so simple that there would no longer be an excuse not to source control their databases. This meant overcoming a variety of technical challenges in order to achieve tight integration with Management Studio.
PV: How do you see the SQL Developer Bundle that SQL Source Control is part of developing? What's the future in supporting developers?
Stephanie Herr: While it's perfectly possible to use SQL Source Control by itself, the SQL Developer Bundle provides a rich set of complementary tools that extend and enhance SQL Source Control. By linking the tools with each other and embedding them directly into SQL Server Management Studio, the SQL Developer Bundle provides a rich and integrated development experience. For that reason we find that many customers who begin with a trial of SQL Source Control end up purchasing the full SQL Developer Bundle.
As for the future, we are actively working on SQL Source Control to support additional source control systems as well as adding support for static data and object filtering.
More generally, for ten years Red Gate's business has been to provide simple, ingenious tools that solve problems for developers. SQL Source Control is the latest of those tools and, to judge from the high levels of interest that it has generated, we can see that the lack of a source control solution has been a big problem for the industry.
Technology is always evolving and out of changes come new opportunities for Red Gate to support developers. Without giving any secrets away about our future plans, everyone is aware of the move to Cloud Computing, e.g. SQL Azure, and we believe the Entity Framework is also going to be an important future technology.
Posted by Peter Vogel on 12/17/2010 at 12:22 PM0 comments
This month we reviewed Red Gate's SQL Source Control package (Managing the Changes to Database Design
). I took the opportunity to talk to Stephanie Herr and David Atkinson, product managers for SQL Source Control, about the world that SQL Source Control competes in.
Peter Vogel: What's the market that SQL Source Control is part of? What are the main drivers in this market?
Stephanie Herr: SQL Source Control is an ALM (application lifecycle management) tool that's part of the general application development tools market. It enables engineers and teams to extend the good development practices that they already employ in their application development to their database development.
David Atkinson: Users fully understand the benefits of source control. But, until now, it's been a somewhat embarrassing fact for the industry that database development has lacked equivalent basic change management capabilities. SQL Source Control enables developers to use their existing source control tools (e.g. SVN, TFS, Vault or VSS) to support changes to their database design. It also allows database developers who are unfamiliar with source control to enjoy its benefits for the first time.
Because SQL Source Control provides an audit trail of who changed what, when and why, database administrators can have confidence when pushing changes up the development chain. This database development audit trail can also help with compliance requirements -- SOX and HIPPA legislation, for instance.
PV: SQL Source Control is sort of an interesting product because it's the intersection between your SQL Compare Tool and some source control management tool -- and that's ignoring its integration with SQL Server Management Studio. What made Red Gate decide that this was a product that needed to be brought to market?
SH: SQL Compare was primarily designed to promote changes to production databases, hence the detailed comparison results screen and the numerous confirmation dialogs. However we knew that many users also employ it within a development environment because of the lack of dedicated source control tools.
SQL Source Control specifically takes the perspective of the developer who wants to share changes made to their development environments and to have a way to get back to previous versions. The tool also allows a team to work collaboratively in sync by enabling members to track and manage their changes together without any manual scripting overheads.
Posted by Peter Vogel on 12/13/2010 at 9:32 AM0 comments
There's a lot of talk about "fluid" these days and whether your interaction with your tools is "fluid." It's not a bad metaphor for discussing how you interact with your user interface. In fact, when your interface with a tool isn't fluid -- when you hit a bump or a detour -- it does feel a little like hitting rough water or having your shower suddenly turn off (or switch to cold water). After reviewing CA ERwin Data Modeler
in the December issue, I'd probably characterize the tool's UI as 'sort-of' fluid: lots of stuff where you expect it, doing what you expect, and helping you do what you want. Then there's the odd bit of rough water.
When you start up CA ERwin, your first reaction is probably going to be, "Whoa, that's a lot of toolbars." I counted seven, stacked three deep along the top of the window, not including the tool icons at the top of the three tool windows. When I see that many toolbars when I first open an application, I'm never sure if that means that there's a lot of functionality in the application or if the vendor just wants me to be aware of how many toolbars there are. Sort of a "Gosh, this must be a terrific app -- look at all those toolbars!"
When I check the Windows menu I notice that all the toolbars are checked -- I don't think there's any application where I actually use all the toolbars straight out of the box. Or even long after it's been out of the box.
ERwin's screen layout is so familiar -- just like Visual Studio -- that it made me realize how ubiquitous that layout has become. It really has just six items: editing window + tool windows + menu + dialog + toolbox + context menus. You can start mousing around almost immediately and figuring out how to get things done.
There's the odd difference from the Visual Studio paradigm. I notice right away, for instance, that in the editor window the tabs appear along the bottom. Which, I guess, isn't the end of the world. Sometimes, it's hard to tell if an interface isn't "fluid" or if I'm just getting set in my ways.
It took me awhile to figure out the other difference: none of the tool windows have captions. I ended up looking at the list of tool windows on the Windows menu to figure out what each window did. I recognize the need to reduce visual clutter, but I would gladly have given up one row of toolbars to get headings on the tool windows.
One real UI annoyance, though: Help is always on top. If you open it, you'd better be prepared to read it and don't expect to be able to switch back to ERwin. The only way to make the Help Window go away is to minimize it or close it.
Fluid? Sort of.
Posted by Peter Vogel on 12/10/2010 at 11:43 AM0 comments
In the December issue of Visual Studio Magazine, I reviewed a pair of data handling tools: CA ERwin Data Modeler 7.3
and Red Gate Software SQL Source Control
. In this blog entry I dive into using ERwin.
If you've been building relational database models as long as I have, you'll start into CA ERwin Data Modeler by selecting File | New and, in the dialog box, select Logical model. Others may go to the Logical/Physical model, which requires that you specify your target database engine and prevents you from doing things not supported by that database engine.
Once you do, you get an editor window to draw your diagram in and a default set of nodes in the Model Explorer on the left-hand side of the editor window. Some of those node names won't be familiar to you unless you've got some grounding in relational database theory -- how many developers, for instance, know that every column has a domain that is the list of valid values for the column? ERwin does, and it populates the Domain node in the Model Explorer with some default domains (e.g. string, number). But it's going to require some study on the part of the data modeler to exploit this powerful feature by defining custom domains that represent their organization's business rules.
ERwin gives you a choice between two notations: IDEF1X or James Martin's Information Engineering (IE). I've used IE for years so that's not a problem for me. But if you're an adherent to Chen or Bachman, then you'll have to make the minor mental adjustments to moving over to one of the supported notations.
You might expect to start creating your model by dragging an Entity (the "E" in "ERwin") icon onto the editor window from a toolbox. However, ERwin expects you to first add entities to the Entity node in the Model Explorer. Once you've added an entity to the model, an Entity icon does appear in the diagram in the editor window (and always in the same place: you'll need to drag your icons somewhere else or they'll just stack up on top of each other). To my mind, this is the right way to do it and reflects, I think, a serious attitude towards the fundamentals of data modeling.
ERwin shows a commitment to specifying domains and defining entities separate from their appearance on some diagram. As someone committed to relational database design theory, I'm already impressed. However, casual users (and should you be letting "casual" users design your database?) might be distressed about the background they'll need to acquire with this tool.
Posted by Peter Vogel on 12/09/2010 at 6:24 AM0 comments
We've lined up two products for review next month, both of which earned top honors in our 2010 VSM Reader's Choice Awards
in November. We'll be looking at Infragistics' NetAdvantage for .NET: Win Client and Developer Express' DXperience Universal component suites.
I often think that I'm not paying enough attention to the Windows Client environment so reviewing the Infragistics package (the top ranked product in the "Component Suite: Desktop" category) will help to address that imbalance. But, being primarily a Web developer, our other review will be DevExpress' DXperience Universal, the winner in our "Component Suite: Web" category.
It says something about how a handful of companies dominate these component categories (and have captured developers "hearts and minds"). While Infragistics took home the honors on the desktop, Developer Express was close behind as our readers' number two choice. In the Web suite category, meanwhile, Developer Express and Infragistics finished in a dead heat for the top spot. In both categories, Telerik took the third spot.
Posted by Peter Vogel on 12/07/2010 at 5:54 AM0 comments