Logo
March 1, 2007

Windows Vista User Experience Guidelines

Filed under Development, Technology, Software at 11:52 pm  

For those that missed it (like me), the Windows Vista User Experience Guidelines has been updated with some additional content. This update add content in the following areas:

These guidelines are crucial to ensure the most consistent user experience possible. Though many don’t, this is a document that all developers should read. I firmly believe that consistency is the most important single factor in design, and following an established style such as this is a great way to ensure that a UI is as consistent as possible.

If you’d like some background reading, the XP version is still available.

February 20, 2007

.NET Reflector v5 Released

Filed under Development, Technology, Software at 7:25 pm  

The great Lutz Roeder has released a new version of the .NET Reflector. From what I’ve seen; this version is extremely nice. This has long been an required tool of any serious developer. With this update Reflector has reinforced its position in the list of tools you just can’t live without.

Scott Hanselman provides a great review; check it out for the details on what’s new.

February 10, 2007

I Love My Job

Filed under Business of Software, Development, Technology at 1:08 am  

I love what I do, and I work with a great team. While it’s still far from perfect; I can say that I do love my job. For the last couple weeks though, I’ve had to remind myself of this several times. I’m sure we’ve all done it, in this industry it’s hard to avoid. You read an email or receive a phone call and repeat the mantra “I love my job, I love my job, I love my job.”

Unreasonable clients, managers that just don’t understand; there are so many reasons, so many triggers. While reciting this mantra often invokes laughter from those nearby, some thought should be given anytime it’s used. More often than not, used as a joke, but a joke masking true problems.

Some issues are unavoidable, some no amount a planning or preparation will help with; for those I can offer no advice. For those, even a perfect environment won’t help. It’s the others I care about, those issues that shouldn’t be, the deadlines that should never have been set, and those whose sole cause is lack of planning or forethought. Those are the ones that tire me; those are the ones I hate.

When I run into one of these situations, it makes me wish this was closer to reality than a dream of how we want things to be. However, why shouldn’t it be reality? Why do we allow this to happen time and time again?

Wait, read that last sentence again. Why do we allow, why do we allow? Yes, as developers we allow this to happen, and often encourage it. Late nights, working weekends, 90-hour weeks. Those could all be prevented, and could be reduced significantly should we stand up. If we do not take a stand, we encourage those that push us too far by doing just what they ask. Why should they stop if they can get a single developer to do the work of two?

A Solution?

So, what are we to do? Taking a page from Rob, here is my modest proposal. A few simple rules for both developers and managers to keep in mind. While rules such as these can never be enforced, keeping these things in mind could make life more pleasant for everybody.

Managers…

  • shall keep requests for after hours work to a minimum. While there are “crunch times” on occasion, these should be minimal.
  • shall seek input from at least one developer before estimating a project. An estimate should not be created without consulting those that will be working on it, as they should have the most realistic idea of how long it will take to implement.
  • shall not ask developers to implement a hack or kludgey solution to meet an unreasonable deadline or request; especially if it will compromise stability or maintainability.
  • shall understand that developers are often passionate about their work, and the quality of the software they produce. Asking a professional to implement a solution based on a bad design, or inferior technologies will often be viewed as an insult, especially when this is done to meet an unreasonable goal.
  • shall shield developers from unnecessary distractions and meetings. Distractions can destroy productivity.
  • shall not ask developers to do the job of a Support technician. Tasks such as installing or configuring third-party software should not be given to a developer.
  • shall filter all requests and put policies in place to ensure that requests do not go directly to a developer.
  • shall give developers the freedom and opportunity to test different development methodologies when the schedule allows.

Developers…

  • shall make every reasonable effort to complete a task, including working long hours (so long as the hours and frequency are reasonable).
  • shall not complain about boring or undesirable tasks.
  • shall alert management when an issue arises that may impact a deadline, as soon as possible.
  • shall build the best software they are able to.
  • shall provide accurate estimates when asked.
  • shall be available as much as possible should an emergency arise.
  • shall not over-build, or over architect just for the sake of doing so.
  • shall try to understand the pressures and forces at play when communicating with management.
  • shall make an effort to improve development methods and processes.

If you agree with this last, take it to your manager and talk about it; if not, build your own and talk about it. Either way, the idea is to talk about the issues and try to find ways to get everybody on the same page. If we make no effort to improve things, then we are just as much a part of the problem as anyone else.

If you don’t like things, complain; but complaining to a friend or co-worker won’t help, you need to let management know that there are problems and that you have some ideas to fix them.

January 25, 2007

ASP.NET AJAX

Filed under Development, Software at 9:33 pm  

For those that have been looking forward to seeing the final result of Microsoft’s attempt at AJAX, your wait is over. ASP.NET AJAX 1.0 has been released.

I’ve not had time to test this yet, but it sure looks like it has promise. I’ll be playing with this one soon, I’ve got a couple new projects this might be perfect for.

Xceed DataGrid for WPF Released - Free

Filed under Development, Software at 9:25 pm  

Xceed has released version 1.0 of their new WPF based DataGrid, and best of all, made it free! If you’ve missed the news, you might want to check this out.

January 20, 2007

Visual Studio PowerToy Pack Installer

Filed under Development, Technology, Software at 9:21 pm  

An update to the Visual Studio PowerToy Pack Installer has just been announced. This handy application wraps up many of the PowerToys so that they can be installed from one easy to use UI. With so many of these Power Toys available, this installer is great to have; otherwise finding and installing them can be a slow and painful experience.

If you’re a power user, or fancy yourself a power tweaker, this one might just be for you.

January 12, 2007

Crash Course in WPF

Filed under Development, Technology at 12:28 am  

Looking to get a good start in the latest Microsoft technology? Rob Eisenberg has written what appears to be a rather interesting, and quite useful, crash course in WPF. If you’re looking for a quick way to get up to speed, this looks like a good place to start.

January 10, 2007

IE Developer Toolbar

Filed under Development, Technology, Software at 9:17 pm  

For those that do any web development, you’ll be interested to know that the IE Team has released beta 3 of the IE Developer Toolbar. From what I’ve seen, this looks like an impressive release. This is well worth the download and has saved me a fair bit of time in the past.

December 30, 2006

IIf() May Get a Dose of Legitimacy

Filed under Development, Software at 10:52 pm  

Paul Vick announced a possible change for VB 9.0, this change would give the IIF method the legitimacy it has long deserved. The issue with IIf is that it's not a short-circuit operator, which can severely limits its usefulness. Take the following example, that will throw an exception if obj is Nothing:

IIf(obj IsNot Nothing, obj.Property1, String.Empty) 

Since IIf() is just a normal method, all parameters will be evaluated, regardless of weather obj is Nothing. This change would make IIf a true part of the language, a true ternary operator, instead of just another method.

IIf is largely avoided due to performance issues, and its limited usefulness for the reason above. Now that IIf may function as a true operator (though still wrapped in the cloak of a method), it will be a truly useful part of the language, one that I've long wished for. I've always been a fan of IIf, it'll be nice to be able to use it again, without the overheard and issues that has long went with its use.

Mr. Vick is still soliciting comments on this change, so now is the time to make your opinion known

December 23, 2006

Assertiveness for Software Developers

Filed under Development, Technology at 9:59 pm  

Here is a quick read from Jeff Atwood that all developers should read: Assertiveness for Software Developers. Jeff brings up a great point, developers aren't assertive enough; and that ends up biting us later (I know it's bitten me a few times). 

This is well worth reading, and well worth some serious thought for next time your manager hands you an impossible deadline.

Next Page »
delegate-insomnia