Silverlight Sessions Recap

At MIX10 there were 3 SharePoint sessions.  I went to each of the sessions and found all of them interesting. 

All session links below go to the MIX page for that session.  At the MIX page you can view the recorded session.

There are several great introductory session on Silverlight 4:

Developing with WCF RIA Services Quickly and Effectively describes the capabilities of WCF RIA Services.  This is the new hot technology for accessing data from Silverlight.  It builds on LINQ and WCF and provides a LINQ to SQL like querying component for Silverlight.

Dynamic Layout and Transitions for Microsoft Silverlight 4 with Microsoft Expression Blend is an interesting session that describes the use of Blend to build transitions and layouts without writing code.

For developers with Flash experience there is an interesting session called Flash Skills Applied to Microsoft Silverlight Design and Development that can help bridge the gap between Flash and Silverlight.

SharePoint Sessions Recap

At MIX10 there were 3 SharePoint sessions.  I went to each of the sessions and found all of them interesting. 

All session links below go to the MIX page for that session.  At the MIX page you can view the recorded session.

The session Designing an Internet-Facing Web Site Using SharePoint 2010 discussed branding, silverlight, and the features that enable SharePoint 2010 to support Internet sites.  Among these features is Lockdown mode helps protect internet sites from anonymous access.  It allows anonymous users to access SharePoint 2010 pages and sites but also protects pages in the _layouts virtual directory and the forms pages.  This session provided in depth code examples for branding, theming, and even the incorporation of Silverlight elements to make sites more interactive.

The session Building Rich and Interactive User Experiences in SharePoint described the elements of SharePoint 2007 and SharePoint 2010 that enable the features that are necessary for public internet sites.  Public internet sites need advanced branding and accessibility.  Some public sites need translations for other countries or target users.  This session focused mostly on describing techniques that could be used and did not cover actual code examples.

The final SharePoint session entitled Designing Corporate Web Sites using SharePoint 2010 described tools and techniques used to design sites in SharePoint.  This is an interesting session as it shows developers techniques and the tools that support them like SharePoint Designer, Expression Blend, and Visual Studio.  This session is a must for developers that want to build highly interactive sites in SharePoint.

ReMix10 for Innovative Architects

In March I went to the MIX10 conference in Las Vegas.  In this post I will highlight the information covered at our company meeting.

Session Recap Links

SharePoint Sessions Recap

Silverlight Sessions Recap

March Announcements

At MIX there were many announcements made about new tools available.  To see a full list of announcements from mix visit http://live.visitmix.com/News/.  The 3 announcements that I think are most relevant to IA are:

April Announcements

  • Visual Studio 2010 will be released
  • Silverlight 4 will be released
  • Windows Phone 7 Series Beta Tools will be released

Silverlight 4

Microsoft has really stepped up its game through the Silverlight releases.  Silverlight 4 will provide new capabilities that will greatly enhance our ability to provide desktop like applications to users over the web.  With SharePoint 2010’s support of silverlight, we will be able to build highly interactive solutions to our clients.

New Capabilities

There are too many new features in Silverlight 4 to mention them all but here are a few that I thought would be incredibly helpful.

  • Right click ability, drag and drop capable, Bing map control
  • Out of the Browser Trusted mode
  • Out of the Browser Toasts / Notifications
  • Out of the Browser Rich networking in trusted mode
Pivot

Silverlight 2 introduced Deep Zoom, Silverlight 3 introduced Photosynth, and now Silverlight 4 introduces Pivot.  Pivot is a new feature that enables developers to show the overall information hidden in large datasets.  The technology uses deep zoom image sets and special xml files specifying the information about the images.  This information is categorized by facets.  When silverlight 4 is released in April, the Associated Press and Sports Illustrated websites may have Silverlight Pivot elements.

Windows Phone 7 Series

A Zune phone has been speculated about by Zune fans for a long time.  While the Windows Phone 7 Series will have Zune functionality it is much more than a phone that plays music.  The Windows Phone 7 Series is a device capable of interactive Silverlight content and XNA games.  The phone is designed around task centered hubs.  Each hub is focused around one main goal.  For example the Music and Video hub is focused on the playback of media. Hubs are extensible meaning that applications built for the phone can specify what their role is like media playback or social networking.  Applications that specify this information are added to the appropriate existing applications on the device enabling companies like NetFlix to build an app that can be accessed from the same hub that music and video from Zune is accessed.

  • Windows Phone 7 Series Apps can be written in Silverlight or XNA
  • All applications have hardware acceleration enabled
  • When released, the development tools will be free forever

