Monday, May 17, 2010

Building a cloud sharing service one Google technology at a time

This post is part of the Who's @ Google I/O, a series of blog posts that give a closer look at developers who'll be speaking or demoing at Google I/O. This guest post is written by Navin Kumar, founder and CTO of Socialwok, a business sharing and social collaboration service for Google Apps running on Google App Engine Java. Navin will be demoing Socialwok as part of the Developer Sandbox and will be speaking on Google Buzz.

Socialwok is built using a wide range of Google technologies like Google App Engine Java, Google Web Toolkit (GWT) and Google Data APIs. It also utilizes HTML5 and open standards based social protocols like PubSubHubub, ActivityStrea.ms, Atom, OpenID, and OAuth.

I would like to share with you some of the cool stuff we have built using this technology stack and our experiences with building Socialwok on the Google Platform.

1) AppEngine with Java language support. Google AppEngine provides a fantastic deployment platform for web applications that scale tremendously. When Socialwok won the DemoPit Award at the TechCrunch50 and presented on stage, the thousands of new signups and posts were handled beautifully and smoothly during this period. Also, with Java language support and support of Java standards like HTTP servlets and JDO, we gain the flexibility to take our app "behind the firewall" as necessary.

2) Google Web Toolkit. Google Web Toolkit allows us to develop powerful Ajax-enabled web applications using the Java language. Forget about dealing with browser quirks and handrolling thousands of lines of Javascript. Also, with AppEngine Java, we can write all our code in one language (Java), enabling us to rapidly deploy features our users love.

3) HTML5 and Mobile. At Socialwok, we make extensive use of the latest web standards. From your iPhone or Android, you can access our highly optimized mobile web interface, which uses HTML 5 offline capabilities to deliver "nearly" native performance from your mobile web browser. HTML5 also allows us to embed video using very standard HTML layout and Javascript. We are very excited about many more upcoming features, and Socialwok will take advantage of several of them. Here is the Google Web Toolkit blog post on how we leveraged GWT and HTML5 to build Socialwok mobile web version in under 4 days.

4) Google Docs and Google Calendar support. We use the excellent GData libraries to provide sharing of Google Calendar and Google Docs in our feeds. These Java libraries are fully capable of most of the functionality you would expect in these excellent Google products. If you use Socialwok with a Google Apps Premier domain, you can even upload and share arbitrary files in Google Docs through Socialwok. Here is the Google Apps developer blog post on how we use GData libraries to preview Google Docs and office documents in the Google Docs viewer.

5) OpenID login using your Google Apps account. Socialwok utilized OpenID and OAuth to authenticate you and access your Google Apps data. This means that no passwords are stored with us, and you have complete control over the access of your data. Socialwok can automatically detect your Google Apps domain via your email address or you can even use /a// on our URLs just like Google Apps. In fact, you can login in multiple Google Apps domains in the same browser with Socialwok. See our blog post for more info.

6) Rapid deployment using Google Apps Marketplace. Socialwok can now be added to any Google Apps domain by the domain administrator with one-click using the Google Apps Marketplace API. Once added to a domain, Socialwok will appear in the Google Apps control panel of the domain and can be launched from inside the Google Apps user interface. See here for screenshots of how Socialwok will look when added through the Google Apps Marketplace.

7) Pull in external feeds using PubSubHubbub. Socialwok uses PubSubHubbub to pull in external Atom and RSS from many different sources. We can even import your Google Buzz feeds into Socialwok. For more information, see our Social Media Suite tour.


8) ActivityStrea.ms in and out. Socialwok can not only bring in ActivityStrea.ms from outside sources like Facebook, Google Buzz, and many others, but also produces ActivityStrea.ms output through our API. This means that you can use Socialwok with any ActivityStrea.ms capable client, and export this easily to other external sites.

9) At the forefront of new Social Web standards. In addition to ActivityStrea.ms, Socialwok also supports WebFinger to automatically discover your Google Profile and your Google Buzz feed. We will also support many more standards like Salmon and others in order to enhance our integration with the rest of the social web.

10) OAuth access to our API - Coming Soon! Soon you will be able to access our own API using OAuth. Users will still be able to login using their Google credentials and you can build your very own apps to take advantage of the great integrations we do with Google Apps.

11) Install it right now from the Google Apps Marketplace. Join over 10k+ Google Apps domains that have already installed Socialwok! Experience Socialwok for yourself and install it your Google Apps domain today.

If you're attending Google I/O 2010, you can chat with us about Google App Engine, GWT, Google Apps Marketplace, or any other of the technologies described here in the Developer Sandbox on May 19 and 20. We look forward to seeing you there. For the latest updates on our experiences at Google I/O, check out our blog and follow us on Twitter.

1 comment: