Next Up: Data Modeling

I tell new developers (all anxious to write the bestest, fastest code they can) that they're worrying about the wrong thing. The most important thing is to get their database design right.

If you get the database design right then everything else will be easy; if you get the database design wrong... then make sure you're paid by the hour. In December, we're going to review one of the top vote getters in the database category of this year's VSM Readers Choice Awards: CA Technologies' ERWin Data Modeler.

We expect a lot from our database design tools: That they support whatever notation we're using, that their output be compatible with whatever database we're using, that we be able to share the designs that we create with the tool with all of the stakeholders in our development, that it integrate with our development toolset. And, of course, that they actually help us get the database design right.

These days there's a more important question: In a world of Object Relational Modeling tools (like Visual Studio's Entity Framework, to name one) is their still a spot in the toolspace for ERWin?

Posted by Peter Vogel on 11/17/20100 comments


Aspose Set to Merge PDF Packages

We reviewed Aspose.PDF recently , looking at its ability to create PDF documents from .NET applications. Aspose actually has two related PDF products, Aspose.PDF and Aspose.PDF.Kit, however in a bid to ease complexity, the company is thinking about merging the two products some time before the end of the year.

Posted by Peter Vogel on 10/26/20100 comments


JetBrains' Test-Driven Dev Tool

Test Driven Development must be important: Vendors are releasing tools just to support parts of the TDD process. JetBrains -- which makes ReSharper -- has just released a new code coverage add-in for Visual Studio 2005 to 2010. It's called dotCover and highlights code covered by unit tests. It works with a variety of unit test frameworks and has a console front end that allows it to integrate with continuous integration processes.

Posted by Peter Vogel on 10/26/20100 comments


Working with Vendors

When you think about it, a reviewer like me has a lot of effrontery. Fundamentally, I call up software vendors and ask them to send me a free copy of their software. Often the vendor does just that, while a few vendors suggest that I download the evaluation copy of their product from their Web site.

I explain to those vendors who point me at their evaluation copy that I'm uncomfortable with reviewing anything but the exact same bits that a real developer gets. I'm keenly interested in seeing what the "real" installation process is like and what, if any, issues are raised by the company's licensing strategy. In addition, I live in fear of criticizing some aspect of a product and have it turn out that I was looking at some limitation built into the "evaluation" version and not present in the "real" bits.

More

Posted by Peter Vogel on 10/21/20100 comments


The Beauty of Consistency with Aspose.PDF

One of the things that I like about object models is consistency. If I learn one object, I hope that I can leverage that knowledge when working with other objects. I also like it if the object model that I'm working with is compatible with the .NET object model. Aspose.PDF, which I reviewed in the September issue of Visual Studio Magazine More

Posted by Peter Vogel on 10/15/20100 comments


Aspose.Pdf: Documentation Done Right

I spend so much time talking about how I feel let down by the documentation provided with the software that I review that it would be churlish not to comment on a company that does it right. So here it is:

Aspose.Pdf does it right.

I reviewed Aspose.Pdf for the September issue of Visual Studio Magazine, and one thing that impressed me was the product's documentation and help. Aspose provides a Help file that breaks down into two main sections. First, there is a Getting Started section that provides an overview of the package and what it does. The very first sentence provides what's often missing in these packages: a succinct description of what the product does in terms of "why you'd want to use it":

More

Posted by Peter Vogel on 10/08/20103 comments


Attracting the User's Attention in CodeRush

This is a continuation of my last blog with Mark Miller , chief scientist at Developer Express, about what his company has learned about user interface design in creating CodeRush. One of the issues in CodeRush is attracting the user's attention to what's important, which Mark addresses in this blog.

Before going to Mark's feedback, I wanted to feature one quote what seemed to me like very good advice from Mark: "Watch product demonstrations and look for moments when the presenter takes too much time explaining and pointing to the UI. These moments generally indicate opportunities to improve the UI using these guidelines."

Mark Miller: Everything onscreen is information. For example, data in a table, lines delineating the table cells, and the border around the table. But not all information is equally relevant. For example, the data in a table is much more important than the lines separating the cells.

