My thoughts on why Silverlight isn’t for Flash Developers, and what does it really mean for Microsoft

A lot of discussion lately happening on the topic of Silverlight, especially in relation to Flash. One discussion that is a must read if you haven’t done so already is on Grant’s blog. I’m not going to rehash what Grant has said as he has done a great job presenting a balanced perspective. One thing though that I thought I would add considering my experience with the Microsoft platform is what I feel is another perspective on the driving factor for why Microsoft has been marketing Silverlight so heavily.

See one thing about being a .NET (Microsoft Platform) Developer is that Microsoft works hard at providing a complete development platform story. It does so by providing the operating system, servers (IIS, SQL Server, etc), developer tools, frameworks, languages, compilers, and debuggers (I’m sure I left something out). Because of this, it is very typical to find .NET development shops only versed in Microsoft platform technologies. Since MS provides them with pretty much everything they need, why would they bother dealing with other vendor technologies that don’t “integrate”. For those who don’t see the real benefits for this, just consider that with Visual Studio you can debug an IIS call through the HTTP Pipeline, through the .NET CLR, all the way to SQL Server and back. That is pretty powerful integration if I may say so myself. Microsoft platform developers are used to this kind of integration, and this helps keep those developers eyes focused solely on using Microsoft’s platform.

So, this brings me to what I believe is one of the driving factors of Microsoft developing Silverlight (Note: This is my view and is not at all backed by any credible source). Lets start with a simple fact. Microsoft benefits greatly from having Microsoft developers only interested in their platform, by doing so this forces more sales of their operating system, servers, and in general continues in the cycle of Microsoft keeping its strong power in the software industry (monopoly). You can see how important this is by many of the company’s behavior. Things like releasing SQL Server Express for free, Visual Studio Express for free, etc. These are not products that cost Microsoft chump change to develop, but because the business folks at MS did the math, they were able to justify it by the prediction of more sales of complimentary products, especially their flagship product, Windows. Which is a great decision by Microsoft.

So to finally get to the motivation. My guess is that once every little while some execs at Microsoft sit down and discuss how to keep the monopoly going. One of their items on the agenda must be to discuss who the risky competitors are. They probably even rank each one, vote on it, and allocate a budget from their savings to fighting off each risk. One such risk the past decade has been OpenGL, a cross platform graphics library used by many applications and especially games. To combat this technology Microsoft built Direct3D, and more recently Windows Presentation Foundation (WPF). Microsoft fights by building great tools and libraries that make it really easy to build these graphically intensive applications. Now I don’t have any confirmation to this other than some Microsoft employees at one point hinting at it, but think of it, if developers can build the same thing faster, with less code, but such applications only worked on Windows, it only means that many applications will likely be built to only work on Windows and will likely not see the light of day on any other operating system. Co-incidentally of course Microsoft is not going to port these technologies to any other platform other than Windows. So this clearly spells out the fact that Microsoft isn’t as interested in seeing their technologies adopted, just interested in seeing their operating system keep its penetration up. Another side story, one time when Redmond flew me out to their offices along with a few others, we sat down to discuss Microsoft’s future plans and their technologies. At one point I asked if they would ever be willing to sell a .NET CLR for Linux. I even mentioned how I would be willing to pay more for a .NET CLR for Linux that was officially provided by Microsoft than what we pay for Windows Server. I don’t remember the exact response, other than the fact that it would never happen, but the discussion eventually turned into how can Microsoft make Java work better under Windows. That day I couldn’t help but realize how strongly Microsoft is architected around the idea of Windows keeping its power. Here I was sitting with the CLR architects at Microsoft and they were asking us how is it that they can make Java better on Windows than Linux, even if it is at the cost of .NET.

