A Microsoft consegue realmente fazer um browser melhor?
Wednesday, March 24, 2010 7:02:31 PM
Eu achei essa matéria muito interessante sobre o Internet Explorer 9 Plataform Preview, comparando-o com os outros navegadores do mercado, e o que o IE9 alcançou até agora.
Vale a pena ler, retirado do Ars Technica - http://arstechnica.com/
Can Microsoft really build a better browser?
At last year's PDC, held in November, Microsoft showed a graph showing scores of a variety of Web browsers in the SunSpider JavaScript benchmark, to show off the progress that the company was making with Internet Explorer 9. Another such graph was shown off at the recent MIX event. What was most interesting about the graph was not IE9's progress, but Opera's.
Opera 10.10, released at about the same time as Microsoft held its PDC event, fared pretty badly. Faster than IE8, but slower than everything else, including the (private) PDC IE9 build. Opera 10.50, released a few weeks ago? It's the fastest browser on the chart. It's faster even than prerelease versions of Firefox and Chrome, not to mention faster than the public IE9 Platform Preview build. SunSpider isn't the be-all/end-all of JavaScript performance, and it fails to represent real-world scenarios in a number of ways. However, it's clear that Opera's JavaScript performance has improved substantially over the period of about six months.
And most significantly, these improvements are now in people's hands. 10.50 isn't some preview release. It's a released, stable version of the browser.
This isn't the first time this has happened, either. Redmond promoted the JavaScript performance of IE8 in the run-up to its release, too. The result? By the time IE8 was released, or shortly after, competing browsers had once again overtaken it, with stable, shipping versions outpacing Microsoft's efforts.
By taking the approach of infrequent, but substantial releases, Internet Explorer users are being denied timely access to much of the progress that Microsoft is making, and hence denied the ability to take advantage of IE9's greater standards compliance.
We see similar situations, albeit with fewer easy-to-use graphs, when we look at how well other browsers implement SVG, or CSS, or HTML5. The current stable releases of Safari, Chrome, Firefox, and Opera are all streets ahead of the current stable version of IE. Make no mistake: these other browsers do not provide complete, systematic, exhaustive implementations of these specifications (though Opera's SVG support is not far off). But they are already providing extensive capabilities, not to mention impressive performance, to Web developers. And they're doing so today.
But Microsoft? IE9 is going to provide thorough, complete implementations of many of these specifications. This is certainly a good thing. It's what all browsers should strive to be doing. But Microsoft isn't going to release these features piecemeal. The current IE9 engine is already a huge improvement over IE8, but its preview status makes it irrelevant. We don't know when IE9 will be finished—2011 seems the earliest possibility, and there's an outside chance that it won't be until 2012 that IE9 ships.
In the meantime, we get nothing from Redmond.
This approach sets Microsoft apart from the other browser vendors. Firefox, Chrome, and Opera all get regular updates. I don't just mean security fixes, though they get those too—they get regular feature updates that improve their performance, improve their standards compliance, and improve their user interfaces. Firefox, for example, had release 3.0 in July 2008, 3.5 in June 2009, and 3.6 in January 2010. Opera 9.5 was released in September 2007, with 10.0 in September 2009, 10.10 in November 2009, and 10.50 in March 2010.
Over a similar time frame, Internet Explorer 7 was released in October 2006, IE8 in March 2009. And now nothing further is likely until 2011.
There's a similar discrepancy when it comes to support. Firefox 3.0 is going to receive its last-ever patch at the end of the month—a total supported lifetime of a little under two years. Internet Explorer 6, released in 2001, is still supported by Microsoft. It's old, its use is thoroughly discouraged, but it's also a part of Windows XP, and since Windows XP is supported, so is IE6.
Avoiding moving targets
Microsoft's approach is that it wants to build stable, consistent platforms. It is important to Microsoft that IE8 is, for example, a known target that developers can aim for, without there being a series of 8.1, 8.2, 8.3... point releases that might improve features, but also create more targets for developers, and not the stable, consistent platform that Microsoft wants to provide. It would also incur substantial support overheads.
The attitude is one that makes sense for Windows or Office. There are platforms that push out updates more regularly (Ubuntu, for example, has a regular six-month release cycle), but both of the two major desktop operating systems (Windows and Mac OS X) have lengthier release cycles. But the difference with these platforms is that in a sense they're more arbitrary. Microsoft and Apple get to pick the direction of their future OSes, and each new release introduces a raft of new—proprietary—features. There's no real benefit to releasing piecemeal updates in the same way.
But that's not the case for Web browsers. We have a fairly good idea what the target is, because the target isn't defined by the vendor. It's defined by W3C. Regular updates, making progress towards the various Web standards, are, in my view, a lot more useful. Microsoft's desire to have exhaustively tested, complete implementations of each part of each spec is laudable, and that should certainly be the ultimate goal, but fundamentally, partial implementations are still useful.
We've written before that Microsoft's approach to browser development does not engage Web developers as thoroughly as it could. To an extent, the decision with IE9 to produce this platform preview, and to update it every eight weeks, goes some way towards addressing this. Microsoft says that the eight-week cycle is the one that will make feedback manageable and allow the most effective involvement with the process. Sure, it'd be nice if we could see the progress more regularly (something like Chrome's dev channel would seem an ideal compromise), but the platform preview nonetheless represents progress on Microsoft's part.
Getting developers involved is only part of the story, though. Getting features into end users' hands is valuable, and perhaps the most important thing that a browser vendor can do. Having a fast, standards compliant browser engine is only useful if it's shipping and available, and making Web users wait two or three years between releases just isn't good enough. To get people energised and actually in favor of IE, Microsoft needs to retake the position it once had: the best, most compliant, most stable, fastest browser around. During the browser war era it held this position. But those days are long gone.
Perpetual catch-up
This lack of updates has to be at least part of the reason that Internet Explorer's market share is still declining. People want a better Web browser, and Microsoft isn't willing to ship one. Redmond points to IE8's rapid uptake as evidence that the company is doing something right. It's certainly true that IE8 is, by far, the best shipping version of Internet Explorer. However, I would point to IE's broader decline as evidence that the company is still doing plenty wrong. As improved as IE8 is—and it is a huge improvement—it's still lacking relative to the competition. Its scripting engine is slow, its support for things like SVG, Canvas, and HTML5 video is nonexistent, and it's inexplicably slow at basic operations like starting up and creating new tabs.
As things stand, IE is perpetually playing catch-up. Sure, as of right now IE9 can pass various test cases that other browsers don't pass. But by the time IE9 ships, those other browsers will all have released versions that pass the tests too. Sure, as of right now IE9's hardware accelerated Direct2D graphics are novel. But by the time IE9 ships, Firefox, at the very least, will also have the same capability. The next IE9 Platform Preview should include hardware accelerated HTML5 video (the current one doesn't, but the version demonstrated at MIX last week did, so we know it's coming). Current browsers (with stable support for HTML5 video) don't have hardware acceleration. But, on Windows at least, they can add it. And they probably will add it, and will almost certainly beat IE9 to market.
Microsoft's corporate, big release, stable platform culture just isn't appropriate to Web browser development. Changing perceptions of Internet Explorer is going to be difficult. IE8 was a step in the right direction, and IE9 will be an even bigger improvement. But the biggest thing that Redmond could do to turn things around is to ship, and to ship often (perhaps an annual release, say). The company is doing many things right with its browser development. It's clearly taking standards compliance seriously, and the creation of test suites is something that's hugely valuable to the Web community as a whole. But without shipping, and shipping often, Internet Explorer will always be behind other browsers, and Internet Explorer users will always be denied access to latest features.
For its part, the company says that some Web developers depend on this stable platform approach. Even today, they specifically target, say, IE8. If there was, for example, an IE8.5 that improved features and fixed bugs, but changed the rendering of those pages, then MS would have failed to deliver a stable platform. Microsoft is only willing to break working functionality when it's necessary for a security or privacy issue. This may be true, for at least some developers, but it hardly seems to be something that the company should encourage. The mantra at MIX last week was very much "the same markup everywhere"—such a stance is indeed the entire point of Web standards—so there is a kind of contradiction here. Microsoft is publicly promoting a standards-targeting approach to Web development, an approach that avoids aiming at specific browsers, but is developing a series of infrequently released, static platforms, along with features like the compatibility button that enable developers to tie their sites to a specific version.
If Microsoft truly wants to promote "the same markup everywhere" (and I don't doubt their developers' commitment to Web standards; perhaps they should have started down the path sooner, but they're heading that way now, and I believe they're doing so sincerely), it needs to downplay the significance of "IE, the versioned platform." Developers should be discouraged from assuming some particular version of the browser. They should be assuming standards compliance, and where possible, degrading gracefully when those standards don't exist. Obviously, there are limits to this—a developer would be foolish to depend on a feature that was unimplemented, even if it was standard—but the days of "this page is best viewed in Internet Explorer 5" are surely behind us now.
Perhaps the finest example of how to do this is found with Google's Chrome. The Chrome updater automatically, and silently, installs new versions of the browser. It even does so for major version updates, so that new features become available automatically. It is perhaps the ultimate "moving target"; the browser is "Chrome" and version numbers are irrelevant.
The other side of Redmond's "platform" mentality—lengthy support periods—is a tougher nut to crack. Continued use of Internet Explorer 6 hurts the entire Web, that much is clear. The decision by some high-profile sites to drop support for IE6 is a welcome one: people using this browser need to be forced to upgrade, and if the only way to do this is to cut them off from important sites, so be it. Microsoft says that it's doing what it can to encourage people to upgrade, but it's not doing the major things that'd really make a difference: stop supporting the browser (that is, no more security patches), stop allowing the browser to work on its own Web properties, and pushing out IE8 as a compulsory update on Windows Update for both XP and Vista users. This won't catch everyone, but it would certainly be progress.
Would this be painful? Sure. There would be a lot of push back from IT departments. If IE still held 90 percent of the browser market, such a change would be craziness—a huge risk for no possible gain. But you know what? The public perception of IE is lousy, and this is in no small part due to people clinging on to ancient versions. IE8 is a better browser than IE6 and IE7 in every important way. Upgrading is a change that should be enforced. The way in which people use the Web is moving too fast for nine years of support to be reasonable. The Web of nine years ago was substantially different from the Web of today: no Facebook, no Twitter, no YouTube, Wikipedia was barely a year old and a fraction the size it is today, and Google had just a tiny minority of the search market. In a very practical sense, the continued usage of IE6 by about 20 percent of Web users stands in the way of progress. (Fewer than 4 percent of Ars visitors were using IE6 when we launched our recent redesign, which does not support it.)
The one encouraging part is that IE8's take-up has been pretty good—it's already the most widely used version of any browser, so a significant proportion of IE users are willing to migrate to the latest and greatest.
Microsoft is doing good work with IE9. But the company's "platform" mentality means that there's a very real chance that by the time the browser ships, it'll be behind everyone else, once again, and Internet Explorer's market share will have dropped still further. The company's ambitions for the browser are the right ones. The only way they will be achieved, however, is to get the thing into people's hands. Not just developers, but end users. Redmond has done it before, to win the browser war. The ability is certainly there. What's missing is the intent.
original - http://arstechnica.com/microsoft/news/2010/03/can-microsoft-really-build-a-better-browser.ars
Vale a pena ler, retirado do Ars Technica - http://arstechnica.com/
Can Microsoft really build a better browser?
At last year's PDC, held in November, Microsoft showed a graph showing scores of a variety of Web browsers in the SunSpider JavaScript benchmark, to show off the progress that the company was making with Internet Explorer 9. Another such graph was shown off at the recent MIX event. What was most interesting about the graph was not IE9's progress, but Opera's.
Opera 10.10, released at about the same time as Microsoft held its PDC event, fared pretty badly. Faster than IE8, but slower than everything else, including the (private) PDC IE9 build. Opera 10.50, released a few weeks ago? It's the fastest browser on the chart. It's faster even than prerelease versions of Firefox and Chrome, not to mention faster than the public IE9 Platform Preview build. SunSpider isn't the be-all/end-all of JavaScript performance, and it fails to represent real-world scenarios in a number of ways. However, it's clear that Opera's JavaScript performance has improved substantially over the period of about six months.
And most significantly, these improvements are now in people's hands. 10.50 isn't some preview release. It's a released, stable version of the browser.
This isn't the first time this has happened, either. Redmond promoted the JavaScript performance of IE8 in the run-up to its release, too. The result? By the time IE8 was released, or shortly after, competing browsers had once again overtaken it, with stable, shipping versions outpacing Microsoft's efforts.
By taking the approach of infrequent, but substantial releases, Internet Explorer users are being denied timely access to much of the progress that Microsoft is making, and hence denied the ability to take advantage of IE9's greater standards compliance.
We see similar situations, albeit with fewer easy-to-use graphs, when we look at how well other browsers implement SVG, or CSS, or HTML5. The current stable releases of Safari, Chrome, Firefox, and Opera are all streets ahead of the current stable version of IE. Make no mistake: these other browsers do not provide complete, systematic, exhaustive implementations of these specifications (though Opera's SVG support is not far off). But they are already providing extensive capabilities, not to mention impressive performance, to Web developers. And they're doing so today.
But Microsoft? IE9 is going to provide thorough, complete implementations of many of these specifications. This is certainly a good thing. It's what all browsers should strive to be doing. But Microsoft isn't going to release these features piecemeal. The current IE9 engine is already a huge improvement over IE8, but its preview status makes it irrelevant. We don't know when IE9 will be finished—2011 seems the earliest possibility, and there's an outside chance that it won't be until 2012 that IE9 ships.
In the meantime, we get nothing from Redmond.
This approach sets Microsoft apart from the other browser vendors. Firefox, Chrome, and Opera all get regular updates. I don't just mean security fixes, though they get those too—they get regular feature updates that improve their performance, improve their standards compliance, and improve their user interfaces. Firefox, for example, had release 3.0 in July 2008, 3.5 in June 2009, and 3.6 in January 2010. Opera 9.5 was released in September 2007, with 10.0 in September 2009, 10.10 in November 2009, and 10.50 in March 2010.
Over a similar time frame, Internet Explorer 7 was released in October 2006, IE8 in March 2009. And now nothing further is likely until 2011.
There's a similar discrepancy when it comes to support. Firefox 3.0 is going to receive its last-ever patch at the end of the month—a total supported lifetime of a little under two years. Internet Explorer 6, released in 2001, is still supported by Microsoft. It's old, its use is thoroughly discouraged, but it's also a part of Windows XP, and since Windows XP is supported, so is IE6.
Avoiding moving targets
Microsoft's approach is that it wants to build stable, consistent platforms. It is important to Microsoft that IE8 is, for example, a known target that developers can aim for, without there being a series of 8.1, 8.2, 8.3... point releases that might improve features, but also create more targets for developers, and not the stable, consistent platform that Microsoft wants to provide. It would also incur substantial support overheads.
The attitude is one that makes sense for Windows or Office. There are platforms that push out updates more regularly (Ubuntu, for example, has a regular six-month release cycle), but both of the two major desktop operating systems (Windows and Mac OS X) have lengthier release cycles. But the difference with these platforms is that in a sense they're more arbitrary. Microsoft and Apple get to pick the direction of their future OSes, and each new release introduces a raft of new—proprietary—features. There's no real benefit to releasing piecemeal updates in the same way.
But that's not the case for Web browsers. We have a fairly good idea what the target is, because the target isn't defined by the vendor. It's defined by W3C. Regular updates, making progress towards the various Web standards, are, in my view, a lot more useful. Microsoft's desire to have exhaustively tested, complete implementations of each part of each spec is laudable, and that should certainly be the ultimate goal, but fundamentally, partial implementations are still useful.
We've written before that Microsoft's approach to browser development does not engage Web developers as thoroughly as it could. To an extent, the decision with IE9 to produce this platform preview, and to update it every eight weeks, goes some way towards addressing this. Microsoft says that the eight-week cycle is the one that will make feedback manageable and allow the most effective involvement with the process. Sure, it'd be nice if we could see the progress more regularly (something like Chrome's dev channel would seem an ideal compromise), but the platform preview nonetheless represents progress on Microsoft's part.
Getting developers involved is only part of the story, though. Getting features into end users' hands is valuable, and perhaps the most important thing that a browser vendor can do. Having a fast, standards compliant browser engine is only useful if it's shipping and available, and making Web users wait two or three years between releases just isn't good enough. To get people energised and actually in favor of IE, Microsoft needs to retake the position it once had: the best, most compliant, most stable, fastest browser around. During the browser war era it held this position. But those days are long gone.
Perpetual catch-up
This lack of updates has to be at least part of the reason that Internet Explorer's market share is still declining. People want a better Web browser, and Microsoft isn't willing to ship one. Redmond points to IE8's rapid uptake as evidence that the company is doing something right. It's certainly true that IE8 is, by far, the best shipping version of Internet Explorer. However, I would point to IE's broader decline as evidence that the company is still doing plenty wrong. As improved as IE8 is—and it is a huge improvement—it's still lacking relative to the competition. Its scripting engine is slow, its support for things like SVG, Canvas, and HTML5 video is nonexistent, and it's inexplicably slow at basic operations like starting up and creating new tabs.
As things stand, IE is perpetually playing catch-up. Sure, as of right now IE9 can pass various test cases that other browsers don't pass. But by the time IE9 ships, those other browsers will all have released versions that pass the tests too. Sure, as of right now IE9's hardware accelerated Direct2D graphics are novel. But by the time IE9 ships, Firefox, at the very least, will also have the same capability. The next IE9 Platform Preview should include hardware accelerated HTML5 video (the current one doesn't, but the version demonstrated at MIX last week did, so we know it's coming). Current browsers (with stable support for HTML5 video) don't have hardware acceleration. But, on Windows at least, they can add it. And they probably will add it, and will almost certainly beat IE9 to market.
Microsoft's corporate, big release, stable platform culture just isn't appropriate to Web browser development. Changing perceptions of Internet Explorer is going to be difficult. IE8 was a step in the right direction, and IE9 will be an even bigger improvement. But the biggest thing that Redmond could do to turn things around is to ship, and to ship often (perhaps an annual release, say). The company is doing many things right with its browser development. It's clearly taking standards compliance seriously, and the creation of test suites is something that's hugely valuable to the Web community as a whole. But without shipping, and shipping often, Internet Explorer will always be behind other browsers, and Internet Explorer users will always be denied access to latest features.
For its part, the company says that some Web developers depend on this stable platform approach. Even today, they specifically target, say, IE8. If there was, for example, an IE8.5 that improved features and fixed bugs, but changed the rendering of those pages, then MS would have failed to deliver a stable platform. Microsoft is only willing to break working functionality when it's necessary for a security or privacy issue. This may be true, for at least some developers, but it hardly seems to be something that the company should encourage. The mantra at MIX last week was very much "the same markup everywhere"—such a stance is indeed the entire point of Web standards—so there is a kind of contradiction here. Microsoft is publicly promoting a standards-targeting approach to Web development, an approach that avoids aiming at specific browsers, but is developing a series of infrequently released, static platforms, along with features like the compatibility button that enable developers to tie their sites to a specific version.
If Microsoft truly wants to promote "the same markup everywhere" (and I don't doubt their developers' commitment to Web standards; perhaps they should have started down the path sooner, but they're heading that way now, and I believe they're doing so sincerely), it needs to downplay the significance of "IE, the versioned platform." Developers should be discouraged from assuming some particular version of the browser. They should be assuming standards compliance, and where possible, degrading gracefully when those standards don't exist. Obviously, there are limits to this—a developer would be foolish to depend on a feature that was unimplemented, even if it was standard—but the days of "this page is best viewed in Internet Explorer 5" are surely behind us now.
Perhaps the finest example of how to do this is found with Google's Chrome. The Chrome updater automatically, and silently, installs new versions of the browser. It even does so for major version updates, so that new features become available automatically. It is perhaps the ultimate "moving target"; the browser is "Chrome" and version numbers are irrelevant.
The other side of Redmond's "platform" mentality—lengthy support periods—is a tougher nut to crack. Continued use of Internet Explorer 6 hurts the entire Web, that much is clear. The decision by some high-profile sites to drop support for IE6 is a welcome one: people using this browser need to be forced to upgrade, and if the only way to do this is to cut them off from important sites, so be it. Microsoft says that it's doing what it can to encourage people to upgrade, but it's not doing the major things that'd really make a difference: stop supporting the browser (that is, no more security patches), stop allowing the browser to work on its own Web properties, and pushing out IE8 as a compulsory update on Windows Update for both XP and Vista users. This won't catch everyone, but it would certainly be progress.
Would this be painful? Sure. There would be a lot of push back from IT departments. If IE still held 90 percent of the browser market, such a change would be craziness—a huge risk for no possible gain. But you know what? The public perception of IE is lousy, and this is in no small part due to people clinging on to ancient versions. IE8 is a better browser than IE6 and IE7 in every important way. Upgrading is a change that should be enforced. The way in which people use the Web is moving too fast for nine years of support to be reasonable. The Web of nine years ago was substantially different from the Web of today: no Facebook, no Twitter, no YouTube, Wikipedia was barely a year old and a fraction the size it is today, and Google had just a tiny minority of the search market. In a very practical sense, the continued usage of IE6 by about 20 percent of Web users stands in the way of progress. (Fewer than 4 percent of Ars visitors were using IE6 when we launched our recent redesign, which does not support it.)
The one encouraging part is that IE8's take-up has been pretty good—it's already the most widely used version of any browser, so a significant proportion of IE users are willing to migrate to the latest and greatest.
Microsoft is doing good work with IE9. But the company's "platform" mentality means that there's a very real chance that by the time the browser ships, it'll be behind everyone else, once again, and Internet Explorer's market share will have dropped still further. The company's ambitions for the browser are the right ones. The only way they will be achieved, however, is to get the thing into people's hands. Not just developers, but end users. Redmond has done it before, to win the browser war. The ability is certainly there. What's missing is the intent.
original - http://arstechnica.com/microsoft/news/2010/03/can-microsoft-really-build-a-better-browser.ars







