Theodicius

Good. Evil. Bratwurst.

What’s wrong with Visual Studio?

Posted on by arlen

I’ve tweeted this a bit, but decided it’s time I start a catalog.

Been working an assignment on location at an ASP.Net shop (they’ve teased about it being a full-time gig, but no action on that front; honestly don’t know what I’d do, because the folks there are great to work with even if they do use VS) and so I’ve been having to deal with Visual Studio.

Now, I’d used VS a lot in my previous life as a software developer. What I wasn’t prepared for was:

  1. How my work style had changed.
  2. How the same little things I found helpful as a developer got in my way as a designer.

It’s weird. As a developer I took a spec, mapped out the objects/methods I was going to need, and started building them one at a time, testing and assembling them as I went. But as a designer, I had a whole new workstyle.

I find now I work first with the whole page, and then down. In VS terms, first the Master Page, then the individual pages. Markup first, then styles, adding markup only when required by the end design. And I find that along every step of the way, VS keeps getting in my way. Sometimes it’s just being “helpful”, as my 5-year-old grandson can be in the woodshop — well-intentioned but in the way nonetheless. Other times it’s just downright obstructionist.

Let’s look at a few hindrances of the first type: it auto-completes. This can be genuinely helpful because I don’t have to type out the full name, but it’s a problem when it automatically adds the closing tag for every opening tag I type. It’s one of those “features” that’s not really thought all the way through.

Sometimes, for example, I have text in a script that the client has approved, to be copied/pasted into the web page. Then I go through it, typing a paragraph tag at the start of the paragraph. Hey, Presto! Right after the opening tag appears a closing tag, which I promptly have to waste time deleting. If I need to create a list, same problem; I have to clear out all the improperly placed closing tags.

But that’s just a special use. Isn’t it intended for when you’re creating the site, not working off of design documents? That’s a valid statement, but the VS approach fails there, as well. Because I’ll type an opening tag, and the cursor will be placed ready to fill the tag. But wait, isn’t that great?

In the words of Agent 86, “Missed it by that much.” Because once I get to the end of the content for whatever tag I just opened, I’ll have to manually pass over the closing tag to move on to the next block. And that will cost me more keystrokes or time than simply typing the closing tag would cost. Again, a net deficit, not a gain.

The only useful bit is it makes sure every opening tag has a closing tag. Or does it? After all, most of the time I end up deleting the tag and have to type it back in again, so if the tags balance, it’s not because of VS. But more importantly, there’s another feature in VS that fills that function better than the stupid auto close does. Just fold up the tag and you can see where it ends.

Another well-intentioned but annoying bit about it is the way it very kindly helps you avoid having the same ID in the page multiple times. Helpful, but annoying, because it changes ID’s whether you need them changed or not! End result, I end up redoing the ID’s. (Brought home to me when I tried to create the same structure twice in a Multi-View. I coded the first view structure, then copied and pasted it into the second view. Every single ID was changed, and since styles and javascripts depended on seeing the same ID’s in each view, I had to go back and change every one of them back.)

Then there’s the complete obstructions. Such as pre-empting ID’s for ASP.Net’s own nefarious purposes, making me design using only classes (design with one hand tied behind my back, as it were). I received the kind, well-intentioned advice that I should just use classes, they were functionally equivalent after all. They aren’t, of course, but the advice was, as I said, well-intentioned
so I let it pass.

There’s also the fact that the content placeholder from the Master Page insists on putting a div around the content it inserts. Annoying, since if the content needs a div, I can wrap it in as many divs as it requires, but it quite often doesn’t need one. Just a minor annoyance until you discover there’s no way to give that div a class! Meaning only under limited circumstances can that div be useful for styling or javascript. It just sits there, taking up space, wrecking nice tight code, and occasionally causing some problems for styles.

I think most of the flaws of VS can be summed up in one sentence: VS thinks I’m stupid, and is determined to treat me that way. Opinionated I can tolerate; after all, I love working in Rails. But being condescended to by people is bad enough; I won’t put up with software that insists on doing that as well.

If MS really wants designers to use VS, it should find some and watch them work with it. See how many times they have to stop what they’re doing to get it out of their way.

I’ll still be using it; but only because I have to. As soon as I walk off the site, I consign it to the rubbish heap in my mind, and go back to more civilized tools (such as BBEdit).

Leave a Reply

Your email address will not be published. Required fields are marked *

It sounds like SK2 has recently been updated on this blog. But not fully configured. You MUST visit Spam Karma's admin page at least once before letting it filter your comments (chaos may ensue otherwise).
April 2008
M T W T F S S
« Feb   May »
 123456
78910111213
14151617181920
21222324252627
282930