Windows 8 optimize

Windows 8 on ARM: What developers need to know

Confused about what's happening with ARM devices when Windows 8 is released? You're not alone. Here are the facts from Microsoft.

One of the more confusing aspects of the upcoming Windows 8 release is what is happening with ARM devices. Many developers I've talked to about Windows 8 see this as an important thing to know, because the Windows 8 legacy desktop experience is not so wonderful, and because ARM devices have become an important part of the computing landscape. Some of Microsoft's recent announcements have made things a little confusing, due to their lack of direct statements on some topics, and fine nuances in terminology in other statements. Here are the facts based strictly on things Microsoft has said, as well as some of my speculations and thoughts about the topic.

Windows 8 will come in two main flavors: x86/x64 and Windows on ARM (WOA). The primary difference between the two is that WOA will not run third-party applications in the legacy desktop. WOA will run Microsoft applications (think Notepad, Calculator, and system utilities like regedit and Windows Explorer). Microsoft announced that Office will run in WOA, but it seems to be a version of Office limited to Word, Excel, PowerPoint, and OneNote. It remains uncertain if these will be ports of the current x86/x64 versions, new versions made for the desktop but built from the ground up, or Metro rewrites (or even ports of the WP7 versions). They may even just be Web versions of the apps designed explicitly to work within Windows 8's version of Internet Explorer 10.

Speaking of Internet Explorer 10, when it runs in the Metro UI, it will not allow any third-party plugins, so that means no Flash or Active X controls. Third-party plugins will run under the legacy desktop. At the same time, with the WOA version not allowing third-party apps in the legacy desktop, it is highly unlikely that third-party plugins or Active X controls will be running under WOA. This means that if you have an application running Active X controls, Flash, etc., you need to rewrite or replace those applications, or you will be locked out of Windows 8 running on ARM devices.

My conclusions

So far, this is all fairly bad news for developers. The good news is that writing Metro-style apps on top of the WinRT API will give you cross-platform compatibility across x86/x64 and ARM platforms, as long as you do not use any native C/C++ code; if you do, a simple recompile to create a second version should do the trick. If you are a Silverlight or WPF developer, the transition to Metro/WinRT is fairly smooth (more so for Silverlight than WPF developers, since they are already reduced to the tight sandbox and reduced feature set), particularly if you are already using the MVVM design pattern.

At the end of the day, WOA is the start of a new era for Windows developers. Unless WOA is a total failure (and it could be), developers are going to have to start looking past the current desktop model. My best recommendation is to start moving as much logic as possible into Web services and write thin native shells around them, so you can reach not only WOA easily, but iOS, Android, RIM, and WP7. If you cannot do that, then Web applications are the way to go. Even if WOA is not a success, the pressure from non-Windows desktop environments will only get stronger, so shifting your development to fit this model is a smart move.

J.Ja

Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.

More Windows 8 posts by Justin James

About

Justin James is the Lead Architect for Conigent.

26 comments
danbi
danbi

I believe, Windows 8 will wake up developers that there are other development platform besides win32. That is good for both Microsoft and others, because we could see more cross-platform (not Windows-only) applications.

131313ontanez-24472904060645141771750399938085
131313ontanez-24472904060645141771750399938085

My comments on this topic are about security, backwards compatibilty. and performance. OS Developers usually have the facts about hardware requirements prioritized before they begin to program. Microsoft doesn't produce novice results, they have been the one of the leaders in operating systems since the dumb terminals and Altair 8800 was released to the public. They introduce a new OS into the market about every 4-5 years. If they plan on releasing Windows 8 on top of ARM they probably have planned the build properly. See the Wiki page for Windows 8 I don't to much about programming but I think that UEFI support would need to be written with security in mind. If ARM doesn't have support for the secure boot feature that Microsoft wants to implement it may be possible for crackers to hack a file system with Metro UI apps when the OS is booted up. I was thinking of an example like a remote access app with API function calls that can manipulate ODBC/JDBC databases with DCOM over some protocol and port. It could be disguised as a useful program that has java ocx or dll files installed in the WIN or SYSVOL which load at startup. Compatibilty between Windows 8 x86(CISC) platform and the ABI of ARM(RISC) devices would need drivers to support both UEFI and the level of abstraction if they want to allow opening Metro UI apps on x86 systems from an ARM-based device and vice-versa. CORTEX Core processors might prevent overclocking but I didn't see anything like that on their website

