Microsoft silverlight

1.Introduction

Silverlight is a framework for rich, browser-hosted applications that run on a variety of operating systems. Silverlight works its magic through a browser plug-in. When you surf a web page that includes some Silverlight content, this browser plug-in runs, executes the code, and renders that content in a specifically designated region of the page. What is important is that the Silverlight plug-in provides a far richer environment than the traditional blend of HTML and JavaScript that powers ordinary web pages. Used carefully and artfully, you can create Silverlight pages with interactive graphics, use vector animations, and play video and sound files.

Several other technologies use a plug-in to stretch bounds of the browser, including Java, ActiveX, Shockwave and Adobe Flash. Although all these alternatives are still in use, none of them has become a single, dominant platform for rich web development. Many of them suffer from a number of problems, including installation headaches, poor development tools, and insufficient compatibility with full range of browsers and operating systems. The only technology that's been able to avoid these pitfalls is Flash, which boasts excellent cross platform support and widespread adaptation. However, Adobe Flash only recently evolved from a multimedia player into a set of dynamic programming tools. It still offers far lesser than a modern programming environment like .NET.

That's where Silverlight comes into the picture. Silverlight aims to combine the raw power and cross platform support of Flash, with a first class programming platform, that incorporates the fundamental concepts of .NET. Silverlight boasts a few architectural features that Flash can't match; most importantly, the fact that it's based on a scaled-down version of .NET's Common Language Runtime (CLR) and allows developers to write client side code using pure C#.

2.Client – ourFamily•ology

ourFamily•ology is a genealogy based social networking web application to build and organize a precise family history and a reliable family tree of a user that can be shared with family and friends. This unique and rich featured system contains many key components which are an added advantage when compared to competitors' websites.

Seanergy engineered the project, gathered requirements and made the system very robust, comprising of several key features such as the facility to gain access from anywhere. Security, collaborative research, 'progress rating chart' (unique among genealogy software), publishing of trees, multi-dimensional visual views, organization and support, are some of the other features included in the application. Components such as data transfer (EXIM - import and export) of GEDCOM and PAF files, and external data transfer are in-built in the system. Dynamic link generator to share information with researchers and visitors is also in-built along with many other web services.

Mrs. Brandy Sacco,
ourFamilyology,
205 Stokes Farm Road,
Franklin Lakes, NJ 07
201-315-0228

brandy.sacco@ourfamilyology.com
www.family-genealogy.com

3.Problem – Photo Viewer

1. A Photo Viewer should have a full screen slideshow and some animation when a photo changes. It should be easy even for a naïve user to switch from normal mode to full screen mode and vice versa and he/she need not make any browser specific actions to switch between modes.

2. The application's design and layout should change in full screen mode and should rollback as it was, when it is back in normal mode.

3. Slideshow of the photos should be in full screen mode and should have animation effects similar to PowerPoint's slideshow animation.

4. Design of this application should be easily configurable, so that the photo list can be placed anywhere on the screen.

5. A user should be able to see previous or next photo using keyboard's arrow keys, in normal mode as well as in full screen mode.

4.Solution

Showing any content in full screen mode using traditional HTML and JavaScript is not possible, but Silverlight enables a developer to show any content in full screen mode in a single line of code and a user has to make a simple action, like clicking a button, to switch it to full screen mode. And moreover, an event is raised when the application switches between normal and full screen mode, so that a developer can make any necessary changes in the design or layout. And all these can be achieved independent of the browser a user might be using.

In Silverlight, any control can be rendered inside a Grid or a Canvas. Grid is similar to an HTML table where every object is placed in rows and columns. In a Silverlight Grid, rows and columns can be created or modified dynamically and any control can be associated with any row or column.

Silverlight supports even complex interactive graphics and uses vector animations. Using these two features, any type of complex animations can be created. It can be done in simple XAML or sometimes in C#/VB.NET.



5.Problem – Video Viewer

1. In a Video Viewer, a user should be able to view videos in full screen. It should be easy even for a naïve user to switch from normal mode to full screen mode and vice versa and he/she need not make any browser specific actions to switch between modes.

2. The application's design and layout should change in full screen mode and should rollback as it was when it is back in normal mode.

3. Quality of the video should be maintained automatically so that a user experiences better video streaming regardless of the user's Internet speed, as the video is not smooth for users with slow Internet connections.

4. Design of this application should be easily configurable, so that the video list can be placed anywhere on the screen.

5. A user should be able to see previous or next video using keyboard's arrow keys, in normal mode as well as in full screen mode.

6.Solution

Showing any content in full screen mode using traditional HTML and JavaScript is not possible, but Silverlight enables a developer to show any content in full screen mode in a single line of code and a user has to make a simple action like clicking a button to switch it to full screen mode. And moreover, an event is raised when the application switches between normal and full screen mode, so that a developer can make any necessary changes in the design or layout. And all these can be achieved independent of the browser a user might be using.

In Silverlight, any control can be rendered inside a Grid or a Canvas. Grid is similar to an HTML table where every object is placed in rows and columns. In a Silverlight Grid, rows and columns can be created or modified dynamically and any control can be associated with any row or column. Also, quality of the video and buffering can be controlled so that video streaming is smooth.



7.Problem – File Uploader

Uploading multiple files simultaneously in HTML requires a user to select each and every file individually and then upload it. This is a very tedious process when a user has to upload too many files.

The application should be able to validate file information, like file type and file size on the client side itself, so that a user can experience a faster application.

8.Solution

In Silverlight, as the code is executed on the client's system, it has direct access to file being uploaded, so all the needed validations can be done on the client side, almost instantly. After validation succeeds, the file can be split into small chunks, serialized and transferred to the network. When the server receives this request it will de-serialize the data, process it and return a success message if the process was successful.

Now, the Silverlight application which is hosted on the client reads the success message and updates the progress bar accordingly.

Silverlight supports multi-threading, so each file can be sent to the server independently and simultaneously without conflicting with each other.