Hacker News new | past | comments | ask | show | jobs | submit login
Indoor Mapping Data Format (register.apple.com)
182 points by jonbaer on Oct 15, 2020 | hide | past | favorite | 89 comments

Finally there is a possibility to shop efficiently in a mall or grocery store:

Convert the indoor map to OpenStreetMap, import the map to OSRM (http://project-osrm.org) to make travel time calculations (for the time to walk between shops/isles), export travel-time matrix from OSRM and import this matrix to VROOM (https://github.com/VROOM-Project/vroom) for fleet optimization calculations (Me, wife and kids).

If you know the store already:

Use a list. Organize the list by row and items on row based on if you're moving to the back of the store vs to the front. Travel the path, making sure not to go down isles you don't need to, run over anyone who puts their cart in the middle of the isle.

Fast enough.

No no, this requires an app! More specifically an SaaS app that come with a monthly plan, yet crowd source to unpaid user the data input. My startup is currently rising series A so we can expand fast and took this market that will have an incredible impact on people’s life.

Oh boy I can hardly wait. I hope it costs less than a cup of coffee per day!

The monetization is by working with the stores to route you through specific isles

I was thinking that this sounds excessive but them I remembered that I recently relented and reinstalled Google Keep to make my grocery store shopping less chaotic by ordering items according to store sections. Waking past the same isle half a dozen times because you can't locate items is just too frustrating.

:) this is great (I kind of hate shopping).

But on a more serious note: I work a lot with this kind of software but the biggest problem is reliable map data.

It doesn't matter how fast your matrix is generated and how good your fleet/order optimization is, when a truck is routed in the wrong direction of a one way street because the map data was not correct, you might as well draw a route on a map yourself.

> I kind of hate shopping

Have you considered ordering online and let them deliver it at your doorstep?

I run an AR startup called Dent Reality - Apple lists us in their Indoor Maps program docs. We've built on IMDF to solve this for grocery stores, and provide shopping list navigation with maps and AR. 60 second demo video here:


Out of curiosity, do grocery stores use planograms [0], or more adhoc or static stocking methods?

My retail exposure is limited, and includes neither grocery nor clothing experience.

[0] https://en.m.wikipedia.org/wiki/Planogram

You may enjoy this start-up working on this problem, the demo is impressive. https://www.dentreality.com

Another startup in this space is Aisle411: http://aisle411.com/

Point is store owners want you to wander, discover & buy things you hadn't planned to purchase when you entered the shop.

Oh well :

  Apple reserves the right to do any of the following, 
  at any time, without notice: (1) to modify, suspend or 
  terminate access to the IMDF Specification or any portion of 
  the IMDF Specification for any reason;

Does this revoke our ability to use it?

I am curious about that. It is GeoJSON (RFC 7946). So you can certainly still read it, but you just can't access to the specification itself? You don't need the spec to reverse engineer it, its all in plain text.

There are other applications that implement S3 compliant storage. The interface is the same from the outside. Is that because Amazon can't do anything about it, or because they don't mind it? I would think implementing IMDF would be a similar situation. You can't reproduce the spec maybe, but your data can still be compliant with it?

Lets wait and see if its ok for google to user oracle API (java)

That makes it a non-starter for me. Surely there must be open alternatives to this - perhaps based on GeoJSON?

Looking at it, it seems like the data-format is an extension of GeoJson. What it adds on top is an ontology for indoor features.

Maybe one of the projects listed on the OSM Wiki suit your needs?[1]. I did not look into the Apple IMDF, but it sounds like it does almost the same as the Simple Indoor Tagging in OSM[2].

[1] https://wiki.openstreetmap.org/wiki/Indoor_Mapping [2] https://wiki.openstreetmap.org/wiki/Simple_Indoor_Tagging

IMDF looks like it is based on, or is an extension to, GeoJSON

