October 18, 2021

Is There a Tethered HoloLens?



This post was in draft for some time. The question has been lingering in my mind for a long time. I have a lot of reason to raise this question.

Two day ago, I wrote something like “HoloLens Is just One Step away from Reality.” The problem boiled down to this: how to miniaturize an already existing technology into a smaller pack, and make it wearable on the head. This is easier to say, but in reality it can take years for that to come to fruition.

I want to further emphasis the fact this technology already exists. Two things we know as a fact. In January 21, 2015, a selected group people from the press were shown the first prototype HoloLens, I am talking about a large FOV. In almost all HoloLens on stage demos, a camera wearing a special HoloLens was shown taking live videos, for that, I am talking about an amazing FOV.

While waiting for portable/wearable HoloLens with an amazing FOV, why not go another path: Sacrifice portability for a large FOV. I am getting the hint from the above picture. Obviously there is a cable connecting to some device on a strap. Could this be something related to FOV. Maybe, maybe not, I truly wish it is.

If you can give me a large FOV, I am more than happy to wear the strap. I believe many would agree.





Register to Experience HoloLens Yourself (Hint: Be Quick)





Microsoft HoloLens is scheduling HoloLens demos to the public! It will be register only, and at selected cities in the US and Canada. Check the list of cities and dates. You can imagine there will be a lot of people who would be interested. So, I think you have to act fast. Please go here to register before it is too late.

If you are attending any of the those, my suggestion is do your home work first. Get a list of questions you have, but you need try to find out answers yourself, because I doubt they will answer any of your questions. For example, find a way to measure the field of view before you enter, it’s not trivia.


HoloLens Is just One Step away from Reality







The above two pictures are two different HoloLens: the first picture shows the HoloLens worn by a camera, which is used to see the full field of view of Holograms. The second one shows the supposed to be a semifinal HoloLens product.

Here is the problem: the second one has all the forms and styles for a HMD product, but also has a small field of view. The first has a satisfying field of view that everyone is looking for, but no one wants to wear it.


Lets take this a little further: I would trade wear-bility for a huge field of view. If they release the first HoloLens, I would buy instantly. For the second one, I have to think again.

In any case, I think HoloLens is not far from reality.



HoloLens, What’s up?




On Tuesday, October 6, at 10 A.M. ET, we will reveal exciting news about Windows 10 devices.

Watch it live online or on your Xbox.


Some of you may have received Microsoft HoloLens’ email about Oct. 6 event in NYC. Yes, the email is from Microsoft HoloLen. What that means is the HoloLens will be on stage again. Another demo? Certainly, but I am pretty sure it is more than just another demo. Follow the above link and watch it live tomorrow @ 10am.


Develop Windows 10 Apps? Do not Use “Hamburger Button”



Windows 10 has been released for a full month. There is a good number of millions of people who are already using it. I believe the majority of developers are running it. Important thing to note is many stock apps have a so called “hamburger button”. That’s Microsoft effort to guide developers for next gen app style. I don’t appreciate it. Please read the article below to find out why.

The State of Hamburger Button

Historically, when Microsoft start something, developers will follow the same pattern. Not all the time, not when they do something stupid. One example of this is promote developing Windows Apps in JavaScript. The reasoning is many devs know JS but not C#. By enabling JS, many JS devs can go right on with JS, saving them from learning C#. It turned out a stupid decision, and people never followed.

The only valid point about hamburger button over pivot control is: with pivot, you can’t navigate to fifth page from first page, you have to go through pages in between. This is a silly argument, here is why: an app is a small software, in majority of apps we have seen so far, it’s never been a problem. In case you are you are writing a very complicated application (like MS Word), The command bar have buttons, which allow you to popup a context menu, which functions same like the hamburger.

Also, I don’t think anybody appreciate that you give a button at the top left corner.

In short, screw the “SplitView”, and the hell to the “hamburger button”. I predict these two will die matter you want it nor not.

Developers, do yourself a favor, use Pivot and Command Bar please, they are beautiful, smooth, and Metro.


What is .NET Native? What Does It Mean to Developers?



A new feature is introduced in .NET 4.6 and Visual Studio 2015, called .NET Native. To find out the details, please checkout an article on Windows Apps Team blog. And another on MSDN. Here I gave a short version.

Simply put, when you build .NET Windows 10 apps in VS 2015, debug build will be built into IL, release build to be built into native code. When building to native code, required .NET runtime is statically linked to the application. It will not use target machine .NET runtime.

Because the build result is native code,

1. It loads up faster.
2. It runs fasters.
3. It doesn’t care whether or what version of .NET is installed on target machine. It’s has its .NET runtime built in.
4. This is done automatically.

That is all.

(See, the same thing can be explained in a lonnnng blog post, or just a short one like this.)



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,





Unity, HoloLens, UWP, Apps and Games, How Are They Related?



Many people have asked the question: What tool do I use to develop for HoloLens? The answer has been clear now: Unity, Visual Studio and C#.

For games, yes, there seems no question. I have had a big question, since a few months ago, never got an answer: We know Unity is a game engine, what about apps? Can it help writing apps too? Because the whole point of writing apps for HoloLens is doing something in 3D, life like. From this Unity document, it appears that Unity does not only games, it does “Windows Store Apps” too.

For people who haven’t wrote games before, there is a big difference in how games and apps work. A game works in a game loop, events and renderings happen in frames. Apps are event driven, generally nothing happens if there is no events. In the old XNA days, there is a hybrid mode you can do Silverlight UI and game together. Under Windows 10, you render your game on top of a XAML element.

One thing I don’t know is how Unity create a Visual Studio project. Can you specify a game or an app, or there is no difference. I will try to find out.


Develop Windows Universal Apps – All You Need to Know



I have been writing about Windows 10 app development based Jerry Nixon and Andy Wigley’s A Developer’s Guide for Windows 10. They are a series of 7 posts, in the form of Q&A, covering main topics about Windows 10 development. Now I am putting them together so readers won’t have to search around.

Those writings are meant to give readers an overview of what’s new in UWP app development. But they may not enough to get you started right away. For some topics, you have look further on MSDN documents, especially read some sample code from here.

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

Develop for Windows 10 Q&A – (6) Background Tasks

Develop for Windows 10 Q&A – (7) Application Life Cycle


Recommended Readings: 15 Ways Visual Studio 2015 Enhances App Development



eWeek posted an article titled “15 Ways Visual Studio 2015 Enhances App Development“. It is in the form of a slide show.

It highlights the following features from Visual Studio 15:

1. Unified UI for Debugging, Profiling;
2. Visual Studio Online and Team Foundation Server
3. UWP
4. Light Bulbs Suggest Fixes to Code
5. Python Tools Help Develop Python Apps
6. Node.js
7. Application Insights
8. Visual Studio Code: Language support
9. Visual Studio Code: Code-Focused Editing
10. Visual Studio Code: Debugging
11. Visual Studio Code: Git Version Control
12. Visual Studio Code: Customizable UI
13. Visual Studio Code: ASP.NET 5 and Node.js Support

Please go to the link and browse through the slides and make sure read the descriptions below. For some of the topics, you may want to dig a little more from MSDN.



Lumia 950 Looks Good on New Leaked Images



Okey, I am joining the leaks and rumors party. Not only I am so busy to write any posts recently, but also because this is about the phone people have been waiting for too long: Lumia 950.

From WindowsCentral. They have pointed out in the leaked image that the bezels are noticeably smaller than the current Lumia phones.

One thing though, it does not look much like the last rendering of Lumia 950XL from the same site a few days ago. It is possible they don’t look anything like each other, but I would expect they would look similar. Also, the renderings of Lumia 950XL looks so much better.


HoloLens Is Pushed Farther Back?


New reports have pointed out new progress in HoloLens. It is rather disappointing.

Let me a few things here:

