We have developed a basic algorithm for evaluating the real time nature of any individual API path. As we are profiling new APIs for inclusion in the Streamdata.io API Gallery
, we poll each API for at least 24 hours, trying to determine how much the data changes during that testing period. We then calculate the percentage of change in responses, and use that as our real time scoring for each API we track on -helping us determine if the API would benefit from being proxied using Streamdata.io
As we are processing more APIs, and applying our real time score to each API, we are realizing how many factors can influence whether an API possesses real time opportunities. Things like the time of day, or the week. Maybe specific dimensions of the API, such as which company or person you are requesting information about, each possessing different real time characteristics. Things like trending topics, may only enjoy heightened real time characteristics for a short period of time, or possibly after some other real world event. Real time is a very diverse, ever-changing, and evolving concept, depending on which APIs you are using, and which industry you are in.
Even with the obvious difficulties in determining a real time score, and the shortcoming it possesses, we are still applying, and looking to move the scoring process forward. The goal isn't to achieve a perfect score. The goal is to ask questions about real time, and what it means in different situations, and using different resources. Real time isn't boolean as many API providers like to think--you either have it or you do not. Real time isn't always happening NOW. Real time is always happening when it matters the most. It is happening exactly when it should. Our challenge is to help identify those moments, and relay them to exactly the people who need to receive them, and will appreciate them the most.
A real time scoring is just one variable in an evolving toolbox of metrics we are using to evaluate the APIs we profile
. It provides us with one way to look at the value an API delivers. Using the metric forces us to step back, and think a little more deeply about what a specific API path delivers, and how that can be optimized. Any API that possesses less than a 10-15% real time ranking won't rise to the top of the Streamdata.io API Gallery. Not because it doesn't have value, it is just because there are less benefit from proxying over polling the API. We'll still be indexing these types of APIs, but we'll be giving them a lower priority over the APIs that are changing more rapidly, and possess a more significant real time opportunity.