AddThis Feed Button

Recent Items

Tags: Dreamforce

Fellow blogger CRMFYI tweeted this to me.

It’s a picture from the Dreamforce 2010 website showing the front-row of Dreamforce 2009, filled with Press and Bloggers.

A Confluence of Bloggers

I’m seated beside David Schach (x2od and co-author of Daily Shinro), behind Jeff Grosse (CRMFYI). I think we were busy Tweeting funny messages so they’d appear on the big screen. Or playing Tetris.

Neat, eh! ( WMY89XUNEFTB )

The Bottom Line

  • We’re world-famous on a web page
  • Remember to always dress well!

During Dreamforce 2009, I had the pleasure of meeting Jason Ouellette, the Chief Architect at Appirio. Appirio is a well-known name when it comes to development, having been involved in some major projects such as Japan Post and the systems shown at the Dreamforce 2009 keynote (including Chatter stuff before it was even released!).

Jason has recently released a book dedicated to Development. It’s called Development with the Platform: Building Business Applications in the Cloud and, aside from having the world’s longest title, is also the world’s first book on (that wasn’t written by Salesforce).

Jason’s Book

The book covers practically every topic relating to which is, as you probably know, an awful lot of information! As such, having only 400 pages, the book is more of an introductory tutorial than a reference book. Indeed, Jason fully admits that people will still need to refer to the standard PDFs to get detailed technical information.

So, who is the book good for? Definitely for anyone having to code who is relatively new to Salesforce and It mentions all the technologies available in, so is vital for people wanting to come to grips with the platform.

If you’re a developer already using and you’ve used the Salesforce platform for 2+ years, then this book isn’t going to teach you anything new. However, it is rare that a developer has played with every feature in (eg I’ve never played with approvals, Salesforce-to-Salesforce, DML rollbacks, Visualforce JavaScript actions), so the book can even teach old dogs a trick or two.

For further insight into the book, see my review on

Now for a real treat. While at Dreamforce, I managed to snag an interview with Jason, so here he is talking about his own book:

Thanks for the interview, Jason!

The Bottom Line

  • now has its first book!
  • It’s great for people new to, might not be so helpful to already-experienced developers
  • Jason Ouellette’s a really nice guy!

There were, by my count, over 250 breakout sessions at Dreamforce (see program). At first I felt sad that I couldn’t attend many of them. Then I looked at the content and realized that, to be honest, I was glad not to go to a lot of them. You see, a lot of the sessions are specific to particular audiences — verticals, like Healthcare and Manufacturing; job functions like Sales, Marketing and Support; and technical like Beginning Developers and Administrators.

I tended to stick to the Advanced Developer track and one called Backstage Pass, which was ideal for junkies who always want more information about their favorite system. Day 3 provided plenty of content for this fetish, plus plenty of swag from exhibitors trying to offload their goodies before the expo closed. (I hope you liked your T-Shirts, Cara!)


Some people take swag collecting a bit too far


Several sessions today focused on’s application of the Agile Software Development methodology, which they call Adaptive Delivery Methodology (ADM). This is the ‘secret sauce’ that helps them achieve three major releases each year in a consistent and predictable manner, with the high quality demanded by an enterprise-class system.

At the core is the fact that release dates are fixed, but the scope of features delivered can vary. If something’s not ready (or not up to sufficient quality), it gets dropped from the release. Although, according to a friend of mine who used to work at, the pressure certainly does mount in the month prior to a release.

Here’s their particular comments, placed against the normal Agile principles:

Avoid waste

  • Avoid technical debt that just delays the pain by having to ‘clean up’ poor code later
  • Avoid spending time on features that customers don’t want or need

Build Quality In

  • Perform small iterations, then test and get feedback
  • Use continuous integration to test code upon checkin — they have 40,000 automated tests!

As a side note, have the benefit that their software operates on only one database, application server and hardware — theirs! This makes things much simpler than for ‘normal’ software vendors who have a large matrix of platforms and versions of 3rd-party software that must be supported. Instead, the variability comes from having to test combinations of Web Browsers running on a variety of customer’s Operating Systems. Fortunately, they know exactly which platforms need testing because web browsers report this back to Salesforce every time a page is loaded. So, they use a huge array of Selenium tests to check that the User Interface performs as expected.