Moving on to Silverlight. To continue with my assumptions, at some point when the Microsoft execs sat down and thought about other technology risks out there, up comes Flash and the web. After all the web makes the Microsoft operating system useless, the more apps that move to the web the less need there is for Windows. What is also worrisome for Microsoft is Flash. As the technology has matured and Macromedia started building Flex, a framework for traditional developers, Microsoft realized that it is very possible that their developers will find the technology useful. And that is where Microsoft’s risk scale starts going through the roof. If their developer base uses a technology other than their own, how likely is it that those developers will start promoting cross-platform applications? Very likely I say. More so is the fact that not long ago Adobe bought the technology, which automatically raises the risks much higher. When Flash was with Macromedia, it was a cool technology that was backed by a company that can’t match Microsoft’s deep pockets and really wasn’t as organized as Adobe. With Adobe, Flash is now part of the 4th largest software company out there. It is true that Adobe doesn’t have the same funds Microsoft does, but Adobe has been very successful at bringing to market technologies like PDF that today dominate as big as Microsoft’s Office products do, so they could likely do the same for Flash as well (Last I heard, Adobe PDF accounts for 60% of Adobe’s revenues, why wouldn’t Adobe want the same for Flash)

So this in my opinion has forced Microsoft to push Silverlight more and more, and my guess is since Adobe’s acquisition of Macromedia, Silverlight and WPF have received a lot more funding, just to make sure the risk is reduced for Microsoft’s long term viability.

Just to elaborate a bit more. The main point is that I don’t believe Microsoft cares to suddenly grab Adobe’s developers to use Silverlight over Flash, the number of Flash developers is puny in comparison to Microsoft’s developer base. Instead I believe their main driving factor is to keep their existing developer base loyal to Microsoft technologies (hence promoting their monopoly) and to keep ignoring Flash. Even if Silverlight doesn’t do as good of a job as Flash, the fact that it is integrated within Visual Studio will be reason enough for many of their developers to not bother looking at Flash. Now some may argue, but look, lots of Flash developers are being paid to do Silverlight work by Microsoft. Why would you say that they don’t’ care for Flash developers. To me this is just a temporary thing (Grant touched upon this). The main reason Microsoft is doing this now is Flash developers have a lot of experience building these so called RIAs. Microsoft’s developer base does not, so rather than try to teach their developers really quickly how to “design” such application, the “goals” of such applications, etc. They can just get some Flash developers who know what the outcome should be to learn and hack away at using Silverlight. The other point is that Silverlight knowledge can be applied to WPF. So if you start playing with Silverlight, you will quickly realize you reuse that knowledge/familiarity to building WPF applications which just so happen only work on you guessed it, Windows.

Anyways, for my last point. I think Adobe is missing one thing with all of this (At least if my assumptions are true). If you believe me in that Microsoft’s main goal is to keep its developer base loyal and grow it slowly, then it would make sense for Adobe to be on the offensive in that territory. Microsoft has enough money to do a lot of damage everywhere, and so far Microsoft has been on the offensive most of the time, but Adobe is making it even easier for them. Adobe so far hasn’t been pushing Flex with Microsoft developers, even though the technologies work very well together (On my team we do it all day long). So if Adobe competes with Microsoft for the attention of Microsoft developers, the Silverlight story could easily change.

No matter what, it is pretty clear that Silverlight isn’t going anywhere anytime soon. Microsoft has enough money lying around to keep Silverlight going, and they never really count on a version 1 product to go anywhere anyways.

If you made it this far, I just want to remind you that I don’t’ have any insider information that causes me to make these assumption and neither have the experience of running companies as large as Adobe or Microsoft. These are just my assumptions which I thought I would share.

