Ricardo Fiel gave a presentation on using Silverlight for media experiences, SEO, touch interfaces, and visual effects. He demonstrated Silverlight's abilities for smooth streaming video, high resolution images, touch gestures, and applying effects. Fiel also overviewed Silverlight 4 features like full HTML support, webcam/mic access, and discussed tools for Silverlight development.
11. Deep Zoom High Resolution Images On any screen, any resolution Huge wall screens, computers, phones Silverlight, Ajax and mobile (iPhone) Fallback to Ajax if no silverlight plugin Generation can be automated through API Photosynth, Bing Maps, Renault, HardRock and a lot more use this to deliver a great UX!
17. Navigation Framework and SEO Static and Dynamic URI mapping (routes) More than one navigation area possible Each area is a Frame control Rich API: Navigation Interception Error handling Dynamic generation of routes RIA Services can easily provide navigateable content when Silverlight not present
20. Touch API Touch class Processes multi-touch input from OS and raises Silverlight-specific FrameReported event TouchPoint class Represents a single touch point from a multi-touch message source TouchFrameEventArgs GetPrimaryTouchPoint and GetTouchPoint methods
22. Gestures for free! Most of the time, we won’t have to deal with the API Manipulation and Inertia Behavior http://gallery.expression.microsoft.com/en-us/MultiTouch MIRIA SDK (miria.codeplex.com) Multi-touch input gateway and gestures Eg: Wii Remote, iPhone, ...
27. Effects aka Pixel Shaders Effects can be applied to ANY control Can be controlled with storyboards/behaviors/code Written in HLSL (High Level Shader Language) Tip: use Walt Ritscher’sShazzam Tool Lots of effects available open source
28. WriteableBitmap Any control can be rendered to a WriteableBitmap This includes control trees WriteableBitmap is a control: you can apply effects to it Image encoders available on the web (PNG, …) Check Rick Barraza’s blog (Cynergy): Fluid Dynamics in Silverlight Advanced Render Techniques with WriteableBitmaps
30. Full HTML Support WebBrowser control Source property Sets HTML content Navigate(uri) method Navigates to the specified URI Yes, it’s as simple as that!
31. WebCam and Mic Access private void btnStartCapture_Click(object sender, RoutedEventArgs e) { if (_captureSource != null) { // stop whatever device may be capturing _captureSource.Stop(); _captureSource.VideoCaptureDevice = (VideoCaptureDevice) WebCamList.SelectedItem; _captureSource.AudioCaptureDevice = (AudioCaptureDevice) MicrophoneList.SelectedItem; VideoBrush vidBrush = new VideoBrush(); vidBrush.SetSource(_captureSource); ViewBox.Fill = vidBrush; // request access to webcam and audio devices if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess()) { _captureSource.Start(); } } }
41. “Printable” websitesDrop Targets “Based On” styles Implicit Styles GPU acceleration Data Binding Accessibility Binary serialization Local Connections Javascript Integration
42. Tools Microsoft Expression Studio (Blend, Encoder, …) http://www.microsoft.com/expression/ Microsoft Visual Studio http://www.microsoft.com/visualstudio/ Microsoft Deep Zoom Composer http://www.microsoft.com/downloads/details.aspx?FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf Microsoft Image Composition Editor http://research.microsoft.com/en-us/um/redmond/groups/ivm/ICE/ www.codeplex.com Lots of open-source stuff
43. More info XAMLPT http://www.xamlpt.com Microsoft Silverlight Forums http://silverlight.net/forums/ Microsoft Expression Forums http://social.expression.microsoft.com/Forums/