February 28, 2006
EOLAS is (sorta) Now
Today Microsoft released their long-awaited and originally much feared update to the way ActiveX controls render in Internet Explorer. ActiveX is the technology IE employs to embed interactive content such as Flash, Shockwave, Java and video, and the change is instigated by a long-running feud with Eolas Technologies who claim their patent covers such applications.
In order to get around this patent dispute, updated IE 6 browsers will require user interaction before running embedded content, unless that embedded content is dynamically written-in using VBScript or JScript, Microsoft's implementation of Javascript. Macromedia/Adobe has information and an online presentation that will run you through the user experience [direct link to Flash presentation].
Where the original patch threatened by Microsoft presented quite an obtrusive experience, the final approach described in Adobe's presentation shows there's much less to be concerned about, at least for Flash content, and if you've followed the practice of plug-in detection and degradation via an external .js script, nothing at all.
However, if your sites haven't followed this practice, then you should take a look at Microsoft's known issues technote, which describes issues with transparent Flash content, popular with superstitial advertising, issues with overlapping DHTML menus, controls that prompt before loading and CSS techniques to hide controls. Issues with 64-bit machines and Google's Toolbar are also documented.
Interestingly and importantly, Microsoft appears to have categorized the update as an optional install. Users who select Express Install will not get the update -- you have to intentionally install the update using the Custom management method. It remains to be seen if OEM installs will ship with the update enabled, or if future "critical" security updates will include the Eolas fix.
February 25, 2006
IE 7 CSS Hackery Ends Here
At the end of January, Microsoft released a public beta of the next version of Internet Explorer [download | readme | tour].
IE 7b2 offers more stringent security measures and other improvements including tabbed-browsing, updated CSS, RSS support and better printing. We may expect an official release towards the end of the year but I'm already seeing IE 7b traffic on sites I monitor. For instance, this site has seen 1.2% of IE 7bx visits so far for the month of February.
Important news for development shops is that oft-used CSS hacks to target IE rendering differences no longer work in this release. IE 7bx users visiting sites relying on such hacks may find that pages do not display as intended, and if your sites have employed such workarounds, expect to hear from the more techie-inclined clients and users that layouts appear broken.
At some point your team and clients will want to fix their sites. Determining when to schedule these fixes will depend on the typical factors, budget, time, and priority. One seemingly obvious way to assess priority is to monitor your stats for IE 7 visits up to and continuing through the official release date. Prioritization should include the stakeholders in your project -- an IT group, charged as they often are with keeping up with the latest in tech, is far more likely to note problems than the marketing group of the same organization. Clients in the technical industry may be more sensitive to IE 7 support, etc.
While it is too early to spend a lot of time on IE 7b issues, after all, some bugs in beta 2 have already been fixed and new issues may arise before release, there are a few things we can and should do, both for existing sites and projects in the works.
Project managers and designers should grab a PC and download the beta. Take it for a spin around your sites and note the problem areas. Anything atrocious? Consult with your developer, maybe it's a known bug with an easy fix, or perhaps it's an unknown bug, in which case you should report it. Remember to roll back to IE 6 afterwards unless you like living dangerously and have other machines on which you can continue to test the official release.
Developers should consider using Conditional Comments going forward instead of hacks. This is Microsoft's preferred solution and allows for a clean way to target CSS to specific versions of Win IE.
Keep up with the latest IE 7 news. Microsoft's IEBlog is the official voice but Eric Meyer's CSS-D list Wiki is an excellent hub for private IE 7b testing and research, including feedback from the Microsoft team on which bugs have already been fixed in internal builds. A good start is Position is Everything's article on common hacks and their behavior under IE7.
February 5, 2006
Flash on MacIntel
FYI: If you are planning to pick up an Intel-based Mac for your shop and also hope to use it for testing, you should make sure to back up the native-only Flash 8 player. This is because at this time you cannot download the special version of the Flash Player that ships with the new Intel Macs.
According to Adobe's Tini Oro, while PPC versions of Flash may run under Rosetta, you can expect rendering bugs and performance issues, especially with video.
Firefox users should also know that the bundled Flash Player will crash the current version of Firefox, though there is an unofficial native version of Firefox (and Camino) that do work.
February 4, 2006
Shockwave vs. Intel Mac
Shockwave developers report that Safari on the spanky new Intel-based Macs will run Flash but not Shockwave content out of the box. Additionally, native Safari users who are directed to Adobe's downloads site will be told there is no Shockwave player available for that platform. A quick visit to the Apple store today uncovered the following:
While running natively, Safari uses the userAgent string below:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/417.9 (KHTML, like Gecko) Safari/417.8
When run in Rosetta, Apple's PPC-to-Intel translation layer, "Intel" is replaced with "PPC", and Shockwave content loads and runs if the player is present. Unlike native Safari, the Adobe downloads site recognizes the Rosetta Safari and offers up the appropriate SW player if you need it.
Further, while running natively, the javascript plugins array appears to ignore plugins that are not Universal Binaries.
So an interim strategy for Shockwave content might be to test to see if "Intel" is found in the Safari userAgent when Shockwave is not found in the plugins array, and present a message explaining how to force Safari to run under emulation.
As I didn't have very much time, I didn't get to run any performance checks, but getNetText and 3D seemed to work, though we still see the Safari trails effect bug with 3D OpenGL sprites when moving the browser window around.
Fwiw, I didn't see much of a performance difference with a large Flash movie using alpha fades natively or under Rosetta. This is probably because the bundled Flash player is an Intel-only build (not a UB); its version is v8,0,22,0. I'm guessing that Rosetta is smart enough to recognize the fact that both Safari and the Flash version shipped with the MacIntels are native.
BTW, the Intel iMac already had SW 10.1. Have no idea at this point if a store employee had installed it or if it also comes bundled with the new Macs. More to come...