click tracking
May, 2008 - Katrien's MSDN Blog - Site Home - MSDN Blogs
  • Katrien's MSDN Blog

    Watch VISUG session on VSX (Visual Studio Extensibility) online


    Last week James Lau and Jean-Marc Prieur from the Visual Studio Extensibility team, visited Belgium and did a presentation at VISUG user group. If you missed the session or have not yet seen much about VSX this is a good opportunity. It's a 2 hour presentation with lots of demos.

    You can now watch the whole presentation online, it has been split into 5 parts:

  • Katrien's MSDN Blog

    VSX, VISUG and Multi-mania events


    I'm really running behind with my blogging, these have been busy weeks. I was at several community events and did a presentation at Multi-mania. Wow, that was a first where everybody was talking around mostly non-Microsoft products. Gill, Brecht and I were the only ones doing sessions on Microsoft technologies. The good thing to see there was the openness of the audience. Lots of people talking about Silverlight, curiosity to say the least.

    VISUG event on VSX

    On Tuesday 20th of Mary we had the visit of James Lau and Jean-Marc Prieur from the VSX team (Visual Studio Extensibility). They are on tour through Europe and did a first presentation at Microsoft offices, in the evening there was a VISUG user group event foreseen.
    James and Jean-Marc did a wonderful session on Visual Studio Extensibility: extension packages, DSL tools, entDev, etc. The good news is my colleague Tom already did all the encoding of the recorded videos and you can view the whole session online. If you want to learn more about extending Visual Studio, using the Visual Studio Shell for host your own designers and programming environment and more: check out the videos.
    During the presentation Jean-Marc did two full demos of building tools from scratch: building a custom source code outliner and building a custom DSL. This is a great way to get started on your own. Also check out James' write-up about the day.

    Here is a list of resources that are worth checking out around VSX:

    Wygday and BIWUG event

    The Belgian Information Worker User Group meeting was last Thursday. I had a lot of trouble to get there on time...
    In the morning I travelled to Lille (boy, that's no longer Belgium, that's France!) to attend the Wygday, an event organized by Wygwam, the company of our Regional Director Gregory Renard. There were lots of interesting sessions around SharePoint, Silverlight, .NET Framework 3.5 SP1, GAT, GAX, etc. The event was organized together with Microsoft France but as quite some Belgian developers go over there as well it was worth the travel to meet up.

    Then I left early enough to get to the BIWUG meeting in Kontich but had the bad luck of getting stuck in two big traffic jams. Result: a 1h30 drive took more than 3h30. But I still got to the BIWUG event, even if I was late!

    When I arrived there the first presentation was already well under way: an introduction to Lotus software (Quickr), only got to see the final part of this presentation.
    Then Kurt Claeys did a presentation on Bizatlk integration with SharePoint Services and MOSS. Donwload his and the other presentation slides from Joris' blog.

    Multi-mania event in Kortrijk

    As I already mentioned in the beginning of this post, Friday 23rd May was Multi-mania day. It was a first for me to be presenting at a non (MS) developer event, lots of creative people around with presentations about their work, vision of the future of the web and lots of interactive and design technology (can you guess who was the main sponsor? :-).
    Gill did a general RIA development with Silverlight 2 session. As always, I think it was very well structured and introduces the technology well for people not having done Silverlight yet. The room was not completely full but the audience was very interested in seeing what Microsoft is doing in that space.

    Brecht, one of the founders of the new XNA user group in Belgium (XNABUG) did a presentation on XNA game development, he had some great samples with games on a Zune and some of the projects Belgian participants of the Imagine Cup. That same day we actually got the good news that one of the Belgian teams has made it to the final 6 in Game Development in the Imagine Cup. Congratulations guys!

    My own session was focused on the learning's for designers when doing WPF and Silverlight projects in Expression Blend. I mostly used great samples provided by Arturo Toledo, a designer audience product manager at Microsoft. He did a fantastic session at MIX that you definitely need to check out: XAML Ready Agency with Expression Blend.

    VISUG HHH session: Introduction to Workflow Foundation

    This week another VISUG event took place at Ordina in Merelbeke, presented by Kurt Claeys. Kurt again, he is keeping busy! Kurt gave a good overview of what Workflow Foundation is all about with lots of samples. He started by explaining the basics using .NET 3.0 samples and then moved to version 3.5, explaining the main updates between the two releases. 

    I especially appreciated the TV sample he made to explain State Machine workflows. This is actually explained in an article he did 2 years ago: State Machine Workflows in Windows Workflow Foundation. This is still version 3.0 but very usable in the current version as the article explains the concepts.

    Kurt is already in Orlando for next week's TechEd US, where he will be helping out with the Hands-on-Labs the whole week. Have a nice time Kurt!

    Workflow Foundation: new articles by Serge Luca

    And to finish off, Serge Luca has posted part 11 and 12 of his Step by Step Tutorial "Creating Workflows for Windows Sharepoint Services and MOSS2007". Check out the two new articles on his blog:

  • Katrien's MSDN Blog

    Silverlight collaboration demo source code from the MIX essentials keynote


    A few people at the MIX essentials event we organized in April requested me to post the source code for the Silverlight demo we gave in the opening keynote. So, here is the code (download at the bottom) along with some explanations of what we implemented. What's also available: a running example hosted at Silverlight Streaming.


    Check out the recording of the session to view the demo being demonstrated live.

    Button style

    The "Refresh" button's style is customized by using Application Resources. Application resources allow you to define styles and templates to be applied to controls. Check out this tutorial on styles and templates in Silverlight.

    Style and templating defined in App.xaml file:

            <!-- Button -->
            <Style x:Key="hardComic" TargetType="Button">
                <Setter Property="IsEnabled" Value="true" />
                <Setter Property="IsTabStop" Value="true" />
                <Setter Property="Foreground" Value="#FFFFFFFF" />
                <Setter Property="FontSize" Value="16" />
                <Setter Property="Cursor" Value="Hand" />
                <Setter Property="TextAlignment" Value="Center" />
                <Setter Property="TextWrapping" Value="NoWrap" />
    <!-- code omitted -->

    The custom style is applied to the button by using the key (Page.xaml file):

    <Button x:Name="buttonRefresh" Style="{StaticResource hardComic}" ... />

    By applying a custom style and control template, the layout of the button changes from




    Bubble animation

    The bubbles in the test tube were created in Expression Blend 2.5. The animation is created by moving the bubbles from the bottom of the test tube to the limit of the pink liquid. This is done in a Storyboard containing several keyframes for the different bubbles. A different path is used for each bubble so that the effect is like real bubbles are coming up. At the end of the storyboard, Opacity of each bubble is set to 0% so that these are no longer visible. We also set the Repeat behavior of the storyboard to Forever so that the animation keeps on playing once its started.

    image  (click to enlarge)

    Thanks to Stijn for the animation!

    Loading images through REST

    Photos are loaded by accessing the Flickr search REST service. This is done by creating a WebClient object, accessing the service asynchronously and then parsing the returned XML to load the photos on the surface:

    private void LoadPictures()
                // Initialize Flickr URI
                string tags = "mixessentialsbe";
                string key = "hidden";
                string flickrApi = string.Format("
    , key, tags); // Asynchronous call to REST Service WebClient rest = new WebClient(); rest.DownloadStringCompleted += new DownloadStringCompletedEventHandler
    (rest_DownloadStringCompleted); rest.DownloadStringAsync(new Uri(flickrApi)); } void rest_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { if (!_photosLoaded && (0 != Width) && (0 != Height)) { //... some code omitted if (doc.Element("rsp").Attribute("stat").Value == "ok") { // Current Page Logic int totalPages = Convert.ToInt32(doc.Descendants("photos").Single().
    Attribute("total").Value); if (_pageIndex >= totalPages) _pageIndex = 0; // Get Photo collection using Linq to XML var photos = (from results in doc.Descendants("photo") select new { id = results.Attribute("id").Value.ToString(), farm = results.Attribute("farm").Value.ToString(), server = results.Attribute("server").Value.ToString(), secret = results.Attribute("secret").Value.ToString() }).Skip(_pageIndex * 10).Take(10); // Add a photo control for each Photo returned foreach (var photo in photos) { url = string.Format("http://farm{0}{1}/{2}_{3}_m.jpg",, photo.server,, photo.secret); new Photo(this, this.SurfaceLayoutRoot, new Uri(url)); } _photosLoaded = true; } } }

    I recommend reading Gill's tutorial on Silverlight 2 data and services for detailed information on accessing services using Silverlight.

    The Surface-like experience

    To show the photos we reused some sample code from the Community samples at Silverilght Surface sample.

    This example includes a custom Photo class that we have reused and slity adapted to fit the new parent object (our Page.xaml). It adds a really cool experience to displaying the photos.


    Getting the source code to work: Flickr API key

    You do need to request your own API key at Flickr and add it to the code before being able to run the code locally. Sign-up for a key at the Flickr site and then change the key in Page.xaml.cs file:

     private void LoadPictures()
                // Initialize Flickr URI
                string tags = "mixessentialsbe";
                //todo: create your own API key at Flickr and copy here:
                string key = "flickr api key here";
                string flickrApi = string.Format("{0}&tags={1}", key, tags);
            //rest of code omitted...     

    Add the key, rebuild and the app should run locally.

    Download the source code

    Code can be downloaded from my Skydrive.

  • Katrien's MSDN Blog

    .NET 3.5 SP1 Beta and Visual Studio 2008 SP1 Beta are out


    Today we released the Beta versions of the Service Packs that will be shipping for .NET 3.5 and Visual Studio 2008.

    Please note that the betas are intended as a mechanism to allow early testing and feedback. As a beta release, it is recommended that you only install the service pack on test machines.

    What is new with these Service Packs?

    There are several bug fixes and enhancements, the most notable ones I'm listing in here.

    • WPF enhancements: more controls, a streamlined setup, improved start-up performance, and powerful new graphics features. See Channel9 post for more details.
    • .NET Framework Client release ("Arrowhead"): this is subset of the full .NET Framework 3.5 SP1. It allows for faster setup on client machines not yet running version 3.5 of the .NET framework. This new setup installer enables a faster, simpler installation experience for .NET applications on Windows XP and Windows Vista.
    • ASP.NET Dynamic Data
    • ADO.NET Entity Framework
    • ADO.NET Data Services (codename "Astoria")
    • The .NET Framework Data Provider for SQL Server (SqlClient) adds new support for file stream and sparse column capabilities in SQL Server 2008.

    Update: Review the complete, extensive, detailed list of enhancements on ScottGu's blog. As always, Scott's post gives you all possible information you need on this.

    Compatibility issues with Silverlight 2 Beta 1 tools

    Note that there are a few known incompatibilities with this service pack including: Expression Blend, the Silverlight 2 Beta 1 SDK, and the Microsoft Silverlight Tools Beta 1 for Visual Studio 2008. A new version of Expression Blend 2.5 March Preview has been released here that is compatible with this service pack. 

    Technorati Tags: ,
  • Katrien's MSDN Blog

    MIX essentials 2008 Roundup


    IMG_1376Last week on April 24th we had our first MIX essentials event in Belgium. It was a full day with a dynamic opening keynote; developer and designer break-out sessions and of course a fantastic closing keynote and Q&A session with Steve Ballmer.

    Opening keynote

    The opening keynote was a mix of presentations, demos and some cool videos (if I say so myself :-)). Luc van de Velde was the conductor doing the intro of the developer/designer collaboration story and orchestrating all demos and other presenters. clip_image001
    The first demo was done by 4 guys from 4 of Belgium's top web agencies, each of them with a defined role in the collaboration story: Jan from Nascom, Stijn from These Days, Thomas from LBi and Chris from Emakina. Check it out here.

    Next we had Martin Tirion, UX Evangelist coming over from the Netherlands to present us the newest around IE8, Silverlight 2 and Expression Suite 2. I did a few demos during his part as well.

    To close off the keynote, Catherine Heller, Technical Evangelist came over from Redmond for an overview of the Windows Live platform. She also invited someone from Truvo on stage to give a demo on their Live Agent to search for phone numbers of people and businesses. If you want to add the bot to your messenger account just add a friend and choose for French or for Dutch.


    Recordings of all sessions

    All sessions are now (yes now!) available on our MSDN Chopsticks platform, keynote videos are available without login, for the breakout sessions simply login using a Live ID account as this is premium content. The PowerPoint presentations are also available for download with each video.


    Designer sessions were delivered by David Pugh-Jones, Ian Griffiths and Paul Dawson. Developer sessions were delivered by Tim Heuer, Catherine Heller and Gill Cleeren.

    Pictures of the event

    Lots of pictures have been posted on Flickr (thanks Miel and Gill).

    IMG_1317 IMG_1333 

    What's next?

    Hopefully next year we will be hosting a second edition of MIX essentials and we'll see you there. In the meantime, subscribe to our newsletter Express Yourself, keep track of the news on our Twitter account and Light up the web!

    Here are some resources mentioned during the event to get you started on Silverlight and Microsoft Expression.

  • Katrien's MSDN Blog

    Next BIWUG meeting Thursday 22nd May 2008


    The next meeting for the Belgian Information Worker User Group is taking place on May 22nd 2008 at 19:00.

    During this meeting there are three sessions planned:

    • Biztalk integration with SharePoint and InfoPath forms using the Biztalk 2006 R2 SharePoint adapter by Kurt Claeys
    • IBM Team Collaboration Software – Lotus software by Koen Renders en Tom Van Aken
    • Windows Workflow Foundation – deep dive by Tom Nys

    You can read more details on the BIWUG site and register for the event here, it's always a great opportunity to learn something new and meet with peers.

Page 1 of 1 (6 items)

May, 2008