Hootsuite Web App integration with VK

Hootsuite a is household name for anyone working in the social media marketing space. More than two hundred proud Hootsuite workers have contributed to building the most advanced social media marketing tool on the internet. While being tightly integrated with a limited number of social services, Hootsuite also offers a so called “App Directory”. The app directory aims to attract a broader selection of social service integrations created by third-party developers.

VK is the most sophisticated and widely used social network in Europe. As Hootsuite's online marketing and social media initiatives rapidly gained traction in the region, Hootsuite's support was flooded with requests from large and medium-size businesses craving a VK-capable solution. That is why the Hootsuite team decided to partner with Pieoneers Software Inc.

We have no shame confessing that the project was a challenge. No one had ever seen a VK web-based client and the required integration level was far deeper than assumed for web sites. Therefore a more advanced solution would be required and, as a result of tight collaboration with the VK team, we were granted deeper access the API in the way that had never been allowed before. The app we created along with Hootsuite and VK can be considered the first ever full-featured VK web client.

Since the application serves tens of thousands of users it would not have been efficient to place a middleman server in between Hootsuite and VK. Instead, our approach in this case was to let the API requests be performed securely on the client side — this made the app far more efficient. The integration technologies we used included Ruby on Rails, KnockoutJS, and OAuth.

This abstract flow describes the interaction between the Hootsuite users, the app server and the VK API.

+--------+                                +------------+                                +--------+
| |--(A)- Authorization Request -->| | | |
| Client | | App Server | | VK API |
| | | |--(B)- Authorization Request -->| |
| | | | | |
| | | |<-(C)- Authorization Dialogue --| |
| | | | | |
| |<-(D)- Authorization Dialogue --| | | |
| | | | | |
| | | |
| |--(E)---------------------- Authorization Dialogue -------------------------->| |
| | | |
| | | | | |
| | | |<-(F)----- Access Token --------| |
| | | | | |
| |<-(G)----- Access Token --------| | | |
| | +------------+ | |
| | | |
| |--(H)--------------------------- Access Token ------------------------------->| |
| | | |
| |<-(I)------------------------ Protected Resource -----------------------------| |
+--------+ +--------+

At the end of the development cycle, we performed extensive quality assurance (QA) testing and stress tested the app to ensure it could handle the expected loads. The results are exciting: the application responds virtually as fast as the VK API, and without obvious degradation when the number of users increases. Performance and reliability, the pillars of the VK's popularity, have been transparently brought to Hootsuite customers.

As the result, VK.com for Hootsuite features:

Share Content

Share VK.com content with your social networks.

Post Updates

Post updates to VK.com, including photos.


Search for content in the VK.com network.

Comments and Likes

Comment and like posts in your network activity.

Stream of Posts

View a stream of all your VK.com posts.


View the VK.com newsfeed for users you follow.