Home >
I've been knee deep in Silverlight lately, (which is why I have not stuck my head up to blog lately) and its all Microsoft's fault. Silverlight 3 has so many great features and the roadmap is looking so promising to me that I have been spending a lot of time wading through the features, some more mature than others, some just a glimpse of what is to come.
Lately there has been no lack of opinion on Silverlight and how its unfolding. However among all of the opinions I found an interview with Scott Barnes from Microsoft be be very interesting. You can read the full transcript of his interview here. Scott has an interesting take since he was an ardent supporter of Flex prior to his role with Microsoft. He is a RIA man, which is probably the best moniker for him.
From the interview, Scott's favorite features of Silverlight 3 are Out of Browser, Pixel Shaders, and Effects. I have to agree with him that these features are a welcome addition to Sivlerlight. Effects such as Blur and DropShadow come out of the box and are available in the beta now. I expect there will be more of these including many custom ones in the community. Perspective 3D, ClearType, and other visual aspects are being added as well, as Scott mentions. These types of features really help make a more robust user experience.
Out of Browser (aka OOB) is one of my personal favorites to come to Silverlight. I thin kthere is still a lot of confusion over what this is as I have read several commentaries on how its not AIR, WPF is better, and so on. First off, I don't view OOB to be a replacement for anything ... I view it as an additional tool in my toolbelt. OOB applications still run in a sandbox, and that is a good thing. TO allow them to interact fully with the desktop would make them, well, a desktop application. And at that point WPF is a better model. The sandbox is important so Silverlight can maintain security, since it is still a web app. OOB applications allow .NET developers to create rich web apps and run them on a desktop. One of the big compaints of RIA applications is the long load time (its all perspective). Whether its Flash or SIlverlight users do not want to wait for load times. With OOB, once the app is loaded out of the browser and on the desktop, future loads are much quicker since the XAP file is now local. This also is one of the attractions we have to AIR apps, like Twhirl.
Getting back to Barnes take on Silverlight, I agree with much of what he has to say in this interview. The best quote from his article is the summation:
In closing Pete, I honestly think both Microsoft and Adobe are solving similar problems but with a different set of tools, and so we are both just going to co-exist. I don’t think you have to be one or the other and companies like Cynergy Systems for example get this, where they are being successful on both platforms.
I agree completely with that statement. I know some of the people at Cynergy and they do "get it". RIA is the space, not Silverlight or Flash or whatever may come tomorrow.




