Jeff and .NET

The .NET musings of Jeff Putz

Sponsors

News

My Sites

Archives

Making a business case for Silverlight

I've been thinking a lot about Silverlight lately, for a lot of reasons. What really put me to task was my boss asking me what its impact is and if he should care about it. That certainly changed my approach and purpose for thinking about it.

As one typically does, I started by Googling around for opinions and analyst comments. There really aren't a lot of great objective opinions out there. There's a whole lot of "Flash roX0rz, Silverlight and M$ suX0rz" nonsense, written largely by Flash developers. That's not helpful, but it got me thinking a lot about Flash. I've spent a lot of time with Flash lately, experimenting with some stuff and getting to know it a little better. As an animation tool, it has a certain level of familiarity for me because I was using Adobe AfterEffects way back in 1999 to animate video. I remember the first time I saw the Flash tools, thinking that Macromedia totally ripped off Adobe (ironic since they've since bought them). What has been less obvious in my experimentation is how they arrived at the programming model. That's where I get hung up the most.

Writing code in the context of a temporal structure (the time line) is weird and unnatural. It feels like it was just glued into it because they couldn't think of anything better. It becomes even more frustrating because the predictive typing (can't call it Intellisense, really) isn't very good, and debugging isn't much fun either. Oh, and ActionScript is essentially JavaScript, which I'm sure causes pain for a lot of people. Then there's the issue that Adobe hasn't done a good job of selling Flex as a "real" IDE, and honestly I've never even seen it. Despite all of this, it's easy to appreciate the power that Flash has. For something that started as an animation tool and grew into UI/software platform, it's not terrible.

But I think that's the point at which I started to wonder if it was entirely appropriate to consider Flash and Silverlight competitors. Yes, they're both displayed via browser plug-ins, but Silverlight is an opposite in many ways to Flash. It's a UI/software platform that happens to do animation. When you define it this way, you describe it as a solution to different problems. At that point it doesn't seem like a versus debate anymore. And if you cut out the versus part, and therefore the platform religion, I think you get a clearer picture to consider.

That picture has a lot of clear pro's and con's. On the upside:

  • You can build rich UI with minimal pain to solve complex UI problems. The easy control nesting and rendering tweaks make this so silly easy.
  • Your .NET developers can start using it right now. They mostly get the programming paradigm today, with some exceptions that books and tutorials will address.
  • You can code in Visual Studio, which by most accounts is the world's best IDE. Not saying everyone agrees, but my cross-platform friends feel strongly that it's true.
  • The player is a pretty easy download.
  • Even though it's still beta, the NBC Olympics site was a pretty good case study in how well it works.
  • The code isn't a time line thing, so it's not so weird to traditional OO code monkeys.

That said, there are also some valid concerns:

  • Penetration is a mystery. Sure the Olympics helped, and we can only assume that once it ships it'll get pushed out by way of Windows Update, but having to download a plugin sucks. If this site is accurate, that's not a bad start for beta software.
  • Adobe AIR/Flex folks are even more nuts than people making PC/MAC flamewars. Like it or not, that influences people.
  • The primary design tool is Windows-only, and I'm not sure if designers would even like the tool. If Expression Blend is built on WPF, one can only wonder that if Silverlight, a subset of WPF, can run on a Mac, how hard would it be to get ALL off WPF running on a Mac? Yeah, I'm talking .NET on a Mac.
  • It hasn't shipped yet. (Well, v1 did ages ago, but I think we can agree the "real" release is v2.)

