May 28, 2022

The State of Windows 10

It’s almost 2 month since the official release of Windows 10. It’s has been relatively quiet in the media regarding Windows 10. That is a good sign.

Even more, when CNet’s comments are not flooded with stupid complains, that’s a better sign.

And, you know what? Steven J. Vaughan-Nichols hasn’t come up with an article about Windows 10. That’s a even better sign. SJVN’s general pattern is: say nothing about the new Windows until its release, when he is ready to say anything, it can’t be good. To be honest, SJVN is not a troll, he is just a Linux enthusiast. When you like Linux, you have to hate Windows, that’s his logic, anyways.

A month before July 29, many industry watchers had deep concerns about the state of the Windows 10. It sounded like Windows 10 would either be a rushed product or skimmed down product. It turns out being none of them. Windows 10 is just fine. A little more proof of that,





Develop for Windows 10 Q&A Collections

This is a collection of question and answers derived from Jerry Nixon and Andy Wigley’s online tutorials about Windows 10 development. This is mostly my digest. The series is not finished, but I thought it would be good to put them together just for reader’s convenience. I will add a few more. Also, I may put them up in a more complete form, just so you get a full picture.

The reason for me to do that is: first, the original videos are very long, second, you get lost easy watching the videos. I am trying to retrieve some key information, ignore the unimportant pieces.


Develop for Windows 10 Q&A – (1) Random Points

Develop for Windows 10 Q&A – (2) Store and Monetizing

Develop for Windows 10 Q&A – (3) XAML and Controls

Develop for Windows 10 Q&A – (4) Adaptive Design

Develop for Windows 10 Q&A – (5) Adaptive Code




Windows 10 to RTM This Week!



From Tom Warren,  “Microsoft to finalize Windows 10 this week .” RTM is explicitly said in the article.

People who were worried about ” the state of Windows 10″ no longer say so any more. They, instead, say it is surprisingly good. Why? Because they were not ready for the changes, neither was I. Following the old the concept of RTM,  it is usually at lease two months before hardware on the shelves. And we know there will be an array of new PCs in the market right after July 29 for back to school sales. So, RTM this week is awfully late. Well, I think the way we think of RTM should change. My explanation of change is different from the others.

I believe there are more communication between Microsoft and OEMs than the past Windows releases. OEMs are probably running Windows 10 builds on their machines long, long before this week. If you remember my post a while ago: Microsoft Made Windows 10 ADK RC Available. I believe OEMs get faster than the “fast ring” of the Insiders. Therefore, when Microsoft say, we are freezing features (RTM) today, which only mean, the subsequent changes in the OS won’t break your drivers anymore. If you test OK on this build, you can ship it. Basically majority tests are already done, it is just a matter of retest and confirmation.

Some say, now RTM is just a minor milestone than the RTM before. I think this is right and wrong. RTMs are less important than before. But I don’t agree with other people about the reasons. They think RTM is just a word, Microsoft can still work on features after. I think RTM is still significant, because it set a point where OEMs can ship the OS now and feature ready and fundamentally complete. What Microsoft work on are not immediate features of the OS, rather surrounding features that are not the core of the OS: Cortana, Skype, Windows Hello, Microsoft Edge. My point is: RTM is minor only before work used to be on OEMs are done well before that now, it is not because they are shipping less features at RTM now. Hope you get my point.

So the RTM 8 ~ 10 week before GA is a thing of the past now.  And we know we can get Windows 10 on July 29, and new PCs with Windows 10 installed right after.


What Features You Will Not Get in Windows 10?


Mary Jo Foley posted “Which Windows 10 editions get which features?“. I am not going to copy the lists here. I just want to say what matters to most people.

First please check the full list of Windows 10 SKUs here.

For most of us, personal users and developers, two of them are of interest: the Home Edition and the Enterprise Edition. Generally speaking, you have former at home, the latter at work. For the latter, you have essentially every features; for the former, many things you don’t have, but you won’t care. Like Joining Domain, Group Policy, Remote Desktop, you won’t need them any ways. Some may need Remote Desktop if you work from home, there are third party solutions available.



Developers: Key Dates in July and What You Do with Them



