
Microsoft picks HTML5 over Silverlight for Internet apps - moxiemk1
http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834
======
geuis
Lets keep in mind exactly what Microsoft does. They throw a ton of money and
developers at some product and make a lot of noise about how this is their
next big thing. Then they seem to completely or mostly drop it and they're off
to the next thing.

My fear and source of consternation is their sudden "love of html5". Yeah,
they're currently doing good on getting IE up to spec. Even though its still
not 100% there, but that's ok since its in beta. When its officially released,
it will matter then. What I firmly believe is going to happen is that IE9 is
going to get released and will get the occasional security patch, but they're
going to stop doing major development on it and again the MS browser will
stagnate for years again.

So everyone should stop getting excited when Microsoft says they're doing this
one thing or another. Apple keeps its cards close to the chest and stays
focused on what they're building. Microsoft is the guy at the table that
always goes 'Hey guys, wow look at this King/Ace I have! Now look at my pocket
Queens!'

~~~
projectileboy
Right on. This is _exactly_ why I started to actively avoid consulting gigs
where I'd have to work with Microsoft technologies - whatever knowledge you
gain has a shelf life measured in weeks, because they're constantly on to the
next shiny trinket.

~~~
kenjackson
That's odd. It seems like most of the stuff I learned 20 years ago is still
useful.

~~~
vetinari
Strange. 20 years ago, the the hot Microsoft technologies were MS-DOS and
Windows 3.0.

Are you sure, that your knowledge of Ralf Brown's Interrupt List and VGA
registers is still what current market demands?

~~~
kenjackson
OK, 17 years ago. I learned Windows NT internals, and the Windows message
pump, etec... Almost all of it still is useful today. Probably the only big
discontinuity has been .NET, which has been going strong now for about 8
years.

All the technology is pretty much incremental built on top of those two. I
find it more daunting to keep with video game controllers than I do software
development technology, whether on or off the MS stack. Not that I know
everything, but I've never felt like I'd wasted my time learning anything
related to software tools.

~~~
contextfree
Microsoft also has a habit of constantly changing the names and market
positioning of everything, which can make it seem more mercurial than it is.
(Not that they haven't had their share of truly ephemeral Next Big Things as
well.)

~~~
kenjackson
I'm kind of curious... really what were the MS technologies that you spent
more than 15 minutes on(reading a Dr.Dobbs article) learning that went poof?

I've learned over the years: Win32 Visual C/C++ COM .NET C# WPF T-SQL JScript
ASP.NET Direct3D Visual Studio (the IDE) Windows Services

I literally can't point to a book on my bookshelf that is related to MS
technology and say, "that was a waste".

~~~
vetinari
For example: ODBC, ADO, DAO, OLEDB, ADO.NET... is seems, that there is no end
to different data access layers.

Technologies, that went completely poof: Hailstorm, Passport, VB6(!).

Technology on the verge going poof: WPF.

~~~
kenjackson
ODBC and OLEDB are still pretty widely used if you work in the DB space. They
just shipped a new version of ODBC last year. And given that ODBC has been out
for nearly 20 years, I'd hardly call that something that went poof overnight.
I probably see new OLEDB at least once a week.

ADO.NET is extremely popular still. I'd argue that its the most popular way to
get data in the MS stack to this very day.

Hailstorm didn't go poof, it was never released. Passport actually still lives
on to this day, but is called Windows Live ID. VB6 is the only one on your
list that I'd legitimately say isn't really used much, but that line of VB
lived for 11 years -- that's not exactly a short lifespan -- it may well out
live Java :-)

And WPF doesn't appear to be on the verge of going anywhere. Visual Studio was
just rewritten with it. Their designer tool, Blend, is written in it. They
just built their new IDE for business apps with it. If you saw at PDC they
announced support for fixing Airspace issues (a huge engineering task), SL
support, improved threading, integrating new controls, among other things.

Next?

------
contextfree
this has been clear for a while. Ballmer said as much at a recent financial
analysts' meeting: [http://decav.com/blogs/andre/archive/2010/10/27/ballmer-
micr...](http://decav.com/blogs/andre/archive/2010/10/27/ballmer-microsoft-s-
strategic-ria-platform-is-html5.aspx)

