Wednesday, September 26, 2012

Task Conqueror Launched

As you may have read in my previous posts, I've been working on a small WPF task management application. Version 1.0.0 was just released, and you can view more details at http://taskconqueror.harner.us. Task Conqueror is a goal-oriented task management application that will help you keep an eye on your goals as you compile your daily task list.

It's been a fun project, and a great learning experience for me. Although I have spent more hours at work with WPF than I did on this project, there was a lot to be learned from building my own application from the ground up. Admittedly, I didn't write everything from scratch. The framework is based on the example given in Josh Smith's article, WPF Apps With The Model-View-ViewModel Design Pattern. If you're not familiar with MVVM, I would definitely recommend that you give it a read.

Saturday, September 8, 2012

Displaying Context Sensitive Help With WPF

I've been working on a small WPF task management app and decided to write a help file for it using HTML Help Workshop. After completing the help file, I wanted to tie my application into the CHM file, displaying the topic relevant for the current window. Strangely, I was not able to find a lot of good examples that tied this approach all together. Apparently, this is not something that people commonly do. Anyway, below is an example of how to pull it off.

Help.ShowHelp(null, "help.chm", "html/active_tasks/search.htm");
The part that was tripping me up was that the third parameter, which is named "keyword", is actually a URL to the page within your help file that you want to display. There's an MSDN article that describes it a little further, although the code example does not make it extremely obvious. Here's the article that finally got me over the hump.

Monday, September 3, 2012

Large Project Mentality

As a software developer, most of the time that I spend working on projects is spent on projects that take months to years to completed. When a project of this size is completed, it leaves me with a great feeling of stisfaction. However, it can be tough when you're bogged down in the middle of such a large project with completion far out on the horizon.

At such a time, it's really nice to take a break with a one day mini project. Not only does such a project reward a person with the satisfaction of a job successfully completed, but it can also provide a much needed change of pace. While a bug fix on a legacy system can serve the purpose, I find it refreshing to do a small project with my hands, such as a carpentry project. Combining the reward of completion with exposure to a different discipline can even serve to boost one's creativity for other projects being worked.

Interestingly, I found out via discussion that some people rarely, if ever, tackle a lengthy project. My wife works in a field where the end product is generally produced in minutes or hours at the most. She will even admit that she has had a tough time completing lengthy projects outside of work, whereas I am constantly taking them on. It makes me wonder if working in a field that deals with lengthy projects makes a person predisposed toward tackling long projects in their spare time.

Sunday, September 2, 2012

Visual Studio 2012 - Three New Features For Everyday Usage

Last week my employer started using Visual Studio 2012. For the most part, I like what I've seen. Although I haven't used it enough to get an idea of all its idiosyncrasies, I have noticed a few new features that will be useful in everyday situations.

One big new feature is the ability to open Visual Studio 2010 solutions without going through a conversion process. In previous versions, you would be forced to convert a solution, meaning that it could no longer be opened in an even earlier version. This scenario would force a whole team to upgrade to the new version of Visual Studio. With 2012, one or two developers can give the new version a shot, while the rest of the team continues to work with Visual Studio 2010.

Another nice new feature is the ability to have multiple tabs on another window on a second monitor. Being able to pull a tab of code over to a second window was a great feature in Visual Studio 2010, making it easy to do a side by side comparison of code. Visual Studio 2012 expands on this by allowing multiple tabs in a second window. This can be useful if you want to explore two separate areas of an application while organizing the source files in separate windows.

A third new feature resolves a previous pet peeve of mine. In Visual Studio 2010, right-clicking on a tab would reveal a context menu that included options for closing the current tab or all other tabs. Strangely, no option existed on the menu to close all tabs, although this was something I often wanted to do. It was nice to see a context menu item added in Visual Studio 2012 to close all tabs.