There two important dates in July that developers should care about. If you read Microsoft’s blog here, it is easy to get confused.

July 20: Visual Studio 2015 Release (When Microsoft say RTM, they mean Release)
July 29: Windows 10 Release

There is confusion because Visual Studio is released 10 days before Windows 10, there are different paths to get Windows SDK, and your Visual Studio, SDK and Mobile Emulators may be in different states. To avoid all the issues, do the following,

Ignore Visual Studio 2015 Release on July 20, wait until Windows 10 Release on July 29. After Installing Windows 10 Release version, uninstall VS 2015 RC, and Windows 10 SDK. Then Install Visual Studio 2015 Release version (choose custom install and check Universal Windows App Development Tools option and suboptions).




Windows 10 SDKs Have Updated for Insider Preview



As promised (Microsoft Will Update Windows 10 SDK before End of June ),  one day before July 1, Microsoft had updated Windows 10 SDK along with Windows 10 Build 10158. If you have registered as an Insider and set Windows 10 update to fast. You can get it already.

For details please visit Build App for Windows blog. Aside from SDK refreshing, mobile emulators are updated too. There is not much important inform in the blog. Important thing is starting from now, SDKs will be updated as often as Windows 10 build and they carry same build number. I expect mostly bug fixes and some features that were not yet available.

For developers, after getting new build, you also need to do two things to your Visual Studio Projects.

Right click your projects in VS, Properties -> Target Version, then select the new version with the build 10158.

Open Manifest in VS, find Dependencies -> TargetDeviceFamily, Set MaxVersionTested to 10.0.10158.0.

Remember do the above two things every time SDK is updated, even after Windows 10 and Visual Studio 2015 are officially released.




Visual Studio 2015 to Release on July 20th


Through Somasegar’s blog, Microsoft have announced the final release of Visual Studio 2015, Team Foundation Server 2015 and .NET 4.6 will be available for download on July 20th. His blog title is: “Save the Date: Visual Studio 2015 RTM on July 20th”. The RTM part is wrong, so ignore that.

As I said, Visual Studio and Windows releases are usually paired. Windows 10 will release on July 29.  So, that’s about one week before Windows 10.

Also on July 20 at 8:30 Am PDT (11:30 Am EDT), there will be  Visual Studio 2015 Final Release Event, live on the web.

To celebrate the release, we invite you to join us online on July 20th to learn about the new features and technologies. You will be able to engage in live, interactive Q&A sessions with the engineering team, as well as deep-dive into technical details covered in over 60 on-demand video sessions.




Sidekick: Another Project Involving HoloLens with NASA

PHOTO DATE: 05-06-15 LOCATION: Ellington Field - NASA C-9 Aircraft SUBJECT: Reduced Gravity Office's JPL research flights. Flight 3 PHOTOGRAPHER(S): BILL STAFFORD

PHOTO DATE: 05-06-15
LOCATION: Ellington Field – NASA C-9 Aircraft
SUBJECT: Reduced Gravity Office’s JPL research flights. Flight 3


This news is bigger than you think, that’s why I rush to post it.

NASA and Microsoft are on another project beside OnSight, called SideKick. See how HoloLens helps astronauts through SideKick project:

Sidekick has two modes of operation. The first is “Remote Expert Mode,” which uses Skype, part of Microsoft, to allow a ground operator to see what a crew member sees, provide real-time guidance, and draw annotations into the crew member’s environment to coach him or her through a task. Until now, crew members have relied on written and voice instructions when performing complex repair tasks or experiments.

The second mode is “Procedure Mode,” which augments standalone procedures with animated holographic illustrations displayed on top of the objects with which the crew is interacting. This capability could lessen the amount of training that future crews will require and could be an invaluable resource for missions deep into our solar system, where communication delays complicate difficult operations.

Brilliant. Now here is the news:

A pair of the devices is scheduled to launch on SpaceX’s seventh commercial resupply mission to the station on June 28.

A second set of devices to be delivered on a future mission will test and verify Sidekick functionality with network connectivity to test the Remote Expert Mode.