"Interviewer: "HTML or Silverlight, what is Microsoft's lead strategy for
developing rich internet applications? Silverlight, HTML5, or acquiring
Adobe?"

Ballmer: "If you want to do something that is universal, there is no question,
the world is going HTML5... The world is just pushing down that HTML5 path,
and so are we... What we've really done [with Silverlight] in very good ways
is to repurpose it as an important part of the client platform, so yes, you
will embrace HTML5, but it's also clear people want client apps... So we're
dedicated to Silverlight, but with a little different concept, and we're
embracing HTML5."

~~~
rbanffy
That's why Windows Phone 7 doesn't support HTML5?

Seriously, Ballmer is never clear in interviews.

~~~
confuzatron
Windows Phone 7 doesnt yet support copy and paste. I would not look at a lack
of 'HTML5 support' as strategic.

~~~
InclinedPlane
The fact that Windows Phone 7 doesn't support HTML5 may not be intentionally
strategic, but it affects Windows Phone 7's strategic future nonetheless.

~~~
confuzatron
Does it however _strategically_ affect WP7's strategic future?

Look, the way I see it, WP7 is barely months (weeks?) old. To expect HTML5
support when 'HTML5' is in still flux is silly. MS are still working on their
desktop support for goodness sake.

Lack of copy-and-paste demonstrates clearly that MS couldn't get everything in
to v1.0. And to impute strategic motives is reaching.

~~~
glhaynes
The fact that Microsoft is still working on desktop HTML5 doesn't mean a thing
to a smartphone customer when every other popular smartphone has it already.

For the same reason, it's hard to convince myself that I'm being "silly" for
having an expectation as a web developer that a new mobile OS platform in 2010
would have decent HTML5 support. What a step backwards for the mobile web.

------
mrj
I don't get it. Their brand new phone doesn't support HTML5.

~~~
cryptoz
Nor does any MS browser for Windows XP, which still has > 50% of the Windows
market share. It's very doublespeak of them:

 _Yes we love HTML5, but we won't have any of it on our most popular OS or our
new mobile phone_

...wtf?

~~~
contextfree
Here's what I suspect their strategic angle on this is:

I think when MSFT talks about HTML5, what they tend to mean by it is web
applications with desktop-like rich UIs, fancy graphics (that, in particular,
require hardware acceleration on powerful PCs to run smoothly), etc. They have
decided it's in their interest to encourage the proliferation of such
applications (expect to see a lot of tools to help this along - Microsoft have
already released an Adobe Illustrator plug in to export to HTML <canvas>
(<http://visitmix.com/labs/ai2canvas/>) and Blend 5 is strongly rumored to
support SVG/<canvas> as a target platform) for two reasons:

1\. They think it's a chance to differentiate their web properties, especially
by moving them toward a rich-client model in which they already have
experience. They tried to do that with Silverlight previously but didn't get
enough acceptance from various quarters. They probably think it's an
opportunity for their development tools business as well (in particular,
<canvas> being a low level API leaves a lot of room for new frameworks on top
of it).

2\. If rich-UI, CPU/GPU-hungry HTML5 sites become common, people who haven't
upgraded in a while will need newer browsers and PCs to view them correctly.
Of course, Microsoft is hoping to encourage them to move to IE9 and therefore
to Windows 7, but even if they go to another browser instead, if they're on
older computers they'll still need to _upgrade their PC_ for the sites to run
well, regardless of what browser they're using, and by default that means
moving to a W7/8/ ... machine. I think this is probably the most important
consideration for them.

~~~
contextfree
I'm actually curious what people think of my take on this. Does it make sense,
am I crazy/deluded, or ... ?

------
tlianza
The company who should fear this turn is Adobe. This is the exact opposite of
"market validation" for Flash.

This is a competitor signalling that they are no longer betting on a Rich
(binary) environment in a browser. They see that as a dead-end, and have
undoubtedly spent considerable time, money, and effort coming to that
conclusion.

~~~
mahmud
1) Just to take an example, no desktop GUI, much less a pure web toolkit does
image manipulation, drawing, filters and geometry at pixel-accuracy like Flash
does, at such small footprint, speed, and pleasant language. It's just 1 part
of Flash.

