The maritime industry is laden with data. To get the most out of this 21st-century resource, maritime companies must be able to access the exact information they need—no more, no less. GraphQL makes it easy for people to ask for and receive nuanced combinations of data stored across multiple sources. Many leading organizations have already migrated to GraphQL. Spire is joining the ranks and bringing the maritime industry with it.
Keep reading to find out from our experts why we’re migrating.
Accessing data is as easy as asking for it
In 2018, tens of thousands of vessels collectively shipped nearly 12 billion tons of containers, iron ore, grain, crude oil, and all the other goods that keep the global economy humming. As the ships crossed the oceans, they generated another critical resource in an equally gargantuan measure: data. The industry is bursting with information as much as it is laden with cargo.
The core of maritime data is centered around AIS broadcasts, in which vessels transmit their location, bearing, and speed to satellites, nearby ships, and terrestrial receivers. This system also communicates messages that include key information about the ships, including name, flag, and draft.
“We collect about 200 million messages per day,” said Stepan Vyterna, a Spire Maritime software engineer. Industry data also includes manifest data, insurance reports, port records, weather forecasts, and so on, he explained.
In its raw form, this data is about as useful as iron ore. It needs to be parsed, organized and analyzed to extract its true value. But quickly accessing, filtering, and combining subsets of information from multiple sources has traditionally been a complicated process. Companies had to download entire datasets and then scan each set for the pertinent details before analyzing it. Not anymore, thanks to GraphQL.
The technical definition of GraphQL is “a query language for APIs.” Put more plainly, you can use GraphQL to ask a server a nuanced question about complex data from multiple sources, and it will return an answer with only the relevant information you requested.
“Since computers don’t speak English, you have languages and protocols,” said James Rivett-Carnac, engineering lead at Spire Maritime. “GraphQL is one of them that makes it very easy to ask questions and structure the data responses.”
Facebook engineers designed the language to handle the demands of running the social network on a mobile app. The company knew it couldn’t overload mobile phones’ limited bandwidth with troves of data, so it created a system that only retrieves data that customers need.
Today, many leading organizations have migrated to GraphQL, especially data-heavy services that need to display tailored information to each user, like Twitter and Airbnb. Now Spire Global is making the move, recognizing GraphQL’s potential to revolutionize maritime applications and solutions.
To better understand how GraphQL will support our maritime customers, we spoke to our two resident experts on the subject, Vyterna and Rivett-Carnac. Here is an overview of our conversations, edited for clarity.
Stepan Vyterna: Software engineer at Spire Maritime
James Rivett-Carnac: Engineering lead at Spire Maritime
How are maritime companies using industry data?
James Rivett-Carnac: There are a lot of clients that want to use data in different ways. One example would be people in oil and gas futures trading. They might want to know the draft on all oil tankers that are heading into port. That will tell them how much crude oil the ships are carrying and the likelihood that they will offload. The futures traders are going to want to have that information as soon as possible and as clearly as possible.
On the other hand, a country’s maritime safety authority will want to know everything about all the ships in its waters, for tracking and safety reasons. They’ll then provide the information to their various customers and stakeholders, like local coastguards, immigration control, or search and rescue crafts.
Stepan Vyterna: Exactly, people find different uses within all that information. The variations are endless. So basically, it’s a use case per customer.
How will running GraphQL help Spire’s clients? What can they look forward to?
Vyterna: Even though we have all this information, it might not all be useful to you. Let’s say, for example, that you just want to know a ship’s location. You don’t really care about its manufacturer or its flag, you don’t care about anything except where the ship is. In older systems, if you wanted information about the ship’s location, you’d also receive all the other information about the ship. You’d get all of it.
On the other hand, GraphQL allows customers to specify exactly what they want. A customer has the power to say: “I want a count of all cargo ships that were in Port NOLA over the last 24 hours, all cargo ships that were in the port at Santos, Brazil, and all the ships that were in Rotterdam.” The customer can describe this massive question, send it over, and the server replies with exact answers for each, whatever they may be. They get everything in one go.
I always say it’s like questions and answers. The more nuanced the language is, the more complicated the question can be, and the more refined the answer will be. GraphQL lets clients ask really complicated questions and get exactly the answers they want.
Rivett-Carnac: GraphQL will allow them to get data much simpler and faster with much lower latency. As I said, we have many different types of customers and they all want to easily access the data that answers their problems, solves their questions. The best language for that is GraphQL.
Vyterna: Like we mentioned, we have all of this data, and we are always gathering more. GraphQL lets us make new data available to all of our clients quickly and easily. The clients who want it can ask for it, and the clients who don’t need it don’t get swamped by new information.
As we add more connections to everything, it all becomes more useful. With GraphQL, clients can drill through it all within a single request. It allows clients to connect all of our available maritime information.
How is the migration process going? And what is the goal?
Vyterna: We are currently talking to our customers to understand their needs, we want to make sure we cover all their use cases and don’t miss anything. Once that is done, and once we have a good idea of how the product should look, we are planning to start tutorials.
Rivett-Carnac: Eventually, we are looking forward to offering our customers new products via GraphQL, and are confident this will dramatically improve their workflow as well as our ability to evolve our products faster.
What exciting GraphQL opportunities or outcomes are you looking forward to in the future?
Rivett-Carnac: I’m really excited about how much it will enable our customers to build better products. It’s also going to allow us to build better solutions to help the customers. It’ll be easy for us to evolve the product to answer and solve our customer’s problems.
If something is missing in what we have now, it’ll become very easy for us to add it to our service, like our weather data. We can add in live forecasts so clients can access predicted weather data on their route. That will allow customers to answer questions like: “Is a delay likely? Is something going to happen to a vessel?” Those questions are going to start to be answered.
Vyterna: Customers can even use weather data historically. For example, an insurance company might want to know the history of a vessel and see if it went through a hurricane or major storm. They’ll be able to structure and ask that question more easily than ever before.
Rivett-Carnac: There are so many fun questions. We can’t think of all of them. What we want to do is help customers build the product they want to answer their specific needs. GraphQL allows us to do that.