Sidekick also will be used and evaluated during the NASA Extreme Environment Mission Operations (NEEMO) 20 expedition set to begin July 21 when a group of astronauts and engineers live in the world’s only undersea research station, Aquarius, for two weeks. The Aquarius habitat and its surroundings provide a convincing analog for space exploration.

Those are test missions for SideKick, and,

NASA expects astronauts on the station will first use Sidekick by the end of the year.

This one sounds like a real thing. Can we expect HoloLens to be released by the end of the year? That’s why I am writing this post.

By the way, they are okey with the FOV?

Oh, NASA also posted a video.



Cambridgeshire Constabulary Is Soon to Begin Using Microsoft’s HoloLens


This news is interesting in many levels.

News comes from Computing that UK’s Cambridgeshire police will SOON start using HoloLens. You heard it right, the title is direct copy from the post. The implementation is in collaboration with a consultancy firm Black Marble, which is likely a Microsoft value added distributor or partner.

A Microsoft spokesperson later told Computing that, while it’s unlikely that members of the Cambridgeshire force will go out on the beat wearing the slightly cumbersome devices in the near future, the technology could well be used in the recreation of crime scenes.

I don’t know how, but sounds like an interesting idea, and a big deal for police forces, but I think HoloLens can do more than recreating crime scenes.  It’s good to know that police decide to use it before it is even released.

The word “soon” is interesting. I would assume, next year is not soon, right?

Interestingly, the same constabulary is also currently using Microsoft Band. This is how they use it:

Finally, wearable device Microsoft Band is also now being utilised in a unique way, in a trial period in Cambridgeshire. If the user’s heart rate goes over a certain level, or if it is removed from an officer’s wrist, it triggers an alarm and officers will scramble to support their colleague.







Why Is There No HoloLens SDK?



This post is long over due. I have had it in the backlog for a while, now I can’t wait anymore.


A Bit of History…

Since the day HoloLens went public, which was January 21, 2015, the developer community have been discussing the possibility of HoloLens SDK. People posted on  Channel 9 of the up coming Windows Holographic APIs from Windows 10 build 9926. They have discovered that there are many holographic related namespaces, even holographic controls (in C++):


