Dispatch from the Browser wars

When developing websites, it is useful to know which browsers your customers will be using. The best guide is your own usage stats, but if you don't have those, or want to see how your customers compare with a wider sample, StatCounter publish figures based on "aggregate data collected by StatCounter on a sample exceeding 4 billion pageviews per month collected from across the StatCounter network of more than 3 million websites." They have a nice graphing tool you can use to look at the browser war in different areas and over different time periods.

Worldwide, 19 May- 17 June Statcounter has IE7 still ahead  (just under 32%) with Firefox 3 close behind.
StatCounterGlobal

Firefox is ahead of IE7 in Europe (36% to IE7's 27%):
StatCounterGlobal(2)
IE7 has a bigger share in North America (38% to 28%)
StatCounterGlobal(3)
IE8 has yet to get above 10% (has just reached thsi in North America, yet to get to 8% in Europe)

kanban

Kanban is a progress-monitoring method that was developed in “just in time” manufacturing (especially at the Toyota motor company). It is now being adopted as a project management tool for software projects. It creates a visual display of how the project is progressing, thus allowing progress to be tracked easily and actual or potential bottlenecks to be dealt with. For example, a kanban system might be made from index cards, each representing a particular software feature being worked upon. The cards are pinned to a board, and are moved across the board to represent how the work is proceeding. Kanban is being adopted particularly by projects that use Agile methods, as it goes nicely with the agile manifesto aim of simplifying and reducing processes, tools, documentation, and plans. However, kanban could readily be used in the production-line-like situations that occur in many projects, regardless of the project management methodology the project is using.


I have been studying the explanation of kanban at the PM podcast website and wanted to work through an example of my own to cement my understanding. Download my worked example of Kanban (PDF file).


Thinking about the quick visual display that kanban gives you about a project reminds me of an anecdote I read about the author P.G Wodehouse. Apparently, when he was writing a story he would assess each finished page and stick it to the wall of his room. The pages would go in order around the room, like paintings in an art gallery. If he thought a page was good, he would stick it higher up the wall; if it wasn't yet satisfactory, he would stick it lower down. As work progressed, this of course gave him an easy method of finding pages needing more thought or work. When the whole story was up to the height of the dado rail (i.e. nearly to the top of the wall), it was ready for his publisher.


Open Book

"Open Book" (by The Rakes, below) sounds like a good tune to make ePub books by. My kids have been playing the Musical games of Rayman Ravin' Rabbids TV party over the holiday weekend, and this song is most effectively included in the soundtrack (works splendidly as a way of marketing music to my family).

How to abet poor software effort estimating

The Simula Research Laboratory have done a series of academic studies on the extent to which adding irrelevant information to an RFP can affect the estimate that comes back. The effect is scary, estimates being affected by:

  • information about the client's expectations of costs, when these were clearly stated as preliminary figures that could be ignored (projects with less budget were estimated as taking less effort, possibly because of an unconscious belief the client would accept lower-quality work) 

  • wording (estimates went up when the RFP was spiked with language associated with more difficult projects).

  • possibility of future work (estimates went down when subjects were led to believe that the client would be impressed by efficiency of developers, and that this might lead to future opportunities)

  • Total amount of information provided (estimates went up when the RFP contained information about other software systems with which the proposed project would NOT have to interact).

M. Jørgensen, and S. Grimstad (2008) How to Avoid Impact from Irrelevant and Misleading Information When Estimating Software Development Effort IEEE Software(May/June):78-83

Jørgensen, and Grimstad recommend asking for use of a set estimation methodology, eliminating irellevant information from the RFP, and trying to get it handled by an experienced estimator.

Jørgensen, and Grimstad have since carried out a "field study" (M. Jørgensen, and S. Grimstad (2009) The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment Submitted to IEEE Transactions on Software Engineering). They contacted a range of software firms asking them to estimate on various projects. The firms were not told that they were part of a research study. They were told that they were just to provide an estimate, for use in validating other estimates. The firms were simply paid for their estimation work. Apart from being ethical, this prevented firms deliberately estimating low in the hope of getting work). Estimates were only considered if drawn up by an approved method and prepared by an experienced person. Unknown to the estimators, Jørgensen, and Grimstad had a trick up their sleeve. To quote their abstract:

"The companies were allocated randomly to either the original requirement specification or a manipulated version of the original requirement specification. The manipulations were as follows:

i) reduced length of requirement specification with no change of content,

ii) information about the low effort spent

on the development of the old system to be replaced,

iii) information about the client’s unrealistic expectations about low cost, and

iv) a restriction of a short development period with start up a few months ahead (which should, rationally speaking, lead to an increase in effort).

All manipulations led to decreased median effort estimates, but only manipulation iv) led to a large, statistically significant decrease."

Rather sad that no. (iv), which could easily lead to under-estimating in circumstances where that would be tragic, was just as bad "in the field" as in a laboratory study. The other manipulations caused an effect, but not as much as expected from earlier laboratory work.

