With us today is Bob Bickel, co-founder of Ringside Networks, a company that develops tools and systems for Social Networking.
DDJ: Bob, is a Social Networking application like Facebook any different than any other mainstream Web app?
BB: It is. As the illustration below shows, Facebook (or replace Facebook with the Ringside Server) is really focused on adding the social context to the application.
Readers can check out our training slides for details.
DDJ: Can you explain what "social networking application servers" are? Are they any different than more familiar app servers?
BB: Social networking application servers are not general application containers like a traditional app server. They serve the social context, and do the integration with other social networks. Here is a picture of the various components.
DDJ: Can you briefly describe the Ringside Networks open architecture?
BB: We come from a very open background, and this project reflects that. Fundamentally, we think that there are many applications, and certainly most websites that can make use of social networking. Therefore, we had to design something that could fit into anyone's environment easily. There are a number of aspects to this:
- Web Developers. We make it very simple for web developers to add simple tags that do social things -- like getting a list of friends. This makes the platform very open to any web developer.
- Application Integration. We use an open REST interface so any application can call us over the web just like they make calls to other web services from Google and Amazon and Facebook.
- Data Integration. There are many aspects here, but being able to integrate with a websites already existing set of users and adding a social context (who is related to whom) easily is one of the key aspects to creating an open platform for social networking.
- Social Network Integration. We initially focused on Facebook because of their size and huge number of applications (over 22,000 now). We allow any Facebook application to run on any website. We are also implementing Open Social and are hoping to achieve the same level of functionality by the production release in June.
- Open Domain Specific Languages (DSL). This is a very new concept that will become very powerful and popular over the next three years. We basically allow developers to create new tags that are specific to their application. The tags can then be easily used by web developers. Facebook has a set of tags called FBML (Facebook Markup Language), that do things like list a set of friends and their profile pictures. Our Open DSL engine allows any application to add their own tags. For example, the Voomaxer running log application could create a tag that gave the amount of mileage a runner completed last month. Then any running store could simply add a tag to their web page that had a welcome message saying "Congratulations on running 100 miles last month".
DDJ: Does the Ringside server support APIs, other than solely Facebook?
BB: We have our own extended set of APIs that do things like security. This is important since Facebook only supports one security model, but an open platform like our's could be used for any number of security environments -- like a hospital with HIPPA compliance, or a business with only certain managers having access to certain financial information. In addition, we are implementing the OpenSocial API to support the other social networks like MySpace and hi5 and Orkut.
DDJ: Where can readers go for more information on these topics?
BB: Our business-oriented website is www.ringsidenetworks.com. Our developer and community-oriented website is www.ringsidenetworks.org. If people want to get their hands on the product, go to the download page at http://wiki.ringsidenetworks.org/display/ringside/Download. We do daily builds, so people can get their hands on the absolute latest technology if they want. We also recommend first time users go thru our Trail Map guides -- starting with building a "Hello World" app and going up in complexity from there to write a real social app for suggestions and then adding your own API and DSL tags.