The good people from NUI World had discovered namespaces like the following (in C#):


I had explored Windows 10 debug symbols myself. All those made us to believe that Windows Holographic Platform is well defined from the beginning. There were three distinct namespaces: Human, World, and Mirage, which represent the whole picture of the mixed reality. Please check my early post here.


Then It Happened…

We understand at the beginning that HoloLens is one of many Windows 10 devices. It is said from January 21 that all Windows 10 universal apps will run on HoloLens. We also understand HoloLens is a special Windows 10 device, maybe more special than a phone or a tablet. We understand again, for special device families, there is something called Extension SDK to deal with the specialties of certain features that are not implemented on all devices. Naturally, we have guessed this must be the case for HoloLens.

General consensus is there should a set of special APIs for Hololens, or more broadly for Windows Holographic Platform. Even today, you go to HoloLens official website, click Developers on top, then scroll to the bottom to Q&A section, expend “When will the SDK available?”, the answer shows,

We look forward to sharing information on the SDK for Microsoft HoloLens soon. The best way to ensure you receive developer updates and holographic APIs when available is to join the Windows Insider Program.

As it turns out this is false.

Yesterday, Alex Kipman (you don’t know who he is ?!) tweeted in response to #HoloLensDevs,

He actually said the same thing long before yesterday. He had made the clear at Build 2015, there is no special APIs that is specific for HoloLens, therefore SDK won’t be needed. Please check the embedded video at end of the post (@2:20).

Interesting thing is: Out of curiosity, I checked the latest Windows 10 debug symbol packages, well, the latest is still very old, it corresponds to Build 10074, the pdbs that contain afore-mentioned namespaces no longer exist.  For example there use to be,


and many other hologram related pdbs, now only a few suspected ones are left, like,


In any case, this is the very much a confirmation, that HoloLens APIs were planned, and then removed.


To Understand the Fact…

Knowing the fact there will be no HoloLens API, or HoloLens SDK, or Windows Holographic SDK in general is one thing, understanding it is another.

It’s kind of strange why there is no need for HoloLens SDK at all? The way I understand this is: HoloLens is no different than any other Windows 10 devices. It is a PC indeed, by any definition. The only difference, apart from worn on head and look nothing like a computer, is: it is a computer with a monitor, a keyboard, a mouse, touch interface, voice interface all built-in. As it happened, that’s a special monitor, it shows 2D objects and 3D objects, and they are called holograms. That’s all, why do we need any specially SDK at all?

One possible implication is developers will not have access to the spatial mapping data. This can be either a good thing or bad thing. Good thing because the OS hide the complexity, so developers wouldn’t have to worry about the contours of the environment. It’s real hard to write good games or apps if you consider that. Bad thing because sometimes, the environment matters, if you develop a virtual pet, you don’t want it to walk in the air right? This is unknown to me.

When you think of OEMs, who are developing VR devices or AR devices other than HoloLens. They need to write drivers in Windows 10 for their devices, there might be special DDKs for them, which is generally not what we are worrying about.

But wait, how about mixed reality video capturing. That was the thing appeared in the old debug symbols, but disappeared now. Alex had said the function is there (@ the end of the video). Will it be exposed to developer as an API, or to the end user through the OS, or both? We don’t have answer yet.



Microsoft Is Working to Implement Holo-Video Recording For HoloLens

Tech In Short: Surface 3




What’s the Deal with Windows 10 Release Schedule?



Neowin reported this morning that Windows 10 Mobile launch scheduled for late September. It was revealed by Microsoft’s briefing to OEMs at a local location. So the words are only semi-official, but it doesn’t matter.

Microsoft have said previously that Windows 10 will be on a staged release, with Desktop SKUs go public on July 29. Mobile, Xbox, IoT and possibly HoloLens SKUs follows. In reality, there are only two stages that matter: Back to school, and Thanks Giving/Christmas. Desktop SKUs (including desktop PCs, laptops, tablets 8″ and up) obviously made it to back to school sales. Everything else obviously didn’t.

Because I mainly cover HoloLens, so that’s where I pay most attention. At the beginning of the year, the plans was apparently targeting a July release for both HoloLens and Windows 10 Holographic SKUs. During the Build conference last month, they no longer talked about July. In a Build session (HoloLens Partners Share Dev Experience (Video) ), one developer from NASA used the word “Summer”. Combining these with realization of the FOV impact. I think it is safe to say that HoloLens and the Windows 10 SKU for Windows 10 release date is pushed back.

Indeed, allow me to be honest, Windows 10 Desktop SKU should be available early or mid July and RTM should already been done, but this delay is minor. Most people don’t know and don’t need to know.



Develop for Windows 10: (4) Fix Mobile Emulators




In another post: Develop for Windows 10: (3) Setup Tools, I have talked about how to setup development environment in order to start development for Windows 10. It turns out, there was a problem.

Everything goes fine, but after creating a project in VS 2105. Run it. You found the run target doesn’t have Emulator like the picture below.



Actually, at the end of VS 2015 installation, there was a warning saying mobile emulators install failed. Why?

The problem was these emulators are running under Hyper-V, which is a virtual machine itself. So, in this case, we are trying to run Hyper-V inside of VirtualBox. So far, there is no way it can work. Fortunately, VMware Player works.

If you are installing Windows 10 TP on a physical machine, like multiple boot. You can skip the following steps, but in any case, make sure you system (your physical machine) meets requirement for Hyper-V. Here is the link.

So follow the steps below. (This is an ugly post, bear with me, and as always, forgive my typos. I will try to fix them later.)

1. Download and install VMWare Player from,  scroll down to the bottom of the page, locate WmWare Player, click Download Product. Then download WmWare Player for Windows 64-bit.

2. Start WmWare Player.

Create a New Virtual Machine
Choose “I will install the operating system later”, click Next.
Choose Microsoft Windows and select Hyper-V (unsupported) not Windows 10 x64 (don’t ask me why), click Next.
Take a note of the Location (where the VM files a created, I call it {VM Folder}).
Click Next, and Next again.
Click Finish.

Open {VM Folder}\{VM Name}.vmx with Notepad.

Add following line to the end of file:

hypervisor.cpuid.v0 = “FALSE”

Save/close the file.

3. Now go back to VMWare Player, you should see your newly created VM.
Right click it -> Settings.

Highlight Processors, then on the right, Check Virtualize Intel VT-x/EPT or AMD-V/RVI
Highlight CD/DVD (SATA), then on the right, check Use ISO image file, click Browse to select your Windows 10 TP ISO file
Look at bottom of the dialog, click Add button, then select Network Adaptor(use defaults).

Click OK. You are back to the VMWare Player home screen.
Highlight your VM, click the green Power On button.

Now, Windows 10 TP will be installed on your machine. Make sure it is new installation not upgrade.

4. After Windows 10 TP is installed. You are probably getting build 10070. That’s too low, you need to upgrade. Go to Settings -> update and security -> Windows Update -> Advanced Options -> Scroll to the bottom -> Change from Slow to Fast.

Close Settings, then go back to Cortana (you know what I mean), and type Check for update and click it. Make sure get any updates that is higher than 10070. It should be 10130 as of today.

Change update from Fast back to Slow, up to you.

5. Unlock your VM for development. Settings -> update and security -> For Developers. Check Developer Mode.
(Why unlock? Before, any PC or Phone used to running an app outside of Windows Store (called side-load) need to be unlocked. There was a procedure to unlock your machine. Now, in Windows 10, you just turn on Developer Mode, it is unlocked. You can side load any apps.)

Now Install Viusal Studio 2015 RC, make sure choose “Custom”, and check Universal Windows App Development Tools and its suboptions.  (Please check the links Develop for Windows 10: (3) Setup Tools)


Is Windows 10 ready?

Tom Warren just posted an article of the same title, not counter his points, I agree what he says, but want to expend some of them. I have my own opinions of course.

Is Windows 10 Ready?

The consensus ranges from NO, to maybe, to probably but a lot of work ahead. Tom Warren and many others are in the right most side of the spectrum: nicely optimistic. They are showing optimism with a lot of doubts.

Sorry, I am not in any of the above. I am telling you why?

Microsoft is not some hack shop, there are quality controls and I assume they wouldn’t release some code they are not sure if it’s going to work.

Windows 10 is by any account the biggest change in Microsoft. I don’t think anyone in Microsoft is still not sure how important Windows 10 is. They wouldn’t release it not matter how much they want to.

If you ask me two days ago, whether Microsoft will release Windows 10 in July, I would say yes, but with reservation. Actually I am probably the only one on the planet to insist that Windows 10 will release in July. Now they had made it official. Folks, they don’t have to. They could push it way over to say, Sept. 22. Or mid-October like they usually do. If you assume they are doing something stupid, I am not convinced by that.

I understand people are worried. They are worried because: They look at features more than Windows itself and they don’t see the latest build.

I would assume the Windows 10 will RTM in two weeks, or they already did. I just can’t image this to happen:Windows 10 available July 29, but new PCs are only available after August 31st.  An early June RTM leads to early August hardware in the market, as simple as that, unless something is wrong.




Develop for Windows 10: (3) Setup Tools

Please read Develop for Windows 10: (4) Fix Mobile Emulators before continue.

As of today (June 2nd), Windows 10 is still in Tech Preview (called Insider Preview now), Visual Studio 2015 is still in RC (Release Candidate). Windows 10 will release on July 29th, Visual Studio 2015 can’t be far away, but at the moment you have to use the TP and RC.  Windows 10 SDK can change a little at the time Windows 10 is released, but it’s safe to say, you can start write some code now. Changes will be minimal if there is any.

You need to install 2 things: Windows 10 Tech Preview, Visual Studio 2015 RC. You could install Visual Studio 2015 on a Windows 7, 8, 8.1 machine and develop for Windows 10, but some functions are not available (I don’t know what). So it is the best to install Windows 10 TP on a VM then have Visual Studio 2015 RC installed on it.


Install Windows 10 Technical Preview on VirtualBox

So your machine is running either Windows 7, or 8.1, if you are running anything other than these two, then you are reading the wrong article.

Download and install VirtualBox from here.

Download Windows 10 Tech Preview (now called Insider Preview) from here. You will need login with your insider account (if you haven’t signed up, please go to do so). Now click link download the ISO file .

PCWorld has a nice tutorial on how to install Windows 10 TP on VirtualBox.


Install Visual Studio 2015 RC on Windows 10 Preview

Got to, right on top of the page, you can download Visual Studio 20015 RC Community Edition or Enterprise Edition, doesn’t matter.

When Install VS 2015 RC, make sure choose custom install, then check Universal Windows App Development Tools and its subitems.



Note, current VS 2015 RC has Windows 10 SDK included.


If things goes fine, you have your environment ready to development App for Windows 10.




Why You Have to Reserve Your Free Windows 10 Upgrade?

Starting today, Windows 7, 8, 8.1 users will get notification, let you to reserve your free Windows 10 upgrade. Many people wonder why?

This is not shrink wrapped software copy, when they make it available, it is available, everyone can download. What’s the point of reserving.

Here is my guess: they will prioritize you higher as to when the upgrade is available. You will eventually get it but a couple of days or weeks later. The number of people who would upgrade can be huge, so it is almost sure that not everyone get it same time. In other words, please do so.

In any case, if you haven’t received notification, you can always reserve it here.


Update: Microsoft posted Q&A about Windows 10 upgrade from previous versions. My guess was close. There are too things to add: 1. When you reserved, your machine is checked to be ready for upgrade to Windows 10. 2. Windows 10 will be downloaded to your machine before it is officially available, so when it announced officially, you can save the download time.



Yes. It’s July 29.

Microsoft had officially announced that Windows 10 will be available starting July 29th. Here is Joe Belfiore’s Tweet (He tweeted while we were sleeping, why, Joe?)


And Terry Myerson’s Blog. That’s available date and RTM date, which means,


1. New PCs with Windows 10 will go on sale in August for back-to-school sales.

2. Windows 10 should RTM within two weeks. Maybe already done so, we just don’t know.

3. There is chance we can see HoloLens in August. Remember Windows 10 just provide a possibility, but there are other factors, like FOV, apps and games availability.

4. There is a chance we can see a couple of flagship Windows Phones before winter.

5. They have missed the original target, which was early or mid July. How do I know that? I just know.


What? Windows 10 RTM End of July?

Just a short post, keeping everyone informed, but not about the news, rather what I think of the news. That’s the spirit of this blog.
Rumors say Windows 10 to RTM at end of July. Tom Warren says it releases on July. Who do I or you to believe? I choose the later for obvious reasons. But there is non-obvious reason: Microsoft have always been saying, and still saying Windows 10 to release in summer. There is no word game here, summer means July, otherwise that’s a surprise.

Also, there is no confusion here, release means release to public, RTM is not. I expect a back to school (August) new PCs on the market with Windows 10 installed, period.


Develop for Windows 10 – (2) What to Know about UWP



In this post, I am trying to summarized what we have learned about UWP during Build 2015. I will only list the items, leave out details. In the future post I will try to get into some details if I can. After reading it, you will probably say, ah, that’s not much. I think that impression is correct. Even though there has been many sessions in the Build Conference, the changes are profound, but for developers, there isn’t a lot to learn. That’s a great job from Microsoft.



The most important thing in UWP is concept of adaptive programming. Keep this in mind: your application will potentially run on many different type of devices (from PC to Xbox, HoloLens), different size of screens, and different versions of UWP. Even though you have the option to write separate code for each case, but you mostly wouldn’t.

In order to deal with all situations, you need: 1) Runtime code detection to deal with different device types (families) since different device type may implement different set of APIs. 2) Set MinVersion, MaxTestedVersion and get latest SDK to cover most UWP versions, try to support cutting edge features while still keep backward compatibility. 3) Use controls like SplitView, RelativePanel and Pivot to adapt to screen sizes. Also can use VisualState in XAML or in the code behind to further adapt to screen changes.


