Silverlight: Lighting up the client


At PDC last week, Scott Guthrie showed some of the great apps developers have already built for Windows Phone 7 using Silverlight, as well as the rich set of development tools we have just delivered for building applications with it.  If you missed PDC, you can view the keynote and other sessions at microsoftpdc.com (in Silverlight of course!).

Following PDC there have been questions surrounding Silverlight’s future, and I wanted to apologize for our role in causing some confusion around that. Earlier today, Bob Muglia posted some clarifications about this topic and the very important strategic role Silverlight has going forward.

Silverlight enables developers to build fantastic media experiences and business applications for the client, and applications for phone and embedded devices.  Organizations are already using Silverlight 4 as an incredibly powerful enterprise business application platform (complete with powerful data-binding support, networking, WCF, printing, MVVM pattern separation, and more), which together with the tooling improvements we’ve made in Visual Studio and Expression Blend, enables developers to build great enterprise applications with high productivity and results.

I’m very proud of the work we’ve done in four versions of Silverlight and am very excited about the work we’re doing for the next version and we have plenty more to do.

Namaste!

 

Comments (12)

  1. R. Datta says:

    It would be good to get some straight answers:

    1. What is changed around SL stratgy? There was certainly a slip of tongue?

    Is there a fight between Developer Division and Windows Division?

    If you think JS/HTML5 is a replacement for Windows Client, MS will disappear

    like DEC did. Why are you promoting HTML5 so much – HTML applications suck!

    2. Your investment $s in WPF/SL are tiny. Instead of DevDiv/WinDiv territory,

    you need to think about MS developers. Very few are writing to WinAPI (except

    some device driver writers) – it is all Managed Code now. If you think managed

    code sucks and HTML5 is the way to go, you need to have some contact with real

    developers in the street – get out and talk to me.

    Money from WinDiv should go to invest in WPF/SL.  How many WPF only evangelist

    do you employ? Why is WPF on a back seat?

    3. WinAPI is retired. Please stop pushing IE as an application (DeanH).

    It ain't so.

    R. Datta

  2. Sam says:

    Soma: Mr. Muglia and Microsoft in general need to learn to have confidence in their own products. So, let me state the obvious as an outsider in plain language: Silverlight, is by far, one of the best products Microsoft has put together in its entire history!

    This time, its not Microsoft's competitors who are a problem, but Microsoft itself! I fail to understand the what, why and how can you guys start an internal conflict of HTML 5 vs. Silverlight that too in highly visible conferences like the PDC! How can you guys have almost no mention of Silverlight in the keynote??!!! Absurd! And why does a person who oversees the server division have the urge to comment on a client side technology. Mr. Muglia has caused irreparable damage to such a beautiful technology (not Google or Apple or Adobe).

    I wrote a series of comments in the past 2 years about Silverlight regularly in your blog posts and recommended several ideas to help Microsoft's other products: adding Silverlight to enhance Hotmail, MSN, and create apps or gadgets for Windows 7. Some of these ideas did materialize and have added immense value – especially to Hotmail! President Obama's campaign used Silverlight 2 years ago. Olympic websites used Silverlight. What the hell are you guys fighting about? A winner? Many ideas of HTML 5 are taken from Silverlight. Silverlight has so much more than HTML 5 can possibly offer.

    Please tell the developer community your CLEAR AND HONEST strategy for Silverlight and what are the future plans for it in coming weeks.

  3. tadanderson says:

    Personally PDC bored me to death (until Bob did his interview).

    I do not need to pay 5K a year to maintain a software license just so MS can help me develop HTML 5. EVERYONE will be doing that. If they have nothing special to offer, like Silverlight, then have nothing to offer.

    the rest of my thoughts…

    realworldsa.dotnetdevelopersjournal.com/silverlightisdeadlonglivehtml5reallyhtml5.htm

  4. E. Ewing says:

    Soma,

    The link to microsoftpdc.com links to an Outlook OWA login page for Microsoft, not to the PDC as intended.

    E. Ewing

  5. Somasegar says:

    Thanks Ewing,

    I fixed the link to point to the right place.  Thanks for the catch.

    -somasegar

  6. Michael Gautier says:

    Businesses and developers need to engage user’s where they are. Your service (a game, an e-commerce portal, social network, or business application) may have some truly great code behind it. Yet, if your client cannot run it or run your software or run it well, then you have reached a real roadblock in the customer relationship. The solution is to plan well enough that your customer can run your software easily and have it run well. When they access your web application or desktop application, it needs to be as solid as Amazon.com or Microsoft Word out of the gate. Software that cannot meet that standard consistently is not going to make it.

    Amazon.com is a complex website that everyone can access and few people are ever distracted by its technical qualities. The web application works so well that people remain focused on what they are doing. Microsoft Word runs on a Mac and Windows. The Ribbon may not be popular with some, but the software works reliably for a large number of people. As a solid piece of software, Word is able to shadow complexity to an extent that you are actively focused on creating a document, applying the software.

    Silverlight is not a technology that is going to give your users a flawless experience on the level of Amazon.com or Microsoft Word. When you deliver an application in Silverlight 4 and your user is somehow on version 2 or 3 because they are not eager to do Windows Updates, they are sending inquiries into your support department if you have one which is eating into the time you have available to develop new features for the next version. You cannot simply package up the latest runtime with your Silverlight application. The plug-in update process could break depending on the combination of anti-virus, firewall, or other browser security add-ins that could impair the plug-in update process. Should this happen, the user is either going to avoid taking further action with your application or they will give you a call. Let’s say they call, and you walk them through the configuration process, well, if your troubleshooting steps do not work, then frustration ensues or the customer decides it is not worth it or both.

    Adding insult to injury, most of the target customers for your application is either spending more of their time on new devices were the runtime will not function, or all the things running on their machine is slowing down your application. In this scenario, you are attempting to do some tremendous things with Silverlight that HTML lacks at a similar level of support. The code works, and it performs well on your development machine with generous amounts of memory, processor, and system bus resources. Users’ both, business and personal, have a different class of machine that is also new, but not nearly as well configured. Most of them have multiple applications running or some malware or both. They are not technically inclined to consider the resource ramifications of their machine or how they use it. Quite simply, they are running your application and are wondering why it does not run as well as that YouTube video they just watched, also in the browser. The bottom line? You are toast.

    Collectively, Silverlight and Flash are the right technologies for advancements in technology, but the overall operating environment (across platforms), the scenarios in play, and the politics among tech visionaries may doom these technologies to a niche focus. As a result, investing in these technologies would appear to be an unwise direction.

    C++ is not really going away nor is native APIs. It is an approach that will continue with Apple’s Mac platform, Linux, and high-end Windows applications. WPF codes great but does not always run well. Sometimes video playback quality and function is held hostage to the configuration of the machine and no managed coding technique will resolve the situation and you have delve into DirectX and graphics device handles. It does work well in business application scenarios featuring little to no multimedia, but then the rendering of a drop down list may split into a million pieces like static on a TV when a channel is not available. The issue may be a graphics card with a slight bug, but your software is supposed to transparently handle this scenario right? Well, you find that you can’t just ask a user to switch out their graphics card. You have to turn on software only rendering to resolve the problem which defeats part of the purpose of WPF in the first instance.

    Microsoft Excel, on the other hand, written in C++ and doing a million complex things under a simple UI has none of these issues. The lesson is that those things that are tested and proven in fundamental, key areas such as C++ desktop applications (web browsers themselves, games, and CAD) and well coded HTML browser applications offer the best mechanisms for connecting users to systems. The question becomes, do you want something that is easy to code but may ultimately be fragile or something that takes significant effort but runs well?

    http://www.michaelgautier.com

  7. Sam says:

    @Michael Gautier: I know as a fact that the Silverlight framework is written in C++. So, according to your post, Silverlight should be an excellent/solid framework. And it is!

    However, don't compare apples to oranges. C++ is used solely for desktop/system applications in both Windows and Linux worlds. It's way too and overly complex for developers that develop websites, web applications and for business world developers. Writing solid code in C++ is complex and requires high level of skill. You can easily mess up and create hundreds of memory leaks. Debugging is another nightmare situation for real-time demands thrown at developers in businesses and media companies. You can't tell a trader – "eh, pardon me, but you have to stop trading while I debug this C++ code and resolve the issue!" You will be FIRED! Most .NET developers can code almost all kinds of business applications in C# in half the time and guess what? The C# app will perform absolutely great – to the order of milli-seconds compared to a similar app written in C++.

    Silverlight and other web technologies like ASP.NET work amazingly well for websites and web apps. Have you tried Bing Maps (Silverlight version)? Compare it to Google Maps and see the difference for yourself. I am willing to wait a couple of seconds more if I get rich features like Bing Maps. Silverlight is also used in Hotmail and Live Spaces to show beautiful slideshows. Now, it will be used to develop apps for the new Windows Phone 7. Imagine they built a PDF reader in Silverlight for it!!! Unfortunately, irony is that Microsoft/Bob Muglia made a HUGE blunder by down playing Silverlight at the PDC 2010.

    If you have never worked with it or WPF to develop real world apps (writing an app at home to try out a technology is not good enough to draw conclusions), please don't leave unreasonable comments.

  8. Bruce says:

    As a developer, talking to programmers, many were excited about the Silverlight technology and just starting to "put their foot in the water".  Some common concerts were about Microsoft's commitment to this technology and the traction that Silverlight would gain.  I believe that Silverlight was just on very edge of really taking off.  

    Even the appearance of Microsoft backing away from Silverlight makes people nervous about spending time and money on stomething that might become sort of an afterthought for Microsoft.

    I have been waiting for something like Silverlight, nice, clean solutions written entirely in a .Net language. HTML is just one big clumsey work-around with  "mishmash" solutions.  My vote is for Silverlight!!!

  9. Michael Gautier says:

    Sam,

    Examples are lacking of highly profitable or successful commercial software applications that are written in C# and .NET. The next Internet Explorer, the browser plug-ins, the Silverlight runtime, none of these are written in C#. Many developers would like to be more successful with the software they write and sometimes you have to observe the success of others to become informed as to what tools and processes enable success.

    In this economy, how are developers going to become more successful? What do successful software companies do. Well, Microsoft writes it's front-line software in C++. Oracle writes it's database in C++. Adobe writes the highly profitable Adobe Creative Suite an Flash runtime in C++. And AutoDesk makes software that gives automobile and aircraft manufactures the tools necessary to design the next car or plane. It is an expensive solution built in C++.

    Myself, I have used Microsoft .NET for the last 10 years or so since it was in it first beta form. A great technology for internal IT apps, it is a vast improvement over the old solutions we used to build in ASP and ActiveX. However, my analysis is about how far successful companies and developers have gone with these tools and what that says about the appropriateness of the solution for software targeting the general population.

    Successful apps, on average, appear to be built primarily of HTML (ASP, PHP, etc) or C++ on the desktop. Show me a truly success app built in Silverlight that brings in revenues on the level of AutoDesk or Adobe and I'll agree with your position.

  10. PHPRocks says:

    @Sam is a cheerleader – don't waste your time with him.

  11. Sam says:

    @PHPRocks: Your name implies who is a cheerleader. See how less PHP rocks compared to ASP.NET here:

    msjoe.com/…/php-versus-asp-net-ndash-windows-versus-linux-ndash-who-rsquo-s-the-fastest

    @Michael Gautier: You and I are comparing different things. While you tout the usefulness of C++ in software/technology companies, I am referring to the rest of the industries – finance, medical, mining, traffic control and response systems, auto industry, and hundreds of more that use .NET, C# and recently Silverlight for internal applications and internal websites. You look at the revenue generated by apps sold by technology companies and I am referring to the apps that are essential for running daily businesses for companies of other industries. Further, you talk about companies like Adobe or Oracle – these companies are clearly not going to pick Microsoft's technologies to build their apps. So your examples don't count.

    Some commercial examples for successful products that use .NET are Visual Studio 2010 IDE (uses WPF and hence .NET), all apps for Windows Phone 7 will be written using Silverlight and C# (OR VB.NET). Go and look up all the amazing apps written using Silverlight for the phone platform already. RedGate uses .NET for its products. Bing uses .NET all over the place and Bing is gaining more and more market share. Hotmail uses .NET too. So, you cannot say Microsoft does not use .NET for its own products.

  12. Sam says:

    @Michael Gautier: MySpace is one of the biggest implementation of .NET in the social networking industry. If you start looking and investigating you can find hundreds of more examples of .NET implementations.