Click here to Skip to main content
15,888,089 members
Please Sign up or sign in to vote.
4.33/5 (3 votes)
Hi to all
I've been writing asp.net / javascript database applications for a few years...add, edit delete and report.
Now I have a new client who wants a web app that will display his health and education videos to paying customers.
My problem is: which technology to use? I've researched HTML5, Silverlight, Flash, Flowplayer.
All seem to have their pros and cons. HTML5 video not available on IE8 (though Modernizr may help there), Flash not supported on IOS, Silverlight not supported on IOS
Also, the client does not want the user to be able to easily save the videos to disk.
I've spent a day researching this already, and I'm currently favouring HTML5 / Modernizr, but I'd like to know what you would do?

Has anyone else had the same problem? I'd much appreciate a few quick thoughts, just a summary, I can write the code....
Or some useful links?
Posted
Updated 2-Sep-12 5:21am
v2
Comments
Bryce Abbott 3-Sep-12 5:11am    
Hi, thanks for all your input, Christian, Ed and Roliking. I appreciate the effort you put into answering. I think that I will probably go with html5 with a fallback to flash for older browsers.
The main reason I'll do this is that html5 seems to be the future, while Flash seems to be on the way out, and Silverlight, though elegant, has limited applicability.
I'll store the videos in Azure blobs, and construct a url with limited life credentials so that at least the user won't be able to capture and re-use the url. And I'll research putting a transparent div over the video.
Once again, many thanks for your help.

I recommend you to use Silverlight. Because, you have truly control of the elements, especially graphics and video. It's not supported on iOS, really. But depends on what kind of customers do you have.
http://msdn.microsoft.com/es-ES/library/bb404700(v=vs.95).aspx[^]

I also, like HTML5 and I see a very good solution for you requirements on it.

As I said before, all depends of your customer's requirements.

Hope it helps in any way.
 
Share this answer
 
Comments
Ed Nutting 2-Sep-12 11:30am    
I voted 3 because...well really see my solution but in short: SliverLight is a terrible recommendation even if you were only looking at desktop browsers... Most users have never actually installed SilverLight (I only did because it came with Visual Studio!) and it's not exactly taking off. Furthermore, it is (for proper support) limited to IE.

All clients these days should be expecting maximum compatibility but also maintainability and lasting code. SilverLight in the long run, will not be maintainable/reliable/sustained. Far better to go with what will be a long lasting standard - HTML5 - and then use graceful degradation to support IE8.

Ed
Christian Amado 2-Sep-12 11:34am    
You're wrong Ed. Silverlight it's a cross-browser, cross-platform technology. It runs in all popular Web browsers, including Microsoft Internet Explorer, Mozilla Firefox, and Apple Safari, Google Chrome, and on Microsoft Windows and Apple Mac OS X. So, you can implmenet successfully on this question. If you see my solution you can find that I recommend both solutions depending on customer's requirements not based on developer decision. Anyway, I appreciate your feedback. Thanks.
Ed Nutting 2-Sep-12 11:38am    
You recommend SilverLigth first..bad move IMHO... and yes SilverLight does work across those but how many people do you know that actually installed it? Furthermore, for the health and education market, SilverLight certainly isn't a good solution. For instance my school haven't installed it and where my dad works (primary school as technician) they haven't installed it. That applies for the majority of schools and probably the health market too. I have re-voted to a 4 because I didn't know SilverLight worked on Apple Mac but still it's not a good solution...

Ed
Christian Amado 2-Sep-12 12:19pm    
Thanks for your feedback Ed. But, silverlight will be automatically installed if his solution requires it. Regards.
Ed Nutting 2-Sep-12 12:25pm    
No..it won't be...it's a web app... If he requires SilverLight the admin will have to install it. This is not a good option if the admin has to install even more stuff. Admin's (of XP) I'm sure would much rather just have to install Flash which they do anyway than have to install Flash and SilverLight. Furthermore, SilverLight is far inferior to HTML5 as an option if you're honest.
Ed
Hi,

I would suggest you to go for Silverlight as you have more control over the video players and it is simple and easy to use. But it all depends on the kind of clients you are working for. As you mentioned Flash is not supported in iOS but Silverlight does work on iOS but you may face some issues running your silverlight applications on iOS but that can be fixed with some R&D and may be few adjustments in your code.