Interesting that this is built on geojson which always uses WGS84 (the GPS coordinate reference system) as its CRS. WGS84 is pretty correct for almost everywhere but is not typically used for local applications like this because physical locations drift relative to it and the WGS84 geoid (shape of the earth) won't give you a guaranteed locally flat surface that actually matches the elevation of the surface. It looks like they are just using ordinal levels relative to the the ground floor (defined as the lowest floor with level access to the outside) which is sensible but I wonder how they will use GPS signal to identify which floor a mobile user is on since GPS has poor vertical resolution and its not clear how much elevation data will be encoded in this format.

I don’t think they are relying GPS for any indoor stuff. They are using WiFi triangulation, including a WiFi survey you can upload where you walk around with an app and say where you are on the map. WiFi triangulation should be able to pick out your floor pretty accurately.

> It looks like they are just using ordinal levels relative to the the ground floor (defined as the lowest floor with level access to the outside) which is sensible

Sensible, but reminds me of my university.

You walked uphill one floor from the base of the building to reach the main entrance, up a flight of stairs, along a short corridor, up four flights of stairs, along a long corridor, up another flight of stairs, and came out at ground level.

While RFC 7946 dropped support in GeoJSON for arbitrary CRS designation, the original 2008 standard supported it. It's a lovely interoperability problem that sometimes some applications will still produce GeoJSON in a CRS that isn't WGS84 and you get to shuffle it between tools until you get RFC 7946 compliant GeoJSON. There's obviously a small irony that in dropping CRS support to improve interoperability they added interoperability issues between "versions" of GeoJSON and what year an implementation was built and whether or not it support GeoJSON 2008 CRSes (and how it supports them because GeoJSON 2008 "kindly" let you specify the CRS at the FeatureCollection level, the Feature level, and the Geometry level and who knows what it meant when all three disagreed for the same Feature, so RFC 7946 was right to drop it because it was definitely a mess).

