Monday, February 27, 2006

Testing the Blogger widget.

So, it looks like Vista will have a virtual clone of Quartz except it won't use PDF but XPS. Pros for XPS include it essentially being a JAR. Cons are the idea that printer vendors will jump on the idea of installing XPS RIP into their products considering how much of a free lunch PDF gives them.

Tuesday, February 21, 2006

Open letter to Apple re: Secunia advisory 18963

You really dropped the fucking ball on this one.

BOMArchiveHelper can detect executables in .tgz archives but it can't question the existence of resource forks in platform-independent common datafiles like JPG, MP3, PDF?

Until BOMArchiveHelper is intelligent, Safari should at most open a ZIPfile, not its contents.

Friday, February 03, 2006

IE7b2 Testing: day 2

After unsuccessfully struggling with trying to get IE7b2 to run in local mode, I was able to get a test PC I could install it to.

The security problems I mentioned before evaporated. Select menus work. Pages are no longer unjustifiably accused of having popups. That's the good part.

The bad part: CSS support is better but still sketchy in parts. A typical CSS-only CSS menu page like CrazyTB's works but demonstrates the same problems with z-index and "hover holes" that I encountered when adapting the horizontal menus we use on our home page. The z-index issue has to do with daughter menus underlapping parts of the parent menus; the "hover holes" make the menu disappear as you're navigating the elements. Hopefully both can be fixed the way we did it.

HowToCreate's CSS-only menu is a disaster as is Eric Meyer's. How IE7 renders it:

...and how everything else does.

I'll go out on a limb here and guess there's a selector syntax IE7 still doesn't understand. Meyer's CSS2 tests for selector syntax and child selectors indicate that + and > are recognized now, whereas they weren't in IE6. If you've forked your CSS using these operators to hide definitions from IE, you may be in trouble.

When I attempted to create this blog in Blogger, the screen came up but the edit window's text color was white on white. Not funny.

Going through Meyer's CSS2 test suite, we see that it still spectacularly fails every property-based test IE6 fails:Conclusion? This product is lip service to standards and no substantial change from IE6. This was guessed as early as two thousand four. MS improved a handful of unbelievable calculation-based rendering bugs and implemented the missing selector syntax -- but their claims to have rewritten the whole thing from the ground up is bollocks, plain and simple. Bollocks. Couple this with the fact that unless you're running XP SP 2 or Vista, you have no chance to run IE7, and adoption of it could be years in the making. Corporate environments are still wedded to Windows 2000 and home users with dialup are either running earlier versions of XP, pirated versions of XP, or even Windows 98.

Unless there's a beta 3 in production which features changes to the above, Paul Thurott may be right to suggest returning to the days of badged websites and boycotting IE7.

Wednesday, February 01, 2006

IE7 Beta 2 caveat

There's a fairly important difference between IE 7 Beta 1 and 2 beyond the cosmetic.

To vastly oversimplify, IE 7b1 was a demonstration of the new eye candy. New interface, new features (tabs, plugins, security features), but it used the same exact HTML/CSS renderer that IE 6 does. To web developers this is useless.

Recently, build 5296 aka IE 7b2 was released by Microsoft for download. It features the actual new renderer with the CSS fixes promised in MSDN's blogs. There's a more recent version (build 5299) but it's not supposed to be available to the public. Eventually there will be a public beta as well.

One irritating feature of IE is that installing new versions invariably wipes out old versions, and there isn't always an uninstaller to revert to older versions. To make it possible to test new IE versions in the wild, Microsoft put an undocumented "local mode" into the installers.
IE installers are in fact .RAR archives. Unpack them to a temp directory with a tool like 7zip or WinRAR and inside is a pile of files including the iexplore.exe program itself. In order to make this version of iexplore run without trying to install itself, the usual trick has been to delete a DLL in that directory (shlwapi.dll), then create an empty textfile renamed to iexplore.exe.local -- these two things alert iexplore.exe that it's not an installed version and to run in local mode.

There's a problem with Beta 2. Microsoft hasn't been fond of "local mode" because it derails the installer's ability to overwrite system files with newer ones. Beta 2 comes with a new version of a system library (wininit.dll) which it expects to find -- in a particular set of circumstances.

Forumistas with both legit and pirate copies of XP have had inconsistent experiences getting Beta 2 to run in local mode. I was able to get it to run easily on a PC yesterday, but on another PC running the same version of XP Pro the application opens and closes mysteriously. Attempts to run it from a command line result in a cryptic dialog:

iexplore.exe - Entry Point Not Found
The procedure entry point InternetGetSecurityInfoByURLW could not be located in the dynamic link library WININET.dll.

The only difference between these two test bed PCs is that the one which ran successfully was logged in as the sole Administrator account, and the one which did not is an administrator but not the Administrator. Complaints on the forums indicate that this may not make a difference.

Here's my take on how it behaved. The infamous IE CSS rendering bugs documented at positioniseverything.net are largely fixed. I haven't run it through Eric Meyer's CSS2 test suite extensively, but I did notice that it still doesn't appear to support max- and min- dimension properties.

More critically, it accused sites which use JavaScript of having popups it blocked, when no such popups exist. Menu selects fail to work and some actually trigger popup blocker warnings. CSS-based menus do not consistently disappear when hovers end. The last one may be an anticipated side effect of using behavior: JScripts to correct IE6's incomplete hover: model. [edit: this was partially the case. csshover's author rewrote his code to do nothing in the presence of IE7 and it solved the problem.]

Until I can test IE7 in installed mode rather than local mode, I can't tell whether these are bugs in IE7 itself or its interaction with an OS using IE6 libraries.