New Microsoft Silverlight Features Have Windows Bias
An anonymous reader writes with this quote from a story at El Reg about an early look at the Silverlight 4 beta:
"There are ... major changes to Silverlight's out-of-browser functionality, a loose equivalent to Adobe Systems' AIR runtime for Flash. Even when fully sandboxed, which means having the same permissions that would apply to a browser-hosted Silverlight applet, out-of-browser applications get an HTML control, custom window settings, and the ability to fire pop-up notifications. ... Unfortunately, some of these features are not what they first appear. The HTML control in Silverlight 4 is not a new embedded browser from Microsoft, but uses components from Internet Explorer on Windows, or Safari on the Mac, which means that the same content might render differently. The HTML control only works out-of-browser, and simply displays a blank space if browser-hosted. Clipboard support is text-only in the Silverlight 4 beta, though this could change for the full release. More seriously, COM automation is a Windows-only feature, introducing differentiation between the Mac and Windows implementations."
For those not up to speed on the windows acronyms, COM automation is just another word for ActiveX. It's exactly the same thing. http://en.wikipedia.org/wiki/OLE_Automation#cite_ref-5
Anybody who didn't see this coming when MS came out hard about the "amazing cross compatibility besting Adobe!" a few years ago is insane. This is the same old shit they have pulled time and time again. At least they let the cat out of the bag before this needless plug-in gained any real traction. And no I'm no Flash fan. Adobe treats us like dogs too.
Pope discovered to be Catholic
Bears recorded shitting in woods.
I really want to run Silverlight in Ubuntu! Well, no that was sarcasm, but Linux should be mentioned when one talks about cross comparability. We should not allow the meme to emerge that the only options are Mac or windows.
...thank God.
Only Microsoft has the peculiar genius that allows them to take a relatively straightforward concept (reference counting/smart pointers) add a totally over-the-top, incomprehensible library that was designed around the limitations of the broken template support in VC6 (ATL), then totally abandon it for "teh new shiny" because you lost a court case against Sun (.net).
I have written a *lot* of code in ATL, and I regret practically every moment of it; I liked the idea of COM/ActiveX, it's actually a really cool concept, and it even seemed to have an awesome future (all these COM objects that could talk to each other...Excel could control my toaster via my custom ActiveX dll) but suddenly it became all about the web and the era of a component-laden operating system ended before it really ever began. So for that I slogged through a bunch of ATL books, got to the point where I thought I knew how it all worked, and then all Microsoft wanted talk about was C# and .net.
Obviously this is some kind of mistake. Miguel assured all us Linux users that Microsoft was a changed company, they would NEVER do something like this! Surely Moonlight would be 100% compatible with Silverlight and Linux would be considered a tier 1 platform!
He wouldn't have lied, would he?
It has the ability to support older API's that aren't available on all platforms. Developers who care about maximum cross-platform reach just won't use them. On the flip-side, if it didn't allow interop with the old stuff, the current adopters would be pissed for obvious reasons.
This way the people creating Silverlight apps have freedom of choice and choice is good.
As far as IE goes, I have a product that integrates with IE. I looked closely at Webkit and Gecko. Neither one is very friendly to program against with .NET and the API's don't expose nearly as much automation capability as IE. If the maintainers of those browsers want developers to embed them in desktop apps as an alternative, they need to make an investment.
Why should Microsoft do it? As far as I know, anyone can create and distribute Silverlight components. If you want a good API for WPF/Silverlight for Gecko, talk to the Mozilla Foundation. I'd be glad to have it, but I'm not mad at Microsoft because it doesn't exist. (BTW, I am aware of GeckoFx and XulRunner. The API is very shallow compared to the IE COM interfaces.)
Each time I read about silverlight I get angry. Why won't Microsoft invest time and energy making IE html5 compliant instead of promoting this f*** product that nobody wants anyway. I mean, look at the competition for god sake. IE is stuck with Javascript 1.5 since November 2000. Man we are now 9 years since Ms has updated its Javascript engine. Firefox, Chrome, Safari, name it, all have javascript support almost if not ready for ECMAScript 5.
What is comforting in a way is the low deployment of silverlight. Google can give us a slight idea : http://www.google.com/insights/search/#q=adobe%20flash%2Cmicrosoft%20silverlight&date=today%2012-m&cmpt=q
I know at least that it is not deployed at work : 20,000 less pcs for Microsoft + the 2 mine at home.
Microsoft today announced the release of version 4.0 of its world-beating Silverlight multimedia platform for the Web. As a replacement for Adobe’s Flash, it is widely considered utterly superfluous and of no interest to anyone who could be found.
“We have a fabulous selection of content partners for Silverlight,” announced Microsoft marketer Scott Guthrie on his blog today. “NBC for the Olympics, which delivered millions of new users to BitTorrent. The Democrat National Convention, which is fine because those Linux users are all Ron Paul weirdos anyway. It comes with rich frameworks, rich controls, rich networking support, a rich base class library, rich media support, oh God kill me now. My options are underwater, my resumé’s a car crash, Google won’t call me back. My life is an exercise in futility. I’m the walking dead, man. The walking dead.”
Silverlight was created by Microsoft to leverage its desktop monopoly on Windows, to work off the tremendous sales and popularity of Vista. Flash is present on a pathetic 96% of all computers connected to the Internet, whereas Silverlight downloads are into the triple figures.
“But it’s got DRM!” cried Guthrie. “Netflix loved it! And web developers love us too, after all we did for them with IE 6. Wait, come back! We’ll put porn on it! Free porn!”
Similar Microsoft initiatives include its XPS replacement for Adobe PDF, its HD Photo replacement for JPEG photographs and its earlier Liquid Motion attempt to replace Flash. Also, that CD-ROM format Vista defaults to which no other computers can read.
In a Microsoft internal security sweep, Guthrie’s own desktop was found to still be running Windows XP.
http://rocknerd.co.uk
From TFA:
Unfortunately, some of these features are not what they first appear. The HTML control in Silverlight 4 is not a new embedded browser from Microsoft, but uses components from Internet Explorer on Windows, or Safari on the Mac, which means that the same content might render differently. The HTML control only works out-of-browser, and simply displays a blank space if browser-hosted.
The difference in rendering between IE on Windows and Safari on Macosx is a reality, whether silverlight is involved or not. The purpose of the HTML Control is to allow scenarios dependent on the HTML Bridge, the part of silverlight that blurs the lines and allows communication between the html dom + javascript and C# code, to run correctly when the app is hosted out of the browser. It's essentially a crutch to allow developers that want to use siverlight a way to leverage existing investments in web application development.
More seriously, COM automation is a Windows-only feature, introducing differentiation between the Mac and Windows implementations. Since cross-platform Mac and Windows is a key Silverlight feature, it is curious that Microsoft has now decided to make it platform-specific in such an important respect. Microsoft Office and parts of the Windows API have a COM interface, so access to COM makes Silverlight a much more capable client.
This is a fairly obscure feature, and I'm fairly surprised that it was included at all, but doubt it'll be of use to the vast majority of current and future silverlight developers out there. Like the html control, it's a crutch, to allow developers that want to use silverlight a way to leverage existing investments. The mantra I've heard out of the silverlight team is to focus on unblocking customer scenarios (scenarios they cannot unblock themselves) without compromising the overall feature goals (like keeping the runtime download small).
Nevertheless, Silverlight has crossed a threshold. It is now a runtime that has extended functionality only on Windows. That will not help Microsoft win developers from Adobe AIR, which has the same features on both Mac and Windows.
I don't think it'll matter. Any developer that is seriously considering using silverlight over Adobe AIR, but is then persuaded not to because Silverlight's Trusted Out-Of-Browser scenario has COM support on Windows and not on Mac is "Doing It Wrong". It's an edge case feature that doesn't affect Silverlight's over all "Cross-Platforminess".
Flame On.
So far, the only feature in TFS that I can see as having "Windows bias" is ActiveX support. Which is kinda not surprising (I mean, who doesn't know that ActiveX is "that evil Windows thing" - even people who don't even understand what it is and how it works?). Qt also has an ActiveX support module, and it doesn't make it any less cross-platform - no-one forces you to use it. Same applies here.
The HTML control in Silverlight 4 is not a new embedded browser from Microsoft, but uses components from Internet Explorer on Windows, or Safari on the Mac, which means that the same content might render differently.
So on the Mac it'll use Webkit, which means it'll render correctly. On Windows it'll use IE, which means... okay, anyone who's done any web development at all knows what that means.
I guess I'm not seeing the "pro-Windows bias" here - it looks like an anti-Windows bias to me!
#DeleteChrome
WTF? If I'm viewing something on my Mac, I want it to use Safari components, so it will behave like I'm used to on the Mac. If I'm viewing the same thing on Windows, I want it to use IE components, so it will behave like I'm used to on Windows. This is a good thing.
Microsoft software quality again.
Seriously, is anyone not payed by microsoft using this Silverlight stuff?
I hear you can do that in Silverlight.
I really don't see why everybody is acting like the sky is falling over this. The level of cross platform compatibility is not changing in any significant way. Virtually nobody is going to use the Windows only com automation. It only works in a full trust out of browser Silverlight app. 99.5% of Silverlight use is in browser and of that remaining 0.5% most are partial trust apps. I can't think of why somebody with these requirements wouldn't just use WPF honestly.
Here's a more comprehensive listing of the changes to come.
Hikery.net - The best hiking site ever. Made by yours truly.
The full .Net framework has a lot of hacks to support COM. Your STA running managed code can get preempted at any time to Release COM objects behind RCWs that get garbage collected. This can cause interesting stress bugs. It gets even worse when an RCW around an STA gets finalized on the finalizer thread. That blocks the finalizer thread, because it waits for .Net to Release the COM object on the original STA thread. If the STA thread is in a wait state, you can hang the finalizer thread. Another big issue is around supplying alternative credentials for DCOM. .Net has no exposure of the CoCreateInstanceEx API that allows you to specify alternative credentials. Even if you wrap it yourself, you have to make sure you call CoSetProxyBlanket before you do any calls - and .Net does QueryInterface under the hood for you, and you have to make sure CoSetProxyBlanket is called again, then the simple programming interface of .Net becomes more of a hindrance than a help.
They were supposed to get away from COM in the Silverlight versions. Now the waters are even muddier, because WPF is still supported on the Full version of the CLR.
> So Netflix, the Olympics and the US Presidential Inauguration aren't high profile enough for you?
Erm, no.
1) I don't use Netflix, thank you. Maybe after I watch the bazillions of videos on the net. Hah, who knows?
2) The Olympics are old now. Do you think Silverwhatever will be around on the next?
3) I have my own President, thank you. And it's a lot funnier with about 1/5th of Obama's study years... think about the savings!
> Just because you have a seething inner hatred towards MS doesn't mean no one uses their technology.
Just because M$ is incompetent don't expect to be able to blame their faults on some primeval emotion. I don't like M$, as it turned to be, but I had no such feelings back then... they were simply morons. Now they're like Audrey from the Little Shop of Horrors: they demand a company every few days...
Stop arranging excuses and work! Make the products good. M$ can do it, they do reasonable hardware (albeit expensive). Why must they rely on emotional tactics to do software (bullying, complaining they are hated etc.)
Stop complaining and achieve success by W-O-R-K-I-N-G!
From that alone, you'll see much of the hate disappear. Do you know someone that hates Sun? Well, I don't -- even though nobody is throwing a party for them --> GET A CLUE!