Why I Wrote the Salesforce Chatter for Twitter Demo

March 18th, 2010

Yesterday I posted a video and demo of a Chatter app running on Google App Engine integrated with Twitter. While I got a lot of positive feedback from other Salesforce.com employees, Dave Carroll gave me the proverbial beat-down on our Appirio Tech Blog. Everything he said was 100% correct. The app could have easily been developed on Force.com if my only intention was to develop a Twitter app. It was not. I used Twitter because everyone loves Twitter and that made the video nice and easy to understand. I’ve also been doing a lot of OAuth lately and have been working with the Twitter4J API so it was code that I had laying around. I wrote the demo on Google App Engine since roughly 30% of my blog traffic is related to App Engine and GWT. By using Twitter, OAuth and App Engine I was hoping to catch the eye of people that normally don’t develop on the Force.com platform and might not see the super-cool possibilities of Chatter.

Perhaps I didn’t explain myself very well so I’ll try and redeem myself (wish me luck!). One of my favorite things about Chatter is that external apps can send chatter about projects, people, opportunities, etc as well. If you saw our Social PS Enterprise demo at DF09, you should remember how a Google spreadsheet sent Chatter for a project when the hours reported was updated. I hadn’t seen much talk about external app sending Chatter so that’s why I thought it might be useful and could spark ideas. Here are some ideas where I think my code might come in useful:

  • You have some external apps running on Google App Engine or some other Java stack that you want to have send Chatter when an event occurs.
  • You have some type of Salesforce.com integration that runs externally on a hosted server or EC2 that processes records and attaches the resulting file Chatter for the application.
  • You wrote a Bulk API Java app that runs on a scheduled basis and send Chatter as to the number of records processed.
  • We spin up a Google Site each time we start a new project. Sometimes we have resources that do not have access to our Production org, so it would be nice for them to submit Chatter for the project from the Google Site.

Hopefully the code and/or idea in my blog post will be useful to someone else. Let me know what you think?


VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

Categories: Salesforce

Leave a comment

Comments Feed9 Comments

  1. Mike Leach

    Ha! I just saw Dave’s comment on your post. Of course, from a practical design perspective he’s right

    However, the convergence of 3 APIs in the cloud using OAuth is a pretty powerful tool to have in your tool belt. I totally get the future potential and appreciate the source examples.

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  2. Umit Yalcinalp

    Hey Jeff,

    On Dave’s defense, he is not the only person who had that reaction from Salesforce.com. When I saw your post, I loved the fact you were addressing an integration problem, using OAuth and featuring Chatter, which you obviously liked, but at the same time I was extremely puzzled as to why you needed to add a hop to the solution. Some integrations do not need to be external as there are built in features that allow you to solve the problem in place, some do. My analogy is email integration. Thus, the question becomes what is featured in the blog and whether it may be misunderstood as if the platform was lacking a feature where it did not. Perhaps it explains the reaction.

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  3. Jeff Douglas

    Thanks Umit. Appreciate your response!

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  4. Jeff Douglas

    Thanks Mike!

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  5. Richard Tuttle

    Jeff,

    I completely understand why you chose GAE and appreciate you showing the abilities to communicate across multiple collaboration platforms from a GAE driven application. As someone who is just beginning to dive into GAE I definitely appreciate seeing an integration example like this.

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  6. Jeff Douglas

    Thanks Richard!!

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  7. Dave Carroll

    Respect! I guess I didn’t throttle my response as much as I thought I had. One of the most powerful aspects of developing in the cloud is the ability to integrate disparate platforms to create a solution that is greater than the sum of it’s parts.

    I think that good writing sets a clear context and purpose up front. I’m no journalist, but it seems that when presenting a solution (and your original post is a valid solution) the application of or use case for the solution should lead. Here is the problem that I am trying to solve.

    Cheers and keep up the good work.

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  8. Mike Leach

    If Jeff’s writing style is anything like mine, then blog titles are typically written last and constructed as click bait headlines :-)

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  9. Jeff Douglas

    OMG!!! That’s SO true! Great minds….

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)

Leave a comment

Feed

http://blog.jeffdouglas.com / Why I Wrote the Salesforce Chatter for Twitter Demo

WordPress Appliance - Powered by TurnKey Linux