How to Read the Battery Level of Bluetooth LE Devices

Microsoft Surface Dial

At the Microsoft Build Tour in Vienna, I had the opportunity to present an enhanced version of the Bluetooth Beacon talk. With the Windows 10 Creators Update, Microsoft released a massive update to the Bluetooth LE capabilities of the OS. This finally allows developers to use the full potential of modern Bluetooth scenarios, including sensors, wearables and beacons.

At Build 2017, Microsoft released three new sessions explaining the capabilities of the new APIs:

  1. Intro to Bluetooth LE Explorer
  2. Unpaired Bluetooth LE Device Connectivity
  3. Bluetooth GATT Server

Even though the sessions reference example code and blog posts that should have been released together with the session recordings, still none of that is available so far. That gave me the opportunity to explore the new APIs based on the short documentation overview page and the videos. Continue reading “How to Read the Battery Level of Bluetooth LE Devices”

More Realistic HoloLens Spectator View Photos

HoloLens Spectator View - Photoshop - Screen - Darkened

When capturing a Mixed Reality scene through HoloLens Spectator View, the resulting photos and videos look amazing. But how to make them more realistic? The right blending mode in Photoshop helps.

Are Spectator View Photos Real?

Of course, the captured Spectator View photo is in many ways different to what you see in HoloLens. First off, it’s only 2D; in the HoloLens, you’d see a real 3D hologram. In this area, the live HoloLens view is much more impressive.

On the other hand, the actual resolution and field of view of the HoloLens is less than a (potentially) 20 Megapixel+ Unity rendering that shows holograms all around you. But the field of view is difficult and somehow unnecessary to simulate as we’re looking on the scene from a 3rd person perspective. Continue reading “More Realistic HoloLens Spectator View Photos”

Event: Mobile Developer After-Work #15: Next Generation Apps

Mobile Developer After-Work #14

Mobile Apps are no longer simple tools and games. They have grown to amazingly complex systems. Which ingredients are necessary to successfully develop a next generation app?

You will need Artificial Intelligence / Machine Learning. Only the best performance will satisfy your customers – or do you want to wait more than a few seconds in a mobile app? How can you visualize your user interface with HoloLens?

At the #mdaw15, you will learn how to develop and plan such apps with modern frameworks. Join the next After-Work event in St. Pölten for free at https://mobility.builders/

What is a Mobile Developer After-Work Event?

#mdaw events are mixtures of conferences with more casual meet-ups. Different expert speakers approach an overall topic from diverse perspectives. Afterwards, there’s plenty of time for networking and discussion amongst attendees – with snacks and drinks, of course.

The events target mobile developers and decision makers. The goal is to dive deeper into relevant and already known topic areas, as well as to keep up to date with the constantly evolving and changing toolset of the mobile world.

In the meantime, we can look back to 14 previous #mdaw events. Topics so far included business apps, digital healthcare, Xamarin, user experience or a Refugee Hackathon. We’re organizing the events with technology partners like Microsoft, Oracle, IBM, the City of Vienna and many others.

The community has grown to around 500 attendees, and we continue to get more and more developers on board with each event!

Together with Helmut Krämer, I’ve founded the community in 2013 and am proud that it’s still around. We’ve had a tremendous impact on the Austrian developer community so far. With the upcoming #mdaw15, we’re extending the reach geographically and host our first event outside of Vienna, to reach even more developers!

How to set up HoloLens Spectator View, Bonus – Troubleshooting

HoloLens Delete Space

Did you follow the blog post series on setting up Spectator View for HoloLens? The following issues frequently occured when testing Spectator View. To make your life easier, make sure you check these troubleshooting tips & tricks:

HoloLens Sharing Offset

Between your two HoloLenses, there can be some offset in the placing of the holograms. In one HoloLens, you can for example position your hologram directly on the table; on the second HoloLens, it’s one meter next to the table. Continue reading “How to set up HoloLens Spectator View, Bonus – Troubleshooting”

How to set up HoloLens Spectator View, Part 7 – Mixed Reality

HoloLens Spectator View - Sample Photo

In the final part of the HoloLens Spectator View series, I’ll add the final tweak to my sample project and show you what kind of photos the Compositor actually saves on your PC. Getting to this point has taken a lot more work than expected (+ a lot more blog posts, too!), but I still feel that the journey was worth it! You can finally get great photos and videos of the mixed reality experience on HoloLens.

Script Execution Order

Sending the updates didn’t work right away, so I searched for other changes that the sample does differently from my app that might be responsible. One such case was the Script Execution Order.

In Unity, the order in which scripts are initialized is arbitrary. When debugging, I found an issue that an instance of a class wasn’t available yet when a script wanted to access it. Continue reading “How to set up HoloLens Spectator View, Part 7 – Mixed Reality”

How to set up HoloLens Spectator View, Part 6 – Custom Messages for Sharing

Spectator View - Custom Messages class instance

To make Spectator View work in our own HoloLens project, we actually have to understand how it’s working, what it is doing and how it is related to the HoloLens Sharing Experience. Turns out that there is a lot to do in our app (including transmitting custom messages) to prepare it for the full Spectator View experience!

