September 2010 - Posts

The Montreal .NET Community will host a new Speaker Idol competition this year.

alt

What is it ?

It’s your chance to be the speaker, presenting a .NET-related topic, trick or technique in 10 minutes in front of a panel of expert judges. Impress them, and you’ll get:

  • An opportunity to do a full presentation in front of the user group at a later date
  • A license of Visual Studio 2010 Ultimate

Rules:

  • When and where? Speaker Idol takes place on Monday, October 25th, from 6:30 p.m. to 9:00 p.m. at Microsoft’s Montreal Office (2000 Avenue McGill College, 4th floor).
  • Both official languages welcome. No, not C# and VB, but French and English!
  • They’re looking for new speakers. The contest is open only to people who’ve never spoken at a user group or conference.
  • Submission deadline: You need to submit a brief description (200 words max.) of your talk and a bio by midnight, October 1st (this Friday!) to info@dotnetmontreal.com.
  • Speaker Idol contestants will be announced on October 4th.
  • Contestants will be judged on:
    • Mastery of their subject
    • Quality of their presentation
    • Ability to get the point across
    • Quality of their slides
    • Quality of their code
  • What will be provided: A laptop with Visual Studio 2010 Ultimate and SQL Server Express 2008 installed will be available. If your presentation requires the installation of other software, please bring your own (if your bring your own, set your screen resolution to 1024 * 768).
  • What won’t be provided: There will be no internet connection available.
  • What you should bring: Bring your PowerPoint presentation and demo code on a USB key or drive. Your presentation and code will be featured on the Montreal .NET Community’s site.
  • Judging: A panel of 3 judges will comment on your presentation and the audience will vote. They promise a relaxed environment.

Act now!

To participate, submit your 200-word-max presentation description and bio to info@dotnetmontreal.com before friday!

More info (in french): http://tinyurl.com/24hbtnb

Thanks to Joey for the original article.

Posted by pluginbaby | with no comments

IE9
As you know Internet Explorer 9 is now available in beta and you can download it here:
www.beautyoftheweb.com

Among the new features, you can now integrate your websites with the Windows 7 desktop. Users can pin any website to the Windows 7 Taskbar, Desktop, or Start Menu. Websites can use this experience without having to modify any of their existing content, but as a developer you can extend this and provide customized JumpLists and Notifications by adding Metadata and JavaScript code.

If you run IE9 now (on Windows 7), you can try by pinning www.bing.com website to your taskbar and you’ll get a nice icon with JumpList (links to web pages) like any Windows program:

Bing in taskbar 

Link to the full article on MSDN:
http://msdn.microsoft.com/en-us/ie/dd797411.aspx

In this post I want to make a small intro to show you how easy it is.

 

Make your website “Windows 7 aware” (from IE9)

Pinning any website from IE9 (drag a tab to Windows 7 Taskbar) gives you a classic shortcut and a right-click gives you this default menu:

alt

By adding just a couple of Metadata in your html you can improve the user experience by enabling a nice integration with Windows 7 (Find Metadata description later in this post):

<meta name="application-name" content="RunAtServer Montreal" />
<meta name="msapplication-tooltip" content="RunAtServer - Silverlight and Windows Phone Experts in Montreal" />
<meta name="msapplication-starturl" content="http://www.runatserver.com" />
<meta name="msapplication-window" content="width=1024;height=780" />
<meta name="msapplication-navbutton-color" content="orange" />
<meta name="msapplication-task" content="name=Presentation; action-uri=http://www.runatserver.com/Index.aspx; icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Trainings catalog; action-uri=http://www.runatserver.com/Trainings.aspx; icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Silverlight Tour cities and dates; action-uri=http://www.runatserver.com/SilverlightTraining.aspx?tab=dates; icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Contact; action-uri=http://www.runatserver.com/ContactUs.aspx; icon-uri=/favicon.ico" />

You can try now and pin www.runatserver.com to your Taskbar and you’ll get this:

IE9 Jumplist

In this website we use ASP.NET so I added these Metadata in the MasterPage to get the same experience from any page.

I also use Resource (resx files) to localize the Metadata, so the Jumplist will be in the user’s language (on that website). Pinning again the website in french refresh the Jumplist:

