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.
More
Posted by Peter Vogel on 12/21/20100 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/20100 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/20100 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
More
Posted by Peter Vogel on 12/10/20100 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/20100 comments
It's been twelve years since the last release of the "non-.NET" version of Visual Basic and five years since support was terminated. But there's still room in the toolspace for new products.
This month eXontrol released their eXCalendar, eXEdit and three other OCX controls (all part of their eXsuite package). Also this month, BCL Technologies released easyPDF SDK for "any language that supports COM objects." And Korzh.com released EasyQuery.Ax, a COM/ActiveX extension to their Easy Query product line.
All of these products are available in .NET versions (or are part of a product line that includes .NET versions). But what's interesting is that these product announcements all featured COM/ActiveX/OCX implementations. I made a very good living from Visual Basic 6 for a long time and, while I'm not currently developing in it, it's a testament to the power of the tool that it (and its COM brethren) still provide a market for tool developers.
Posted by Peter Vogel on 12/01/20106 comments
This is a continuation of
the interview
I had with Blair Symes (marketing manager for Flexera Software) about InstallShield. In this part of the interview, I wanted to ask about what the company's product does for its customers now and what they expect to deliver.
Peter Vogel: What do you see InstallShield doing for your customers?
Blair Symes: We want to make it easy for developers to handle even the most complex installation requirements with minimum effort for desktop, web, server, and mobile applications. So automated tools and wizards and easy-to-use project views are important to keep installation authoring simple while cutting down development time. But we also include advanced features to give developers complete control of installation behavior as well as the look, feel, and functionality of installer dialog boxes. We also support the entire application lifecycle by making it easy to create updates and patches. That includes ensuring that the applications uninstall smoothly without aggravating end users.
P: Where is InstallShield going? Where do you want to take the product?
B: Many of our changes are driven by our customers changing software practices. Many software companies follow Agile Software Development best practices by building their installations from the beginning and continuously integrating them with their product builds. InstallShield Standalone Build licenses enable developers to follow Agile Software Development best practices by automating and integrating installation builds with their product builds.
More
Posted by Peter Vogel on 11/30/20101 comments
It's often interesting to find out how a company sees itself. I recently asked Blair Symes, marketing manager for Flexera Software, how the company views its product and customers. We
reviewed Flexera's InstallShield
in the November issue of Visual Studio Magazine.
Peter Vogel: From your point of view, what is InstallShield?
Blair Symes: InstallShield is the gold standard for building Windows software installations (and has been for over 20 years). InstallShield gives developers a flawless localized installation experience for their software, keeping their end users happy and support costs down.
P: Who are your target customers?
B: The target audience for InstallShield is software developers working for software vendors that sell applications commercially and developers working for enterprises (in any industry) or government agencies that develop custom applications for their organizations.
P: Those are big categories.
B: We break them down into two different roles. We distinguish between "Setup authors" (also known as "release engineers," "build engineers," or "software developers") and "Development/Configuration managers." Both groups are risk averse: They want a reliable process that guarantees a successful installation. The first group -- the setup authors -- also want the software installation creation process to take as little time as possible (and require as little effort as possible). They're working on tight schedules and budgets and don't want to have to learn a new tool on each development cycle.
The second group -- development/configuration managers -- are typically managing multiple projects with no time for mistakes and release dates that must be kept. So they're interested in managing their resources efficiently and ensuring collaboration. Reliability and predictability within a project schedule matters to them.
Posted by Peter Vogel on 11/29/20100 comments
Continuing my
exploration of Flexera Software InstallShield
, it would be irresponsible of me not to mention some of the additional tools that come with the InstallShield package. While InstallShield doesn't have all of the tools that, for instance, Wise provides there is some overlap.
You can read my reviews of InstallShield and Wise Package Studio here.
InstallShield includes two tools that you can use from the Installation Designer to support those installation packages that need more than the Wizards that Visual Studio provides. There's a dynamic scanner that analyzes an application as it runs and determines what DLLs it actually uses. This helps ensure that you include all the necessary components in your installation package (and specify all the appropriate dependencies among those components). There's also a static scanner that, analyzes the files in your project (EXEs, DLLs, OCXs) to find the dependencies embedded in them and adds those dependencies to your installation package.
Not integrated into the Installation Designer are a number of tools for analyzing MSI files (Windows installation packages). An MSI Diff tool compares two MSIs and highlights differences, answering the question, "What are the real differences between these two versions of our product?" Two other tools support modifying a few of the attributes on some of the standard dialog boxes that InstallShield uses.
Posted by Peter Vogel on 11/21/20100 comments
Deploying an application is only half the battle -- probably less, in fact. You also have to set up the environment that the application will run in. A huge part of setting up that environment is ensuring that the database the application will work with has all the changes made to it that the application requires. As changes accrue in the development system, how do you ensure that those changes are made to the production system before your new application starts? You
More
Posted by Peter Vogel on 11/19/20100 comments
In the November issue of Visual Studio Magazine, I
reviewed a pair of Windows installation and deployment packages
--Flexera Software InstallShield and Wise Package Studio. Today I'll dive a little deeper in InstallShield.
InstallShield actually provides you with two interfaces for creating deployment packages. One is integrated with Visual Studio. The other is the standalone InstallShield 2011. This interface allows you to choose between a wide variety of project types. These include a number of Wizards (including one for Visual Basic 6) and a ClickOnce deployment project.
However, when the Wizards aren't enough, you'll need to use one of the InstallScript projects. Typically, you'll use an InstallScript project when you want to take control of the installation user interface or when there are tasks that you need to perform after your software package is installed (and, occasionally, before installing your package). While using InstallScript isn't for the faint of heart, InstallShield does go a long way towards managing the process.
For instance, if you select the most "free-form" of the InstallScript projects, the base InstallScriptProject, InstallShield presents the project to you in the Installation Designer, a treeview that organizes the components of the installation package. It's not a Wizard (there's no attempt to walk you through the steps) but the treeview does structure the tasks you need to perform.
The first step, for instance, is to define the "Features" that make up your deployment package. As you add features, a dialog (available from the Feature's property sheet) allows you to create dependencies between features (i.e. don't install this feature without this other feature). Each feature has a set of events associated with it, listed in its Properties Window, that you can tie InstallScript code to.
Further down in the Installation Designer you can write your InstallScript functions that you can tie to your events. The UI isn't as slick as I might like. There's no way to create the skeleton of a function from the Properties Window of a feature as you can when adding event handlers in Visual Studio, for instance. This necessitates some bouncing back and forth in the TreeView between the script node and the features node. But the InstallScript editor is more than just an implementation of Notepad and includes, for instance, IntelliSense-like support.
As I said, InstallScript isn't for the faint of heart (and C programmers will feel more at home with InstallScript than Visual Basic programmers will), but the InstallShield UI goes a long way to managing the complexity.
Posted by Peter Vogel on 11/18/20100 comments