Extension SDKs

Extension SDKs bring in APIs that are not commonly implemented in UWP. There are desktop Extension SDKs, Mobile Extension SDKs, etc. All you have to do is reference them in your Visual Studio projects. Call the APIs after runtime API detection.


API Contracts

API Contracts is the way UWP groups functionalities. By putting a collection of APIs together, you don’t have to detect each one of them separately, because they are either implemented in full or none. Each API Contract can relate to certain type of devices.


New in XMAL

SplitView, RelativePanel and Pivot are mentioned above. Many know that Pivot control is the most used in Windows Phone, now it is implemented in UWP, only it becomes tabs in large screen automatically. Others are: ContentDialog (popup dialog), AutoSuggestBox, Map Control, PerspectiveTransform3D (transform control in 3D space: rotations and parallax), Windowing (can customize background, titlebar, etc.), Ink Canvas, Drag and Drop, WebView.

AppBar is not new, but if used properly, it can replace SplitView, make the app more visually compelling. I will look into this later.


Application Life Cycle

As a developer, we need to be aware that application states: not running -> running suspended -> not running. What trigger them. What to do before application is suspended.

Related topic is background task, how to start one and how to manage it.


I think that’s almost all (there are other things: notification, live tiles, advertising, Cortana, but they are not something you will certainly use). As you can see, every subtitles above except for the last one are actually part of “Adaptive”. So, I’d like to simplify it a little by saying “UWP means Adaptive”.




