How to Frustrate Me Less…

28 06 2007

Rob Relyea posted a reply to my “What’s Hot and What’s Not” post asking:

We’d love feedback on how to frustrate you less…”

I appreciate Rob asking the question. I feel the WPF team and growing community seem to be doing a pretty good job at reducing the frustration levels. One of my biggest frustrations (which is also common with many new technologies) was succinctly expressed (albeit tongue-in-cheek) by Kevin Moore:

“In Windows Forms, there are two ways to do everything: a good way and a bad way. In WPF, there are ten ways to do everything: two that are amazing, 3 that are good, 1 that is bad, and 4 that suck.”

It’s distinguishing the 2 amazing solutions which is so challenging. So how do we get there?

The first way is by example. Production quality applications, with source code, like Vertigo’s Family.Show are fantastic learning tools. It would be impossible to produce many of these, however I’d love to see a WPF LOB application which focuses on common data entry processes.

Near-production level samples such as Kevin’s Bag-O-Tricks also make up some of the most useful resources I’ve used to reduce frustration.

What I’d love to see is some Open Source applications written in WPF. I am sure these will come with time. The gathering of like-minded people will produce an eco-system of best practices, innovative UI’s, and sample code.

I have had a few issues with MSDN help files. If you navigate to help files like IValueConverter.Convert, the example code seems to be missing. (Disclaimer: I haven’t looked deep into this issue – I’m not sure if it affects other help files). Also, I have a problem with my installed MSDN Library that came with Orcas Beta 1. This problem has been description here, and here; but this issue is understandable – Orcas is beta software.

Other than that, the continued support on the MSDN Forums goes a long way to resolving those niggling problems one may be having.

How else do we find those 2 amazing solutions? I’m not exactly sure at this point..

What has helped me to date?

Blogs, blogs, and more blogs. There is a wealth of information out there in blog-land. Tapping into this source is well worth it.

I’ve always learned by two methods: 1) looking at existing resources with a view to teach it to others; and 2) finding out the ‘Why?’. People (usually bloggers or MSDN forum responders) who have a thorough understanding of the technology often have the answers to ‘Why?’, and consequently have helped me with a number of “Ah Ha!” moments.

These days, I don’t purchase many technical books (although I do have a Safari subscription). However, Adam Nathan’s Windows Presentation Foundation Unleashed and Chris Anderson’s Essential Windows Presentation Foundation are spectacular books; Adam’s book is packed with pragmatic advice to help you on the path to WPF “goodness”; while Chris Anderson gives unique insights into the architectural decisions behind the technology – which is invaluable.

What I hope to do via this blog is add some of my knowledge to the base that is growing on the web. Stay tuned for my first set of articles..  





What’s Hot and What’s Not

28 06 2007

The field of IT is constantly changing. It takes a great deal of time outside of work to stay up with current technology. At various stages throughout my career, I’ve had to bet on what technologies will become “the next big thing”. Some successful guesses have been XML, .NET, and Web Services (in hindsight, these don’t seem like technologies that could have failed, but focusing on XML was a bit out-there, and .NET was a huge gamble). Some of my wrong guesses have been Linux (back in 1996 the market just wasn’t ready); low-level unix network programming; and to a certain extent WinForms1. I thought it might be interesting to write down what technologies I am currently focusing my learning efforts on. Then, sometime in the future, it will be interesting to see how my bets have turned out.

  ThumbsUp WPF
    I just love using WPF. It makes developing a pleasure again. Granted, it can still be frustrating; but it’s usually logically frustrating.
  ThumbsUp XAML
    XAML looks like a great investment of my time. Not only does it power WPF, it is also used for Silverlight, WF, and various other technologies.
    WiX
    WiX is an open source installer toolkit. This is a much better way to build installation packages compared to the tool included with Visual Studio.
    ClickOnce
    There is a lot more to ClickOnce than meets the eye. This technology used to deploy a WPF app, with a WiX installation program for the server-side is a great, maintainable deployment model.
  ThumbsUp Silverlight
    The technology to reboot the web“. There is a lot of hype around Silverlight. I am only scratching the surface, but I’m hoping it will live up to my already lofty expectations.
  ThumbsDown ASP.NET Ajax
    I’m amazed at what people are doing with javascript. However, this is getting less focus from me a this point.
  ThumbsDown CSS
    Likewise, CSS is a technology I am passionate about. But, I’m focusing more on other technologies at the moment.
  ThumbsDown WinForms
    While I’m a little disenchanted with WinForms, it is still currently my greatest area of expertise. I will continue to spend time keeping right up-to-date on advancements; especially in the CAB arena (we use the CAB in projects at work).
  ThumbsUp WCF
    I made a heavy investment into Web Services. I haven’t had the opportunity to use WCF much as yet; this is something that is going to change.

So, I wonder if I’m betting on the right things now? I could probably change focus and move to a web-orientated technology-set, but for some reason I just love developing high quality windows applications. WPF is my technology of choice.

1 – WinForms has put food on the table for a number of years now, so it wasn’t a bad bet; it’s just that the web is going through its 2.0 bubble. It will be interesting to see how things pan out.








Follow

Get every new post delivered to your Inbox.