If you're going to add less relevant information, make it both easy to find and easy to ignore. This usually means making each type of information visually distinctive in shape or size and less relevant information lower in contrast... which leads to matching emphasis to information relevance. For example, you should dial up the contrast for more important information and dial it down for less important information.

Use animation when you need to attract the gaze of your customers. This is extremely useful when resurfacing from a recent drilldown into data. To reduce cognitive friction while navigating, it is helpful to restore previous views into data as you bubble out (scrolling or scaling the data appropriately so it fits within the view just as it did when the customer previously drilled down).

In addition, you often want to restore a caret or cursor into that data view. Carets are sometimes small and hard to see when the view is vast. Imagine a very large monitor showing many lines of code and suddenly changing the position of the caret relative to the view -- try to find it). Animation can help draw the eye into that newly repositioned caret location, which may often be at a very different location than where the customer was previously looking. A low-contrast locator beacon animates to reveal a new caret position as part of restoring a previous view into the code.

Animation is also useful when onscreen elements are physically moved by the user. It's so much easier to see what's happening. Compare a smoothly animated repositioning to an instant redraw, which is sometimes easy to miss. Another tip: when animating, acceleration and deceleration are both good because they mimic the natural motion we see in the world every day.

Posted by Peter Vogel on 10/04/20100 comments


Defining a User Interface for Visual Studio with CodeRush

Tools like CodeRush that extend Visual Studio require a different approach to user interface design than other applications. As I noted in an earlier blog , CodeRush packs a ton of information into the Visual Studio screen. Wondering about how CodeRush makes it work, I asked Mark Miller (chief scientist at DevExpress) about what conclusions Developer Express has come to about UI design. Specifically, I asked about any general principles that Mark could share. More

Posted by Peter Vogel on 09/30/20102 comments


A .NET API for Managing WCF Services

Once you've got more than two or three services built, you'll need to start thinking about how you're going to manage them: You're going to need an Enterprise Service Bus (ESB). Neudesic's Neuron ESB ( http://products.neudesic.com/neuron/ ) is an ESB built completely with Microsoft technologies and supports a broad range of the Microsoft toolset (SQL Server, SharePoint, CRM, and Microsoft's Line of Business Adapters). More

Posted by Peter Vogel on 09/21/20101 comments


Debugging and Deploying Office Add-Ins with Add-In Express

I'm obviously impressed with Add-In Express, reviewed in the September issue of Visual Studio Magazine ( Build Office Apps with Add-in Express ). I've built a lot of Office-based applications and it's never been fun or pretty. Using Visual Studio Tools for Office didn't make the process any easier -- it substantially increased the amount of required plumbing code that you had to write to make anything work. Add-In Express takes care of all the ugly plumbing so that you can work on the custom code that your Add-In requires. More

Posted by Peter Vogel on 09/19/20100 comments


Adding a Menu to Office with Add-In Express

In the September issues of Visual Studio Magazine we reviewed Office Add-In Express ( Build Office Apps with Add-in Express ). I found that creating an Office Add-in with Add-In Express is incredibly easy.

After picking "ADX COM Add-In" from the Extensibility section of the New Project dialog, a Wizard walks you through all the choices necessary to create the initial project, including generating a strong name key file. As part of the Wizard you can choose which version of Office you're going to target (targeting Office 2000 supports all versions) and how many of the Office components you want your Add-In to integrate with. The resulting project has all the necessary references, including DLLs for both 32 bit and 64 bit systems.

More

Posted by Peter Vogel on 09/17/20100 comments


VS Toolbox: Looking Ahead

Next month we're going to do another joint review like the ReSharper/CodeRush review we did last month ( Two Productivity Tools for Visual Studio 2010 ). This time, however, we'll be looking at two installation packages.

So what do you worry about in installation packages? What should we be looking at in reviewing these products? What products should be reviewing (my first thoughts are Wise and Installshield).

Posted by Peter Vogel on 09/14/20100 comments


Subscribe on YouTube