Today's blog post was written by Corey O'Brien, VP of Development at Sonoma Partners.
The Need for Change
Lately, Salesforce has put Chatter Desktop into maintenance mode. The last few updates have only consisted of replacing old certificates – just enough to keep it running. In addition, it is built on top of Adobe AIR, which has its own runtime that frequently prompts users to update it.
Defining Our Vision
With that in mind, several of us set out to build a new desktop client with the following high level goals:
- Support for Windows and Mac
- Modern and clean design
- Add features missing from Chatter Desktop
- Searching posts and comments
- Indicate which posts are read/unread
- Support for polls (both creating and voting
- Allow multiple feeds to be opened at once
- Support configurable popup notifications
- New versions should auto-install seamlessly
- Does not need to be mobile friendly (Salesforce1 is a great mobile client)
Design wise we drew a lot of inspiration from TweetDeck, which allows multiple columns to be viewed at once, or it can be collapsed into a single column view. Below is an example of the current working version.
Bringing the App To Life
One of the challenges we faced building the application was keeping the content up-to-date, without hitting the Chatter API usage limit. This problem was more difficult as users added columns. To address this, we first added code to detect when the user was idle (not using the mouse or keyboard). During idle periods, we wouldn’t poll for changes. In addition, we started only auto-polling the main News column (which is required), only when that feed had an update would we auto-update the other columns. With these changes we have been able to poll every minute without running into usage limits.
With Google’s announcement to discontinue support for Chrome Apps on Windows and OS X, we’ve started to look at repackaging the app as an Electron app. Most of the code should be portable, but it will require a server for simple installation and distribution.
There are also a lot of little features that haven’t made their way into the application yet, like editing and deleting posts, but due to the use of modern frameworks those are fairly trivial to add.
Are you a Sonoma client and interested in trying it out? Talk to your team about getting early access!