Welcome to MSDN Blogs Sign in | Join | Help

"Vista Bridge" and You

Well ... here we are - a really, really long time since my last entry. The pestering from folks to actually update my blog with useful and current information has become overwhelming for me, so I've finally caved and am now typing away. I'm actually grateful for the pestering, however - I've had lots of cool stuff to share for a number of months now, but just couldn't seem to, um, get around to it.

The main bit of "cool stuff" is the project into which I've been pouring much of my time - a sample library called "Vista Bridge". I've been the main developer on this project since its inception, and the somewhat cutesy name was my brilliant idea :), but there are now several other MS folks who have been helping it roll along. For that help, big kudos go to Catherine Heller for getting the whole thing rolling, Ernie Booth for some great sample material, and most recently Yves Dolce, for covering some new areas that I haven't had the time to hit yet. And though I expect the list to grow over the next couple months as more MS folks contribute.

Vista Bridge is a sample - or set of samples - that ships with the Windows SDK, primarily designed to provide a starting point for managed code developers wishing to make use of the HUGE numbers of cool new Vista APIs. Each targeted API is wrapped in a totally .NET-friendly set of managed wrappers, with a rough goal of exposing anywhere from 50% to 100% of the native functionality provided by Vista. In a number of cases, we even provide a fair bit of value in the managed library above and beyond the native API, in an effort to make it fit with .NET library design requirements or to leverage additional funcionality of the rest of the .NET Framework. Task Dialog is a good example of this additional functionality, which allows you to  ... but I'm getting ahead of myself; more of the specifics in another post. 

I've had a number of folks ask how this "sample library" is to be used, as it covers much native API surface area that isn't exposed in the "official" managed frameworks. The answer is fairly convoluted, mostly because there are several different ways you can use samples in general, and this set of samples in particular. "Sample library" can be read to mean an example of a .NET framework library that happens to expose Vista functionality - and this is an accurate description, as the library can be used as-is or with slight modification, just as a framework library would be. Or it could mean a library - a collection - of individual samples, to be used for study, inspiration, or tactical copy/paste into your own code. However, the operative word in both interpretations is "sample" - Vista Bridge is sample code, and therefore has all the legal disclaimers of any other sample code from Microsoft. Summarizing that legalese is generally frowned upon, as I'm a developer and not a lawyer and therefore almost certainly bound to screw it up, BUT I think if you use commonsense when you make use of this (or any other) sample code, you'll be golden.

Okay, glad that's out of the way ... :) Next post: what the heck is covered in Vista Bridge, and what is planned for the future?

 

Posted by JTChris | 3 Comments

Informal Poll for Developers: What Longhorn SDK samples do you want see?

If you're a developer who has had a chance (or would like to now take the opportunity - see http://msdn.microsoft.com/longhorn/default.aspx for a great starting point) to play around with the various APIs in Longhorn, this post is for you ...

A big part of my new SDE gig on the Longhorn SDK is creating new WinFX samples. The very first part of that work, as you could guess - and as you'd hope! - is to identify the areas where we'll get the biggest bang for our dev-time buck, and a key part of THAT prioritization effort is talking to you folks. The last thing we want to do is give you samples you don't need and leave out the ones you do need.

For this push, we are focusing on what I vaguely term "medium-sized samples" - meaning not code snippets that show you how to use one or two APIs, and emphatically not "uber-samples" that take every WinFX technology and use it in a single monolithic app.

The "small" and "large" samples have their place, but for this new push we're focusing on the middle road. The goal of these samples is to indeed touch on multiple technology areas, but keep the size down such that the educational value is still high. You should be able to take a chunk of code, make sense of what it's doing, and reuse it if you'd like, without having to grok a large and sprawling codebase that doesn't necessarily have anything to do with the area that interests you at that moment.

With that brief bit of background, here are the questions:

 1. In which areas of Longhorn and WinFX (including "Avalon", "Indigo", WinFS, etc.) would you like to see more samples?
 2. Which areas of WinFX are, in your experience, already well-covered by samples?
 3. Are there any cross-technology, "stitching some areas together" samples that you'd like to see?

Any input appreciated here - and be sure to give me fun ideas. It makes my job ... well, more fun, plus it makes the samples a lot easier to digest for customers as well. :)

Posted by JTChris | 0 Comments

Windows Forms Wanderings, Indeed ...

My big plans for my blog amounted to ... well, not quite naught but darn close.

And now it's too late, because my "Windows Forms Wanderings" ended up wandering off to another position at Microsoft. I'm now a developer on the Longhorn SDK team, so no more ultra-fun layout games. Oh well, it was a good idea.

More soon. No, really - I mean it this time.

Posted by JTChris | 0 Comments

New Bits!

New bits!  http://lab.msdn.microsoft.com/vs2005/downloads/default.aspx

I haven't installed it yet - we build directly out of our source trees on our dev boxes, and there can be quite a delta between the source trees and branches used to build these sorts of community previews - but there should be lots and lots of bug fixes in this drop. Install and enjoy.

 

