Best Practices

App Directory SDK

Best Practices

We strongly encourage developers to incorporate Hootsuite's look and feel into their Apps to the highest acceptable extent in order to maximize user experience. Apps that fit into Hootsuite's themes are most likely to leave a good impression with the user, which in turn contributes towards your App's success.

To make it easier for you to create a hoot-looking App, we have compiled a list of things that can be considered a QA guideline. We recommend to take note of the list below.

QA Guidelines

  • Streams can be as narrow as 297px, including space taken by a scroll bar. On a Mac, for example, the scrollbar narrows that number down to 282px
  • Keep vertical space taken by a single message low - a stream is supposed to show multiple messages. Implement content expansion/toggling where adequate.
  • Message icons and headings should always open the same info popup with story/user/etc. details
  • The time stamps below headings should always link out to the source article/discussion/etc.
  • Clicking on a username or icon should always open a user info popup with user details
  • Try to achieve as much functionality as possible through API functions (e.g. share to social networks via hsp.composeMessage)
  • Implement 'infinite scrolling' while keeping a 'Show More' link at the bottom as a fall-back
  • Suppress reloading of messages through refresh handlers (via hsp.bind) while the user interacts with the stream (e.g. posting messages, expanded details, possibly scroll position not near the top)

Testing Guidelines

Hootsuite goes through these tests for every submitted App. We suggest you work through this list yourself, which will speed up the review of your App submission.

Test Area

Description

Result

App Authentication

Use the Hootsuite SDK Single Sign On authentication when connecting the app to Hootsuite. User authentication with your app can be done using the authentication flows of your choice (OAuth recommended). Authentication should be persistent from one session to another and will not expire until the user selects to “Disconnect”

Pass/Fail

Multiple Account Support

User can logout and login as another user and can add multiple streams and authenticate each with a different account.

Pass/Fail

Retain User Settings

The App will retain any user settings saved in the stream from one session to another (ie. user sets a search filter to a stream, the app will retain that filter next time the user accesses Hootsuite).

Pass/Fail

Suppress refresh during user interaction

Suppress reloading of messages through refresh handlers (via hsp.bind) while the user interacts with the stream (e.g. posting messages, expanded details, possibly scroll position not near the top).

Pass/Fail

Fully HTTPS Compliant

The Hootsuite dashboard is a forced SSL connection. The app will be fully HTTPS compliant and will not generate any security breaking errors or warnings. Hootsuite can provide an image proxy service on request.

Pass/Fail

Infinite Scroll

Provide the next set of messages/updates when user scrolls down.

Pass/Fail

UI and Design Assets

Please use the CSS and HTML assets from the sample code as your starting point when building an app. The menu bar will contain at a minimum two icons: Settings (shows logged in account and option to logout) and the ‘More’ dropdown (with Help, Feedback and Developer links, URLs for first two provided by Hootsuite).

Pass/Fail

Stream Refresh

Fires when app column is refreshed by user in-stream, or as part of a dashboard refresh.

Pass/Fail

App Logo

Use a vector based image with transparent backgrounds for the 16x16, 30x30, and 256x256 icons.  Hosted from a HTTPS address.

Pass/Fail

Browser Compatibility

Latest versions of Google Chrome, Firefox, Safari, IE 9+

Pass/Fail