Thursday, August 24, 2006

Testing Installation -- and Uninstallation?

Over at Dr Dobb's Portal, Michael Hunter has just drawn up a disturbingly long list of things you may need to test before deploying your application:

You Are Not Done Yet: Setup - You are not done testing yet unless you have tested your program's setup process. Some conditions are specific to Microsoft Windows, but other operating systems generally have similar considerations.
On the flip side of the matter, it's a pity that he didn't draw up a (presumably similar) list of things that you must test to ensure your application can be cleanly and thoroughly uninstalled.

I'll bet that you're all well aware of the mess your system gets into after you've tried installing and uninstalling various software packages. Windows registry left in an inconsistent state, uninstaller program has "gone missing" (or was never there in the first place), or the uninstaller has bugs. You know what I mean!

Thursday, August 17, 2006

Tabbed Browsing Performance Crippler

I've been using tabbed browsers (particularly Avant Browser which I like a lot, and Firefox) for a couple of years now, and rarely use Internet Explorere 6 (IE6) at all these days.

The way I work tends to be pretty intensive. For example, I get quite a few daily newsletters coming into Eudora (mail client), each newsletters contining from five or ten to twenty or more news item links. I usually click on quite a few of these links in rapid succession, and since I've set Avant Browser to open links in new tabs as a background process this is a great time-saving procedure (rather than have to wait for each link to open in its own sweet time). I can then move from tab to tab conveniently -- often while other tabs are still opening in the background -- and in a very efficient way. Additionally, it's very useful to be able to reposition tabs just by dragging them around (a feature of Avant and Firefox, and thankfully added to IE7 at the Beta 3 stage).

Avant (and Firefox, and others that I use from time to time) allows tabs to occupy multiple rows, so it's not an issue to have ten, twenty, thirty tabs open at once. You couldn't say this about Internet Explorer 7 (IE7) beacause you cannot open multiple rows of tabs therefore in practice are limited to at most maybe ten or so tabs open at once after which IE7 will not open new tabs (a surprisingly poor design from the talented Microsoft IE team).


