Silverlight, HTML5 and Microsoft's opaque development strategy. Microsoft Silverlight, what is this program and is it needed? Let's find out! Silverlight execution is blocked because the installed version

I wanted to ask Microsoft specialists, because all other methods have been exhausted, no one can help. The problem is that I wanted to install Silverlight (more precisely, I don’t really need it as such :), but Netflix doesn’t work without it).

Yes, I’ll tell you right away, the system is 7 32 bit. Several browsers are installed - IE10, FireFox, Chrome.

And now any installation attempt ends in failure. I tried to run it from different browsers, without a browser at all, silverlight.exe - the result was the same - “Could not install.” Moreover, at first the “Additional information” button did not work at all. Then it suddenly started working and began displaying on the Microsoft website with the message:

Message ID: 1622

The installation log file could not be written. Verify that the Temp folder exists and that you can write to it.

I don't understand why this is such nonsense. I installed so many programs, and not a single one complained. There are no problems with the file system. The windows\Temp directory exists and is accessible. Moreover, I even created a special C:\TEMP for him, I thought maybe he would complain about it. The same.

Accordingly, the question is: what can prevent the program from installing? I read somewhere on the site here that this could possibly be related to the system language? But why doesn't this stop all other programs? Is there any way to install this crap yet? I'm just curious, after all.

Silverlight Applications

Silverlight uses traditional browser enhancement technology - plug-ins .

The benefit of the add-on model is that to view content created by different people and companies, the user only needs to install a single component - a Silverlight add-on. To do this, the user just needs to download one small file from the Microsoft website for free and enter confirmation in a single dialog box. The whole procedure takes no more than a minute. Once the add-on is installed, the browser will be able to handle any content that is compatible with it without user intervention.

The figure below shows two views of a page containing a Silverlight object. Above is the page the user sees when the Silverlight add-in is not installed. At this point, the user can click the Click now to install button to be taken to the Microsoft website, where they will be prompted to install the add-on. Below is the same page after installing the Silverlight add-on:

Currently, the Silverlight add-on is installed on 75% of Internet-connected computers (including desktops and mobile devices). If you consider only computers running Windows and Internet Explorer, the Silverlight percentage will be higher. These figures are impressive, but Flash add-ons are still installed on more web devices (96%).

Silverlight System Requirements

It is very important that any web technology is compatible with as wide a range of computers and devices as possible. Silverlight technology is currently under development, but it is already compatible with most operating systems:

Windows

Silverlight 5 runs on computers running Windows 8, Windows 7, Windows Vista, and Windows XP. The minimum versions of browsers that support Silverlight are Internet Explorer 6, Firefox 1.5 and Chrome 4.0. The add-ons also work under Windows 2000, but only with Internet Explorer 6. Other browsers such as Opera and Safari (for Windows) also currently support the Silverlight add-on, but it is not yet documented for them.

Macintosh

Silverlight add-ins work on Mac computers running OS X 10.4.8 or later. Must be an Intel processor (PowerPC hardware is not acceptable). For Silverlight, the minimum browser versions are Firefox 2 and Safari 3. Silverlight applications are not supported on Apple mobile devices, including iPhone, iPod Touch and iPad.

Linux

Silverlight 5 add-ons do not currently work on Linux, but the Mono team is creating an open source library for Silverlight (the Microsoft-endorsed Moonlight project). The latest stable official version of Moonlight supports Silverlight 2 applications, but a beta version has now been released that supports Silverlight 4. Progress is slow, so it is not yet known when Moonlight will support Silverlight 5, if at all.

Windows Phone

Silverlight is one of two officially supported application development technologies for Windows Phone 7 and 8 (the other is Microsoft XNA).

Installing the Silverlight add-in requires a small file (less than 10 MB) that is easy to download, so installing the Silverlight add-in is no more difficult than installing Flash.

Silverlight and Flash

Currently, the most successful and popular browser add-on, Adobe Flash, is installed in more than 96% of browsers around the world. Flash technology has a long history - more than ten years. Flash was originally a simple tool for adding animated graphics, but over time it has gradually evolved into a powerful interactive content development platform.

For .NET developers, building websites using Flash content comes naturally. However, Flash requires separate development tools - a completely different programming language ( ActionScript) and other programming environment ( Flex).

The worst part is that there are no easy ways to integrate Flash content with .NET server code. In particular, it takes a lot of effort to call a Flash object to a .NET component. Using .NET server code to render Flash content (for example, to create an ASP.NET control that manipulates Flash content) is an even more difficult task.

Compared to Flash, Silverlight makes it much easier to manipulate .NET content. Silverlight's main goal is to enable the creation of applications that are as powerful and cross-platform as Flash, based on the world-class .NET programming platform. This allows developers to write Silverlight client code in the same language (C# or VB) as the server code. In addition, developers can use the same abstractions in Silverlight client code that they use in server code, including I/O streams, controls, collections, generic objects, and LINQ facilities.

Silverlight and HTML5

When Silverlight technology was created, it was assumed that its main purpose would be the development of powerful web pages, and its main competitor was Adobe Flash technology. However, after several versions of Silverlight were released, the world has changed. Adobe Flash apps are still supported on virtually every desktop computer, but they have been left out of popular Apple products like the iPhone and iPad. As a result, the mobile device niche has begun to gravitate towards other solutions, such as single-platform, dedicated applications (running on only one operating system) and HTML5.

At the moment, everyone agrees that HTML5 is the future of the Internet (but not now, but someday later, and when exactly is unknown). However, the features promised by the HTML5 platform in the indefinite future are already implemented in Flash and Silverlight technologies. In addition, Flash and Silverlight provide many additional tools. For some applications, these additional features are not very necessary.

Without a doubt, HTML5's position will strengthen over time. But until then, developers are forced to choose between tools that are supported now (Silverlight and Flash) but will never be supported on mobile devices, and tools that are not supported now but will be supported on all devices, including mobile devices, in the future. In the latter case, the developer will prefer HTML5. This dilemma of choosing between powerful and affordable tools. Silverlight is powerful and HTML5 is affordable because it is now supported by all desktop browsers (but not all mobile devices).

Because of these trends, many Silverlight developers are unsure about the technology's place in the future of the Internet. Since the future is quite uncertain at the moment, consider the following factors:

    HTML5 implementation and support are not yet complete. In particular, not all HTML5 features are supported in Internet Explorer. In IE 10, some HTML5 features were promised but never arrived. Many features are available in IE 9, but IE 8 has almost no HTML5 features. This is too bad, because IE 8 is still the most popular browser for the Windows XP operating system, which shows no signs of leaving the scene (it is still installed on most desktop computers). For these reasons, HTML5 remains a less supported technology than Silverlight, and this situation will not change for at least several years.

    Silverlight has features that HTML5 doesn't. Even browsers that fully support HTML5 fall far behind Silverlight in some key areas. They do not provide powerful capabilities for streaming video, hardware graphics acceleration, calling Windows components, accessing files, running applications outside the browser, surfing the network, etc. It's hard to imagine that the HTML5 platform will ever be able to compete with some of Silverlight's specialized features, such as PivotViewer elements, which combine animation, data filtering, and image scaling tasks into one easy-to-use package.

    Silverlight is based on high-level APIs. It's possible to create applications without using tools such as data binding, templates, and styles, but they allow you to do so quickly and efficiently. Many of the tasks that can be accomplished in HTML5 require a lot of discipline and careful planning. They can be solved using JavaScript, but its syntax is not strongly typed, making it nearly impossible to build large applications in JavaScript. Additionally, in JavaScript, all animation routines must be written by hand, and multi-threading support is extremely clunky, making it difficult to perform complex tasks in the background.

    Silverlight is supported by high-level development tools. Visual Studio makes developing Silverlight applications as easy as regular desktop applications. Expression Blend makes it easy to create complex user interfaces with powerful graphics and animation.

    Silverlight integrates easily with ASP.NET. In particular. Silverlight allows you to submit queries to a back-end database via a web service. Because of this, many experts believe that even after HTML5 takes over the Internet, Silverlight will remain the technology of choice for closed corporate networks.

The future of the Silverlight platform is currently quite unclear. It may remain the platform of choice for .NET-based enterprise application developers, or it may gradually evolve into a niche tool for creating powerful computer games and video players. One thing is certain: Silverlight will never replace HTML as the primary language for building traditional open source websites. However, this was never planned.

Silverlight and Metro/Windows 8

When Microsoft announced that Windows 8 would be based on a new programming model for powerful client applications (called Metro), development of the Silverlight platform came to a halt. Many developers have wondered: will a new programming model become Silverlight's killer in the near future?

