Probably a good reason that why experienced driver developers should participate while the hardware is being built…
– Aj.
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Joseph M. Newcomer
Sent: Monday, June 14, 2010 1:32 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Write to screen inside kernel driver
It works like this:
The hardware designer saves $0.05 on each product
The driver writers expend an extra $100,000 in developing the driver
So you have to sell 2,000,000 units to break even with that decision, and
you haven’t even got it out the door yet.
Then, because of the complex (and probably incorrect) driver, which had to
do a lot of weird things to work around the hardware defect, you end up
spending another $250,000 in post-deployment support costs.
Now you have to have 3.5Munits sales before you break even. And that
ASSUMES my estimates are not artificially low and therefore far below actual
costs.
The consequence of this is that your drivers are so bad that nobody in their
right mind will ever buy another product with your brand name on it.
That’s INFINITE cost.
All for want of a 5-cent part.
(Never forget the Diamond Video lesson: if you want a fast driver, you
accomplish it by getting rid of all those pointless bounds-checking and
parameter-validation tests. I remember a call that when sort of like this:
me: And when I’m using PowerPoint, it crashes
DV: do you have the latest driver?
me: I just downloaded it at 10am this morning
DV: No, that’s not the latest; you want the 2pm build
I removed the card hours later, having bought a replacement, and never again
bought a Diamond Video product. Neither did anyone else who ever owned or
heard of them.)
The problem comes when each division sees a “bottom line” and nobody in
management understands the cascading interactions between the decisions as
they move down the line. Think of the people who don’t want to use
scatter-gather DMA chips because they “cost too much”.
HP builds superb hardware, and my MTBF of my OS dropped to < 30 minutes each
time, in the past, when I put a piece of HP hardware on it; and the crashes
were always access faults in the HP drivers (usually NULL-pointer
references). Then they build a first-rate, robust product that will last
ten years, price it accordingly, and I can only use it for 18 months. After
that, I can no longer get drivers for it, so this superb piece of hardware
sits on the shelf in my basement. So my decision: I will never, again, in
my life, actually buy a product with the HP logo on it. I can buy a piece
of junk from another vendor, use it for 18 months and, suprisingly, never
have a crash traceable to their driver (in fact, never have a crash), and
when I get a new OS and no longer have support, I don’t feel bad throwing it
out because I paid so little for it. HP’s refusal to produce reliable
drivers or to support products across the lifetime of the product (not its
internal marketing lifetime; but over the lifetime it was designed to have),
means that I will not buy their products. And they call this a “good
business decision”. Furthermore, I do not recommened HP products to my
clients, and I use a logged crash from an HP driver as an example of how to
read a crash dump (it was the only third-party crash dump that existed on my
machine! In fact, the six crashes of that driver, all within a couple
hours, were the ONLY crashes I had in three years of XP usage).
A corporate vice-president should ask “What is this going to really cost us,
and how much is it going to save us?” One who doesn’t is incompetent. Only
an idiot would make a decision based on one of a dozen parameters. How much
will the lack of it add to the cost of a driver? How much will lack of it
add to the cost of deployment? How much will the lack of it add to
post-deployment support? How much will the lack of this part extend the
development cycle and delay time-to-market? These are among the questions
that should be asked, and I find that most people don’t even know how to ask
them. And the hardware manager says “No on my bottom line!” and passes the
problem to the driver team. Use of the event log to log failures takes
time, and training, and testing, and the driver manager says “not on my
bottom line!” and passes the problem to customer support. By that time it
is too late, and the customer support manager gets stuck with a massive
bottom line, AND ALL OF THESE DIVISIONS ARE PART OF THE SAME CORPORATION!
It’s all the same pocket, even if it comes from different wallets in that
one pocket.
I saw a situation in which a bug in the USB firmware meant that the device
would malfunction, but fixing it required going back to the firmware team to
get new firmware, and that was never going to happen because of the failed
concept of “cost”. My client was the end user of this failed product, and
it was a critical part of their deliverable. The project failed because
they had committed too much to a product that was badly designed. The
original vendor lost tens of thousands of units sales because my client’s
product would not be sold.
I imagine anyone who has been in the driver business longer than six months
can tell similar stories.
jor
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Monday, June 14, 2010 1:20 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Write to screen inside kernel driver
On 6/14/2010 9:50 AM, xxxxx@osr.com wrote:
Truer words have never been spoken.
The performance opportunities lost, and CPU cycles wasted, all for lack of
a fifty cent part. Oh, the stories I could tell…
True. On the other hand, I was once in a meeting with a rep from a “major
printer manufacturer” who pointed out, “We ship a million printers a month.
If you want to add 5 cents to the cost of goods, you need the approval of a
corporate vice president.”
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer