So, hello everyone, my name is Maxime Volovinkel and today I'm going to talk about indoor
environments and indoor positioning systems.
Or more specifically, how I want users to be able to easily discover these environments
and systems.
Now, before I get into details, I'll quickly go and introduce myself, so I'm researcher
at the fan of his dead bristle, which is not super far from here, and my interests
may include indoor positioning systems, linked data, and the interoperability of positioning
systems.
Or more specifically, how I can exchange data between positioning systems in a way that you
don't use too much information.
Now, to help me with this, I created several open source projects and the main one being
open HBS, which is an open source hybrid positioning system framework.
Later to this, I have a Pozontology, which actually describes what a positioning system
should be, what it should look like, and also important for this stock is the Sembeacon
Specification, which is a semantic beacon specification, but I'll explain that in more detail.
Oh, sorry, if I'll explain that in more detail later.
Now with these three projects, I basically want to create a world where indoor environments
and indoor positioning systems are as easily discoverable as their outer counterparts, which
at the moment is not really the case.
So if we take a look at the current state of geospatial data, we see that we have a very
service-centric approach, where we have a lot of services that collect and crowdsource geospatial
data, and you have applications that can easily interface with those services.
Now some services may contain more data or more details than others, but in general, you're
always capable of obtaining some form of data from a particular service.
But the same can not really be said about indoor environments.
There are also services that crowdsource indoor data, but it's more fragmented and not
complete, some data is also private, some data requires very difficult procedures to obtain
the data.
So for an application, it's very difficult to rely on a single service to obtain indoor
information.
And to solve this, well, a similar issue or a similar story can actually also be seen
with positioning systems, because outdoors we mainly rely on global positioning system
or satellite-based positioning systems, but indoors we have a lot of different types of
positioning systems, and there's not really a standardization that tells you hey, look
for this particular building, you should use a particular positioning technique.
For over these indoor positioning systems, often require knowledge about the environment
or the infrastructure in that environment, which, again, goes back to our previous issue
that this information is very fragmented across different services.
What you then often see is for positioning systems that they have a very proprietary application
that's proprietary for particular building, a particular framework, or even just a single
positioning system for a single event conference or meetup.
So what I want to do is I want to be able to discover this data without forcing building
owners to put their information on a particular service or changing their data formats to
another format.
And if we talk about data discovery, we mainly see that we have global and local, this
discovery, global is quite known, it's like a geocoder or geospatial query on a database
where you just input a location, you get information, but with local discovery, I want
to get more approximated based discovery where we can find information when we are actually
at the location.
And in the case of a positioning system or an indoor positioning system that makes sense,
because we need a positioning system when we are at a particular location and at that
point, we might as well also get some information about the environment.
And I call this geospatial-centric data discovery where the actual data is presented by the
very locations rather than using predefined services.
But there are some challenges.
How do we find this data without, again, relying on a centralized server and challenge
to, once we get data, how do we actually understand it and how do we know how to use this
particular data?
Because there are a lot of different formats and specifications to represent indoor data, of
course.
Now my solution is a bit of a two-step solution where basically our buildings will
advertise themselves or proximity-based advertising themselves.
And we can actually ask, hey, look, I want more information about you, can you give
me some information.
And instead of directly giving some information, it will instead give you a source of
information that you can then query.
Now instead of just getting data and not being able to understand it, it will also provide
you with a metaphorical handbook or a manual on how to actually read or understand that
particular data.
And to do this, I have several open source projects.
And the first one I want to mention is OpenHPS.
The OpenHPS is an open source hybrid positioning system framework, created in TypeScript.
And it's very low level in the sense that you can create your own algorithms and change
your algorithms in a pipeline.
It provides you with a data structure to create positioning systems, but it doesn't provide
you any applications or any UI elements or any UI editors to create these positioning systems.
It's really a backbone for a positioning system.
The reason why I want to mention OpenHPS is because one thing we noticed when developing
OpenHPS is that despite all the standardizations, if location data and geospatial
data, there's still the issue of positioning systems and not being able to exchange data
in a way that you don't lose too much information.
And to solve this, we created an ontology called Pozontology.
Now, if you don't know what an ontology is, or if you've scared about ontologies, don't
worry.
I will explain it very briefly in a moment.
But in general, it's a description of what a positioning system should be, what algorithms
and technologies that are included in a positioning system, what the purposes of the positioning
system or what it's actually tracking, and also where it is deployed, the environment or
some other infrastructure that's required for this positioning system.
Now, again, if you don't know what an ontology is, take it as you describe certain data
by using other existing data that's on the web.
So basically, what we do is we create a web of information or a semantic web of information
where individual concepts are described by using other existing concepts.
So if you don't know what an indoor positioning system is, for example, you might know
what a positioning system is, and you also might know what an indoor environment is.
Combined it together, you know that it's an indoor positioning system.
And by doing so, we can actually provide some additional context about something.
Now, this is a very visual representation of how it would look like.
I will not go into full detail here.
But for example, here we would have a subject that has certain position, a velocity and
position, a velocity orientation and position.
It has certain observations created using a particular positioning system, created in
a certain reference frame, but it's a graph representation of what this data would actually
look like.
And now, importantly, we come to the sembeacon specification and surrounding tools.
Now it's built on the notion that indoor positioning systems often make use of beacons,
or in most cases they make use beacons, but these beacons are bit useless without an additional
database.
So, what sembeacon's does, it's advertisers and namespace and instance identify it.
For an application and namespace and instance identify it doesn't give a lot of information.
If you know something about this namespace and instance perfect, but if you don't know anything
about it, then you just know that there is a beacon with a certain namespace, but you
have no information.
So what you can actually ask sembeacon and say, hey, look, I see that you're here, but I
don't know who you are.
Can you give me a bit of information?
And it will respond with a URI.
The simple URI that says, hey, look, this is where you can find more information about
me.
And this URI actually leads them back to this ontology or this linked data representation
or this semantic web of information, where we actually describe the beacon, the environment
to beacon is located in, but also other infrastructure, other devices, other points of interest
that are within this environment.
And we can then use that information to visualize or to discover these in your maps, but
we can also use that to discover other devices and points of interest in that piece.
Now these namespace and instance identify it as not just random numbers that we chosen.
They are actually based on the resources or the URIs that you will access.
So if you see two namespaces or two similar namespaces, you know that you only need to access
the URI of one of them to fetch the information.
And it's also backwards compatible with I beacon and alt beacon, which are common specifications
used for indoor positioning systems.
So you can use a beacon, a send beacon to provide contextual information about I beacon in
your building.
And it's not that you have to replace every existing infrastructure or every existing I beacon
in a building to create or to create a contextual or geospatial centric discovery.
Now, as I've already said, it's a Bluetooth specification, but it's actually a combination
of alt beacon and a destone combines together with some additional flex.
And what you actually have with a beacon is that you can advertise signal, passively, a beacon
can just send signal, hey, I'm this, I'm this, but it can actually also respond to a scanner
request.
And with that response, we can send a different response than our normal advertisements.
And we utilize this to send an additional URL compatible frame that contains this short
resource URI that then resolves to this link data information.
We also have a Bluetooth 5-pointed specification that doesn't use this scanner response.
It's also not backwards compatible, but in this case, we can use, make use of the extended
range to broadcast that information.
And the flex basically provide more contextual information about URI, so that an application
knows what to expect from the online data.
For example, it can indicate if the beacon will contain a position, if it's part of a positioning
system, or if it requires authentication to fetch the information.
We also created the mobile application, and originally it started as a very basic way to
simulate and scan for send beacons and to get some basic contextual information.
But we kept on expanding it a bit more and more so that it can also visualize these
in-nour environments that it can visualize the points of interest in those environments,
the different floors of a building, the floor maps, and so on.
And lately, we also expanded it so that we can link it to a personal data hold, call
it, which is a vault, a personal data vault, where you can store data, binary data,
but also linked data.
And this case, it's cool because you can actually make certain data available for a group
of people, or a particular user or a particular application, and you can provide authentication
to that date.
So the send beacon will still advertise the URI to everyone who is in proximity of the building,
that only a certain type of people or certain people with certain rights will be able
to access the information.
Now, this might look a big scary, this is a very basic example that I will explain it
in a second, or very briefly explain it in a second.
It's a simple RDF representation of what a single floor would look like, where we have
a floor map with schema.org, we have the geosparkle OGC, where we have the well-known text
to represent a certain geometry, but this is just one example.
The idea is that we can use the link data to say, hey, look, instead of writing everything
like this, we just say, hey, look, I have an IMDF file that contains information about
my indoor environments, do with it what you want.
And maybe you can even provide multiple different data formats if they are available, but
what we want to do with this link data representation is just make it clear or make it
interoperable, that applications will be able to see, hey, look, what data is available,
how can I access it, and if it doesn't know how what IMDF is, it can learn more about it
by traversing the web and learning more how to represent or read this particular data.
Now, the roadmap for the post-ontology, at the moment we have an open call for issues,
or open call for examples or use cases, where we want to learn more about what do you want
to, or what do you expect from a positioning system, but you expect from a vocabulary
that can describe these positioning systems.
We recently released a new version of our ontology design, which is also available now and
get up, so if you have any feedback on that, that's also welcome.
For Sembeacon, we have a few tools, so we have of course our mobile application that I
showcased earlier, we have also there an open call for examples or implementations of unsupported
indoor environments, so if you, if the application does not support a certain type of environment
that you think should be supported, then it's definitely welcome.
We are currently only have Android support, but we are partially implementing the iOS support.
We have an Arduino library that can scum for Sembeacon, and that can also make the Arduino
act as a Sembeacon, but at the moment it has no retrieval of the data, so it would be
cool if the embedded device is still capable of obtaining a small subset of information
such as the location or a simple geometry of the environment, because that would be quite
cool.
In a specification itself, it's also available on GitHub, so if you have any feedback there
for improvements, that's also welcome.
Let's do a quick demo, brace yourself, it's life demos, it's always a very tricky thing
to do, but normally everything should go as planned, so this is a, oops, let me quickly
go to my application, so I have two applications running, one to simulate the beacons,
and this is the application that can actually scan, if I'm at the moment, if I would scan,
I will see beacons that are available in this environment, which at the moment does not seem
to be any, but I can start, for example, by advertising a few IBICs, so I will advertise
a few IBICs, you'll see them popping up here on the screen, but contextually, they don't
tell a lot, I can see how far they are, I can click on them, see, okay, yeah, it's 16 centimeters
away, but that's about it, I have no information about it, but what I can do is when I
now enrich or when I now broadcast a send beacon, I can provide information about the
send beacon, but also about other beacons within that same environment, in this case, if I
start the send beacon, then hopefully, then hopefully it will pick up the thing, or maybe
I'm broadcasting a bit too much with one second, let's try this again, okay, welcome to
live demos, okay, with one second, wait, I'm not clear everything, okay, wait, okay, so that's
still going, so in general, the idea would normally be that it should pick up the phone, but at
a moment it's working there, I would say, it's working, it's working, and we'll investigate
the issue, but normally the idea would in that case be that we actually, I will quickly,
still have a second, I will quickly do a very quick emergency up-info clear data that's always
a good thing to do, I was testing it so much and it worked, so that's the issue of, okay,
okay, let's start again, come, come, come, beacons, beacons, beacons, and now it is not working anymore,
okay, well, I will leave it to that, but what you can do is you can download the application,
you can try it yourself, and that way you can also investigate it a bit more in detail,
because as you can see, life demos, you have to brace yourself, because you never know what's going
to happen and where it's going to fail, so yeah, that brings me already a bit to the end of the
presentation, so if you want to learn more about Pozo OpenHPS of Sandbeacon, you have some sites here,
they're also available on the PhosDem sites, the QR code will just go to the slides, so you can also
find it on the PhosDem website, but if you have any questions, let's me know, thank you for your attention.
So are there any questions? Yes? How tightly is it tied to Bluetooth?
Well, could you also run into my files, so the type of routers could announce themselves
epic, it's only a large scale. Well, at the moment, well, the ontology or everything behind the scenes,
that's on the web, so the only thing you need there is that browser doesn't even require these
Sandbeacans, at the moment a specification is only made for Bluetooth, but we can indeed investigate
seeing that the logic behind it is actually on the web, we can actually, of course,
have a way to advertise you arrive via Wi-Fi, and that would also work the same way.
We just have to make sure that it's, again, not something proprietary, that then requires
a specific protocol, because of course, that would defeat the purpose again, of course.
Yes? How does it relate to 5G and the function make sense, that are standardized?
Well, the thing is that this, the DS5G, it will work for the positioning, it will also, in some cases,
work for indoors, but at that point you don't get, you still don't get the environments,
and this environmental data is still necessary or required. Let's imagine that you're at
false them, you have to find this specific room. It's one thing to know, ah, you have this gray
building, and your location is exactly somewhere in this gray building, but it's another thing to
actually see the hallways, to see the rooms, so that you know where to enter, and it's not a door
that was over there, where what I was trying, when getting into this specific room.
So, you still need to wait to discover these environments, and seeing that eye beacon and beacons
are still widely used for indoor environments, it seemed like an appropriate use to also just
provide additional context alongside these vehicles. If a phone has access to access to the air pressure,
yes. So, the same beacon is just the way to advertise, hey, this is available, and it can then
use or describe a positioning system that's used indoors, and that positioning system can say,
hey, look, I require data about Bluetooth beacons, I require data by Wi-Fi access points, and
I require data about pressure if that's available. But that's inside the description of what you
want to represent. This. Yeah, I have a building that I have this
important. No, we tested it at our own building, because we also noticed, for example,
that's for OSM, there's indoor data, for example, at my campus, but there is only one floor,
of one building that has this indoor data, and it happens to be the floor where scientists or
computer scientists are located. So, yeah, that's of course an issue, but what I really want to
to focus on with this is, I don't want to force someone to use OSM or want to force someone to use
a specific service. I just want to say, hey, look, create it, however you want. If you have
cut drawings, be my guest, but I just want to make sure that a building owner can still decide,
hey, look, I want to make this available public in whatever data format that I want, and not in
a specific data format. Yes.
I don't have to know if you have a comparison between the system that you have to read it,
and then you have to have other finishing commercial projects that have tried to solve this
in this position, and advertising won't be in terms of indoor data format.
We have such an comparison.
So, they have some of the voice management shopping modes, and all the data can also be public.
If I would go back a bit to the example of how indoor data is available, what we often see is
data can be available either via services, or often it's a requirement by a city or municipality
to collect in this data. In Belgium, I know it's not super public always to get this information,
but I'm not aware of 100% sure how it isn't China, but it could be that for example,
that data is available for the public, or to those applications that want to use it.
So, I'm not sure in that case, but I assume that it's more of an on a governmental level
that they provide access, but I cannot really 100% be sure about that.
Yes.
What's wondering, if it could be used to track people, or if you have already,
taking measures to maybe interest privacy?
Well, there is what we do have in the mobile application, quickly go there.
So, what we currently have is a deliberate tracking of people.
So, what you can do, if you, for example, connect it to your own solid pods, is that you can
advertise yourself, or your business card, so to say. So, what you can do is you can say,
hey, look, I look into my solid pod, it contains information about you, and you can basically
walk around advertising you as a beacon, as a moving beacon, which then allows others to
easily get your contact information, but this is deliberate way of sharing your information.
Now, of course, it can always be used negatively. Now, in the case of the mobile application,
or the way how I envision it, the mobile application is just a way to scan for static beacons
fixed with a fixed position somewhere in your environment. If it would be used the other way around,
then it's usually for the purpose of tracking. For example, you could put the beacon on a dog,
so that when the dog is lost, that they can get a contextual information and see,
oh, this is the owner's contact information and so on, but that's more for deliberate tracking.
You would actually have to advertise yourself in that case to share that information.
Any other questions, or I think, at the end of the time? So, again, thank you.