We are building a training website where we need to track viewers watching videos and store detailed info about the viewing (when they paused, if they watched the whole video etc)
What should we consider when deciding between the two technologies?
I forgot to add. This is for an in house app. We have complete control over the environment. If it this was for a public application I would definitely go with Flash.
I'm just looking for technical advantages of one over the other from someone who has used both.
I'll chime in because it seems people missed the point of the question: What are the technical advantages of Flash vs Silverlight? (as it pertains to an in-house app)
Flash Pros
- The "artistic" interface is much better, in my opinion. If you have artists and designers that are used to using Illustrator or Photoshop, this is pretty straight forward.
- The way their environment integrates frame-based movie timelines is pretty slick and has been for years. It makes it very easy to integrate and layer many different animated elements and sounds into your movie or animation.
- All coding is done in the JavaScript-esque language ActionScript, so the learning curve for the syntax at least is pretty low for non-microsoft developers.
- Online support. There are years and years worth of posts that can help you figure out what you need to do to get what you want in Flash.
Silverlight Pros
- It uses .Net as a back end. If you have a lot of .Net developers, you'll be able to leverage the .Net framework which is a much more powerful set of tools, programmatically speaking.
- Easier to debug. In my experience it's easier to debug than Actionscript, largely due to the superior IDE.
- Bringing me to the IDE. The coding IDE is vastly superior to Flash's clunky, cobbled together, fancified textpad. It has intellisense, auto-complete, etc.
Flash Cons
- In my extensive Flash experience, If you're making a highly interactive app, it can be buggy as all get out. Some of the bugs bordering on nonsense, the work arounds being hackish at best.
- The IDE sucks. Period. It's notepad with some poorly implemented intellisense-esque keyword identification.
- The language falls on it's face at times. I've seen instances where all of a sudden a var got all type-sensitive on me, where it wasn't just two stanzas prior. My fault? Maybe. Probably. But nonetheless I've seen some weird behavior from ActionScript, whereas C# has always done what I've told it to.
- No real standard way of doing things. No "best-practice put your code here" way to do things. Flash lets you put code on anything. A frame, a MovieClip, an object, an array... sure whatever, just pop some functions on some stuff and party! This makes finding bugs in someone else's app a real chore.
Silverlight Cons
- Not a lot of documentation yet, in my opinion.
- Substandard "artist" interface by comparision. If you're going for a certain look, it may be harder for your designer to acheive.
- If you're not used to XAML, layouts can be a real pain in the butt. If you've never used XAML, and you've got a sort timeline to get this thing done, you best be prepared to put in some extra time, or be okay with a less than stellar look and feel. It's not quite as easy to get the look that you want with XAML as it is in Flash.
Again, all of this is in my own opinion and from my experiences. Other people may have different opinions.
If you have a few designers and some Flash experience, go with flash. If you want to learn something new, pad your resume, and you've got nothing but .Net experience, go with Silverlight.
In the end, do whatever it is that makes you like coming to work. (as long as it meets your deadlines. lol)
Oh, and I should note, I wasn't talking about FLEX here, but Flash.
having had to make the call between silverlight and flash recently for a very intense interactive component, i had to go with flash. and for one reason:
online support.
If i have a problem building something in flash, chances are pretty good that I'll find help somewhere online from someone thats overcome the same issue. And with Silverlight being new and still fresh from beta iterations, finding that same volume of help is unlikely (at least right now.) In the end, my Flash app was pretty complicated and I still had quite a few issues that I was unable to find help for and just had to dig through api's and try a few things out. Had I gone with Silverlight instead, I would have been desperately idle.
dont get me wrong, i'm dying to jump into silverlight and I'd love to convert my flash app to SL someday. I just need the online community/forum presence to grow. And it will. I'm excited to see where Silverlight will go.