rastocks
rastocks

"Microsoft announced that Office will run in WOA, but it seems to be a version of Office limited to Word, Excel, PowerPoint, and OneNote" ...sounds like Office 365, so MS are abandoning ARM to other operating systems and supplying their user apps through browser interface... Everyone has to make some expenditure cuts in these economic circumstances - as long as the users have an office solution what's the problem?

sarai1313
sarai1313

you must be apple fans to bash a os you know nothing about.go back to petending you know about coputers and let the the grownups do thier jobs.peace

neil.postlethwaite
neil.postlethwaite

Seems like WOA is an utter waste of time for deveklopers, users - everyone. It's not Windows 8 Jr, and it's not Windows Phone 7 XL - which it should be. WOA is the worst of both worlds. Makes Vista look like like a cunning plan. WOA should be Windows Phone 7 XL, as iPad is iPod Touch XL running same IOS and Android tabs run Honeycomb or ICS as effectively grown up Android phone XL. Microsoft are bonkers.

gak
gak

Do you have any insider info? The official MS blogs say that WOA will be released with the Offuce for the desktop and that no other existing desktop apps will run, which is obvious. There is absolutely no data on the ability of general public to write desktop apps for WOA, they do not confirm that and do not deny that. Whatever we may see in the consumer preview and the VS beta will also be questionable since it is necessary to have a properly unlocked ARM device to test that. I even do not understand how I can install W8 on the ARM devices that I am somewhat familiar with.

TurtleJ
TurtleJ

This is a waste of an article. Developers will find out this week what the platform will be like and any speculation at this point is worthless. BTW, you made this comment: "Many developers I???ve talked to about Windows 8 see this as an important thing to know, because the Windows 8 legacy desktop experience is not so wonderful" That is a ridiculous statement. The Visual Studio development environment is absolutely the superior platform currently used - bar none!

1ndy
1ndy

Just like Vista, W8 will not be so welcomed, especially with corporations. There are too many investments in 3rd Party software that if Microsoft doesn't stay backwards compatible with their new OS releases, companies will not feel obligated to stay with Microsoft. Hello Linux.

sarai1313
sarai1313

I am glad that you are a lest you giveing win 8 a look and said what they have i been saying that even inbedded win 8 can be modidfied to accept cross paltform progarming. I have been trying to tell every one that win 8 will hopefully be on my next phone,tablet and P.C. . It would be nice just to go from one device to the next and not have change os each time .Or at lest how it looks and feel .Every time i talk about all I get is apple and who needs quad core phone or tablet . i will tell you me so i can be anywere and do what I at home .Wach T.V. ,have access to my data thats on my P.C. frome games to documents .See I beleave in the cloud but only if it is my cloud.

Skruis
Skruis

It only makes sense to centralize that functionality. I'm not convinced that WOA will be a hit at all but I do think that it's a step in the right direction for Windows. I'm expecting to see greater support and flexibility when Windows 9 reaches ARM in a few years and Microsoft for now, is just testing the waters...hopefully.

neil.postlethwaite
neil.postlethwaite

Please expand and entrall us with your knowledge... WOA is not full Win8 compatable, will need recompiled for a different processor architecture, much is disabled in Internet Explorer, Office WOA is missing many full edition feratures (though not as skimpy as WinMo office)... So at best it's Win 8 Lite WOA is not Windows Phone 7, or even WP7 XL.. So what is it other than some bastardized mule in the middle that is no use to either.end. I can see it sidelining WP7, when if WOA had been WP7XL (like A Galaxy Tab runs Android or iPad runs IOS), it would have enhanded this market. It's confusing and frustrating to IT professionals, developers - what will end users make of it.