In all, the full suite of tests takes 8 hours to run, so they also have some ‘pre check-in’ tests and smaller sub-units of tests that can provide feedback to developers much more quickly.

Respect People

  • Hire good people and unleash their potential
  • Empower the teams and allow them to self-organise
  • Let the teams decide what to build, how to build it and how much to build in the time available

Optimize the whole

  • Optimize both globally (across 60 teams) and within each team
  • Each team is cross-functional and has most of the resources required to succeed, such as a Product Manager/Project Manager, Scrum Master, developers, Quality Assurance, documentation, usability and operations (some resources are shared across teams, such as the UI Design team)
  • Optimize at the team level, not at the individual level

Create knowledge

  • Value and encourage innovation
  • Let ideas and knowledge flow both vertically and horizontally

Just-in-time decisions

  • Delay irreversible decisions as long as possible (as opposed to the Waterfall model that plans everything before development begins)
  • Have ‘just enough planning’ to get started
  • Make product decisions along the way — spend time on the prototypes, not the specifications

Deliver fast

  • Create a culture of Delivery
  • Continually ask “What have you delivered today?”
  • Build in small increments, get regular feedback
  • Deliver something that customers can use every 30 days (it’s not released every 30 days, but it’s important to have releases so that other teams can build functionality upon it)
  • Where features require more than one release cycle to implement, some features have been known to be released ahead of time. For example, some of the functionality for just-announced Chatter was actually ‘rolled-out’ in a previous release of Salesforce, but kept hidden from customers moved onto this methodology about 3 years ago, which they claim has led to nine on-time, high quality releases since inception. The move was done over a 3-month period to avoid letting it ‘drag on’ for a long time. When I asked a developer whether the methodology worked, they remarked that it was significantly better than the prior mayhem.


A final Dreamforce session was entitled Meet the Platform Development Team, featuring a panel of 7 developers. With very little presentation, the session was opened to the audience, who then proceeded to ask “When is feature X coming out?” To the full credit of Salesforce, the audience was also littered with Product Managers who were able to give honest answers (which typically ranged from “It’s not on the roadmap” through to “The code was just checked-in yesterday!”)

Of all the panel, however, my attention went to Simon Fell, whom I consider somewhat of a hero amongst the Macintosh community. Via his Pocket Soap website, Simon has released an array of useful Macintosh utilities such as:

  • LeXiLoader: A Mac version of the DataLoader which Simon voluntarily updates whenever DataLoader is released (help vote for his Idea to have this product officially supported!)
  • SoqlXplorer: A great SOQL query tool with a very graphical schema explorer
  • Maildrop: Giving the ability to upload emails to Salesforce from Apple’s Mail application as well as Entourage
  • …plus a few other nifty utilities

Ironically, while there was a whole PR contingent running around Dreamforce arranging executive interviews for the Press and VIPs, they were somewhat confused by my request to interview a ‘non-executive’ like Simon. Fortunately, I managed to catch him after the panel presentation and he gave me this interview:

And that’s why Simon is my hero.

The Bottom Line

  • They concentrate on on-time delivery, even is the scope of delivered features suffer
  • They do lots of automated testing to ensure quality
  • Good ideas come from good people
Tags: Dreamforce

Whoa! I’ve been so immersed in Dreamforce that it’s hard to track time. I walked out of the last session today to find that the sun had set, yet it only felt like midday to me!

Today’s keynote presentation was, for me, somewhat boring. Marc Benioff did a recap of Chatter and the platform, which was all old news by now. He then brought on a succession of partners who swore allegiance to the platform. The most interesting aspect was the presence of CEOs from two big names in IT, BMC and CA, both wanting to appear on-stage with Marc. This is a clear sign that is shaking up the industry, much like Marc appearing on-stage at the recent Oracle event.

Unfortunately, what BMC and CA showed were pretty pitiful. When Marc ask BMC how long it had taken to develop their app, they said something like 1-2 months — to which I think: “How dare they show a one-month effort to an audience like this who could build it themselves if it’s so simple.” Are they trying to show apps that they want us to buy, or are they just wanting to promote acceptance of the platform? I’m confused.

