The term “realtime” is thrown around a lot in modern tech discourse, but what does it mean? In 2014 we started developing our nightlife app Yule with a seemingly simple yet sophisticated goal in mind: let’s build a system allowing people to get a realtime sense of a venue’s atmosphere anywhere in the world on any given night to help them decide where to go out. But what exactly does ‘realtime’ mean and how can we achieve it? Synonyms like “instantaneous”and “live” come to mind, or anything happening concurrently with one’s own perception of what’s happening “right now”. In the context of computing and app development however, the term seems to take on a rather loose meaning. Realtime in this context refers more to the rapid processing and dissemination of data, however it is received and computed (similar to original 1950’s definition). People ‘Go Live‘ they don’t ‘Go Realtime’. In fact we began developing Yule’s realtime scheme well before plans for Facebook Live were even announced. So how can you collect and use realtime data? Here’s three methods that we considered and applied while developing Yule.
1. User Generated Data
Include features that allow users to provide realtime information. Our original idea for obtaining realtime data (the notes of which still exist on an old sketchpad) consisted of a series of individual ratings which would have required interactions from users. “Is the venue Yule (fun) right now?” Is the music live?” “How long does it take to get a drink?” etc. While this is certainly a reliable way to get data and analytics, you put yourself in a risky and challenging position of being completely dependent on active users for your app to function in realtime. Engaging your users in this way can be a fun and easier method to implement at first, but will be way more difficult to sustain in the long run. We still use some user generated activity to factor into our Yule Score for venues, such as recent check-ins and number of Followers.
2. Developer Generated Data
Although time and resource intensive, generating your own content can be an effective means of dispersing realtime information to your users. You are the expert in your niche market, so prove it in realtime! For instance, we still manually collect information about events and happenings around the country, and choose to promote them in a special featured section in our app. We can tell based on Facebook posts that our favorite bar has trivia every Tuesday night, but they’ve never programmed that into a calendar, used hashtags, or made an official event for that activity- making it nearly impossible for a computer to gather that information. Using this type of research to your advantage is a great way to provide detailed and quality information to your audience, and requires a knowledgeable human to do so! However, this method can be very time consuming and even more difficult to scale.
3. Computer Generated Data
Although more complex, we believe computing to be the best method for generating realtime content and information. We were tired of seeing 3 year old permanent reviews on Yelp giving no relevant information to the current state of the business or atmosphere, so our approach was to develop a dynamic realtime rating system called the “Yule Score”. The Yule Score is an algorithm we constructed that takes various factors into account, such as the average ratings from Google and Facebook, the number of Yule followers, and even hours of operation (venues open later will naturally be more fun later in the evening than venues that have closed). The Yule Score is dynamic, meaning it can change based on current factors and over time. The only issue with this type of mass computing is that it generally requires associated data to pull from (part of why we collected data for 160,000 venues worldwide). The big advantage is that this type of computing can begin to get smarter over time. The system can learn trends based on user history and can even begin to recommend things in a more personalized fashion. Our goal is for the Yule Score to not only change dynamically, but to actually become a form of cognizant computing that can serve as your own personal realtime rating system for going out!