Back in early March when I first released the Ajax/DHTML Scorecard, rating all of the existing Ajax/DHTML toolkits against an ideal cross-browser scale, I rated Atlas an “E.†So, the good news for Microsoft fans is that Atlas is actually better than that. But not by much.
On April 4, I rescinded the original score after some readers correctly pointed out that I was treating Atlas differently from the other toolkits in the shootout. That’s because Atlas was simply vaporware in early March, and there was nothing to test. As I explained in an update to the article, the “E†was based on Microsoft’s past conduct in the cross-browser-support department. Here, they had been very bad big boys. Microsoft is the reason that we have to worry so much about cross-browser support today, so it stood to reason that their entry in the Ajax field would continue their past strategy of steering all users to Microsoft products and away from alternatives.
Though I was skeptical Microsoft had changed its stripes, one writer assured me that
In general Microsoft’s strategy with .NET is to require Windows on the server, but to be 100% browser compatible on the client. .NET components configure themselves automatically for the available browser features ( i.e. CSS levels, javascript dialects, or css/js disabling). While I’m still in the early phases of researching Atlas, it seems that this style of browser support has continued.
And so, I began testing with an open mind, especially after an Ajax blogger raved about Atlas in an article that was picked up by the No Fluff, Just Stuff RSS feed that I follow. (I’ll have to remember to ignore future articles by Brad Abrams, whose blog after all is hosted by msdn.com…)
Since Abrams was celebrating the release last week of the Atlas Control Toolkit, which includes 9 online demos of different Atlas controls, I decided to start my testing there. Unfortunately, Atlas failed on the very first control, the “Cascading Drop Down.†Though it worked in Firefox on Mac OS X, it failed in both Safari 2 and Opera 9. After going through three or four of these, Atlas was batting a very low score, and I decided to keep track of results more scientifically.
The end result? Of the 9 Atlas controls very publicly celebrated by Microsoft this week, here’s how Atlas rates:
- Firefox, 8 of 9 controls worked
- Safari, 4 1/2 of 9 controls worked
- Opera, 3 1/2 of 9 controls worked
I don’t think you can count this as cross-browser support, folks.
Because the vast majority of the controls worked in Firefox, I’m counting that as almost-full Firefox support, giving the Atlas toolkit a “D-â€.
Now really, with all of the A-rated toolkits available to you, why would you choose Microsoft’s if you care about cross-browser compatibility? There’s no good reason to do so. Especially with the status of IE 7 so out-of-focus, and Vista even blurrier. The only reason to do so is if you don’t care about cross-browser compatibility and are married to a Windows server or Windows developer tools. Anybody who really cares about cross-browser, cross-platform support for the next generation of web applications will avoid Atlas like the lovely but deadly Siren it is.
Test Results
As I kept detailed notes on my tests of Atlas, here are the results. For each control that didn’t work, I’ve included one or more screenshots of the broken control. Also included are the detailed JavaScript error messages generated in Opera. I’m including these not only to show the error message, but also as a hint to those of you JavaScript gurus who haven’t experienced the wonder of these little gems yet. Far better than what’s available in Firefox or Safari, the Opera message gives you an invaluable backtrace that pinpoints the source of the error. If you know of a better JavaScript error log than this for any Mac browser, please clue me in.
- Cascading Drop Down
- Firefox | Safari | Opera
Screenshots: Atlas Control | JavaScript Error - Collapsible Panel
- Firefox | Safari | Opera
Screenshots: Atlas Control | JavaScript Error - Confirm Button
- Firefox | Safari | Opera
- Drag Panel
- Firefox | Safari | Opera
Screenshots: Atlas Control | JavaScript Error - Hover Menu
- Firefox | Safari | Opera
Screenshots: Atlas Control | JavaScript Error - Popup Control
- Firefox | Safari | Opera
- Reorder List
- Firefox | Safari | Opera
Screenshots: Atlas Control | JavaScript Error - Textbox Watermark
- Firefox | Safari | Opera
- Toggle Button
- Firefox | Safari | Opera
Screenshots: Atlas Control in Firefox | Atlas Control in Safari
For the last control, I gave Atlas only one-half credit in Opera and Safari since for some reason Microsoft couldn’t get those browsers to display the nifty thumbs-up/thumbs-down graphic that Firefox and IE users enjoy. Why this should be hard is beyond me… it’s just a graphic, after all! Also, the only failure that Atlas suffered in Firefox was for the Reorder List control. Here, the drag/drop function worked, but once I dropped a list item, the whole browser had to refresh in order to register the new list order. Hate to tell you, Microsofties, but that ain’t Ajax.
I also noted that besides the broken Ajax controls, the Atlas website failed Opera visitors on other fronts… most notably, the tabbed interface on the Atlas home page can’t be navigated in Opera 9. And finally, unlike nearly every other toolkit on these lists–even those that rate D or E–you can’t even use Atlas JavaScript controls unless you’re using Windows on the desktop and on the server. Try to download the “samplesâ€, and you get “AtlasSamples.msiâ€, which I couldn’t crack open on my Mac OS X system. Presumably, this is an ASP.NET file of some kind, although Ajax is based purely on open standards of JavaScript, CSS, XML, and HTML. Again, this bundling is simply an attempt to make you use Windows systems for your Ajax-enabled websites. Why do this, when there are dozens of extremely able frameworks that give you more freedom? Heck, even nearly all of the commercial frameworks on these lists open the source code for anyone to leaf through.
In conclusion, although Atlas has some nifty DHTML/Ajax controls, that is true of virtually all of the A- and B-rated toolkits. There’s something to like about most of these, and there’s a fair amount of picking and choosing to do when deciding on a toolkit. My point is that because you now have so many great tools at your disposal, there’s no reason to accept less than full browser/platform compatibility as one of the criteria for deciding which to use. Just because Microsoft is the 300-pound gorilla of IT doesn’t mean its nicely packaged toolkit should turn your head. Take a closer look… this is one beautiful Siren that will eat you alive if you get too close.
P.S. I want to thank the author of the very nifty JavaScript widget DOMinclude for making this available! DOMinclude is a wonderful, unobtrusive DHTML control that lets you make any external content a DOM “popup†just by adding a class to its anchor tag. This was perfect for the screenshots and JavaScript error snippets I wanted to include with this article.
Many of you seem to think that because Microsoft released Atlas and these controls with the language “early preview” that this translates to the software being “beta” or even “alpha,” as one of you has suggested. If any of you have ever been in a true beta test, or, earlier, alpha test, you’ll know that this is just language Microsoft is using to cover itself. The fact is, all of Microsoft’s releases have always been “beta” in that sense… there are always bugs that need to be fixed.
But why pick on Microsoft? They’re not the only ones that play this game. Google has released oodles of software under the guise of being “beta” releases, but we all know that they aren’t, really. Apple released Boot Camp recently as a “Public Beta,” and like Google they at least made that clear on the product’s home page. (Microsoft’s Atlas home page gives you no hint that the product is beta in any sense of the word.) So stop trying to apologize for Microsoft’s “beta” product… they released controls that were not cross-browser or cross-platform in the sense that I defined them in my first article on this subject. All the other vendors have been graded the same way, and I won’t make an exception for Microsoft.
It’s also important to distinguish between the release of a beta product for consumers and one for developers, which is what Atlas supposedly is. Despite its being “preview” software, Microsoft actively encourages its developers to begin building web applications with Atlas–now–which means that its “beta” software is in turn going to produce hundreds or thousands of “beta” web applications, which won’t work correctly on all platforms. If you’re building for a company Intranet and want to do this, it’s up to you. But many people use ASP and .NET to build public websites and web applications. Those are not going to work for every visitor, which is precisely what happened with an earlier breed of Microsoft development tools. (Here’s a PDF file of the Atlas home page as it was yesterday afternoon. Tell me if you see anything here that remotely suggests that Atlas isn’t production-ready.)
Second, the grade I’ve given Atlas does not reflect the total value of Atlas as a framework for doing web development. That’s not the issue here. The server-side technology, or development environment used, is not considered in the score. As the first article makes clear, this scorecard grades the toolkits solely on the basis of whether or not the client-side output they produce will adhere to a cross-browser, cross-platform ideal. I get the sense from some of your (rather nasty) remarks that you don’t really give a *%!+/*&! about whether you build a website that can be used by non-IE, non-Windows users or not. That, of course, is your right. I just hope your views don’t prevail as Web 2.0 gets built out, and that the next generation of web software will be as open and accessible to all as the web’s pioneers originally envisioned.