2) Flash is ActionScript, and ActionScript is for all intents and purposes
"EcmaScript-NG". JavaScript is _becoming_ ActionScript. Adobe got all the
predictions right, and EcmaScript is headed that way (I see type-annotations
in your js-future :-) and because ActionScript ~= JavaScript, it would be
_very_ easy for them to convert to "HTML5", whatever that might become. This
is such a trivial exercise, it's done several times a day, js ports of flax
libraries.

3) We have already seen CSS3 "IDEs", and you have GWT, Aptana, etc. It's the
"HTML5" scene that's going the old Flash way, by integrating development and
tools, projectifying scripts, and becoming more organized.

~~~
treeface
Sorry if this sounds stupid, but how is Javascript _becoming_ ActionScript? To
name a few major differences: the OO architectures are very different and
Javascript doesn't compile.

~~~
contextfree
Might be more accurate to say that Javascript _was_ becoming ActionScript -
ActionScript 3 was based on a draft standard for EcmaScript 4, which at the
time of AS3's creation looked set to become JavaScript 2.0, but that didn't
end up panning out.

~~~
mahmud
It's my understanding that Adobe has every intention of remaining a superset
of EcmaScript. If ES breaks AS3 compatibility in the future, it's safe to
expect that Adobe will keep pace.

FWIW, for much of its documentation, Adobe refers to the EcmaScript
specification. In fact, Flash instructions map 1:1 to EcmaScript specs,
including the type conversion and promotion algorithms.

------
apl
So Microsoft is still a gargantuan hydra with different heads fighting each
other?

It's fairly fascinating. On the one hand, you get this sensible, open
Microsoft - the company that still delivers reasonably good Desktop products,
has a great development platform, wonderful developer resources/support, now
supports HTML5. On the other hand, you keep encountering its evil twin: the
institution that made the Kin, that scrapped Courier, that can't decide which
horse to back in the internet race, that made IE7, and so on and so forth; the
company that will end up losing most of its mind and market share to the new
(and old, actually) kids on the block.

Wish there was only the former.

~~~
ergo98
It sounds like Microsoft is adaptive and pragmatic. What's not to like about
that?

If everyone was using Silverlight today I suspect they wouldn't be saying the
same thing. Instead it has virtually no traction among devs (aside from a core
group of hardcore Microsoft boosters), it has little legitimacy, and the
smartphone explosion has rendered it dangerous to choose.

If Flash is a relic of the past (true), then Silverlight is a relic that
didn't even have relevance in the past.

~~~
msg
Right, but you have to take another step back. As you say, it's good that
Microsoft moved away from Silverlight because it didn't gain traction and was
wrong for the market.

But before we laud them for moving away from yet another high-profile flop,
why didn't it gain traction? Why was it wrong for the market? Because it
failed to learn the lessons of the past. It is yet another not-invented-here,
one-stack-to-rule-them-all product from Microsoft. It needed developer
mindshare and it was going against an entrenched competitor in Flash.

Why was it even begun, amounting to a massive waste of developer time, money,
and opportunity cost? That's the real problem at the core of Microsoft.
Everybody's a dreamer, everybody's a star, failed projects pad manager resumes
on 1 Microsoft Way.

~~~
contentvoid
My theory is they wanted some way to get a bit of return on investment from
WPF and thus WPF/E which became Silverlight. In 2007 or so who was to know
that Apple would have the clout to almost singlehandedly drown RIAs in the
bathtub.

------
jcromartie
This is why I don't bother with Microsoft's development platforms. They are
always moving the goalposts.

------
ashleyreddy
HTML 5 is still in a draft state. <http://en.wikipedia.org/wiki/HTML5> Looks
like it will be in IE9. So whats all this about Microsoft not adopting open
standards? Their kind of a big company isn't it okay for them to support both?

------
seltzered
Is it possible for developers to see this merely as microsoft positioning
everything to be more like apple?

I'm seeking some validation if the following is now true:

wpf ~~ cocoa (for mac)

silverlight ~~ cocoa touch

html5 (formerly SL when used as webapps) ~~ html5.