Justin James
Justin James

This has all been publically stated by them. Basically, they've stated that you need a special certificate to deploy desktop apps for WOA, which means Microsoft and *perhaps* trusted third parties like OEMs. We saw this with WP7 too, OEMs and carriers get the ability to write apps that cross the boundaries that you and me can't. As someone else mentioned, Microsoft is NOT allowing Windows 8 to be installed by end users on ARM devices, that's OEM-only, for better or for worse. So no one is going to see WOA until ARM hardware is available. :( That said, I *have* requested through my contacts to get access to an ARM device when they are available, and with any luck I'll be able to get one and share with you my experiences with it. J.Ja

Skruis
Skruis

that they said you will NOT be able to install Windows 8 on ARM devices and that in order to get Windows 8 on an ARM device, you will have had to purchase an ARM device with Win8 preinstalled. Microsoft is looking at ARM devices like they do appliances, phones, etc..something you use, abuse and replace.

sarai1313
sarai1313

x86-64 applications will be supported on the desktop version of the OS

sarai1313
sarai1313

we all ready are working on it too bad you are not as infromed as you think

Justin James
Justin James

"This is a waste of an article. Developers will find out this week what the platform will be like and any speculation at this point is worthless." Not true in the slightest. The Developer Preview has been out for months, anyone can get it. I've developed Windows 8 apps, I've used it quite a bit. This isn't "speculation". What *is* supposed to be released is the "Consumer Preview" which will be a more refined Windows 8 than what the Developer Preview was. In addition, the formal Visual Studio 11 beta will be released. Again, the Visual Studio 11 Developer Preview was made public months ago, when the W8 DP was... and I've used it as well. In fact, I even went through the process of transforming a WP7 application into a W8 application. "BTW, you made this comment: "Many developers Ive talked to about Windows 8 see this as an important thing to know, because the Windows 8 legacy desktop experience is not so wonderful" That is a ridiculous statement. The Visual Studio development environment is absolutely the superior platform currently used - bar none! " Did I say Visual Studio wasn't a good IDE? No, I didn't. I said (and you even quoted me) that the *Windows 8 desktop experience is not so wonderful*. And it isn't. That has NOTHING to do with Visual Studio. When you have a system where you have to return to an entirely different screen to launch an application, it's a mess. To make it worse, that functionality is now (now that the Start button is completely gone) by activating a "hot spot" on the screen. It's good for touch users, I suppose, but for traditional mouse/keyboard users, using the traditional, legacy "desktop" is not a good experience. Microsoft has gotten a lot of feedback on that, and it will be interesting to see how they have incorporated that feedback into the Consumer Preview. J.Ja

masukuma
masukuma

I think you are misinformed,x86-64 applications will be supported on the desktop version of the OS. This article is addressing Windows on ARM (the tablet release). Secondly, just tell me how Linux will provide a escape avenue for companies that have made 'too many investments in 3rd Party software that if Microsoft doesn't stay backwards compatible with their new OS releases'..., those 3rd party applications are Windows applications and if they can rebuild for Linux the can rebuild for W8 metro.

Skruis
Skruis

