After a more than pleasant and straightforward registration, the organization was kind enough to allow me change the session I was booked.
I initially had registered for "Pragmatic Application Design" with Williams R Vaughn and it was a very suggestive title, but when the contents were made online it was a turn off. It was mainly about SQL and reports. Don't get me wrong I do not hate SQL (not as much as I hate other things) but, putting it mildly, it' not my major are of interest. The next in my list was "WPF at Work in the Real World" with Kevin McNeish.
I did not know any of those gentlemen, so I was left with a salomonical decision: should I attend a whole day session on a subject I am not interested so much, or should go for the one I have no idea what's about? Easy one, I will go for the latter. Besides, everyone talks so much about Silverlight, that I felt the need to meet the older sister first ;-)
So I attended a session that promises to reproduce the iPhone user interface using Windows Presentation Foundation. Sweet.
Kevin did a good job explaining a lot of concepts and showing how the toolset worked, as well as pointing tricks that might save time for the poor souls (like me) that face such a technology for the first time. It was not a coding session but I was able to code my way through the process for most of the morning (in the afternoon, faster pace, ignorance and after-lunch dizziness made their part). At the end of the session we had a pretty neat user interface for a calculator, that mimicked pretty well how it looks in a real device. And showed the downsides too.
Wow, one day to create a calculator? And thanks God the guy knew his stuff.
That's one of the points: it takes a lot of effort even making simple things. The neat and jaw-dropping examples that we are shown mean a lot (and when I say a lot it's a lot) of effort. As it's said: "it's painful being beautiful" (or maybe I have just made it up)
Another point it's that it IS a steep learning curve for the Winforms developer. I am not one myself, but I can grok something ugly and not-so-user-friendly within a reasonable amount of time an caffeine. I would be completely lost if I had to do it with WPF. A lot of new concepts and tools.
Yeah, we come to the toolset.
Kevin's right when he says: "If you are a WPF developer, you are a Blend developer that uses Visual Studio when you are forced to use it".
WPF is yet-another-Microsoft-Version-One-Product. And that hits hard in the toolset. It's so far behind the technology and they made so many questionable decisions from the developer point of view, that it lefts you thinking: "so this is what happens when (possibly) talented guys are put into work in isolation with a fixed, coming-from-marketing, deadline, uh?"
Microsoft Expression Blend ("Blend" from now on) is so different from Visual Studio that it takes long to figure things out. It's neat, surprisingly fast and smooth and it has some ideas that strikes you like: "this is the way it should have been done in Visual Studio".
But for me, the continuous jumping back and forth Visual Studio, that makes both tools reload the elements (or project) every now and then, it's more than a annoyance. It's a serious concern regarding how it would behave the tools with a medium sized project with lots of forms (windows) and controls (elements).
Even the occasional manual edition of Xaml files or the lack of Intellisense in Blend are minor. The real deal breaker for any serious work with this technology, in my opinion, it's the lack of integration of source control within Blend. And the nightmare it might become source control in Visual Studio with this schema. I do not know it this was the product Oren complained in the MVP Conference, but it may well be. Microsoft should take source control seriously (I know, I know, they didn't in the past with Source Safe, but they are getting better).
And do not come with marketing b#llsh%t that Blend is targeted for designers, therefore source control is not that important. That might put designers in a very delicate position and I know that it might not be true. Besides, I see a lot of developers with designer hat using this tool (and only Heavens know what hideous creatures might come from that abuse given the lack of taste of many fellow developers, including myself).
Please, Microsoft, listen to the ones using the tools. They bring dinner to your table. Make a unified tool. A better, integrated, full blown tool. Or another version of Visual Studio (for UI Designers). But put the power in the hands that may misuse it, please.
Just in case someone doesn't.