18 thoughts on “My thoughts on why Silverlight isn’t for Flash Developers, and what does it really mean for Microsoft

  1. Pingback: BIT-101 Blog » Blog Archive » Balanced info on Silverlight and Flash

  2. I think you are exactly right in all of this. I’ve always thought MS was ‘weak’ in the sense that most of their profit comes from two sources, Windows and Office. Your article made me think (realize) that part of the reason so many other sectors of theirs aren’t profitable is they are only designed to drive the other two. So I guess in a sense the average Windows user is actually paying for my copy of C# Express, thanks everyone : ).

    I think another strategy they always employ is to bleed their competition of money for a few years before going in for the kill. So if Silverlight has better cheaper tools, it doesn’t necessarily matter if they take over. If it just pushes Adobe to lower prices or even open source things, MS considers that ‘profit’ being as the competition is relative. To really compete a company needs something that causes them to lower the price of Windows and Office, but of course that is tricky.

    Very insightful post, thanks…

  3. I think you got almost everything too right…

    Adobe can “count” on a thing which was never been so important up to now: cross platform.
    Yes, we always had this myth of being able to code once, use everywhere (java ?) and always tried to extract the best from this… here comes Microsoft which makes not profitable to develop for cross platforms, because windows install base is so big and (as you wrote) win development is very cost effective (at least if you consider time-to-market).

    Problem is that with this new “age” of internet, web applications are becoming more and more powerful and useful. Being able to run your app on ANY device is becoming a key feature!

    IE no more has this hughe install base, handelds systems are increasing their numbers, Macs are more and more frequent… MS is losing its advantage and, most of all, is paying for it’s “inability” to adapt to different platforms.

    This is MY opinion and i may be completely wrong, but i think that Flash is much less powerful and promising than silverlight but it’s size, speed and install base play a key role in all this matter. I’m not so sure silverlight can “beat” flash to death.

    Just my opinion

  4. Great post. I think you’re spot on with the last point about how Adobe should be targeting .net devs–not that it’s an easy task and not that they haven’t thought about this…. but it’s important.

    I guess I don’t see Silverlight as that huge a topic. Rather, it’s WPF that is MS’s focus here. Silverlight is like an add on. Almost after the fact. I haven’t thought it through as clearly as you have to really be confident, but I think Silverlight is just an extra thing they developed so that in the rare case a .net dev wants to deliver to XP or Mac, that they can. And… that the whole MS way of doing things isn’t defeated out of hand because it isn’t cross platform.

    I agree with Robin that MS isn’t terribly bright if all their eggs are in the Office and OS basket. Just like how Adobe is risking things slightly if they put all their eggs into Acrobat.

    Anyway, good reading!

  5. Great post!

    I think Adobe needs Flex to have more Visual Studio elements before they can feasibly chase .net developers. If the average .net developer looked at FB2 now they might say it looks like VS 4 years ago. If nothing else, thank God AJAX may soon dwindle in numbers. It’s like Flash in 1998 when everybody needed a Flash site no matter what the cost or ROI. Now it’s AJAX, not that it doesn’t have its place…it’s just highly over used for RIAs.

    Now Flex/Flash and VS/Silverlight are reinventing the RIA world – it’s a great time to be a developer no matter which platform you prefer.

    Thanks for the detail in your post. I’m curious to learn more on how the two can work together.

  6. “So if you start playing with Silverlight, you will quickly realize you reuse that knowledge/familiarity to building WPF applications which just so happen only work on you guessed it, Windows.”

    That’s a great point–it looks as though Microsoft has paved a yellow brick road which leads web developers to windows development. According to the Silverlight website, developers can use their existing skills in Javascript and XHTML. It even highlights the ability to integrate with PHP and Apache. Once these developers get the hang of working with Silverlight, not only will they realize they can build WPF apps for windows, they’ll also see how much more powerful WPF is. The problem is, the power comes at the cost of the app being cross-platform.

    I personally think we’ll see the two technologies co-existing for a long time. Michael’s right. It’s a great time to be a developer.

  7. Pingback: links for 2007-05-09 « thebadtiming

  8. Good post. Long time reader first time poster.

    As a general rule of thumb I usually stick with the development tools provided by the manufacturer of the development language I’m using. i.e. Coldfusion = Dreamweaver. That way I can always be assured I am keeping up with the latest trends and making sure I am using “what most people are using” for my desired language. This can be especially helpful when browsing online forums for help when you get stuck on a particular issue.

    I’m sure MS will see a lot of .NET people using their stuff, but I would be curious to see what percentage of other types of developers make the switch.

  9. Pingback: NoxDies-tech » Blog Archive » Silverlight

  10. I’ve just written a quick reply on grants blog, but i’d like to reply here also (cos you’ve raised separate and interesting points).

    The realism is that Adobe currently has nothing to offer developers (not just c# ones).

    AJAX has been availible in some for for years, and is not as popular as many of the agencies would have us believe. I know a huge number of websites that have had usability issues with it (users apparently like/are used to the page reloading); not to mention that it starts to narrow again the number of browsers your websites can successfully load for. this ‘widespread’ AJAX rollout is just like the widespread ‘must use flash’ craze of crica 1998-9, and will die down sooner rather than later.

    Flash does a number of things brilliantly, it really does. But it also does somethigns really badly; well not badly, just not as good as technology thats build for that specific purpose. Apart from Adobe itself, it doubt any big company uses the crazy Flash/Flex/FlashServer based model for anything other than it’s adverts.

    C#, Php, C compile to make MUCH faster WebServices, can handle more data, and can manipulate it in a much faster way. So why would any right minded developer give up writing better code, in a more stable language, with a wider background, with transferable skills, to write in a closed and specific platform? Especially if they have to use a program aimed at designers, that works alot worse than the developement suite they themselves used 5 years ago?

    The answer is that they wont. There is not carrot, and there is no stick. And thats why there is currently a HUGE gap in the market for Flash/Flex Developers across the globe. Unless you come from a Creative/Flash/Flex/Agency background, where would you have learnt the skills required? no-where.

    Adobe, and to be fair Macromedia before it, has a nice learning path for people to move from Design > Flash > Flash Development. There is no option as a developer, because all the product suites are set up in a counter productive way for us. They’re not bad products (far far from it), but they are bad for developing.

    For all that Microsoft may not understand designers, Adobe REALLY doesn’t understand developers.

    I dont think Microsoft is building a Flash Killer because i dont think it’s possible for Flash to be killed. It’s become a cornerstone of the ‘web’ technology. But with Silverlight Microsoft is giving non-creative people a way to create the program they want, without having to be reliant on creatives. It’s my opinion that this will solve way more problems than it creates, with microsoft going after a different market than Adobe.

    Oh, and for everyone who thinks that Microsoft is being all evil etc. lets not forget that Adobe tried to do exactly the same thing not that long ago. Who remembers LIVEMOTION?

  11. Pingback: Silverlight Vs Flash: Trying to collect different opinions | MCSE Blogs

  12. Here’s a crazy, wacky idea: Make a Visual Studio plug-in version of Flex. Adobe did it for Eclipse, why not do it for Visual Studio? I don’t know how difficult it is or whether it is possible, but they should look into it. I’m not saying drop Eclipse or that VS is more important than Eclipse, but if Adobe wants those VS people, they should spend the $ and make it happen.

    I was a Visual Studio C guy for many years before switching to Flash/Flex. Visual Studio is a great development environment. It took me a while to get into Eclipse, and I still like VS more than Eclipse.

    If I could do my Flex and ASP.NET development with the same platform, I’d be happy guy.

  13. I think you hit the nail on the head! It is also my belief that MS created Silverlight not to lure away Flash developers, which is a tiny number to begin with, but to keep their .NET developers working in within the MS ecosystem to produce RIAs. Why learn Actionscript when you can reuse your .NET experience to create something equivalent to Flash?

    I’m a Flash developer with prior .NET experience and a traditional CS background. I’ve looked at Silverlight. You can tell by the way the libraries and development environments are set up that it’s geared towards pre-existing .NET developers. Whereas Flash is geared towards designers who picked up programming, WPF/Silverlight is designed purely for traditional programmers. That’s why Flash development is so easy to pick up–it’s pragmatic. Not so with the .NET framework. It’s a behemoth designed for general programming. You can make almost anything with .NET. RIAs are just an add-on. There’s no way a Flash designer/developer without traditional CS experience can pick it up. But as you rightly concluded, MS is not aiming for Flash developers with Silverlight. ;) There are a lot more .NET programmers than Flash developers.

  14. Hey There. I found your blog the use of msn. This is
    a really neatly written article. I’ll be sure to bookmark it and return to read extra of your useful info. Thanks for the post. I will definitely return.

  15. If you spend many hours in your enclosed carport, garage
    or metal building, no doubts you. Therefore, the units should not be left unattended or unmonitored.

    Another problem that will be avoided is the mildew and mold because these
    nasty fungi will not be able to adhere themselves to the steel of the strong
    building.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>