CA’s demonstration was also quite ‘nothing’. It’s an Agile project planner that is meant to work in conjunction with CA’s Clarity Program Management software. I know a fair bit about this product, since I was a pre-sales rep selling that software 3 years ago. CA isn’t going to move Clarity to the platform, so why did they create the Agile Planner on Not much functionality was shown (a bit of drag and drop, plus charts that didn’t update) — hardly worthy of a keynote presentation. (Disclaimer: My current employer, Atlassian, sells an Agile development tool, Greenhopper, that works in their JIRA bug tracking tool, so it would compete with CA’s Agile Planner.)

More impressive was the work that poster-child Appirio presented. It was real custom coding, showing integration with Google Apps and use of Chatter. If you look carefully at their screens, you’ll see the name Jason Oullette, a developer at Appirio. I had the pleasure of meeting Jason, who has just released the first book about development that wasn’t written by Salesforce themselves. I’ll blog about the book later, together with an interview with Jason.

Once again, the Expo floor was teeming with people, but this was both a blessing and a curse. There are so many people out there, that vendors are probably having difficulty finding serious prospects. I guess it’s a quality vs quantity thing. I guess it’s better than not having enough people turn up!

Once again, I managed to attend a presentation by Craig Weissman, CTO of Here’s some technical gems I thought noteworthy:

  • The whole and platform operates on one code base — there’s no need to fix bugs in 3-year old releases, because everyone is running the same ‘version’ of code
  • There will soon be ‘web push’ to update Appexchange apps out in the wild. So, all ‘customers’ who use an Appexchange app will be on the latest version, although it’s advisable to only turn on new functionality with their permission.
  • Salesforce has put a LOT of effort into preserving old APIs, ensuring that they don’t break as new features are added. Their code base is filled with API version checks to maintain old functionality. Yes, apparently lots of people are still making calls with API v6.

Finally, a note about the Salesforce Foundation. Marc Benioff delivered a stirring story about giving back to the community, which was followed up by an empowering session from Colin Powell. All of this selling and technology may be lots of fun, but it’s great to have everything put into perspective by reminding us that we, too, have to help the wider community. Indeed, my employer also has the Atlassian Foundation that was modeled after the Salesforce Foundation. certainly has my respect for their efforts in this area.

The Bottom Line

  • Other companies are scrambling to work with the platform
  • Give back to the community

As part of the Dreamforce 2009 campground, Salesforce hosted a hackathon with heaps of prizes.

At the ‘beginner level’, entrants just had to code a pre-defined system. Next came the challenge to integrate with social platforms. Finally, the ‘Secret Agent’ level required more sophisticated integration. Finalists integrated with Amazon and BaseCamp.

For the hackathon, I created Voiceforce with guru David Schach (X Squared on Demand) and defending champion of last year’s Dreamforce, Elaine Greco. We threw together a system that allows a Support Case to be lodged via a voice interface.

Using Dial2Do, a user can place a phone call, say “Create Case” and leave a message. A minute or so later, the Case appears in Salesforce:

voiceforce screen

It was quite amazing placing a phone call and seeing the spoken message appear within a Case. Yes — Dial2Do actually transcribed the phone call directly into a case. The flow is basically:

  • Call Dial2Do and leave a message
  • Dial2Do transcribes the message into text
  • It sends the message via a URL to a Sites page
  • The Visualforce controller extracts the message from the URL, creates a Case and inserts the message
  • Voila! It appears in the list of cases — providing a voice-to-case system

Unfortunately, Dave Carroll & co didn’t include us in the Top 3 entries, but if they saw our fantastic logos I think they would have changed their mind! (Yes, that ‘No Typing’ logo was hand-created from a mouse mat! Great work, Elaine!)

The most fun was hacking in the company of fellow developers. It was hard to type without having somebody ‘auto-correct’ my syntax! The M&Ms and bean bags helped, too!

The Bottom Line

  • Integration with is easy — both in & out
  • is a community as well as a platform

I’m at the Black Crowes concert, chugging Diet Root Beer, eating Bread Pudding and… blogging!