Synchronizing Objects: Anchor & SceneManager

The Spectator View is based on the Sharing experience of the HoloToolkit, but it contains its own “fork” of the code. Instead of us having to manually decide & code which objects and interactions to send via network messages (as in the normal Sharing use case), the fork of the Spectator View transmits some data by default to our DSLR-mounted HoloLens.

However, it’s important to understand that if you use Spectator View, you also need to integrate most of the Sharing code. Essentially, a lot of code is duplicated between the two frameworks, with only slight differences in order to give the DSLR-mounted HoloLens a special role, plus the PC running Unity also needs to connect in order to correctly render the scene. Continue reading “How to set up HoloLens Spectator View, Part 6 – Custom Messages for Sharing”

Video: Everything You Need To Know About Bluetooth 5 & Beacons

Bluetooth Beacon Session by Andreas Jakl

With the first Bluetooth 5 devices just released (first and foremost the Samsung Galaxy S8), Bluetooth Beacons like Apple iBeacon and Eddystone by Google gain a lot of potential. Increased range means future beacons will cover a much larger area, without increased power consumption. With the payload increase of beacon advertisement frames from 31 bytes to 255 bytes, the amount of information transmitted by beacons can substantially increase.

In my session about Bluetooth Beacons at the Mobile Developer After-Work #14: Creating Immersive Environments, I provided a short update about the latest news. Unfortunately, recording of the live session at the event failed. Therefore, I’ve re-recorded it – you will miss the live experience, but I did have a little more time for more detailed explanations of some important facts, so it’s well worth watching again even if you have been at the #mdaw14 Event!

The 45 min recording is now available on YouTube.

Continue reading “Video: Everything You Need To Know About Bluetooth 5 & Beacons”

How to set up HoloLens Spectator View, Part 5 – Sharing your Scene

SpectatorViewManager - Prefabs

In the previous part, we’ve re-compiled Spectator View using the latest HoloToolkit sources. At the time of writing, this resulted in a compile error, as the HoloToolkit for Unity has seen a breaking change since Spectator View was released.

In this part, we’ll first fix the Spectator View code, and then set it up correctly in our own Unity scene. Then, we’ll need to check several other things: how to launch the Sharing Service, adding Internet Connectivity and the Holographic Camera prefab.

Fixing the Spectator View Code

From the two choices at the end of part 4, of course, we go with the adventurous road to fix the code 🙂

Turns out that the AddSurfaceObject()  method from the base class SpatialMappingSource  was changed. Instead of directly creating a Surface Object from a mesh, this process was now split up into two parts. There is one method to create the surface object, and another one to add it. Continue reading “How to set up HoloLens Spectator View, Part 5 – Sharing your Scene”

How to set up HoloLens Spectator View, Part 4 – Preparing SpecatorView Packages

Getting Spectator View to run with your own app is obviously the most important step. How to include the required tools – including Sharing – into your app using the latest versions?

More specifically, I’ll add Spectator View to my playground project, which is mainly for placing a hologram in the room (with a few other useful scripts). Currently, this hologram is a nice, life-size skeleton from the Unity asset store.

HoloToolkit-Unity & Holographic Academy

The Holographic Academy course 240 explains how to set up your project to include Shared Holograms. It’s a good idea to work through the tutorial, as it will show you some of the basics of what is needed for Spectator View.

However, as with most of the Academy tutorials, it’s quite old. The HoloToolkit has evolved since then, and the demos often have little resemblance to what your project would look like if you start from scratch.

Therefore, for your own project, first clone the HoloToolkit-Unity GitHub repository to your local PC. Open the project in Unity and export the Assets folder to a new package according to the instructions.

Once this is finished, import your newly made, fresh HoloToolkit-Unity package into your own Unity project. Alternatively, you can of course use one of the pre-packaged HoloToolkit-Unity releases, which is slightly older, but is usually a good compromise. Continue reading “How to set up HoloLens Spectator View, Part 4 – Preparing SpecatorView Packages”

Bluetooth Beacon Interactor 2 for Windows 10

According to ABI research, 8.2 million Bluetooth Beacons have been shipped. In 2021, the yearly shipments will have increased to an astonishing number of 565 million beacons per year.

The Bluetooth Beacon Interactor for Windows 10 is a free & open source app for scanning your environment for Beacons. It was the first Bluetooth Beacon scanner app available for Windows 10 and works on PCs, smartphones and even the Microsoft HoloLens.

New Features in Version 2.0

The app has just received an update to version 2.0, which adds the two most requested features:

  • URLs in Eddystone URL frames are now clickable. You can directly open the web site linked to by Physical Web beacons.
  • Thanks to a community contribution by kobush, the app now also supports beacons compatible to Apple iBeacons / Proximity Beacons.

Download

You can download the source code of the Bluetooth Beacon Interactor and its base Universal Beacon Library at GitHub. If you would like to scan your surroundings for Bluetooth Beacons and analyze their contents, you can directly download the app from the Windows 10 App Store.