Welcome to MSDN Blogs Sign in | Join | Help

TrustedApp Sample from PDC 2009

Here is the source to the TrustedApp media player sample I showed at PDC 2009.  This sample requires the Silverlight 4 Beta which you can find here. This "trusted app" sample uses the new file system APIs, notification window APIs, windowing APIs, WebBrowser control, HTML Brush and Native integration.  For Native Integration, this sample will take the current playlist and import/export to/from Excel (assuming Excel is on the system). 

 

Note that this sample will look for MP3 files in your MyMusic directory and you will need at least a few MP3 files in there to see it running.  Also note that if you have thousands of MP3 files, it may take a while on first load (post first load, the application will cache the list of files and it's much quicker).

 

 

TrustedApp Image

 

 

Click on the image above to install and run this sample application. 

 

Credits: this sample uses the TagLib Sharp library to extract meta-data from the media files.

 

Posted by jstegman | 0 Comments

BrowserFlow sample from PDC 2009

Here's the source to the BrowserFlow sample I showed at PDC 2009.  This sample requires the Silverlight 4 Beta which you can find here.   The sample uses the combination of the WebBrowser Control and HTMLBrush to display an interactive Ad that also plays well with the Silverlight animation system.  Click the image below to run the sample (note that it needs to be installed to run).

 

 

BrowserFlow Image

 

 

The demo shows the following new Silverlight 4 features:

 

·         WebBrowser Control

·         HTMLBrush

 

Posted by jstegman | 0 Comments

PDC 2009 Out Of Browser Session

I just got back from PDC 2009 where I had a great time presenting a session on the new Silverlight 4 Out Of Browser Features.  The talk is available on-demand here and you can find the slide deck here.  The session covered the following new Silverlight 4 features:

  • Web Browser hosting and HTML brush
  • Window settings APIs
  • Toast notifications (notification window)
  • Trusted Applications
  • Trusted Application features including Native integration (COM automation on Windows)

I'll follow-up with a couple of posts on the samples I showed in the presentation.

Posted by jstegman | 0 Comments

Silverlight ICO/ICON Decoder (Parser)

It turns out the Windows BMP file format is similar to the Windows ICO file format.  Given that, it wasn't too hard for me to produce a Windows ICO/ICON decoder (parser) based on the work I did around a Silverlight BMP decoder.  I didn't spend a lot of time making the source efficient, so if you make improvements, let me know and I'll incorporate them into my version.  Click on the image below to run a live version of the Silverlight 3 based sample.

 

 ICON/ICO Decoder (Parser)

 

Posted by jstegman | 0 Comments

Silverlight 4 Feature Requests

Tim Heuer and Scott Barnes have established a more community focused way of tracking Silverlight 4 feature requests.  You can find their feature tracker here: Silverlight Feedback Forum.   Other than a few items that our outside our control (iPhone, bundling), you're likely to see at least a few of the top items in the next version of Silverlight.

Posted by jstegman | 0 Comments

Silverlight 3 Sample Updates

I finally got a chance to update both my Mix 2009 and bitmap samples to Silverlight 3.  See the table below for links to the running samples as well as Silverlight 3 sample source code.  Note the GIF decoder has been updated to support interlaced GIFs (thanks to Paul Tallett for the source).

 

Silverlight 3 Sample Live Sample and Source
ICON/ICO Decoder Live Sample, ICODecoderSample.zip
WriteableBitmap with Media Live Sample, BitmapSample.zip
BMP Decoder Live Sample, BMPDecoder.zip
Bouncing Balls (LocalConnection) Live Sample (requires popups), BouncingBalls.zip
Chess Wars (LocalConnection) Live Sample, ChessWars.zip
GIF Decoder Live Sample, GIFDecoderSample.zip
Local Chess (Out of Browser) Live Sample, LocalChess.zip
Mandelbrot (WriteableBitmap) Live Sample, Mandelbrot.zip
MediaFlow (Perspective 3D) Live Sample, MediaFlow.zip
Effects Sample (Pixel Shaders) Live Sample, MoreEffects.zip
Posted by jstegman | 0 Comments

Silverlight 3 Out Of Browser Chess Application

The final sample from my Mix 09 talk is an Out Of Browser version of the Silverlight 2 Chess Application.  You can find the source for this sample here.

Posted by jstegman | 1 Comments

Local Messaging Samples

I posted the Local Messaging samples I showed at Mix 2009 including the Bouncing Balls sample and the Chess Wars application.  Click here to run the Bouncing Balls application (you’ll need to temporarily allow pop-ups).  To start a ball, click on anyone of the 4 HTML pages that pop-up.  You can find source for the bouncing balls application here.

 

To run Chess Wars, Click on the image below.  To have browsers compete JavaScript engine to JavaScript engine, start two versions in two different browsers and have one be “Local” and one be “Remote” (both with JavaScript for the other player).  You can find the Chess Wars source here.

 

Chess Wars

Posted by jstegman | 3 Comments

Chroma Key Pixel Shader Sample

Here’s the source to the WriteableBitmap and Pixel Shader sample I showed at Mix 2009.   Click on the image below to run the sample (and have the Silverlight 3 Beta installed – you can get that here).  Drag one of the images (or video) from the left and drop into the center area to see where WriteableBitmap is used.  Drag the video on the right into the center to see the Pixel Shader in action.  This sample will use a “shader” to mask out a chroma key (in this sample, the chroma key is black but the shader supports any color as a chroma key).

 

 More Effects

 

The demo shows the following new Silverlight 3 features:

  • WriteableBitmap
  • Pixel Shaders (chroma key shader)
  • Drop Shadow Effect
Posted by jstegman | 2 Comments

WriteableBitmap Sample

Here's the source to the WriteableBitmap sample I showed at Mix.  The sample uses WriteableBitmap to take a "snapshot" of the running video to make a thumbnail.  Click on the image below to run the sample.  When running the sample, click on the running video to create a thumbnail.  You can find the video for this sample here.

 

 

WriteableBitmap Image

 

 

The demo shows the following new Silverlight 3 features:

 

·         WriteableBitmap

·         WrapPanel (new SDK control)

Posted by jstegman | 3 Comments

Perspective 3D Sample

Finally getting around to posting the Mix demos, and the first I’ve posted is the Perspective3D demo.  I've posted the source here and you can click on the image below to run the sample.

 

MediaFlow Image

 

 

The demo shows the following new Silverlight 3 features:

 

·         Perspective 3D

·         ElementName binding

·         FileSaveDialog (to CSV which is consumable by Excel)

·         Animation Easing

Posted by jstegman | 7 Comments

Mix09 Presentation and Deck

I did a packed “What’s new in Silverlight 3” session at Mix 2009 and had a blast.  I’m working on posting the samples but for now, you can find a video of the session here and my deck here.  Samples and walkthroughs should all be posted by Monday…

Posted by jstegman | 2 Comments

Source Code for Silverlight 2 Runtime and SDK Controls Published


Seema’s blog post has more details, but the source code for the Silverlight 2 controls, both runtime and SDK, was just released.  This source code includes control source, source for support types (e.g. EventsArgs), Visual Studio project files and unit tests (unit test are only for the SDK controls).

 

Source is provided for the following controls:

 

Silverlight Runtime Controls

  • ButtonBase
  • Button
  • HyperlinkButton
  • CheckBox
  • RadioButton
  • ToggleButton
  • RangeBase
  • ProgressBar
  • Slider
  • ScrollBar
  • Thumb

Silverlight SDK Controls

  • Calendar
  • DatePicker
  • DataGrid
  • TabControl
  • GridSplitter
Posted by jstegman | 1 Comments

Update on Feature Requests


I am continuing to aggregate the requests and have the updated and abbreviated list below (removed items with less than 1 or 2 requests).  A couple of comments based on some of the requests:

 

I am tracking 3D even though ScottGu announced Silverlight 3 will support 3D.  For Silverlight 3, we are introducing the ability to treat 2D objects as if they are in 3D space.  You can view this support as being able to draw content (XAML) onto a postcard and then position that postcard in 3D space (this is also called perspective transformations or non-affine transformations).  What I am tracking for “3D” is the ability to do full 3D – which is the ability to have full 3D objects/models (e.g. a 3D box vs. a postcard) and rotate/shade/light that object.

 

I have not included an item for bitmap effects as we have announced plans to support a pixel shader model in Silverlight 3 and Silverlight will include a few stock shader effects.

 

There are some things we are continually focused on and one is performance.  For performance, we are scenario focused – meaning we pick the most important scenarios and then optimize those end to end.  For general performance requests, including requests for hardware acceleration, it would be helpful to understand what scenarios you feel do not meet performance expectations.

 

There are numerous requests for mouse wheel and there was a comment that suggested the reason we do not support this is due to a security concern.  To clarify, the reason we do not support this in Silverlight 2 is that mouse wheel events are not exposed to Silverlight in all browsers (see this post for more details).  We continue to look for a consistent way to work around this issue.

Feature Count Comments
Web camera and/or microphone input 33 Includes requests for just microphone as well
Bitmap APIs 28 Support get/set pixels and/or rendering a XAML scene to a bitmap.
Full 3D 26 Full 3D support (full 3D models)
Printing 22 Printing APIs
Offline and/or out of browser support 17 Support running Silverlight when not online (or completely out of the browser)
Rich text support 13 Editing and display (and flow, multi-column, inline hyperlink)
Text quality 12 Includes requests for knobs on anti-aliasing
Bi-directional text and/or complex script 10  
Right mouse button 9 Ability to configure the right click
UDP/P2P 9 UDP APIs generally for Peer to Peer support
Interactive designer 8 Support an interactive designer in Visual Studio
HTML Integration 8 Support HTML hosting (live HTML documents) and/or HTML translation
Support more than BasicHttpBinding 8 Most common request is for WSHttpBinding (session support)
Clipboard support 7  
Improve Silverlight/WPF compatibility 7 Mostly feature requests for either Silverlight and/or WPF
More controls 8 Including navigation tree, multihandle slider
Selectable text 7  
Improved DataGrid 6 Several different requests including support for Virtualization
Mouse wheel 6 API and support in existing controls
SaveFileDialog 6  
Data and/or property triggers 5  
Reporting services 5  
Synchronous web service calls 5  
ADO.NET DataSet/DataTable 4  
Alpha video 4 Chroma key support
Custom markup extensions 4  
Drawing APIs (immediate mode) 4  
Element name binding 4  
Local relational database (SQL) 4  
Modal dialog 4  
Assembly caching 3 Want a framework for downloading/managing assemblies
Binding support to anonymous types 3  
Credentials/auth 3 Requests for networking stack and ASP.NET type integration
Multi-target DLLs for .NET/SL 3 Build a business object DLL once for both .NET and Silvelright
Multi-touch support 3  
Path Animation 3  
Speech and better audio decoder 3  
VisualBrush 3  
Posted by jstegman | 15 Comments

Silverlight Feature Requests


Currently, there is not a general location to log Silverlight feature requests (we’re considering adding something on Silverlight.net for this).  Given the lack of a central spot, I’ve taken a few threads on the Silverlight forums related to a Silverlight wish list as well as some comments from ScottGu’s Silverlight 2 blog post and Scott Barnes’ blog and aggregated the requests into a single list with frequency counts.  I left off things that have already been announced in Silverlight 3 but left on others that have not yet been announced.  There are numerous reasons why something will or will not appear in the next version of Silverlight including customer demand, time to implement, business need, security concerns, performance concerns, ability to implement consistently cross browser and cross platform, etc.  Therefore, items at the top of the list below won’t necessarily appear in the next version of Silverlight – however, it’s likely we’re engaged in solving those problems in one way or another.  Net result is the Silverlight product team does look at these requests and they do have some impact on shaping future Silverlight platforms.

 

Feel free to continue to make requests and I’ll try and update the counts every month or so.  One thing that would help for requests is some insight into the scenario for the request (if it’s not obvious).  For example, if you need UDP, include details on your scenario for UDP (e.g. P2P game and if so, we may be able to solve that with a more targeted API).  One area to call out specifically for scenarios is requests for WPF and Silverlight compatibility.  In general, if you want a WPF feature in Silverlight, call that out as a Silverlight feature request vs. a compatibility request (e.g. want triggers in Silverlight).  If you have a need to share resources between Silverlight and WPF, call that out as compatibility and let us know what you’re doing that requires shared resources (to better help us determine how to focus our work in this area).  

 

Feature Count Comments
Web camera and/or microphone input 33 Includes requests for just microphone as well
Bitmap APIs 26 Support get/set pixels and/or rendering a XAML scene to a bitmap.
Full 3D 24 Full 3D support (full 3D models)
Printing 20 Printing APIs
Offline and/or out of browser support 16 Support running Silverlight when not online (or completely out of the browser)
Bi-directional text and/or complex script 9
UDP/P2P 9 UDP APIs generally for Peer to Peer support
Rich text support 8 Editing and display
Right mouse button 8 Ability to configure the right click
Text quality 8 Improved text quality
HTML Integration 7 Support HTML hosting (live HTML documents) and/or HTML translation
Interactive designer 7 Support an interactive designer in Visual Studio
Support more than BasicHttpBinding 7 Most common request is for WSHttpBinding
Improve Silverlight/WPF compatibility 6 Mostly feature requests for either Silverlight and/or WPF
More controls 6 Random/general requests
SaveFileDialog 6
Data and/or property triggers 5
Reporting services 5
Synchronous web service calls 5
ADO.NET DataSet/DataTable 4
Alpha video 4 Chroma key support
Clipboard support 4
Drawing APIs (immediate mode) 4
Element name binding 4
Improved DataGrid 4 Several different requests
Local relational database (SQL) 4
Modal dialog 4
Mouse wheel 4 API and support in existing controls
Selectable text 4
Assembly caching 3 Want a framework for downloading/managing assemblies
Credentials/auth 3 Requests for networking stack and ASP.NET type integration
Custom markup extensions 3
Multi-target DLLs for .NET/SL 3 Build a business object DLL once for both .NET and Silverlight
Multi-touch support 3
Path Animation 3
Speech and better audio decoder 3
VisualBrush 3
9 Grid 2
Better keyboard APIs 2 Platform independent keycode
Better SEO 2
Binding support to anonymous types 2
Direct database access 2 OLEDB/ODBC equivalent
Flow panel 2
GIF support 2
Global/dynamic styles (skinning) 2
Integrated CTRL+F (in page search) 2
Sound APIs (equalizer) 2 Includes looping
TileBrush (Image Tiling) 2
XPS Support 2
64-bit platform support 1
Android support 1
Better N-tier support 1 Improved data access
Better SharePoint integration 1
Block style text 1 Bulleted lists, paragraphs
Cell based animation 1
CollectionView 1
Color management 1
Digital/XAP signing 1
Double Click event 1
Drag and Drop 1 Between the desktop and Silverlight
Full 5.1 sound 1 Currently fold down to stereo
IDataErrorInfo 1
Inverse kinematics (bones) 1 Flash 10 feature
MediaTimeline 1
Multi-binding 1
Navigation model 1 Includes browser history integration
Validation controls 1
XPATH support for data binding 1
Posted by jstegman | 33 Comments
More Posts Next page »
 
Page view tracker