AI and AR-powered Digital Twins
Vera transforms buildings into intelligent digital twins with embedded AI and real-time data, creating environments where people and devices operate seamlessly.
Vera enables context-aware applications for efficient operations and personalized, engaging experiences in office buildings, retail stores, healthcare facilities and much more.
Vera enables context-aware applications for efficient operations and personalized, engaging experiences in office buildings, retail stores, healthcare facilities and much more.
Industries
Indoor Navigation
Building Management
Building Management
Services
iOS
Android
Android
Team
1 Android
1 iOS
1 iOS
Country
Israel
Year
2022
Duration
2.5 years
Technologies
Swift
Kotlin
ARKit
ARCore
gRPC
Challenges
PERFORMANCE
Performance was a big challenge. Running ARKit in 60fps, rendering and communicating with a webview, and processing each frame on-device is very resource-heavy.
RENDER SYNC
Syncing the ARKit (camera) frames with the webview frames was a challenge as we wanted the content to move in sync with the world.
ASYNC STATE MANAGEMENT
Managing the state of the ARKit, webview, GRPC connection, many background services, and the UI was a major challenge.
SDK
Creating an SDK that would allow other developers to create their own experiences on top of Vera was a challenge.
Solutions
METAL
We ended up using Metal for rendering, and after off-loading many operations on background threads, we managed to get from 13fps to 60fps.
We ended up using Metal for rendering, and after off-loading many operations on background threads, we managed to get from 13fps to 60fps.
FRAME SYNC
We implemented a custom frame sync mechanism that would not render the ARKit frame until webview wouldn't finalize it's pipeline, and it worked like a charm.
We implemented a custom frame sync mechanism that would not render the ARKit frame until webview wouldn't finalize it's pipeline, and it worked like a charm.
THE MALL
We ended up implementing a custom asynchronous architecture called 'The Mall' on top of Combine and Coroutines that would fully manage all the state of the app.
We ended up implementing a custom asynchronous architecture called 'The Mall' on top of Combine and Coroutines that would fully manage all the state of the app.
THE MALL
We ended up building Native iOS and Android SDKs, and a React Native wrapper on top, along with web SDKs.
We ended up building Native iOS and Android SDKs, and a React Native wrapper on top, along with web SDKs.
Results
Very communicative and pleasant to work with, highly motivated and eager to provide the best possible solution. They respond quickly, have great skills, and vast relevant knowledge. They provided excellent plans and timelines for a complex project.
Oren CohenVP of R&D @ ResonAI
Explore Other