Note that  M. Jørgensen, and S. Grimstad had tried hard to divorce effort estimation from any question of costs or the other factors with which effort estimating would usually be entwined. And, because of the design of the study, there was no direct benefit of the estimator deliberately estimating low in order to put in a cheaper bid.  

Search Engine Optimization when you use Flash

Google is able to index Flash pages...somewhat. But some special thought needs to go into getting search engines to understand what any flash content is about. Gravity Search Marketing have a good site "Your SEO Plan" . It has a lot of useful stuff, including advice about Flash. Here's an excerpt :

"Flash Best Practices for SEO

To help search engines see and properly list your website contents in their search results, we recommended the following best practices for Flash SEO:

  • Use Flash only when necessary, and consider wrapping decorative flash elements in HTML navigation if possible. Pages should degrade gracefully for users who do not have javascript or Flash.
  • Build separate HTML landing pages (with distinct URLs) for your separate Flash landing "pages." Each separate HTML page should deep link to the appropriate part of your Flash movie.
  • Embed your Flash using SWFobject so that you can display alternate HTML content. Make sure that the text content in the alternate HTML is as identical as possible to the Flash content. Graphic elements can be described, just as you would describe a photo with a caption or an image ALT tag.
  • If you generate your Flash content from an external XML file, use the same XML file to generate the alternate HTML content.

Essentially, for an all-Flash site, you should create "shadow" HTML pages, which display deep-linked Flash for humans, and mimic the Flash experience and content for search engines. These pages can serve as entry points from search engines."

[from Does Google Index Flash?]

"Oh, you just click the TV?" The journey of a metaphor

I was having a discussion recently about icons. Specifically, about what you might call "the journey of a metaphor". By this I mean:

Icons start out being a metaphor for some offline activity.  For example, many applications use binoculars for find or search, and a magnifying glass for zoom (though some applications do it the other way around). It sort of makes sense - you can imagine using binoculars to search for something and a magnifying glass to make things look bigger. Contrariwise, you can point out that binoculars make things look bigger, whereas a detective uses a magnifying glass to search for clues. I recall being in a long meeting once that went round and round about whether the application we were then developing ought to use a magnifying glass or binoculars for search. It was one of those times when everyone states their own passionately-held opinion about which would be better, and then things can go no further as no-one has any data. I forget whichh icon we went for in the end, I just remember the pain....

Over time, some icons get to be the standard metaphor. Even if you felt strongly that, say, an icon of a bloodhound was far more redolent of "find" than binoculars, it would be eccentric to use such an icon, because users have got used to binoculars and are likely quickly to recognize the icon, regardless of its original merits as a metaphor. 

Similarly, it is pretty much de rigeur to use a supermarket shopping trolley (shopping cart in America) for your ...er...shopping cart, even if you sell goods that would be most unsuitable to put into a physical shopping trolley.

Once the association between the icon and the action is firm in people's minds, the original metaphor pretty much stops mattering. One example on the way to this is the ubiquitous floppy disc icon for Save. Excel toolbar (note use of a floppy disc icon to indicate "save")

Floppy discs are becoming pretty rare, but we are so used to that being theicon that it doesn't matter that we save to other devices these days. It could probably go on being the Save icon long after users are mostly people who have never used a real floppy disc.

Which leads me back to the conversation I was having. It was with a guy who does software training, and said that recently he had been pointing out a Save icon to someone. "Oh, you mean that TV?" they said. 

SCRUM, an introduction

Here is a great video introdution to  the "SCRUM" Project management method. The video is by Hamid Shojaee from www.axosoft.com.  It is also well worth checking out John McCaffrey's commentary on the video

Simple, but not easy

"Although this stuff is simple it's not easy (there's a difference)."

This great quote comes from "What Got You Here Won't Get You There" by Marshall Goldsmith. Mr Goldsmith makes a living by coaching executives whose further progress is being hampered by one or more unfortunate habits. But by doesn't it apply to a lot of areas of life! If only we could all be MBOs (Masters of the Basic and Obvious)

Your message is for your customer, not for you

Recently I was working on the message that a server should display if it timed out. Our first text began "Your request has been terminated..." This is a technically correct description of what has just happened, but fails the test that messages should be about the customer and not about the system. I could imagine a customer feeling that not only had we failed to process their request, but now we were planning to send a Terminator after them. (Well that should reduce the number of customer complaints ;-) ). We changed it to a message beginning "We are sorry, your request has timed out..." and going on to explain what to do (try again in a while, it is probably due to high usage just now, the administrator has been automatically notified of the problem). That's much better because it is about the customer's needs and what they should do next.

Apple re-invents the wheel!

Exciting usability news! According to news reports from The Onion, Apple are working on a revolutionary new computer with no keyboard...

.

OK, it is a joke - tweaks Apple nicely though (the marketing hype; the guy who says "I buy anything shiny made by Apple"; the short battery life and high sales price etc. etc.). I loved the automated sentence completion tool (I ALWAYS want to write sentences about Aardvarks....). Anyone wanting to be thoughtful about this could however think about the usability paradox between "what could be simpler than one big button?" and "everything is just a few hundred clicks away."