IE9 Jumplist in french

Others website with a similar Windows 7 integration enabled (ironic that MSDN does not use that yet):

 

Metadata description

From the MSDN article:

Name Content
application-name The name of the shortcut. If missing, the document title is used instead.
msapplication-tooltip Optional text that is displayed as a tooltip when the mouse pointer hovers over the pinned site shortcut icon in the Windows Start menu or desktop.
msapplication-starturl The root URL of the application. If missing, the address of the current page is used instead. Only HTTP, HTTPS, or FTP protocols are allowed.
msapplication-navbutton-color The color of the Back and Forward buttons in the pinned site browser window. Any named color, or hex color value as defined by Cascading Style Sheets (CSS), Level 3 (CSS3) is valid. For more information, see Color Table. If this meta element is absent, the color is based on the shortcut icon.
msapplication-window The initial size of the pinned site browser window.
  • width=N (minimum 800)
  • height=N (minimum 600)
Note that user action overwrites this value. Windows preserves the user-generated window size when the user changes the size of the window and then closes the instance.

 

Then you can add one or more “tasks” (5 maximum) to populate the Jumplist items:

<META name="msapplication-task"
          content="name=Task 1;
          action-uri=http://host/Page1.html;
          icon-uri=http://host/icon1.ico"/>

Note: Links defined in tasks are not restricted to your domain.

 

And more…

With a bit of JavaScript you can also add categories, overlay icons, thumbnail preview with action buttons, …

alt

I encourage you to read the MSDN article to learn more:
http://msdn.microsoft.com/library/gg131029(VS.85).aspx

 

Conclusion

With IE9 Microsoft wants to integrate websites in your desktop like any Windows app. Pinned sites run in a special branded IE window with no toolbars. It is a good thing as more than just “linked documents” the web is now a collection of applications, and as web developers you know that lot’s of issues comes from… the user (and your bugs)! Browsers are evil to business apps, things like location bar, favorites, Yahoo toolbar, Gooogle toolbar, MSN toolbar, Paypal toolbar, … add distraction and are error prone. I can see a good use of pinned sites for intranet web apps, where the user will launch the app from a taskbar icon or even the start menu and almost won’t notice it is a browser window.

Might be more useful than WebSlice…

 

Technorati Tags:

silverlight training montreal

Formation SilverlightAnother chance to get this awesome Silverlight training! The Silverlight Tour has one more class in Montreal, and provide top Silverlight 4 content!!!

