Friday, November 20th, 2009
With IE’s market share continuing its decline, Microsoft is working overtime to catch up to the current generation of browsers. If everything Microsoft showed with IE9 at their Professional Developers Conference comes to pass, they may be able to stem the bleeding.
One of the most innovate features they’re working on is GPU acceleration. Right now browsers render the drawing canvas via the CPU, which is generally the slowest and most expensive (power, execution time, etc.) way to paint on the screen. IE9 will leverage the Direct2D Windows API to render graphics, which should speed page drawing and decrease the hit to the CPU.
They’re speeding up the JavaScript engine, but it still won’t be a screamer. It will still be the slowest JavaScript engine out there (numbers via Ars), but rather than being ~600% slower than Chrome it’s only ~%100 slower (and still slower than all the current generation browsers). No surprise there – they want to remain competitive, but they don’t want you running JavaScript apps. They want you running Silverlight apps.
Standards support is supposedly getting better in IE9, but as with the JavaScript performance, that’s a relative thing. Acid3 testing for IE9 in its current state is 32/100 (vs 20/100 for IE8), and it should improve during development. By way of comparison, Chrome (Webkit) is 100/100 and Firefox is 96/100. Unfortunately Microsoft was very non-commital about what CSS3 features they will support, so whether they will support the really cool stuff like canvas, embedded video, rounded corners, etc., or even SVG, is hard to say, though one can surmise the current development builds don’t support those things or they would have touted such.
Although it’s vaporware at this point, IE9 looks like it’s going to add some innovative features. It’s hard to say how compelling these features will be by the time IE9 comes out – at the rate Chrome is going they will have had 4 new major releases by then. Still, anything to improve the default browser on Windows helps web developers everywhere.
Tags: Browsers, Microsoft
Posted in News | No Comments »
Thursday, September 24th, 2009
In the if-you-can’t-beat-them-shove-a-tube-down-their-throat-and-plant-eggs-in-their-chest department, Google has released Chrome Frame, an open source plugin that drops Chrome’s HTML (WebKit) and JavaScript (V8) engines into IE. Ars has a good summary as usual.
The idea is an IE user stumbles upon your site that has a X-UA-Compatible meta tag in header that tells the Chrome Frame plugin to render the page with Chrome rather than Trident (IE’s engine). For IE users that don’t have it installed, you can load some JavaScript that will prompt the user to install Google Chrome Frame. After installation, the user will view the site (and all subsequent X-UA-Compatible sites) with Chrome. Not only will users get stuff rendered in a standards compliant way, it’ll be much faster (Slashdot reports it as 9.6x faster than IE8, which means it’ll be a bazillion times faster than IE6). And users won’t have to give up their retched IE user interface. Yay!
As a web developer the idea of not having to support IE anymore makes me want to jump for joy, but this creeps me out a little. Some people use IE because their stupid IT department makes them, and they will be savvy enough to see Chrome Frame as a joyous prison break. I have no problem with that. But a lot of people use IE because they don’t know any better. They’re going to see a browser window with words in it they won’t read, click to install just as they would install Flash (the I-don’t-know-any-better IE user will click on anything), and have no idea what happened. Even though what happened is positive, it’s still a little unsettling. It’ll make these users think IE is a lot better than it really is, which isn’t a good thing either. And this will happen for all versions of IE, including 8. While IE8’s web standards compliance still lags behind, it isn’t as awful as it used to be.
Microsoft’s only contribution to the debate so far is that they are afraid it would make IE less secure, which caused more laughter across the web than the time they said IE was secure. Microsoft isn’t above screwing with other browsers either, doing things like dropping Silverlight and .NET Framework Assistant excrement onto my Firefox install. Add that to the fact that they still push out the world’s worst web browser, my empathy for them on this one is pretty low.
For my part, I might stick in the X-UA-Compatible meta tag in my pages so people can take advantage of Google Chrome Frame when they visit my sites if they already installed it, but I don’t think I’ll push the download. I have no problem popping up a “your browser is outdated” message to IE6 users, but I’m not ready to shove a tube down their throats and plant eggs in their chests. At least not yet.
Tags: Browsers, Code, Google
Posted in News | No Comments »
Wednesday, September 9th, 2009
When I have to do JavaScript programming for a web site, the first thing I do is drop in a reference to jQuery on Google’s CDN. I can’t imagine doing any non-trivial JavaScript work without jQuery. jQuery is:
…a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
And it does that better than any other library I’ve tried. But none of that describes user interface pieces – tabs, accordions, image sliders, overlay windows, etc. – all the bits and pieces that make for a nice user experience. There are thousands of extensions you can find for these tasks, but having a single UI library makes for compact downloads and for a more consistent experience, both for users and the developer.
I’ve been using jQuery UI for a while now, and will continue to do so in lots of projects. It’s a great library and takes care of a ton of UI pieces, from date pickers to tabs. It has a very good theme roller. The only knock on it is it’s a little on the heavy side.
A little while ago I ran across jQuery Tools, a new UI library for jQuery. It doesn’t have all the bells and whistles of jQuery UI (no slider, date picker, dialog, drag & drop, etc.), but it’s unbelievably tiny. GZIP’d the entire library is less than 6KB, and includes a lot of useful UI pieces – tabs, accordions (a particular tab implementation becomes an accordion), tool tips, overlays, etc. I finally got around to trying it, and I’m glad I did.
Besides being so compact (using tabs, overlay, and expose, the total library size was 2.83KB GZIP’d) and fast, it’s really easy to use. Setting up some tabs or an thickbox style window takes very little code, and the code itself is logical and easy to follow. The documentation is good and they have sample code that covers most scenarios, from basic rendering to call back functions and event handling. Skinning objects is extremely easy, with a number of examples available. For the UI elements it offers I haven’t run across an easier UI library to get started with.
My only nit to pick is it could use some CSS themes – just 4 or 5 different themes/images for all the tools that you can easily access in one place. Right now you have to hunt and peck for them for each tool (if it’s there and I didn’t find it somebody please clue me in). But that’s a small gripe, and didn’t hold me up at all while coding.
One of the best things you get with jQuery is a very enthusiastic and prolific development community, and jQuery Tools is a prime example. If you’re looking for a lightweight UI kit for jQuery, I recommend giving it a shot.
Tags: Browsers, Code
Posted in Code | No Comments »
Saturday, August 22nd, 2009
From Slashdot, in the making-IE-suck-less department, there’s a project up on Google Code called svgweb that will add SVG support to browsers that don’t have it baked in. Which is the long hand way of saying it fixes Internet Explorer.
A little history. Scalable Vector Graphics (SVG) is an XML standard for describing both fixed and animated 2D vector graphics. SVG has been a W3C standard for 8 years and is supported to some degree by every major web browser except IE. When W3C was looking for a vector graphics standard, Microsoft pushed VML and Adobe and others pused PGML, and W3C combined parts of the two to make SVG (though one could argue it leaned more toward PGML). Microsoft, never one to play well with others, took its ball and went home. Even IE 8 offers no SVG love.
There has been a somewhat neglected Adobe SVG plugin for IE for some time, but as of January 1 this year it is officially unsupported (though you can still download it). But svgweb isn’t a plugin at all – it’s a 60k JavaScript library. An IE user can hit your web site that has some code like so -
<!--[if IE]> <script type="text/javascript" src="svg.js"></script> <![endif]-->
- and their crashware turd of a browser will support SVG.*
This could have some significant impacts for GIS on the web. SVG allows for scalable, interactive, animated, and searchable graphics, in ways that could otherwise only accomplish with plugins like Flash or Silverlight. You can get a long list of SVG related GIS projects here, but I recommend your first stop be carto.net for some good examples.
The ideal solution would be for IE to support SVG, but in lieu of that, this JavaScript library is a great option for developers. It’s still in alpha, but it has a long list of demos and in light testing I haven’t found any issues. Here’s the Google Tech Talk about the svgweb:
You can download svgweb at Google Code.
*No judgment.
Tags: Browsers, Graphics, Microsoft
Posted in Code | 3 Comments »
Tuesday, August 18th, 2009
From ComputerWorld:
Friends don’t let friends use IE6. – Amy Bazdukas, Microsoft Internet Explorer General Manager.
She does give businesses some cover, saying because some companies are big stupid heads and built applications around IE6 rather than web standards they might have to keep using it. I’m paraphrasing.
In any event, good advice from Microsoft. I’ve been spreading this advice on some of my sites since IE8 came out.
Tags: Browsers
Posted in News | 1 Comment »