1. HoloLens will be released sometime in 2016. Last time they said “certainly within a year”, that was a month ago. The two time are overlapped, but you can see the change of tune. “Within a year” and “Within next year” are certainly two different things.

2. When it does, it will be for developers and businesses, which indicates even at that time, the FOV is still not fixed, or improved that much.

3. HoloLens is on a 5 year journey. What does that mean? The implication is obvious, and I don’t want to talk about it.

Other than disappointment, I don’t have anything to say right now.



Lumia 950XL Will Be the Best Looking Phone ever, If It Is Real



A render of supposedly Lumia 950XL from Windows Central makes people excited. It certainly looks great. Greater news is from people who saw the device in person, the image looks like real ones.

That’s good news, since the website claim they have credible sources.

Speaking of looking, Windows Phones have been the best in class, with exception of those made by Samsung. I am sick icraps, not even bother with Samsung garbage hardware, and the ugly user interfaces.

It sounds like this is real, and even have a release date of sometime in October. It’s a long drought for Windows Phone Flagships. 3 months is a long time to wait.


Developers: Everything Is Ready for UWP Apps, So Go ahead…



So, you have Windows 10 installed; Visual Studio 2015 is ready; and Windows 10 SDK and emulators are ready. That’s all you need to develop UWP apps for Windows 10.

Before you get started, some advices:

1. Install Windows 10 first.
2. Uninstall Visual Studio 2015 RC.
3. Uninstall Windows 10 SDK and Mobile Emulators.
4. Download, Install Visual Studio 2015 Community Edition, choose custom install and select Windows 10 SDK and emulators (I forgot about the exact name of the options, I will check later).
5. Set developer mode on Windows 10 settings.
6. You are ready to write code for UWP.

If you have followed my posts all along. You are good to go. I will try to get some examples. I may write some tutorials later when I get a chance.




How It’s Made: Holographic Videos Viewable by HoloLens



I posted a while ago that Microsoft had created Holo-Video studio to capture holographic video to be played on Hololens. Now Microsoft posted a video (embedded below) to show how that works.



Here is what happens.

In order to mask the surroundings, performance are done on a green stage with green walls. It takes 106 synced RGB and IR cameras to capture the live information.

It first generates 2.7 million per frame point clouds with both RGB and IR info. Then It generates 1 million triangles (finite elements) per frame topology data. After they apply certain logic to determine which area are more important, so increase density of the mesh, which areas are not important to decrease mesh density. The result is 20K per frame triangles. Finally, they wrap it with texture. And then put all information together, compress it, encode it to form a single file, playing at 12Mbits/sec.

The last number is important one. 12 Mega bits/sec is not small. It means a 5 minutes video takes up 360MB storage. It’s big, but not huge. Streaming at 12Mbit/sec is piece of cake on WiFi. Streaming over Internet can be an issue though.





Why Submit App Early Is Critical for Developers?




In just one day, Windows 10 will be officially released. The universal Windows Store will be open at the same time. I want to remind everyone, if you have UWP apps ready, it is important to submit them early, well, as long as you have setting the tools, and tested them properly.

There are two factors in into play here: because Windows 10 is new, many people would want to check it out. There is better chance that yours are getting looked at. More importantly, the UWP store would be tinny at the beginning, that’s a huge opportunity for your app to get a large amount a attention. Also your apps would stay in the new apps section for a longer time because of the length of the queue.

One thing we know for sure, once the store gets crowed, your chance of success is much lower.

If you don’t have an app designed for Windows 10, your 8.1 apps can be retargeted to Windows 10 UWP with no code change. I haven’t tried myself, but you should try.




Leaked Flagship Windows Phones Sound Great, But Something Is Still Missing



WindowsCentral had posted a monster leak a few days ago regarding the new Windows Phone flagship devices. Follow the link for details.

To sum it up: very thin (7-8mm), competitive specs, great looking, Windows Hello, Continuum. What else? Do you feel something is missing? I do.

