Exploring data in the third dimension

With VisionInvestor we explore what data visualisation looks like in the era of spatial computing

# spatial-computing

Project overview

Technologies

  • Swift Charts
  • RealityKit
  • SwiftUI
  • Polygon API
  • API Layer (Financial News)

Tools

  • Xcode
  • Apple Vision Pro

Key features

  • Multiple windows for chart comparison
  • 3D charts
  • Drill into more granular data with chart annotations
  • Fully accessible native charts using screen readers for the visually impaired
  • Market news

Contributors


What we wanted to build

  1. A third era data dashboard app for a spatial computer that could be used for business intelligence, monitoring tools, or an asset manager
  2. Look into the feasibility of building custom 3D charts

Methodology

It all started with an idea... and a grid

Most dashboards are just a collection of widgets that each display different data visuals like maps, graphs, or tables, etc. This is what we had in mind for this prototype, following some other examples as inspiration.

We chose to make a stock market asset manager because getting stock market data is relatively easy and mostly free but this kind of tool can be easily applied to other use cases such as business intelligence, security monitoring, and other data visualisation tools.

Apple's native Swift Charts is perfect for building good looking, highly accessible charts that work across their platforms.

Widgets as windows

Until this point the app didn't feel very spatial, a key advantage of the Vision Pro's infinite canvas was that you could use as much space as you needed and with a stock market app that would mean making it resemble a day trader's Bloomberg terminal as closely as possible.

I added the ability to "pop out" widgets as windows from the main dashboard so that a user can have a holistic view of the charts showing the performance of various portfolios and assets within those portfolios, more like a day trader's desk. Providing a great, highly visual way to compare data.

The third spatial dimension

To add even more spatial sugar into the mix I built a custom 3D bar chart using a series of procedurally generated rectangles with the heights being relative to the respective allocations of the positions.

For now this is a fairly basic 3D chart but with visionOS 2.0 coming out in a few weeks, there are more ways to add depth to pre-existing 2D path with a new extrusion API for SwiftUI.

This would make it easier to procedurally generate custom 3D shapes on the fly including more complex ones like charts with discrete data.


The prototype


Not just for playing the markets

Power(ful) BI: for rich business intelligence

An obvious use case for this sort of thing is in Business Intelligence (BI) tools, similar to Microsoft's Power BI or Google's Looker, where having high level access to dynamically changing data is key.

Business leaders could hold spatial meetings with FaceTime and present their dashboards in a virtual space using VR.

There is a great example of what is possible shown by the Numerics app.

Financial advice

Financial advice would be a good use case for this kind of tool. Things like wealth management and mortgage advice could be more easily discussed leveraging the visuals for showing projections.

Cyber security dashboard

Like the work we did for Tesco a while ago, this kind of tool would be useful for tracking cyber security threats and overall system health across your digital resources.