So I'm assuming that they've done this for the benefit of businesses and not individual consumers which means that Microsoft is anticipating that Metro will not be an "instant hit" with the corporate crowd and extended the life of the previous versions to satisfy them. When it comes to user interface changes, corporate isn't always the leader and in this case, they'll probably sit win8 metro out and wait for win9. By that time, Metro will be familiar enough that they can roll it out (whatever it turns out to be) with minimal effort. I mean, for desktop users, even business ones, all "metro" has to be is a graphical launcher... their desktop apps, even if Microsoft chooses to call them legacy, will continue to run just as properly as before without any loss in backwards compatibility ... in that sense, it has the capability to launch as well as Windows 7. After all, Microsoft has said that any software, including drivers, that ran on Windows 7 will also run on Windows 8. I currently find myself in the middle of a project that though not originally designed for touch input can greatly benefit from it in certain aspects and having the "metro" touch system integrated into Windows will definitely help me to put the right "polish" on the touch portion of the system. At the very least, we developers now have a common "foundation" that we can all build off of and the rest of the world, if it so chooses, can pretty much ignore Metro completely and continue to use the desktop and their "legacy" apps without much interference from the other advancements in the OS. Is it a Vista? I'd say no. I'd say it's more of a XP Home Media Center...in that even though it has some amazing features, the vast majority of users that may have access to them will probably end up ignoring them completely. Myself, I have a Samsung Slate and I'm eagerly awaiting the preview.

Justin James
Justin James

"WOA is not full Win8 compatable, will need recompiled for a different processor architecture" Not true. If you make a Metro/WinRT application, it will work on both x86/x64 and ARM, and since there is no other way to make a WOA application than Metro/WinRT, it means that anything you do is immediately working on x86/x64 Windows 8. "Office WOA is missing many full edition feratures (though not as skimpy as WinMo office)" You don't know that. No one knows that, and if they did, they are under NDA. We *do* know that Office 15 on ARM will only be Word, Excel, OneNote, and PowerPoint. I am not quite sure what the deal is with Outlook (perhaps it will be like WP7, where the OS will have email capabilities worth using?). But for the overwhelming majority of users, those four apps cover it. What remains to be see is if the Office 15 apps on WOA have the same feature set as their x86/x64 counterparts, and again, no one who knows is talking. J.Ja

sarai1313
sarai1313

oh i am sorry that you can understand one os and the word is enhanced not enhanded.peace dude

gak
gak

This means that there is absolutely no reason for me to even think about WOA. I already have an appliance which is under $100 (my price limit for an appliance) and feeds me all the content that I want to consume, perfectly. I see the only way for Windows 8 to avoid the Vista syndrome. Some very good x86/64 tablet offerings create a WinRT market while people buy Windows tablets because of the desktop, the only reason to prefer Windows at this stage. Developers react to the WinRT market, the appstore gets enough apps, and WOA becomes possible. Otherwise, all that Metro is DOA.

sarai1313
sarai1313

i am not very good with the writen word more whit numbers and mechcanical work so thanks for chimeing in on win 8. it is like no on this site except for few pay notice to any thing other than apple.

Justin James
Justin James

... if you *could* profile and instrument on an ARM architecture system in the first place, unless Microsoft made the tools. Remember, 3rd party tools on ARM are limited to the WinRT API and there is no way that it will allow the access needed for that functionality... I think a good gut check on that is to look into profiling/instrumentation for WP7, which is something I have *not* looked in the slightest, but maybe I should. J.Ja

gak
gak

These features are based on the JIT compilation and work for any IL code, be it ASP or not. In .Net 4.5 IL is not only JIT compiled, it can be re-JITed anytime within the same process. I guess that not ASP assemblies do not look JITed since the output of the JIT compilation is hidden in memory, and few use ngen.exe to precompile their assemblies.

Justin James
Justin James

When you compile a .NET application for the "Any CPU" (the default), you aren't targeting x86, x64, or ARM, you are targeting the .NET CLR. The JIT compilation only is for ASP.NET, standard .NET applications do NOT JIT. So no, you are *not* recompiling a Metro/WinRT application for different architectures, either at run time or at build time. J.Ja

gak
gak

"WOA is not full Win8 compatable, will need recompiled for a different processor architecture" must be absolutely true technically. "If you make a Metro/WinRT application, it will work on both x86/x64 and ARM" is also true since the application will be "recompiled for a different processor architecture" by Windows.