Windows device development faster, cheaper than Linux?

But if so, why are so many outfits committing suicide?

  • alert
  • submit to reddit

Business security measures using SSL

A survey of embedded device developers claims a 4:1 development cost advantage in using Windows embedded platforms over Linux ones. By happy coincidence the report was funded by Microsoft, and will no doubt therefore be playing its part in Redmond's current 'get Linux' campaigns, but nevertheless it should not be dismissed out of hand - its numbers do have a certain validity, and warrant examination, although the report may not ask all of the right questions.

The obvious question it doesn't ask Linux developers is, if it's so darned expensive, why are you doing this to yourselves? It claims average total cost of development for using Windows XP Embedded, Windows CE.NET and embedded Linux respectively at $438,000, $510,450 and $1,888,458. Within this, Linux development tools are more expensive, time to market is almost double (14.3 months versus 8.1 months), Linux developers are paid more, Linux development teams are bigger, and total runtime licensing costs are far higher, because while much comes free with Windows, Linux projects typically require more components to be bought in.

Pretty damning stuff? You can get Jerry Krasner report with all the raw data here, then join us in taking a shot at the 'why are they doing this to themselves' question.

Krasner surveyed 50 outfits developing for Windows and 50 for Linux, covering the standard range of devices. For reasons of commercial confidentiality it clearly wasn't possible for him to go too far in identifying particular products, but given the fairly small number in each category (e.g. one each for consumer electronics and gateway/server for Windows, also just the one for Linux POS/kiosk) there's a lot of scope for single projects to screw up the averages, and there's no way to match the level of resources expended with the relative complexity of particular projects, aside from crossing your fingers that distortions will average out.

The two European Linux set top developers who clocked up DMM (Developer Man Month) scores of 1955 and 1700 would seem to us to have had a certain unfortunate impact on the numbers, as indeed would the Asian Thin Client project under XP Embedded that took two engineers one month, for a DMM score of 2. Divergences like these within very small samples would seem to us to tend to undermine the statistical validity of the numbers.

One can infer a certain amount about project complexity from the populations of the various device sub-categories. CE handheld computers (several are covered), for example, should by now be pretty simple things to develop, given the amount of effort Microsoft has put into this particular sub-sector of world domination. Linux handheld computers, on the other hand, are clearly a considerably bigger challenge, while Linux gateways and servers, being rather more mature, are much less so. So the devices range from simple, well-understood ones that are at least approaching commoditisation (by design, in the case of many of the Windows ones, which provides one answer to the question we started with) to more ambitious punts aimed at categories that don't entirely exist yet.

But despite this, with just a couple of exceptions Krasner's numbers do seem to indicate fairly consistently that more development effort is put into Linux embedded projects than Windows ones. The divergent nature of the projects may make it rash to, as he does, report a threefold advantage for Windows (64.0 versus 203.7 DMM), but the divergence is there.

So, why? Do we hear voices at the back saying it's because Linux developers are creative types with short attention spans who'll goof off down strange byways if you don't keep an eye on them, whereas Windows developers are code-monkey morlocks? There's perhaps more than a grain of truth here, so we'll try rephrasing it less insultingly.

Windows, in all its many and varied forms, is about commoditisation. Microsoft offers tightly defined and controlled platforms together with a wealth of standard tools, Ts & Cs and support packages for developers to work with, so it's fairly cheap and easy to produce products that are pretty similar to other people's products. Microsoft also, from way back in the 80s, has pushed the industrialisation of the development process. The result as far as hardware is concerned has been that differentiation and price have been eroded, and if you want to compete - with, say, Dell and HP - in the commodity handheld computer market you need to keep your team size down and your ambitions modest.

Avoiding commoditisation while sticking in the Windows arena is however hard, and quite probably a suicide mission, so if you don't want to go on it you go somewhere else instead, check? You don't necessarily go for Linux (Krasner's Linux versus Windows focus is in this sense artificial), but whatever you go for you're likely to be spending more on development than you would by taking the Windows commoditisation route. And your developers are more likely to be more expensive, goof-off prone geeks than cheaper, downtrodden code-monkeys.

Not inevitably, of course - in cases where the objective is simple and well-understood it should be possible to knock out a Linux or BSD product for relatively little effort, and provided you understand that means it's a commoditised product and price it accordingly, then that's cool too. As embedded Linux matures, there should be more products that fall into this category.

So it strikes us that the higher costs for Linux Krasner identifies could to a large extent be put down to a larger proportion of the developers trying to differentiate and/or break new ground. In doing this they will naturally tend to overrun development schedules, cancel projects and produce products that fail to hit the spot (The Register now owns several of these, but could not possibly have afforded them at list price).

High risk projects that are possibly aimed at new categories we think may exist are more expensive and fail more often, but produce higher rewards when they hit the spot. Commoditised categories result in low risk projects, but the rewards are also lowered, and there's a case for saying that, where there is an overall objective of commoditisation, innovation dies.

In the embedded market, Microsoft initially set out to displace proprietory embedded systems, and is now in some areas the incumbent defending itself against what it sees as a similar challenge from Linux. Microsoft spent - and continues to spend - a large amount of money in getting itself into this position, and it seems reasonable to expect a certain expense now to be associated with challenges to Microsoft. Further down the road, if the challenge begins to succeed, then the average costs will come down, although we'd argue that it'd be bad for innovation if expensive and protracted development projects vanished entirely.

Essentially, innovation, differentiation and building on new platforms ought to cost more, and we should not be surprised when they do. Krasner's figures are certainly interesting, and flag some areas of concern (the tools issue being one of the more obvious of these), but they do not provide adequate reason for Linux developers to flee the battlefield and sign on with Satan instead. Hindsight may tell us that some of the developers of failed embedded Linux devices were indeed foolhardy or even crazed, but most current developers are not, have very good reasons for not taking the Microsoft shilling, and understand the reasons for spending more, if that's what it takes. ®

Related link:
Embedded Market Forecasters

Choosing a cloud hosting partner with confidence

More from The Register

next story
'Windows 9' LEAK: Microsoft's playing catchup with Linux
Multiple desktops and live tiles in restored Start button star in new vids
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
iOS 8 release: WebGL now runs everywhere. Hurrah for 3D graphics!
HTML 5's pretty neat ... when your browser supports it
Mathematica hits the Web
Wolfram embraces the cloud, promies private cloud cut of its number-cruncher
NHS grows a NoSQL backbone and rips out its Oracle Spine
Open source? In the government? Ha ha! What, wait ...?
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
SUSE Linux owner Attachmate gobbled by Micro Focus for $2.3bn
Merger will lead to mainframe and COBOL powerhouse
iOS 8 Healthkit gets a bug SO Apple KILLS it. That's real healthcare!
Not fit for purpose on day of launch, says Cupertino
prev story


Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Security and trust: The backbone of doing business over the internet
Explores the current state of website security and the contributions Symantec is making to help organizations protect critical data and build trust with customers.