SwiftRiver v0.1.0 Apala Released

Ushahidi
Apr 30, 2010

Today it's with great pleasure that we announce the release of the latest SwiftRiver build, v0.1.0 Apala. The new build marks the end of a 30 day sprint to add a whole host of functionality. The largest of these was rewriting the core data processing engine to be faster, more extensible and leaner (with fewer lines of code). Speaking of extensibility, this release includes two very important improvements to functionality: our API and Plugin Architecture. Both are integral to the development community interested in developing third party applications with us. SwiftRiver is a free and open source software platform that uses a combination of algorithms and crowdsourced interaction to validate and filter news. Here's a summary of the important things of note about this latest build...

New Core written in PHP, optimized for speed and structuring data

API

Plugin Architecture

Semantic Tagging (Who, What, Where)

Support for noSQL DBs like Cassandra

Extensible Source Parsing Service

Swiftriver Web Services

Server Requirements...

Unicode support

Apache 1.3 or greater

PHP version 5.3 or greater

MySQL version 5.0 or greater

PEAR extension for PHP

Download SwiftRiver v0.1.0 Apala by filling out this form or download it directly. Developers can contribute by following us on GitHub.

Plugin Architecture

The Swift Plugin Architecture allows for the modular extension of SwiftRiver. Currently it can be used to hook incoming data (preprocessing) or for capturing user events (like editing tags or content). Currently it's undocumented, but over the next few weeks we'll release documentation for any developer interested in SwiftRiver. Below you'll find a list of plugins we've shipped or will be shipping soon: TagThe.Net - This is a service that helps you in tag textual content on and off the web. Google Translate - This plugin allows you to aggregate content from blogs written in languages other than english. Right now all content is converted on English where it can continue to be used. This module adds support for 52 languages. Afrikaans, Albanian, Arabic, Belarusian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Filipino, Finnish, French, Galician, German, Greek, Haitian Creole, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Macedonian, Malay, Maltese, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Welsh, Yiddish Data Abstraction - Our new data abstraction plugin allows you to choose which database you want to use. It maps our applications object model into formats that work with whatever db you choose. Currently it only supports MySQL but in the works are options for CloudDB, MongoDB, PostgreSQL, SQL, SQLite and Cassandra. OpenCalais - Another service that allows for semantic tagging of long-form content. (coming later in May) SilCC - Semantic tagging for Twitter, text messages and short form content. (coming later in May)

Extensible Source Parsing Service

The Swift Source Parsing Service (SiPS) is another new extension architecture sperate from Plugins. It acts as bridge between source content types and the SwiftRiver object model. This allows for us to theoretically structure an infinite number of data types. For example, say someone creates a new web app down the road that doesn't exist yet. All we have to do then is write a SiPS module that deals with content specifically from that web app. Twitter, YouTube, Bebo, Okurt, Facebook, RSS, PFIF, EDXL...it doesn't matter what the content is, we can now support it. This meant that we had to drop some functionality initially, including Twitter and SMS but don't worry, these will be written back in fairly quickly.

Announcing Web Services

SwiftRiver Web Services (SWS) are RESTful services that provide functions that we've abstracted from the Swift core to run in the cloud. For instance, a user might want to write a Twitter auto-tagging plugin for Drupal or Wordpress, using our service SiLLC. Or someone else might want to ad location data to incoming SMS messages in their app using SULSa. The reasons for us are twofold: first it helps the speed of our core app by distributing functions across multiple servers, and secondly it lowers the bar for those of you out there looking to create cool apps. SiLCC (Persistent Tagging) - SiLCC (Swift Language Computation Core) is a cloud based service for parsing text and extracting relevant keywords. To use it, you must first apply for an API key. Input the API key into your application and then send stream content to our service. As we receive your content, we parse it, extract relevant 'tags', then send it back to your app. From there user interaction with those tags (editing or removal) helps to improve our algorithms. SiCDS (Duplication Detection and Suppression) - SiCDS (Swift Content Duplication Service) is simply a duplication detection service. Use it to post feeds to our API, we'll eliminate duplicate posts, non-unique retweets etc. and return a 'sanitized' JSON feed. Extremly useful for apps with aggregation at the core. Although these services are open and free, to use them you'll need to apply for an API key. If you are interested in alpha testing some of the SWS applications please register here.

A New Partnership

We're also pleased to announce a formal partnership with Thomson Reuters/Open Calais. This partnership allows us to leverage the Open Calais semantic tagging platform to add rich contextual data to long form content aggregated in Swift. From news articles, blogs, and web pages we can now extract data like the who and what in addition to the where and when from information about events. For those of you interested in developing plugins or other apps for SwiftRiver please join our mailing list here to propose ideas. To download SwiftRiver v0.1.0 Apala click here.