Saturday, November 21, 2009

A Failure in Product Design (Fedora 12 and PackageKit)

An example of product design failure:

On Tuesday, Fedora 12 was released. This included major changes to both PackageKit and PolicyKit; the changes to PolicyKit were incomplete and intermediary but the PackageKit changes were completed first and decided to ship as-is.

On Wednesday, a PackageKit maintainer informed a bug requester that PackageKit in Fedora allowed console users to install signed packages from Fedora repositories, without any other privilege mechanism (root password, sudo, group membership). Users countered that this ran contrary to decades of UNIX security models and was difficult to resolve.

Later that day, that information hit major attention via Slashdot and LWN.

On Thursday, the Fedora Project Leader announced that the PackageKit maintainers would revert the changes seen in Fedora 12 back to the behavior in Fedora 11.

Why (and how) is this a failure in product design?

Essentially, the persons maintaining the software didn't have any clue what their users wanted. On Wednesday and Thursday, users explained (repeatedly) what they wanted and why; the maintainers responded (repeatedly) that the users were incorrect about facts (the users were correct) and that these users were a small group and could "trivially" modify the software to the behavior they preferred. When asked for details, it was stated that "trivially" required PolicyKit scripting experience; response from users countered that this was not trivial because it was something few people had needed to use previously or would otherwise use.

This back and forth continued until the persons responsible for larger Fedora design stepped in; the result was the rollback to the behavior in Fedora 11, which was what these users had requested.

So...
  • The maintainers did not know what their users wanted.
  • The maintainers were incorrect in assumptions about how the software worked/was deployed.
  • The maintainers made design decisions, specifically related to security, that were contrary to decades of precedence.
  • When confronted on those three points, the maintainers refused to concede any ground and laid all fault on the users.
That's not how you make software that people WANT. If you're making a product for other people to use, you must listen to your users and you must be open to criticism, even when it goes against your personal preference (which is a opinion, not a matter of fact).

[Caveat: Very often, making software that is secure requires ignoring user feedback; security often makes tasks harder to accomplish or disabled entirely. However, this is the reverse of what was done with PackageKit, where users requested making a task more difficult in return for a more secure system.]

How could this have been done better?

When it became apparent that PolicyKit would not be released with the features needed to "trivially" modify PackageKit, the changes to PackageKit should have been reverted. When users asked for the changes to be reverted, citing both security and preference, maintainers should have better weighed the issues at hand and revered the changes.

Should PackageKit allow console users to install packages without any other privilege mechanism? On a single-user system, almost certainly. On a multi-user system, never. The maintainers also failed when they presumed a single-user system and created default settings for such. The better way to make this decision is to presume the system is multi-user and allow the administrator (who may be the single-user) to modify the setting during and after installation.

Labels: , , , , ,

Friday, November 20, 2009

The Republicans declare jihad on health care reform

Republicans, who have criticized the Democrats' initiative as a step toward government control of the healthcare system, are already planning a series of delaying tactics, including forcing the entire bill to be read aloud on the Senate floor.

"It's going to be a holy war," Sen. Orrin G. Hatch (R-Utah) said Wednesday evening.
- from the Los Angeles Times

That's right, "a holy war." They've declared jihad on health care reform.

Labels: , , , , ,

"The plural of 'anecdote' is 'data'."

Steven Pearlstein wrote in The Washington Post, "Sebelius's cave-in on mammograms is a setback for health-care reform"
Health and Human Services Secretary Kathleen Sebelius did a marvelous job this week of undermining the move toward evidence-based medicine with her hasty and cowardly disavowal of a recommendation from her department's own task force that women under 50 are probably better off not getting routine annual mammograms.

. . . "How many mothers, sisters, aunts, grandmothers, daughters and friends are we willing to lose to breast cancer while the debate goes on about the limitations of mammography?" Otis Brawley, chief medical officer of the American Cancer Society, asked in an op-ed article in Thursday's Washington Post. Dr. Brawley cleverly didn't answer his own question, but the clear implication of his question was that the only acceptable number should be zero. And it is that very attitude, applied across the board to every patient and every disease, which goes a long way in explaining why ours is the most expensive, and one of the least effective, health-care systems in the industrialized world.
We're still cowering from facts, hiding in a Wonderland where if we just spend enough money, nobody has to die and nobody has to suffer. Until we own the tough choices and accept that both are inevitable, we're going cause death and suffering while trying to turn fantasy into reality.

Labels: , , , , , , ,