LWN.net Logo

Yaghmour: Extending Android's HAL

Yaghmour: Extending Android's HAL

Posted Jul 15, 2012 0:17 UTC (Sun) by drag (subscriber, #31333)
In reply to: Yaghmour: Extending Android's HAL by nix
Parent article: Yaghmour: Extending Android's HAL

I have certainly ran across ODM many times. NRE is a sort of normal business term. UX is common enough. IFE isn't going to be something you run into outside of aviation or embedded obvously.

ODM is the company that actually manufacturers things. I can across that first with laptops and looking for stuff without Windows pre-installed.

The way it works is like this:
Chipset manufacturers ---> Design chipsets based on historical evidence of what sells and what customers want. Chipset manufacturers then take those designs and produce engineering boards (which is what costs $1500+) and then also example designs that teach manufacturers how to produce the devices. They will then make basic drivers based on those designs for Linux and Windows and provide that source code and documentation to other software integration companies that specialize in contracting out for OEMs.

ODMs typically know surprising little about hardware design or software programming. Their expertise lie in manufacturing. They take the chipset design examples, copy them, and figure out how to duplicate their functionality as cheaply as possible while producing a streamlined design that is cheap to manufacturer. They then provide a variety of product lines that they offer to OEMs.

OEMs are the customer-facing corporations that produce products for consumption. They provide customer support and maintain relationships with retail outlets. They purchase from ODMs and will have the ODMs customize them for specific markets. This can include variations on CPUs and networking features, different plastic casings, and things of that nature.

Typically all OEMs do is things like install CPU, memory, hard drive, install the OS, and then ship them out. Higher end items tend to be much more boutique, of course.

Software integrators are companies that provide software expertise for OEMs. They are the ones that will take documentation from Chipset makers, ODMs, and program the low level OS stuff required for hardware compatibility.

So say I am part of a American corporation, a OEM, that wants to produce a tablet. (I could be Apple, Dell, or any other number of OEMs large or small) I will contract out with a software integrator firm in Taiwan and maybe another one that can do testing and integration here in the USA. I will use them to help pick out ODMs and I will get a board that is designed according to my specifications. Then I will work on case design and 'UX' features myself and contract out with another company to produce engineering examples with 3D printing techniques and such things. I'll get a few sample devices made, send them out for testing and development to the different groups. I will also send engineers to China or whereever it's being produced to inspect the manufacturing facilities and perform QA on the first series of devices produced. Once I screw around with the design meet the FCC requirements and other certification requirements it will go into full fledged production. The ODM will produce the devices, ship them to me. I will perform final QA, update the software on them (they will have something pre-installed, usually not the latest version), and then ship them out to retailers and/or customers.

Then invariably somebody would get angry with me about the source code and then it will be a pain to track down the software firms that produced the drivers and get them to cough up source code, which is something I didn't really care about in the first place. :P


(Log in to post comments)

Yaghmour: Extending Android's HAL

Posted Jul 15, 2012 13:21 UTC (Sun) by nix (subscriber, #2304) [Link]

NRE may be a US-specific business term perhaps: before my current employer, I was always employed by UK or .eu-owned firms, and they just tended to call them sunk costs.

ODM as you describe it is definitely a domain-specific term, though not the embedded domain: I suspect it's the 'other people manufacture stuff first and then you soup it up' domain: firmware and the like. So if you've mostly been working in pure software firms, you won't have encountered that either.

Yaghmour: Extending Android's HAL

Posted Jul 16, 2012 5:10 UTC (Mon) by drag (subscriber, #31333) [Link]

Sucks costs is a much better term and much more accurate term if you are taking into account money you have already spent. However it doesn't accurately describe money that you have not spent yet.

It is useful to remind yourself that money spent is money gone and if you are taking "sunk costs" (in the traditional economic 'money you already spent' way) into your decision making process you are doing it very wrong.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds