LWN.net Logo

Yaghmour: Extending Android's HAL

Yaghmour: Extending Android's HAL

Posted Jul 14, 2012 15:16 UTC (Sat) by nix (subscriber, #2304)
In reply to: Yaghmour: Extending Android's HAL by karim
Parent article: Yaghmour: Extending Android's HAL

I suppose most of these are embedded acronyms. I've been in the software industry for all my working life, outside the embedded subset, but I've never heard NRE, ODM or IFE before (at least not often enough for me to remember it). UX is rare enough that I knew what that it existed but could only guess at its -- awfully contrived -- expansion.


(Log in to post comments)

Yaghmour: Extending Android's HAL

Posted Jul 15, 2012 0:00 UTC (Sun) by jzbiciak (✭ supporter ✭, #5246) [Link]

I've been hearing NRE for many years. ODM and IFE are completely new to me. I've only started seeing UX the last couple years, I think around the time Meego came about.

NRE I believe is a more generic business term, though I could be wrong. I was introduced to the term and concept where I work when I hired in *mumble* *mumble* years ago.

I actually use the NRE concept quite a bit when working on my smaller projects that I intend to sell. (I have a hobby making video games for an old system.) There's a certain NRE required to get the first unit, plus the marginal costs of making each additional unit. You can use the two together to estimate the breakeven sales for a product.

Yaghmour: Extending Android's HAL

Posted Jul 15, 2012 0:17 UTC (Sun) by drag (subscriber, #31333) [Link]

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

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