Over the past 13 1/2 years, I’ve had the pleasure of working with some really talented developers, architects and designers in what I and many others consider to be one of the very best .NET consulting companies on the east coast: Applied Information Sciences (AIS).
AIS hired me right out of college and moved me down to Maryland from New England back in 1996. During my interview, due to the thick central Massachusetts accent I had at the time, I was asked if I spoke any other languages besides Massachusetts :) The majority of my early projects were VB 4/5/6 applications that did the usual mix of forms over data combined with automating Word/Excel and the like. Way back, I architected a fairly large VB6 application that relied on Microsoft Transaction Server (later COM+) to handle middle tier components. Later on, I did more work in VB, and then in .NET with Windows Forms (VB and C#, several projects), a little ASP.NET and then several years of Silverlight. Prior to joining AIS, I was doing dBase/Foxpro, Borland C++, Delphi 1.0, PowerBuilder 3, and VB3 work for a medical billing company. (oh, and that company way back made me buy all my own (expensive) tools; they said programmers should be like carpenters. heh)
AIS has been great to me, and in return, I’ve done lots of things there that I am very proud of. I’ve managed projects with as many as 11 AIS direct reports (and twice that in client staff semi-reporting to me), architected solutions ranging from desktop apps to multi-headed client and web apps, and got my head firmly into the user experience space. My record is pretty good, and my experience is nicely varied between a huge number of problem domains and the gamut of Microsoft developer technologies and server products.
My main focus in the early to mid 2000s was in Windows Forms. I did enough Windows Forms development that I created my own website (www.irritatedVowel.com which I sorely need to redo) just so I could ensure I had some actual hands-on ASP.NET experience.
Now I get to apply that project and client app dev experience, and my community work, to a new area.
In September 2009, I was offered a dream position: Senior Program Manager on Scott Hanselman’s team, with focus on the Windows Client (WPF, C++/MFC, Windows Forms) properties on MSDN and windowsclient.net. The team I’d be working with would be second to none (Scott, Tim Heuer, Joe Stagner and Jesse Liberty). I’ve known those guys for a while, and I couldn’t possibly think of a team I’d rather work with, or a domain I’d rather work in. So, of course, I accepted it. I start at Microsoft in the middle of October.
Windows Client? I thought you were a Silverlight guy?
Back in 2007, I got into Silverlight because of my love for .NET client solutions and providing the best possible user experience for business applications. The rest of my company was going to web development (with a serious amount of SharePoint work as well). I saw Silverlight as a great way to bring my windows client skills to the web, and create better web apps faster, without forcing sub-par user experience on my customers. My going-in position with new clients, though, was always to recommend WPF for internal apps unless they proved to me they needed something only available in Silverlight, or it was a choice between Silverlight or HTML – nothing else. I’ve produced a bunch of great Silverlight applications over the past couple years, mentored others on how to write for it, and helped a number of companies get off the ground with new SL projects. I’m really proud of what I accomplished.
I still think Silverlight is an absolutely amazing technology. It always had the feel of a new and unexplored frontier. I saw it born and saw it (quickly!) grow up into a real app dev platform. It has brought and continues to bring new people to Microsoft development – people whose only past experience was with html/js and adobe products. I plan to stay engaged in the Silverlight community in the same hobbyist capacity I was before I decided to join Microsoft. Happily, WPF, being a superset, will make it easier for me to keep SL as a hobby without letting skills in either go stale.
Uh huh. But I thought you were a Silverlight guy?
I was, for a bit over two years, but I’ve been doing this for almost 18 years now. I tend to change focus fairly often. What stays consistent though is I am into the technologies that make it possible to create the best user experience with the least effort and most flexibility. Silverlight definitely fits that category – as does WPF and for many applications, Windows Forms. In fact, when I got a glimpse of Silverlight 2 and what it could do, I wrote an article where I mentioned that one of the great side effects of Silverlight 2 will be increased adoption of WPF.
There’s another thing that attracted me to this, though. Silverlight is getting TONs of attention right now. Most user groups get multiple Silverlight talks in a given year (I know, I’ve given a number of them); that’s saying something given the number of potential topics in the windows development space. There are lots of examples for Silverlight online. There are some of the best community folks I know (Tim, Jesse, and now John) who are dedicated 100% to Silverlight.
Windows client, on the other hand, has been a little neglected. Not for lack of love or lack of developers (it’s a huge percentage of all .NET development), but just lack of attention and visibility. There’s a ton of good work being done by windows client developers around the world, and not enough attention being brought to it, and not enough support being given to it and the community around it. I will make an impact in both of those areas.
What about the Silverlight book?
I am absolutely committed to completing what I expect to be the best Silverlight book on the market. My new management knows about the book and there is nothing but encouragement there. Back in July we (my publisher, editor, and I) made some content changes that we’ll announce in the fall, but they are great changes and will result in a world-class Silverlight book. I’m not scaling anything back, and I’m not compromising. Stay tuned.
Keep up with the updates here: http://manning.com/pbrown
So what’s in store?
With the release of Windows 7 and .NET 4, I can’t think of a better time to get back into the Windows Client space. Windows 7 is the most exciting OS in some time. I remember my friend and I going down to the store on our lunch break on release day to get Windows 95, and then barely able to contain ourselves from trying out the install on our work PCs (running Windows for Workgroups 3.11).
My goal over the next year is to show just how exciting Windows client development really is. Unlike web tech, client technology tends to be hidden behind firewalls, and inaccessible to the public. I want to change that, and provide ways for you all to showcase the the awesome apps you are creating every day. If you are creating something cool/useful/fun/interesting, tell me.
I’m also looking into doing some interesting web/desktop hybrid samples using the newer MS releases combined with client tech.
Oh, and when WPF was still known as Avalon, I started a kitchen PC project. I set it aside, and despite seeing some commercial implementations of the same, it may be good to reopen and open source that project.
That’s just the start. Once I get in there and start working with the rest of the teams, who knows what’s in store :)
And, of course, I’m here for you all. Tell me what interests you and then tell me what excites you.