Develop for Windows 10 – (1) The Concept of UWP


Windows 10 was unveiled in January 21st. After BUILD Conference at the end of April, most of development stories are clear. Now we can sit down, clear up our minds and see what we have learned, how we get started.

The Windows 10 developer’s story boils down to two words: UWP and Classic.
The Classic Windows Apps

Before there are something called apps, software development, or programming had been a career for tens of years already. Commercial software usually takes many programmer-months of worth of work, unlike the small programs today, you do two on a weekend. On Windows, we call them software, or applications. In the foreseeable future, or maybe forever, those software will still support the entire business world. Microsoft now call them Classic Windows Apps.  You sense the effort of de-emphasis here, but before the business world adopt the so called modern apps, “Classic Windows Apps” is still in the front and center. Doesn’t matter you talk about it or not.

So what are “Classic Windows Apps” really? Any program that runs on Windows 10 that are not Universal Windows Apps. The term Classic Windows Apps is sometimes referred to as desktop applications.

What about MFC? MFC is still there and well. There is no worry it will go away any time soon. If you have been doing .NET programming for Window forms, WPF, you still do what you do.

The surprise is: Starting from Windows 10, Classic Windows Apps can be packaged as Windows Store Apps. It can be delivered over Windows Store, even taking advantage of UWP features.


