"The question is, does the Pi really need Windows?"
Like a fish needs a bicycle.
Also...
"...preferably with an HTML display attached.."
...I know you called it "odd" ...but... WTF?! Brainfart for HDMI?
Microsoft has released a preview of Windows 10 for Raspberry Pi 2, the £30 ARMv7 computer board produced by the Cambridge-based Raspberry Pi Foundation. The version of Windows 10 for the Pi (which is also available for the Intel Atom MinnowBoard Max) is called Windows IoT Core, one of three Windows 10 IoT editions. The other …
Now ask the question in the context of you being a parasite specializing on feeding off Education IT (that was the niche Pi was supposed to be addressing as its main goal, right).
Before - you had to deal with Linux (horror), Kids being able to do write software which could have been used inside the school instead of the school paying you (double horror), the perspective of having to write off some of the investment into MS?E of your staff (quadruple horror), decrease in commissions from reselling Microsoft licenses (octuple horror).
AAAAAAAAAggrrhrhrhr... the Horror.
And, now, the cavalry comes led by the knight saviour on the white horse. And it carries the most wonderful news on its banner - it is not just Microsoft, it is stuffing the school with 2 licenses per student.
Sure, the Pi itself doesn't need Windows. But Windows needs to expand and cover such devices. It was the right move from Microsoft to start supporting such devices which despite their original aims, expanded outside the pure didactic environment.
Pi & C. became excellent devices for prototyping and building "cheap" more complex ones using the Pi as the brain and adding other hardware through Arduino and the like.
Keeping Windows outside this range of users would have been a stupid move (to Linux fanboys: from a MS perspective), and a lot of new developers may also start by tinkering with devices like Pi.
With the IoT madness all around us, it's also a good introduction to such kind of devices for old and new developers.
Thereby, it's Microsoft needing the Pi, not vice versa.
The whole purpose of me upgrading to the latest Raspberry Pi was so that I could give Windows 10 a try as a means of developemnet in a Windows enviroment. However, in light of the fact there will be no GUI, I don't know if it's worth the trouble. I guess I wil just have to stick with Linux.
like it needs any OS. Choice is good. Learning that there are different ways to do things is good. If you learn that some ways are better than others then so be it, but having the choice is important.
Besides, if all this proves is that Windows is bobbins what's your problem?
Pi was introduced because school CS classes became "a click on icon in Word" exercise
Microsoft offer a windows environment for Pi, backed by lots of marketing, glossy lesson plans etc.
Teachers who know nothing about computers think "computers = windows = good"
Schools scared of mumsnet stories about terrorist hackers want locked down computers
School CS lessons become a "click on link in web page from embedded IE" exercise
>Pi was introduced because school CS classes became "a click on icon in Word" exercise
Pi was introduced to sell bucketloads of Broadcom SOCs. End of. It's been very good at that.
But once you peer past the hype, it's a terrible computer for schools. Set-up is a nightmare, the Linux desktop is a joke compared to a real computer (browse the web? I'll come back in an hour after that page has loaded) and the fun stuff - like Scratch - runs better online anyway.
It's true some people think Linux is "real computing", but teaching 8 year olds about file permissions and the difference between /bin and /sbin - which they have to know to do anything non-trivial - isn't any sane person's idea of fun.
The Pi could have been so much more. It could have come with a preinstalled web server and database which just worked, so ten year olds didn't have to dick around with apt-get to install Nginx and PHP and MySQL just to put up a web page.
It could have had some kind of useful IDE and dev environment built in (something better than IDLE - which wouldn't be hard).
It could have had some actual thought put into it.
Instead it was pushed out the door on some kind of weird nostalgia nerdgasm wave (see also, TV adaptor) packed full of exactly the wrong kind of Linux shovelware, capturing none of the ease of use and graded learning that made the original 8-bit micros so brilliant.
The Pi needs Windows like a new Porsche needs 500 kg cement in the boot.
So does it need it or not? I once owned a 911, in the air-cooled days when the weight distribution could cause nasty surprises when cornering in the wet. One solution was to add weight in front - Porsche themselves put the battery as far forward as possible and in some cases actually added weights inside the front bumper.
The boot was, of course, in the front. 500 kg seems like it might be a bit much, though.
It's not the device that needs any particular OS. It's the user. As someone else said - choice is good. Now developers from both UNIX and Windows backgrounds can easily develop for the Pi so that helps the Pi become even more useful and successful which is good for all.
But the question I want answered is how much does Windows IoT edition cost? Because I can program on both platforms and whilst C# is nice, so is Python. if I can stick Rasbian on there for free I don't see how Windows IoT will compete with that. At least for non-commercial use which is a major driver of uptake.
Really, I don't think so, Windows CE makes more sense for GPIO pins as it's a RTOS. I doubt you could bit-bang IR remote or RDS or sample receive IR remote handset RDS decoder IC. Good luck getting Win CE on it. But I've had loads of embedded ARM based development systems that came with WinCE and the first task was always using JTAG to change the boot loader to install Linux as often the supplied boot would only allow versions of Win CE.
I can't think of any use for it. If you really needed this mad version of Windows 10, then a PC is better to develop on and test on an ITX x86 that uses the Cash Register version of Win 10.
I'm still using Windows daily (since 1992), but this is pointless for a Raspberry Pi 2.
WinCE an RTOS? Depends on your definition.
Typically WinCE can have interrupt latencies that vary between 50-100 microseconds. If your application requires periodic interrupts in the millisecond range then this can be acceptable. However, for applications that require periodic interrupts in the 1-100 microsecond range, WinCE will fail miserably. The interrupt latency with WinCE is just too large and it will cause interrupts to be missed.
Check the FAQ: "True “console” apps aren’t really going to be supported for the IoT core OS, headless or not. You can still deploy and run a standard win32 console app here, it just won’t be connected to any on-device console. When running headless you should just get that black screen. When running headed the only supported UI is via the UWP UI stacks (XAML, HTML, DirectX)."
http://ms-iot.github.io/content/Faqs.htm
Tim
Compare this to the original, lower powered Raspberry PI, where even there you had a full command line and GUI without the limitations.
Suppose on the positive side, it will make people realise how bad Windoze is if they can compare like for like without all the glitter and lipstick.
...to run software that only runs on Windows. That's a helluva lot of software to be sure, and it includes some of the best software in the world, but it won't run on the Pi either.
Windows is going to be around for a long time but outside of the classic wintel environment it'll only ever be a curiosity
Windows is going to be around for a long time but outside of the classic wintel environment it'll only ever be a curiosity
It'll be PIning for the fjords :)
The whole point perhaps?
That'll be where they inform you that you didn't want that nasty cheap defective Pi crap at all. What you want is a lovely shiny compatible warm Wintel Atom.
I believe they call it "bait and switch." "Windows"10 IoT core being the "bait."
"as soon as you need to interact with the Pi’s GPIO (general purpose input/output pins) or other Pi-specific hardware, this will not work."
"A built-in web application on the Pi lets you monitor and manage the device."
So if i want to monitor the Pi's GPIO it does not work, but if I want to monitor the Pi device, it does? Err ...
Box1 has been a major contributor to a number of successful technologies, such as SOAP. I can see why some people might hold that against him (I'm no fan of SOAP myself), but it's hardly surprising that Microsoft keep him around.
I saw him give a couple talks at Microsoft conferences back in the day, such as the Indigo (WCF) technical preview at PDC '05, and my impression is that he's quite a smart guy. And while, again, I can't say that WCF is exactly my vision of SOA2, there's some thoughtfulness in the design. Good separation among transports, protocols, and encodings. Good flexibility in configuration mechanisms.
I've been working on commercial distributed-computing subsystems since the mid-1980s, and WCF is not the worst technology I've seen in the area. Neither is SOAP, for that matter.
1"Fish and sea greens, plankton and protein from the sea!"
2Y'know, that thing we used to call "distributed computing". Or "remote procedure calls". Or "client/server architecture". Or "middleware". Or...
"The documentation says you need a physical Windows 10 machine in order to get access to a card reader"
Seriously? I suppose they have entirely missed the Win32DiskImager in their halfassed attempt to push Win10.
I'll stick with RISC OS, thanks...
"The documentation says you need a physical Windows 10 machine in order to get access to a card reader"
Seriously? I suppose they have entirely missed the Win32DiskImager in their halfassed attempt to push Win10.
Or this [drum roll]:
http://www.computerconservationsociety.org/images/ict1301-1.jpg
(My first job as a computer operator - correcting the mis-feeds)
Do you remember that WfWG 3.11 was a single threaded (preemptive "multitasking"... GUI atop DOS, with no security at all, no concept of services/daemons, barely supporting simple networks, etc etc.? Software changed and improved a lot form those days, otherwise, think about what DOS was capable of doing in 640K RAM and 360K disks...
Moreover, an ad hoc OS may probably stripped down even more, but if Windows 10 kernel still needs to be shared across different version it may still carry some inevitable "bloat" - it's the price you have to pay to avoid to maintain n completely different versions of an OS.
Even the Raspbian image is a 990MB download (zipped).
> Do you remember that WfWG 3.11 was a single threaded (preemptive "multitasking"...
Certainly _not_ preemptive. It was co-operative, and often non-cooperative.
> GUI atop DOS, with no security at all, no concept of services/daemons, barely supporting simple networks, etc etc.? Software changed and improved a lot form those days, otherwise, think about what DOS was capable of doing in 640K RAM and 360K disks...
[MS-]DOS wasn't capable of very much at all. It needed applications to get anything useful done.
> Even the Raspbian image is a 990MB download (zipped).
Raspian is a full Linux distro and comes complete with a desktop GUI, servers, browser, applications and software development tools and everything else needed to work as a 'PC'.
> it's the price you have to pay to avoid to maintain n completely different versions of an OS.
As a comparison I can get a Linux distro that will boot off a 1.44 diskette and run as a firewall, SQL server, web server and other stuff.
> Certainly _not_ preemptive. It was co-operative, and often non-cooperative.
You're right, there's a missing "no".
> Raspian is a full Linux distro
Even a minimal Raspian is about 500MB. Anyway a Raspian doesn't come with many servers and applications pre-installed. Nor Windows 10 is just a kernel only, and moreover is a preview release which probably is still compiled with a lot of debug settings.
> As a comparison I can get a Linux distro
Sure, as I said you can make a custom OS stripped down as mush as you like - Linux, after all, is just the kernel, and if you remove lots of modules (and thereby flexibility). you can reduce its footprint a lot, especially if you use an older, smaller kernel. How much is really usable such "distro" but to show off among penguins, is debatable.. and it's something you need to support separately, especially if using a different kernel.
Just with the actual prices of SD cards and USB drives, why should someone try to run something from old, unreliable, unsupported floppies??
> Even a minimal Raspian is about 500MB.
And even that has far more than Windows 10 IoT - a full multitasking and multiuser OS, while Windows IoT can only run one app (at a time).
> Anyway a Raspian doesn't come with many servers and applications pre-installed.
It only installs what the user wants to install and doesn't throw everything at the SD. Additional software is just a mouse click away.
"""Raspbian comes with over 35,000 packages,"""
http://distrowatch.com/table.php?distribution=raspbian&pkglist=true&version=2015-02-16#pkglist
The point is that IoT development (or any other) can be done with just a Pi, an HDMI monitor or TV and a keyboard mouse. It has full GUI (Gnome or LXDE), languages and IDEs and can access the GPIO while writing the code.
With Windows 10 an additional full Windows 10 PC is also required. With Win10 IoT a Pi2 is required while production using Linux can utillise the cheaper Pi1 A or B or compute module.
> How much is really usable such "distro" but to show off among penguins,
The distro that I was thinking of: FreeSCO, is entirely usable for its designed purposes: gateway, router, firewall, plus various servers. It will certainly boot from USB or SD card but was intended for older hardware (even when first released) that often didn't support those.
"Software changed and improved a lot form those days, otherwise, think about what DOS was capable of doing in 640K RAM and 360K disks..."
I wouldn't just look at MS software though, if you look at what the Mac, ST, and especially the Amiga (all that was missing was memory protection because the hardware didn't allow it) did with less memory over the same period you'll realise it's always MS that does less with more and always later than everybody else. Windows 10 IoT is more of the same.
Come on! Windows 1,2,3 were not thaaaat bad in that respect, XP was bad (needed 4 times more ram, exclusively to display a FisherPriceRipOff ui), Vista was worse ... what was it again ? 8 time more RAM (2Gb), high end graphics card, all to show less effects than OS X with 500Mb RAM and a TNT2. Now, Windows 10 IoT is so much worse than Vista in that respect, Windows is such untidy bloat that WIFI depends on some obscure subsystem that could not be squeezed into a 900MB image, go figure.
I have a 180Mb iso, Linux with KDE, browser, office suite, a bunch of servers ... you name it ... and ... WIFI support YAY! (all you need is a firmware for your WIFI card, should the ones in the iso not work for yours).
"The current preview has several limitations. Wi-Fi and Bluetooth are not supported..."
Looks like the $9 CHIP computer over on Kickstarter has an advantage besides price. It has wifi/Bluetooth built in.
https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer
Microsoft is a marketing company first and foremost. They NEED Microsoft Windows on as many devices as possible and they need the vast majority of the population to _think_ they need Microsoft Windows. Apple and then Google put a huge dent in that population's group think and the Raspberry Pi is spreading to the younger side of the population just getting to know technology. They, Microsoft, must enable the marketing facet of their business strategies to continue and they must let that market know they can use something called Microsoft Windows on these little devices getting so much PR via all the IoT press/news.
If anything 'not Windows' gets press, and Linux is getting lots of IoT press, they lose mindshare, they lose market share, they lose access to your wallet.
Wrong, MS is actually a company selling software first and foremost (unlike Google, for example, where software is mostly just a medium to sell its marketing services), and for that very reason it needs its software to be widely adopted and used - or die.
It's pretty clear that if new market emerges, it needs to cover them as well. It happened already - when x86 servers became a compelling alternatives to Unix minis and mainframes, server versions of Windows were needed - with a very different architecture and capabilities of the Win 3.x software.
When game consoles became fashionable again, it developed the Xbox.
When handheld devices became widespread, MS supported them far before Apple, with an unappealing product far from being well designed, true, but MS never thought the "desktop" PC market is enough to sustain itself, even if a lot of revenues still comes from it, and may have failed to gain the same relevant position in other markets.
And keeping a "brand" visible is not something only "marketing" companies need. Any company needs to keep its brand well known among possible customers - marketing is something any sensible company does.
"[MS] need the vast majority of the population to _think_ they need Microsoft Windows."
MS got where they are today with just the majority of system builders and IT departments on their side. The public haven't had much choice in the last decade or two.
The swift rise of smartphones and tablets (and indeed Apple's continued survival outside the IT departments), following the Vista debacle, has shown MS that there's a serious risk that the world might wake up, and the public now know that a world without a Windows monopoly is not only possible, but possibly preferable.
And Raspberry Pi (and friends) just make it even worse for MS. Pi's MS independence is a threat to MS's dominance, especially in schools.
Pi's been doing quite nicely without MS thank you. MS need Pi. Not the other way round.
I am thankful for the relevant use of the rightful use of the new-fangled "huge pic in your face".
Not so thankful as to read the article though, as I'm busy enough running proper software. But hey, I'm keeping notes, I might even direct people to this article if they want a go (poor souls).
The Visual Studio python debugger extension mentioned in the article - which is rather good - works fine with a Pi running stock linux.
While on the subject of Visual Studio, the (commercial) WinGDB plugin is really excellent; supports cross-compile and remote debug of lots of embedded CPUs, Android apps, Linux apps, etc.
First off, to get this off my chest, WinCE is not an RTOS. I mean, it has better interrupt latency than standard Windows, but it doesn't do anything to guarantee latency like a true RTOS does.
"Microsoft’s strategic goals may explain why IoT Core lacks a command shell or Windows desktop, both of which would be welcome among Pi users attempting to use it like a PC. The company is trying to drive developers towards UAP."
I think there are two reasons: 1) Technical reasons. I would guess that Windows still has a reasonable kernel at the base. But they probably found the GUI was dependency hell, and was an all-or-nothing affair. So they pulled it. 2) Microsoft's big business is PCs and servers. I think it has become strategically important for them to make sure that x86 desktop is the first class experience. Linux? The software's all portable, I have used Linux on several non-x86 platforms, and other than the unusual-looking machine at your side you could as well have been on a PC.
Anyway... I'm not sure that very many Raspberry Pi users will be interested in running a stripped down Windows on it, there are so many better OSes to run on it. On the other hand, Windows developers who want to make so-called "IoT" software (and as Windows developers, think the way to do that is using Windows) may well be interested in installing onto a Pi to have a test environment.
"they probably found the GUI was dependency hell, and was an all-or-nothing affair. So they pulled it."
Karma. Many readers will have heard the following, but for those that haven't...
Way back in the early days of WNT, major subsystems were in separate (isolated) address spaces, communicating via procedure calls over defined interfaces. See e.g. Custer's Inside Windows NT (MS Press).
This made it more robust and secure than a monolithic equivalent, entirely appropriately for a business-class OS, but it also made it slower than its monolithic preDECessors (because of the procedure call overheads).
You can easily measure raw performance and write about it in articles and bogs and things, but it's not so easy to measure robustness or productivity, and when your new improved flagship OS is necessarily and demonstrably slower (at GUI-intensive stuff) than Windows 9x, you either explain why and defend it, or you chicken out and make it more monolothic and less robust and hope that no one will notice the inevitable adverse consequences. Gates chose more monolithic.
Similar things happened to the print subsystem for similar reasons (a print subsystem in kernel mode?). And blue screen rates went up. The blue screen aspect has settled down over the years.
Maybe the avoidable interdependences have come back to haunt MS. In Henry's wordz, "it's all or nothing".
Still, it's done them OK for a decade or more.
As noted earlier, Wnidows 10 doesn't bring anything to the Pi. So what's it for ? Mareting tick box.
And what's the effect :
School has no linux experts. Maybe is already a 'Microsoft school', but has to run IoT or Pi or some other fashionable course to avoid looking outdated. Jumps for win 10 on Pi, thinking it's an easy option.
But Win 10 on Pi doesn't run legacy applications (the main reason to run Windows), doesn't have a desktop, can only run GUI applications written specially for it, and has poor support for I/O.
So the setup is completely useless except for use as a tickbox in the school's own marketing materials and is rapidly consigned to the cupboard. Back to the desktop where MS wanted them to be ..
Does the Raspberry Pi need Windows? It already runs several varieties of Linux, including Raspbian (based on Debian), Ubuntu and Fedora.
More importantly, it runs Hercules, so you can get some real work done.
Now where'd I put that USB-to-Channel adapter?
"More importantly, [my Pi] Hercules, so you can get some real work done."
A nice Pi makes a nice host for the SIMH configurable emulator, which emulates lots of different computers, mostly from slightly later than the birth of the mainframe.
A variety of DEC stuff (including PDP8, PDP10, PDP11, VAX, and more) gets lots of attention but there's othet stuff too including Data General minicomputers, Z80-based stuff, etc. Source is now in Github but there are also prebuilt kits, and there's even documentation.
Lots of people have done the VAX on a Pi job, some have connected two or more to form a VMScluster (aka VAXcluster), some have even written about it,
The same chap as did the "IBM mainframe on a Pi" post on designspark also did one a few weeks later for his VMScluster:
http://www.rs-online.com/designspark/electronics/eng/blog/a-raspberry-pi-vax-cluster?/designspark/electronics/blog/a-raspberry-pi-vax-cluster=
Plenty of other writeups elsewhere too (inevitably including Youtube).
Just for kicks I downloaded and tried this on a Pi 2.
The first stupid mistake Microsoft made is to make writing an image to a simple SD card dependant on having a PC running Windows 10 preview edition, depending on the VM you use the SD card drive may or may not be available, however a quick search of the internet reveals you can just copy some dll's from the preview editon ISO and this allows you to write the image to the SD card in Windows 7 or 8 anyway, so why insist on Windows 10?, why not just release the dll's in a form the majority of people can use without going through a Windows 10 install, are Microsoft so desperate to get people looking at Windows 10?, you also need Visual studio and a Windows 10 PC to develop and upload your code.
My overall feeling was that this is someone treating a Raspberry Pi like an Arduino, yes you can write projects for your environment but most of that environment is down to you to provide, and single task, with Linux you have a multi tasking operating system and GUI at your command and other software, plus Bluetooth, and networking available, it offers much more flexibility and choice in regards to what you can achieve and it's a lot simpler to achieve it.(by the way, if you do copy the dll's this way make sure you run everything via Powershell, the straight command prompt doesn't seem work, but few sites describing this method mention that)
This makes sense for hardcore Windows developers but I can't see myself ditching Linux on the Pi any time soon