Archive for October, 2006

FreakinColdForce

Wednesday, October 11th, 2006

IMG_4370

The best experience of Dreamforce 2006 was swimming in the San Francisco bay with Tucker MacLean. It was really awesome, and really cold. But, if you sit in a 180 degree sauna for 15 minutes afterwards, you almost get warm again.

That first picture is what it looked liked when we got in the water. this next one is when we got out:

IMG_4377

We swam at the dolphin club, and surprisingly, we were far from alone:

IMG_4372

Thanks Tucker for the truly San Francisco extreme experience!

Apex: in short

Wednesday, October 11th, 2006

So Salesforce announced Apex. I’ll leave it to the industry press to dig in with great detail on what this new technical development means. I’ll try to sum it up in two sentences:

Before, you could write custom code that leveraged the Salesforce.com API that ran in the client browser, or on your own server. Now you can write and run compiled code on the Salesforce servers.

That means:

  • If you want to do things you can’t do on a client (database access, etc.) you can now do it without having to build your own server and keep it running
  • If you have intensive functions, like iterating though 3000 Campaign Members and modifying their status based on other criteria, you can do it fast on the server, avoiding the delays of roundtripping

That’s huge news. For me, it means that I can move the S-Controls that continually timeout because they are trying to process lots of data to the sf.com servers, increasing speed and user experience immensely.

It also means we need to rewrite our Salesforce Connector for Plone. We can write Apex code to handle the login and profile managment functions. We can make it faster by creating an API call based on Apex that will chain together multiple API calls that we’re now doing via the Python toolkit. At least our integration was ahead of the curve for one day…

For people like Accenture, with it’s 140,000 employees, they look at Apex and say, “this now gives us the development power to create very large applications in the on-demand environment.” We can now build “stored procedures” that run on the server. They’re investing ~$500K in on-demand next year, and they think it’s where software is going.

Update: I sat in on a session where the inventors of APEX explained what it is and isn’t. In this post I implied that you could do database access in APEX. That’s not true, in my current understanding. APEX will allow you to run procedures with Salesforce objects. It won’t let you call external services and the like.

Timelines in Salesforce

Wednesday, October 11th, 2006

I’ve been holding off on a post about the Timeline mashup I did using some of the Winter ‘07 features. I wanted to write up a nice post with an embeded scrollable timeline so you could really see how cool this thing is. But one thing I’ve learned in blogging is that sometimes you should just get the post out the door.

So, I built a mashup between Salesforce and the SIMILE Timeline. Whe SIMILE released their timeline, I was trying to find a cool use for it. When I saw that Scontrols could be embedded in the detail page in Salesforce’s Winter ‘07 release, I decided to mash it up.

Here’s a picture of what the timeline in Salesforce.com looks like. Note the Salesforce look and feel:

timeline.png

You’ll see that all the standard Salesforce objects that are related to a Contact are shown on the timeline. Task and Events are shown on the date they occurred or are due, Opportunities are shown with their close dates, same with Cases, Campaign memberships show the date last modified. Check out the SIMILE site for the real thing. They have lots of examples so you can see all the amazing functionality they’ve built into it.

I’ve built a Timeline on the Contact detail page, as well as ones for Camapaign, Case, Opportunity, and Account. When Winter ‘07 gets released, I try to make them available. If you’d be interested in that, let me know.

Thanks again to Nick Tran and Adam Gross who made this all possible and got me shown in the Day 1 keynote at Dreamforce!

My vote for the Appies

Monday, October 9th, 2006

They’re having a contest at Dreamforce where attendees get to vote on their favorite App on the Appexchange–they’re calling the award “the Appie”. My vote is going to CRMFusion’s People Import.

I’ve spoken of DemandTools before, and I do so repeatedly…to anyone who will listen. In fact I was talking Meghan Nesbitt last night about it, and she said, “you’re really excited about it…” Sorry, but it’s awesome

People Import takes all the great functionality of DemandTools and applies it on the import process, so that you avoid creating duplicates in the first place.

To see the power, check out their short video presentation. It’s really cool and will enable “loose” integrations for lots of my customers. Bravo CRMFusion, you get my vote for the sheer coolness of the application and the fact you donate/discount to nonprofits!

Dreamforce Keynote

Monday, October 9th, 2006

I’m happy to say that my app was on-screen at the keynote on day one! It was pretty cool to see the Timeline app I built on top of Salesforce and Simile timeline shown to 4000+ people as an example of what’s possible with Salesforce! I swear I heard a few “Ooohs”, but I am comletely biased.

More to follow about the big announcements, but in the meantime, check out the crappy picture of my app!

Crappy shot of my Timeline App

(Great) Ideas at Salesforce

Saturday, October 7th, 2006

The ideas.salesforce.com site just went read/write. I wrote about it earlier, and Salesforce users can now post ideas, promote ideas they’d like to see implemented, and comment on them.

It’s a cool idea, and right now they’re trickling out some of their Winter ‘07 blockbsters, like S-Controls anywhere on the detail page and the ability to add custom buttons to the UI. I’m planning a big write up of all new features that they announce on Monday. In that post I’ll tell you why I think these new features are really, really, huge.

I’m off to Dreamforce

Wednesday, October 4th, 2006

arnold_snarb.pngI’m heading down to San Francisco on Sunday for Dreamforce and I’m pretty excited. Salesforce.com has some big things planned and I suspect I won’t be able to keep up with all the cool announcements from them and all their partners. ONE/Northwest has a booth, so if you’re going to be there, make sure to stop by and say hi. We’ll be officially launching our Salesforce Connector for Plone, which allows the Plone open source content management system to use Salesforce as it’s member database.

I’ll be taking part in two sessions. At 11:30 on Wednesday I’ll be demoing the Salesforce Connector for Plone in a session called Out of the Box: Portals and Web Sites Powered by AppExchange. And at 2 PM on Monday, I’ll be taking part in a session called Hands-On with the AppExchange for Nonprofits, where we’ll be talking about cool Appexchange add ons for nonprofits to use.

I’m excited to catch up with old friends and meet so many people who I currently only have an email/phone relationship with. And of course putting a face with all the names of Salesforce.com employees I’ve been interacting with.

I was thinking about this conference and how it’s really an example of the importance of CRM for any organization. I’m connected to Salesforce.com, the company. But I’m connected to them in myriad ways. I tried listing out the roles I play in their universe and this is what I came up with:

  • Implementation partner
  • Developer partner
  • Beta tester
  • Grantee
  • Customer
  • Blogger
  • Exhibitor at this conference
  • Speaker at this conference

Then need a flexible CRM system to hope to capture all those roles. Nonprofits are in the same boat. Constituents can be:

  • donors
  • members
  • volunteers
  • activists
  • board members
  • coalition partners
  • event attendees
  • peers
  • sponsors

And you don’t have a complete picture of your constituents if you neglect any of those roles. That’s why I hate the term Donor Management. If the only role you’re paying attention to is the Donor role, your missing the big picture.

Anyway, maybe I’ll get a peak into Salesforce.com’s Salesforce database and see how all my roles are modeled in there!

Sorry to geek out…

Monday, October 2nd, 2006

Living at the intersection of social change and technology, I thought this summed up what’s wrong with the current strategy for dealing with terror suspects in a way that worked for me:

if (person = terrorist) {
     punish_severely();
} else {
     exit(-1);
}

See the bug that’s causing all the problems? I’ve made it many a time…

Thanks boingboing.net!

Dreamforce coming up soon

Monday, October 2nd, 2006

dreamforce.png

Salesforce.com, never one to undersell…