SharePoint 2010

  • SharePoint 2010 is targeting the WCGA 2.0 AA Accessibility standard
  • SharePoint 2010 will render clean html with the exception of a few legacy webparts
  • SharePoint 2010 is targeting IE 7, IE 8, Firefox, and Safari on OSX
  • SharePoint 2010 will have a developer dashboard that can be enabled during development.  This dashboard can help developers speed up page load time.

SharePoint 2010 Branding

  • Branding is much improved over branding in MOSS
  • The new theme capability can recolor images and even replace them.  To improve theming, branders can specify css hints to help SharePoint 2010 in its coloring
  • In MOSS, special pages like login or errors were a little more difficult to brand.  In SharePoint 2010, these pages can be redirected to other pages through the use of a powershell command-let.
  • Microsoft will provide a mostly style free master page called Starter.master for branding.  This master page will have very little if any style applied to it
  • SharePoint 2010 introduces many new controls.  One of these is the CssRegistration control.  This is the new control that should be used to specify custom css files.  If this control is used then SharePoint 2010 can use the theme feature

Design

Many design topics were discussed at MIX but among them a highly relevant one for IA was the launch of a new design toolbox site.  Located at http://www.microsoft.com/design/toolbox, the design toolbox site is a training portal for learning the art of graphic and user experience design related topics.  The site has 2 tracks now with more to follow.  Right now visitors can progress through the Design Scenarios and Design Principles tracks.  Windows Phone 7 Series design tracks are being prepared for release later in 2010.

Binding simple controls (Textbox, TextBlock, Button, etc)

In this post I will be describing how to bind data to simple controls.  The controls I will discuss are the Textbox, TextBlock, and Button controls however this technique can be used to bind data to other controls.  I will also discuss the use of sample data sources in Microsoft Blend. 

In Silverlight there are 3 types of data binding in silverlight.  They can take the form of one-way, two-way, or one-time.  One-way data binding allows the data bound control to be automatically updated when the property that is bound is changed.  This automatic updating is made possible by implementing the INotifyPropertyChanged.  In two-way data binding the data context can be updated when it is changed and when the user interface is changed it can be sent back to the database to update. 

Blend allows designers to build and bind data sources to controls during design time that can be modified or overridden at runtime.  Binding can be done against CLR objects, sample and live data sources, and custom expressions. In this tutorial we will use CLR Objects for our data binding.  In later more complex tutorials we will use other types of data binding.

Simple controls – Textbox

We will now do a short tutorial demonstrating how to use Blend to do one-way data binding of the String CLR object to a Textbox.  We could just as easily bind to a custom object but we will leave that for the next tutorial.

  1. To get started run Microsoft Expression Blend and create a new Silverlight Application.
    If you have not used Blend before then you will notice that it only creates the Silverlight project unlike Visual Studio which also creates a web site or application to host the silverlight .xap file.  When you run your new application from Blend, it will create a test page to host your silverlight application so you can decide where and how to host it later.
  2. Add a textbox to the LayoutRoot in the MainPage.xaml
    You can do this one of several ways.  You could type in the xaml to create the textbox, but since I am trying to show you how to use some of the GUI aspects of Blend I will show you how to drag-and-drop a textbox onto the LayoutRoot.
    1. Go to the assets panel
      you can do this by clicking on the assets toolbox button (shown here) AssetsImage or the assets tab (shown here)topLeftTabs
    2. In the search box type Textbox
      You will end up with this on your screen.
      TextBoxAssets
    3. Drag the Textbox asset onto the design surface
      You can make it any size you want, put it any where you want and event change the font, color, font size and other attributes.

DataBinding the controlimage

  1. Scroll down to the Common Properties section on the Properties Tab
     
  2. Click the New Button beside DataContext
  3. Check the Show System Assemblies checkbox
    Since we want to data bind to a System.String CLR object we need to select that object.  It is a System Assembly so this checkbox allows us to see it.
  4. Select String and Click OK
    To make it easy to find System.String your can start to type String into the search box and it will filter the results.  Later we will see that this filtering also works on our custom CLR objects.
  5. To Bind to our new property Click the square next to the Text property in the Common Properties section.

Now the textbox is bound to the the string object.  This is not a particularly interesting data binding but it is a data binding. In the next tutorial we will bind to a custom CLR object.

Expression Blend and Silverlight

I am Jonathan Cartwright, a user centered design enthusiast and software engineer by trade.  I am starting this blog to provide some details on how developers can use Expression Blend to help them layout and bind data to controls.  I feel that by using blend to perform as much as possible frees up a developer and development team can focus on building interactivity.

In this blog I intend to describe how Blend users can data bind various controls in Silverlight and the Silverlight toolkit.  My hope is that by providing this information in a tutorial format developers and designers will be better equipped to use all the power of Blend.

Table of Contents for Blend Data Binding Posts