Available at http://www.ijcsonline.com/
Comparative study of Rich Internet Application Platforms: Microsoft Silverlight
and Adobe flash
M. Pavithraa, A. Praveenab and S. Thilagamc a,b,cDepartment of Information Technology, Vivekanandha College of Engineering for Women,
Tiruchengode, Tamilnadu, India
Abstract
A rich internet application is a web application that has many of the characteristics of desktop application software. Among them Adobe Flash, Microsoft Silverlight are the important software used for writing, running and executing rich internet applications (RIA).In this paper we mainly focused on the comparative study of Silverlight, Adobe Flash to show how they differ from one another and also the calculation of their system time.
Keywords: Rich internet applications(RIA), Flash video(FLV,FLV4),MXML, Common language runtime(CLR)
.
I. INTRODUCTION
In general if a web application is designed to deliver the features and functions associated with desktop application means it is known to be a rich internet applications (RIA). It does not need any software installation on the client side rather it normally runs inside a web browser. Some RIA run on specific browsers. In this paper our comparative study is about Silverlight and adobe flash. Both Silverlight and adobe flash can execute RIA but with some restrictions.
Adobe flash is a multimedia graphics program that is used to add interactive multimedia on the web was initially released on 1996. It is a tool for delivering RIA. It supports hardware accelerated decoding of h.264 videos on windows and Mac computers[2]. Of flash, the main drawback of adobe flash is one that it is included in web browser as a complete standalone runtime which may result in a problem that all web browsers shortcuts and focus are lost when playing flash movie.
After that Microsoft Silverlight was initially released on 2007, just like adobe flash, a tool for creating and delivering RIA and media on the web. It is a cross-platform and cross-browser plug in and thus run in most web browsers. It can be work on either PC or Mac computers, there is a open source implementation in Silverlight which is known as Moonlight with which it can work also with Linux devices[2]. To view the Silverlight content the browser must have the plug in installed. Windows phone 7,8 have native support for Silverlight. Silverlight applications are developed using Microsoft visual studio.
II. DATA COLLECTION
A systematic approach of gathering information from a variety of sources to get a complete and accurate picture.
A. Adobe flash
In this paper we have to measure system time in Adobe flash using the following methods
(i) getTimer:
The program starts timing the duration of animation in milliseconds. getTimer method is most widely used in adobe flash games and its applications. In this method after initiation of timer it cannot be reset at any situation. Flash is a vector-based graphics format so that instead of animating each frame it can just scaled to any size without losing quality it in turn save disk storage space. The graphics put in to library will be saved as a template so that we can reuse the graphics templates.
Figure1: A comparison between the getTimer method and the getMilliseconds method
(ii) Date class
The result showed that there is no significant difference between the use of getTimer method and the Date class method for measuring system time.
B. Silverlight
Like adobe flash there exist many methods to measure system time in Silverlight, one of the main reason is it access much of the .NET framework and the libraries associated with it. Because of this reason Silverlight can deploy any time, date functions specified within the associated .NET libraries. In Silverlight full system testing is not feasible due to some differing methods. So we can use,
(i)getTickCounter:
It is used at development stage, likewise highResolutionTimer and DateTime functions were used.
(ii)DateTime:
It is proved that DateTime function available through Silverlight from the .NET library would give suitably accurate and similar results to the measurement mechanism used in flash[2]. The following example shows the methods used to collect the system time and the accuracy of the output produced,
//Create a new date/time object with the current date/time. DateTime Ten = DateTime.Now;
//Calculate the difference between this date/time //and a previous date/time
TimeSpan result = (tTS -Ten); // Send the
results to a text box. testTimeTotal.Text = result.ToString(); //Example result format
startTime(20secs):,13/03/2008 17:25:28, stopTime(20secs):,13/03/2008 17:25:48, total(20secs):,-00:00:20.0140000
III. PRINCIPLES AND COMPONENTS
A. Adobe flash
As we mentioned earlier adobe flash is a vector-based graphics format so that we can scaled to any size without losing quality which reduces storage space without any disk compression[2]. The adobe flash platform does consist of different components like client runtime, tools, frameworks and services. As a result of these technologies we can deliver applications, content and then HD videos.
The component of adobe flash platform as follows:
Flash video (FLV and F4V) and small web format(SWF) are the file formats used in adobe flash. Flash video is only for delivering videos but SWF is for delivering vector graphics in flash, text, video, audio.
Figure 2: The components of adobe flash platform[2]
The programming languages used for designing SWF applications are ActionScript and MXML. Action script is used for logic whereas MXML is used for creating visual layout of applications.
B. Silverlight
Silverlight uses human readable Extensible Application Markup Language(XAML) for declaring user interfaces(UI)[2]. There exist two different models for creating Silverlight applications they are,
(i)The managed API (ii)The java script API
The important one is they both cannot be used at the same time. Managed code is more efficient one as compared with java script. otherwise we can use some other tools, like visual studio, that can be used to create effective Silverlight applications.
Silverlight applications that use the managed API have an access to a light weight version of the .NET framework. The Silverlight platform consist of core presentation framework and also a .NET framework for Silverlight, installer and updater. The .NET framework for Silverlight is really a subset of the .NET framework. It contains components like libraries, common language runtime (CLR) and also networking, windows presentation foundation(WPF).
Figure 3: The components of Silverlight platform[2]
IV. DESIGN
To test the performance accuracy (i.e.) animation lag, experimental tests were designed to replicate within the players and to retrieve specific information at precise intervals.
A .Flash Design
To meet the needs of the performance accuracy experiment using Flash, a master animation was created encapsulating each recursive test animation. The test animations were created using standard on a timeline set to 12 fps as is the default fps. On the starting key frame for each recursive test animation, ActionScript was used to record and store the precise system time[3].
The play head then ran through multiple clean frames for the duration of the animation. On the ending Key frame Action Script was used again to record and store the precise system time at that point.
This process was then duplicated within the master animation until each test had completed. To avoid any additional processing overhead all unused key frames were cleaned from the timeline and the calculation of results was done on the completion of all tests.
The issue of time precision within Flash is worthy of mention, as the Date class used in ActionScript does not support the precision required for accurate testing without modification, however using a Subset method of the Date class, the current milliseconds can be returned as an integer (0-1000), for example:
// Create a new dateobject var time = new Date(); // Get the millisecond count from the date object var mSec = time.getMilliseconds();
// Trace the output for testing
trace(“current milliseconds = ” + mSec); //output: current milliseconds = 642
Due to the Frame-based timeline model associated with Flash animation the following equation (Equation 1) was used based on frames per second and duration of animation to calculate the equivalent time duration of each animation.
Equation 1: Equation used to calculate total expected length of animation in milliseconds.[3].
B. Silverlight
A systematic approach was taken to meet the needs of the performance accuracy experiment using Silverlight. A series of animations were developed firstly within Microsoft Blend.
The ability to mimic the master animation as used within Flash was not implemented in the same manner, as blend storyboards seemingly did not have the ability to call methods within nested storyboards; however, the functional similarities between the Players remained[3].
To achieve this, Silverlight storyboards were created on the same timeline with, different attributes and durations. With the use of Microsoft Visual Studio 2008, the C# code behind was edited and custom methods written, giving each test storyboard instance the ability to invoke the next test in sequence.
V. PLATFORMS AND BROWSERS THAT SUPPORTS THE SOFTWARE
Figure 4: Platforms and browsers that support Silverlight[2]
Figure 5: Platforms and browsers that support Adobe Flash[2]
VI. BACKGROUND
Before the first release of Adobe’s Flash Player, Webpages were one-dimensional; forms displaying data, with occasional pictures, audio and possibly video. The release of the Flash Player gave developers the opportunity to start designing Webpages which could look more familiar to a desktop application. Using the Flash Player developers could create animations, timeline and event driven applications and data-bound interactive interfaces to fit inside the Flash Player.
The Flash Player is installed on an estimated 98% of network connected pc’s today and with each new release of the Player, the updatability period is less than 12 months. As the internet evolves so do the development tools and applications, which in turn drive the next evolutionary stage of the internet. Businesses today are looking to create fully working applications online, which have; the richness of desktop applications.
The data retrieval capabilities of database management driven applications; and the security of an encrypted business application. The term Rich Internet Application (RIA) was coined to describe such an application, built to meet the growing needs of business. To keep up with the demand for RIA’s, the next generation of tools have been released.
Adobe’s Flex Builder, with the introduction of MXML the Adobe XML based mark-up language and Microsoft’s Silverlight. Scripting capabilities, however with the release of Windows Vista they have introduced a new XML based markup language, XAML (extended application markup language, pronounced “zam-el”) and an Adobe Flash equivalent Web browser Player called Silverlight. With development add - on to Microsoft’s Visual Studio for programming and the new separate graphical development tools (expression package) Microsoft’s Silverlight has caught the attention of many RIA developers both who are well versed in Microsoft products and those who formally have used adobe products for RIA authoring.
The critical evaluation is not for a specific client or business, but for the writers own personal gain. There are many discussion boards and other informal platforms of debate, often heavily bias, between the two products; however there is no evidence of a critical evaluation of key areas between the products. It is the aim of this project to design a comparison framework for identified key areas and characteristics of the two products and to be able to conclude a critical evaluation based on the non-bias data.
VII. CONCLUSION
Therefore, the aim of the paper is to compare both Microsoft Silverlight and Adobe Flash from a usability perspective. More precisely because of two issues highlighted; The Flash Player’s inability to maintain accurate animation timing and also Flash is a mature technology used predominantly for gaming and animation which excels at fast rendering[3].The Silverlight Player’s inability to render at a usable rate. . In contrast to flash, Silverlight still in its infancy at the alpha stage, shows incredible accuracy and precision [3].Both Players are compared in this study, as with many available RIA development frameworks, offer extended features in different aspects of functionality.. While these technologies have been labelled as competitors and share many qualities, the comparison has shown that the future of RIA development is dependent on both technologies.
REFERENCES
[2] Paananen, kim:Comparison of Flash, Silverlight andHTML5 technics .Bachelor of Science Thesis, September 2011. [3] Flash Vs Silverlight:A Usability Evaluation James Mallorie BSc
(Hons) Software Engineering Management Library Code: SEM/08/09 Supervisor: Mike Jones Date: 28thMarch 2008 [4] Adobe – Flash Player penetration [WWW]. [referred
17.4.2011]from:http://www.adobe.com/products/player_censu s/flashplayer/.
[5] Silverlight, 2009. Wikipedia: Silverlight. is Available at: http://en.wikipedia.org/wiki/Microsoft_Silverlight [Accessed 28-06-2009].
[6] Silverlight, 2009. Wikipedia: Silverlight. Available At http://en.wikipedia.org/wiki/Microsoft_Silverlight [Accessed 28- 06-2009].
[7] Noda, T. H. (2005). Rich Internet Applications.
[8] O'Rourke, C. (2004). A Look at Rich Internet Applications. Oracle Magazine,1-4
[9] Silverlight – Top Silverlight Features [WWW]. [referred 25.8.2011].Accessiblefrom:http://www.microsoft.com/silverli ght/features
[10] Adobe – Flash Player features [WWW]. [referred 25.8.2011]. Accessiblefrom:http://www.adobe.com/products/flashplayer/f eatures/.
[11] Microsoft Silverlight – About Silverlight, frequently asked questions [WWW]. [referred 28.4.2011]. Accessible from: http://www.microsoft.com/silverlight/what-is-silverlight/.
[12] Adobe – Flash Platform runtime penetration [WWW]. [referred 21.4.2011]. Acces-sible.
[13] Adobe – About drawing [WWW]. [referred 19.4.2011]. Accessiblefrom:http://help.adobe.com/en_US/flash/cs/using/ WSd60f23110762d6b883b18f10cb1fe1af67e89a.html#WSd6 0f23110762d6b883b18f10cb1fe1af6-7e88a.
[14] SearchSOA – Rich Internet Application (RIA), 2007 [WWW].[referred10.4.2011].Accessiblefrom:http://searchsoa. techtarget.com/definition/Rich-Internet-Application- RIA. [15] Silverlight Overview, 2009. Microsoft description of Silverlight.