This could very well be the flagships of last holiday. They skipped a year then showed something like this. That’s not what I am hoping for. How do you justified a year without a flagship device?

I had high hope for the new Lumia devices since the unveiling of HoloLens. I thought some really amazing technology must be there with the new Lumia devices.

It’s going to be competitive device on the market, but not even close to what it should be. Who is going to answer this question: why skipped a year no flagship devices?


Devs Can Submit UWP Apps on July 29 too




Many people are thinking about developing for Windows 10. If you have your apps ready, when is the store ready to publish your apps? The answer is July 29. For many developers, this date is important. Why? timing is everything. I don’t have to emphasis this more.

Please read Mary Jo Foley’s report for more details.

Important to note here, for .NET based apps (C#, VB.Net), applications are compiled with .NET native, it is special compiler that optimizes .NET applications to startup 60% faster, use 10-20% less memory. I believe better performance at run time too. Actually, starting with Windows 10 and .Net 4.6, .Net apps are architecturally different than before.

For current 8.1 apps to run on Windows 10. You need to retarget (recompile) to Windows 10. There won’t be code change needed (?).



Develop for Windows 10 Q&A – (7) Application Life Cycle



This Q&A is related to video #13 (Application Life Cycle) in Jerry Nixon and Andy Wigley’s A Developer’s Guide for Windows 10.

Q. What is application life cycle?

A. An application can only be in one of the following three states:

Running <=> Suspended -> Terminated (Not Running)


Apps get suspend when user click Windows Button, answer a phone call, or other events get app suspended. A suspended app can get terminated by the OS in low memory condition. A running app is usually terminated by user action.

Q. What is a suspended state?

A. A suspended app is not using CPUs and other resources. But it’s still in the memory space. If there are too many apps in suspended status that use too much memory, the system can decide to take some suspended app out of memory, so it is terminated.

There is no hard limit of how many apps can be in the suspended state, but there is a limited of 8 concurrent background tasks running at the same time.


Q. Rules in state transitions

A. The following chart give a full picture of all state changes, memory usage, and time limits in suspending an app.


To note: there is 5 sec max for programmer to save status before get suspended.

Desktop family apps are suspended when they are minimized. That’s interesting. Note here it doesn’t refer to the desktop program or Win32 program.

Q. How to handle app suspension in the code?

A. Handle suspending event: usually save program state, and data. Handle Resuming event to load state and data back to the program.

public App()
this.Suspending += (s,e) =>
//save data
this.Resuming += (s, e) =>
//load data

>> Visual Studio has a lifecycle events in debug state. It can help to create suspension,resuming and termination events in debug.

Q. What is extended execution?

A. Normally, when the OS suspend an app for any reason, the suspension will be done in 5 seconds, but you can ask to extend that, it is called extended execution.

There are two cases you want to do that: 1) you have critical data that takes more than 5 sec. 2) Some apps want to keep running while switching to another task, like turn by turn navigation app.

Remember: this is not 100% reliable, because you are not guaranteed your request to be granted.

private async void OnSuspending(object sender, SuspendingEentArgs args)
var deferral = e.SuspendingOperation.GetDeferral();
using(var session = new ExtendedExecutionSession{Reason =  ExtendedExecutionReason.SavingData })
session.Description = "Upload Data";
session.Revoked += (s, e) => { Log("Save incomplete"); };
if(await session.RequestExtensionSync() == ExtendedExecutionResult.Denied)
await UploadDataAsync(session);
Log("Save complete");
catch {Log("Save failed");}
finall { deferral.Complete();}




Visual Studio 2015 Release Event Recordings



Okey, I missed this one entirely. We know Visual Studio was released yesterday, and there was also a live event for the release. I wrote about it couple of weeks ago. Luckily, the video recordings are already available on channel 9. Check them out here.

There are keynote and sessions. I will dig into some of them see if I can find something interesting. For now enjoy the keynote.

– They put an icrap on stage, that really disgusted me. If you are like me, please just skip that part. ScottH, lighten up!