The answer to this question is a categorical “No!” Metro technology is designed to make it easier to create a completely different type of application: lightweight, touch-sensitive, and data-intensive. These applications are designed for future generations of Windows 8 tablets. Metro technology (like its close cousin WPF) competes with the iPad platform. Metro applications cannot run on non-Microsoft platforms, or indeed on any version of Windows other than Windows 8. For this reason, Metro technology is not a competitor or of interest to Silverlight developers.

In the future, Silverlight's niche may narrow. It seems to be sandwiched between cross-platform HTML5 applications, which are gradually gaining more and more market share, and Metro and iPad applications for mobile devices. However, Silverlight currently occupies (and will continue to occupy for a long time) the vast space between these technologies.

Silverlight and WPF

One of the most interesting aspects of Silverlight technology is that it borrows from .NET the powerful WPF model used to create complex client interfaces.

WPF technology is designed for creating complex Windows applications. WPF not only simplifies the development process with convenient high-level tools, but also provides faster performance by rendering any content directly through the DirectX pipeline.

Obviously, Silverlight cannot duplicate all of the features in WPF because many of them depend on operating system capabilities, including Windows-specific drivers and DirectX features. Yet, rather than inventing an entirely new set of controls and classes for the client side, the Silverlight developers used a subset of the WPF model. If you have experience with WPF, you'll be surprised at how similar Silverlight is to WPF. Below are a few common features:

    To define the Silverlight user interface (the collection of elements that fill the content area), you use XAML markup, just like WPF. Silverlight can even display data using the same data binding syntax as WPF.

    Silverlight borrows many of the basic controls and templating mechanism (for changing the appearance of standard controls) from WPF.

    Silverlight uses shapes, paths, transforms, and brushes to draw 2D images. All these features are almost the same as in WPF.

    The Silverlight workbench provides a declarative animation model that is based on a storyboard sequence and works in the same way as the WPF animation model.

    The MediaElement class is used to play audio and video files, just like in WPF.

Silverlight development

Silverlight 1 was a very modest version. It included support for 2D drawing and multimedia playback. It didn't even have a CLR runtime driver or a .NET language compiler, so developers were forced to write code in JavaScript.

Silverlight 2 has been radically changed. It added the common language runtime, a subset of .NET Framework classes, and a WPF-based user interface model. As a result, Silverlight 2 became one of the most anticipated technologies in Microsoft history.

Subsequent versions of Silverlight are not as ambitious as Silverlight 2. Silverlight 5 maintains the Silverlight 2 development model and adds several carefully selected new features. Let's list the advantages of the latest version:

Productivity increase

Silverlight 5 applications launch faster, support 64-bit browsers, and provide clearer display of anti-aliased small fonts.

Vector print

Improved print model by adding PostScript drivers. As a result, printing is faster and requires less memory.

3D graphics hardware acceleration

Silverlight provides the application with part of the Microsoft XNA framework for creating XBox games. Added a powerful low-level interface for displaying 3D scenes. Most importantly, all calculations are performed in hardware, providing significant performance improvements. You can also note the reduction in audio latency by supporting Microsoft XNA tools when playing audio files. This is especially useful in video games where latency is intolerable.

Flexible playback

You can now play a video clip faster or slower without changing the tone of the audio. This allows you to view content (such as a video lesson) at the selected speed.

Viewing PivotTables

Added a control that allows you to view huge collections of data. One control combines many functions, such as image scaling, data filtering, and transition animation. The best thing is that when using this control, the developer needs to write almost no code.

Debugging XAML

You can now troubleshoot data binding errors by setting breakpoints in binding expressions.

Child windows

Silverlight applications running outside the browser can now display additional windows like Windows desktop applications. You don't even need advanced access rights to do this.

Support for file access and P/Invoke calls

Applications running with elevated permissions can access any files on the hard drive that the user has access to (except those that require administrator privileges). On a Windows computer, you can use P/Invoke calls to access legacy C functions from Windows API libraries.

Silverlight 5 Backward Compatibility

Can an existing Silverlight application developed in a previous version run on a computer that has the Silverlight 5 add-in installed? This is not as simple a question as it might seem at first glance, because Silverlight 5 introduces some subtle changes and fixes a number of bugs that can affect the way your application works and even change its behavior.