Its so that they can anchor these maps to the world so that when they manage to bring in global vision location services (ie lyft, google walking maps, Scape's VPS) they can use any data that exists already and combine it with everything else.

Yes it would make a lot of sense to allow various local coordinate reference systems. Large internal plans could look distorted in wgs84 and in some parts of the world more than others!

I'd assume some sort of fusion between RF triangulation (mobile network and wifi) and barometric sensor would get a proper floor fix.

You'd need to record the elevation of the floors as well relative to your RF reference frame though, otherwise you will know the phone elevation but not what floor it corresponds to. I would guess pico-cells assigned to particular floors in larger buildings.

I’d expect this to occur (recording the elevation data) during surveying to build out the dataset. To your point about pico cells, I could see 5G high station density being beneficial. Very excited to see how data from new Apple mobile device LIDAR sensors are going to play into indoor mapping (hoping it nukes the premium Matterport charges).

What makes "gambling" such a special case to take up 22 out of 71 categories (30%)


Casinos are purposefully hard to navigate and people tend to look for specific games; it’s an excellent use case for indoor maps.

Hey - something I actually have experience in. I worked for a company that made software for casinos to help them optimize the layouts of their floors.

Most of these bullet points are for table games, which should be more-or-less sensibly layed out and easy to find.

All the "purposefully hard to navigate" bits of a casino are the slot machines, and an unbelievable amount of work goes into physically organizing the floor to manipulate people into playing certain machines over others.

Here, Apple's lumped all of the slot machines into just two bullet-points: "gambling.slotmachine" and "gambling.slotmachine.highlimit"

> table games...should be more-or-less sensibly layed out and easy to find

It depends a lot on what you’re after and where you are. I can pretty quickly find eg a craps table in any Vegas casino, but I once wandered around Wynn Macau for literally 20 minutes to find the one table in that entire building. Coulda really used a map.

Right, just as milk and eggs are in the ‘back’ of modern supermarkets - the tension between these maps and other semi-hostile design patterns will be fun to watch in future architecture.

They likely see casinos as consumers of applications providing indoor wayfinding using this specification.

So "are casinos purposefully hard to navigate" or "is it a tool for casinos to make them easy to navigate"? Sounds contradicting.

Perhaps both. A tool to make it easy for casinos to navigate you past the things they want you to encounter while trying to get to something else. Much like the careful planning that goes into arranging supermarkets and similar to encourage impulse buys.

Heh “in capitalist America casino navigates you!”

Presumably you're being downvoted because reddit-style memes are generally not appreciated here.

That said, my understanding of the meme is that it's a commentary/exaggeration on a nation state where the state controls all aspects of your lives.

I don't think it's terrible to highlight the parallel to the way private businesses are actively profiling all of their users in order to manipulate their behaviour through advertising.

While the state has the ability to remove your freedoms, incarcerate you, or even potentially execute you (depending on which state you live in, be it a US state, or a different nation state) that private companies do not have in quite the same way, think about what the implications of losing access to their Google / Apple account would have on the average person, and what 'crimes' are required in order to deliver that 'punishment'.

Algorithms or not, we now live in a world where punishments in the form of loss of access to vital services are dished out randomly, by the same people who are profiling and controlling our behaviour. Whether or not this is by design, it's also supremely effective in ensuring compliance. When the exact rules and limits are known, they can be worked around and/or contested effectively. When they are unknown, a wider berth becomes necessary in order to reduce risk.

This feels like it could be subject of a more light hearted academic paper investigating if there is a juxtaposition between "In Soviet Russia" memes and the FAANG world we live in today, or if they're similar than we would generally/comfortably like to think.

Casinos have two goals: keep you inside as long as they can, and maximize the amount of that time that you spend gambling. If they can make it hard for you to find the exit but easy for you to find the craps table, that's a win for the house.

Could be two different audiences here. Staff and customer. And the use cases could go beyond pathfinding to event planning and such. Given how fine grained it is, I wouldn’t be surprised if they’ve already done work with some casinos.

They have an iOS app that helps you map a space/spy on WiFi networks (https://apps.apple.com/us/app/indoor-survey/id994269367. Requires registration).

It might be interesting to see what one can get out of that.

Neato. That's the app I helped build when I worked there.

If you can intercept the data on-disk you could look at the protobufs that were used to capture all the sensor data (WiFi, IMU etc). None of that data is particularly helpful. I think to get the files you would need to jailbreak & I believe WiFi scanning in code is similarly available anyway once you've jailbroken.

The map data that's available to you should just be the maps you've uploaded. The geolocation map building from the signals happens offline on Apple servers & the results of the map are publicly available on Apple's CDN for download by devices.

You can register here: https://register.apple.com/indoor

Hmm, using sphinx-doc without an attribution (which means they intentionally removed it) isn't very tasteful...

Why not publish this as an RFC? Why make it a special apple thing? ew

It's Apple's implementation of the RFC

YAPF: Yet Another Proprietary Format.

More like:

Yet Another "Format" Built Around JSON That Will Never Have Proper Validation, Schema Evolution or a Standardized API.

Tooling for N languages would come for free if they just used the JSON serialization of e.g. Protobuf 3

But isn't protobuf cluttered / verbose?

IMDF conforms to RFC 7946

= Geojson

iMDF: Apple's first foray into building supplies.

It took me a second there; nice one! :-D

I have trouble understanding how a sustainable business model can be built in indoor mapping?

- its indeed a pain to find which aisle your product is at but usually does not take more few minutes to find it (it's not like customers are wasting hours). For cases like neighborhood groceries, customers do develop some knowledge of where to find things are (stores change the ailes but not so much) so not much of repeat usage either.

- for grocery and shopping, isn't it good for the Shop to have customers spend more time in the store? "walk through the full store and pick what you want..." I would say some customers also enjoying browsing through the wares (the so called retail therapy)

There are definitely some real problems like helping passengers navigate through different gates/ terminals, large office buildings, finding the right department in a large hospital building and so on.

However given the investments needed in setting up the different IOT sensors to help the mapping + navigating effort, I really wonder if this indoor mapping can ever have a sound business model?

I think the target market might not be considered. Warehouse's, professional shoppers, emergency services strike me as prime customers. Maybe even office buildings to help people find meeting rooms and people's desks.

Surveilling store, airport, etc patrons without their consent or knowledge.

Anyone got proof that this is technically possible at a hardware level on a phone?

I'd expect one good implementation as proof, not hand waving it should work.

I can think of one place it would be useful - museums/indoors at large monuments and people would pay extra money to use the device so it would be funded. But I've yet to see it.

I used it as a proof of concept to test the service. Mapped an office space in QGIS. The IMDF format is actually quite nice and portable. It’s really just GEOJSON with some extra properties and can be migrated to any map/service that uses the format.

The actual blue dot generated after mapping is pretty spot on. A slight delay while it catches up to you when walking but honestly some of the best in class when it comes to performance.

Catch is, would it still work next week. Humidity changes, or the wireless situation changes, like someone turns their hotspot on. More people walking around. The carpet is vacuumed.

I can't find anyone using it IRL. I don't think the hardware supports it in an usable fashion.

The one reason you might look at all this now is for Covid-19 they have turned on some Bluetooth features, but I think they are still not available for non Covid-19 apps anyway.

The indoor maps feature was released a year ago, and is by now in active use at many transit stations (like New York metro, London Underground), airports (like LAX), shopping malls (like Westfield in San Francisco)... you can see a list of dozens of airports already mapped here, actually: https://www.apple.com/ios/feature-availability/#maps-indoor-...

I don’t think any of the indoor mapping relies on Bluetooth, why do you think that?

Great question. If I ever go back into the office it would be interesting to retest again.

The mapping is fairly straightforward and many of these technologies require periodic remapping. We’ve yet to test (or find) any tech that does a self healing as things change.

So, if one person activates the hotspot feature on their phone, does it render this inoperable?

Definitely no.

Depends by what you mean.

is it possible to map a room in real time just using cameras? yes. There are loads of SLAM and other reconstruction systems out there.

Is it possible to do all that an link it accurately to a position on a "world" map? not yet (not without the use of the cloud.)

Is it possible to share a map built on a phone so two phones have the same frame of reference? kinda, but its not practical using just phone hardware

(Using a visual positioning service its possible to get an accurate starting position and let the onboard SLAM figure out the rest. That way you can have each phone tracking the key points it sees and when a VPS update comes in, adjusting the local SLAM map to match.)

I`m curious to see if anyone here actually uses in-door maps, when and how much.

I just don't fell like there is a strong enough use case here, but I couldn't wrong.

Apple clearly sees use for it. https://register.apple.com/resources/indoor/Apple-Indoor-Map... says:

Who should join the Indoor Program

The Indoor Maps Program is appropriate for the owners or operators of almost any large venue, public or private.

[table omitted]

The exceptions are as follows:

• Convention centers: accurate indoor positioning requires a relatively stable Wi-Fi network to be present. In the exhibition halls of convention centers this is generally not the case as the Wi-Fi is commonly changed for each event.

• Warehouses: it can be difficult to provide accurate indoor in large empty warehouses. However, if the warehouse is filled with equipment, shelves or other objects this is less of an issue and indoor positioning can be made to work well.

• Any small building, office, shop or restaurant: the basic rule is that if the space is so small you can’t get lost, then indoor positioning is not appropriate for that location.

I work in the transit industry and one of the issues is mapping where equipment is installed in a standardized way.

Setting up a profile like this for transit based on GeoJSON would allow standardization of things like station maps, bus transfer stations, platforms, boarding points, faregate arrays, ticket vending arrays etc etc.

GTFS and GTFS-RT are starting to standardize the routing/vehicle/scheduling layer, so this would be adjunct to that.

GTFS has a (kinda) new 'pathways.txt' extension exactly for this.

The only use case I can think of is for large indoor shopping centres, like Westfield type things. Every so often I want to find a shop in their and have to use the digital maps they have but it would be cool if it was just in Apple Maps ready to go. Maybe the same for a University Campus etc.

But most days I have no use for it.

>it would be cool if it was just in Apple Maps ready to go

I have been to some Westfields (or perhaps it was a Simon property) where this is already available. I can attest that it is very helpful!

Handy in airports too.

I desperately want it for museums.

I couldn’t get what types those would be fit in but in general:

- train/bus stations: the biggest ones are notoriously hard to navigate, even for people going in everyday, if they ever have to choose another path. In the US I expect few of them, in EU/Asia there’s a good number of shopping mall size stations.

- aeroports, as a variation of the above, although I wouldn’t download a plan just for that

- government buildings / hospitals

- underground malls. They are particularly harder to navigate than standard malls.

Raph Koster (MMO designer and expert at Massively Multiuser stuff) a rough vision for what this type of tech is probably intended for. He discusses it briefly towards the end of his (VERY strongly recommended!) talk "Still Logged In: What AR and VR Can Learn from MMOs"[1]. His essay "How to build the scary future today"[2] goes into more detail.

The overly simplistic TL;DR is: the people currently trying to track everything you do online would really love a future where all your offline physical stuff had a unique serial number and regularly updated room/gps/etc location data. An indoor map of logical features would be a useful component in that future.

I'm sure there are other, more beneficial uses as well. All technology is dual use. To understand the full impact of a proposed technology, as Raph Koster advised[1], "Every feature must be looked at as a weapon."

[1] https://www.youtube.com/watch?v=kgw8RLHv1j4

[2] https://www.raphkoster.com/2014/06/11/how-to-build-the-scary...

It is one of those things too inconsistent to rely on at this point - most buildings do not have internal maps. If I can’t find the restroom or a place, I look for an analog map or someone to ask at this point.

A lot of companies (Apple included) have digital internal maps of their buildings and offices - that’s a use-case I’ve used, likely because I know it is available.

Its a gateway format.

Indoor maps are a stepping stone for getting SLAM/global visual navigation systems to work.

The holy grail is a "map" that works both indoors and outdoors, is accurate to the CM, updates itself, without GPS.

Its possible, but not without cloud services.

One application for this data that comes to mind is computer-aided narrated navigation for the visually impaired.

A challenge of mapping indoor areas for this application (and others) is the sometimes dynamic nature of interior environments.

Using some of the listed categories as examples, furniture is moved or replaced, vegetation is changed (or changes), vending machines are added or moved, escalators are temporarily out of service, food trucks by nature may move, and so forth.

I've used it in Google Maps and Apple Maps to find a particular shop in a mall, or an airport.

You might use indoor maps if you had more with better accuracy and relevance. For one thing this might help with finding where the vacuum bot got stuck and why.

I was hoping to use the technology to locate where in my home my pets are at any given time.

It's kinda funny this new Apple initiative's abbreviation/name also starts with an "i" ;-)

Why does it need a special format? Just make a layer in regular maps

This literally is geojson (RFC 7946), which they do say (but don't really spell out). geojson basically give you a way to describe a geometry, state its type (e.g. 'lake'), an associate some arbitrary properties with that region.

IMDF is Apple enumerating some feature types and stating what properties are required for them. In some fields this is called an 'application profile', a particular use of a format for a specific field of use.

Now that they have phones with LIDAR, they want everyone to standardize on their format. Good idea.

Hopefully this leads to an explosion of mapped indoor spaces.

I feel like this will be combined with new UWB features in iDevices, maybe with airtags when they come out, and the private and anonymized "crowdsourced" location data of iDevices. There could be some killer indoor mapping, locating and AR features on the horizon. Exciting.

For large scale uwb to work one needs to probably use TDoA - In which case we would probably need more than one tag. TDoA is private by default as the phone is a passive listener. That being said I don't believe any of this is really a plus for privacy per se.

I was thinking that iPhones in pockets would suffice as more than one tag, especially in public spaces with plenty of people. With that, the floor plan or walkable space could be mapped out programatically. I agree it doesn't seem to be a plus for privacy, but I hope, and expect that is a consideration. I was recalling the approach taken to find-my: https://www.wired.com/story/apple-find-my-cryptography-bluet... which seems to protect a users individual location while leveraging location of devices in the environment.

I am just speculating here, but I think this is part of a larger play to map out indoor space which could bring amazing new features to maps, "find my", and AR applications.

Applications are open for YC Summer 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact