Tag Archives: Location

Learn How Apple Tightened Their Hold on the AR Market with the Release of ARKit 4

Since the explosive launch of Pokemon Go, AR technologies have vastly improved. Our review of the iPhone 12 concluded that as Apple continues to optimize its hardware, AR will become more prominent in both applications and marketing.

At the 2020 WWDC in June, Apple announced ARKit 4, their latest iteration of the famed augmented reality platform. ARKit 4 features some vast improvements that help Apple tighten their hold on the AR market.

LOCATION ANCHORS

ARKit 4 introduces location anchors, which allow developers to set virtual content in specific geographic coordinates (latitude, longitude, and altitude). When rebuilding the data backend for Apple Maps, Apple collected camera and 3D LiDAR data from city streets across the globe. ARKit downloads the virtual map surrounding your device from the cloud and matches it with the device’s feed to determine your location. The kicker is: all processing happens using machine learning within the device, so your camera feed stays put.

36431-67814-ARKit-xl

Devices with an A12 chip or later, can run Geo-tracking; however, location anchors require Apple to have mapped the area previously. As of now, they are supported in over 50 cities in the U.S. As the availability of compatible devices increases and Apple continues to expand its mapping project, location anchors will find increased usage.

DEPTH API

ARKit’s new Depth API harnesses the LiDAR scanner available on iPad Pro and iPhone 12 devices to introduce advanced scene understanding and enhanced pixel depth information in AR applications. When combined with 3D mesh data derived from Scene Geometry, which creates a 3D matrix of readings of the environment, the Depth API vastly improves virtual object occlusion features. The result is the instant placement of digital objects and seamless blending with their physical surroundings.

FACE TRACKING

1_tm5vrdVDr2DAulgPvDMRow

Face tracking has found an exceptional application in Memojis, which enables fun AR experiences for devices with a TrueDepth camera. ARKit 4 expands support to devices without a camera that has at least an A12. TrueDepth cameras can now leverage ARKit 4 to track up to three faces at once, providing many fun potential applications for Memojis.

VIDEO MATERIALS WITH REALITYKIT

b3b1c224-5db5-4e38-97de-76f90c32b53a

ARKit 4 also brings with it RealityKit, which adds support for applying video textures and materials to AR experiences. For example, developers will be able to place a virtual television on a wall, complete with realistic attributes, including light emission, texture roughness, and even audio. Consequentially, AR developers can develop even more immersive and realistic experiences for their users.

CONCLUSION

iOS and Android are competing for supremacy when it comes to AR development. While the two companies’ goals and research overlap, Apple has a major leg up on Google in its massive base of high-end devices and its ability to imbue them with the necessary structure sensors like TrueDepth and LiDAR.

ARKit has been the biggest AR development platform since it hit the market in 2017. ARKit 4 provides the technical capabilities tools for innovators and creative thinkers to build a new world of virtual integration.

The Future of Indoor GPS Part 5: Inside AR’s Potential to Dominate the Indoor Positioning Space

In the previous installment of our blog series on indoor positioning, we explored how RFID Tags are finding traction in the indoor positioning space. This week, we will examine the potential for AR Indoor Positioning to receive mass adoption.

When Pokemon Go accrued 550 million installs and made $470 million in revenues in 2016, AR became a household name technology. The release of ARKit and ARCore significantly enhanced the ability for mobile app developers to create popular AR apps. However, since Pokemon Go’s explosive release, no application has brought AR technology to the forefront of the public conversation.

When it comes to indoor positioning technology, AR has major growth potential. GPS is the most prevalent technology navigation space, but it cannot provide accurate positioning within buildings. GPS can be accurate in large buildings such as airports, but it fails to locate floor number and more specifics. Where GPS fails, AR-based indoor positioning systems can flourish.

HOW DOES IT WORK?

AR indoor navigation consists of three modules: Mapping, Positioning, and Rendering.

via Mobi Dev
via Mobi Dev

Mapping: creates a map of an indoor space to make a route.

Rendering: manages the design of the AR content as displayed to the user.

Positioning: is the most complex module. There’s no accurate way of using the technology available within the device to determine the precise location of users indoors, including the exact floor.

AR-based indoor positioning solves that problem by using Visual Markers, or AR Markers, to establish the users’ position. Visual markers are recognized by Apple’s ARKit, Google’s ARCore, and other AR SDKs.  When the user scans that marker, it can identify exactly where the user is and provide them with a navigation interface. The further the user is from the last visual marker, the less accurate their location information becomes. In order to maintain accuracy, developers recommend placing visual markers every 50 meters.

Whereas beacon-based indoor positioning technologies can become expensive quickly, running $10-20 per beacon with a working range of around 10-100 meters of accuracy, AR visual markers are the more precise and cost-effective solution with an accuracy threshold down to within millimeters.

Via View AR
Via View AR

CHALLENGES

Performance can decline when more markers have been into an AR-based VPS because all markers must be checked to find a match. If the application is set up for a small building where 10-20 markers are required, it is not an issue. If it’s a chain of supermarkets requiring thousands of visual markers across a city, it becomes more challenging.

Luckily, GPS can help determine the building where the user is located, limiting the number of visual markers the application will ping. Innovators in the AR-based indoor positioning space are using hybrid approaches like this to maximize precision and scale of AR positioning technologies.

CONCLUSION

AR-based indoor navigation has had few cases and requires further technical development before it can roll out on a large scale, but all technological evidence indicates that it will be one of the major indoor positioning technologies of the future.

This entry concludes our blog series on Indoor Positioning, we hope you enjoyed and learned from it! In case you missed it, check out our past entries:

The Future of Indoor GPS Part 1: Top Indoor Positioning Technologies

The Future of Indoor GPS Part 2: Bluetooth 5.1′s Angle of Arrival Ups the Ante for BLE Beacons

The Future of Indoor GPS Part 3: The Broadening Appeal of Ultra Wideband

The Future of Indoor GPS Part 4: Read the Room with RFID Tags

The Future of Indoor GPS Part 4: Read the Room with RFID Tags

In the previous installment of our blog series on indoor positioning, we explored the future of Ultra Wideband technology. This week, we will examine RFID Tags.

The earliest applications of RFID tags date back to World War II when they were used to identify nearby planes as friends or foes. Since then, RFID technology has evolved to become one of the most cost-effective and easy to maintenance indoor positioning technologies on the market.

WHAT IS RFID?

rfid_works

RFID refers to a wireless system with two components: tags and readers. The reader is a device with one or more antennae emitting radio waves and receiving signals back from the RFID tag.

RFID tags are attached to assets like product inventory. RFID Readers enable users to automatically track and identify inventory and assets without a direct line of sight with a read range between a few centimeters and over 20 meters. They can contain a wide range of information, from merely a serial number to several pages of data. Readers can be mobile and carried by hand, mounted or embedded into the architecture of a room.

RFID tags use radio waves to communicate with nearby readers and can be passive or active. Passive tags are powered by the reader, do not require a battery,  and have a read range of Near Contact – 25 Meters. Active tags require batteries and have an increased read range of 30 – 100+ Meters.

WHAT DOES RFID DO?

RFID is one of the most cost-effective and efficient location technologies. RFID chips are incredibly small—they can be placed underneath the skin without much discomfort to the host. For this reason, RFID tags are commonly used for pet identification.

Image via Hopeland
Image via Hopeland

One of the most widespread uses of RFID is in inventory management. When a unique tag is placed on each product, RFID tags offer instant updates on the total number of items within a warehouse or shop. In addition, it can offer a full database of information updated in real time.

RFID has also found several use cases in indoor positioning. For example, it can identify patients and medical equipment in hospitals using several readers spaced out in the building. The readers each identify their relative position to the tag to determine its location within the building. Supermarkets similarly use RFID to track products, shopping carts, and more.

RFID has found a wide variety of use cases, including:

WHAT ARE THE CONS OF USING RFID?

Perhaps the biggest obstacle facing businesses looking to adopt RFID for inventory tracking is pricing. RFID tags are significantly more expensive than bar codes, which can store some of the same data and offer similar functionality. At about $0.09, passive RFID tags are less expensive than active RFID tags, which can run from $25-$50. The cost of active RFID tags causes many businesses to only use them for high-inventory items.

RFID tags are also vulnerable to viruses, as is any technology that creates a broadcast signal. Encrypted data can help provide an extra level of security; however, security concerns still often prevents larger enterprises from utilizing them on the most high-end merchandise.

OVERALL

RFID tags are one of the elite technologies for offering inventory management with indoor positioning. Although UWB and Bluetooth BLE beacons offer more precise and battery-efficient location services, RFID is evolving to become more energy and cost efficient.

Stay tuned for the next entry in our Indoor Positioning blog series which will explore AR applications in indoor positioning!

The Future of Indoor GPS Part 1: Top Indoor Positioning Technologies

GPS can help you get from A to B, but what can it do to enhance your indoor retail experience?  Over the next several entries, the Mystic Media Blog will endeavor on a five-part deep dive into the top indoor location technologies and how they will help form the retail experience of the future.

GPS has become ingrained in our everyday lives. Zoomers will never know of a world without GPS, the world of Mapquest and just plain old maps.

While Google Maps, Waze, and Apple Maps can take you from your home to your favorite retailer, finding your way around large stores remains difficult. As a business owner, you want to make the act of navigating the store as easy as possible so that your customers have a positive experience finding what they want. Indoor GPS can solve that problem.

In the past five years, indoor positioning has blown up. The global market for indoor location technology is projected to hit $40.99 billion by 2022, a significant increase from $5.22 billion in 2016. That’s a compound annual growth rate of 42%. With $2.4 billion anticipated in annual spending on beacons and asset tracking by the end of 2020, IPS or Indoor Positioning Systems are here to stay.

Here are the top IPS technologies in use today:

Bluetooth-5.1-Beacon

BLE 5.1 BEACONS

Bluetooth Low Energy Beacons are tiny battery powered devices that can connect to bluetooth-enabled devices like smartphones.

When it comes to indoor positioning, the more precise the positioning, the larger the investment required to achieve it. Bluetooth Low Energy beacons have become a technology stack because they require relatively inexpensive hardware to achieve an accuracy of up to 1-3 meters. BLE 5.1 beacons have improved upon that, providing 1-10 centimeters of accuracy with minimal lag.

BLE is extremely power efficient and cost-effective, minimally draining a phone’s battery  when connected, and can be used within WiFi access points or lighting infrastructure. Since they infrequently require maintenance, they are often used in high-traffic venues.

Locatify-UWB-Ultrawideband-RTLS

ULTRA-WIDEBAND (UWB)

Ultra-wideband (UWB) is a radio technology utilizing low power consumption for a high-bandwidth connection. UWB has extremely precise locating abilities, dialing in to locate objects within one centimeter.

In September 2019, Apple announced the iPhone 11 includes a “U1” chip with UWB technology; however, UWB technology is currently not widely available. Many consider it to be the future of indoor positioning technology, but the lack of existing infrastructure will likely delay mass adoption. Regardless, for applications like warehouse tracking where ultra-precise positioning is required, UWB is an ideal solution.

RFID

RFID TAGS

RFID stands for Radio Frequency Identification. RFID is a simple technology with a tag and a reader. The reader extracts data from the tag using radio-frequency electromagnetic field and identifies the object the tag is attached to.

Although RFID is often used in combination with other technologies for more precise indoor location, the market for RFID is gradually increasing. It’s currently slated for growth in the apparel and shoes space, with great potential in other markets such as healthcare and automotive.

augmented-reality-indoor-navigation-development

AR-BASED NAVIGATION

Indoor navigation utilizing Augmented Reality technologies can do more than just help you navigate a store, it can totally revolutionize the retail experience.  AR can create virtual paths and arrows to help navigate the store. For businesses, AR can improve internal processes by making it easier for staff to navigate offices and warehouses.

This technology is enabled by placing visual markers which can be scanned by the users using their mobile device’s camera. The phone will then guide the user through the retail experience and can be customized to help them find what they need.

In May 2019, the number of AR-enabled devices around the world reached 1.05 billion. Apple and Google are actively working on improving ARKit and ARCore, their AR software development frameworks. Beyond simply helping customers and staff navigate stores, AR will pave the way for personalized shopping experiences unlike any we’ve seen before.

CONCLUSION

While BLE Beacons are currently the leader in the marketplace, many technologies are competing to pioneer the most advanced and accurate indoor location technologies. Given the countless applications, the future is looking bright for indoor location applications! Tune into our next indoor positioning blog when we take a deep dive into BLE 5.1 beacons.

How to Optimize GPS and Background Processes for Android Oreo

As our past article Android Oreo Serves Up the Sweets will show, Android Oreo lived up to expectations upon release and gave both consumers and app developers plenty of enhancements to enjoy.

However, for app developers, enhancements to the UI aimed to conserve battery life affect GPS services and require changes to the code in order to optimize pre-existing apps for the new OS. Specifically, Android Oreo restricts apps that are running in the background with limited access to background services. Additionally, apps can no longer use their manifests to register for most implicit broadcasts. When an app is in the background, it is given several minutes to create and use services, but at the end of that time slot, the app is considered idle and the OS will stop running background services.

These changes directly affect apps with geolocation functionality. Android Oreo limits how frequently apps can gather location in the background. Background apps can only receive location updates a few times each hour. The APIs affected due to these limits include Fused Location Provider, Geofencing, Location Manager, Wifi Manager, GNSS Measurements and GNSS Navigation Messages.

Apps that currently use location services in previous Android OS’s will require an update to optimize for Android Oreo. Apps that use location services range anywhere from navigational apps like Waze and Google Maps to social media apps like Twitter, and food apps like Yelp and Seamless.

For apps that require frequent location updates, increasing the usage of the app in the foreground will ensure that the app gets frequent access to location information. In order to program this, developers must implement startServiceinForeground() instead of startService() in Activity class.

In Service class in onStartCommand(), developers can use the following code:

Screen Shot 2018-05-07 at 12.46.57 PM

Via StackOverflow

When foreground services running in the background consume high energy, Oreo fires an automatic push notification to the user informing them of the battery-consuming service. With the push notification in place, app users are more likely to uninstall apps that track location without conserving battery life, putting the onus on software developers to deliver battery-efficient apps. One of the biggest issues facing some app developers is ensuring that battery life is not sucked as a result of tracking location in apps. Check out our full rundown of how to build battery-efficient geolocation apps for supplementary reading.

The results of the limits put in place with Android O are increased battery life for the user and the necessity for app owners to consider how their apps interact with location information. Retaining a thorough understanding of how location information will be retrieved and used through out the development process ultimately benefits both software developers and consumers with better UI and more energy efficient processes.

Android O: What Google’s Latest OS Offers App Developers

On March 21st, Google unveiled the developer preview for the latest version of the largest OS in the world: Android O. For consumers, it means improved UI, design, battery life, & more. For app developers, it has far deeper implications. With release anticipated in Q3 2017, here is our rundown of the top takeaways about Android O for Android developers:

BATTERY LIFE

The main focus of Android O appears to be to continue Android Nougat’s initiative to reduce battery life. The OS will limit and manage what launched apps can do in the background when multiple apps are open. For example, if a user has a geolocation app open in the background while using another app, location updates will happen less frequently for the background app.

In technical terms, background execution & location limits have been reigned in, allowing the OS to better manage background activity. Background apps are defined by Google as apps showing no visible activity, no foreground service & not connected to a foreground app through its services. Location changes affect the following APIs:

  • Fused Location Provider (FLP): The local system service computes a new location for background apps only a few times each hour, according to the interval defined in the Android O behavior change. Foreground apps will not experience location sampling rates in relation to Android 7.1.1 (API level 25).
  • Geofencing: Background apps can receive geofencing transition events more frequently than from FLP.
  • GNSS Measurements: Callbacks registered to receive outputs from GnssMeasurement and GnssNavigationMessage will stop executing for background apps.
  • Location Manager: Location updates will be provided to background apps only a few times per hour according to the interval defined in the Android O behavior change.

NOTIFICATION CHANNELS

Android OS’s have always thrived in the notification department. Android O allows developers to group notifications into channels. Developers must select a channel for each distinct type of notification they send with the goal of making things easier and more customizable for the user. For example, a user can turn off the “Sports” notification channel from the New York Times app if they are already getting sports notifications from the ESPN app.

Developers can also allow user behavior to dictate notification channels. For example, the developer of a messaging app can create separate notification channels for each of a user’s messaging threads.

WI-FI AWARE

Wi-Fi Aware, or Neighbor Awareness Network (NAN), allows devices to discover and connect directly with each other without any other connectivity between them, like Wi-Fi Access Point or Cellular. Two phones can connect with each other with NAN and share data at high speeds without any additional apps or configuration, opening up tons of possibilities for developers.

Learn more about Wi-Fi Aware:

HI-FI BLUETOOTH AUDIO

Android O supports Hi-Fi Bluetooth audio. While the quality of the audio still depends on the speaker or headphone through which one listens, this is a major improvement for music lovers.

ADAPTIVE ICONS

Android O will introduce adaptive launcher icons. Adaptive icons support visual effects and can display a variety of shapes across different device models. Adaptive icons are a major tool for developers to guide the user’s eye and enhance UX. Check out Android’s developer site to learn more.

RELEASE SCHEDULE

via Android Developers
via Android Developers

The O Developer preview will run from March 21st to the final Android O public release anticipated in Q3 2017. Android will provide incremental updates in mid-May, June, & July. Until Q3 2017, the onus is on Android developers to prepare their future and existing apps for the latest operating system.

How To Design Battery-Efficient Geolocation Apps

The ability for smartphones to offer location services fostered major opportunities for app developers looking to create new apps and enhance functionality of existing apps. Tinder, FourSquare, & Waze use geolocation in the center of their functionality to great success. In combination, these three apps can help a user determine a dinner companion, restaurant of choice, and route to the restaurant. By delivering location-sensitive information to users regardless of where they are in the country, these apps appeal to massive audiences.

Programming geolocation services into an app will have a major impact on the overall quality of the app—and it’s easier said than done. Inefficient geolocation services drain device battery life and deliver inaccurate location data. When apps drain battery life, users uninstall them. In order to determine the best method of programming geolocation services, it is vital for app developers to know who is going to be using the app and how they are going to use it.

Location can be determined by a smartphone in a number of ways. The most widespread include:

GPS: All modern iOS & Android smartphones are equipped with GPS technology. GPS can use at least four satellites to determine a user’s location within about 60 feet.

Cell ID: When GPS isn’t available, phones can use Cell ID, information from cellular towers, to determine location. Cell ID is ideal in big cities with vast amounts of cell towers. Serial fans should be familiar with how cellular tower information can be vital in identifying one’s location. GPS & Cell ID can also work in conjunction to deliver a more precise GPS location.

Wi-Fi: Devices can detect Wi-Fi networks in the same way they can detect cellular towers, but Wi-Fi is more precise as Wi-Fi networks cover smaller regions. Devices can use RSSI (Received Signal Strength Indication) to refer signals from the phone with Wi-Fi points database. Devices can also use the user’s frequently visited places, a profile or wireless fingerprint based on locations in Wi-Fi networks frequented by the user. Wi-Fi can identify a user’s position within 2 meters of accuracy.

The decision of how an app should prioritize these three methods to determine location is a vital one. If users are located in the city, that means both dense Wi-Fi router and cell tower coverage will open up options. If the app is being used primarily in a domestic situation, Wi-Fi might be both the most accurate and efficient method. Apps designed for rural areas may have to use Wi-Fi due to lack of cell towers.

Geofencing Graphic from Applidium

GEOFENCING

Geofencing utilizes a device’s GPS to determine a user’s distance from a particular point. Geofencing can sense when a user enters within a set radius defined by the coordinates of its center. Geofencing will sense when users are inside or outside of a retailer and offer action prompts for either space. There are three types of geofencing:

Static geofencing is based on a user’s position in relation to a specific place. For example, a retailer app sends a message to users who pull into the parking lot of a mall containing the retailer.

Dynamic geofencing takes into account both a user’s location and a changing data stream. For example, a parking app sends the user a message about a recently evacuated parking space that the user is approaching.

Combined geofencing determines when a user enters into a location in relation to other users. For example, apps like Yelp, Facebook, or FourSquare send notifications if a friend checks into a nearby merchant .

CREATING BATTERY-EFFICIENT APPLICATIONS

Making a geolocation app battery-efficient is one of the biggest challenges  app developers face in the programming stage. Developers must create a comprehensive strategy based on their audience.

ACTION THRESHOLDS: Defining accurate action thresholds and use-cases for an app’s geolocation services will dictate its level of battery-efficiency. The more precise your location accuracy requirements, the greater the battery drain. Action thresholds and use-cases define how an app is intended to be used, allowing a framework for developers to enact an efficient model of internal processes for location determination.

COMPREHENSIVE TESTING: Testing the app aggressively to gather a large amount of data is the only way to know the most efficient action thresholds. The more the developer understands how an app is being used, the more they can refine their programming. After release, continuing to gather analytics from user behavior and refine tactics based on how users are getting value from the app becomes a crucial ongoing process.

POLLING FREQUENCY: One of the major variables dictated by action thresholds is polling frequency. The more an app polls for locations, the better its location accuracy. The necessary level of location accuracy varies depending on the app. The precision of location accuracy necessary for an app to be functional can vary. A restaurant app, for example, might be able to get away with accuracy from 200 meters to a few kilometers, while an app that locates friends might need accuracy within 10 – 20 meters.

Evaluating the most efficient polling frequency requires thorough use-cases and some creativity. Programmers can design algorithms to reduce polling frequency if an app hasn’t changed locations for several minutes. Programmers can also analyze the speed of the device and use this data to change polling frequencies. A developer may elect to increase polling frequency as a car accelerates to ensure they maintain location accuracy within a selected radius.

DEFERRING TO OS: Many major mobile platforms will share geolocation information at an operating system level. As a result, any app that is listening can receive location updates requested by other apps. By deferring to other apps already polling for location data, apps can minimize battery drain while still retaining acceptable location data.

Check out Apple and Android’s developers’ sites for more information on best practices for programming location services.