Launch
Data and services
Ljubljana Realtime currently feeds on four different services: Twitter, Foursquare, Instagram and Flickr. It would be great if we could add other services as well, but Facebook doesn't allow public geo search, Google+ doesn't support geo search at all, and other services either aren't appropriate or don't offer an API which would allow us to get their data.
These four services are visited once a minute, and all posts in a radius of around 5km from Ljubljana city center are found: tweets, Foursquare trending venues, pictures from Instagram and Flickr. A variety of information created with different purposes on different occasions.
The area covered by Ljubljana Realtime. Different services require different searches, based on maximum allowed radius.
The application
These posts are displayed on a map, which was the original idea for the prototype. The last hours of posts on Google Maps, which can be zoomed and filtered at will. But the whole display felt a bit chaotic (still does), since there are many posts in vicinity of one another. That's why we knew we need to group similar posts, and we did this by the post's nearest Foursquare venue. Then a funny thing happened: this simple solution enabled something magnificent, something that could be much bigger than the whole posts-on-a-map application.
Anyways, since geo location is heavily connected with mobile devices, the application is responsive and fully compatible with most smartphones. Perhaps there will be native apps as well at one point.
The stream
Back to the magnificent. Originally, a Twitter bot was intended to come with the application (I love making those), which would tweet all trending foursquare venues to promote the application. But this seemed a bit lame, we needed to add something cooler. Something that would add more value and detect an event before a 4sq trending venue would happen. This is where the mentioned grouping of posts by venue came in handy, and the logic is as follows: if two or more people publish form the same venue in a single hour, this could very well mean something's happening there. And in most occasions, this turned out to be true. Read further for more details.
Discovering an event before a trending venue on Foursquare.
The event discovery stream is available on Twitter and Facebook.
The problems
Besides unstable APIs, the biggest problem we are currently facing is the geolocation itself. GPS chips in mobile phones are often not accurate enough, so people are located tens or hundreds of meters from their actual location. Combine that with the amount of Foursquare venues out there (imagine tall buildings), and you can understand Ljubljana Realtime sometimes has problems with connecting a post to a venue. Not to mention duplicated venues. We've eliminated some of this effect by only using venues with a certain amount of checkins and different users, but this will surely be the greatest challenge the project is facing in the future.
An event which is not.
The results
Problems aside, in most cases, Ljubljana Realtime event discovery works great. In a week or so since it's online, it discovered many events that were happening in Ljubljana (night run to the Castle, an athletic meeting, one of the first iPhones 5 in Slovenia, a public garage sale in park Tabor, etc.), and on many occasions, it discovered these events before a trending venue happened on Foursquare. Which is great. The potential is obviously there, and newer, improved versions and algorithms will surely behave even better.
A few of the great discoveries Ljubljana Realtime made.
The plans
This project is being developed in an agile way, where the application's behavior is constantly being monitored and changes deployed rapidly according to discovered strengths and weaknesses. The MVP (minimum viable product) is there, and with a few minor modifications, Ljubljana Realtime will soon be ready to expand to other cities and regions. Now it's up to you to help us, and it's pretty simple. When something magical is happening on and you are tweeting about it anyways, be a sport and click the arrow to include your geolocation in the tweet. By doing this, you will help others to discover what's going on in our beautiful city.
That's it for now, party on.
p.s. for all the Slovenians out there: the coordinates embedded in a tweet are pretty accurate even though Twitter will say you are in Italy. If you look at the picture of the map below the tweet, there's a polygon around Italy which sadly contains Slovenia as well. Hopefully, Twitter will remove bug someday.