Monthly Archives: October 2009

WPF, Silverlight and more

07 Oct 2009
by mjeaton, posted in Uncategorized   |  3 Comments

As many of you know, I love the desktop and have been very vocal against web development over the last couple years. There was a time when I said, “I hate the web” and “I will not do any more web development”. I have changed my tune slightly to, “I will NOT do any more webforms work”. ;-) I’ve come to the realization that webforms (for the most part) is what turned me off to doing web development. The last couple webforms projects I worked on involved lots of user controls created dynamically at run-time, so I was definitely in webforms page lifecycle hell.

Most of the past 2 years has been spent working exclusively on desktop applications. As an old-school VB Classic and Delphi developer, this is always where I’ve felt most at home. My projects recently have either been WPF or WinForms, although the WinForms work has slowed way down. I continue to do WPF and love every freakin’ second of it.

A week or so before the Ann Arbor Give Camp in July, I started doing some maintenance / bug fixing on a pretty cool Silverlight-based dashboard application for a client in Chicago. I’ve dabbled in Silverlight before, but this was my first real experience with a larger, production application. While Silverlight isn’t exactly web, it isn’t exactly desktop either. :-) Right off the bat, I jumped in an replaced one of the main screens with a better design and then spent a bunch of time refactoring the WCF service calls to increase performance of the application. Because of my work on that project, my client asked if I’d be willing to spend 3 weeks (which quickly changed to 4 weeks) in Chicago working with a team to go from “whiteboard to working prototype” for one of his clients. When he first mentioned it I was a bit apprehensive, but once he explained how all my expenses would be picked up, I said, “hell yea!” :-)

While I can’t go into details on the project itself, I will say it’s all Silverlight and it will again be a dashboard-type application. The really cool thing is that my client is a very “out of the box” thinker. He won’t accept statements like, “because it’s how we’ve always done it” and he forces people to consider new ways of doing things. If you suggest (which I did NOT by the way) that information should be displayed in a grid with navigation buttons, he will force you to open your mind and really think about other ways to organize and display information. I’m working very closely with him, a great UX / designer, an information architect and two representatives from the end client. It’s been an interesting experience so far because I am the farthest thing from a creative person, so a lot of what we talk about (and put on the whiteboard) scares the hell out of me. :-)

We started the prototype using Sketchflow. Sketchflow is kinda cool, but I think it makes it too easy to say, “ooh, look, it works. Let’s ship it.”  I think for early prototypes, I still prefer Balsamiq Mockups.  Anyway, while the IA continues to use Sketchflow to mock things up, I tend to flip between Blend and Visual Studio a lot, only because I can’t handle the code editor that’s inside Blend 3. The workflow between us all has been pretty smooth, with only a few bumps along the way.

I was in Chicago for 3 days last week (before my crazy-ass trip to Richmond) and honestly, I was pretty amazed by what we produced in a very short period of time. I’m now sitting on the train (well, I was when I originally wrote this post – now I’m sitting in my hotel room), heading to my second week working in Chicago and I’m really looking forward to diving right back in. A lot of my friends know that I can get pretty insecure about my dev skills, but I’m not allowing myself the luxury of saying, “I can’t” or “I don’t know how to do that”. I was brought in to produce results and by God, that’s what I’m gonna do. :-) The fact is, I have access to a metric butt-load of talent on twitter, my IM list and my phone. If I get stuck on a Silverlight issue, it’ll only be for a short time.

The toughest part about this project is being away from my family. I’ve never traveled as much as I have this year, and I have NEVER worked onsite for an extended period like this. Every night my family and I fire up our web cams and chat for 20-30 minutes before the kids go to bed. It’s tough on all of us, but the short-term pain will be worth the long-term gain.

Richmond Code Camp wrap-up

06 Oct 2009
by mjeaton, posted in Uncategorized   |  Comments Off

As I mentioned in a previous post, Bender and I made the insane drive to Richmond for the Code Camp on October 3rd. We both had two sessions on the schedule; he spoke on REST and WCF and I spoke on Castle ActiveRecord and Software Estimation.

I’ve attached the code for my ActiveRecord talk to this post. The archive contains everything you need to run the demo I showed at the camp (and at previous camps). I still enjoy giving that talk and I absolutely love seeing the “AHA!” moments when people realize that writing all the ADO.NET plumbing code is pointless.

My estimation talk went well, although I feel like there are still some tweaks I could make to the content. I’m giving that particular talk at a couple upcoming events: The Great Lakes Software Excellence Conference in Grand Rapids and the Great Lakes .NET Users Group in Southfield, both in November.

Overall, the Richmond Code Camp was one of the best run events I’ve attended. Registration was smooth, I loved how they had the “wall of sessions” with abstracts, speaker bios and pictures of each speaker! They also had these outside each room which made it very easy for attendees to get more information before walking into a session. Kevin Hazzard, Justin Etheredge and the rest of the planners did an outstanding job putting this event on. If my schedule works out, I *will* be back. :-)

My crazy life

03 Oct 2009
by mjeaton, posted in Uncategorized   |  6 Comments

Wow…my last post was on August 18th!

On September 27th, I took the train to Chicago so I could start a short-term (1-month) Silverlight gig in Chicago on Monday. After 3 intense days with the project team, I came back home Wednesday night so I could see my family before heading out for the Richmond Code Camp. I left home around 7am Friday morning, stopped in Columbus, OH around 11am to pick up James Bender and then after another 7 1/2 hours, we arrived at our hotel in Richmond. I’m currently sitting in the final session at the Camp after presenting two successful sessions (ActiveRecord and Software Estimation) earlier in the day. This has been a great event — Kevin and crew have done an outstanding job.

We’re going to leave early Sunday morning for the long-ass drive back to Columbus and then on to Michigan. I’ll be catching the early train back to Chicago Monday morning so I can spend the entire week in the city. I’ll be home Friday night for 2 days, then back, to Chicago for 4 days. I’ll be heading to Cincinnati on October 15th/16th 16th/17th (with my family) for the MVC.NET Firestarter event. I’m looking forward to the event because I really haven’t done any web development for close to two years and I think this will be a great re-introduction. We’ll head back home so I can catch the train back to Chicago on the 17th 18th. The final day of the gig is the 23rd. Did I mention my birthday is on the 21st? :-(

Anyway, life has been crazy. I’m already looking forward to getting back to my normal schedule. :-)

(Updated at 10:01pm on 10/2/2009 – updated dates after Matt nicely corrected me in the comments) :-)