I hope microsoft pitches the above this way, so developers like me that need
to use their tech stack can sleep easy at night. It's a simpler way to think
about everything. And Flash can still have it's place for RIA and grow to be a
premier tools developer for html5 apps.

Remember, apple originally took an opposite direction when the iphone first
came out, originally expecting developers to develop mobile html applications
for the phone. That idea died quickly, and a year later Cocoa Touch and the
App Store came out.

~~~
contextfree
It's not quite that simple, because Silverlight is for desktop apps as well,
and there are also the Windows native APIs (which are strongly rumored to be
getting an overhaul in 8).

------
neovive
This is smart competitive positioning by Microsoft. Microsoft has been burned
in the past for not embracing standards early and clearly wants to be on the
right path from the outset. The difference this time around is that HTML5 also
presents itself as a competitive option to the proprietary iOS and Flash
platforms, to which Microsoft offers no significant or competitive
alternative.

------
marcamillion
This looks like a classic case of the enemy of my enemy is my friend.

Despite how much Apple raves about HTML5, the fact remains that the bane for
the App store are HTML5 apps.

Microsoft has just raised the stakes a bit...but as many commenters have
pointed out, time will tell whether or not they have staying power. They have
a tendency to wax and wane on their support for products.

------
dstein
Microsoft is really the last company anybody should be looking for guidance on
Internet technologies. Their strategy has historically been to make web
development as difficult as possible, so as to delay the eventual replacement
of the PC as a computing paradigm. Microsoft only stays in business if the PC
paradigm lingers, and lingers...

------
kenjackson
I find it ironic that just two months ago the same pundits were talking about
how WPF was dead and Silverlight is taking over. Now Silverlight is dead and
HTML5 is taking over. Yet in MS most high profile product, WP7, it supports
Silverlight, but not HTML5.

Why do I get the feeling that most people have no clue WTF they're talking
about? :-)

------
jister
Silverlight + "Intranet" is always a good combo. I'd say a better replacement
for smart-client apps.

~~~
cpr
Sure, but an even better replacement would just be modern webapps.

~~~
kenjackson
Why? On the intranet you're likely dictating the browser/technology used
anyways. Why not simply use what's best for the specific job. If it's Flash,
Silverlight, HTML5, rich client app, virtual machine, etc...

~~~
cpr
Because then you're not hostage to any company's particular technologies.

~~~
kenjackson
So I should not use the best tool for the job, and give up say 5x
productivity, in the fear that some company will take me hostage -- especially
since AFAIK, this has never happened. And if it has happened it has happened
an order of magnitude less frequently as projects getting killed by using the
wrong tools.

That I've seen happen first hand, including as recently as last year.

~~~
city41
I've been writing a Silverlight app at my job for the past 8 months. I don't
feel like Silverlight has given me any kind of productivity boost. I actually
find Silverlight to be rather heavyweight and slow going, especially RIA
Services which is boilerplate central.

I may have a bit of a "grass is greener" outlook, but I do feel my
productivity would be higher with a web framework such as RoR. Especially if I
was just as good at Ruby/RoR/JS as I am now at C#/Silverlight (I've been using
.NET professionaly since its debut)

~~~
kenjackson
Then don't use Silverlight. My point wasn't to use SL per se. It was to use
the best tool for the job. If you're most productive writing in 6502 assembly
and then writing a binary rewriter to convert it to Logo, which you then
compile to Javascript, go for it.

------
eddanger
Writing cross-browser "desktop" html/javascript is very painful right now. The
mobile world is a beautiful playground because IE isn't a serious player. Now
if Microsoft would adopt WebKit for its mobile browsing, then I'd eat my hat.

~~~
jcromartie
It's "very painful?" I can't imagine how you'd describe cross-browser HTML/JS
in 2004.

~~~
dstein
Try 1998, when DOM didn't exist. That was pain.

~~~
metageek
Layers.

Layers _seemed_ easier than DOM...until you encountered the bug in Netscape 4
where you couldn't have two layers loading at the same time. I worked on
Netcaster for a while, and we had to have a queue of (layer,url) pairs; when
each layer was finished loading, its onLoad handler would notify the queue to
load the next layer.

