Mike Hall from Microsoft asks the audience why they would choose Linux over Microsoft for embedded projects. He provides a point-by-point description of benefits of Microsoft’s products (Windows CE and Windows XP Embedded) and points out that starting out on Windows-based embedded platform might save development and testing time.
I thought he was asking us not telling us why to use Windows? Please go back to making better products instead of marketing them. Let your customers decide.
Based on some of the comments posted back to the blog it would appear that Linux is used because of the community which surrounds it rather than for the technical merits of the operating system and tools – for someone that’s lived in the embedded space before working at Microsoft I find this somewhat surprising – I based my choice of processor, components, and (if needed) operating system on the technical merits of the operating system and tools.
It’s 2005 and this is his first encounter with fanboism?
In any case, we choose linux for our embedded devices because it is great for networking and we don’t have to pay per-device licensing costs. And we didn’t pay Montavista $15k/year/developer. Bah, he acts like this is your only choice.
Wondering why such great technology as CE (as it was proclaimed by Mike) wasn’t used instead NT for home/desktop/laptop Windows OS of next generation.
Yeah, NT5 is good for feeding hardware manufacturers, but it is very sad to recognize that OS requires major part of that nowadays superpower just for our internal needs.
If it isn’t so critical for Desktops,
it means that we can still only dream about REAL laptops – those we can hold on our laps without danger to loose ability to be reproductive and without need to recharge it every 1.5 hours. Also that don’t force us to visit gims to be able to hold it in hands:)
Judging by the technical merits mentioned in the article. It would suggest that Windows CE is by far the best product on the market. I’m assuming that its not completely bereft of redeeming features.
That said I know next to nothing about embedded or real-time systems other than what the words mean.
I think the big reason for not using Windows CE is MS. MS isn’t the kind of company that a small business wants to be dealing with. It’s only partially to do with reputation, but also it’s size.
The license agreements you have with MS also tend to include IP sharing and various other legal minefields that a startup might wish to avoid, especially with a corporate behemoth the size of MS.
Lastly ignorance in the IT industry is enormous. People don’t have time to understand even half the available options. I certainly couldn’t give you a compelling reason to choose WindowsCE over any other product (or linux for that matter).
People generally choose one path and stick with it as long as it still gets the job done. There are still a lot of Apple customers who are only using Apple now because that’s what they started using in 1989. To them debating cost and technical merits is probably a waste of time. (Admittedly those people are probably vindicated by all the security problems & related TCO with Windows)
Why choose Microsoft, when there is Linux, FreeBSD, NetBSD, OpenBSD, QNX, etc. to pick from. The alternatives go from free-n-easy-good-enough to you-can-do-brain-surgery-with-our-stuff. Quite simply, Microsoft has no place in this market. Microsoft on medical equipment is laughable, Microsoft on my DSL router is unnecessary.
I think the big reason for not using Windows CE is MS. MS isn’t the kind of company that a small business wants to be dealing with. It’s only partially to do with reputation, but also it’s size.
What are you babbling about? Why would a small company not want to license CE from Microsoft because of its size? At the very least, you know Microsoft is still going to be around tomorrow, which is more than you can say for some fly-by-night embedded linux operations.
In the real world, business decisions are not made by kiddies that view software as a cult.
I stopped reading when I got to the $90 a copy royalty for XP embedded. No wonder HP is building a Linux based media center. $90 a copy for a box that will retail in the $200-300 range makes it very hard for the box maker to make any money.
Microsoft want to grab every position in Software /H/w market,whether it is and OS/ Server/ High Performance Server/ Super Computer, Gaming, Hardware, Anti-Virus/Malware, Mobile OS/embedded, Languages for application development, web base technology. Oh boy i never see such a greedy and selfish company in my life. It wants to show its dominance in entire IT market. But in the end what happened to the Roman Empire will definetely happen to Microsoft. Too much power is not good. Because with great power there come a great responsibility.
You are 100% correct. Microsoft is getting too bloated for its own good.
One of the reasons that I would choose an OS alternative over a CS one is the option of customising the “program” to fit your needs.
This includes removing line from modules that has nothing to do with your product.
The problem with CS (including Microsoft’s POV) is that if you add a module, it might only be filling your needs halfway. So you add another. Still not there. Add one more. Now something else is broken.
With OS you can circumvent that problem by combining line from different modules into one module and thus you save space(which is always a premium on an embedded system) and yourself some trouble in the future.
Well, that was me ranting and raving.
BTW, one good thing about OS. CHOICE!
starting out on Windows-based embedded platform might save development and testing time
That’s the word, might. It’s the word that pops up every now and then regarding MS products. It’s those mights that always stood in the way of some people becoming windows people. I think we should make t-shirts with that, an MS logo and a script beneath: they just might.
That is a very valid point. Why haven’t I thought of that.
Anyway, about that T. What about “Where might you go today”? You will probably get sued for making something that sounds like Microsoft’s slogan.
When it comes to MS i dont see them compiling their software for every single kind of CPU there is out there. And thats what makes the hardware expensive. Instead of buying the hardware that has just what you need in power and functions you end up buying more expensive hardware due to the fact that their code is not portable enough. When it comes to linux, BSD and others they are availible to more or less every hardware you can find. Add up that with the licence cost and you know that in the end it wont be any cheap. Shure the development part MIGHT be cheaper but the end product will be much more expensive.
That is correct. I don’t see Microsoft’s products ported to anything other than x86 architecture(excluding Office for Mac). Sure, they might argue that x86 is the dominant architecture, but that is only so for PCs. In the embedded market, the spread between different types is much more equal.
It is the same Wintel empire all over again.
About Windows CE, I think the main problem is in the hands of OEMs and manufacturers all over the world and Microsoft is perhaps the first one to suffer about it because their customer satisfaction is directly controlled by OEMs and manufacturers.
Each time a consumer buys a Windows Mobile Device, he/she will be locked soon or after with the short term support politic of the manufacturer and/or OEM (O2; Qtek, HP, ..).
Just try to figure out how many months you can keep a device up-to-date with the latest version of Windows Mobile (for every Windows CE based device of the market since day 1).
The situation will be completely different if OEMs and manufacturers will always have to make available theirs BSPs ( http://msdn.microsoft.com/embedded/usewinemb/ce/bsp/supbsps/default… ) for all device on the market including device like Phone (perhaps trough a partner program for Windows Embedded Partner)
In the Linux alternative this issue does not exist by nature and explain perhaps the availability of so many Linux porting project for these devices (
http://wiki.xda-developers.com/wiki/Xanadux
…)
According to me this is perhaps the most important issue for Microsoft to address right now!
I dunno if it will be removed from his site but I just posted this:
I have to ask you this:
firstly, if WinXP embedded can RUN on a P133 with 32mb of ram, why can’t WinXP? and what’s you’re opinion of using XPLite over WinXP Embedded?
What is the applicate you are trying to taylor either WinXP embedded or WinCE?
You cannot make a fair comparison without first picking a target.
If your target is a $149 “gameboy” type device, adding $90 per device overhead is a show stopper — regardless of how much time you may save using windows over linux or a custom solution.
There are many competitors that make very good embedded systems, better than both linux and windows, RTEMS for instance is used in missile guidance systems for the US military, How’s that for latency?
Large operating system overhead requires more resources which drain battery life.
If you are developing a portable device for the military, say a gps mapper, are you going to tell the field commander trying out your new gear, well the battery life is very short, but we were able to bring it to market quickly.
That’s another show stopper.
Of course if I was developing a Tablet PC or similar information appliance for the consumer market, it would be Windows all the way, with their massive amount of software — though I’d probably go with CE since x86 processors, draw a lot of power (save Via or Transmeta.) for a battery operated device.
It’s funny that you mention “I choose the operating system based on its technical merits.”
Well, as a circuit / system developer I choose an OS based on product requirements, market need and cost.
Compare the two statements: Technical merits are a subjective term like big, or small, or fast. You have to compare one solution to another then you will see what the pros and cons are. If there was only 1 camera in the world, everyone would think its great and has great Technical Merits, even if it takes lousy pictures (when compared to nothing, it’s always better than nothing.)
My statement:
“minimum product requirements, market need and cost”
These are REAL requirements that affect every single product created for ANY market.
Any fool can design something in a Rube Goldberg way. A GOOD designer can achieve the same end with the least amount of resources–that’s the difference.
Market need: If you are creating a tiny mp3 player there is no need for all of those windows XP drivers you mentioned. If you are creating a GPS system, there is still no need for all those drivers and 256MB of RAM. Look at the specs of the Gameboy DS and the sony PSP they are brand new.
Cost defines the target price. If you want sell a $49 personal information manager / pocket organizer you can’t do it with a $90 license fee. If you want to sell a $2000 tablet pc, then $90 isn’t so bad.
How the hell did you come up with that post. Absolutely brilliant. 100%. I can’t add anything.
It is true that Microsoft will still be there in the near future. However, if small business owners want to know why they should avoid any licensing deal with Microsoft, here is my suggestion : go to Google.com, perform a search using the word “Microsoft” with either one of “anti-competitive, predatory,lawsuit, penalty, risk, infringement, fined”. The results you’ll get will give you a glimpse of what awaits you when you deal with Bill Gates et al. Most of the links point to reputable websites (News.com, Infoworld, Forbes, the New York Times, Yahoo,…).
Unfortunately it has been my experience that may people go into the engineering field,
Spend about 6 months there, become managers and forget /ignore / suppress the basics of engineering. This guy appears to be one of those.
When someone is promoting a technology or a product and the words “market needs, or customer needs” ARE NOT mentioned, they are either a) Trying to create a market that didn’t exist before, or b) Are trying to sell you something that you don’t need, c) both.
20uS latency can not be considered impressive, stupendous, or some other adjective when YOU DON’T COMPARE IT TO ANYTHING OR TO THE APPLICATION NEEDS.
I remember the first gulf war where a US Patriot missile system was not rebooted after 8 hours of use. It had a math error in its target tracking system which would get worse and worse over time. A us barracks was destroyed by a SCUD missile with many casualties because the patriot system involved wasn’t rebooted for something like 150 hours — it did fire but was miles off target — the troops manning the patriot site “didn’t get the memo” that their new wonder weapon needed a reboot every 8 hours or it would become evermore useless.
The fact that a field weapon needs to be rebooted at any time makes it useless imho. I don’t know what OS was used on that particular system, or who the contracter was for Patriot I, but I’d love to find out.
What are you babbling about? Why would a small company not want to license CE from Microsoft because of its size? At the very least, you know Microsoft is still going to be around tomorrow, which is more than you can say for some fly-by-night embedded linux operations.
Considering the rip-roaring success of Windows Mobile and the rather desperate ‘IP’ attack by Steve Ballmer recently, that’s pretty funny.
The embedded world, network operators and manufacturers are never going to use Windows – period. It’s about as likely as Microsoft throwing in the towel and using Linux or Symbian as the basis for their embedded products. It is an immovable object.
In the real world, business decisions are not made by kiddies that view software as a cult.
Not by you, in other words.
I had recently met another programmer who works at the Ontario (Canada’s largest province) Lottery and Gaming Corporation. They have thousands of lottery terminals throughout the province that are running XP embedded. Microsoft told them that the terminals should be rebooted every night due to problems with the network stack. It seems Microsoft still has some problems to address before it can be taken seriously in this space.
One open source option for real-time Linux (which defuses some of the criticisms in the article) which interested readers may want to consider is the hard real time patches to Linux called RTAI, available from
http://www.rtai.org/
It works very well even under heavy loads.
Unfortunately, development time can be long due to the time required to learn the API – since the documentation is not as polished as some commercial offerings (although there is a healthy mailing list).
LINUX IS FREE!! No matter how many paid shills tell you it isn’t. But hey don’t use linux, take his advice, bend your corporation over the conference table, hand ms their wallet. always get IT advice off msdn.net blogs and pray they don’t ever consult somebody who actually builds stuff out of free linux or you might look like a total moron and end up living in a van down by the river.
Considering the rip-roaring success of Windows Mobile and the rather desperate ‘IP’ attack by Steve Ballmer recently, that’s pretty funny.
The embedded world, network operators and manufacturers are never going to use Windows – period. It’s about as likely as Microsoft throwing in the towel and using Linux or Symbian as the basis for their embedded products. It is an immovable object.
I guess you really don’t understand business over there in the UK David because Windows CE is doing great in the PDA market. Wake up to reality.
Not by you, in other words.
No, sorry my brain damaged friend. I’m the anti-fanboy. I view software as a technical tool.
By the way, I loved how the KDE thread got torpedoed by the QT licensing issue again and it was even’t me. I’m sure you threw a fit on that one.
Having just spent an absolute age reading through all this, I find this guy utterly unbelievable.
Despite 99% of the posters rolling out the same reasons for using Linux over WinCE/XPe, he still trys to calmly tell us that we’re all wrong.
There was even a post of his proclaiming something to the effect of “being a lawyer to understand the GPL”. Rubbish.
Besides having written a post myself, I am ashamed that I’ve actually wasted time reading this. Time that I won’t be getting back.
I guess you really don’t understand business over there in the UK David because Windows CE is doing great in the PDA market. Wake up to reality.
I don’t know what backwater you live in. Oh wait – I do….
I’m afraid it isn’t, but since you believe Microsoft’s own sales figures and that of Gartner it doesn’t surpise me. Peopla are not interested in PDAs, as they want to do that on their phones now, and the vast majority of the PDAs that are left run Palm, Symbian or some other embedded basis. Microsoft had to pay Orange a huge amount to put Windows Mobile on Smartphones until they sort of said “Oh, alright then”. None of the far-east or European manufacturers who matter use Windows Mobile at all nor will they ever, hence Steve Ballmer’s rather desparate attack.
No, sorry my brain damaged friend. I’m the anti-fanboy. I view software as a technical tool.
Posts like this rather scuppers that view, doesn’t it?
By the way, I loved how the KDE thread got torpedoed by the QT licensing issue again and it was even’t me. I’m sure you threw a fit on that one.
Blah, blah, blah, blah, blah, blah, blah, blah.
So WinCE is real-time? OK, but its very slow. We had to implement a multihop wireless Mobile Ad-hoc Network (MANET) and so checked out a number of systems. We chose Sharp’s Zaurus to handle it, WinCE had too many probs. It may be real-time and can guarantee deadlines, but the deadlines are so slow/late that you need faster hardware, whereas the linux kernel on the more basic hardware had 99.9999999% chance of completing the same task in less time.