Posted by JTChris | 1 Comments

Name That Layout: In the beginning ...

Windows Forms 2.0 contains a set of new layout features that are a blast to use - but first-time users can be easily overwhelmed by the options, and even developers experienced with Windows Forms may need a helping hand to figure out how to get the most of the new features. So, as a way of demonstrating how, when, and why the features should be used, I thought it'd be fun - well, okay, at least interesting and even moderately compelling - to make a game out of it. So I bring you ...

Name That Layout!

Sure to shock and amuse, excite and confuse. Bring your family, bring your friends.

The Rules

Every so often I'll be posting a new "Name That Layout" scenario. Most will consist of a set of screenshots of different types of Windows Forms UI, along with notes on how the UI should behave.  The challenge for you, the contestant, will be to respond and say how you think you'd achieve a UI layout of that type - that looks and acts like the screenshots provided.

The catch: I'll always include a specific "challenge", in the form of "I can layout that UI with ..." and then some bold but almost always true assertion of how it could be achieved in Windows Forms. Anybody can write gobs of code and cobble together UI that looks and acts pretty much any old way, but we're here to learn the Right and Blessed Way of achieving various kinds of simple, advanced, and cool Windows Forms UI.

In place of further explanation, here's an example ...

 


CHALLENGE #1:  In the beginning ...


The Look:

Fig. A

Fig. B

The Behavior:

When the application starts, it looks like Fig. A. The form can be resized by the user to look like Fig. B. It cannot be made to be smaller than Fig. A or larger than Fig. B.

The Challenge:

I can name that layout ... without using any Whidbey/Windows Forms 2.0 features whatsoever.


Simple rules, simple game, and simple first problem ... any takers, or do I have to sit here and talk to myself?

Posted by JTChris | 13 Comments

Windows Forms Layout in Dr. Dobb's Journal

While thumbing through the new issue of Dr. Dobb's Journal at breakfast today, lo' and behold but what should I see? A Windows Forms layout article - specifically one on creating your own layout manager!

The author - Richard Grimes - takes you through a good summary of the basics of the layout functionality present in the currently shipping version of Windows Forms. He touches on Docking and Anchoring, Layout events, and few other less-than-highly-visible areas. He then goes on to create a new managed layout container, called a FlowPanel.

Now for those of you in the audience who have been paying attention to developments in Visual Studio.NET 2005 aka Whidbey, you'll note that we'll be shipping something very similar in Windows Forms 2.0, called the FlowLayoutPanel. Though our panel is obviously more feature-rich than Grimes' sample, he provides a small, crisp subset that is easy to understand and well-worth the reading.

And incidentally, it's always gratifying to see articles like this. The simple fact that this article a) exists, and b) was published attests to the fact that folks actually want this functionality ... which means we made the right call in investing in it for the next version.

Check out the article here: http://www.ddj.com/articles/2004/0411/

Posted by JTChris | 0 Comments

Wonderous Windows Forms

Howdy there ...

My name is Jeff Chrisope, and I am one of the hordes of Microsoft Program Managers working on the Whidbey (aka Visual Studio 2005) release of Windows Forms. Notice that I didn't say I work on the "Windows Forms team", because that's oh-so v1.0. For reasons both complicated and boring, the team itself is called the ".NET Client team" -- though nobody internally calls us that, so you don't have to, either.

Okay, enough of THAT.  

I've been in and around the .NET Framework team since it became that, in various capacities. Over the last couple of years I've been working exclusively on Windows Forms, owning a diverse set of features including:

  • In-situ property editing
  • "Action" Smart Tags (ala Office)
  • Property Grid improvements
  • Layout features
  • Client settings
  • Random grab-bag of other stuff

Sound like fun? Well, it has been fun, very much so, for the most part. Lots of smart people here, lots of good thinking ... but also often quite a tight schedule, which can lead to sadness and despair when it comes to getting a cool feature ready to ship.  I say all this because half - and I do mean fully half - of the features listed above will not see the light of day in Whidbey.

"Whoa, huh?" you may ask. Indeed. Want to learn more details? You'll have to wait ... for the feature series of blog blathering entitled "Death of a Feature".

But on a more positive note, I'll START with a different series of blog blathering, which I'll call "Name That Layout".  The various new layout features in Whidbey - AutoSize, TableLayoutPanel, FlowLayoutPanel, plus some bonus gizmos and thingamajigs - are very powerful and can be used in a variety of scenarios ... but it's not always immediately clear how to get from start to finish with a given layout. Too many knobs, not enough time.  So ... this series will be around me (like all good blogs) presenting a set of dialogs as a "quiz", then seeing how y'all get along with creating that form using the layout tools in Whidbey. Rules next time. 

So stay tuned - more lessons about life, love, and Whidbey rich client development just around the corner ...

Posted by JTChris | 0 Comments
 
Page view tracker