By now there’s no need to explain Chatter, the big announcement of Dreamforce. While it might not win any big sales, it will certainly give significant ‘lock-in’ with customers. While it’s easy to export customer and deal data, it’s just not possible to export a history of ‘live’ social interactions. Trust me, I know about it — my company sells an enterprise wiki and we have ALL our interactions online. Discussions, collaborative editing, company announcements. That history is more valuable than the base information itself.

The most interesting thing about Chatter was what it took to implement within the Salesforce architecture. According to Peter Coffee, director of Platform Research, they had to do a LOT of work to integrate Chatter into the Security model, even expanding the model to take into account new abilities to secure hierarchies of data. Rather than taking the quick-and-dirty ‘vertical’ approach, they’ve implemented a full ‘horizontal’ stack to implement the new services.

Peter’s an interesting fellow, very enthusiastic about the company and its platform. I especially enjoyed his 4-point argument to convince CIOs to move to the cloud:

  • Avoid capital expenditure
  • Instantly scale as required
  • Instant kill-switch if things don’t work out as expected (no hardware to write-off!)
  • Superior productivity, with 3 studies apparently showing 5x productivity over .Net/Java

Some of those points are hard to dismiss. My company is trying to implement Disaster Recovery to a fail-over data center but it needs almost real-time synchronisation to avoid downtime and loss of data. I managed to chat with Thomas Spingola (VP, Technology) who pointed out that this is the reason why people should move to Salesforce’s platform — because they do all the hard work for us!

Here’s Spingola explaining how they have managed to introduce the 5-minute upgrade:

If you’re interested in the platform, try and view the recording of today’s State of the Nation presentation.

I managed to have a great chat with Craig Weissman,’s CTO, and I asked him some heavy questions about the architecture decisions they made for their multi-tenant architecture. For a CTO, he sure knows his systems! Here’s some of what I learned:

  • They had a big debate on whether to have ‘wide’ database columns for custom fields, or whether to use ‘pivot tables’ — in the end they actually used both (it’s explained in the white paper)
  • Picklists are stored as values, but if you store a new value via Apex code, the system assume it’s intentional and stores the value as metadata, assigning a number
  • The reason that IDs are sometimes 15-characters and sometimes 18-characters is because they are case sensitive. Windows apparently loses the case, so the extra 3 characters give the string its unique identity if case is lost (this is apparently documented in the API manuals).
  • The rather unusual ‘bulk database operations’ are a mirror of Oracle’s PL/SQL ‘foreach’ capability. They figured if the database can operate efficiently in bulk, then why not try to mirror it in the actual system architecture!
  • Key staff within Salesforce have access to customer’s metadata so they can run tests, but they can’t access customer’s actual data. For example, tests are run before major releases to try and find things that break.
  • Custom Settings are a great way to avoid having to continually retrieve data from table, thereby improving performance
  • In future, they’d like to enhance SOQL by adding things like group by and having (hooray!)

Random Tidbits

Here’s some random stuff I picked up from various speakers:

  • They hope to introduce URL rewriting so you can create your own ‘logical’ URLs that could even be used for REST calls to Visualforce
  • The new ‘Aloha Look’ isn’t just to be pretty — it’s to enable new functionality and to clean up little annoyances like having the Related Lists pop-up when you drag from the tabs to the main body of an object (yeah, I hate that!)
  • In future, they’d like to introduce Drag & Drop within Visualforce, rather than having to code it up in text.
  • In case you didn’t know, the platform is written in Java on a Linux platform, using Oracle as the database, with bits of PL/SQL. They’ve got their own optimizer to handle Organization partitions and to work against their multi-tenant architecture.

I rounded out the day by attending a Hackathon in the campgrounds. It was really fun programming up some Visualforce surrounded by experienced developers and Salesforce staff — in fact, it was hard to type without having each keystroke corrected from an on-looking developer. We didn’t win, but I’ll blog later about the hack we made!

The Bottom Line

  • There are some a lot of very, very smart people in Salesforce and their systems are well architected, implemented and maintained
  • Dreamforce rocks!
Tags: Dreamforce

Today was the early start to Dreamforce 2009, with paid training events, an orientation to new Dreamforce attendees and two hours of the Cloud Expo.

San Francisco itself is plastered with bus-stop ads for Dreamforce, and the Sassy mascot is making Mickey Mouse-like street-side appearances. (Disconcertingly, Sassy actually spoke back to me. I guess the name fits!)