From the developer angle, it's hard to argue against it. From the designer angle, it's a toss up leaning slightly against it for Mac shops (especially those who haven't upgraded to Intel machines). From a business angle, you've got the idea that you can leverage existing talent to build stuff and pit it against end user adoption. At the end of the day, it seems that the best you can do is wait and see for some point after v2 goes RTM.

Of course, if you're a developer, you probably already can think of a great many things to do with it today, and I think it's important to get out there and try that stuff. Deep zoom is a killer feature, and we could only make it more interesting by finding more novel ways to use it. But there I go making it religious again!

Comments

jstengel said:

Good post.  Just one clarification...

"...and we can only assume that once it ships it'll get pushed out by way of Windows Update"

Not likely. It may become a Microsoft Update but not a Windows Update...at least according to a recent event I was at. After the browser wars, MS has to be really carefull what it pushes out through the Windows Update that could potentially compete with other technologies.

MS needs to do exactly what was done to proliferate Flash--only faster.

# September 25, 2008 4:34 PM

Henry said:

This is a good post, although I think you're a little misinformed about Flash/Flex and Flex Builder, and it doesn't help your arguments.

First off, Flash and Flex are two separate, although very similar, technologies. Both compile to .SWFs, and both are run in Flash Player. The difference is in their target usages: Flash is geared more towards animation/Web site widgets, etc. whereas Flex is aimed directly at people making RIAs. RIAs can be made in both, of course, but Flex is made for the purpose, and includes tools such as MXML (it's XML-based user interface format, which is conceptually the same as XAML) and a whole host of UI components, which Flash lacks.

While Flash might not be a competitor to Silverlight, I think Flex definitely is.

Flash no longer requires developers to develop to the time line. From Flash CS3 (and maybe earlier) developers can set a base class on the Flash document as the Application class, do everything through ActionScript and pretty much ignore the time line completely. The reason many don't, I believe, is simply because they originally learnt how to do it the other way - perhaps starting out as animators/designers doing a bit of scripting. And you're right: programming for the time line does feel weird to "OO code monkeys" like myself.

Flex Builder is the IDE for developing apps in Flex. It's built as a plugin on top of Eclipse, so you can get all the awesomeness that Eclipse brings like bug tracking and Subversion integration in the IDE (and much more). I believe (although I quite possibly could be wrong) you can also set it up to compile standard Flash as well.

Flex Builder is a very capable IDE, unlike the Flash authoring tool which, like you point out, is very very weak for ActionScript editing.

As an aside, I have to disagree about your point the Visual Studio is the best IDE out there. Visual Studio is a great IDE, and the best if you're working with C#/.NET, but for other languages - especially Java and C++ - Eclipse has Visual Studio beat hands-down. That being said, choice of IDE often just comes down to personal preference.

"...Oh, and ActionScript is essentially JavaScript, which I'm sure causes pain for a lot of people..."

Could you elaborate? There is, of course, a learning curve involved if your developers don't know JavaScript, but it's pretty minimal for anyone who knows another language or two.

"...Adobe AIR/Flex folks are even more nuts than people making PC/MAC flamewars. Like it or not, that influences people..."

Could you elaborate on this too? It seems like a pretty wild generalisation.

# September 26, 2008 1:09 AM

Jeff said:

I don't think it's *that* wild of a generalization. I see it all over the Web.

Regarding Javascript, I just don't know very many people who like working with it. Debugging it is no fun and the lack of type safety drives people nuts. That's not to say that there aren't people who love it, I just don't think very many of them are .Net people.

I understand the difference between Flash and Flex, but I don't think it matters as they both get you to the same place. I don't see how that changes my opinion or weakens my argument, especially since I'm not arguing against Flash in general. I just don't care for it or feel it's the best tool to solve certain problems. It's easy for me to say that since I make a living with .Net, just as it's easy for Flash people to say that Silverlight won't solve the problem they have.

# September 26, 2008 1:22 AM

kamii47 said:

Good Post.I just have a concern on playing silverlight on other platform.Like browsers on Linux and MAC.

Silverlight is very new in market and will be matured as time passes and then we should compare the market share of it.

# September 26, 2008 2:12 AM

Jeff said:

Current builds work fine on the Mac. That's what I used for my Olympic viewing. As for Linux users, I'm sure it would hurt their feelings, but I'm not concerned about a rounding error in my traffic stats. ;)

# September 26, 2008 9:40 AM

notboss said:

ActionScript 3.0 includes extensions to JavaScript including optional strong typing. Since you haven't used Flex, which is now in version 3.0, I wonder why you feel capable of comparing Flash and its development and design tools to Silverlight? You should also consider that the Flash player includes things that Silverlight does not. For example the ability to capture and stream audio and video, hardware accelerated video, 3D graphics, and limited peer-to-peer communications.

If you're a .Net developer then you have a natural predisposition to Silverlight. Why pretend what you've written is based on anything else?

# September 27, 2008 9:28 PM

Jeff said:

I'm not pretending anything, why are you so defensive? This isn't a case against Flash, as much as some observations about why I don't care for it as much.

The strong typing in Flash is optional, and it doesn't do you a lot of good until runtime. Silverlight has things Flash doesn't as well, so it depends on what your needs are (if Flash has "limited peer-to-peer communications," Silverlight has the full sockets namespace available to it).

Flex isn't part of the CS, so I haven't used it. That was one of my points... why would I?

# September 28, 2008 10:26 AM

Funny Blog » Blog Archive » bfunny wallpaper/b ?? Making a business case for Silverlight said:

Pingback from  Funny Blog  » Blog Archive   » bfunny wallpaper/b ?? Making a business case for Silverlight

# September 29, 2008 11:15 PM

Mike said:

Your replies to comments vs. your claims in the article are a joke. As much as you mention the Mac/PC fiasco being parallel to the flash/silverlight argument your replies only seem to show you as one who cannot see his own bias and ignorance towards the situation. You mention the features and lack there of as a reason why flash is bad, or why 'you just don't care for it' and then when people reply showing you why your views are flawed, you reply with a who cares attitude as if what they say had nothing to do with your arguments when they are actually directly attacking your logic/arguments.

For example, you mention Flex as if its just an IDE and go on about how flash forces you code in the timeline. Then when someone replies pointing out your mistakes in that logic, you reply with why does it matter when they all 'get you to the same place'. Thats contradictory. Your arguments are not based on the flash player, swf files or plug-ins, its based on the development of flash. So the fact that both tools 'get you to the same place' has nothing to with your argument or his, they are about development. Your just being blind to your own ignorance/bias and are coming off as arrogant.

And understand I am not a flash or silverlight developer and I have no bias towards either tool. I am a software developer. I just see your replies as arrogant and blind to your own bias furthering the situation of having a lack of 'great objective opinions out there'.

You: "Silverlight roX0rz, Flash and Adobe suX0rz"

# October 17, 2008 10:05 PM

Jeff said:

Another defensive post. Did I ever present any of this as anything other than my opinion, colored by own experience? I'm arrogant because I have an opinion? You've contributed nothing.

# October 17, 2008 11:19 PM

Funny Blog » Blog Archive » funny wallpaper ?? making a business case for silverlight said:

Pingback from  Funny Blog  » Blog Archive   » funny wallpaper ?? making a business case for silverlight

# October 20, 2008 12:02 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)