The UWP: Universal Windows Platform

It’s exhausting to deal with the new terms.  I honestly don’t know when to use Universal Windows Apps, when to use UWP. But in any case, UWP is the center of Windows 10 programming, which doesn’t mean it is more important than the classic apps, but that’s the center of the conversation right now.

Universal Windows Apps are delivered through Windows Store. It’s called one store, one binary, one platform. As a developer, you write on the same code base, build one appx package, publish on one store. Users buy it once, and run on every Windows 10 devices, and have almost same experience.

In Visual Studio, you just choose to create a Windows Universal project type, that’s all. Of course you have to be aware of something call “adaptive app development”, “adaptive programming”.

The details lie in Adaptive: adaptive to difference screen sizes, adaptive to different device families, adaptive to UWP versions. And remember runtime feature detection, Extension SDKs, API Contracts.

From there, your UWP programming begins.



Windows 10 SKUs: The Most Concise List

Microsoft has released the whole list of Windows 10 SKUs, or Editions from user’s point view, through a blog post. But no one, including Microsoft has described it in the way that is comprehensibly short and to the point. So, I decide to say it in human language: accurate and understandable. Here it is.

For Personal Use:
1. Windows 10 Home: (No explanation needed)
2. Windows 10 Mobile: Phone and Tabets < 8″ (ARM or Intel)

For Enterprise:
3. Windows 10 Pro: For small business
4. Windows 10 Enterprise: All sizes of business, target volume licensing
5. Windows 10 Mobile Enterprise: Same as 2, but added enterprise features like security.

For IoT:
6. Windows 10 Enterprise (IoT): ATM, POS, etc.
7. Windows 10 Mobile Enterprise (IoT): Handheld terminals, etc.
8. Windows 10 IoT Core: For small footprint, low cost devices like gateways

That’s ALL.