Sassy and The Enforcer

While some people attended paid training today (Tuesday November 17, 2009), for most people Dreamforce started at 6pm when the cloud expo opened. Guests were given Hawaiian welcomes (plus free food and booze!), overwhelming the staff at most booths. The expo area promises to have much interesting content to peruse in between all the must-see sessions of the conference. (See full conference program.)

Tweeters and Bloggers were especially welcomed, having a special area set aside in the Campground. The TweetUp was an opportunity to meet well-known community bloggers, and some staff too. I was fortunate to meet Jon Mountjoy, whose name is associated with much of the and Visualforce information you’ll find on the Internet.

Jon Mountjoy and The Enforcer

Jon Mountjoy and The Enforcer

I also had the pleasure of meeting Leah Cutter, a Technical Writer responsible for the Apex documentation. Lead was very proud to show off the new Workbook, which is a large-format 80-page book that leads readers through the steps of creating a application. It also comes with pull-out, laminated ‘Cheat Sheets’ that are a fantastic reference for Apex, Visualforce, formulas and Web Services. Here’s Leah explaining what she does:

I also met Ümit Yalçinalp, who recently joined the Developer Evangelism team. What does it mean? That’s what I asked Ümit:

All of this was followed-up by party-hopping amongst multiple venues throughout San Francisco. At an Asia-Pacific event, the head of for APAC announced that 16,000 attendees had registered and hinted that Marc Benioff will have some great annuoncements tomorrow. The Eloqua and Model Metrics events were too full and noisy, so instead I roamed the streets with some fellow bloggers. Ah, what a great week this is turning out to be!

My thanks also goes to the event co-ordinators, George P. Johnson, and for helping me with an accommodation snafu — they were very friendly and ‘accommodating’!

The Bottom Line

  • While Dreamforce always has some big announcements, the real benefit is in meeting staff and members of the Salesforce Community
  • In a year hard-hit by the Global Financial Crisis, Dreamforce and Salesforce are growing in size and popularity
  • They spent a bomb on this conference!
Tags: Dreamforce

Yes, I am fortunate to be attending Dreamforce 2009 and would truly love to meet-up with other bloggers and any of my readers out there.

As a result of my Dreamforce video, I’m getting a complimentary Flip video camera which I’m intending to use to capture interviews with some “behind-the-scenes” Salesforce staff. (No marketing staff for me — I want the real architects and coders!) If it works out, I’ll post the interviews on this blog.

Feel free to drop me a note (ask(at) if you want to meet-up during the conference, or even in the days surrounding the event. I live in Sydney, Australia so this is a rare chance to meet up in the Northern Hemisphere.

The Bottom Line

  • TheEnforcer is going to Dreamforce 2009
  • I’m thinking of bringing my own seat cushion to survive Marc Benioff’s famous multi-hour keynotes

Well, the results are out for the June ’09 Cloud Developer Challenge and, unfortunately, my entry with David Schach didn’t win. In fact, we didn’t even score in the Top 10. Sigh.

One of my work team took the news quite bad — he replied to the news with “Robbed indeed! Right, we’re dropping SF in-favour of emailed spreadsheets.” hehe

However, we seem to have piqued the interest of the honourable Jon Mountjoy, who added this mention to the official results:

For sheer exuberance, John Rotenstein and David Schach deserve a mention for their Daily Shinro game!

I’m not sure what he means by that, but at least it met my goal of getting a mention!

Since we didn’t win that one, I’m now pinning my hopes on the Dreamforce VIP Video Contest. The objective is to create a 60-second (max) video saying why I’d like to attend the Dreamforce conference coming up in November 2009. Here’s my entry:

The top 3 entries get a free conference pass, free accommodation, travel expenses, lunch with Colin Powell and Marc Benioff (I bet he’s a big eater!), a Flip camera and backstage pass to meet the Black Crowes. I’m still trying to think of something to discuss with Colin Powell that he can actually discuss without revealing national security secrets.

The Bottom Line

  • I didn’t win the Cloud Developer Challenge (didn’t even come close)
  • Luckily, my team at work enjoy playing the game!
  • Here’s hoping for a better result with my video