But if your target client range is a maximum of Windows users then Silverlight would be the most ideal for you. In HTML you can just embedd YouTube videos which may be easy to download without authrorization. But with Silverlight you will have complete control over your videos and can rely on it for secure upload and download.

So just go ahead with Silverlight.
Hope this helps.

Happy coding.
 
Share this answer
 
Comments
Christian Amado 2-Sep-12 12:20pm    
I recommend it too. +5 for you. Regards.
Ed Nutting 2-Sep-12 12:40pm    
Sorry but SilverLight is just not the best option for reaching his client's market and actually making it easy for them. Majority of schools and probably health facilities too will not have SilverLight installed and a large proportion of home users will either not have it installed (and not want to hassle with installing it) or will be on a Mac. While Mac is supported, many Mac users will be even less likely to have it installed or ever install it. Far better to use the HTML5 standard with a small piece of extra code (in JavaScript) that detects if Flash or possibly SilverLight are available and then embed whichever is necessary.

Using SilverLight because it gives you control of the player's UI is also not a good option. While it may be helpful for some things, one of the aims of HTML5 is to make web apps have a more standard UI to make it easier for users. Having every tom, dick and harry produce their own player UI is annoying not only because users get fed up of learning a new UI, and because they see so many different ones they can't tell which web apps to trust and which to not EVEN if in reality they are all using the same safe thing, but also because there is a huge amount of unnecessary code reproduction.

Use HTML5, support the standard rather than the Adobe/Microsoft hacks. Then give some backward compatibility/graceful degradation by inserting Flash/SilverLight where necessary. Most users will already have Flash installed though. Most won't have SilverLight. Using HTML5/CSS3 and any necessary JavaScript to create your UI will always be better and will always last longer than using Flash or SilverLight - come on. Everyone knows SilverLight was basically launched as an MS rival to Flash - or it sure looks like it. But look at the fate of Flash? It's dying and even Adobe are telling people to use HTML5!

Ed
Hi there,

Well given recent developments (i.e. Flash no longer existing on Android or at least not for much longer) and the fact that Flash will be totally discontinued in probably less than a year, it's a pretty sure bet that Flash is your worst option.

Flowplayer I have never heard of in itself but given that it is advertised as a "Flash video player for the web", it comes with all the same issues.

Sliverlight has largely failed to take off in pure video as a rival to Flash given it's significant limitation to only really IE.

So ultimately it comes down to three options (two of which you haven't considered - one is a hybrid). You can either use HTML5, or go the popular YouTube way. Adv/disadv of both:

YouTube: Make videos private so not searchable if wanted, will play on any device due to Google's massive effort to get YouTube working in all browsers (will do it all for you), Buuut videos will be easier to download.

HTML5: The up and coming best way to embed videos. Still easily downloadable but will work in almost all browsers (use correct video format - see W3Schools) and will be a low maintenance method.

(Note to your client: If they can download it to view it in browser, they can easily download it and save it to their hard disk. No way around it at the moment unless you get into messy DRM stuff which isn't actually (other than Flash) supported on the web yet. Hopefully future versions of HTML5 will introduce some combination of HTTPS/DRM for the video/audio tags but at the moment it's not possible. You will just have to put up with people downloading it - it's why people are so riled about copyright/intellectual property/file sharing sites especially with movies at the moment - see the news.)


I am assuming given your client's market that XP/IE8 must still be supported (which is sensible and fair enough). This does leave you with a third and final option that I can think of and one that I highly recommend (based around Google's approach). I will assume, form your own description, that you are competent enough to implement this theory by yourself:

1) Upon receiving a request, grab the User Agent
2) If the User Agent matches the IE8 User Agent, continue to step 3, else step 4
3) Output into your HTML a Flash embed tag for the video. Go to step 5.
4) Output into your HTML an HTML5 Video tag for the video. Go to step 5.
5) Continue page as normal.

This will allow you to use maintainable/reliable up-to-date methods (i.e. HTML5) while still having a graceful degradation to XP/IE8. I have no doubt that Flash will remain available for XP users for some time - long enough at least to last with IE8 - even if it is not "officially" available from Adobe.

Hope this helps,
Ed

Vital/helpful links:

HTML5 - Setting multiple possible video sources to support all browsers - using different video types for Safari and IE.[^]

A very good page from W3Schools covering all encompassing HTML solutions and the YouTube solution - read the full page![^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900