To prevent changes from affecting existing applications, Silverlight 5 uses the quirks (non-standard). When a Silverlight 5 add-in loads an application compiled for previous versions of Silverlight, it automatically enables a custom mode that closely emulates the runtime behavior of the previous version of Silverlight.

For more information about the subtle differences between Silverlight 5 and Silverlight 4, see the article Ensuring That Your Silverlight Applications Work with Silverlight 5 on MSDN.

  • Translation

For reasons unknown to me at the moment, it appears that many of the developers who attended the recent PDC 2010 conference ( Microsoft's largest conference for developers - Approx. translator), were very surprised that Microsoft decided to shift the emphasis in RIA development from Silverlight to HTML5. Although this surprise of developers is no less surprising - at recent conferences and announcements ( for example, announcements of the development of Internet Explorer 9 - Approx. translator) Microsoft representatives made it clear, although not entirely explicitly, that priorities are changing to a more cross-platform solution. What's the secret?

When Microsoft released the first version of Silverlight in 2007, the plug-in was marketed by the press as being similar to Adobe Flash ( although there are a number of other similar solutions: Adobe AIR, JavaFX, Google Gears (the development of which is closed, part of the code became the basis for HTML5), OpenLaszlo, etc. - Approx. translator). Although there are still certain differences. Silverlight was aimed at software developers, while Adobe Flash skewed toward web designers, although both platforms covered the same market of complex interactive applications delivered through a web browser.
Naive developers who came to listen to speeches on MS Silverlight were disappointed. Bob Maglia ( President of Microsoft's server division - Approx. translator) stated that Microsoft's RIA development strategy has shifted to HTML5.
In a statement on ZDNet, CEO Steve Ballmer and Bob Muglia announced that Silverlight will continue to evolve, but the HTML5 markup language will take precedence on the Web.
It's understandable for developers to be flattered by Microsoft's repeated assurances in the recent past that Silverlight would knock Flash out of the picture and become an unusually promising, powerful tool for project implementation. And now developers who are planning to create their projects based on Silverlight hear from the company that, supposedly, Silverlight is good, but we’ll forget about it, because HTML5 is smarter and cooler. Yes, there is something to grit your teeth about, but you have to be objective - Microsoft has talked about this before ( During the development of the Gazelle browser, which has now transformed into a completely different project) and the first previews of IE9, some developers indicated in their blogs and interviews that HTML5 would be the basis - Note. translator).

The development of IE 9 should have been the first wake-up call for programmers setting their sights on Silverlight. Microsoft trumpeted at every turn that the browser complies with all web standards, that IE supports CSS3 and HTML5 best of all ( Then it was a pure lie, which many Internet resources accused the corporation of, although now it is a reality. IE 9 PP6 is in no way inferior to Chromium 9 on average. I tested Chromium 9 at W3C, so don’t kick too hard - Note. translator). Now Microsoft has almost created a high-performance, web standards-compliant browser that doesn't just ring a bell for Silverlight RIA developers, it just rings a bell.
At the same time, it would be nice if the browser development team insisted on this, but also the Silverlight developers, firstly, gently hint that Silverlight will become only a small gadget for HTML5, because the new markup language, for example, is not yet able to transmit DRM-protected streaming video. That is, in the end, Silverlight is not even positioned as a competitor to HTML5, but remains a competitor to Adobe Flash, which still occupies a dominant position.
Secondly, the Silverlight developers talk about using the module standalone. Separately from the browser, the plugin can be used as a platform for desktop applications (Example Seesmic) or, more importantly, writing applications for Windows Phone 7. Games, of course, will be more convenient to write in XNA, but non-game applications for the new mobile OS are easier to write in Silverlight ( This was discussed a lot at the Student Day conference at Moscow State University on November 1, and will be discussed tomorrow in Kyiv - Approx. translator).
In fact, Bob Maglia did not announce new strategies, but simply laid everything out. Silverlight is moving to Windows Phone, and everything else is left to HTML5. What is the reason? Here's what:

Apple problem
Despite Microsoft's best efforts to make Silverlight cross-platform, the task failed. Windows was embraced, Mac OS X was supported with grief in half, Linux was given into the hands of Novell, which began to write a crutch in the form of Moonlight, only “parodying” the closed Silverlight. Difficulties began in the mobile market, namely with iOS. As you know, Apple banned the execution of plug-ins in the mobile Safari environment, which caused a stir among users of applications on Adobe Flash, although it also affected Silverlight, but due to the low popularity of the module, this did not cause much resonance. It turns out that Microsoft is giving up the market for Internet tablets and the wildly popular iPhone without a fight. ( Microsoft is trying to encourage manufacturers to produce tablets for Windows 7, but compared to Android, iOS, webOS, Jolicloud it looks pale - Note. translator). Therefore, the only way to gain a foothold there is HTML5.
A similar problem befell Flash, but Adobe came up with a number of workaround tools ( as well as a number of third-party developments by fans and other developers, such as the SkyFire browser, which, in the image and likeness of Opera Mini with traffic compression, will process Flash content on its servers - Note. translator).
Still, it is unclear what the main focus for Servelat will be: standalone applications for PCs, applications for Windows Phone 7, or a “lotion” on top of HTML5?
New direction for Silverlight
Paradoxically, Silverlight remains no less important than before, although by no means in the direction as originally intended.
All this clownery in the past, where Silverlight was positioned as a “Flash killer,” did not look at all serious. Adobe has a convenient free open framework Adobe Flex, which is very difficult to displace Visual Studio and Expression Blend, which, moreover, are paid or contain a number of limitations. In such situations, it is very difficult to displace Flash. Therefore, dedicating the entire web segment to the HTML5 language is completely justified. Objectively, Silverlight did not have any great chance of displacing Flash.
Silverlight has a great chance as a platform for developing applications for Windows Phone 7. And here the big question arises: will Windows Phone 7 be able to bite off a piece of the pie that Nokia, Google, Apple, Research in Motion and HP are fiercely sharing with their webOS? If not, then all the money invested in Silverlight development will be wasted. But Microsoft has reasons to think positively - the smartphone market is a potentially promising market ( over the year, the share of mobile devices in Internet traffic increased by 2% - Note. translator). If, in the dynamics of the market, Microsoft manages to bite off a piece of the pie and keep it in its teeth, then there will be chances for expansion into the shares of competitors. With such a powerful application development platform as Silverlight, MS has a future in this segment ( And that is why at all conferences and blogs, Microsoft representatives desperately chant “Start programming for Windows Phone right now!” If there are no third-party applications, then WP 7 will die before it’s really born - Note. translator).
Silverlight on the desktop
Silverlght is far from the worst framework for developing standalone applications for personal computers, considering Expression Blend and Visual Studio are powerful development tools. With them, you can create the design and code base for similar Silverlight applications with relative ease. The problem is different - Microsoft's policy.
At the last PDC 2010 there was little talk about Silverlight, but no talk about desktop applications at all. Yes, there are justifications for this: this year Microsoft's main topic is Windows Phone 7 and Windows Azure, which were priorities, but they have already forgotten about Windows 7. We will most likely hear about the development of Windows 8 next year, but that’s not a fact. From here it is clear that Microsoft “flew” to the “clouds”, sending everything else to the back burner.
Desktop Silverlight is a special beast. It is essentially a derivative of the .NET Framework and Windows Presentation Foundation (WPF). It eliminates features that are not needed outside of web applications to achieve faster and more performant execution. That is, if you can write applications in C# or WPF, then you can easily write in Silverlight, and vice versa.
However, the Silverlight module was originally intended to be a browser plugin. Yes, developers can choose between .NET/WPF and Silverlight (it even has advantages for running on Mac OS X), but with the more powerful .NET/WPF there is a much wider range of applications to develop. In terms of functionality, WPF and Silverlight overlap in some aspects.
This “rivalry” between the two products is indicative of some shortcomings in Microsoft's policy in the field of desktop applications. Let's go back in time to when Windows Vista, then known as Longhorn, was just being developed. Back then, .NET code was seen as the future of Windows application development, and everything was clear: WPF was an application development platform, and Silverlight (then WPF/Everywhere) was a stripped-down version for multi-platform web applications. The first builds of Windows Vista even had the ability to write scalable WPF applications, which would be a powerful leap towards the modern concept of "three screens"
However, as you know, the Longhorn project itself was restarted, the notorious Windows Vista was released, and .NET found itself in a deep shadow. It looked like Microsoft was afraid to use .NET, at least on the desktop. Instead of releasing a system built on top of WPF, WPF was ignored, and it was only with the launch of Visual Studio 2010 that Microsoft began making applications built on this technology. At the same time, in Windows Vista, that same smart scaling was removed when installing the first service pack. For what reasons is unclear.
Looking at all this tossing around, it's not entirely clear what Microsoft is going to do (it seems even it doesn't really understand what needs to be done). The basic principles of WPF are very impressive, and developing Windows applications in WPF is much preferable to Win32, although there are still many doubts.
With Windows 7, the Redmond giant introduced Direct2D technology, which neither WPF nor Silverlight uses, but which underlies high-performance HTML5 rendering in Internet Explorer 9. It turns out that WPF may die, although it can coexist with Silverlight, or vice versa , both technologies may fade into obscurity. Before the advent of Windows Phone 7, I thought that the latter would happen, but now with the mobile OS and Visual Studio Lightswitch, I understand that WPF will go into the background, giving way to Silverlight.
Silverlight on the Web still makes sense
Now that Silverlight has fallen out of favor in web application development and has an uncertain future on desktop applications, you can see the frustration of many developers who have realized that their applications are no longer really needed in the form in which they were intended. The strangest and most puzzling thing is that Microsoft's strategy is not entirely clear, since they only state general phrases without revealing them in specifics.
I don't think there is any doubt left that HTML5 will dominate the market ( The policies of Google, Apple and the actions of Adobe really do not allow us to doubt this - Approx. translator), but not now. While Internet Explorer dominates the browser market, support for HTML5 ranges from zero (Internet Explorer 6) to negligible (Internet Explorer 8)
Yes, Internet Explorer 9 significantly and qualitatively changes the existing support (or rather, not support) of web standards in the browser, but it is absolutely unknown when it will be officially released. Over the 18 months of its existence, Internet Explorer 8 has won about 50% of the total share, while the remaining 50% is shared by the morally and technically outdated IE 6/7. That is, even if Microsoft releases the “nine” right now, it will take about a year until it takes up any significant share. Whereas Silverlight and Flash are available right now to any browser version.
Even if HTML5 now occupied the majority of the web technology market, development would be difficult. Many specifications exist, but are far from the final stage of development; browsers on different engines perceive markup differently, showing completely different results. It turns out that developers have two options - work with HTML5 and spend a lot of time setting up, tweaking, testing the markup in each browser, or take the Silverlight plugin, which looks the same in all supported browsers and systems. And don’t forget that sensible development and design tools for HTML5 have not yet been invented. Yes, Adobe introduced a tool for converting Flash to HTML5, but this is a tool of the future, but not of today, while both Microsoft and Adobe have powerful development tools and add-ons for working with Silverlight and Flash, respectively. Therefore, you should not zealously bury both modules.
Don't forget that HTML5 can't do a lot. For example, DRM-protected video, which is used in the Hulu service. Streaming video is very difficult to create using HTML5, and working with webcams and microphones is very far from ideal. In short, HTML5 can't do a lot of things that Flash and Silverlight can do.
HTML5, or even something that may soon appear based on it, will not be able to gain much popularity even next year and perhaps the year after. There are still many areas where Flash and Silverlight are much preferable to HTML5 as plugins and as development tools.
Against this background, Microsoft's decision to begin curtailing the web focus of Silverlight looks strange, to say the least. Yes, in a year it would be necessary, but now? The World Wide Web Consortium (W3C) is working hard to create a standard, but the work is so far from complete that killing off technologies like Silverlight and Flash without having a proper replacement is simply pure madness.
But it’s time for Microsoft to make a decision and stop fooling around with developers. What will become the platform for writing applications on desktops? Win32 (with or without Direct2D is no longer important)? Silverlight? WPF? Or something else altogether? Three development methods, sorry, but this is tough. The alternative is good, but if today there are three methods of development, and the developers are divided equally and start writing applications, and tomorrow Microsoft bury two methods, what, will developers sit with nothing? If the future belongs to Silverlight and WPF, then connect Direct2D to them so that they work quickly and look the same with other applications, but if they are not the future on desktops, then let them tell the developers about this so that they are ready for changes, and not lead them nose.
Although you can guess about Microsoft's plans. Direct2D is currently the best way for developers to write high-performance user interfaces, and is also the best way to work with HTML5 in IE9. Will Redmond be able to embrace all of HTML5 with its vision and capabilities, plug, together with the W3C, the holes that do not allow HTML5 to “overcome” Flash and Silverlight, and then use all this on Windows? Apple is starting to do something similar in iOS.
Strange things happen, strange things.