Microsoft watchers are poring over a series of Twitter posts from former Silverlight Product Manager Scott Barnes, a web design and user experience specialist. According to Barnes, just back from a week of briefings at Microsoft, there is intense internal debate about the future of HTML 5, newly implemented in the forthcoming …
Thinking about it as a programmer is a no-brainer for me.
Getting most the world to upgrade to IE9 vs a few seconds to install Silverlight is an easy choice, it's going to be 10 years before most people are using IE9 and silverlight adds much that HTML5 as standard doesn't.
In ten years...
...I hope that Windows share has dropped far enough the proprietary crap like Silverlight is simply not viable. MS is nowhere in the mobile market and that can only be a good thing for standards plus the industry as a whole.
And speaking as a developer, IE (all variants) does my box in. IE9 is the least bad, but it's still bad.
Interesting thought - but you managed to completely miss the obvious.
OS share has *very little* to do with it... or do you think if Windows ceased to exist that Flash would disappear overnight? Of course it wouldn't.
There is so much in-fighting over standards groups that I like the idea of, as well as a set of firm standards for HTML5, that there is also a more frequently updated option... provisions for cryptography, cross-domain ajax calls, dynamic security policies etc.
A lot less than 10 years
I suspect consumers will adopt IE9 very quickly and eventually it'll get pushed out as an update. Enterprise desktops will lag behind (probably still be using IE6 for another decade).
And you also miss the point
Flash is at least fully cross-platform (slow, bloated and a security threat I grant you; but fully cross-platform nonetheless). Silverlight is not, so shrinkage of OS share is *very much* the point when it comes to such technology. Why base a site on it when a reducing portion of customer can access it with that tech?
As for the in-fighting, if you draw up a list of the company reps throwing a strop and blocking progress and a list of companies bringing out their own proprietary tech to "fix the standards lagging" issues; you will find you have two *very* similar lists. These bully-boy tactics are also affected by OS shrinkage.
What the hell is a browser application doing with hardware-accelerated video??
Did they miss a design stage somewhere?
YouTube, you tube. :)
Just one example.
Why not use acceleration?
What's the point of having accelerated video if it's only being used for certain applications. Any application should be able to take advanatge of all the computing power at it's disposal. Isnt' that the point of having a computer?
re: hardware-accelerated video????
I'm missing something about all this browser based hardware acceleration since the OS is supposed to provide abstraction APIs to the hardware with hardware acceleration provided at the driver model. Is hardware so slow or the operating system( Windows?) so bloated and layered that OS APIs must be completely bypassed and direct hardware acceleration in the browser( an application ) is needed?
Sounds like we're heading back to the DOS days where each application required its own hardware drivers. It makes me wonder if this is a problem on OSX or GNU/Linux systems or is this a Windows problem by will be forced on the other two as a result?
Windows developers have got to be asking themselves why they keep following Microsoft platform standards at all. Every few years those Microsoft-defined standards go away and some other MS defined API is _the_ important one all developers must use. I guess it keeps them employed but is management that out of touch to keep accepting what's getting shoveled out as a Microsoft standard and spending time and money on chasing the next butterfly released out of Redmond?
That's what I meant with the original post Doug, but I think you put it a little better than I did.
A Web Browser is an Application. It shouldn't care about what hardware it's running on, thats the job of the OS and the Drivers.
Embrace and extend
Phew! Thank goodness!!
All that previous talk of standards and MS actually being responsible,. It was all just a bad dream.
I really must stay of the cheese at night...
I really hope that WPF is dead. It's awful to actually use. Just because it's possible to do something via some horrible XML mash-up doesn't mean you *should* do it.
Having used Swing for years before moving to WPF the "savings" in code due to the framework doing so much really aren't worth it and just complicate everything. There really is nothing wrong with constructing your UI in code - at least you know what it's doing...
A little effort goes a long way
If you don't get MVVM+Blend you don't get WPF or Silverlight. When you do, the angels sing and it's a thing of beauty.
Anyone who tells you HTML5 is going to kill Silverlight/Flash, or vice versa for that matter, hasn't worked with either technology long enough to offer an opinion. I use both, they both have specific markets they serve.
XML is great for tools not for humans
True. Writing XAML by hand is no better than writing code.
But the xaml makes it possible for tools like Expression Blend to use. Skilled designers using Blend really can make you app look good. I guess you didn't work on a very big app or on a very good looking app.
Ok so im just starting out as a programmer, do i learn WPF or do i not?!?!?
I'd say (not being much of a programmer or even having really kept up on these things) that it probably wouldn't hurt to have at least some idea of how to use WPF.
If you're just starting out, there are a whole lot of things you need to learn before you get started on presentation layers.
...well not if you're starting out just doing presentation layer work. In which case you may as well learn XAML (Silverlight/WPF), especially if you end up working in or for mainly Microsoft shops with lots of custom in house solutions.
Investing effort in learning Microsoft's development tools in any real depth is usually a waste. Open Source development tools tend to change more organically, so as long as you make a little effort to keep abreast of developments, you're OK; with MS, you (often expensively) build skills and expertise only to find the landscape has changed on their whim and your knowledge (and qualifications) are suddenly as dead as Windows 95.
Granted, a lot of employers are going to want you to develop for Windows, but (a) many open source tools exist on Windows too and (b) you can probably pick up the specifics pretty quickly if you really have to. There's no point investing time and money learning a technology with such a short shelf-life any sooner than you need to, in my opinion.
Well said AC
AC above has hit it right on the nail.
Once you learn the basics of one GUI toolkit it is fairly easy to learn others. If you're just starting I'd suggest Qt will give you a pretty good background as well as being pretty platform agnostic.
Make sure you have a good grip of the way a nice, well thought out API works before you dive into that WPF hell hole.
I wrote a DX5 game on windows 95 some 12 years ago and it still runs nice these days on Windows7. So dead as windows 95 is relative.
Technology evolves this has nothing to do with the MS or Open Source being more organic.
How organic is the evolution from SVN to Git?
Remember the good old days when browsers were just for displaying HTML pages. Now it seems like all browser makers wants their browser to replace the desktop it seems. Talk about going back to the Netscape days. True, there are some really great tech based on CCS3/HTML5 being pushed out this days, but developers fail to realize is that users simple don't upgrade the browsers cause they work just fine for what they do. How else do you explain the fact that IE 6 is still the most widely used browser.
So in away it really doesn't matter what MS does with HTML 5, just as long as the support most of it.
IE6 market share is below 7% today and falling every month. There's nothing to explain.
The Netscape/Sun idea of abstracting away the OS so that you could do useful work on 'any' computer was smart, and was the most significant threat to Microsoft's hegemony in the 1990s, which is why MS were rather obliged to pull all those dirty tricks, which got them in hot water with the antitrust boys, and which still echoes in the EU-enforced browser chooser.
Microsoft must be peeing their pants at the prospect of losing not just one cash cow (MS Office) but both (Windows). Considering that MS loses money on almost every other aspect of their business, it's no wonder that they are now banking on Bing to compete directly with google at *their* game, and it's no wonder that there are competing factions within the mastadon.
Microsoft has simply grown too big, with various departments producing software which compete with (and are incompatible with) the products of their other departments. We're seeing in-fighting and the legacy of inflexible business models, which indicate that they got addicted to the milk of their own cash cows and forgot that there are other nourishing drinks - with considerably less fat - which might be made available for free.
MS is moving too slowly to keep up with the rest of the industry, which is sad, because I was just beginning to like them. Maybe they would have been more viable today if the DOJ had split them in two.
As for using HTML5 for making the GUI of 'real' (i.e. not web-based) apps. I have to ask 'why not'? XAML and HTML5 are both markup languages, why should one be better than the other? The processor intensive work (e.g. video decompression) should/could be handled by appropriate hardware anyway, and we haven't yet seen the impact of GPUs on non-graphical number-crunching tasks like real-time audio filtering. (This positions Apple in a very advantageous spot).
HTML5 can be optimised with the right tools and be no worse than Qt or any of the other presentation frameworks.
I do industrial software that has a lifecycle in the order of 10 years. I only get a chance to build a new app from scratch once per year on average, if that. Most of my currently running apps are MFC and C++. By the time I learned Windows Forms well enough to use it in a live app, it was replaced by WPF. I don't think I've ever actually deployed anything using it. I've *just* started using WPF in live apps. And now I should write off all that learning time as a loss - *again*? Just because of the "everything must run in a browser" mania? And to move to an inferior language "with Windows APIs bolted on", too?
Fuck that with a rusty crowbar. I'm sticking with WPF until I get an explicit request for HTML5 - and in retrospective I should've stuck with Forms.
I also develop apps with similar life-cycles. Most of them are C++/MFC/ATL, with the occasional Windows Forms application. You can make these applications look good, usually with 3rd party control libraries.
I think if it's a desktop application, there's really no need for things like WPF/Silverlight, unless you want to include whizzy graphics and stick with .NET rather than using Flash. If its for a browser, HTML 5 is almost certainly going to be better, because it should be platform independent.
As for MS embrace/extend philosophy, that didn't work very well with Java (remember J++?). Nobody wants to develop browser applications/websites that only work on windows, so nobody is going to use your extensions anyway.
"Classic" usually tastes best
ironically I stuck with Classic ASP for many years and resisted the siren song of ASP.NET (added complexity and tooling cost just didn't seem to offer a ROI)
and now... Microsoft release Web Matrix with the new Razor syntax that.... looks and works just like Classic ASP with some helpers. Why they didn't just bolt some helpers onto Classic years ago... would have avoided losing a bunch of developers to PHP and not be struggling on web server share quite to much.
Same on the front-end... releasing a new "shiny object" every 3-5 years just doesn't inspire confidence. At least with HTML5/CSS3 and a framework like jQuery you can build pretty sophisticated browser based apps - and if you have to mandate Chrome or IE9 for users until things settle so be it. But at least when the standard evolves you don't have to totally re-learn everything to align to the methodology du jour touted by the most recently appointed Microsoft exec... until he's toppled by minions waving the next shiny thing...
desktop and wpf
I get - or, at least, I thought I did before reading this article - the point of WPF on the desktop. It was a chance to redo Windows GUI programming from scratch, without a baggage of conventions, styles and metaphores dating back to Win31. It's a bit "out there" for people who were used to MFC or Forms, but I get its reason of being, and it's good.
But this - pushing HTML5 for the desktop and dropping WPF - is moronic. Nobody asked for it. Desktop devs just want improvements on WPF. Oh, I get the idea that sometimes you have to push innovation on people - the whole "if I asked them, I would have just built a better carriage instead of a car" thing. The transition from Forms to WPF was something that required getting used to, but this - this is a giant step backwards, no matter how I look at it.
Re: Spot on
Nobody except in-house enterprise software developers that is. Just as they tied their apps to IE6 they will happily tie them to IE9 specific APIs. Especially if Microsoft touts that as the 'right way' to develop software.
Pinch of Salt.
Personally I don't see HTML 5 and Sliverlight addresseing the same set of use cases. Sure there is quite a lot of overlap, but there are a lot of intenal enterprise use cases that I'd prefer to see implemented Silverlight than HTML5. I'd also like to see the HTML5 standard ratified before I commit developer resources to using it.
"HTML5 is the replacement for WPF"
Er, wot? HTML5 is markup language for websites. WPF is a display subsystem for .net applications running on Windows. You can't replace WPF with HTML5 any more than you can replace GDI with SVG.
Done Silverlight, Java, WPF, Flex...
and now I'm playing with the HTML5 cnavas. I have to say I am pretty impressed hardware acceleration is exactly what my client needs for high polygon counts (CAD software), and neither Silverlight nor Flex have it at the moment. And nowadays getting joe public to install something on their desktop is becoming like asking for their mother's maiden name.
* No strong typing - lots of runtime errors that could be caught in compile time
* No properties - getters and setters are just too clumsy
* No access modifiers - How can I keep joe junior dev from writing to a read-only property?
* No robust libraries - .NET & Java have *huge* libraries of pre-built stuff, it just inst there in JS
JS works well enough to script a web page, but it is a strectch to try and build a large application on it. (Something which Silverlight does well, and Flex is starting to get). Still, I've always said that the architecture matters more than the language, and with JIT and hardware acceleration, JS just became faster than Flex, and it is relatively standard, so off I go I guess...
ECMAScript 5 is supposed to have getters/setters and read-only properties. The "strict-mode" setting is supposed to catch a lot of basic mistakes, stop global polluting, undefined vars etc.
Theres also a fair few libs out there, ExtJS, jQuery etc
Not *that* bad for a browser scripting language.
No real information...
Lots of rumours but no more. We need to wait for the dust to settle.
A testimony to MS's crappy business model
Instead of simply writing the world's fastest, and most standards-adherent browser and letting it dominate the browser market by sheer quality, MS once again resorts to lock-in strategies via proprietary extensions and embracements.
It's hard to avoid the conclusion that MS resorts to this tiresome and outdated tactic for any reason other than inability to actually write good browsing software - unlike Google, Apple, and Mozilla.
Message from the future..
Today Microsoft celebrated the last copy of IE6 being deactivated. Microsoft spokesman Geoff Dhalmer proudly stated that he can see no reason why the can't have IE9 off the internet within the next twenty years, and replaced with the new IE32. The most standards compliant version of Internet explorer to date.
Mr Dhalmer also announced new and exciting enhancements to HTML 12, and an entirely new media layer that takes full advantage of underlying Windows 21 capabilities.
It's simple - Microsoft cannot complete on product quality alone, which is why they have to resort to these kinds of strategies. *Have to* - their products would have failed long ago were they marketed on a level playing field.
Gates worked this out a long, long time ago.
> IE9 team want to fork the HTML5 spec by bolting on custom windows APi's ”
Phew you scared me for a sec, I thought I was sent 10 years back when I misread:
IE6 team want to fork the HTML3 spec by bolting on custom windows APi's ”