Mark Boulter - talking about Smart Clients and Windows Forms

Sign in to queue

Description

Mark Boulter is a technical lead on the .NET team. Windows Forms. Client. Translation: he knows more about Windows Forms and how .NET client apps work than almost anyone else.

We spent an hour talking with him about client-development trends. Here's the first part of the interview.

Embed

Download

Download this episode

The Discussion

  • User profile image
    dantheman82
    There are some real business contexts where something very similar to Java applets are very useful, if not necessary.   Sometimes, we want the richness of a Winforms app inside a website. 

    Preferably, something that works with Mono, and displays in IE and has a standard format which could be easily converted into Firefox XUL and even Java applets.   This is the way business plays today, but this benefits Microsoft's .NET push in the long run.

    I'd welcome your comments on this...
  • User profile image
    androidi

    Why there still is big black borders (6 cm) around the picture? I thought this was fixed long ago? Or was this video recorded long ago.

    Also it says video res is 320x180 pixels. No wonder it is so blocky.

  • User profile image
    rhm
    First of all, it's nice to have some coverage of Windows Forms on channel9. You know it's a technology we can all use now and a technology I make my living from. It makes a change from all the XAML/Avalon hype.

    Secondly, I'm interested that Mark claims VB experience. My observation as someone who used to earn a living hacking VB6 to do all the things it wasn't designed for, was how tedious adding events is in the VS.NET forms designer compared to VB6.

    In VB6 you'd double-click on the control and it would take you to the default event handler function for that control in the text editor. Then you use the righthand dropdown at the top of the editor to select or add new event handlers for that control and use the lefthand dropdown to select other controls.

    In VS.NET you double-click on the control to add or goto the default event handler in the code-view, but that's where the similarity seems to end. If you want to add another event handler you have to go to the properties panel, click on the events button, find the event you want, double-click on that and maybe change the name if you want to, etc. More annoying than that though is if you want to get rid of an event handler, in VB6 you could just delete it from the code. In VS.NET you have to remember to go back to the properties panel and remove the name of the event there otherwise the code won't compile.  The dropdowns at the top of the code-view only allow you to select event handlers already added and all the variable, event handlers and other functions from the whole form are listed in the righthand dropdown. The left dropdown is redundant unless you decide to jam two classes in the same file.

    While I'm not an MFC user, I'm guessing that the VS.NET forms designer was more influenced by the design of the MFC tools in VC++6 than by VB6. In VC++6 the tools are a mere convenience to save you editing the wizard-generated MFC code by hand. In VB6 the forms desginer and code editors are completely oriented around the business of adding and finding event handlers for controls and any code generation is done at compile time and is completely hidden from the developer. These are two different philosophies that have lead to only superficially similar tools. I think if you ask any experienced VB developer that moved to VS.NET they'd tell you that is is less productive when it comes to editing forms code.
  • User profile image
    scobleizer
    I'm not sure why the video res problem is happening. I'm trying to figure that out. Sorry about that. The folks who do my encoding over in studios say my camera is messing up. Yikes.
  • User profile image
    Sven Groot
    rhm wrote:
    In VB6 you'd double-click on the control and it would take you to the default event handler function for that control in the text editor. Then you use the righthand dropdown at the top of the editor to select or add new event handlers for that control and use the lefthand dropdown to select other controls.

    That's still exactly how it works in VS.NET, if you use VB.NET. Not in C# though, I don't know why. I agree the VB way is much better.
  • User profile image
    rhm
    oops, obviously I've never used VB.NET Smiley  Didn't see the point when I found out it was a whole new language and figured I might as well learn C#.
  • User profile image
    Green_Ears
    I want Avalon in .NET thin-client apps... Can you imagine what the web would be like if websites were replaced with .NET applications THAT ARE MULTIPLATFORM?! It would kick * and I would use Microsoft's programming languages any day (were my sites usable on other OSes than MS Windows)!!!

    MS has an opportunity to contribute a great application framework that covers web, thin-client and rich-client applications! You could develop apps that would run and look great on any platform and be easier to write and maintain... Ah well, a coder can dream, no?

    [This post was written on a Fedora Core 3 Linux box.]
  • User profile image
    staceyw
    Love Mark, but he needs to talk a bit louder at times.
  • User profile image
    dotnetjunkie
    VB.NET has so many subtle but nice advantages over C# IMO.

    I can work with both, but definitely prefer VB.NET over C# if I have the choice!
  • User profile image
    pacelvi
    The content was great. As a Windows Forms developer (C#) it's nice to see a few bones thrown this way.

    Now... can someone please shove a microphone in his mouth... these little docu's aren't up for Oscars, the dramatic whisper is overdone Smiley
  • User profile image
    pacelvi
    rhm wrote:


    Secondly, I'm interested that Mark claims VB experience. My observation as someone who used to earn a living hacking VB6 to do all the things it wasn't designed for, was how tedious adding events is in the VS.NET forms designer compared to VB6.

    In VB6 you'd double-click on the control and it would take you to the default event handler function for that control in the text editor. Then you use the righthand dropdown at the top of the editor to select or add new event handlers for that control and use the lefthand dropdown to select other controls.

    (snip)

    Well.. what can one say?   VB.NET is not based on the Vb Runtime anymore, it's based on BCL and the CLS. 

    I had the hardest time developing with VB because it hid everything... things that I was expecting to find..and not finding them was disorienting.

    The event model in VB.Net , indeed, all the languages is via delegates.

    It's good that MS didn't completely hide this fact from VB users.

    I guess that's why c# was very natural for me.  It's amount of functional abstraction is a lot less than VBs, it's easier to really comprehend what the system is doing, which in turns makes me a better developer in the enviroment.
  • User profile image
    DebugThis
    Love the Guy, he is very knowledgeable, but I could not understand half of what he was saying at times.  It seems like he runs out of voice volume at the most important parts of the sentence.  This is a time where a transcript would have been a great thing. I will try to listen again later, maybe it is just too late in the day.  I will have to crank up the volume on my speakers.  Nevertheless, great interview once again, thanks Channel 9.
  • User profile image
    androidi
    pacelvi wrote:
    I guess that's why c# was very natural for me.  It's amount of functional abstraction is a lot less than VBs, it's easier to really comprehend what the system is doing, which in turns makes me a better developer in the enviroment.


    While I like the abstraction, its very often that after some research I find that some feature that's supported on win32 is missing and when trying to interop manually you really need to start looking with reflector etc whats happening under the hood.

    I really hope that in LH this would change a bit, so that the need for interop would drop a lot.
  • User profile image
    Chris​Stepaniuk

    What's the name of that photo application that is written in managed code?

  • User profile image
    mgweeks
    I don't remember what Mark said specifically but I believe Photo Story 3 is entirely written in managed code. Don't quote me though.
  • User profile image
    axelriet

    You need to process the audio (compress and normalize), very unconfortable to listen to...

    Nice to have interviews, though!

Add Your 2 Cents