Facebook Application Development
I don't know Cynergy so well but being able to master on a platform requires having all the the team (user experience, graphic artists and developers) knowing all the potentialities/limits of the platform, and it is already pretty hard master on a single platform. I'm not saying that it is impossible or that they don't get it, but I say that it's hard to ask to companies to get it ;)
@christian - You're exactly right. It's silly to take Cynergy as an example because most companies developing RIA solutions would go broke trying to use both platforms unless the skills for each were already in place.
Also, IMO, doing both just defies logic under normal circumstances. The only reason to do that now is the totally pathetic penetration of the Silverlight runtime, due to the bungling of it's rollout by Microsoft.
It may be 2 years or more before you can use SL in a general website, so Flash/Flex is your choice simply because users will be able to see it. Only MS people believe that end users will download a control to buy something from a merchant. In the real world, consumers have a choice, and generally pic the choice that requires less work(read Flash).
Microsoft, and a lot of us SL developers totally underestimated the runtime delivery problem, but it turns out that it's HUGE. SL isn't even standard in IE8!!! WHY?
@Fallon Massey
1. At this stage, Silverlight is a very good choice for developing business applications for professional people, eg. trading systems. I have been developing some of them since Silverlight 2 Beta 2 released and they are very successful, ie. my clients like them very much. That will help push up Silverlight adoption.
2. Micorsoft even can't make Silverlight as a critical update to Windows systems, let alone say IE8. They are worried to get another anti-trust problem.
So, in conclusion, we need to make our effort to get things better. My experience is start from Intrranet and business applications. Silverlight doing a much better job than any other competitors in this area and you will finally get rewarded for your smart choice.
@Lixin I wonder if Flash penetration is driven more from RIA or from microsite/banners though. In the latter, MS has an incredibly long way to go.
@lixin - Can you explain how Silverlight is a better choice over Flex for developing business applications for professional people? Is it a good choice for people who are not professionals? What about a non-business application, if Siiverlight is capable of non-business applications, is that just for non-professionals or can professionals use it as well?
It's also true that MS cannot force Silverlight onto people through Windows Update as a critical update, but they do have the advantage over Adobe in that they can still offer it as an optional download. If they had it in Windows by default in anyway they would probably get sued, which is sad in a way.
And I apologize but your entire post just sounds like a sales pitch for Silverlight. If you wish to explain why your choice of technology is better then you need better language for your posts.
I for one love the fact that MS came out with Silverlight and I hope they match Flash feature-for-feature in the near future. Why? It's simple, Adobe would then be forced to create new features and innovations for Flash and then MS would have to respond. MS has been copying Flash features to catch up and they've done a wonderful job doing so. I don't understand why MS fans just don't admit it, it isn't a bad thing. After all, Flash shows what the market wants and MS needs to give the market what it wants to sell.
But one of the claims in that interview I find rather unfair. Scott in one breath claims the adoption rate is 4 to 1 as compared to Flex. That's good to hear. But in the next breadth he credits that to the fact it is so in sync with .Net that it is easy for those developers to cross over. With Flex, people have to start from scratch or convert while with Silverlight often people just have to switch what the compiler compiles to. It is not an apples to apples comparison. Someone in those comments pointed this out and the next guy dismissed him as an idiot to be ignored. Which is funny since the interview admits that very thing IS the reason for the high adoption rate. And Flash people are arrogant? I see this crap on both sides to the point I wish I had a fanboy filter on comments as they do not add anything to the discussion.
Oh, and I just read through more of the comments where the subject of the interview felt the need to respond to people in the comments.
He comes off as a egotistical jerk. But that could just be me.
This isn't the guy that claimed Flash is only good for cartoons back in the day is it? No, that seems to have been another ex-Flex guy now working for MS.
@Travis
-- That was me. And I didn't say that cartoons were all that Flash was good for but one area where Flash was clearly better--and should be since that's what Flash was originally designed for.
Silverlight, on the other hand, was originally intended for RIA's and media experiences (video) and as such I definitely believe Silverlight is a better technology for actually building rich applications on the web. And this isn't just chatter--I've actually put my money where my mouth is and staked my career on the belief that Microsoft has the right DNA to build great development platforms. If Silverlight has been able to catch up to Flash for video and RIA in just two years, what are things going to look like in two more years?
So, is this scary for Flash/Flex developers? I don't think so. RIA is a wide-open market with room for competition and growth. There will be no shortage of gigs for ajax, Flex, Silverlight, and WPF. Ultimately, competition just stimulates a market for the good of all.
But don't take my word that Silverlight is better--see for yourself. If you're a developer, go to the getting started section of silverlight.net and make up your own mind on whether you're missing out on something better.
-b
(hmm, I think I already did a blog post on this...)
Ah, it all comes back to mind now. That article was mentioned here and I even commented on it. The other comments in the post suggest others agreed with me in that the original statements by you were not very productive. Your statements now are much milder and nicer than what was stated before.
Flash was not originally intended for media experiences nor RIA because when it came out such things did not exist. I know because I was there. I don't care if Silverlight is intended for media experiences right off the bat because I expect it to. It is not a selling point for me.
There is and always will be an ongoing dispute of whether Silverlight has caught up with Flash in terms of video and RIA. You work at MS so I apologize but I have to instantly distrust your opinion in the matter much like I would distrust someone from Adobe making claims along similar lines.
I don't dispute that MS builds great development platforms even though I do not use any of them. Adobe has always had the problem in not always listening to the desires of developers in the Flash community. For example, the falling behind of a proper IDE for Flash development. Yes, there is FlexBuilder but that's not the same thing. I'm hoping Silverlight will begin to change that but I doubt it because Adobe seems to assess, correctly I feel, that Silverlight is a competitor to Flex, not Flash.
So far, every version of Silverlight that has come out I have take a look. So far, I haven't seen a reason to move to it. Most of my Flash applications are not business applications so I haven't bothered with Flex either. Silverlight fans keep pushing that it is better than Flex for business applications but keep comparing it to Flash for some reason but at the same time refuse to admit that it is copying Flash/Flex features. Flash fans can be just as annoying at times when comparing it to Silverlight.
Another reason not to move yet, I don't come from a .Net nor C# background so there's a learning curve for me.
And as I stated before, competition is a good thing. I just wish this talk of "this technology" is better than "that technology" that usually degrades to flame wars for no reason would just stop. Every technology has its place and if the market doesn't like it then it will fail.
It is good to see a Silverlight guy admit that both technologies can coexist peacefully. Now if only the rest of the fanboys, including Flash ones, could only agree.
To be clear, I completely agree that there's a learning curve for Flash/Flex devs to move to Silverlight. That's why I say that if what you already know is working for you, keep doing what you do. But for those that suspect that the RIA technologies and tools they are currently using are making things harder than they need to be for creating real applications on the web, you should check out Silverlight and Visual Studio (and Expression Blend). There's a microsite that has information on how to get started if you come from a Flash background here: http://channel9.msdn.com/continuum/tutorials/. Silverlight.net also has a good "how to get started" page that lists all the links you need.
Again, don't take my word for it. Check out Silverlight 3 for yourself! :)
oh, and while you're at it, take a look at the new SL3 poster preview on my blog at http://scarynoises.com/blog
-b
microsoft
@Travis Almand - Very level headed remarks. I don't work for MS, but I can tell you that Silverlight is fundamentally superior to Flex in two ways.
First, the speed and flexibility of the .Net platform leaves Flex in the dust. Secondly, the ability to multithread is an area that Flex may not have until they decide to do a complete rewrite of their code(not likely anytime in the near future). Note: I should probably include a superior development environment, but MS is simply known to be better there.
However, end users don't care about any of these advantages... unless they translate to advantages in the delivered applications. The true fact is that great designers and programmers can generally do whatever they need to deliver an application that end users could care less what technology stack it sits on.
The decision of which technology is most used, is squarely in the hands of the development communities of Flash/Flex & Silverlight, becuase the technical differences are not great enough for end users to differentiate.
These flame wars make me sick, and generally mask the truly important issues. However, technology is like religion. If you're born in a Christian country, you're probably a Christian. If you're born in a Muslim country, you're a Muslim. So if you're a .Net developer, you're likely to use Silverlight, and the same for Flash/Flex.
In the words of that man that took a fierce beating.... can't we all just get along(lol).
@Travis Almand
> Can you explain how Silverlight is a better choice over Flex for developing business applications for professional people?
Did you use C# and Visual Studio to develop a business application?
You can write an entire multi-tier business system from back-end to silverlight client-side(or any others such as ASP.NET pages, desktop standalone executables) without leaving Visual Studio and C#. For comparison, give me an example that you can write server side logic in Flex.
I am recently involved in writing an application which includes typical work-flow control, which has a webservice (WCF) interface with which my client's customer can use their own applications to send in requests, and a Silverlight application running on my client's computer to get alerts, assess trading risks and approve or refuse those requests. All modules are developed within Visual Studio and we use WCF, Windows Work Flow(WF), smart polling and server push service for Silverlight. Can you use Flex to develop such a system without leaving Flex Builder?
@Fallon Massey
I might not be experienced enough but I really haven't seen anyone developed business applications in Flex around or near my work enviroment yet.
I did see some Flash based online ordering systems on some public sites. They are so simple that some of my friends who are also Flash designers said they can do the similar things in Flash IDE. So I have no idea how popular Flex development is at the moment. However Flash IDE is never good enough for developing complex business applications.
My personal conclusion, which I also believe it'll agree to what most .NET developers think, is that Silverlight and Flash/Flex will surely coexist. Silverlight is not competing Flash. Flash will keep dominating the banner market and normal quality video player market (Flash is still lacking http based smooth streaming for HD videos). Flex, from my point of view, is not good enough for developing business applications. I will not go on Flex route but still be expecting some good works from those Flex developers.
@Lixin have you ever seen Sliderocket, the Aviary suite, or the ILOG Elixir V2 Components?
If I google "flex examples" I find http://flex.org/showcase/ where there are a big list of live projects.
If I google "silverlight examples" I find http://silverlight.net/community/communitygallery.aspx which basically contains only tiny demos.
If you are still expecting good work from Flex developers, probably you should leave more often your Intranet for Internet ;)
Most Flex developers use Flex Builder as a plugin within Eclipse, so you can certainly write front to back applications in the same IDE.
@Ben Clinkinbeard
Yes they can use the free Flex Plugin within Eclipse with other server-side development tools, then they need another language, another framework and another skill set to build their server side.
I heard lots of complaints about Microsoft's monopoly in IT industry. But when you think about developing applications, if you can deliver an application with good code quality in half development time by using Microsoft development platform than using other development tools, you can imagine who will win.
@Lixin
Flex Builder + AS3FlexDBKit can make it. Just a quick server configuration and you are ready to access a MySql database directly from Flex, with no other server side development. What you can build upon it is limited by your knowledge of AS3 development and how far you can push it. Personal experience, I already developed a promotional sales tool based in this framework, and it worked pretty well. Right now I'm using this same tools to build a project management tool for the agency I work at.
I'm not trying to say that it's the best development environment you can work on, but it's sure worth a look at. And it can be very powerful, as long as you know how to work on it. I can't say it's better than Silverlight, just because I didn't use it yet.
Before you ask, I have a background as a .Net programer, both for desktop and web environments, and I know how powerfull it is. But I also know that one of the most valuable things to a programer is know what technology to use in each situation, based on his own knowledge and experience. So, let there be Flex, Silverlight and whatever else may appear! We can only win. ;)
@Caio
I was not aware the existence of AS3FlexDBKit until you mentioned it to me. Thanks for this great information.
I have got some knowledge about this product after I quickly checked http://code.google.com/p/as3flexdb/ and http://www.amfphp.org/ ,
1. AS3FlexDBKit is using AMFPHP. Lucky I also have some experience in PHP so I know the server side is actually PHP.
2. You still can't avoid writing server side PHP code for authentication. If the user data are dynamic and persisted in databases of XML files, you still need to write typical PHP code to get them.
3. You still need to create server side PHP files to get class mapping between server side (PHP# and client side #AS). You may argue that you don't need it but it is quite important to get the codes in good management from my point of view.
I could have known some more features about them if I had time reading more on their websites.
Have you ever written server side PHP code in your development? Correct me if you think I was wrong on it.
I always recognize the values of Flex and Flash and never underestimated them although I think they are not suitable for me. I neither religiously praised Microsoft's products.
I am pretty pragmatic on my work. That's why I don't know why some people are overreacting on Silverlight. It is just a good technology with which you can make a living or even a very good future. If you really hate Microsoft, just develop a better technology to beat them and then I will surely use it to make myself live better if it really suits me.