>> This course will be taught in French * <<

  • What: Silverlight training
  • When: October 18-21 (4 days)
  • Where: Montreal, Qc
  • Registration/info: http://www.runatserver.com/SilverlightTraining.aspx

    Also note that we offer a free license of Telerik's RadControls for Silverlight to every attendee ($999 value)!!
    For more information on RadControls, visit:
    http://www.telerik.com/products/silverlight.aspx

    * We do english class as well… check our website!

  • Posted by pluginbaby | with no comments

    Advanced MVVM

    Nothing new here for MVVM lovers, just a small review and links for people new to this pattern.

    Sometimes I am asked if books exists on MVVM (Model-View-ViewModel). So you have this little book I read a while ago, Advanced MVVM by Josh Smith. I like this kind of book which go straight to the real content (only 52 pages).

    The author chose to illustrate MVVM with a game instead of a business application, it can seems weird at first but anyway... Also the book covers MVVM implemented with WPF, not Silverlight, but this is just a question of view and the pattern is more than that, so that should not disturb you from learning MVVM even if you only do Silverlight apps. What you read in the book can be applied to Silverlight as well. If you want something specific with Silverlight you can start with this link:
    http://www.silverlightshow.net/items/Model-View-ViewModel-in-Silverlight.aspx

    This book is a good reading, but I am not sure I would recommend it to a beginner wanting to discover the MVVM pattern or just to understand why he would use it. I think it is best for someone who already took the decision to use it and willing to implement his first app using MVVM. Such people will take better advantage of the book (according to me).

    For beginners I would recommend starting their journey to MVVM with those excellent articles by Michael Washington (and then read the book if you want to learn more advanced details):

    And… much more here:
    http://openlightgroup.net/ViewModel/tabid/96/Default.aspx

    Posted by pluginbaby | with no comments
    Filed under:

    Canada Loves .Net Ninjas

    For those in Montreal this week’s User Group meeting should be interesting!

    Evan Hutnick from Telerik will present a technical session on Silverlight:

    Silverlight Development Best Practices
    ”In this session, we will explore best practices of development with Silverlight.  This will include a look at the current toolset (VS2010/Blend) as well as the different options for architecture and data access (to MVVM or not to MVVM, WCF RIA Services or not, etc.), as well as how you can structure your application for intelligent reuse of styles and resources, making it easier to design a large-scale application with a unified look and feel.”

    Wednesday, September 8th - Montreal .Net Community - 6:30-9pm


    I’ll be there!

    Windows Phone 7 Nice! We will have 2 Windows Phone events this week in Montreal:

    Thursday, September 9th

    A Microsoft Canada event: Windows Phone 7 Night in Montreal (featuring a developer device!)
    5:30 – 8:30 p.m. at the Microsoft Montreal office (2000 Ave McGill College, Suite 450, Montreal)

    Join Christian Beauclair from Microsoft Canada, along with Colin Melia from DreamDigital, for an evening about Windows Phone 7 in the flesh.  That’s right, they’ll be there in person, oh and so will a real developer device!

    You absolutely must be registered to attend: Register for this event.

    Friday, September 10th

    Windows Phone 7 Deployment clinic.
    At the Microsoft Montreal office (2000 Ave McGill College, Suite 450, Montreal)

    This second event is targeted at developers who used the phone emulator and wants to test their app on a real device.  This will take place on Sept 10. You need to contact Christian Beauclair to reserve a spot: christian.beauclair@microsoft.com

     

    LinkedIn Windows Phone Canada group

    Oh, and if you’re a member of LinkedIn, you should join the Windows Phone Canada group. It’ll have links to the latest Windows Phone articles, host discussions about all aspects of Windows Phone development, from coming up with ideas for apps to writing them to selling them in Marketplace. You’ll also get to network with Windows Phone developers across Canada.

     

    [via Canadian Developer Connection]

    Technorati Tags:
    Posted by pluginbaby | with no comments

    Silverlight 4Since Silverlight 4 you can use Implicit Styles:
    http://weblogs.asp.net/lduveau/archive/2009/11/18/silverlight-4-implicit-styling.aspx

    Basically it is just a style defined in resource without a key. As you don’t have a key you may wonder how you could inherit (BasedOn) from an implicit style?

    Surprisingly lots of people are not aware of this, so here is how you can inherit from an implicit style:

     

    1. Add a key to your implicit style (so it won’t be implicit anymore… but wait)

    Microsoft use this technique in the Silverlight Toolkit, and their naming convention is DefaultXXXStyle.

    So for a Button you would create DefaultButtonStyle like this sample:

    <Style TargetType="Button" x:Key="DefaultButtonStyle">
        <Setter Property="Background" Value="BlueViolet"/>
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="FontFamily" Value="Verdana"/>
        <Setter Property="FontSize" Value="11"/>
        <Setter Property="FontWeight" Value="SemiBold"/>
    </Style>

    2. Create a new Implicit Style based on this style:

    <Style TargetType="Button" BasedOn="{StaticResource DefaultButtonStyle}" />

    Now all your button will take DefaultButtonStyle as their implicit style.

     

    3. The beauty is you can now create other Styles also based on DefaultButtonStyle, which make your new Styles inherit from the “Implicit Style”!

    <Style TargetType="Button" x:Key="BigButtonStyle" BasedOn="{StaticResource DefaultButtonStyle}">
        <Setter Property="FontFamily" Value="Arial Black"/>
        <Setter Property="FontSize" Value="32"/>
    </Style>

     

    <Style TargetType="Button" x:Key="BigRedButtonStyle" BasedOn="{StaticResource BigButtonStyle}">
        <Setter Property="Foreground" Value="Red"/>
    </Style>

     

    Which gives me this Styles hierarchy:

    Silverlight inheriting from implicit style

    Easy.

    More Posts