Microsoft picks HTML5 over Silverlight for Internet apps
zdnet.com
zdnet.com
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!'
Back in the early DirectX days (1996), Microsoft was working on a technology called Chrome Effects that was intended to compete with VRML as the world's ultimate "Networkable Graphics" format. This history is covered in books such as <em>Renegades of the Empire</em>. This was stuff from back when Michael Abrash worked at Microsoft!
Are you sure, that your knowledge of Ralf Brown's Interrupt List and VGA registers is still what current market demands?
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.
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".
Technologies, that went completely poof: Hailstorm, Passport, VB6(!).
Technology on the verge going poof: WPF.
I think Microsoft does chase a lot of new shiny things. But they're really giving what the devs are asking for. I know, I'm one of those .Net developers :)
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?
Web classes, Site Server (the largest ASP application ever kind of built)
Joel Spolsky, "Fire and Motion," 2002
"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."
Seriously, Ballmer is never clear in interviews.
It's sad in a way.
I'd love to support WP7. More competition. Keep Apple and Google on their toes. No problem with that.
But no HTML5? Game over. Decision made. It's madness. Madness I tell you.
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.
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.
Er… their competitors’ phones support a lot more HTML5, CSS3, and related APIs than they do. Who’s silly, exactly?
Edit: [completing my thought] Apple was ridiculed for it, though; however, it's more evidence that the phone isn't 100% complete, and that Microsoft wants a tool out there to show the world what they've made. Perhaps then, as requests are made concerning the phone, they'll incorporate those, not to mention adding features they, themselves want. (It won't take long to want copy-paste).
As a second thought I had while extending this post. Startups are encouraged to release early and release often. Releasing early, I imagine, comes with "releasing a not 100% complete and not even completely polished" subtext to it), why are large corporations slammed for it? I thought we praise companies like Google because they similar to a startup, and yet we scoff at companies like Microsoft when they may very well be doing something similar. Admittedly, I've not followed Windows Phone 7 very closely, as I'm pleased with my current smart phone (Droid original), so perhaps they've not alluded to this being the end-all, be-all for their phone. Given how XP came to be, though, we really should be prepared for their original version to not be perfect, and it take a few (free) updates to get it up to something very good.
So long as I'm rambling, I should add that, if carriers start modding the heck out of the operating system to the point that a user can't download the patches that Microsoft comes out with, producing an incomplete product is a very, very bad idea for them (or maybe for the carriers) -- but I don't want to start the carriers versus phone-makers versus software-developers war, again.
End my two cents on things related to the subject.
[edit 2: some grammar-o's fixed]
It's 2010. If you start a television production company today, you won't come out with a black and white CRT using the excuse "has everyone forgotten that Panasonic didn't support color HD TVs at first?"
[Hacker News bug report: I had to come to treeface's comment page to reply to this message. I wasn't allowed to on the main thread]
It's such a pain to be limited by C# and only able to write desktop apps for Linux, Windows and OSx thanks to Mono.
Or Droid/iOS apps using MonoTouch.
Or write a game using Unity3d.
Yes, what a drag indeed.
I certainly don't feel bad for them in a general sense. They're probably paid pretty well and I would imagine they have an otherwise great working environment.
I just think it's time we start to view C# with a bit more respect/understanding. It's a great language and Anders Hejlsberg doesn't get enough credit for what he's done (and is doing) as C# continues to evolve; ditto Miguel and the Mono team..
I don't mean to be inflammatory, but it strikes me as being a completely barking decision. The world and its developers' army is writing for HTML5, especially in the mobile space. Folk are openly talking about dedicated apps going the way of the dodo, and that's because of what HTML5 brings. Sure it may not all be here today, but get the weight of the World's developers behind you and, frankly, nothing is going to stop it.
I do expect WP7 to support HTML5. I'm utterly amazed that it doesn't.
Does Microsoft really believe that it is bigger than the Internet, the mobile space, and all those that develop for it? Has it lost its way so totally and utterly? Has it lost its marbles?
I will assume this is a rhetorical question.
So, I expect their strategy is to have a full Silverlight path where supported, with a fallback to HTML/SVG/Canvas when needed. If so, Windows 7 Phone phones would currently have more need for a good Silverlight implementation than for good/full HTML5 support.
If Windows 7 Phone phones manage to gain traction, the business strategy could then well be to decrease effort on the HTML5 fallback path.
It's only an advantage if the stack is relevant. Silverlight is not.
Yes we love HTML5, but we won't have any of it on our most popular OS or our new mobile phone
...wtf?
But they don't. They still support it and they still sell it. In fact, they will keep selling it until 2020. That's 10 more years! Source: http://www.computerworld.com/s/article/9179109/Microsoft_ext...
Now, can you seriously sit there and tell me it's reasonable for MS to sell an OS for ten more years (totaling about 20 years!) without releasing a single HTML5 capable browser for it?
And then comment that they're "embracing" HTML5? Ridiculous.
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.
In a perfect world they would have shipped the phone with WebKit, but we all know that Microsoft is not going to do that (I'd love to be proven wrong).
On the plus side, continents may not move very quickly or in the precise direction that one might desire, but they do move.
http://moishelettvin.blogspot.com/2006/11/windows-shutdown-c...
Sounds like it takes years to get the legs moving together, which means it's too late for IE9 on the phone for a while...
...Okay. It's not an easy job to align products and release cycles. Microsoft was already late on WP7. They probably missed a cycle and Android kicked in. Microsoft doesn't want to be late anymore. Meaning, they probably couldn't wait for IE9 for mobile to be released (which wouldn't be a HUGE job if you have a working, stable, and RC version of IE9).
In conclusion, Microsoft is being smart that they release the phone and let people dive/absorb/digest earlier instead of waiting for full featured phone OS with a HTML5 supported browser, which is still in beta for desktops. However, this just means..the next release of WP7 will be very interesting. Remember, Android and iPhone OS (which wasn't iOS at the time) weren't closed to feature complete with their first release. I'm an Android user, and I can remember when I first bought my Droid, it went through so many updates software updates. Companies just have to cut things if one or two things will block the entire release.
It's not like pivoting an entire ecosystem. It's about launching a mobile browser that doesn't suck.
Using WebKit (and possibly even the JS-processing code Google pushes back to the WebKit community), they could get it up and running in far less time than it would take to build it themselves. A small (or large, well-organized) company wouldn't have legacy issues like this (or at least wouldn't let them get in the way of making the right decision).
The only reason Windows has a browser these days is that Microsoft succeeded in destroying Netscape, but, by the time they did it, it was too late to destroy the web. Had they arrived at the game when NCSA Mosaic was the dominant browser and succeeded in fragmenting the transport and presentation layers with competing protocols and formats, the web would be completely different today.
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.
But, I agree with you that if they pivot they should be fine. To some extent they're also (smartly) re-purposing their existing tools for native mobile development: http://labs.adobe.com/technologies/packagerforiphone/
I'm skeptical that they'll be big in the "good HTML5/JavaScript tools" business based on what they have[n't] done with Dreamweaver, HomeSite, ColdFusion, etc. They just don't seem to have a lot of developer momentum there, IMHO.
If seems like if Adobe plays their cards right, they end up making a lot more money, although they become a lot less prominent brand.
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.
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.
What do you mean "javascript doesn't compile"? if you mean it doesn't have a native ahead-of-time compiler for an existing physical processor, well, that's not a language problem but a community/effort problem :-)
Re: compilation...sorry..that's exactly what I meant :-]. As far as I know, you can't open a prompt in a Flash app and code AS on the fly like you can in Javascript. I don't consider this a problem...I actually prefer JS to AS.
Exactly, people talk about "flash being slow", but the competence is even slower when they try to make what flash does well(drawing vector shapes videos).
E.g when the OSS community tried to make animated svg or flash videos, they discovered their performance was simply awful compared to flash(the two guys that created it were not idiots after all).
MS tried with silverlight not to do difficult things with vectors like flash does, and use hardware acceleration at the maximum level so nobody notice how poor their performance is. The same strategy of metro on win7 of "not trying to do what computers are not good for(translation: our employees don't know/don't want to do the hard work it takes to compete with flash, as computers improve we try to make the minimum effort, and use marketing to compete) "
Care to elaborate on this? Do you have a personal account on the origins of Flash? Would love to hear :-)
I know Lynch was there from the start, but who are/were the coders?
That's funny, I was arguing exactly the opposite recently:
http://news.ycombinator.com/item?id=1798679
As for JS becoming Actionscript, good god I hope not. And I bet not, too: V8 is far faster than AVM2 and doesn't have any of that stuff.(yeah, that "bigthingism" thing is one part Flash :-)
At the same time, Microsoft realized that like Flash, Silverlight will never achieve universal penetration, hence why developers are reluctant to use it on the web. Microsoft, seeing Adobe having similar issues and spats with Apple think, hey, what if we bought Adobe and put all the Flash engineers on H5.
Just a thought.
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.
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.
It sounds like Microsoft is adaptive and pragmatic. What's not to like about that?
I really wish this was all there is to it, but their behavior doesn't qualify as adaptive and pragmatic as far as I'm concerned. It qualifies as aimless and schizophrenic.It's one thing to suggest, fail and then drop technology. Google does that. Even new Apple does that from time to time. It's another thing to suggest, fail and then keep developing technology in some state of semi-cancellation while backing a completely different approach at the same time: for instance, Silverlight. Right now, it seems like a classic case of throwing stuff at walls and seeing what sticks. That's part of the reason why Microsoft is struggling in any area except for its core business.
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.
I find MSDN equally hard to work out for other technologies as well, but at least there are other resources out there, with silverlight sometimes the only mention of a feature existing is on a developer blog.
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.
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.
Why do I get the feeling that most people have no clue WTF they're talking about? :-)
That I've seen happen first hand, including as recently as last year.
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)
Few years ago, there were many people absolutely sure, that creating IE6-only webapps is also best decision. And look today, where that decision got them.
I really would not want to be the person, who few years since now is responsible for maintenance of some legacy Silverlight application. It is going to be exactly ugly as maintaing IE6 only application today. The difference is, that it is easier to avoid that now.
I really don't know what would make Silverlight best tool today (except for very specialized solutions). No, support in VS does not count.
It's a stupid argument. I mean really a STUPID argument to say "don't use the best tools, use the tools that some random guy on HN says to use". If you can't trust your own judgment I'd quit software development right now. You really just have no business writing code. Because if you can't pick the best tools based on info, how can you pick the right architecture, or pattern, or prioritize which bugs to fix, or which scenarios to support, or which person to marry or when to have kids or when to buy a house.
I hate to be so blunt, but this reminds me of religious zealots who say, "ignore your best evidence... just trust us". Anyone who goes down that path simply has lost all of my respect.
And yes, downvote away. I just have trouble believe someone on a hacking site would say, "don't do what you think is best based on your own due diligence... follow some arbitrary crowd".
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.