In many cases, the only effect of having twenty or more tabs open at once is to increase the memory occupied by the browser (and with this many tabs open it can easily amount to 200MB or more of memory, which could be a problem (for people with limited RAM in their machine) but usually isn't.

However I have encountered one aspect of having too many tabs open wich definitely can be a "really bad experience" problem, and seems not yet to have been reported on by the Web community at large. It is that if you concurrently open more than a couple of tabs holding Web pages containing dynamic advertisements, then they will consume a large slab of your computer's processor cycles and all of a sudden you find that your system has slowed down dramatically. This is especially true when the Web pages contain multiple such advertisements: two ads per page seem to be in vogue at the moment for many of the commercial sites (and some sites have three or more per page).

Unfortunately, some of the newsletters that I regularly read do have such processor-hogging content. Just one example of such advertisements relates to the campaign currently running for IBM Software, like the one shown opposite where the software development manager (?) is being bounced around against gearwheels -- shades of Charlie Chaplin in the movie Modern Times!

My notebook PC's processor is reasonably fast (for a 2005 vintage system) with an AMD Athlon 64 3200+ model running at 2.0 GHz, nevertheless it only takes three or four tabs containing these advertisements to dramatically worsen overall system responsiveness.

With Internet Explorer 7 due to be automatically installed on hundreds of millions of unsuspecting Windows systems in the not-too-distant future, I expect that millions of users will come to experience thses debilitating system slowdowns once they start opening multiple tabs.

Therefore I strongly advise the designers of all such processor-bound advertisements to redesign them to consume considerably less CPU resource.


- - - - - - - - - - - -

There are other Web design considerations for the tabbed browsing environment that I know from bitter experience are being overlooked. For example, one annoying behaviour arises when the Web designer has set a new page to open in the middle of the display area, which is not an issue for non-tabbed browser environments but if you're using a tabbed browser can cause the new page to be centered in the tabbed window and thereby truncated on the right and/or bottom margins.

It will look something like this example (the "Print Page" pop-up from an article in SYS-CON's Java Developers Guide, JDJ) and it occurs for virtually every Web site that generates some form of pop-up window:

A fairly trivial point, maybe, yet it's another indication that Web designers aren't familiar enough with the behavior of tabbed browsers.

In short, it seems that there's not enough attention being paid to th ebehaviour of tabbed browsers by Web designers, Web architects, advertisers and the like. Things must change when the tsunami of tabbed browser usage caused by IE7 heads our way!

Tuesday, August 15, 2006

Windows Hang and Crash Dump Analysis (webcast)

Oh no, not another BSOD.

There's a new on-demand webcast available from Microsoft ...
TechEd On-Demand Webcast: Windows Hang and Crash Dump Analysis The presenter is Mark Russinovich of Sysinternals fame, who has now become a Microsoft employee.

You can either watch it online or download it as a Windows Live file (.WMV format, for playing via what until recently was called the Windows Media Player). You can also download the accompanying PowerPoint presentation.

The webcast is a really good introduction to a complex subject.

I've installed Lotus Domino 7.0.1 server on a client's system and a number of virtual machines without any problems. However, on my main development/test systems soon after I lauhch the server it gives that fammouse Blue Screen Of Death. So my first use of the insights gained from this excellent TechEd presentation will be to decipher the meaning of this Domino crash.

The stop code was NO_MORE_IRP_STACK_LOCATIONS ... That's a picture of it above, a little blurry and unclear as is my present understanding of what it signifies!

Apparently it means that "a higher-level driver has attempted to call a lower-level driver through the IoCallDriver interface, but there are no more stack locations in the packet. This will prevent the lower-level driver from accessing its parameters. This is a disastrous situation ..."

Note: This is the first time in many years that I've had a Windows crash for Lotus Domino server. My development/test system has an enormous amount of software loaded on it, so who knows what the cause might be. Wish me luck in debugging it!

UPDATE - 30 September 2006:
IBM has just released Lotus Domino 7.0.2 today. I eagerly downloaded and installed it, unfortunately with the same result. so it looks as if I really will have to do some crash dump analysis (which I was trying to avoid, hoping that this update would fix the problem)!

- - - - - - - - - - - - - - - - - - - - -
Here's one handy resource for this sort of thing: Troubleshooting Windows STOP Messages

Incidentally, I created and uploaded this post using Microsoft's new blogging tool, Windows Live Writer, which lets you post blog entries directly from within Microsoft Internet Explorer. I found it considerably nicer to use than the native Blogger.com interface, with its tiny editing window.

UPDATE - 30 September 2006:
Today I summoned up the mental reserves to re-watch the TechEd On-Demand Webcast: Windows Hang and Crash Dump Analysis and the tried using WinDbg to debug the Blue Screen Of Death that appears soon after Domino Server 7.0.2 is started. But unfortunately the crash dump was quite minimal and inconclusive. It only seemed to point out some that there was sort of driver failure, and warned that the driver it identified mught not be the one actually responsible for the crash. Most obscure.! What to do now?

Oh, do I ever so much now need to vent my frustration with one of the Microsoft error message T-shirts from Errorwear

Unhelpful "help"

I just came across this saga of incorrect Help Desk advice, and thought you might like to read it: How do you get the Help Desk to provide the Help

I hope that you don't have any similar horror stories to tell!

Thursday, August 03, 2006

Microsoft IE7 will be sub-standard

A longish post, one of my occasional "grumpy old man" rants (hoping for a positive outcome) ...

Microsoft has been beavering away for months and months working on Internet Explorer 7 (IE7), and I'm sad to opine that they're going to come out with nothing more than a passable product when it eventually ships.

How good will IE7 be? I guess that one's impression is rather subjective, depending as much on your presonal use of the browser (how you go about your work, what sort of sites you visit and downloads you make, what degreee of usability you expect, etc). So the following report is based as much on how I do things and what my expectations are as on the product's merits. IE7 will be a definite improvement in many but certainly not al ways over IE6. (And if you want a comparison with th next version of Firefox, take a look at this review (dated 03 August 2006) by Ed Bott ... IE7 or Firefox 2: Which browser is more secure? )

I've been using Avant Browser as my favorite enhanced interface to IE6 for a couple of years, and I have nothing but praise for its rich feature set and tailorability. In that time, I've also been regularly using Firefox (, Opera (nice enough, but can't tailor it to my satisfaction), as well trying out as a number of other Avant-like front ends to IE6 (Maxthon, Enigma Browser, FlashPeak's SlimBrowser, NetCaptor, SeaMonkey, and one or two others).

I expected IE7 to be at least as good as any of these, a glowing example of Microsoft's prowess. But alas it isn't. And it's going to be forced upon hundreds of millions of us in the not-too-distant future -- except for thiose savvy enough to discover and utilize the Internet Explorer 7 Blocker Toolkit

I've been in the IT industry since 1970 and in that time have made many detailed technical assessments and comparisons of hardware and software products, not only for their functionality but also for their usability so I think that (most of the time) I know what I'm talking about. Hopefully there's still some respect for "senior citizens" in this industry!

I'm now going to focus on one small but important aspect of Internet Explorer: the way that the user goes about adjusting text size in the browser page being displayed.

For legibility and accessibility reasons, it's very important to be able to easily adjust the font size (usually to make it large enough to be legible, but sometimes in order to shrink oversized text). See for example Thomas Baekdal's articles about Minimum Font Sizes and the Positive Fantasy Syndrome ("making web-designers believe that if they make the site hard enough to see, their readers would think it actually looks good. ")

IE6 has a menu that's easily enough accessed to adjust the text size, but better still allows you to use the very convenient "key binding" of Ctrl + Mousewheel to scroll through the five available text size settings.

Microsoft has taken some steps forward but unfortunately a number of steps backward with the user interface of IE7, which is much less tailorable than that of IE6. You can no longer move most things around to suit your operational needs and prefererences. The address bar is in a fixed location, and (for me) too short to display some of the very long URLs that I frequently have to work with. The tabs are fixed at the top of the page, wheras Firefox, Avant, Maxthon, Opera all allow you to have them at the bottom (the top of the window is already cluttered enough). You cannot have multiple rows of tabs (for me a big problem, because I often have twenty or more tabs open at a time in order to rapidly compare and contrast their page contents). Not a very good outcome from such a vast and talented team of designers and developers, I would say!

But the killer negative for me is that (except for Beta 2 of IE7) you cannot easily adjust the text size. Menus are now much harder to get to, which this will be a major problem for non-dexterous users (try it yourself, if you don't believe me). And my favorite Ctrl + Mousewheel key binding has been done away with. Actually, IE7 uses Ctrl + Mousewheel for zooming the entire page contents (text, images, everything) -- which is a nice function that is quite handy in some situations -- so in Beta 2 they changed over to using the quite acceptable binding Ctrl + Shift + Mousewheel for changing text size.

But then in IE7 Beta 3 they quite ungraciously chaned this new binding (Ctrl + Shift + Mousewheel) to enable horizontal scrolling (panning) of the zoomed page, and they entirely did away with the ability to adjust text size via any sort of keyboard/mousewheel combination.

Apart from the inconvenience of now having to fall back to use the hard-to-access Text Size menu, what Microsoft have not taken account of is the use of IE as an imbedded rendering engine in a range of not-insignificant products: Eudora, Lotus Notes, and Microsoft's very own Management Console (MMC) to mention a few. Bad, bad, bad!

It would be a trivial exercise for Microsoft to come up with some other acceptable key binding for this, but they obviously were in an intransigent and/or inconsiderate "we know what's best for you" mood when they made this change in IE7 Beta 3.


- - - - - - -
Below is a recent submission (ID 152121, Opened on 29/06/2006 11:46:07 PM) that I recently put to them on their IE Feedback site, together with official "too bad for you" reply and a follow-up comment of mine. Sadly, the feedback home page says that the design is now locked down, so it appears that I've lost this little battle!

See also my earlier posting: the Do No Harm Principle
- - - - - - -

My Submission:
I have over the months since IE7 Beta1 been complaining that the extremely convenient Ctrl+Mousewheel key binding to resize text used in IE6 was taken away from us. It was instead allocated to zooming, which is a good feature in itself but *should* have used a diofferent key binding for compatibility with IE6 (the "do no harm principle" -- don't take away a feature already given in an earlier release of a product). SOme others also gave similar feedback (while yet others seemed no to care, maybe they don't resize text every day like I need to do to be able to comfortably read it).

I was most heartened in IE7 Beta2 to find that as a most acceptable variation Ctrl+Shift+Mousewheel worked for text resizing. (Perhaps it was just an "accident" -- but a good accident -- or maybe somebody at MS listened and understood.)

Today I installed IE7 Beta3 and found that the behavior has reverted to that of Beta1 and now the convenience has been "heartlessly" taken away by MS so that only the more inconvenient menu approach (not the mousewheel) can be used to resize text. In other words, we're back to IE5 or IE4 behavior, not appreciated by those who depend on using the mousewheel method for resizing text.

Please, please, please reinstate Ctrl+Shift+Mousewheel for text resizing before IE7 goes gold. Otherwise, I wish to remain at IE6 level forever, despite some of the other goodies in IE7 the above mousewheel behavior is something I cannot live without.

It makes me wonder what effort it took to put the feature in Beta2 and why on earth it was removed in Beta3.

P.S. We need to have BOTH behaviors: Ctrl+Mousewheel for page zooming as well as Ctrl+Shift+Mousewheel (as in Beta2) for text resizing.

Comments
-->Entered by Microsoft on 6/07/2006 at 1:14 PM
Hi,
In Beta 3 we added the ability to pan left and right which is incredibly useful when zooming. Although we understand the ease of use of ctrl+shift+mousewheel to resize text, we had to make a decision between that and a quick method for panning left and right. We chose panning because we felt more people used zoom and would therefore need the ability to pan easily than people who would rather just resize the text.

Thanks.
John

Additional IE7 Feedback - Sunday 30 July 2006 9.56AMhttp://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=152121=========================

John (and others in the IE team):

I understand your reply to the extent that, since you're now fixed on using Ctrl+Mousewheel for zoom, then using Ctrl+Shift+Mousewheel makes sense for horizontal panning. What I CANNOT accept is that you have now done away entirely with a keyboard/mouse non-menu-driven solution for text resizing.

You urgently need to provide some other key binding for text resizing. As long as it's easy to carry out (remembering the disabled and non dexterous users out there) then I don't really care what the binding is. Maybe you could use Alt+Mousewheel instead, or something like that.

My persistence with this issue is due to the use of IE as an embedded HTML viewing engine in a range of products which do not have any menu for text resizing. This even includes (for Wndows XP at least, don't know about Vista) the Microsoft Management COnsole (MMC)! With no text resize menu and no key binding, you find yourself straining to read tiny fonts.

There are very valid reasons for wanting to resize only the text on a page, and not all of the images. If you DO want to resize the images too, or if the text is fixed in point size, then zooming comes in very handy. But if the page is well-designed and uses relative fonts (point size rather than pixels) and tables, then the text resizes and flows (wraps around) so that you do NOT have to scroll horizontally -- and I suspect that most users find having to scroll horizontally to and fro on every single line just to view all of the text on each line is a VERY painful procedure.

Not being able to resize text via some key binding -- both in native IE7 and in embedded IE7 -- will be a MAJOR LOSS OF FUNCTIONALITY so please don't treat the issue lightly. It surely would be a simple matter for you talented folk to provide an alternative key binding for this in the gold code version of IE7, just as it must have a simple matter to change the binding in going from Beta 2 to Beta 3.

For your interest, below is a posting that I recently added to an external weblog on this topic:
============================================

IE6 introduced a nice if not essential feature: the ability to use Ctrl+Mousewheel to change text size in a browser page -- Largest, Larger, Medium, Smaller, Smallest. There are very many Web sites that are poorly designed with tiny fonts. Being able to enlarge the displayed text is absolutely essential for viewing such sites (especially for those of us with poor vision and/or high-resolution monitors).

As the saying goes, "Little things are important" and I think having this capability is a big deal. Firstly, using the mouse wheel to adjust text size is far easier than using the Text Size menu. Secondly, quite a few significant software products use IE as an embedded viewer and don't provide a Text Size menu, with the result that (without the likes of this mouse wheel capability) there's no way to adjust the text size for viewing comfort. Examples are Eudora mail client, Lotus Notes, and even some key Microsoft user interfaces like the Management Console (MMC).

IMHO it's essential to keep this feature in IE7, so for some months I have been doing battle (via the various Microsoft IE blogs and feedback mechanisms) to get it put back into IE7.
I was quite pleasantly surprised that a solution was implemented in IE7 Beta 2 (perhaps following one of my feedback suggestions).

In beta 2 you could use Ctrl + Shift + Mousewheel to scroll through the five Text Size settings. Great!

I spent a couple of months happily using IE7 Beta 2 until to my horror IE7 Beta 3 arrived and this essential feature was gone again! In its place this key binding (Ctrl + Shift + Mousewheel) is now used to zoom/pan sideways.

So now in IE7 there's no way to alter text size except by going through the awkward steps need to display and use the Text Size menu -- very tricky indeed for those less dexterous or physically impaired. Try it yourself and you'll see what I mean!

The official reason that I was given to my IE Feedback item ID 52121 was: "In Beta 3 we added the ability to pan left and right which is incredibly useful when zooming. Although we understand the ease of use of ctrl+shift+mousewheel to resize text, we had to make a decision between that and a quick method for panning left and right. We chose panning because we felt more people used zoom and would therefore need the ability to pan easily than people who would rather just resize the text."

Now, I can understand that reasoning, but cannot accept the complete doing away with the capability of resizing text via keyboard and/or mouse alone. The IE7 design team hasn't thought it through carefully enough. They merely "felt" their new key binding was better than to "JUST resize the text". I agree that zooming is a good feature, but resizes everything on the page and this can be clumsy and undesirable if your only need/requirement is to resize the text for legibility.

With Beta 2 as an exception, the team has violated the "Do No Harm" Principle -- see http://notestoneunturned.blogspot.com/2005/07/do-no-harm-principle.html
At the very least, if the IE7 team has settled on the above key binding for zooming sideways then -- for all those interface situations where there is no Text Size menu available -- it's incumbent upon them for consistency/continuity with IE6 to allocate an alterative key binding for the purposes of adjusting text size: say, Alt + Mousewheel or Alt + Shift + Mousewheel which probably would be a trivial exercise, given the depth of resource and talent at Microsoft).

Microsofties, a word of advice from one who's been in the IT industry for over 35 years and is still actively designing/developing software:
DO NO HARM

Footnote: despite some very "cool" new features, IE7's tabbing and GUI layout tailorability is way below par compared with others: Firefox, Avant, Maxthon, Opera, ... Tabs cannot be multi-line, tabs cannot be shown at bottom of window, etc, etc.

Tuesday, August 01, 2006

DB2 gets some bite!

I recall attending a conference in the very early 1980s where there was vigorous debate, even doubt, about whether relational databases would ever be able to perform well enough to replace the incumbent hierarchichal and network databases favorites.

Relational databases certainly have come a very long way since then! Now IBM has released it's database "Viper", officially called DB2 9 ( click here to compare all DB2 9 editions ) and it looks to be a real beauty!

Here's a nice, compact overview of DB2 9 at DB2 Magazine:

The Rubber Meets the Road ... How will DB2 Viper's hybrid XML-relational data server work in the real world? Customers and partners are kicking the tires, revving the engine, and testing performance and handling. Here's what to look for when you take it out for a spin.
Note: there are lots more database resource links at my Web site (indeed, one of the most popular and long-stay pages): http://asiapac.com.au/Links/Database.htm or its backup/mirror: http://notestracker.com/Links/Database.htm