#Silverlight in your #intranet…

…Or why you should really consider it if you are planning a new LoB applications

In the past months, I have been asked several times and for difference (UI) scenarios which technology would I chose if I had to implement the solution myself.

Most of the time, I have answered Silverlight. For plenty of reasons.

Within this blog post, I will try to highlights some reasons specific to Line-of-Business, intranet solutions.

The most important consideration for intranet applications is that Silverlight brings the best of the 2 classical worlds (fat & web) together:

  • With the exception of the 6MB small plugin that must be installed once, Silverlight applications are deployed as web applications

    • No client side installation: Easy & cost efficient deployment.

    • They work cross platform and cross browser:

      • Internet Explorer, FireFox, Safari, Chrome

      • Windows 2000, XP, Vista, 7, 2003, 2008, Mac OS, Linux through partnership with Novell

  • Silverlight’ UI richness and responsiveness are comparable and in some areas even better than installed (fat) application.

    • Silverlight applications go way beyond HTML, with support for 2D vector graphics, streaming video, animation, HD video, interactivity and more.

Silverlight Out-of-Browser applications

Additionally to this last point, Silverlight even supports an Out-Of-Browser configuration that implements 2 security concepts (in bold the features that are particularly interesting for LoB applications):

Sandboxed applications

  • Place HTML within your application enabling much tighter integration with content from web servers such as email, help and reports.

  •  Provide support for ‘toast’ notification windows, allowing applications to communicate status or change information while the user is working on another application through a popup window on the taskbar.

  •  Offline DRM, extending the existing Silverlight DRM powered by PlayReady technology to work offline. Protected content can be delivered with a persistent license so that users can go offline immediately and start enjoying their content.

  • Control over aspects of UI include window settings such as start position, size and chrome.

Trusted applications

  • Read and write files to the user’s MyDocuments, MyMusic, MyPictures and MyVideos folder (or equivalent for non-windows platforms) for example storage of media files and taking local copies of reports.

  • Run other desktop programs such as Office, for example requesting Outlook to send an email, send a report to Word or data to Excel.

  • COM automation enables access to devices and other system capabilities by calling into application components; for instance to access a USB security card reader.

  • A new user interface for requesting application privileges access outside the standard Silverlight sandbox.

  • Group policy objects allow organizations to tailor which applications may have elevated trust.

  • Full keyboard support in fullscreen mode richer kiosk and media applications.

  • Enhancements to networking allow cross-domain access without a security policy file.

  • Custom Window ‘chrome’ to provide a highly branded experience

More info: Silverlight 4 Business Apps: Module 8 – Advanced Out of Browser and MEF 

Advantages over classical web (HTML, AJAX)

A non-exhaustive list…

  • With Silverlight you can create rich Internet applications that go way beyond HTML, with support for 2D vector graphics, streaming video, animation, HD video, interactivity and more

  • The client side code is written in .NET

    • Mature Languages: c#, vb, and  dynamic languages

    • OO, MVVM, MVC,…

    • Full debugging experience

    • Error handling

    • Faster execution

    • The powerful .NET engine outperforms by far the Javascript one

    •  Large amount of .NET libraries available

    • Powerful Data Binding

    • Powerful DataGrid & DataFrom control

      • Editable

      • Customizable through Template and Style

      • Sorting, Auto Filter, Freezable Columns

    • LINQ to OBJECT

      • Enables client side filtering

      • Combined with Isolated Storage enables powerful client side caching.

    • LINQ to XML

  • Write once, runs exactly the same in every browser (differently than JS)

  • Powerful client-caching through isolated storage

    • Excellent for profiling or caching seldom-changing data

  • After the first call, the SL client is stored locally on the client: Only the data is transferred from the backend to the client.

  • Multi-tiers WEB (see later WCF RIA Services)

Advantages over fat clients

A non-exhaustive list…

  • No need for client deployment!

    • The client only needs to have the SL plugin

    • No “dll hell”

    • Updates management as easy as for web applications

  • More innovation target SL rather than classical fat client technologies

Silverlight for developers – Efficient development boosts return on investment

Silverlight can be used for different scenarios, enabling significant code sharing among them and increasing the development productivity:

  • Rich Browser Applications
                  
    à Cross browser & cross platform

  • Installed Applications (Out-of-Browser)
                  
    à Windows & Mac

  •  Touch-enabled / Kiosk Applications
                  
    à Windows 7

  •  Mobile Applications
                  
    à Windows Phone 7

  • Rich Portlets
                  
    à Sharepoint, Portals, Web Pages,…

Additionally,

  • Same tools and technologies familiar to current .NET developers

  • Silverlight is a subset of .NET à easy to learn and use

  • WCF RIA Services!

WCF RIA Services 

WCF RIA Services introduces enterprise class networking and data access for building n-tier applications including transactions, paging of data, WCF and HTTP enhancements.

It simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations. It also provides end-to-end support for common tasks such as data validation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier. RIA Services is installed by default as part of the Silverlight tools for Visual Studio 2010. 

Silverlight for IT Professionals

Silverlight makes it easy even for ITPros!

NB: In my previous post “Deploying Silverlight in the Enterprise in a secure way”, I have already listed the most important sources of information, with a particular attention to the security aspects.

Silverlight Peculiarities

Deep Zoom

Deep Zoom provides the ability to interactively view high-resolution images in Silverlight. You can zoom in and out of images rapidly without affecting the performance of your application.

Pivot

The combination of Pivot and Silverlight enables you to create a unique and diverse experiences all over the web. We have already seen examples ranging from retail storefronts, to large image galleries, to social networking scenarios, to business intelligence solutions but we know that even more is possible when you add your distinctive content and creativity to the mix.

IIS Smooth Streaming

I have already posted a few entries on Smooth Streaming.

Additionally to the great benefits for the user experience while watching videos (live or video on demand), IIS Smooth Streaming minimize the data load on your network: Removing the need for buffering, only the “bits” of the videos that are really watched are transmitted over the network.

Furthermore, these “bits” can be cached with “cheap” http cache mechanisms, eliminating the need for an expensive infrastructure.

SL Links

·         www.silvelight.net

·         Silverlight4 Shows Value for Business Development — Redmond Developer News

·         Silverlight Overview – Technical Whitepaper

·         Silverlight4 Courses on Channel9

·         Deploying Silverlight in the Enterprise in a secure way

·         Building Business Applications with Microsoft Silverlight