Monday, December 29, 2008

CodeCast - Late Night Show for DotNet Developers

Congrats to Markus and Ken on starting CodeCast podcast. Not sure how well it's going to be considered a "late night show" - I've only ever listened to it during the day but it is good to hear short tidbits from all. Ken spoke about CodeCast back at SWFox.

A treat from their Dec 10th episode - Pex - a tool to automatically create unit tests. From the MS research site: Pex (Program EXploration) is a white-box test generation tool. Given a hand-written parameterized unit test, Pex analyzes the code to determine relevant test inputs fully automatically. The result is a traditional unit test suite with high code coverage. In addition, Pex suggests to the programmer how to fix bugs.

Hmmm...this might be a useful VFPX project in conjunction with FoxUnit.

I especially love how they start and mix each episode with a little "I'm listening to CodeCast" - reminded me of the old FoxShow intros (before my HD died).

Wednesday, December 10, 2008

Usability: Learning New Environments

I realized how quiet I've been here and while I have a number of posts waiting in draft, I've been so busy it's been impossible to complete them. But I did want to post this after I dealt with it yesterday.

I've been on an ASP.Net contract now for about 3 months which is an experience all unto itself - non MVC, non standard ASP.Net app using the DevExpress components. Since this is someone else's application "framework" and I'm simply a hired hand to help finish it off, I find I'm using parts of Visual Studio that I've never really thought of and/or used that often.

I'm not referring to actual development pieces like Datasets or class designers but the more basic elements of any IDE. It drives me nuts when things don't use the same short-cut keys that I'm used to, and while we can always change them to suit our moods, that's not the way I usually like to go. We live in a Windows world and so are used to certain things: F1= Help, Ctrl+C Copy, Ctrl+V = Paste (?!?!), Ctrl+F = Find, etc.

In Visual Studio, I've had several "where is that command" moments and come back going "why did they put that there?" I'm sure there's a good reason that the option to comment code is hidden 2 levels in the Edit menu (under Advanced) but I can't think of one, especially when an option like Create Guid is right on the Tools menu.

Does anyone create Guids more often than block comment?

My "duh" moment yesterday came when I was looking to find all references to a particular variable so I could figure out where a particular value was being set. I hit Ctrl+F and go to the QuickFind.

quickfind

Rather than cycle through it all, there must be an easier way - (something like Code references in VFP) - I choose Find Options - nothing there. I must be getting lazy because I immediately twittered it right before I found it under Find In Files.

Is that option really hidden away? Not quite, you can access it from the QuickFind drop-menu or by hitting Ctrl+Shift+F but it wasn't in my face right there.

But maybe more to the point, applications always seem to find ways of putting in more options and hiding them under menu options. Does Find and Replace really need its own sub-menu when you could likely put all of the choices in one dialog?

I'm all for keeping the basic menus shorter but the menu design choices that were made in Visual Studio just don't seem to make sense. I didn't feel too bad when some of the tweets I got back were about how buried some of the options were, which is what inspired the post. (don't even get me started on SQL Server 2005's menus or usability - I'm so happy I've switched to 2008 which is much better, although still not perfect)

When you design an application, to whom do you talk to ensure the experience is the best one possible for your users? If features that resolve the problem are priority #1, then shouldn't usability to find those features be priority #2?

So on that end, all of this to say, I built a little poll about what you do in development environments ASIDE from coding and designing.



What do you do in development environments?



I could be completely wrong on this - and have no doubt, many VS developers are shaking their heads going "what an idiot" - but no doubt, that was after they went through many of the same "where is this..." moments.

This isn't just a developer issue either - so it's useful to take the question "how do people discover this feature" and apply it to your own application design as well.