This post originated from an RSS feed registered with Agile Buzz
by Laurent Bossavit.
Original Post: Quality, Safari and Firefox
Feed Title: Incipient(thoughts)
Feed URL: http://bossavit.com/thoughts/index.rdf
Feed Description: You're in a maze of twisty little decisions, all alike. You're in a maze of twisty little decisions, all different.
Lately I've been mulling over James Bach's recent post on "The Quality Creation Myth". It's well worth reading; I find James' posts often thought-provoking, though occasionally disappointing, as when bashing test automation more than seems reasonable. But this one really hits some important points.
One of the thoughts I had upon reading it was how the quality of an end user's experience depends on factors that, at least in my experience, changed dramatically over the years. In the DOS days I used to write (and maintain) software that took over a user's entire screen. Along came the Mac, and I learned to share windows and menus with other applications; I gained appreciation for well-thought-out frameworks that made such interactions not only possible but orderly and harmonious. There was an period of "regression" when I wrote CD-Rom apps; we went back to taking over the whole screen, though this time around we were no longer coding the smallest detail of each application but starting to rely on large and complex libraries of graphical components. Then I started developing for the Web; my applications were not even sharing space on the user's computer, but pieces of a much larger system stored elsewhere that users could summon on demand.
To think that "quality" can be approached exactly the same way in all those situations would be absurd. It would be the same as saying that one person on a desert island, one small village, or a huge nation-state can all be served by the same kind of governance and social structure. I use this image because that's the trend I perceive in my description above of what software has become: from individual efforts to larger and larger "coalitions".
I was reminded of this on the occasion of switching (experimentally) from Safari to Firefox, because it's hard to comment on the impressions of "quality" I got from either browser without speaking about what feels like political decisions.
Apple has made Safari a closed enclave; no extensions allowed in. This allows its designers to pick certain strategies toward quality. Firefox on the other hand is designed as an open community; I'm typing this post in FireScribe, an add-on for writing blog posts inside the browser. On the one hand this makes for an experience that is better in some respects. On the other hand, this creates far too many opportunities for these various "features" to interact with one another and generate moments of breakdown for the user. For instance, keyboard shortcuts for editing text don't work in this window; Command-Left-Arrow (which I normally use to back up the cursor by one word) is taken over for navigating to the previously viewed page.
These observations are quite in line with James' post insofar as they point to "quality" as a complex relationship. What I think needs to be added to his analysis is this view of pieces of software as individual agents which can assemble in small or large coalitions, and that this is an important determinant of "quality".