Cubic Compass Software

Author

Mike Leach

Profile

Search

Calendar

<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Recent Posts

'Cycle' Framework Progress
Creating and Restoring Baseline Salesforce Records
Cloud = Roam
What Is Social CRM?
The Art of Ware, Cubespace, and Portland Software
The Art of Ware-as-a-Service
CAPTCHA Support Has Arrived!
Development In The Cloud
Cubic Compass Announces Ground Breaking Neural Technology
What's New With The PageLayout Control?
i-Dialogue eCommerce Solution Map
Customer Portal Best Practices
Simplifying the Quote to Cash Process
Best Operating System For The Cloud?
The Sky Is Not Falling
Salesforce Service Outage
The Best Way to Predict What's Going To Happen in 2009...
i-Dialogue 9 Product Roadmap: Community Graph
More Python Love for Salesforce
"Feed Me" - Adding Dynamic RSS Feeds To Your Site
"Livin' On the Edge" - Amazon Announces CloudFront
Don't Recede In A Recession
Dreamforce 08 Wrap-Up
Getting Ready for Dreamforce 08
Cubic Compass Announces 2008 Navigator Award Winners
Transactional Email and Confirmation Messages
Foo Fighters to Play at Dreamforce
i-Dialogue Now Supports Python!
Cubic Compass - Dreamforce '08 - Booth #211
Service Level Report Card: The Battle for 3 Nines
Advanced Scripting Technique: Javascript Arrays
Software's Role on Wall Street
Tips For Designing Excellent Web Forms
Project "Fibonacci" Nears Final Launch
This Is Gonna Be Big...
Introducing Dialogue Script Enhancements and Developer Sandbox
Enjoying Google Chrome (Mostly)
Election 08 - Dreamforce Style
Maximizing Marketing Automation ROI
Customer Spotlight: Configuresoft
LeftHand Networks Surpasses 3,000 Customers
Using Advanced Google Visualizations for Reporting
Rating Control Added to Dialogue Script
Dynamic Languages (or "How the Web Was Won")
Consuming Outbound Messages From Salesforce
Rich Clients and S+S Model Gaining Traction
Managing Multiple Content Versions Using Milestones
Creating an Online Survey Using Salesforce
Microsoft CRM Beginning to Mature
Fall 2008 Feature Roadmap
Adding Google Charts to i-Dialogue Pages
Biting The Eclipse Bullet
When Does a Website Become A Portal?
Benioff on FastCompany.tv
Job Opportunities for i-Dialogue Interactive Web Developers
UX Ideas for Windows
Creating a Simple Contact Us Page
Creating A Partner Finder Using Dialogue Script
Publishing RSS Feeds of Salesforce Data
Salesforce Switching to Macs Not So Surprising
The Big Switch Back
RETS Integration for Salesforce.com
eCommerce for Salesforce
Future Trends in PaaS/DaaS
Salesforce Google Integration - Here at Last
Gradual Engagement Over Signup Forms
The Art of Ware(as-a-Service)
Salesforce Summer 08 Logos
April Fools - Google Style
Google Visualization API
Microsoft Software + Services Strategy Beginning to Gel?
Leveraging the Power of Page Templates
Getting Started With Dialogue Script : Lists
BackExchange.com
Lessons Learned in 2007
Introducing Dialogue : A New Scripting Language for CEM
Amazon's Metabase
Displaying Dates in CE Applications
Activist Leadership Levels in Salesforce
Changes to Salesforce.com API This Weekend
Lead Scoring in Salesforce.com CRM
New Faces at i-Dialogue
Winter '08 Scheduled Maintenance Notification
Book Review: Beautiful Evidence
Microsoft CRM Not "Live" Yet
The Future of Web Startups
Salesforce.com Encourages Software Craftsmanship
One Week - Three New Portals
Enforceability of Online Contracts - Closing The Deal Online
Force.com Video
Networking With Nonprofits - Tiburon
Announcing Visual Force
John Chambers - Master Orator
Email Preferences For Leads and Contacts
i-Dialogue / Exponent Partners - Covering The NPO Angles
Blogging At Dreamforce 2007
Online Membership Lists Integrated with Salesforce Non-Profit Template
One Year of Free i-Dialogue Web Hosting
CEM : Software or Next Generation Marketing Agency?
Guess The Dreamforce Band
More On Localization
Localized Dialogues: Sprechen Sie Deutsch?
Salesforce.com 1999
AppExchange In Search of A New Business Model
Salesforce Processes 100 Million Transactions In A Day
"May The SForce Be With You"
AppExchange Packages After Summer '07
Microsoft CRM: The Price Is Right?
Google Docs Loses Labels
Going On A Windows Safari
Creating Effective Customer Experiences
Component Based Workflow
A Google-Salesforce Merger? Why?
Salesforce-Google Integration
Web Enabling Microsoft CRM Data
Microsoft Gets Serious About Silverlight
i-Dialogue Now Salesforce Certified
Google Pay-Per-Action Beta... Anyone Invited Yet?
Open SaaS
i-Dialogue 3.0 Preview
Apex Gets Flex-ible
CMS for Non-Profits Integrated With Salesforce.com Announced at NTEN
i-Dialogue Provisionally Certified by Salesforce
Confusing Portals with Communities
BI Visualizations in Salesforce Dashboards
Thoughts on AppSpace
Partner Portal "Lite" for Salesforce
What Is WebEx's CRM Strategy?
Salesforce.com Web Integration Best Practices: Database Normalization
2007 - The Year of Industry Solutions
Integrating Google Apps With Salesforce.com CRM
Merrill Lynch Goes With 25,000 Salesforce.com Seats
i-Dialogue Announces New Partnerships
Google Apps Pro
More Fun With Web Form Validation
Denver Roadshow - March 5th-8th
New Case Study - Arco Properties
Salesforce - eBay Integration Ideas?
Preventing Web-to-Lead SPAM
The Impact of Salesforce Client Management on Web Interactions
Salesforce.com Is Not For Sale...
Fine Tuning Salesforce Alerts From i-Dialogue Events
State of the Union Impact on The Business Web
Web-to-X Forms Designer for Salesforce
Predictions For 2007
i-Dialogue Now Integrated with Salesforce 8.0 API
Salesforce Portal Code Gen Tool Updated
Is i-Dialogue Multi-tenant?
Winter '07 Upgrade Underway
The Battle With "3 Nines" and The Goal of "5 Nines"
2007 i-Dialogue Roadmap
Updated AppExchange Listing
Note To Google: There's More To API Than Just Search
Google Docs and Spreadsheets for AppExchange
Announcing Salesforce AppStore
Update on Winter '07 Upgrade
Agile Project Management Using Google Spreadsheets
Audio: Conversation with John Tanner of V2
My Pages in B2B Portals
Upgading to Salesforce Winter '07
The Gillmor Gang With Marc Benioff
Dreamforce '06 Portal Session Video Online
i-Dialogue Announces Support for Template Monster
The Impact of Apollo on Next Gen Business Web Apps
SugarExchange
Apex - New Programming Language for Salesforce
Blogging at Dreamforce '06 - Day 4 (Wrap Up)
Blogging at Dreamforce '06 - Day 3
Blogging at Dreamforce '06 - Day 2
Blogging at Dreamforce '06 - Day 1
Video: Creating Web Sites Integrated With Salesforce
Web-to-Lead Best Practices
News: Open Source Portal Toolkit for Salesforce
Actionable Events in Salesforce
Connect OnDemand
i-Dialogue Chat
Portal Toolkit for Salesforce.com
Sneak Peek at Salesforce Winter '07 Features
Open Source Portal for Salesforce
Microsoft CRM to Compete With Salesforce.com
CIM Opportunities for Free AppExchange Apps
Advanced Web-to-Lead Tips
A Typical Channel Registration Dialogue
Salesforce Partner Blogs
Self-Service Appointment Scheduling for Salesforce.com
Salesforce Service Outages = Modern Day "Blue Screen of Death"
Systems Integrator or Developer in a SOA World?
Okay... I get the hint (i-Dialogue Live Chat)
Lead Escalation Rules for Salesforce.com
Salesforce.com Migrations
Managing Suspect Leads in Salesforce
i-Dialogue Channel Management and Partner Portal
No Brochureware
Live on the AppExchange
i-Dialogue for AppExchange 1.0
What's That Little Orange Button For?
Keeping Your Customer Portal CAN-SPAM Compliant
Salesforce Webcast: 5 Steps to Improving Customer Self-Service Experience
AppExchange Seminar in Portland May 9th
The 6 Markets Approach to Web Portal Management
Improving The Customer Experience With Self-Service
Progress Report on i-Dialogue for AppExchange
What Keeps Me Up At Night?
Salesforce.com on iTunes
Salesforce Outage
Salesforce.com Performance Trends
Salesforce.com Live Event in Seattle
Salesforce.com Suffers Another Outage
AppExchange Goes Live

The new "Cycle" framework for i-Dialogue is quite addictive. Being 100% AJAX-based, all aspects of Cycle applications are extremely responsive and only update the portions of the screen being updated (as opposed to traditional multi-page websites. That seems so 1999 now ;-) )

Also new to Cycle is inline configuration management. It's no longer required to go to separate setting pages to configure an application. Users with administrative permissions will see various links "inline" with application they are using.

Cycle applications have the following administrative and configuration options: Statistics, Permissions, Configuration, Run Tests. Run Tests is currently only available to Admins while in beta, but may remain visible in the future.

  • Statistics provides an integrated reporting dashboard into each application. I'm really excited about this feature since it leverages a data warehouse I developed years ago, which has largely gone unused in our Salesforce integrated portals. The data warehouse captures nightly measures for time-series analysis of common Service and Support metrics using the Google charts API.
  • Permissions is a simple role-based permissions matrix that requires no coding to grant/deny access to various features based on role.
  • Configuration provides global settings applicable to all users, such as fields to display.
  • Run Tests just provides simple red/green lights on the health of the application. This is particularly useful during installation since the tests will primarily validate that all dependencies exist, such as AppExchange packages or custom field configurations.

The video below is an inside peak at the event management module.

Posted: Tuesday, October 20, 2009 10:44:53 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
The following Dialogue Script is handy for taking a snapshot of any Salesforce record and generating a restore script.

An example use case might be testing a portal application experience for a first time Contact visitor. Upon logging in several Contact fields may get updated, requiring a manual restore of certain fields to re-test.

The codegen script below allows for one-click restore of the test Contact record to quickly resume testing.

<h1>Generate Salesforce Record Baseline Script</h1>
Object Type: <dlog:TextBox id="ObjectType" />
RecordId: <dlog:TextBox id="RecordID" />
<dlog:Button id="SubmitButton" Text="Generate Baseline Script" /><br/>
<dlog:Label id="Output" />
<%
from CubicCompass.Portal.Webparts.Salesforce.sForce import *

def CodeGen():
objectDescription = SalesforceSettings.Instance.SForceService.describeSObject(ObjectType.Text)
query = "select "
for field in objectDescription.fields:
query += field.name + ", "

query = query.TrimEnd(", ".ToCharArray())
query += " from " + ObjectType.Text

if RecordID.Text.Length > 0:
query += " where Id='" + RecordID.Text + "'"

result = SalesforceSettings.Instance.SForceService.query(query)
if result.size == 0:
Output.Text = "record not found"
return

sObject = SalesforceObject(result.records[0])

indent = "    "
code = "def Reset" + ObjectType.Text + "Defaults():<br/>"
code += indent + "sforce = SalesforceWebService()<br/>"
code += indent + "sforce.SalesforceRecordID = \"" + RecordID.Text + "\"<br/>"
for field in objectDescription.fields:
if field.updateable == False:
continue
code += indent + "sforce.AddField(\"" + field.name + "\", \"" + sObject.GetProperty(field.name) + "\")<br/>"

code += indent + "sforce.UpdateObject(\"" + ObjectType.Text + "\")<br/>"
Output.Text = code

if Page.IsPostBack:
if ObjectType.Text.Length == 0 or RecordID.Text.Length == 0:
Output.Text = "missing values"
else:
CodeGen()

else:
ObjectType.Text = "Account"
RecordID.Text = "testRecordId"
%>
Posted: Monday, October 19, 2009 4:57:39 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
"Cloud computing". You probably couldn't invent a more confusing term. Let's break its meaning down from 3 perspectives.

1) Consumer / Business User:
The value of "the cloud" to consumers and business users is their ability to roam. Today you may be using Outlook on your PC. When you go on vacation you take your laptop with you because your software is installed on that computer. By moving your email to "the cloud", suddenly you're able to access your email from anywhere from any device. Your phone, an Internet cafe... anywhere connected to the Internet.

Do you have a huge collection of MP3s on your personal computer? Then you're probably aware of the overhead to maintain such a collection and the limitations that personal storage imposes (not to mention copyright concerns... shame on you ;-) ). Moving to a cloud-based music streaming service lets someone else manage your libraries and enables you to "roam" without constraint.

Pretty much any business software need can be addressed by "the cloud". Just take a look around your office and gradually starting replacing the ball and chain of on-premise apps with Internet based solutions. CRM, email, financials, backups, customer service and support, collaboration software.

Your "Kool-Aid" alert should probably be going off by now. No, not "everything" can be moved into the cloud. But portions of software can be moved to the cloud to give you a roaming experience. Photoshop designers will not find an equivalent Internet based application, but you can host your PSD and graphic assets files on a "cloud storage" service to open up collaboration, provide peace of mind by having off-site backups, and facilitating access to those files from your work/home/netbook computers.

Does "the cloud" seem less confusing now? Sure it does. It's a no brainer. It just makes sense that this trend will continue. Next...

2) Financial Users:
If you bought an ERP/CRM solution in the 90's, it was likely capitalized as an asset to the company and depreciated over time. But "cloud" software is just another operating expense, like electricity or water. You control the throttle of how much of the technology to use and pay a monthly or annual subscription.

Is "the cloud" even less confusing now? Sure. Who wants to own and maintain business software as an asset? Nobody. Next...

3) Technologists:
OK, so here's where the war and source of confusion begins. Hold on to your seat. Older software companies are now recasting themselves in "the cloud". Microsoft is thinking beyond the clouds towards "Azure" blue skies. Software companies that were previously "Software-as-a-Service" are now "Leading Cloud Providers". Amazon (yeah, the folks that sell books online) have an "Elastic Cloud Computing" service. IBM, who is *way* late to the game is suddenly talking about "private clouds" and moving your business into "the cloud". There are multi-tenant, isolated tenancy, and virtual machine architectures.

More money is now being spent on marketing "the cloud" than actual R&D for building "the cloud". The positioning for "what is the cloud?" is reaching a climax as vendors seek to be associated with this new buzzword.

The bottom line? As long as whatever is being called a "cloud" enables consumers and business users to roam and the service is just an expense, then you shouldn't care about "how" a particular cloud is implemented.


 |  |  |  |  |  | 
Posted: Saturday, September 26, 2009 8:26:20 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
"What is Social CRM?" is a question I'll be answering often in the future as Cubic Compass moves beyond our customer portal roots to embrace a new paradigm in customer service and support.

Let me first state that there is no single agreed upon definition of "Social CRM", and you'll never be asked this question in a quiz, so there's no right or wrong answer.

The "CRM" aspect of Social CRM denotes the embracing of existing CRM systems as a basis for enabling and managing online relationships. This is where we part ways with many of our Social CRM counterparts who tend to see social business software as a replacement for CRM. For midmarket and larger companies, it becomes increasingly difficult to maintain a single version of the truth, which is why the customer record in an existing CRM system should be preserved, embraced, and extended with Social Web 2.0 features.

Long-term, it is our vision that companies will look to fulfill basic online Social CRM requirements first when selecting a CRM solution.

80% of information stored in CRM systems today is manually entered by internal Sales and Support staff. In Social CRM, only 20% of the information is internally entered. The remaining 80% of data is provided by the customers themselves, enabling a unique and new opportunity for Customer Intelligence.

Social CRM encourages online collaboration, community, and discovery... not processes. But Social CRM metrics can be used to trigger internal CRM processes, such as reviewing negatively rated Solution articles and chat sessions or following up to forum comments.

A productive discussion about Social CRM must first start by categorizing organizations as B2C or B2B. It makes perfect sense in a B2C relationship for customers to vent their frustrations with Jet Blue or Comcast through Twitter or Facebook. A B2C organization would be remiss not to utilize these tools. Most "Social CRM" solutions today take this B2C "outer locus of control" approach to monitor, integratewith, and manage broader social networks.

Many large consumer organizations have dedicated Community Managers that monitor these social networks. We expect Twitter and Facebook to gradually offer Professional versions of their service to help organizations manage these B2C Social CRM interactions.

Social CRM for B2B companies requires a much different approach, and this is our area of focus. As an example, if an Engineer at Boeing needs help with a jet engine component made by GE, he/she will *not* simply go to Twitter and attempt to describe the problem in 140 characters hoping that someone from GE will see the Tweet and respond. Instead, most customers will go to a suppliers website/customer portal to resolve their issue.

Historically, customer portals only provided some basic solution search and case management functionality. The social aspect of Social CRM now enables customer portals to be rich with the following features:
  • Search results with community driven relevance
  • Customer Roles
  • Comments
  • Discussions
  • Voting
  • Tagging
  • Rating
  • Bookmarking
These features result in a richer self-service solution that enables customers to network with others and find answers to their problems 24x7.

Social CRM provides quantifiable results:
  • Increased case deflection
  • Decreased call center calls
And qualitative improvements:
  • Greater customer satisfaction
  • Access to community of experts
  • Acknowledgement of issues
Cubic Compass Social CRM recognizes that customers can be described in far richer terms than "Lead" or "Contact" and provides support for role-based experiences, such as "Engineer", "Primary Contact", "Donor", "Volunteer", or "Gold Partner".

I'll look forward to demonstrating these features in a series of webinars over the next few months to help you experience how to get more from CRM with a Social CRM solution from Cubic Compass. We'll also be applying our Social CRM solution to a new channel management solution in late 2009, so keep an eye out for more announcements.

 |  |  |  | 
Posted: Wednesday, September 09, 2009 6:12:04 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Todd, from Sales and Marketing, took the following pics during last Wednesday's trek down to Cubespace (in Portland, Oregon) where I presented 'The Art of Ware-as-a-Service' to the XP user group.

We unfortunately learned that Cubespace is in dire straits, but an initiative is underway here to help them keep going.

The presentation could not have been more timely given the circumstances. Many gifted Portland entrepreneurs are laying low under the premise that venture capital will somehow rebound; but reality could not be any further from this illusion.

SaaS business models allow software developers to launch companies now with almost no capital. Sure, the economy will rebound, but it's not likely to be in tech. Software is pervasive and is used in all aspects of the economy today and there are literally thousands of opportunities available in the long tail.

If you have a passion for developing software, then platforms like EC2 and Force.com are available to build companies that can quickly scale to $1M-$5M per year. This is markedly less than the $100M VC's are looking for, but those opportunities are few and far between. Better to spend your time pitching to potential customers than VCs.

Maybe the term "start-up" carries too many overly ambitious connotations to be used anymore. Not sure what to call it, but the time is definitely right for lot's of small software companies to emerge in the cloud, and Portland has the talent to be at the forefront of this effort.

Posted: Monday, May 25, 2009 1:14:56 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Reminder: I'll be presenting at this month's XPDX Users Group meeting. Looks like I may be competing with the American Idol final, so be sure to program your Tivo or just enjoy the presentation slides below :-)

What: The Art of Ware-as-a-Service
Who: Mike Leach Founder/CEO Cubic Compass
Where: Cube Space
622 SE Grand Ave

Portland, OR 97214

http://cubespacepdx.com/directions
When:
Wednesday, May 20th, 2009 6:30PM Gathering. Talk starts at 7PM

Description:
The first wave of Agile software development challenged "waterfall" project management methodologies and traditional Quality Assurance. The next wave of Agile challenges on-premise software through what is known as Software-as-a-Service (or SaaS)

Using Sun Tzu's timeless classic "The Art of War" as a framework, Founder/CEO of Cubic Compass, Mike Leach, presents principles and practices for creating and leading an Agile SaaS organization that challenges the status quo of software development and delivery.

Posted: Wednesday, May 20, 2009 1:41:59 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Dialogue Script now supports CAPTCHA. One line of code on any web form will now prevent bots from submitting bogus forms.

Great for Salesforce web to lead forms, event registration, or any other publicly accessible web form.

Wiki article is here. Example video below.

Posted: Tuesday, April 28, 2009 1:43:36 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Web development is at an interesting inflection point. Hosting applications in "the cloud" is gaining momentum, but the tools used to develop and customize these applications are still dependent on traditional Integrated Development Environments (IDE), like Visual Studio .NET, Eclipse, Adobe CS4, and Dreamweaver.

So what is cloud development? First, it's important to distinguish between developing "for" the cloud and developing "in" the cloud. When developing "for" the cloud, you are creating easily accessible applications with the intent of letting end users customize the "last mile". When developing "in" the cloud, you have the agility and mobility to modify an application from anywhere in the world, at anytime, using (almost) any device.

There is a "roaming" quality to cloud development. Cloud development tools become just another application, like Google mail/calendar, that are accessible from anywhere.

There is also a disruptive quality to cloud development. Everyone is now a "programmer" in the 21st century. Whether it's programming a DVR, iPhone, or building a MySpace page; everyone has a new found creative capacity and means to develop in the cloud. This is the natural progression of technology (it's important to note that Developers in the 90's opposed "Visual" development tools because they put distance between the programmer and the actual low-level code.)

Cloud programming languages must carry forward traditional traits; such as function, target, construction, and expressive power; but also be accessible by the masses.

Some common characteristics of cloud development include:
  • Emphasis on declarative configuration over customization
  • Inline browser editing
  • Dynamically typed
  • Interpretive
  • Custom event declarations
  • Stream management
  • Mobile accessibility
Posted: Sunday, April 19, 2009 7:52:25 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 
April 1, 2009

Cubic Compass today announced today the release of a new ground breaking technology for creating and managing interactive websites. Dubbed "Neural-Interactive Content Creation", or NIC2, this patent-pending technology allows content creators to interact with an i-Dialogue Content Management System (CMS) via a neurological interface that instantly converts thought patterns into web content, dialogue script, and workflow rules.

"The pace of change in today's environment is just too fast for simple tactile interaction with a web CMS", said Cubic Compass Founder Mike Leach. "Today's websites and portals must respond at the speed of thought".

Beta test user Samuel Anders (pictured below) successfully utilized NIC2 technology to provision, develop, and launch a fully functional website and customer portal in 17 seconds. "I consider myself a 'power user' of technology, so I was eager to plug-in to NIC2 and translate my ideas into a working solution. The results were simply amazing."

The following tasks are just a small example of what can be accomplished in milliseconds using NIC2:
  • Provision new landing pages
  • Change passwords
  • Grant permissions to portal users
  • Publish a press release
  • Add/modify workflow rules
  • Update style sheet
NIC2 is licensed per user and requires a lengthy pre-qualification questionnaire and note from a Doctor before use.

(Actual results may not be identical to those experienced by Mr Anders. NIC2 is not FDA approved and is currently not legal in many countries. Please contact sales for more information)

Posted: Tuesday, March 31, 2009 8:38:03 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 
Publishing web forms to your portal or website using Salesforce Page Layouts is definitely in my Top 10 i-Dialogue features list.

And now with the new Page Layout designer made available in Salesforce Winter '09, I find myself regularly encouraging customers to design and manage their i-Dialogue web forms in Salesforce.

Here's a short video (duration 3:50 ) that provides an update on some new features in the Dialogue Script PageLayout control that make Salesforce and i-Dialogue a fantastic combination for managing web applications.

Posted: Wednesday, March 25, 2009 1:56:53 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Interested in an online eCommerce solution integrated with Salesforce CRM? If "yes", then there's a lot we'd like to learn about your organization and requirements.

This solution map is a first step towards converting a multi-week information gathering process into a multi-day process with the aid of an online questionnaire and solution configuration utility.


Posted: Sunday, March 22, 2009 7:50:17 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
It's ironic how customer portals are deployed on the premise of providing "self-service" and "call deflection", but when poorly implemented, portals actually result in a net increase in administrative responsibility.

Portal administration time wasters:
  • Granting access to portal
  • Resetting passwords
Here are some general rules that ensure customers really are getting self-service to the information they need and reducing the time you spend managing the online relationship.

Rule of Least Privilege
All Leads and Contacts should automatically be members of the portal without any manual intervention. They are granted minimal privileges on the website by default. Granting access to more features requires changing a "role" or "rule" on the profile or account record.



Consistent Online Account
A customers online identity should remain consistent throughout the entire customer lifecycle. Once a lead self-identifies on a website and creates an account, that account/password must never change as a result of some front or back-office change, such a CRM Lead-to-Contact conversion or ERP account creation.

Single Sign On
Similar to being consistent with a single account, single-sign-on (or "SSO") ensures customers have access to "all" online applications and features using a single account.

Password Recovery Options
Most portal related support calls are related to password recovery, or inability to access the portal.

Anytime a password is being requested to access a portal, customers must have immediate access to their password recovery options. The password recovery process should *immediately* send an email to the requested account with instructions on how to reset or recover their password.

A link to online help on the signon page is also a great preventative measure.


As a fallback, a password reset button should be made available in the CRM system. The "reset and email" workflow should be contained in a single dialog box for the portal admin or CSR.

Portal Activation Invitations
When rule of least privilege is automatically granted to all Leads and Contacts in a CRM system, it becomes necessary to allow customers to activate their account and establish their password online.

A "welcome" page template is made available that allows customers to enter their email address and progress through a simple 2 step process to set their password before accessing the portal.

The welcome page should prevent subsequent activation attempts by already activated users.

Implementing the measures above has proven to dramatically reduce the administrative overhead of managing a portal and increasing customer satisfaction when using online portal services.

Posted: Wednesday, February 18, 2009 3:17:37 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Our best portal solutions emerge when our interests align with our customers. Such is the case with our Quote to Cash (Q2C) process, which we not only use for our own business, but plan to offer as an AppExchange application. After all, what better demonstration can any company give than how they use their software to run their own business?

At it's most simplest, the Q2C process is as follows:

1. Lead is generated and entered into Salesforce
2. Lead is converted to Opportunity
3. Product Line items are added to Opportunity in response to customer needs
4. A link to an online quote/service order is sent to the customer for review
5. The customer provides feedback on quote
6. Finally, the customer purchases online. Opportunity is updated as Closed-Won


You'll notice that step 4 provides a link to quote "slash" order form. Traditionally, "quotes" and "orders" are two separate entities. For an optimized online Q2C process, these are one and the same (just be sure to add some standard expiration verbiage to the quote template).

So, there are clearly some significant benefits to this process. But what are some drawbacks?

1) Change history. By default, if your Sales rep goes through 2-3 iterations with a customer and generates several quotes, you'll lose the change history. The workaround is to enable history tracking in Salesforce on the Opportunity record. An audit trail will exist, but you'll need to reconcile change events with dates to determine exactly what the customer saw on a particular date. Because this need to audit quote history only happens 1% of the time in our process, this trade-off is acceptable. Sales reps optionally have the ability to PDF print a quote at any time.

2) Contract signature. There is an implicit step 5.5 in the process above for getting the customers signature for certain types of agreements. We use our own i-Dialogue HTML to PDF converter for taking a snapshot of the online quote then send it out for signature via EchoSign. But some opportunities where an agreement is already in place, such as site upgrades, it is sufficient to include legal verbiage in step 6 that says "you agree to the terms and conditions available here". The onus is then on the customer to print the agreement for future reference.

3) Online payment processing. We're happy using our own Pay Pal cloud connector in step 6 for accepting online payments and automatically updating the corresponding Opportunity, but we work with several clients that must use particular payment gateways for compliance reasons. It's not difficult to plug this process into any payment gateway, but extra effort is required.

This process is kept simple by design in order to enable re-purposing the solution as an AppExchange application. We could, for example, use a custom Quote object to address the change history issue, or correlate Quotes with Campaigns for influence reports; but this can quickly lead to dual maintenance of records, plus we can't assume all Salesforce customers will have access to these features.

This Q2C process is nearly identical to the online donation process for non-profits, which I'll describe in upcoming weeks. Stay tuned and "happy quoting"!

 |  |  |  | 
Posted: Saturday, February 07, 2009 7:29:53 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
What is the best operating system for accessing cloud-based services? Windows? Mac? Linux? gOS?

In my experience, the best operating system for the cloud is not an OS at all. It's Express Gate from ASUS.

This BIOS managed application boots up in 5 seconds and has a fantastic built-in web browser that works great with Google Apps, Salesforce, and many other applications.

Even though the actor in the video below is using a desktop, this would make an ideal Netbook OS.

Posted: Saturday, January 10, 2009 2:57:05 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Despite the brief outage of Salesforce.com today, the sky is not falling. See my blog post from about 3 years ago for some perspective.

Posted: Wednesday, January 07, 2009 12:51:29 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The Salesforce service appears to be down. This outage should have no impact on i-Dialogue hosted sites, but may impact page templates that are dependent on real-time Salesforce data.

We are monitoring the situation closely.
You may monitor the status of this service at http://trust.salesforce.com/ or http://www.trustsaas.com

UPDATE: 1:25 pm PST : All Instances and Trust.salesforce.com Service Disruption - Resolved 
The Salesforce.com Technology Team has resolved the service availability issue on all instances and trust.salesforce.com. The problem began at 20:39 UTC and was resolved as of 21:17 UTC, during which time the service was largely unavailable. We apologize for any inconvenience this may be causing you.

Posted: Tuesday, January 06, 2009 8:51:15 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
... is to invent it (to borrow from an Alan Kay quote)CrystalBall.jpg

Given that my 2007 and 2008 predictions were too dependent on other people or organizations (don't follow those links. It was painful enough for me to re-read them ;-) ), I'm taking a different approach this year and simply "predicting" what's going to happen in 2009 based on variables within our control.

"Year of the Cloud"
I like to think small businesses are a leading indicator of the broader economy, and if that's the case, then 2009 will be a strong year for cloud computing as small businesses move to both produce and consume cloud based services. Future Fortune 500 companies will start in 2009 with SaaS and cloud computing baked into their DNA.

"CRM 2.0 = Community Relationship Management"
"Web 2.0" features, such as democratization, user-generated content, tagging, and rating will find their way into B2B portals and websites. "Social networking" will be a feature of web content management systems, instead of a silo application.

Customers will increasingly want go online and manage the relationship with their suppliers/vendors through their portals.

The job title of "Community Manager" will become common. They'll need tools like the Community Graph to gauge customer demands and needs.

"Browser Is the New IDE"
Web development will increasingly be done with lighter weight tools, such as Firefox and FireBug, allowing for a completely browser-based integrated development environment. Developers will have the agility to access and modify their applications from anywhere in the world using netbooks.

Websites will no longer be seen as being discrete deliverable projects. Instead, websites will become fluid entities that morph and adapt to the clients and organization's needs. The browser IDE will enable this agility.

Visual Studio .NET and Eclipse will remain powerful, essential, yet "old school" tools. The inherent conflict of interest between SaaS and traditional IDE's will result in more browser IDE adoption.

"Useful Metrics"
Online solutions will break away from the legacy of "Business Intelligence" and "Marketing Analytics" and provide real-time metrics that are pragmatic, useful, and actionable.

"Gaming As A Metaphor"
CRM and call center workers will adopt line of business applications much more readily if the user experience is aligned with video game design elements. Responsive, real-time, and graphical UI's will be favored over forms-based applications.

Employees will prefer to "interact" with their customers online in much the same way they interact online in PVP games. Learning curves will be reduced and adoption will increase.

Company goals and missions can be more easily visualized and real-time feedback provided through rich game-like interfaces.

"Collaborative Development"
An extension of the IDE will give web developers direct access to an online repository of pre-built scripts and cloud connectors, from Google Charts and Maps, to Salesforce web to lead forms, and StrikeIron tax services.

Principles of open source and Creative Commons will encourage this "remix" and mash-up of web services to produce new and unique solutions.

"Dynamic Languages"
More than half of all new web development projects will choose to use a dynamic languages, such as Python, Ruby, PHP, or Perl. Browser-based IDEs will accelerate this adoption. Javascript and JQuery will become essential tools for building responsive and interactive web applications.

"Domain Specific Languages (DSL)"
New languages will continue to emerge that are suited for specific tasks and domains. Our own language, Dialogue, will enable web developers and business users to think abstractly about their website/portal/community and easily interact with their online constituents.

"Amazon EC2 Will Rock"
The ease of provisioning an operating system and storage through Amazon and paying for resources based on usage will make EC2 the status quo platform for cloud developers.

"3rd Party Google Apps Get Serious"
Google Apps are at the threshold of being adopted by several organizations, large and small. The only obstacle being industry specific configuration, monitoring, and auditing. 3rd party partner apps will start to move in to help verticalize Google Apps and replace existing email/calendar productivity applications.

 |  |  |  |  | 
Posted: Wednesday, December 31, 2008 3:44:09 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

A core tenet of i-Dialogue 9 is that all website entities inherit the following social interfaces and behaviors:

  • Comment
  • Rating
  • Tag

Objects integrated with other systems, such as Salesforce.com, automatically inherit these social extensions.

Once a community becomes active on a website, how does this information become actionable for a Product or Marketing Manager? How do you visualize a plethora of comments, ratings, and tags on a website? i-Dialogue 9 solves this problem by providing a graphical analytics application for visualizing the online community.


The community graph is interactive and supports high-level visualization of the community and the ability to zoom in on any entity. Graph nodes are color coded to indicate increased activity or negative ratings.

Graph nodes may be modified or removed (for community moderation).

Graph nodes may be ordered by time (most recent at top), rating (highest rated top to bottom), comments (most commented at top) or tags (most tagged at top).

Internal employees may assign a Task to any entity for follow-up.

Default Social Entities:

  • Knowledge Base Article
  • Trouble Ticket (aka Case or Issue)
  • Discussion Forum / Topics / Post
  • Document
  • Article (Blog or Webpage)
  • User
  • Chat

Alerts:
Any user may initiate a 'Watch' anywhere within the object graph hierarchy. A watch results in email notification when any child entity is updated.

Product Roadmap Notes
Technology: Silverlight
Anticipated Release Date(s)
Social entity behaviors= Winter 2009
Community Graph=Spring 2009

Posted: Tuesday, December 16, 2008 7:26:19 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Salesforce.com announced support for Google Apps Engine (GAE), which is a cloud-based platform for developing websites and portals using Python.

Between GAE, Dialogue Script, and the Salesforce/Plone project, there certainly is a lot of love going around for creating sites with Python.
Posted: Monday, December 08, 2008 5:40:52 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Dynamic RSS Feeds are a little known, but powerful feature in i-Dialogue; and when integrated with a cloud data source, such as Salesforce.com, can be used to keep your visitors up to date and pull them into your site.

As users start to adopt RSS Readers for aggregating their news, it becomes even more important for Marketing Managers to become familiar with RSS and how to get mindshare in the "new inbox".

This Wiki article describe how to setup a recruiting RSS feed of recent job postings. RSS feeds are expressed as SOQL Plus queries, so you can add anything to your feed.

The major components to this Dialogue pattern include:
1) Salesforce managed record (Press release, listing, property, etc...)
2) A published RSS feed that displays top 10 or 20 items
3) A click-though landing page that displays record details

Our implementation services team can deploy this Dialogue template in less than 60 minutes. Give us a call to learn more.

 


Posted: Saturday, November 29, 2008 6:04:28 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
(With respect to Aerosmith)

Amazon just announced CloudFront; an Akamai-like service for hosting web resources closer to end-consumers of websites and portals.

How can CloudFront improve my i-Dialogue hosted solution?
i-Dialogue solutions are hosted in Plano, Texas and the Pacific NorthWest. When a visitor to your site in Europe requests a web page or document, that file must travel half-way around the world to the requesters browser (where it is typically cached for future requests).

CloudFront allows commonly accessed files, such as images, cascading style sheets, and javascript libraries, to be hosted and cached at various locations around the world to minimize the distance travelled to serve these resources.

How do I get started?
This service is currently in beta. We will initially pass through Amazon's CloudFront subscription costs directly to subscribers (setup and configuration fees may apply). Contact info@cubiccompass.com to learn more and get started.

How does CloudFront impact the content publishing process?
We are still researching how CloudFront impacts a typical content publishing workflow and what extra steps will be required by content publishers.

The long term goal is to manage CloudFront as a black box and any files/images copied to a specified folder on the i-Dialogue CMS are immediately replicated to CloudFront.

Dynamic pages will still be hosted on i-Dialogue and real-time data will still be retrieved from their content source (such as Salesforce, Google, or Microsoft services).

Where are the edge network locations?
Here's the info from Amazon's website on available network locations:

The Amazon CloudFront Network

To deliver content to end users with lower latency, Amazon CloudFront uses a network of edge locations world-wide. Amazon CloudFront uses the following edge locations:

United States
  • Ashburn, VA 
  • Dallas/Fort Worth, TX
  • Los Angeles, CA
  • Miami, FL
  • Newark, NJ
  • Palo Alto, CA
  • Seattle, WA
  • St. Louis, MO
Europe
  • Amsterdam
  • Dublin
  • Frankfurt
  • London
Asia
  • Hong Kong
  • Tokyo


Posted: Wednesday, November 19, 2008 6:56:53 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
In times of economic pressure, web developers commonly take one of 2 paths.

Option a) Recede with the recession and fall back on known technologies and solutions (such as open source CMS's, databases, HTML, Javascript). (ie "Play it safe" or "ride it out")
Option b) Make progress, learn new skills, and invest in the next wave of technology.

Unfortunately, the majority of Developers chose option A, not realizing how diluted their skills become by competing with a global marketplace taking the same strategy.

Those investing in new skills during a recession are best positioned to capitalize on the inevitable next wave.

A recent Forrester Research article highlights the oncoming commoditization of Enterprise 2.0 applications and foreshadows the need for developers to leverage services outside their organization. Web developers must start adding value to their organizations by looking beyond the capabilities of a single CMS or portal.  We live in a service oriented world and horizontal integration with other services on the web is often times only a cut-n-paste away.

So what will be the next $100K+ salaried position in Web Development? "Mashup Developer" may be a contrived and temporary term, but it correctly communicates in spirit where the market is going and what skills will be in demand.

Web developers need to work in cross functional teams across all business lines and enable online communication between customers, partners, and employees using a multi-dimensional Internet navigation framework, so to speak (ok... shameless plug for the origin of "Cubic Compass" :-) ).

Cubic Compass developers that are investing in mashups involving "Google/Salesforce/StrikeIron/Amazon/OpenID" will emerge as the next CTO's and CIO's when the economy rebounds by chosing "option B" and investing in new skills.

Some recommended next steps for capitalizing on this opportunity:

Posted: Wednesday, November 19, 2008 3:41:15 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The focus of the Day 1 keynote was the announcement of Salesforce "Sites", which is the ability to allow anonymous, public access to VisualForce pages.

Evangelizing the need for tighter integration between websites and CRM has, at times, seemed like an uphill battle for us the past 3 years. This announcement brought Customer Experience Management to the forefront and shifted the conversation from "build or buy" to "which cloud platform" to use for web development almost over night.

The timing of our ".NET As A Service" announcement was extremely relevant and we had many interesting conversations with visitors to our booth in the expo hall.

The keynote then shifted to a discussion with Neil Young and his LincVolt project. With the pending bailout of Detroit auto manufacturers looming, it was inspiring to see this "Single Man with a Vision" story as Neil revealed a multi-fueled (primarily battery powered) converted 1959 Lincoln.

Foo Fighters played the Monday night Gala (the temporary loss of hearing was well worth it).

"No servers" and "No software" continued to be the mantra through the Day 2 keynote as Salesforce demonstrated a real-world use case of how Dell is using Salesforce for channel management and using customer Ideas. In typical contrarian style, Michael Dell came out on stage and proceeded to promote notebooks, servers, and SCSI array configuration software (gotta love this guy).

Suppressed from this years Dreamforce event was any mention of Venture Capital or the $400+ Million invested in Salesforce partner solutions to date. The partner summit on Wednesday had a much more pragmatic tone that revealed the true lower cost to entry made available by Platform-As-A-Service and the ability to get going without equity investment.

Another contrast from last years message was Salesforce's emphasis to "double down" on horizontal CRM platform services and empower partners to build native vertical applications.

In conclusion, my general sense is that the current economy is forcing a process of retrenchment around the world. Cloud computing is benefiting from this paradigm shift because of its demonstrable cost reductions and efficiencies of scale. One of my favorite quotes from a CIO at the event said "By this time next year, the leader in your market will be leveraging cloud computing. I hope that company is yours."


Posted: Tuesday, November 11, 2008 7:55:06 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Well, we're just about 24 hours away from kicking off Dreamforce 08. This will be my 4th Dreamforce (tire kicker/user in '05, presenter/sForce hero in '06, sponsor '07, sponsor '08).

I'm sure the blogosphere and tweets will be on fire throughout the week, but I'll do my best to post the latest here.

Some key areas I'll be focusing on:

  • Campaign Influence reports. Making Salesforce Campaigns the primary hub for managing internet campaigns and automatically updating responses from multiple channels
  • Advanced reporting. Several of our clients are sitting on tons of web event information and the reporting/mining inquiries are getting increasingly complex. Hoping to learn some new tricks in this area
  • MetaData API. Ability to provision i-Dialogue more quickly. Reduce repeated manual configuration of adding custom objects/fields.
  • Google API. In particular, exporting our web events to Google Spreadsheets and using Google Charting and Visualization tools

Please come up to booth #211 and introduce yourself. Bryce Hamrick, our Implementation Services Project Manager, and I are looking forward to meeting you!

Posted: Saturday, November 01, 2008 10:24:55 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Congratulations to this years Navigator Award winners! There were so many to choose from and we ended up adding a couple extra categories to showcase some truly magnificant i-Dialogue solutions.

PORTLAND, OR (October 27, 2008)   

Cubic Compass Announces 2008 Navigator Awards

Cubic Compass, a provider of on-demand web content management solutions, today announced the recipients of the 2008 Navigator Awards. Navigator Awards recognize organizations who have made significant contributions to enabling one-to-one online "dialogues" with their customers, partners, or employees through the use of CRM and the i-Dialogue Web Suite.

Best Overall Solution
www.LeftHandNetworks.com



LeftHand Networks (LHN) utilizes the i-Dialogue Web Suite for their main website, partner portal, customer portal, and product discussion forums. The portal staging and high-availability capabilities of i-Dialogue Unlimited Edition are employed to apply a disciplined multi-stage content publishing process that ensures the right information is available to the right person at the right time.

As an early adopter of Salesforce, LHN defined all facets of their business using custom objects in Salesforce and needed a highly customizable CMS to leverage their existing CRM investment. LHN's internal staff used the i-Dialogue API to develop a variety of online web applications, such as event management, license management, product pricelists and quoting, and a site-wide search engine.

LeftHand Networks was acquired by Hewlett Packard in October 2008 for $360M and continues to be recognized as an industry leading provider of iSCSI SAN solutions. 


Best Web Design
www.ConfigureSoft.com

ConfigureSoft makes use of rich multimedia and informational collateral to provide an interactive and personalized experience for their Customers and Partners.

Other online features deployed by ConfigureSoft include webinar event registration, discussion forums, partner portal, and customer portal.


Best B2B Portal
portal.iGrafx.com


iGrafx manages the entire customer life-cycle using i-Dialogue; from demand generation and lead cultivation to providing an online eStore and customer support forums.

iGrafx automates the lead cultivation process by providing self-service to case studies, user guides, and product downloads then follows up with automated emails using i-Dialogue drip email marketing. All online interactions and downloads are captured in Salesforce and used by Marketing and Sales to gauge customers interest in online resources.



Best Partner Portal
Planar


Planar has grown in recent years through the acquisition of new businesses. Planar deployed a partner portal for their digital signage business unit in 2007 and continues to expand their channel marketing efforts in 2008 by deploying partner portals for their home theater and control room business units.

i-Dialogue Premier Edition allows Planar to deploy multiple, uniquely branded partner portals that provide channel partners with 24/7 access to product marketing materials, news, events, software updates, and training resources.

Planar IT staff were early adopters of Dialogue Script and leveraged their in-house web development skills to create a dynamic and well organized online experience.


Best Non-Profit Portal
www.RISENetwork.org

RISE - Resources for Indispensable Schools and Educators

RISE is a national nonprofit organization that helps K-12 public schools in low-income communities attract and retain experienced, talented teachers so all students can achieve at high levels.  www.RISENetwork.org facilitates online dialogues between Teachers and Schools using i-Dialogue and Salesforce to manage contact identities, applications, and workflow processes.

Online features include application management and screening, Job Search, Application Search, Google maps, Survey response metrics, teacher-school communications, and Job/Teacher interest level tagging.


Best Consumer Web Solution
my.ColoradoPlasticSurgery.com

Like most small business and practice managers, Dr. Nick Slenkovich of the Colorado Plastic Surgery Center, was inundated with solicitations from pay per click and referral networks promising new Leads. Most referral partners provided information on how many leads were referred, but Dr Slenkovich required more insight into what kinds of Leads and Opportunities were produced from each referral source.
 
By using Salesforce Pro Edition with Campaigns integrated with i-Dialogue, Dr. Slenkovich deployed an intelligent landing page management solution and created unique tracking codes for all referral partners that resulted in detailed campaign influence reports in Salesforce. Google AdWords, banner ads, and referral partner marketing expenses are all now evaluated by the quality of opportunities they produce instead of the quantity of Leads.

Posted: Saturday, October 25, 2008 11:35:18 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Jakob Nielson posted an interesting article on Transactional Email and Confirmation Messages.

In a Salesforce CRM context, this basically boils down to the subject and message contained within Web-to-Lead and Web-to-Case email auto-responders.

On the Lead side, I recommend a series of informative emails, aka an email drip campaign, that are conversational and informative in nature (even though Jacob advises against message sequences in an order shipping scenario, they are very effective when applied to Lead cultivation).

The email should appear as if it were sent from an actual person and not an automated response.

Example:

Subject: Follow-Up To Your Case Study Download
Hello {!Lead.FirstName},

Thank you for your interest in [product/service/organization]. I thought you may also be interested in the following resources:
  • Link 1
  • Link 2
  • Link 3
Please feel free to reply to this email with any questions.


Regards,

Personalized Signature
With complete contact information


For Web-to-Case, the best advice is to simply acknowledge receipt and describe what next steps are being taken to resolve the customer issue.

Subject: Support Ticket Received
Hello {!Contact.FirstName},

We received your trouble ticket. A service representative will review your case and respond within X hours.


The following online resources may be useful in resolving your issue.
  • Link 1
  • Link 2
  • Link 3


Notice both emails make use of bullets to break up the monotony of raw text and run-on paragraphs.

For case management, these links should also be published directly next to the web-to-case form to encourage self-service to FAQ'a and solutions prior to submitting a case.

Posted: Friday, October 24, 2008 10:07:29 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

So, it was announced back in July that Journey will play Dreamforce. Then Mark at SalesforceWatch spots a change on the Dreamforce website announcing Foo Fighters will play.

hmmmm... seems like deja vu all over again. ;-)

Posted: Wednesday, October 22, 2008 6:02:58 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Python is here! A couple months ago I mentioned the need for more dynamic language support in SaaS solutions. Last month we announced support for JScript and this month I'm happy to announce support for IronPython in i-Dialogue.

I spent the weekend learning some Python basics and created a simple (and I mean simple) Python demonstration in the i-Dialogue Developers Sandbox. You're welcome to modify this source and experiment on your own.

After years of working with the Salesforce API using statically typed languages; such as C#, Java, and Apex; it is refreshing to re-approach old problems through new eyes. After only a few days of playing with Python, I see now what others have been raving about.

Web developers will really enjoy using Python with Dialogue Script:

  • Cleaner code. Easier to read and manage
  • No need for thick IDEs. Too often, an IDE like Eclipse or Visual Studio stands between you and the desired solution. Dialogue Script development is 100% browser-based (yes, it even works in Chrome!)
  • Agile business rules management. Work side-by-side with business users and apply business rules directly in web pages
  • Dynamic typing
Posted: Sunday, October 12, 2008 8:53:07 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

There's been a reshuffling of booths at Dreamforce. We're in the same location, but the booth number is now #211 (was 311).

I'm really looking forward to finally placing names with faces, and meeting lots of new people at this event

Posted: Thursday, October 09, 2008 8:11:55 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Last January I shared some thoughts on keeping hosted services up and running 99.9% of the time. eMarketing Websites and portals often do not have the luxury of going down for 3 hours of maintenance (or even 3 minutes), leaving me to often envy the planned maintenance notices I receive from Salesforce when logging in :-).

As you can see from the daily report below, our monitoring service loves to occasionally tease us with uptime reports hovering at 99.89% uptime.

Some key things we observe and monitor:

  • "Downtime" in the report is measured in blocks of 5 minutes, so what may have actually been a 10 second outage gets reported as a 5 minute outage, skewing the actual results.
  • Sub-second response time (< 1000 milliseconds), while not contractually in the SLA, is a key metric in determining site performance and customer experience.
  • Customers who deploy changes to a staging server first (available in Unlimited Edition) have a much higher likelihood of sustaining 100% uptime day over day.
  • Reliance on a good datacenter partner is critical. Our offices are not the most luxurious, but we spare no expense on our datacenter location and services.
Posted: Thursday, October 02, 2008 8:20:47 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Inevitably, some Developers need to apply advanced business and content manipulation rules to web/portal pages that display collections of Salesforce records.

This trick of using Javascript Arrays works very well. The basic components of this pattern are:

  • Create a Javascript object that mirrors the Salesforce object and fields to be managed
  • Use a Dialogue Script Repeater control to select a collection of records from Salesforce and package them into a client-side Javascript array.
  • Render the web page using the Javascript collection of objects.

Very powerful technique. I can foresee the need to extend DScript controls to return results in a format such as JSON, which is already in use in our AJAX library.

You can view a source code example in the Developer Sandbox.

Posted: Thursday, October 02, 2008 6:12:05 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

As the Financial Institution's fall one-by-one, I'm drawn to the influence that software is having on Wall Street.

I've long been an admirer of James Goodnight, CEO of business intelligence company SAS, and the SAS culture. The SAS value proposition was originally represented to me several years ago as "We help banks identify risk using data warehouse technology".

So I wondered what role SAS may have had in the mortgage crisis. At it's peak, WAMU, and several other banks were advertising "Mortgage approvals in 10 minutes!" The assumption being that they were using massive data warehouses, like those powered by SAS, to quickly determine whether or not a customer was credit worthy.

But apparently these risk management systems were either skewed to accept unnecessary risk, or they were simply ignored. SAS derives the majority of it's $2B in revenue from Financial Services (yes... that's 2 Billion with a "B"... and they're still a private company) so I was somewhat amused to find this article where Mr Goodnight says:

“It doesn’t really matter what Wall Street wants. They’ve proven they don’t know what they are doing. They’ve made a mess of their own companies.”

“I think we need to get to the point where we don’t worry about what Wall Street thinks all the time because it’s clear Wall Street has not performed at all. Bank after bank has been going under with the exception of Goldman Sachs or JP Morgan Chase”

The latest issue of Dr. Dobb's Journal has an article titled "Is Your Next Language COBOL?", where they report that 70% of Merrill Lynch's business runs on COBOL... a 50 year old programming language. Merrill purchased 5,000 seats of Salesforce back in 2005. They've since been acquired by Bank of America.

Last year, Salesforce was betting big on wealth management and selling into the board rooms of financial instutions. I don't think the latest fallout impacts this strategy negatively. If anything, the re-building process on Wall Street will force a critical review of SaaS and on-demand solutions as they build out next generation infrastructure.

One area worth following closely is algorithmic trading. It's estimated that one-third of all stock trades were driven by automatic programs in 2006. By 2010, that figure will likely reach 50%.

You can draw your own conclusions. Were financial institutions ignoring decision support systems? Were their systems outdated? Is automation moving too fast for humans to reliably intervene and prevent financial disasters?

Thankfully, no one is blaming technology for this mess. If anything, there is a universal concession that "this is the future" and we'll need to deal with it.

The Internet has enabled a globalized economy. Whether or not it makes sense to trust a geographic center of influence for financial services in New York is clearly being called into question.

Posted: Friday, September 26, 2008 3:11:30 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Good web form design consistently accomplishes:

  • End User Convenience
  • Data Validation

This web-to-contact form in the i-Dialogue Developer's Sandbox looks pretty simple on the surface, but it implements several subtle best practices that often get overlooked.

How to Make Web Forms Convenient

The "First Name" textbox incorporates use of the "HasFocus" attribute to ensure the user does not have to click on the textbox to begin data entry. They simply start typing.

<dlog:TextBox id='FirstNameTxt' FieldName='FirstName' HasFocus="true" />

Tab orders are logically defined so that the end user can progress through the web form without need for selecting each textbox (while a TabOrder attribute is available, default behavior is to simply progress through the form fields top-to-bottom).

Finally, the DScript button control sets the "IsDefault" attribute to "true" to ensure that if the Enter key is hit, the form will automatically submit the form on behalf of clicking the button.

<dlog:Button id='SubmitBtn' Text='Contact Us' IsDefault="true" />

Data Validation

There's a new Wiki article on Page Validation that describes both client-side and server-side validation techniques using Dialogue Script.

Client-side validation is sufficient for most marketing web forms, but portal applications typically must take extra precaution and also validate data entry on the server.

Dialogue Script supports the full array of ASP.NET Data validation controls. Our demo web to lead form uses the RequiredFieldValidator control to prevent the web form from being submitted with an empty Email value.

<asp:RequiredFieldValidator 
        id="valEmailRequired" 
        ControlToValidate="EmailTxt" 
        Display="dynamic">* Email Required
</asp:RequiredFieldValidator>

The RegularExpressionValidator control may be used to validate that the email address is well formed (such as requiring "@" and "." symbols in the address).

<asp:RegularExpressionValidator
        id="regEmail"
        ControlToValidate="EmailTxt"
        Text="(Invalid email)"
        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />    

Another side benefit of applying validation to web forms is the prevention of SPAM, which is caused by automated bots that roam the Internet hoping to share links of various V1@gra sites on unsuspecting Blogs.

Posted: Thursday, September 25, 2008 5:02:34 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

We're only 45 days away from Dreamforce and the launch of our new platform, code named "Fibonacci".

Some exciting new features we'll be demonstrating:

  • "Get It Now" provisioning
  • Python script language integration
  • Built-in User Experience best practices
  • On-demand script sharing with other i-Dialogue Developers

Why code name "Fibonacci"? Perhaps because the new features enable exponential growth? Because good web design makes consistent use of the Golden Ratio? (I don't know really... our previous release was named "Caprica" and you'd have to be a BSG fan to understand that :-) ).

Stop by booth #311 at Dreamforce to check it out!

Posted: Thursday, September 18, 2008 2:12:59 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Is it just me, or does the opening title in the Dreamforce 08 Trailer "For six years, big dreams have had a single home..." lend itself to being a suspenseful lead into an evolutionary announcement? Like, "does Dreamforce now have two homes?" (which technically it does).

Anyway, brilliantly done.... I wonder if this is more work from Bruce Campbell? Like last years digital montage, some Salesforce video's are Hollywood scale pieces of art.

Posted: Thursday, September 11, 2008 2:09:17 AM (GMT Standard Time, UTC+00:00)  #   
Comments [2]  | 

Marketing campaigns and portal applications are complex. Business rules and workflows can change weekly, sometimes daily.

The ability to adapt to change is the definition of being "agile", and agility provides the competitive edge necessary to compete in the 21st century.

I'm happy to announce the availability of a new Dialogue Script enhancement that allows organizations to program business and workflow rules directly into web and portal pages, without the need for traditional programming tools, such as Eclipse or Visual Studio.NET.

The i-Dialogue Developers Sandbox is a new addition that allows you to get hands experience working with Dialogue Script.

  • Nothing to download or install
  • Unlimited Access (no limited trial access restrictions)
  • No fees
  • Just close your web browser to restart your sandbox session

I plan to provide links to working examples in the Sandbox for all future articles so you can dig right in and experiment on your own.

Posted: Saturday, September 06, 2008 3:51:10 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Google Chrome is a hit on 2 fronts:

  1. It's the best web browser out there for using multiple Office 2.0 web applications
  2. The Marketing story about Google Chrome is so good, I was prepared to make the above the statement before even trying the product!

So I download Chrome and fire up my array of productivity apps and just start working like I would in IE or Firefox:

  • Tab 1: Google Mail now has more real estate
  • Tab 2: Google Calendar. Maybe its me, but it seems to load a little faster
  • Tab 3: Google Docs. Works as expected
  • Tab 4: Salesforce.com. no noticeable problems
  • Tab 5: Our own website... fine from end-user perspective, but alignment of some modal dialog boxes in admin experience looks a little off
  • Tab 6: Salesforce API. Need to look something up for a client and the collapsible left navigation doesn't work
  • Tab 7: Loving Chrome so much after a few hours I gotta blog about it... but the WYSIWYG editor doesn't work (oh well.... open IE to blog about how much I love Chrome... I guess there's some irony there :-) )

Windows Task Manager (screenshot below) gives me an indication of how much memory Chrome's 7 tabs are consuming compared to Internet Explorer with 2 tabs open.

The key difference with Chrome is that each "Tab" is actually an independent process, so when an Office 2.0 app goes bad, it doesn't bring down the entire browser (happens to me at least once per day when using GMail in IE.... never happened in Firefox).

Simply stated: If you routinely use Salesforce and at least one other Office 2.0 app, you should check-out Chrome. download here (Beta).

Posted: Wednesday, September 03, 2008 3:48:06 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 
Good thing Oregon has a mail-in ballot, because I just realized we'll be attending Dreamforce on election night, November 4th, 2008.

I wonder if Salesforce can provision one of those unlimited seat orgs to open up voting to the masses online? ;-)

Posted: Tuesday, August 26, 2008 3:42:37 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's amazing how much ROI (definition:return on investment) can be achieved from the skillful placement of a single web page in the funnel of a campaign.

Elena, WebMaster at Configuresoft, shares this experience with using a piece of CampaignResponder script in an event registration campaign (and only 3 weeks after the feature was released!).

"The campaign was a success. Since the Campaign Response script allowed us to provide customers with a one-click registration (without filling out a form), we received twice the number of registrations than usual (over 350) and had to order an additional dial-in line for the webinar (that's a good thing though). And since I didn't have to mark those registrations manually in SalesForce, it saved me 6-7 hours on just one campaign! This feature is the best thing since sliced bread! Thank you so much!"

That really is a remarkable increase in response through a bit of script. Well done Elena!

I'm assuming she created links in an email campaign in the format:
<a href="http://www.domain.com/event-response.aspx?cid={!Campaign.Id}&lead={!Lead.Id}&status=Attending">Yes, I will attend</a>
<a href="
http://www.domain.com/event-response.aspx?cid={!Campaign.Id}&lead={!Lead.Id}&status=NotAttending">No, I cannot attend at this time</a>

You can create links like this using any email application on the AppExchange... it's not specific to i-Dialogue.

Assuming the use of i-Dialogue enterprise edition at $1,195 per month, let's look at a more detailed ROI calculation.

Cost Assumptions:
i-Dialogue Subscription: $1,195 per month
Marketing Effort: $50 hr
4 campaigns per month

Savings:
6-7 hours saved per campaign = $300-$350
4 campaigns per month (saving 24-28 hrs month) = $1,200 - $1,400 savings per month

That return on investment alone covers the cost of an i-Dialogue subscription. But Elena doubled the number of webinar attendees by providing a one-click registration.

If you look at ROI as amortizing the i-Dialogue hosting costs over the number of webinar lead registrations, you get the following:

Webinar Cost Per Lead (Before):
175 attendees per weekly webinar
700 attendees per month
Spread the $1,195 cost out over 700 attendees = $1.70 per attendee.

Webinar Cost Per Lead (After):
350 attendees per webinar
4 webinars per month
1,400 attendees per month

Doubling the number of webinar registrations to 1,400 (meanwhile saving ~25 hours per month), results in a cost per lead of $0.85 per lead and increase in productivity.

That extra 25 hours can go towards creating more webinar content, or creating follow-up email cultivation campaigns to attendees.

Add in PPC, email marketing, and other acquisition costs and this scenario is still well below $5 per lead. Would you spend $5 per lead on marketing automation to sell your product or service?

No matter how you calculate ROI, marketing automation can really pay off when utilized correctly.

Posted: Tuesday, August 19, 2008 7:55:01 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Configuresoft's website recently underwent a dramatic change using i-Dialogue CMS. Configuresoft's Enterprise Configuration Management (ECM) solutions help IT professionals to deploy security updates and patches to thousands of PCs from a centralized, intelligent control panel.

Each web page makes effective use of i-Dialogue SEO metatags to ensure a Google search for "Enterprise Configuration Management" correctly displays relevant information as the top search result, while their dynamically generated Google SiteMap keeps Google informed of any changes to the website.

Google custom search and Analytics are tightly integrated into the site.

www.Configuresoft.com serves prospects, new Leads, Customers, and Partners.... all from a single CMS platform integrated with Salesforce CRM.

I really like the use of Flash on the home page with a consistent, easy to use navigation menu. Everything on the website is accessible within one-click.

Probably less obvious is Configuresoft's elaborate use of Dialogue Rules to dynamically present content to end-users based on their role.

Posted: Sunday, August 17, 2008 1:25:33 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Congratulations to Cubic Compass customer LeftHand Networks for surpassing 3,000 customers and their continued 110 percent year-over-year growth.

Their iSCSI SAN line of products plug right into any existing IT infrastructure using commercial off-the-shelf disk storage devices and existing IP networks.

LeftHand Networks iSCSI solutions are playing in key role in the evolution of virtualized server environments.

Initially an adopter of our i-Dialogue Channel Management solution, LeftHand Networks recently deployed their 'www' domain on an i-Dialogue web content management system.

Key solution components:

  • Online Membership Management (Accounts / Passwords / Roles)
  • Single-Sign-On between portal and www domains
  • Salesforce.com CRM Integration
  • Online discussion forums
  • Channel partner deal registration and opportunity management
  • Online product price sheets and quoting
  • Document management
    • Role-based access to documents and product binaries
    • Event tracking and reporting of all document downloads
  • Training and event management
  • License key management (for activating product licenses)

LeftHand Networks internal IT staff developed several of the custom online applications using the i-Dialogue .NET API.

Posted: Sunday, August 17, 2008 1:02:45 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I recently attended a Salesforce webinar on how to use the Google API toolkit and must admit I was very impressed.

The power of moving data from Salesforce into Google docs, coupled with an increased availability of Google visualizations and add-ons to Google spreadsheets, is starting to make Google an extremely viable option as a service based business intelligence and analytics platform.

There are really no technical barriers to integration. The challenge now is provisioning, configuration, and deployment. It was not quite clear to me on what Salesforce recommends as best practice for retrieving, storing, and managing the various types of authentication tokens. Once this challenge is reduced to a "one-click" experience, I think the mash-ups will fly.

The motion chart (below) really impressed me as a possible solution to viewing key marketing metrics over time. I'm writing a paper on customer acquisition costs and had initially assumed use of Salesforce bar charts for reporting, but the chart below looks promising. It's currently using sample data now, but the Salesforce Google API toolkit provides the ability to update the underlying Google spreadsheet with actual data.

Posted: Wednesday, August 06, 2008 8:06:05 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

 A new rating control has been added to the Dialogue Script library that supports the rating of Salesforce objects through i-Dialogue hosted web pages and portal applications.

I haven't dug too deep into the details, but apparently this control can be provisioned in a variety contexts, such as a Thumbs Up/Down rating control (it's derived from this open source Rating control, so anything that can be achieved through the documented samples is portable to the DScript control).

Customer ratings are typically captured in a junction object that intersects a Person with an Object and records their rating.

For example, here's what an example DocumentRating object might look like in Salesforce for capturing individual ratings of documents.

DocumentRating__c.LeadId__c Lookup (Lead)
DocumentRating__c.ContentId__c    Lookup (Content__c)
DocumentRating__c.Rating__c     Number (1,0)

Unlike other Dialogue Script controls that can be deployed using minimal attributes, this one needs some extra guidance to define the junction object source and related lookup fields.

Posted: Wednesday, August 06, 2008 5:35:54 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Let's face it. Any good Web 2.0 strategy (or web 3.0) needs to have a "dynamic language" story to attract serious web developers. Languages such as Ruby, Python, PHP, and Perl are seeing tremendous gains in adoption by Web Developers.

No two organizations are alike when it comes to customizing their online presence and Internet Marketing campaigns, and these dynamically typed languages are increasingly becoming the language of choice as API extensions (see Google App Engine's use of Python).

Now that Dialogue Script is generally available and actively used in production, we've started turning our attention towards how to provide Developers with more programmatic control over the display and processing of web forms and portal applications, similar to how Salesforce employs Apex Controllers in Visual Force.

Our open source C# and ASP.NET API is an extremely powerful option for those familiar with Visual Studio.NET and managing strongly typed, compiled languages. But we wanted to evolve our platform and embrace the latest trend in dynamically typed languages and to go one step further by keeping the entire web development experience service-based (ie through a web browser or rich client).

Fortunately, the Dynamic Language Runtime (DLR) will be made available to us very soon and i-Dialogue Developers will have their choice of several dynamic languages to choose from when embedding rich programming logic into their web forms.

The DLR will give Developers the "glue" necessary to mash-up Google, Salesforce, Microsoft Live, Fedex, and any other web service using a familiar programming environment. The feedback from making changes will be instantaneous (no recompiling, moving files, or unit tests), making programming an instantly gratifying experience.

The DLR extensions to Dialogue Script will drive the innovation of new development process lifecycles and quality control processes that enable globally distributed teams to iteratively and incrementally evolve complex websites, portals, and campaigns using nothing more than a $599 laptop and browser.

The entire i-Dialogue object model will be made available, so DLR scripts can programmatically control all facets of a well rounded Internet Marketing Suite, including Profiles, Pages, Email, and Web Forms.

If you've ever written a VB macro to customize an Excel spreadsheet or Word, then you'll feel right at home with this new extension. This is probably #3 in the priority queue right now, with a couple tremendous new features taking priority right now for delivery by Dreamforce, so I'll keep you posted on it's evolution.

Suffice to say, we'll seek to leverage the DLR out of the box as much as possible with very few proprietary additions, so any O'Reilly book or MSDN article on the topic will be 99% applicable, if you want to get a head start.

Posted: Monday, August 04, 2008 9:30:19 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

This is very much a Beta feature right now, but i-Dialogue now provides an Outbound Message listener for synchronizing Salesforce objects in near real-time.

Outbound Messaging (OM) is an advanced feature and there is potential for circular messaging to occur when this feature is not configured correctly, but following the Wiki article should get most Admins going in the right direction.

The use of outbound messaging vs. periodic ETL polling typically spawns a debate over "real-time vs right-time" integration.

For most organizations, it is often acceptable that a press release, job posting, or new property listing appear on a website within 20-30 minutes of publishing. However, in our 2+ years experience with Salesforce and mid-market B2B customers I have fielded many requests for real-time integration.

Even though Salesforce does not have a formal SLA, the reliability of the web service API lately has allowed us to address many real-time requirements through the use of a "query and cache" design pattern. But there is a noticeable latency for transactional web pages that depend on this design, so we've developed a hybrid approach that involves real-time filter queries that return pre-fetched records as the ideal solution.

Outbound messaging ensures frequently accessed objects are always up to date and are kept synchronized in the background.

Posted: Saturday, July 26, 2008 11:05:05 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I found it interesting that Entellium, a CRM software company, is abandoning its browser based CRM application in favor of it's rich client CRM application.

This is one of several recent events that signals (to me) that a larger "Software + Services" (S+S) inflection point is now underway.

Looking at Gen Y office workers as a leading indicator, I'm often amazed at how many actually *prefer* to use rich Windows applications. The browser is just an alternative interface, much like a mobile phone.

eMarketing is a never ending battle and compromise between "reach" vs "rich", with maximum "reach" and lowest common denominator channels winning out, so I don't see this trend significantly impacting the custom interaction front lines. A website and simple HTML emails will always be guaranteed to reach a wide audience.

But I think productivity and development tools will most certainly be revived in a S+S context. Even Salesforce.com, known primarily as a web-based application, has converted me to their S+S development model of using Eclipse (a rich Windows application) to communicate with Salesforce via webservices, and I would expect the deployment of an Adobe Air-based Salesforce application to be announced in the near future to keep them relevant with this trend.

"Multi-client" may become the new buzzword that replaces "multi-tenant" in SaaS circles.

Posted: Wednesday, July 23, 2008 8:19:05 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The "Milestones" feature in i-Dialogue CMS can really save your bacon if you ever need to rollback a particular web page to a previous version.

Here's a quick walk-through of this feature (click the "Play" button below to view).

Posted: Tuesday, July 22, 2008 1:57:20 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Yet another semi-scripted, one-take tutorial on how to use the Dialogue Script PageLayout control to create a simple online survey that is managed in Salesforce.

View the full screen video.

Posted: Monday, July 07, 2008 1:36:59 AM (GMT Standard Time, UTC+00:00)  #   
Comments [2]  | 

It's been over a year since I took a hard look at offering a hosted i-Dialogue solution for Microsoft CRM. At the time, the Microsoft CRM partner subscription model really wasn't in place (to be fair, the Salesforce Royalty Winter gave partners shivers too :-) ).

But a lot has changed in a year:

I continue to be astonished at how many of our Salesforce customers use Microsoft Outlook, and I really see no end in sight for the Exchange beast, so it's worth conceding on this front that any truly effective eMarketing or Sales "dialogue" must integrate well with Outlook... somehow.

More on this later...

Posted: Sunday, July 06, 2008 8:53:19 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Here are a few of the features we'll be demonstrating at Dreamforce 2008 that are currently in development.

Dialogue Script / Content Management

  • New tabs added to content/script editor for easy access to "Form Handler Settings", "History and Notes", "Alerts", and "Advanced"
  • One-click milestone saves for version control. One-click restore of saved milestones.
  • Detailed history log of all content changes (who changed what and when).
  • Ability to receive real-time alerts when subscribed content is modified.
  • Form wizard: Ability to generate HTML web pages from Salesforce Page Layouts. Ability to use inlineHelpText as form labels (for use in surveys).
  • Advanced caching parameters, time-to-live, auto-refresh on Salesforce trigger event

Packaging and Deployment

  • New "Get It Now" AppExchange Package that supports just-in-time provisioning of web portals (30 day free trial).
  • Separate packages for PE and EE/UE organizations.
  • Use of metadata API to dynamically update native and custom objects depending on Salesforce edition.
  • CMS Serialization and Site Exchange feature. Package landing pages, microsites, and portals to XML. Upload to Cubic Compass Site Exchange or download serialized sites for use in web development. 

Business Intelligence and Reporting

  • Daily and Weekly email reports sent to website owners with information about site activity, SEO/PageRank stats, exceptions and errors, and new lead activity.
  • "Measures" custom object with nightly capture of configurable metrics. Ability to export to Google spreadsheets for time-series analysis.
Posted: Sunday, June 29, 2008 7:18:44 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Google Charts are the way to go if you want to spice up your i-Dialogue web pages with charts and graphs.

Check out this screencast for a quick demonstration on our new Google Chart integration.

Posted: Tuesday, June 24, 2008 3:14:36 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

 Somehow, we've managed to utilize Apex without downloading and installing Eclipse for several months. When we needed to compile and upload Apex script, the path of least resistence was to create a simple web-based editor tied into the Salesforce Apex API (not pretty.... but functional).

A couple Developers have downloaded Eclipse and I've peered over their shoulder to check out the Force IDE, but I always assumed that Salesforce was going to continue innovating the web-based IDE and unshackle Developers from Visual Studio and Eclipse (have you seen the slick Intellisense in the Visual Force editor? Couldn't this be applied to the Java-syntax editor?).

But todays announcement of new Apex wrappers for Google API has me drooling and I'm finally forced (pun intended ;-) ) to download Eclipse and Force IDE to check it out.

So tomorrow we're buying a pizza and gathering around a projector in a conference room to go through the whole download, install, configure, (curse), re-install, and embrace the change being made available through this IDE.

UPDATE: This was actually a quite painless exercise. I had anticipated an hour of JAR file PATH configuration, JRE version mis-match, HTTPS firewall/connection issues, and allowed for a buffer for who knows what else.

But the total time to install, configure, and bind to a working Salesforce instance was about 15 minutes. It would have been much faster, but it was not clear that we needed to use "File->New Project" to accomplish the final task of attaching to SForce.

I had previously researched and downloaded the JRE and Eclipse versions prior to install (~15 minutes).

Some info worth sharing:
+ Eclipse.org says they'll vouch for JRE5. Force IDE supports JRE5+. We went with 1.6 (JRE6?) and have not experienced any issues with this configuration (yet).
+ Downloaded Eclipse 3.3.2 IDE for Java Developers
+ Originally unzipped the IDE to a temp downloads directory thinking Eclipse.exe was the installer. It's not. I'm now running the IDE directly from something like c:\temp\downloads\eclipse-java-europa-winter-win32. I would advise selecting a more permanent target when unzipping.
+ Using Windows XP. No idea what challenges there may be with Vista.
+ The Force IDE installation screenshots and installation instructions were very helpful. Following them literally is advised. Would be even better if this article linked to a "Hello World" article on how to set up your first project (We just poked around a blank workspace for 5 minutes not knowing what to do next within the empty Force perspective... perhaps spoiled by Eclipse's default greeting window with overly obvious help and tutorial icons).

Posted: Tuesday, June 24, 2008 2:30:47 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
So many interactions are managed through the web today that it can be difficult to know where a website ends and a personalized portal begins.
 
In its most simplest definition, a portal is a website that you can login into. Often, in well designed portals, it is hard to differentiate between the main website and the portal. A logged-in user should be able to easily navigate between broadcast communications ("brochure-ware") and personalized, interactive pages. Often, dynamic websites will mix the two.
 
As always, whenever providing site visitors with self-service to information, it is critical to consider security first (Here's an in depth white paper on portal security to further explain the core differences).
 
 
Website_Portal_Pipeline.png
In the diagram above, interactions to the left-side of the pipeline do not require a visitor to self-identify. Personalized interactions to the right require the visitor to login. Points P1 and P2 identify where authenticated user experiences start and anonymous interactions end.
 
When engaging with customers and partners online, all organizations inevitably face the challenge of:
a) Defining which online applications to offer (the bubbles in the diagram)
b) Adjusting where in the user experience pipeline the application fits
c) Defining the rules that dictate P1 and P2
 
Do you allow site visitors to anonymously read discussion forums, but login to post? Do you require a login to access the knowledge base or publish the KB openly on the website?
 
There is no single, correct answer. Each organization has it's own ideas and requirements for determining who gets access to what.
 
Often times, online interactions are driven by role or tier, adding an additional variable to the enforcement of P1 and P2 per application/per role (such as supporting "Platinum" and "Gold" customers with varying levels of access).
 
As a Salesforce partner that provides both web content management and portal solutions, we sometimes get asked "either/or" questions regarding Salesforce Customer and Partner portals and how they fit into this mix. The answer varies depending on economic, quality, customization, and frequency of user access requirements.
 
i-Dialogue is capable of managing the user experience (UX) throughout the entire pipeline, but is generally weighted towards serving the left side interactions, which involve converting, cultivating, and nurturing Leads online. i-Dialogue tracks the conversion from Lead to Contact (while maintaining the same account name/password on the site) and maintains a consistent UX online, using Dialogue Script and role-based security to enable personalized interactions. These web/portal solutions are customized using DHTML and Dialogue Script. This model is licensed per website and the entire UX is managed within the website.
 
Alternatively, Salesforce Customer and Partner Portals start from the far right side of the UX pipeline. They assume the relationship already exists in Salesforce and leverage Salesforce native profiles for defining self-service access to applications. Leads are not supported and the transition from Lead to Contact/Portal User requires some planning and manual intervention. These portals are customized using Apex and VisualForce. This model is licensed per user and the UX is managed in Salesforce.
 
In recent implementations, a hybrid solution has worked extremely well for us where i-Dialogue is used to manage the online interactions for users that visit the site < 5 times per month and Salesforce Customer or Partner portal is offered to power users that have daily interaction requirements.
 
We've even developed some simple VisualForce user experiences and are looking forward the day Salesforce allows Developers to package and deploy Apex portal solutions to further evolve this hybrid concept.
 
 
Posted: Monday, June 23, 2008 2:26:56 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Comments at 10:15 into video about Google platform integration (details to be announced next Monday).

Posted: Friday, June 20, 2008 4:19:24 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

A couple Cubic Compass customers on the US East Coast are seeking Interactive Web Developers to take their i-Dialogue websites/portals to the next level.

These are full-time, onsite positions located in Ft. Lauderdale, Florida and Philadelphia. See details here and here.

Posted: Monday, June 16, 2008 4:22:02 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Those following my recent video blog entries have probably noticed a pretty concerted effort on our part to improve the user experience (UX) of our CMS.

You can pretty much single-click your way through the most common functions today as we've converted to a 3 tier UI that progressively reveals advanced features and functionality as you descend into the dialog windows.

It's amazing how many experiences we tolerate in Windows on a day to day basis. This Windows UX Ideas site has started a constructive dialogue on the topic.

(No, that's not a Salesforce Ideas site. Even though it looks identical, the author custom developed the site in PHP... very nice)

Posted: Friday, June 13, 2008 8:50:59 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

In this video, I walk through the creation of a simple "Contact Us" web page that inserts Contacts directly into Salesforce. Contact me at mike@cubiccompass.com if you'd like a more personalized demonstration.

Full screen version here

 |  | 
Posted: Friday, June 06, 2008 3:49:22 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

This video was inspired by a Salesforce.com customer asking how to create a search page similar to Salesforce's Partner Finder using Dialogue Script.

(I apologize for the video cropping....Full screen video here)

Posted: Thursday, May 22, 2008 3:21:36 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Check out this new Wiki article if you have a need for publishing RSS feeds from Salesforce-driven data.

The context of the article uses a "Jobs__c" custom object, but I'll leave it to your imagination and creativity to truly leverage the full potential of this feature.

Posted: Monday, May 19, 2008 6:45:06 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I had assumed this "rumor" of Salesforce.com switching 4,000 employees to Macs had in fact occurred several months ago based on following Simon's contributions to the Mac world and attending Dreamforce demos.

I'm not far behind making the switch myself. I've decided rather than running Parallels to maintain a stable Windows XP/Visual Studio machine and a separate Mac/Eclipse environment for general browser-based productivity and Salesforce specific work.

No surprise which one will get used the most. I just love the instant boot of the Mac books.

The all SaaS environment utilized by our company makes employee on-boarding, collaboration, and roaming much easier. It's vexing to see companies with only 12 employees shackled to Exchange. If migration is the only barrier to SaaS, then expect to see more service-oriented integration tools and vendors emerge.

Mobile productivity and multiple device synchronization is the next challenge. Google Phone had better be just around the corner. :-)

Posted: Sunday, April 27, 2008 8:09:35 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

If The Big Switch can be said to represent the centralization of computing resources, then Microsoft's Live Mesh may signal the path towards the big switch back to a decentralized model (albeit with some centrally hosted Microsoft infrastructure).

Some ideas for using Mesh with our CEM platform and Salesforce:

  • Real-time notifications when Leads/Contacts enter your website
  • Sync and offline access to CRM data and documents across several devices
  • Rich development of email campaigns and web page content
  • Social networking with employees, partners, and customers

 


Hands on with Live Mesh
Posted: Thursday, April 24, 2008 2:33:46 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Keeping Real Estate websites up to date with the latest property listing information is a challenging task. IDX implementations vary across the industry and provide little support for structured CRM integration. Fortunately, several Multiple Listing Service (MLS) vendors in the US have standardized on a transaction standard called RETS (Real Estate Transaction Standard) for describing real estate properties and listings.

Cubic Compass is excited to announce a RETS/Salesforce integration solution that synchronizes MLS listings with Salesforce in near real-time (AppExchange package). RETS Import Fieldmaps (documentation here) are used to map MLS fields to Salesforce custom objects

The combination of RETS/MLS data and the Force.com platform gives real estate development and sales professionals a single environment to manage the entire real estate sales process, from listing to website publishing, demand generation, scheduled showings, email marketing, contract management, and close.

Lookup relationships to Properties and Listings give Realtors one-click capability to manage a detailed database of Leads/Contacts and their specific interests. Web-to-Lead forms automatically relate Leads to their primary property Listing of interest.

Web Event activity tracking displays which properties and listings customers are viewing on the website. Page views are rolled up on the Listing records for visibility on most viewed listings.

Property history tracking gives Realtors a detailed database of prior listing transactions, long after the MLS hosted listings are gone.

Contact info@cubiccompass.com for more details and a demonstration.

 |  | 
Posted: Sunday, April 20, 2008 11:45:52 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
The ultimate one-to-one online dialogue for any organization is a financial transaction that ackowledges the value of products or services provided by an organization. Most eMarketing campaign activities are designed with the end goal in mind of receiving an online payment or donation.
 
Cubic Compass has developed a core set of eCommerce services and capabilities integrated with Salesforce.com, and a deployment methodology that addresses the following:
  • Product catalog management
  • Shopping Cart
  • Globalization / Multi-currency
  • Localized Taxes
  • Discounting
  • Membership management
  • Secure online payment
  • PCI compliance
  • Product / service fullfillment
  • Financial accounting / Back office integration
  • Recurring payments
I'll be expanding on these areas individually with a series of blog articles and a comprehensive white paper. But for now you can get an inside look through this case study.

 

Posted: Friday, April 18, 2008 3:18:54 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
(Warning: What follows is a technical discussion. We will return to our regularly scheduled blogging on less technical CRM/CEM topics in the near future).
 
It seems a shame to have all these multi-processor servers and not be able to use them to their fullest extent. You can't even buy a new laptop today that doesn't have, at minimum, something like an Intel Core 2 Duo.
 
In layman's terms, computer manufacturers realized they could no longer cram more power onto a single processor, so lately they've started welding 2 processors together in an attempt to double their computing power. Unfortunately, today's software rarely knows how to harness this extra parallel power.
 
There's a certain disharmony between the new concept of Platform-as-a-Service (PaaS) offerings that continue to use old programming language concepts.
 
Today's languages are very serial. For example, many Apex code examples SELECT a bunch of Leads, Contacts, or Campaigns, then one by one evaluate or process them.
 
The server could have 2, 4, or 8 processors, but odds are these scripts will only use 1. Within the scope of a single web page request, this is probably fine. Perhaps the other processors are being utilized by other web page requests.
 
But for asynchronous processes, such as delivering mass emails or updating records, this approach is wasteful given the availability multi-core processors.
 
Asynchronous Apex is a step in the right direction, however this feature appears to provide the ability to automatically run a script after hours (but still running through serial loop processing).
 
I've been thinking a lot lately about how next generation CRM/CEM architectures should must make use of today's server architecture. Several eMarketing and CRM tasks can benefit from parallel execution:
 
* Mass Email Marketing
* Lead Scoring
* Data Cleansing
* ETL / Data Transfer and Synchronization
* Report Generation
 
I had dinner a few weeks ago with one of the architects of a programming language named Haskell and he painted a dire picture "Object oriented languages are becoming obsolete. Functional programming is the wave of the future."
 
Fortunately, because our architecture is based on .NET, if we ever get bored with the limitations of one programming language, we can tap into dozens of alternative languages (some days I get the feeling we're doing more to offer .NET Development-as-a-Service than Microsoft is. Something isn't right... why isn't Microsoft doing this?).
 
One functional programming language in particular, named F#, is emerging as an ideal language for harnessing the power of today's multi-core servers for use in eMarketing.
 
While not set in stone, it's beginning to look like our next generation architecture will approach traditional eMarketing processes in a whole new light. Hopefully harnessing faster and cheaper infrastructure will result in more frequent, relevant, and intelligent online customer interactions.
 
Would we go as far to expose functional programming concepts through Dialogue Script? That's an interesting concept. I suspect BPM or diagram tools will provide the necessary layer of abstraction to make functional programming concepts successful in PaaS/DaaS environments.
 |  |  | 
Posted: Thursday, April 17, 2008 4:19:47 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

2006: The Potential
2007: The Prototype
2008: The Launch!

I'm in absolute SaaS productivity heaven now that our Google Apps for Enterprise are accessible in Saleforce.

My biggest worry was that the integration might require 30 minutes of configuration, or digging up some arcane Google Apps security token. Boy was I wrong. I just typed in our Google Apps domain name and was up and running within 5 minutes.

Now if only I could access my Google mail from within Salesforce. I tried adding a "Google Mail" web tab to Salesforce in hopes of maximizing my productivity in Salesforce, but Google Mail is a "frame braker".


Here's a screenshot of the default Google Apps now available in Salesforce.

Posted: Monday, April 14, 2008 6:37:18 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Luke Wroblewski has a thoughtful article on why Sign Up Forms Must Die.

His examples of "gradual engagement" are pragmatic, applied customer experiences that reflect concepts outlined by Rogers and Peppers and many others.

We all deal with Salesforce Web-to-Lead forms on a daily basis, but it's not often that we think of breaking a Lead form down into several smaller forms and seek to gradually learn more about prospects over time.

Granted, most of the examples in Luke's article are in a B2C context, but B2B sites with more than one case study or several pieces of collateral can apply the same concept.

Posted: Monday, April 07, 2008 6:41:18 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

In classic Sun Tzu fashion, Marc Benioff embraces competitor SAP by stating:

"I want to figure out how to get SAP to build on our platform. SAP needs to write its new apps on our platform."

For Microsoft's part, SAP integration came naturally since SAP is used in-house to run the business. The two giants have silently agreed on the mutual win-win opportunity of using Office tools (Excel and Word) to access SAP apps.

Unfortunately, integrated Microsoft-SAP applications have an air of being written for Microsoft by Microsoft.

Is it likely that SAP will develop their new apps on Force.com? Probably not.

Is it likely that SAP customers will (and already do) develop Force.com apps integrated with SAP? Definitely, yes.

In contrast to the "destroy the enemy" strategy employed against Seibel, I think it is a wise path for Salesforce to acknowledge that on-premise enterprise software will be around for years to come and that the "art" of victory against established ERP players will be one that embraces the revenue streams of existing infrastructure and provides a migration path to SaaS/PaaS alternatives.

Posted: Saturday, April 05, 2008 7:12:29 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's that time of season to vote for a Salesforce logo. Vote for your favorite Summer '08 logo here.

Personally, I'm rooting for the shades :-)

Posted: Wednesday, April 02, 2008 6:14:39 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

I awoke to the disappointment of learning that the well of cleverly written April Fools tech articles on Slashdot had gone dry, which I thought was a joke in itself.

Fortunately, I had to look no further than my own Google Apps for a refreshing, humorous departure from the daily grind.

When attempting to create a calendar event, I was prompted with the curiously out of place option of "I'm Feeling Lucky". Taking the bait and clicking on the button results in calendar events, such as "Date With Paris Hilton". You won't see that in Outlook :-)

Posted: Wednesday, April 02, 2008 3:24:09 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I just caught wind of the new Google Visualization API, so I opened up a Google Spreadsheet (we have over 10 people using Google Apps in our company now) and all I can say is "wow!"

Just as a quick experiment, I generated a bar chart of response times for one of our hosted solutions and clicked on the newly available "publish" link to generate the image below.

If the spreadsheet is ever updated, I just re-publish the chart and all external channels referring to the image are automatically updated.

I'm extremely impressed with the mashup capabilities enabled by Google Visualization and Google Charts. If the Salesforce / Google integration observations are true, then I'll be in absolute mash-up heaven :-)

Posted: Friday, March 21, 2008 9:06:51 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Nicholas Carr advises his readers to put their ears to the ground as Microsoft prepares to announce further details about their "computing in the cloud" strategy.

Some facts and observations I've made:

  • Ray Ozzie, Bill Gates heir apparent, is a smart guy and has been under the radar for over 2 years working on something (presumably).
  • Microsoft has been building, acquiring, and deploying datacenters at an alarming rate. But the utilization math doesn't quite add up. There's a lot of untapped, unused computing power owned by Microsoft.
  • In my recent discussions with various Microsoft employees, there is a much more open and humble acknowledgment that they are in the canonical Innovators Dilemma and must branch out into hosted services while still retaining the Windows OS/Office cash cow.

It will be interesting to see how similar this new strategy is to Microsoft's Hailstorm platform, which was announced 7 years ago. Ironically enough, the Architect of Hailstorm, Mark Lukovsky, left Microsoft and joined Google to ultimately implement and fulfill this vision.

Microsoft clearly has the Engineering resources and talent to compete with Google, Yahoo!, and Salesforce.com in Internet delivered services. It makes one wonder what exactly is preventing them from tapping their true potential? 

Per Nicholas' advice, my ear is firmly planted to the ground...

Posted: Sunday, March 02, 2008 12:12:42 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Traditional web design and development are rooted in the concept of a Multi-Page Layout, or MPL. Contemporary web design and content management systems have transitioned towards a Single Page Layout, or SPL.

MPL web sites store their content in individual web pages. Adding more content requires adding additional pages. SPL web sites use a single web page template that derive their content from a database. Salesforce.com makes a great database for managing both content and Leads/site members.

Many organizations gradually wade into developing unique landing pages for Google AdWords or publishing products and services. At first, the MPL approach provides the path to least resistance since initial development and deployment costs are fairly low. The cost of change remains fairly linear at first as each new page is cloned from an existing page and modified to suit the campaigns needs. But over time the cost of change begins to increase. It takes longer to provision new pages and development becomes much slower.

A form of "technical debt" is accrued whereby a developer must eventually externalize common UI elements to server side include (SSI) files, such as headers, logos, navigation, and footers. Even with SSI best practices in place, a developer/programmer still remains in the critical path for each new campaign and the skills required for ongoing maintenance remain high.

SPL templates may take 3-5 times longer to initially implement, but successive pages may be easily provisioned by business users, such as Marketing and Support admins. The time to provision a new page remains linear over time as each new page is defined in a database and immediately available for use in PPC campaigns.

SPL page templates are actually very simple to develop. They may look slightly cryptic when opened in a common web page designer because they contain "merge tags" to be replaced by the database when the page is displayed. The URL typically contains some kind of unique ID to give the page context as to which content to display.


i-Dialogue 8 now supports a new scripting language called Dialogue Script that removes the need for a physical page template. The SPL template can be created directly in a web browser and the merge tags can define any Salesforce object or field.

The Professional Services group at Cubic Compass Software has extensive experience with SPL design and hosting. Contact me for more information. I'd be happy to help.

Posted: Thursday, February 14, 2008 9:38:55 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Dialogue Script (or DScript for short) provides a simple scripting language for developing interactive web pages, forms, and applications integrated with Salesforce.com. In this series of articles, I'll cover some basic scripting concepts to address the most common use cases.

Dialogue Script Articles:

  1. Master Views and Lists
  2. Details View
  3. Web Form

What is a Master View?
"Recent News" is an example of a Master View. It is simply a list of items that are dynamically queried from Salesforce.

Here's an example Dialogue script that displays a top 5 list of the most recent press releases:

<dlog:repeater id="LatestNewsRepeater"
SOQL="SELECT TOP 5 * FROM Content__c WHERE Type__c='Press Release' ORDER BY CreatedDate DESC" runat="server">
<ItemTemplate>
<dlog:HyperLink ID="HeadlineLink" TextFieldName="Headline__c" NavigateURL="~/News.aspx={oid}" runat="Server" /><br/>
</ItemTemplate>
</dlog:repeater>


Example Output: (example links only)
ACME Corp Announces Q1 Financials
Jane Smith Joins ACME as VP of Operations
ABC Sees Record Growth After Using ACME Solution
ACME Announces 2008 Product Roadmap
Wall Street Journal: Inside Look at ACME

This example uses a Repeater control and SOQL Plus to query Salesforce and format the repeating layout of each item in the query result. Dialogue Script supports Salesforce Object Query Language (SOQL) plus adds support for tokens like "TOP", "ORDER BY", and "IN".

You can query any object in Salesforce. Master Views and Lists are a great way to provide customers with high level information and get them started in a general direction. Adding an ORDER BY CreatedDate DESC clause ensures the web page always stays up to date and displays the latest press releases, meaning you never need to update your web site when a new press release is launched. Query results can be cached to improve performance by adding a CachedDurationMinutes attribute to the Repeater.

In the next article, I'll demonstrate how to use Dialogue Script to format the actual Press release page using Salesforce data, plus some bonus script on creating a dynamic Google AdWords landing page.

Happy scripting!!!

Posted: Sunday, February 03, 2008 3:57:31 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Steve's recent post about the AppExchange delisting uncertified apps reminded me of a Wiki project I started back in July '07 named www.BackExchange.com.

The BackExchange was intended to be an open directory of unlisted AppExchange packages, but we ended up publishing our unlisted add-on apps to our knowledge base, so the www.BackExchange.com went unused..... until now.

I'm happy to turn control of this Wiki over to the general Salesforce community. The editing permissions have been modifed to allow anyone to contribute.

Posted: Friday, January 25, 2008 4:04:21 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 
2007 was a wild year. So wild, in fact, that it's taken me 3 weeks just to get my bearings straight and accept the fact a whole year really has gone by.
 
In 2007 we tripled our office size, quadrupled our staff, had 5 times more revenue than in 2006, operated profitability, and added 30 new customers.... and I see no change in sight.
 
Some lessons learned along the way:
 
Live, Eat, and Drink SaaS:
As a SaaS provider we "eat our own dogfood", so to speak. We run our business entirely on service oriented, on-demand business applications and own zero servers. Here's a sampling of services we use on a daily basis:
Google Apps for Email, Calendars, Documents, IM, and general productivity.
i-Dialogue: Web site, eMarketing, email management
Salesforce.com: CRM, Support and Operations, Campaign management
CVSDude: For managing our product source code, versions. Developer collaboration.
Quickbooks Online: Accounting, invoicing, billing
PayCycle: Payroll
Pingdom: Service monitoring
Gemini: Pro Service Automation, issue tracking, project management (OK. we actually installed and host this on one of our leased datacenter servers.... but we have a few of those available).
Central Desktop: Project Management
 
Create, Sell, and Support. Outsource the Rest
We create stuff... sell stuff... and support stuff. Our partners do a much better job at all the other stuff. I've learned to let go of doing too many things in-house and outsourcing to experts when it makes sense.
 
Maximize Developer Reach
The challenge in 2007 was not so much that our environment wasn't customizable or accessible to Developers. In fact, it was the opposite. *Anything* is possible when you integrate Visual Studio .NET with Salesforce and our productivity gains are massive when using this framework. But sometimes using Visual Studio .NET to customize a web site/portal can be like using a Swiss Army Knife to open a bottle of Corona. Sometimes a simple $0.25 bottle opener will do just fine.
 
We've recognized several opportunities to move common features found in VS.NET out to the browser, which allows web developers to rapidly customize their web sites without the need for bulky desktop web development tools.
 
I am practically biting my tongue as I write this as I know what is waiting around the corner in the next release our product. It truly is becoming what Marc Andreessen would refer to as a Level 3 platform.
 
I already have a series of blog articles queued up on this exciting announcement, so stay tuned.
 
Say "No" to Grow
It's hard to say "No" when a lucrative opportunity comes along, but it's important to recognize when "short term gains" could become "long term pains".
 
In 2007 we successfully said "No" to almost every non-Salesforce.com opportunity. Was it painful? Yes. Did we lose customers, prospects, and partners by committing to this strategy? Yes. Did we grow? Absolutely!
 
In fact, we're no longer hedging our bets and maintaining 2 brands. Cubic Compass Software, which historically has been focused on on-premise portal solutions and .NET infrastructure since 2001 is undergoing re-branding and a re-launch in February 2008 to focus exclusively on our new service oriented model. i-Dialogue will continue to exist as our hosted solution brand.
 
With the addition of Jennifer Clark as our Director of Sales and Marketing, I know we'll always have someone at the helm maintaining our focus on what we do best.
 
 
Horizontal Over Vertical Integration
I found it very interesting that Rob Carter, CIO of Fedex/Kinkos, acknowledged that it's often easier to add value to your customers by horizontally integrating services rather than vertically building the infrastructure in-house.
 
The path of least resistance to solving an IT problem increasingly involves looking outside the 4 walls of an organization and connecting with other services. You integrate with one web service and you just get hooked. Service levels, performance, and reliability are increasing while time to deploy and costs are decreasing. These trends are undeniable and we are witnessing an amazing paradigm shift.
 
With this strategy in mind, we're foregoing projects like LDAP or SharePoint integration in favor of Google, StrikeIron, and other service oriented integrations.
 
 
Predictions for 2008
 
Should I bother to even make predictions? I wasn't too far off with my 2007 predictions (albeit I was a little too harsh with my consumer app predictions. YouTube turned out to be pretty useful and amazingly scalable)
 
The fact is, I'm under NDA with some interesting organizations and have consulted/advised on enough upcoming projects to know that 2008 will be a very exciting year for SaaS.
 
I don't think President McCain would go out on such a limb either as to make predictions about Google's telephony strategy, the acquisition of Citrix and Computer Associates, lower interest rates, sluggish consumer spending until Q4, the invention of new loan consolidation instruments, continued high gas prices, the semantic what?, a major volcano eruption, Ballmer's retirement (to keep Bill company), a huge social mobile PR hype campaign resulting in massive lashback, the beginning consolidation of several Java open source projects under one umbrella, Dell regains #1 position, 0 high-tech IPOs of significance, 2 significant public companies going private, a major security breach involving Chinese espionage, one more zero-day left in WinXP, highest bidder gets bot nets to attack, public demands more government oversight which opens doors to taxing Internet purchases, and..... Tiger Woods wins 2 majors (whew) ;-)
 
Posted: Wednesday, January 23, 2008 8:23:26 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

On-Demand software has revolutionized how enterprise software is deployed. Declarative customization provides line of business managers with an unprecedented number of options from which to "declare" how a CRM record is defined or presented in a page layout. But let's face it... at some point, all enterprise software solutions require some level of programmatic customization. Enterprise software vendors simply cannot anticipate each and every business requirement.

Salesforce customers, having reached the limits of declarative customization, now have domain specific programming languages such as Visual Force and Apex to programmatically customize their CRM system.

Content Management Systems (CMS) and Enterprise Portals already have a strong legacy of supporting programmatic customization, but achieved this flexibility through integration with existing development environments and the modification of physical files and templates.

Many CMS's have attempted to offer purely browser-based declarative customization environments, such as Wiki's and Blogs, but failed to meet the demands of creative and marketing professionals, which require detailed control over the presentation and branding of web pages and emails.

It's time for a new scripting language that meets the unique demands of Customer Experience Management (CEM). It's time to offer an optimal balance between declarative and programmatic configuration options. It's time to recognize that there is a new generation of workers entering the workforce that embrace Domain Specific Languages (see Fowler: DSL) and expect programming the web to be as easy as programming their iPod, Tivo, or DVR. It's time for a language like "Dialogue".

"Dialogue" is a new scripting language designed specifically for helping organizations to interact with their customers and partners online using concepts familiar to both the web (HTML, CSS, Javascript) and CRM (Lead, Contact, Opportunity, Case records).

The key tenants of Dialogue include:

Creativity / User Interface: Dialogue is primarily a presentation language that resembles HTML and is used in the creation of dynamic web pages, landing pages, and emails. Graphic designers and web developers have control over each pixel in the presentation of Dialogue scripts.

Business User Support: Business users can easily modify Dialogue scripts to present information most relevant to customers and partners. Changes can be made to Dialogue scripts without the assistance of a web programmer.

Multiple Development Environment Support: Dialogue scripts can be managed using either a web browser or rich client. Todays content management professionals are accustomed to working with tools such as Dreamweaver and Expression. Dialogue plug-Ins for web development environments (starting with Expression) will be developed to enable the remote persistence and management of Dialogue scripts using a locally installed rich client. But the flexibility of storing and managing content entirely on the web will remain the primary focus.

CRM-Driven: Dialogue scripts provide direct access to CRM records and data for maximum personalization.

Agile: Dialogue scripts support an agile methodology that allows organizations to go from concept to deployment within a matter of hours or days. Campaigns can be modified on the fly and no longer suffer from the constraints of "waterfall" project management methodologies where considerable upfront planning is required to reduce the anticipated cost of change.

The Dialogue scripting language will help organizations transition from static, brochureware web designs common in the 90's, to highly interactive and personalized online experiences. It is our goal that all Salesforce customers will unlock the capabilities of their CRM system to delivering these rich online experiences. Dialogue is the final link in enabling this level of interaction.

Posted: Monday, December 24, 2007 9:27:22 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Amazon.com just launched SimpleDB. I find this news intriguing because it addresses the same fundamental problem as Salesforce.com, but takes a bottom-up approach ("here's a platform.... let's evolve some apps") in contrast to Salesforce's top-down approach ("here's a CRM app.... let's evolve a platform").

The metabase component is very conducive to CRM in that you have the flexibility to wake up some morning and say "Let's capture Contact's drivers license numbers in our database going forward", and easily add a custom field without having to worry about impacting or redesigning the application.

Knowing Amazon's capital position, datacenter hosting expertise, and high reliability service levels, I would go out on a limb and say SimpleDB in conjunction with their S3 storage service (and a perhaps a future unnamed application development tool?) is positioned to be a killer platform player in the years to come.

Posted: Friday, December 14, 2007 9:00:57 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Yet another great customer experience (CE) faux pas from WorseThanFailure.com. Doubtful many customers would be patient enough to wait until the year 3000 (below) to receive their discount ;-)


I can empathize with the Developers of this site. We learned the hard to always check Salesforce managed date/times when using them in CE applications and campaigns after discovering that the absence of a date actually resulted in displaying a default date (something like January 1, 1900).

Posted: Monday, December 10, 2007 4:45:53 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Steve Andersen has developed a really interesting metric in Salesforce based on actions taken by Activists/Donors in response to nonprofit campaigns. His solution exercises some new features in Winter '08, such as hierarchical campaigns and Apex scripts.

Posted: Thursday, November 29, 2007 4:57:55 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Update: The new security feature changes mentioned in this article have been delayed 1 week. Message from Salesforce:
"Please note the date change for this update - we will now go live with these features on Monday Nov. 26, 2007."

Salesforce.com is deploying additional security features over the weekend that may have an impact on applications integrated with Salesforce via the API, such as i-Dialogue portals, landing pages, and content management systems.

Starting next Monday, November 19th, 2007, Monday, November 26th, 2007 Salesforce.com users must modify their settings to implicitly trust i-Dialogue portals that connect to Salesforce. This feature, known as "whitelisting", requires entering the Internet address of the i-Dialogue portal.

Salesforce announced that any service connecting via the API within the past 4 months will automatically be added to the whitelist, so existing i-Dialogue customers may not need to update their settings.

Question: Will my i-Dialogue portal stop integrating with Salesforce.com on Monday, November 19th26th, 2007?
Answer: No. Salesforce has assured all AppExchange partners that existing integrations will be trusted by default. But without 100% assurance, we are prepared to guide customers through whitelisting steps if necessary.

Question: What is the IP Address for my i-Dialogue portal so that I may configure it for whitelist trusting?
Answer: We are sending IP address details directly to existing customers before the weekend to give customers time to prepare.

Update the Salesforce Profile for the API login user under the section "Trusted IP Ranges".

Question: How will I know if my i-Dialogue portal is no longer synchronizing with Salesforce?
Answer: Web-to-Lead and Web-to-Case web forms will continue to work, but portals and web sites that retrieve their content from Salesforce will be unable to access content updates if whitelisting is not configured correctly. Information on web sites (such as MLS portals) will appear unchanged from Sunday, November 18th25th. 

Our internal operations team will know within minutes if synchronization has failed and will take action to contact customers directly.

Question: Are there alternative ways to secure access to my Salesforce instance?
Answer: Yes. You can always generate an API token to be used as a password for remote applications that do not always access from the same IP Address.

Question: Are i-Dialogue IP addresses static?
Answer:  Yes.

Question: Will new i-Dialogue portals need whitelist configuration?
Answer: Yes. Our provisioning process has been updated to include instructions for whitelisting i-Dialogue Portal and CMS instances.

Posted: Thursday, November 15, 2007 7:37:04 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Anyone following my "tweets" on Twitter during the Salesforce.com Dreamforce '07 conference probably saw my references to lead scoring. The presentations and discussions inspired me to revisit this topic and explore how to implement lead scoring in Salesforce using an existing i-Dialogue web event data mart.

My past experiences with lead scoring were based on assigning "A", "B", "C", or "D" scores to leads derived from their online interactions. This prioritization gave sales reps some insight into which leads were supposedly more qualified than others.

A much simpler approach to lead scoring is to simply assign a score to each interaction and let the cumulative score provide a relative indicator. For example, in the illustration below, 2 leads enter a web site and initially appear to be equally qualified. But over time, and with enough data collection, we see that one lead was actually more interested in seeking employment with the organization rather than becoming a customer.



Defining lead score rules in Salesforce is possible through the use of a "Web Event Scoring Rule" custom object (see below), which is a prototypical definition of an existing Web Event object (already included with i-Dialogue).

A periodic evaluation by the i-Dialogue-to-Salesforce integration process evaluates each interaction and checks to see if it matches a lead score rule prototype. A match results in a Lead's score being increased or decreased by a defined amount. Rule prototypes may have any number of evaluation parameters, allowing for simple or complex rule definitions. If it can be captured in i-Dialogue, it can be evaluated.

A custom field on the Lead record named "Lead Score" is updated by the scoring process. Scores in Salesforce are updated in near real-time and are accurate to within 30 minutes.

This score then becomes the basis for Salesforce Reports and Dashboards. Once the technology is in place, an iterative/incremental relationship marketing process is implemented to routinely review and adjust scores and online event collectors. Lead scores will never be perfect, but the balance of online interactions and evaluation rules can achieve an 80% "good enough" state to be widely trusted by Sales Representatives and Marketing Managers.

Posted: Thursday, November 08, 2007 3:45:31 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Our company page seems perpetually outdated as we continue to grow and add new members to our team. Enough procrastinating... I've posted the updates and look forward to making many more.

The set of capabilities and services we can offer to clients have increased considerably in recent months. i-Dialogue web sites integrated with Salesforce are now sporting Flash interfaces, PDF printing, eCommerce support, localized translations, SMS alerts, finance calculators, sophisticated search engines... the list goes on, which only points to another area of procrastination... customer case studies.

Posted: Thursday, November 08, 2007 2:48:52 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

This one looks pretty disruptive. Salesforce is reserving a 5 hour window to upgrade to Winter '08. As always, all i-Dialogue portals will continue running on the previous API version (currently 10.0) until all instances have been upgraded. We will change over to version 11 within 2-3 weeks of Winter '08 release.

Services such as Web-to-Lead and Web-to-Case typically are uneffected by system updates. However, all asynchronous and real-time portal API integration features will not operate during scheduled maintenance.

Please be aware that salesforce.com has scheduled maintenance for your service instance (NA1):

Friday, November 2nd 2007 8:30pm PDT - Saturday, November 3rd 1:30am PDT

During this time, the salesforce.com service will be unavailable. Users attempting to access the service during this time will receive a scheduled maintenance notification page.

The purpose of this maintenance window is to upgrade your service instance (NA1) to the Winter '08 release.

We apologize for any inconvenience and appreciate your patience during this maintenance window. For more information about the great new features available with the Winter '08 release, feel free to log in to the salesforce.com IdeaExchange at http://ideas.salesforce.com and visit the category "Ideas in Winter '08."

-Salesforce.com Support

Posted: Tuesday, October 16, 2007 3:00:15 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I started reading Edward Tufte's 'Beautiful Evidence' (BE) over the weekend. This is the 4th book in a series (he says a quintet is to be expected) dedicated to the craft of information design.

Tufte's books have withstood the test of time with a high level of integrity. His work quite simply reveals "The Truth" of information design as he identifies great works from centuries past (and modern era) that have fought to change mankinds beliefs through the power of the pen and paper on thinking such as "the world is flat" and "the earth is the center of the galaxy".

I personally borrow heavily from Tufte's "let no pixel go to waste" philosophy. There's is most definitely an art to depicting thousands of data points within a single image.

My only complaints with this book are:
a) material from previous books is recycled, such as Joseph Minyard's March of 1812 (to Tufte's credit, he does spend considerably more time on this piece than in previous books)
and
b) the chapter dedicated to PowerPoint bashing takes away from the overall integrity of his work. It would have sufficed to say that PowerPoint templates and charts are the cause for much misinformation, and many people would tend to agree. But just about everyone uses PowerPoint occasionally, so this chapter does little more than to alienate everyone to a degree and denies PowerPoint it's key utility of being a framework for discussion rather than an actual informational artifact.

Those who work with massive datasets in Salesforce.com understand the "If we only knew what know" feeling. But it is the work of Tufte that helps us focus on mining these databases and unearthing hidden information through heat maps, graphs, and other types of multi-variate charts.

A few years ago, when this book was in pre-publication, I wrote a simple sparkline program based on Tufte's latest research, but alas it was abandoned as a solution looking for a problem. I'm inspired to start using VisualForce to implement some of these concepts again.

I recommend catching Edward on one of his many book tours. All of his books are typically included in the registration fee and he explains the concepts in a very entertaining manner. This is a must attend event for anyone in Graphic Design or BI Visualization.

Posted: Tuesday, October 16, 2007 2:45:38 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The Microsoft CRM Live buzz appears to have died down. We started looking at the opportunity to implement an "i-Dialogue for CRM Live" solution back in March, but nothing ever materialized that we could get our hands on.

This delay violates the on-demand credo of "Release early and often". I had really hoped Microsoft would earn their operational stripes by jumping into the market with "good enough" and letting customer and partner feedback dictate the evolution of CRM Live. Now we're left to assume that the project is in a state of "analysis paralysis" with Program Managers bickering with Engineers over how to "get it perfect" for launch (it'll never be "perfect" guys... don't take it personally. It was ready last year).

Dynamics CRM 3.0 is a great CRM solution (see my test drive last year), but I'm beginning to have serious doubts about Microsoft's ability to enter the market behind Salesforce.com. This is not like throwing an XBox up against a PlayStation. There's no Halo 3 equivalent killer app that can make CRM Live an overnight success (or within 5 years) that I can see. But there is one killer infrastructure angle up Microsoft's sleeve that could change how CRM is deployed and hosted in the future.

If Microsoft truly wants to be a CRM contender then, in my opinion, they need to leap frog the whole multi-tenant architecture discussion and focus exclusively on next generation CRM virtualization, which is the ability to pre-configure an entire Windows CRM server with all dependencies, and allow this "image" to be hosted by any 3rd party.

Leverage would then fall back to the consumer who could "shop around" for virtualization hosts and take their entire CRM/Active Directory/SQL Server VM image with them anywhere they want to go. I suppose that would give new meaning to "Where do you want to go today?" ;-)

Posted: Tuesday, October 16, 2007 1:56:54 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Paul Graham has a great article on the future of web startups that is relevant to Salesforce.com's recent partnership with Bay Partners to help fund startups on the AppExchange.

The article asks the fundamental question "Is venture capital needed to start a web company?" and Paul (A VC himself) provides an honest answer that if history is any indication, then increasingly the answer will be "no".

I've struggled with this question for several years. During the peak of the dot-com bubble I pitched ideas and working prototypes to several investors, which was really a drain of time and resources. I knew the cost of entry was low enough that qualified companies should be demonstrating real customers.... not just technology.

The beauty of today's environment is that 1-2 people can quickly implement an idea on a platform like Salesforce.com (ahem... I mean force.com), engage with real customers, deliver immediate value, and grow with little upfront capital expense (meanwhile passing this efficiency of scale onto customers at the same time).

Fortunately, our advisors and management team do not believe VC is necessary at this point. We're growing at 100%+ annually with a backlog of work and opportunities that traditional financial institutions would eagerly support via debt, but still I wonder.... why would a web startup need $5M or even $500,000 to get started today?

Of course any entrepreneur could find a use for any amount of capital, but would it be the most appropriate use and provide the greatest return to investors?

A notable point from Paul's article:

"When starting a startup was expensive, you had to get the permission of investors to do it. Now the only threshold is courage."

Posted: Sunday, October 07, 2007 6:10:38 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Some very subtle announcements were made at Dreamforce '07 that likely went unnoticed by 95% of the attendees, but were quietly applauded by those in Software development.
 
First, Apex packages will not be allowed to run on Salesforce.com servers with less than 75% test coverage.
 
Second, while Salesforce.com is eager to have new partners adopt their Platform-as-a-Service model, they are by no means lowering the bar for those seeking to become a "certified partner".
 
Far too many certifications in our industry have little weight because they are diluted by those seeking artificial recognition rather than pursuing the core values and principles the certification seeks to instill.
 
One fantastic benefit of the multi-tenant, on-demand software delivery model is that vendors can enforce the quality of code delivered by their partners on their platform.
 
It may be too much to require that all those with the title of "Software Engineer" or "Architect" to back their work with Errors and Omissions insurance (as Salesforce does), but as software increasingly becomes delivered via the Internet, perhaps other vendors will follow Salesforce.com's example and restore these best practices and principles back into the software distribution channel.
 
I definitely applaud these measures, as they will only help to restore credibility to our profession.
Posted: Wednesday, October 03, 2007 3:28:28 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Wow... what a busy week. 3 new i-Dialogue portals went live this week and 2 more are on the way next week. The i-Dialogue implementation team is really doing a fantastic job bringing these resources online.

The latest additions to the i-Dialogue family of web sites/portals integrated with Salesforce.com CRM include:

http://www.GeoFunders.org : Nonprofit out of Washington DC dedicated to helping other nonprofits advance the effectiveness of their grantmaking.

http://portal.PlanarDigitalSignage.com : Partner portal with self-service access channel tools for Planar's digital signage partners.

http://portal.WhatWorks.org : Interactive tools that help nonprofits aligning their operational metrics with organization goals.

All 3 of these implementations are very interactive and portray the organization in a new light with their customers and partners. We're really looking forward to helping these organization evolve the value they're providing their constituents online.

Posted: Saturday, September 29, 2007 2:10:07 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The problem: On-demand CRM tools streamline the sales process, but in the end it's still common to print, sign, and fax actual agreements using non-web technologies. How do you extend the online dialogue to include contract signing?

It would be ideal to click on a Salesforce Contract custom link that alerts the customer to "click here to agree", but that's not always possible. Contract law says that both parties must have a copy of an agreement to be enforceable.

If I click "I Agree" on a web page and the legal agreement terms change later, can the original agreement be enforced? There's been some recent legal precedence that says altering online contracts may make them unenforceable.

I've run into this scenario recently in a variety of industries: Purchase and Sale agreements, Patient Intake Forms, and Mortgage Loans. All managed in Salesforce up to the point of contract signing, which then switches to paper and/or fax.

The solution: There are several contract management solutions on the AppExchange, but I'm not aware of how many actually interact with the end customer via the web and support online digital signing (maybe one of these partners can correct me if I'm wrong).

We recently acquired a clever 3rd party tool that allows us to take screenshots of portal pages and export them to PDF. An evolution of this approach stores one copy of the PDF as a Contract attachment in Salesforce and emails a copy to the customer.

This fulfills the 2 copies of same contract requirement.

Posted: Tuesday, September 25, 2007 12:41:52 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

This video was playing on a loop at the Dreamforce expo within view of our booth. I only caught occasional glimpses during the show, but truly worth watching end-to-end.

Yes, it's marketing... but it's also a fine piece of digital art created by Bruce Campbell (Chief Creative Officer at Salesforce).

Posted: Friday, September 21, 2007 7:04:00 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The Salesforce Foundation hosted an event on Tuesday evening in Tiburon California, which is just a short ferry boat ride away from San Francisco.

It was a fantastic opportunity to touch base with Salesforce employees, partners, and customers all at once. I learned about organizations such as Rainforest 2 Reef while standing in line for Fajitas and hung out with our friends at Exponent Partners (who by the way, implemented the Family Service Agency of San Francisco solution, which was awarded Best Non-Profit Deployment Award).

The Marga-greet-as (#2 on Steve Anderson's highlight list) were a pleasant surprise (at least from what I remember ;-) ).

Posted: Friday, September 21, 2007 3:10:16 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 


Visual Force was probably the biggest announcement at this years Salesforce user conference (aka Dreamforce).

To understand the benefits of VisualForce, it helps to first understand the limitations in Salesforce today. All users see the same screen, headers, sidebars, and navigation elements in Salesforce today. Data customizations occur within the boundaries of these UI constraints.

VisualForce does for web-based enterprise software what Power Builder and Visual Basic did for traditional client-server programming. It allows developers to borrow from a library of pre-built components, incorporate them into the layout of a page, and bind the user interface to back-end data methods and models (called Apex Controllers in this context).

In short, this is basically RAD (Rapid Application Development) for the web. VisualForce is currently an XHTML template language, but I suspect it won't be long before a true WYSIWYG drag-and-drop development environment is available that removes UI developers from the XML syntax altogether.

As a Salesforce Developer, we (3 of us from i-Dialogue attended) were just drooling at the opportunity to start using Visual Force, but as a Salesforce Partner, we're being forced to walk a fine line between partner and customer loyalty.

Apex, and presumably VisualForce, will only be available to Salesforce Unlimited edition customers. Our loyalty to Salesforce and this new development paradigm dictates that we should proceed forward, developing our content management solutions using Visual Force, and convince customers of the obvious value and benefits of this approach.

But loyalty to our customers dictate that we must also continue to be backwards compatible with both Pro and Enterprise Editions and enable rich customer experiences and online interactions using the features that are available to the lowest common denominator today.

My understanding is that VisualForce and Apex controllers will be available to all editions for an additional $25 per user/per month. I'm anxious to learn more about this.

Posted: Thursday, September 20, 2007 9:26:09 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I have a new goal... to start listening to John Chambers more often. And if possible, start communicating like John Chambers.

I knew the CEO of Cisco would be speaking at Dreamforce, but I didn't expect much more than "Yes... we're a Salesforce customer and here's why you should be too". But there was none of that.

Within a couple minutes, he walked down off the stage and "stood amongst the people" so to speak. He walks with his left arm behind his body and accentuates his words using his right hand, often high in the air, as if demonstrating that the concepts he is communicating are within grasp.

He uses several very slick, animated PowerPoint slides in the background, but he was not dependent upon them. The timing of his message was in perfect sync with the visualizations, which were only there to serve his point.

He is unafraid to communicate extremely abstract and complicated concepts to an audience of 7,000+. At one point, he was displaying a multi-dimensional chess set, like something out of Star Trek, and using that as the metaphor for intricate market evolution and growth strategies.

John is a highly visual person and I assume comes from the same school as Edward Tufte on information density. I felt like an eager MBA student, voraciously taking mental notes in hopes of doing some follow-up homework later to completely digest his vision.

Why would a CEO give away their playbook and strategy to the world? Because having access to Cisco's playbook is of no benefit if you can't execute in response to the plays. The combination of product innovation, execution, distribution, efficiency, and quickly adopting to change resonates in John's message.

And finally, John understands the power of demos. "I know from experience that 6 months from now you might remember 1 or 2 things I've said, but it is the product demo that you'll truly remember." said John as he introduced his Chief Demonstration Officer (CDO) who commenced to "wow" the audience with a 5-10 minute real-world telephony demo that incorporated presence, VOIP, and video-conferencing to help close a fictional sales call.

"What" John spoke about was enlightening, but "How" he spoke was really something worth noting.

Posted: Thursday, September 20, 2007 8:45:30 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I really enjoyed the Dreamforce 07 session on Advanced Segmentation and Reporting. Salesforce shared how they internally customize Salesforce to track email preferences and subscriptions for their Leads and Contacts using a custom object name "EmailPreferences".

I liked the simplicity of this approach so much that I'm resolute on adding this as an i-Dialogue feature in the next release to replace our newsletter subscription engine.

The Problem: Duplicate leads and contacts from multiple campaigns result in contact fatigue. Leads may want to subscribe to one newsletter but not others. Allowing leads to change their global "Email Out Out" setting prevents future contact on other campaigns.

The Solution:
1) Create an Email Preferences custom object for storing a unique email address and multipicklist of subscriptions.
2) Modify Lead and Contact with lookup reference to an EmailPreference object.
3) Create some Apex code that looks for existing Email Preferences on Lead/Contact create events.
4) Create an Email Preferences landing page. Update email template footers with link to preferences page (passing in user id or email address)

Step 3 is only available for unlimited edition, so we'll likely implement this step via the API to ensure backwards compatibility with our Pro and Enterprise Edition customers.

The Results: CAN-SPAM compliant. Customers can opt-out of individual newsletters managed in Salesforce. Ability to create target email lists by subscription type. Ensure only 1 unique email address per person (if duplicates exist, ensures only 1 email sent).

Posted: Thursday, September 20, 2007 7:17:32 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Quick note to follow-up to my recent nonprofit related blog post... the Salesforce implementations for all our recent nonprofit web sites have been delivered by Exponent Partners (ExP), a Salesforce consulting partner committed to growing the capacity of Nonprofit organizations via effective use of technology (and pretty much spending 90%+ of their time on Salesforce like us).

Rem Hoffmann of ExP will be at Dreamforce in the Nonprofit pavilion. We're only about 20 yards away. Come talk to either one of us about implementing Salesforce in conjunction with a web content management system or portal. After jointly working together on a few projects, I think we have several great lessons learned about how to efficiently integrate the web with Salesforce.


Rem Hoffmann brings more than 15 years’ experience in building and operating information technology organizations and in consulting to the nonprofit, government, and commercial sectors.
Posted: Sunday, September 16, 2007 8:01:46 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

"Hey Mike, will you be blogging at Dreamforce like last year?"

"Uhh... hmmmm... well... I think so."

Sorry to sound so non-committal, but I've pretty much filled up my calendar with meeting clients (both current and potential), other Salesforce partners, hosting at our booth on the Expo floor, and attending sessions. Finding time to share my experiences online would be GREAT, so I'll make some effort to broadcast over the following channels when I can:

Blog RSS Feed: http://www.i-dialogue.com/blogs/main/SyndicationService.asmx/GetRss

Twitter: http://twitter.com/dlog

Definitely expect a Dreamforce wrap-up after the conference. It looks like some of the big bang announcements are already getting out. My gears are already starting to spin on how the new Salesforce features will have an impact on Customer Experience Management.

My biggest wish is for Salesforce to enable Apex on Pro and Enterprise Editions (not just Unlimited Edition as it is now). That would be big news worthy of committing to Salesforce as a Platform for many years to come IMO.

My second biggest wish would be for tighter integration with Google Premier Apps (email/calendaring/document productivity tools).

Posted: Saturday, September 15, 2007 6:53:06 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
For Non-Profit Organizations, the task of keeping a web site up to date can be arduous. NPO webmasters often have an increased sense of accountability to their donors and members that require non-stop online transparency into their operations.
 
One such arduous task is publishing an online members list. Enter i-Dialogue NPO for Salesforce.com. The online member list is synchronized in real-time with Salesforce Opportunities.
Posted: Saturday, September 15, 2007 5:02:18 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

We don't have any free iPods to give away, but we are giving away 1 full year of i-Dialogue portal hosting (Portal Edition - $6,000 value).

Visit us in booth #731 at Salesforce.com's Dreamforce user conference and enter to win.

Posted: Friday, September 07, 2007 7:26:01 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

CRM Chump has a great post on An Introduction to Customer Experience Management (See related blog post on Does CEM replace CRM?).

When you describe CEM as a customer-centric approach that focuses on the needs of the customer rather than the company, it's very easy to get onto the topic of Marketing in general. Is CEM really new, or is it what marketers have been doing along?

It's not enough for a marketing agency to broadcast one-way, outbound messages anymore. The Internet allows for much greater interaction than traditional TV, print, or radio and marketing agencies must think in terms of long running, interactive, online dialogues to generate leads, cultivate, and acquire customers.

Some other questions that arise when on the topic of CEM: Is i-Dialogue a software company? An interactive marketing agency? Our core competency is certainly in technology, hosting, and on-demand content management tools. We do get very involved with our clients business goals, marketing message, and help them evolve their web site beyond simple, static web pages. But ultimately marketing functions like graphic design and copy writing fall into the hands of our partners and other agencies.

To emphasize this synergy between CEM and marketing, we are busy developing an i-Dialogue Agency Edition that allows marketing agencies to outsource the marketing automation tools, CRM, and hosting infrastructure and focus on what they do best... branding and product/service marketing. This effort requires marketing agencies to persuade their clients to use Salesforce.com CRM to monitor and report on marketing campaigns. My experience is that even one SFDC enterprise seat bundled with i-Dialogue returns extraordinary value relative to existing marketing automation platforms.

Posted: Friday, September 07, 2007 7:21:28 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

If there's one thing that all i-Dialogue employees share, it is our passion for music. Either listening to jams at work or playing actual instruments. So it is with great interest that I've been monitoring the Salesforce.com Dreamforce Facebook page to learn who the musical entertainment will be for the Dreamforce Gala event.

Oddly, the listed musical entertainment has changed 4 times over the past 4 weeks:

  • Bare Naked Ladies
  • Foo Fighters
  • Journey
  • INXS

Can you guess what next weeks band will be? I personally would not mind seeing Train again (last years band).

Some possibilities:

Jefferson Airplane or Grateful Dead (Bay area icons)
Stevie Wonder (hey... he's on the road. Why not?)
Santana
Counting Crows
Dreamforce (actual band of Salesforce employees that form in the 11th hour to provide entertainment)

Enter your prediction as a comment below. The winner will receive a free i-Dialogue hat (tongue pressed firmly in cheek here ;-) ).

Posted: Friday, August 31, 2007 10:04:53 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

On the heels of my previous post, I forgot to mention the English/Spanish localization by i-Dialogue customer www.ArcoProperties.com. Perusing their site really makes me want to spend a couple weeks down in Panama :-)

Posted: Tuesday, August 21, 2007 6:57:13 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

i-Dialogue customer iGrafx recently localized their interactive online resource center with German content.

Salesforce.com CRM is easily configured to capture customers language preference. Just add a custom field to Lead and Contact named something like "Preferred Language" and map the field to i-Dialogue's "Language" field.

Whenever a customer clicks on the language bar at the top of an i-Dialogue page, or submits a localized web form, the customer's language selection is automatically updated in Salesforce.

iGrafx has also localized their email auto-responders to German for a truly relevant and localized dialogue. Future plans are in the works for Italian and Spanish sites too.

Posted: Saturday, August 18, 2007 8:29:27 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I was doing some research on the Wayback Machine when it dawned on me to check out Salesforce.com's earliest available archive.

Here it is, circa November 28, 1999.

Posted: Tuesday, August 14, 2007 8:03:10 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's no surprise that Salesforce.com is pretty much the only game in town for on-demand CRM, and their ecosystem of partners have greatly benefited from their ability to provide a reliable and extensible distribution platform.

When Salesforce announced a 10% partner royalty program for AppExchange leads, many partners were forced to closely examine the value of this partnership. Some partners had clear objections, while others (such as us) signed up for the program on good faith that the obvious obstacles would be ironed out along the way.

The upside potential seemed great. www.AppExchange.com would become the eBay of online business apps and both Salesforce and Partners would mutually grow and prosper. But Salesforce's 10% royalty fee was decidedly larger than eBay's 5.25% fee and the requirement for partners to pay for certified listings and positioning made the eBay metaphor even harder to digest.

For a company that differentiates itself on a "No Software" mantra, the AppExchange appeared to be implementing a decidedly "old school" partner program taken right out of the Enterprise Software playbook.

But apparently Salesforce is listening. I received this email just yesterday:

Due to feedback from our partner community, we are phasing out the 10% revenue share requirements for AppExchange partners. On Aug 9th, we will hold a webinar to announce updated partner program tiers as well as new program benefits and services.

So, we'll see. This is the start of a positive dialogue. For those who are interested, the webinar registration form is here. I encourage all potential Salesforce partners to attend, as the Platform-as-a-Service model is here to stay and a healthy relationship with Salesforce is clearly required if you want to participate in the future of business software.

Posted: Sunday, August 05, 2007 12:11:24 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

When I first started following Salesforce performance trends in March 2006, they were processing about 38 Million transactions per day and 10 Million on the weekends.

Now the slow days are 38 Million and the peaks are at 100 Million per day. See for yourself at http://trust.salesforce.com . It'll be interesting to learn how these transactions break down at Dreamforce (API vs. End User Apps).

Posted: Thursday, August 02, 2007 1:37:13 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

As if the 200+ sessions alone weren't worth the price of admission to attend Dreamforce 2007, comes the news that none other than George Lucas will be speaking at the event.

This just keeps getting better all the time.
Posted: Saturday, July 28, 2007 6:45:58 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I was reading through the new API features coming out in the next release of Salesforce (Summer '07) when the Metadata API feature caught my eye. This feature addresses a big pain point we have today, which is helping customers to quickly install and configure their Salesforce org for i-Dialogue web site integration.

AppExchange packages are fairly self-contained and cannot modify native objects. Many tasks are left to manual configuration. For example, if we want to extend Salesforce Campaigns with detailed, real-time information like number of emails sent, click-through-rate, or web pages viewed, then we must manually create these metrics as custom fields on the Campaign object. Our default AppExchange package only installs a couple additional custom objects (a web event data warehouse).

But the Metadata API apparently will let us remotely create these fields on the Campaign object, conceivably allowing us to add a link on the "About" tab of our package that instructs our service to configure your Salesforce environment for rich Campaign management and real-time web analytics.

So, I started thinking... why have anything at all in the AppExchange package except the smart "About" tab? Just let customers download the bare essentials and let our service remotely provision Salesforce to guarantee installation/configuration success every time? Why cast our fate into the wind and use Managed Packages when implementing upgrades? With the Metadata API, we can figure out precisely which object/fields are installed and automate upgrades of both Salesforce and your i-Dialogue web site.

Posted: Wednesday, July 18, 2007 12:42:57 AM (GMT Standard Time, UTC+00:00)  #   
Comments [2]  | 

Microsoft's announcement that MS CRM Live will be priced at $45 per user has raised some responses from the competition.

You can buy the on-premise version of MS CRM today for about $1,500, which includes a perpetual use license. Spread that cost out over 3 years and you get $41.66 per month. Add a few bucks for hosting and $45 sounds about right.

I have a feeling that there will be more parity between an organization's size and the number of seats licensed at this price point.

For example, an organization with 20 employees may only subscribe to 5 Salesforce seats at $75 per month and limit access to those in Sales or Support. Whereas the same organization may be more inclined to purchase 10-15 seats at $45 per month.

While Salesforce clearly has more cross functional value than MS CRM, customers often do not want to pay for unused functionality in the early stages of adopting CRM when centralized contact management is the primary goal.

Posted: Monday, July 16, 2007 9:09:59 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Users of Google Docs were welcomed to a new, and in my opinion, much more usable interface today. The concept of Labels (aka Tags) has been replaced with Folders, much like what people are accustomed to on their Windows Explorer desktop.

The folders are unfortunately not hierarchical, but do provide better at-a-glance document categorization via a new left navigation pane.

This change is a significant return to what simply works. In past years we've seen several document management solutions emerge based around the concept of "folksonomy" tagging, whereby users tag documents rather than categorize them in folders.

This has the supposed benefit of making life easier on search engines, but with the downside of poor data quality. For example, I might tag a document as "Television" where you might prefer "TV".

Our own document management system in i-Dialogue has organically evolved to a hybrid, or compromised design. While we have added meta-tagging, customers still express a need to hierarchically categorize documents as a reflection of their own internal structures, such as org charts and sales territories. For example, why "search" for case studies in Canada when I can expand a "North America" folder to reveal a "Canada" folder with marketing materials.

I must admit I was somewhat disappointed after Salesforce.com's acquisition of Koral and announced mission to impose folksonomy tagging in the workplace. As Google's recent move validates, not all consumer web UI metaphors translate well to the business web.

The left navigation includes a filter by document type, indicating a very scalable point of extension. I would not be surprised to see support for PowerPoint and other documents in the very near future.

Posted: Thursday, June 28, 2007 6:35:49 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

All the buzz around Apple Safari Web Browser for Windows got the best of me, so I ventured on a "safari" to take this Beta release for a quick test drive.

The download was only 7.97 MB. I did not opt for any add-ons or plug-ins. The install went fairly fast.

Of course, my immediate curiosity was how our web site appeared in Safari for Windows. I had no immediate complaints. All the Flash and dynamic/interactive features appeared to work with no problems. There were just a couple layout and formatting issues I noticed.
DLOG_Home_Page.png

The use of gel buttons on the page slider and web forms are a nice (and I guess expected) touch. The marketing emphasis on performance is not overblown. While I did not conduct any measurable tests, I did notice a difference in page load time compared to IE7 on several sites.



But things started to turn sour when I actually tried to use Safari for productivity tasks, like Google Premier Apps and Salesforce.com CRM.



The amount of memory consumed started to increase during my Salesforce session, even with only one tab open. IE7 seems to stabilize around 30MB for many of my routine web tasks. Safari quickly shot up to 90MB for similar tasks.

My productivity is very dependent on the ability to toggle between tabs using CTRL+TAB in IE. The equivalent in Safari CTRL+{ and CTRL+} was not only a stumbling block to learn, but didn't even work.

Bottom line? This *is* a beta release and I had beta expectations. But I was pleasantly surprised and will plan on making Safari a standard component of our web hosting and validation test framework. I may even make Safari my "daily driver" once the memory and tab toggling issues are resolved.

Posted: Friday, June 22, 2007 11:52:43 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

Just posted this new Quick Start Guide:
Creating Effective Customer Experiences with i-Dialogue for AppExchange.

This guide covers some basic topics, such as

  • Creating a Simple Web Page
  • Creating a Web-to-Lead Form
  • Creating a Landing Page
  • Creating a PPC Advertising Campaign
Posted: Tuesday, June 19, 2007 3:27:02 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Lately, I've been re-exploring the possibilities with component-based workflow in the development of online marketing and customer portal sites. The concept is simple. You drag components onto web pages that allow interactive web developers to define actions and behaviors in response to web page events.

This is in contrast to the current convention in i-Dialogue, which currently implements workflows through the explorer interface.

As an example, a basic lead nurturing campaign requires the triggering of a long running email auto-response campaign when a web lead form is submitted. Using the i-Dialogue explorer I would have to define a dialogue rule that associates the form with an auto response campaign. But I can also add a smart component, called a "Form Submit Handler", to the landing page that intercepts form submit events and triggers the autoresponder on its own.



Granted, not a significant decrease in developmnt time, but it's much more apparent when looking at the landing page that "Oh... when the web form is submitted these events will be triggered and I have the ability to configure them".

A component-based approach does have it's associated challenges:

1) Atomicity Yields Complexity. Smaller, more granular components yield more flexible solutions and reduce need for programmatic customization. But if 3 different workflow components on a web page are required to process a lead form, trigger an auto-responder, and intelligently redirect the page, then the complexity of the page design is increased. Pre-built page templates are the best way to address this problem.

2) Process Visualization: The i-Dialogue Explorer allows me to see across multiple campaigns, landing pages, and auto-response rules at once. I can see exactly which landing pages have auto-response rules and which ones don't. But if workflow is embedded into pages in the form of active components, I need to drill down to the individual page to learn which workflows are active. The answer is in a new generation of campaign reporting tools (if there were only 26 hours in a day, I would add this and a dozen other features :-) ).

3) Creative-Business Collaboration: Interactive Web Development requires a unique set of skills. Part graphic/web designer and part marketing/business user. It's rare to find these skills in one person, so you often find different individuals taking responsibility for various components. For example, one person provides the HTML, layout, and graphics. Another provides copy writing, workflow and auto-response rules.

The bottom line? We'll need to support both approaches and give campaign designers the freedom to choose which approach works best for them.

Posted: Thursday, June 14, 2007 9:24:34 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I know better than to even remotely acknowledge rumors, but the Google-Salesforce merger speculation is too much to resist. A partnership between Google and Salesforce makes perfect sense, but merging? I just don't see the value of that for a few key reasons:

Google Brand Dilution: Google has had a winning strategy so far by offering applications that are equally applicable to both consumers and businesses, what insiders refer to as the "Big Google". There are Millions of Google consumers that will never care about business specific applications, and there are Millions of business application users that will never buy into an ad-based application model or You-Tube consumer driven videos.

Distributing energy and resources over 2 vastly different markets would ultimately dilute the Google brand and leave room for a new player to emerge with a sincere focus on "We're just search".

It's Just SOA: The vision of integrating disparate, on-demand apps via web services has now become a reality. The Gestalt effect that Google and Salesforce can now leverage by integrating their applications proves that the SOA model works, but merging these companies would just take SOA back to square one; as if to say the synergies could not be sustained without physically bringing these companies together.

Culture Clash: Google hires Developers. Salesforce recruits them as partners. Google does little to no marketing. Salesforce is all about Sales and Marketing. Google is ad-based. Salesforce is subscription-based. Google has no email/phone support. You can actually get someone from Salesforce on the phone if you have an issue. Google scales out. Salesforce scales up.

On a positive note, they're both in the bay area. They both want to eat into Microsoft's market. They both deliver their services via the web.

Don't get me wrong. We currently use Google premier apps for email, calendar, and document management plus we use Salesforce for CRM and support/operations. No matter what announcements are made in the coming weeks, I'm convinced we can only benefit.

Posted: Wednesday, May 23, 2007 9:37:42 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

My Google Docs for Salesforce project is now sufficiently obsolete with the announcement of Salesforce SOA.

(Update: Well, perhaps I spoke too soon. This demo effectively synchronizes SForce records with a Google Spreadsheet, but I still need a Google Docs related list on SForce records)

Posted: Monday, May 21, 2007 8:15:35 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Wow. I anticipated some level of technical difficulty when integrating with Microsoft CRM (support for which we recently announced) but didn't anticipate any significant legal issues. Apparently, Microsoft CRM 3.0 requires the licensing of something called an External Connector for each web server integrated with Microsoft CRM and I'm not the first to be confused about the applicability of this license in a Web-to-Lead, customer portal, or partner portal context.

The connector is about $15,000 USD, and amortized over 5 years comes to $250 per month. I *really* hope Microsoft CRM Live modifies this license to be more inline with current subscription-based expectations. Just getting SMB customers to try on-demand, loss leading features for $95 per month can be difficult enough. Don't make partners start that far in the red. They'll never adopt the platform.

Will the partner/ISV absorb the cost of externally integrating with MS CRM Live? Will the end customer? Answers to these questions are still not clear as we enter the 11th hour prior to Microsoft launching their on-demand CRM Live solution.

My suggestions:
* Implement a variable, value-based external integration licensing model. Not a "one size fits all" license.
* It still remains to be seen if Salesforce.com's 10% referral program is the right model to attract and retain partners, but it is more closely tied to value on a per customer basis.
* License the XML web service gateway separately from the core CRM application per external end-point. Implement a SOA friendly model that encourages Microsoft CRM customers to purchase additional web service connectors for multiple end-points at $750 per year (This is where I think Salesforce has missed a tremendous opportunity to license their API to Professional Edition customers and is the most griped about integration topic).

Posted: Sunday, May 20, 2007 11:02:07 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Microsoft revealed at the Mix '07 conference that their Silverlight framework will provide cross-browser support for .NET technologies.

In layman's terms, this means many web developers will be able to create rich internet applications (RIAs) that are comparable to Adobe Flash and Flex applications using Microsoft tools that they're already familiar with.

Silverlight is comparable to the Flex framework that Salesforce recently embraced.

Regardless of which platform becomes more pervasive, the online customer experience will be significantly improved either way.
Posted: Thursday, May 03, 2007 11:48:56 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's finally official. i-Dialogue is now Salesforce Certified :-).
 
Top 4 Benefits to Being Salesforce Certified
 
* Not having to tell Professional Edition customers "I'm sorry. We should have PE integration anytime now."
* Not having to tell Enterprise/Unlimited Edition customers "We actually are very secure. We just haven't been certified yet".
* More exposure through the AppExchange
* Rapid response and resolution to Salesforce questions

Posted: Monday, April 30, 2007 11:24:54 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's been over a month since I signed up for Google's Pay-Per-Action Beta program and still no invitation. Our AdWord budget has been lumpy over the past several months, so I suspect our client ID is not a "stellar" candidate at the moment. Anyone else had a chance to play with this?

If there are any Salesforce customers in the PPA Beta, please contact me. I have some ideas on how to manage the PPA customer experience and reconcile actions with Salesforce Campaigns.

Posted: Tuesday, April 24, 2007 4:39:15 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I don't remember the exact date, but I'd guess it was around Summer of 2005 when we faced the "Enterprise Software Fork In the Road".
 
After years of serving mostly mid-market customers with on-premise customer experience solutions (portals, web sites, eMarketing campaigns), attention abruptly shifted towards open source and on-demand solutions as alternatives.
 
Customers with in-house development resources started asking for source code to customize their CEM apps, others asked if we would host the sites for them and provide ongoing maintenance, partners needed more documentation to develop rich add-on applications, large customers demanded the source code be held in escrow in case we went "Tango-Uniform" and sales cycles got longer... a lot longer.
 
One of my favorite quotes from Yogi Berra is "When you get to fork in the road, take it." (Berra says this is part of driving directions to his house in Montclair, New Jersey. There is a fork in the road, and whichever way you take, you will get to his house). And so, we took both paths and launched an on-demand CEM solution with an open source CMS framework that provides customers and partners with unrestricted access to the source code, to offer an Open Software-as-a-Service, or "Open SaaS" model.


 
The feedback we've received from open sourcing the Salesforce integration module has been tremendous. Some customers have started down the open source path with the intent of building and hosting the solution in-house, only to discover the long term benefits if they outsource the hosting and occasionally exercise their right to upload their customizations and code anytime (in the worse case they know they can always take the solution back in house).
 
Conversely, some customers have started down the on-demand path, recognized how strategic the online customer experience is to their business, and upgraded their SLA to have us co-manage a server provisioned and owned by them.
 
Change management and version control are inevitable problems that will arise when both customer and hosting provider are collaborating on the management of an Open SaaS web site/portal. We've had a few content collisions and merge conflicts, but had sufficient backup and recovery processes in place to remedy them immediately. i-Dialogue 3.0 addresses many problems related to temporal content, such as press releases and events. Typically, just a bit of training on the web page "sandbox" feature and use of Snippet versions are sufficient to resolve these issues.
 
It's also imperative to maintain a common code base across all hosted applications to reduce the risk of "branching". Most content management systems (CMS) today have evolved to a level of maturity that easily supports this requirement through the use of page templates and declarative configuration.
 
Does Open SaaS work with all applications? Absolutely not. It just happens to work in customer experience management because it requires pixel level control over the form of the interactions (aka the "brand" experience). But employee facing productivity SaaS applications are best managed at arms length with declarative customization to achieve their desired function. New languages, such as Salesforce.com's Apex scripting language, will give customers greater freedom to upload their own business logic code.

Posted: Saturday, April 21, 2007 9:27:01 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The upcoming i-Dialogue 3.0 release is going to enable organizations to manage a lot more web content directly in Salesforce. Here's a high level walk-through of some of the new features:

There first thing you'll notice after installing the "i-Dialogue Web CMS" package (CMS = Content Management System) are the primary web tabs for Portals, Content, and Web Events. This is the base package from which all other i-Dialogue web solutions are built on.

An organization can have any number of web sites/portals registered in the CMS.



The new "Content" tab supports a database of press releases, announcements, image links, and just about any other type of content that can be published to the web. Each i-Dialogue web site contains several smart "web parts" that are directly integrated with the Content database.

Content can be configured to automatically expire based on a publication date range and localized to any language.




The Event Management module supports the publication of events directly to a web-based calendar (example here) and allows site visitor to register for events online. Email confirmation and reminders are also included.



Perhaps my favorite feature in i-Dialogue 3.0 is the ability to manage email campaign directly from native Salesforce Campaign record. This allows me to create very targetted lists by creating Campaign Members from Salesforce Reports. We have this feature in i-Dialogue (called "Segments") but it does not allow for complex segmentation utilizing all object types stored in Salesforce.



Clicking on the "Edit Email Template" opens this rich email editor that supports HTML/Text email content, version control (called Milestones), and detailed activity logs.



Other features include:

  • Daily reports and analytics emailed directly to web site managers
  • Inline segmentation counts in i-Dialogue segment trees so you can see exactly how many people are in each segment.
  • Tracking email responses in CampaignMember Records
  • A set of pre-built web parts integrated with the Salesforce CMS for display on web site

 

Posted: Tuesday, April 17, 2007 7:00:15 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Adobe Systems and Salesforce.com have announced the availability of Adobe Flex Toolkit for Apex, a new set of programming tools using Adobe Flex to create new business applications for the Salesforce.com Apex platform.

I wrote about another Adobe platform named 'Apollo' several months ago in an article that attempts to identify the trends of "rich vs reach" applications and the desire to strike a balance between the two.

Salesforce users that live in the Salesforce app for more than 3 hours per day (as we often do), will be likely early adopters of Flex-based apps, if they prove to make people more productive. Salesforce envisions developers inserting Flex apps into existing page layouts, but a more grand approach will be to replicate many Salesforce functions in a desktop app that also works offline.

YouTube owes its success, in large part, to their Flash video player specially developed for their videos. When used effectively, the combination of traditional web pages and Adobe Flash/Flex can have tremendous adoption results.

For end customers, Flex apps can deliver rich product catalogs, configurators, online order forms, engines engines, and interactive forums.

Posted: Tuesday, April 17, 2007 3:58:00 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Today at the Nonprofit Technology Conference in Washington DC, Rem Hoffmann of Exponent Partners is unveiling a joint venture between our respective companies to deliver hosted web solutions integrated with Salesforce.com and specially configured for nonprofit organizations.

Key features include:
+ Hosted, On-Demand Content Management System
+ Membership Management
+ Pay Pal Integration for processing donations and memberships
+ Event Management
+ Recruitment
+ Email Marketing and Campaign Management
+ Published Performance and Outcomes

http://www.exponentpartners.org/ is a pre-built site template that demonstrates some of these features.

The "Published Performance and Outcomes" feature is a significant one, in my opinion.

Rem is an expert at helping NPOs define their goals, devise plans to achieve those goals, and measure the outcomes. I know from personal experience that I'm much more comfortable donating money to organizations that have some level of transparency when publishing their operational expenses or achievements.

But quantifying these measures and publishing them to a web site can be difficult, and the costs associated with implementing the technology to support this level of transparency can often exceed the actual benefits received.

That's why I'm really excited about this solution. It enables a free and open dialogue between donors, members, volunteers, employees, and board members using an affordable on-demand platform. The content management system dynamically displays information configured in Salesforce in real-time. Web content, such as press releases and events, is managed directly from Salesforce.

If you're in Washington DC for the NTEN conference, please do stop by the Salesforce booth and ask for Rem. He'd be happy to give you a hands on demonstration.





Online donations are integrated with Salesforce Pricebooks. Pre-define multiple donation levels or let donors enter their own. Integrated with PayPal, which supports both credit card and PayPal processing. Completed PayPal transactions result in Salesforce Opportunity records.

Support for recurring donations and membership subscriptions.



Define events in Salesforce for publication in the web site. Manage event attendees, email auto-responders and event alert reminders.

Posted: Wednesday, April 04, 2007 5:33:28 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

the_ae_trans.gifGood news arrived from Salesforce today...

Dear Michael,

Congratulations! Your application is now provisionally Certified. Thank you for your diligent work and amazing effort in achieving AppExchange Certification.

The Salesforce.com Security Team noted a couple extra precautions we must take to become "fully" certified. We're confident these measures can be implemented within 30 days.

Perhaps I'll blog more on this process in the future to share some lessons learned, but suffice to say we're all extremely pleased to reach this milestone. A lot of eyes from Salesforce and Symantec have been reviewing everything; including source code, hosted applications, and internal security policies. It's very gratifying to be validated by such a smart group of folks.

Kudos to Jerry Merfeld, our Support and Operations guru, who spent several days researching the AppExchange Certification Wiki and made changes to our information security processes to ensure our infrastructure is in compliance.

Posted: Friday, March 30, 2007 2:19:08 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The Beagle Research Group notes the success of Salesforce's Idea Exchange but goes on to confuse online communities with portals...

"Any day now, I expect to see any number of new or revived portal companies climbing on board the bandwagon to announce that they can deliver portals or even communities of interest better, faster, and cheaper, to which I say, hold on."

"Communities" and "portals" are 2 wildly different concepts. The majority of B2B companies will not expose themselves to the risk of hosting an online discussion forum or Idea Exchange equivalent, but the majority do see 1-to-1 interactions via portals as a must-have feature.

Salesforce.com has been very bold in creating this community and all publicly traded companies with a global customer base should follow suit, but Salesforce customers are much less likely to follow and offer an IdeaExchange to their own customers.

In fact, community applications have really lost their innovative lustre IMO. They are commodity add-on features that have "crossed the chasm" and now only differentiate through "better, faster, cheaper" (look to mobile for where the real innovation is happening).

Single-Sign-On (SSO) is still the #1 problem with most customer self-service sites today, and adding yet another community application only compounds the problem. Portals solve this problem with integrated support for SSO and integrating with best of breed community applications, rather than re-inventing them.

When I do online banking, I just want to focus on my direct relationship with the bank through their portal and get done quick. It's a "nice to have" option to engage in community applications through the same web site, but I expect the signal-to-noise ratio to be much lower.

Posted: Wednesday, March 28, 2007 9:25:50 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

If you have an interest in business intelligence (BI) visualizations or effective dashboard design, I strongly recommend subscribing to Stephen Few's blog and newsletter.

In reading Stephen's blog, I noticed we have a similar skepticism for flashy dashboard gauges. As a student of Tufte, I've come to appreciate the art of multi-variate displays and information design, so it comes as a disappointment to see the industry abuzz with a new generation of reporting tools, dashboard widgets, and components that favor presentation over information.



At last years Dreamforce event, a chorus of "oooohs" and "ahhhhs" filled the room as support for new dashboard visualizations were demonstrated. Some of the new components, such as heat maps and geo maps, were indeed an improvement over what is available today. But there was a fair share of the "flashy" reports too.

The fact is, Salesforce dashboards as they exist today are quite useful and simple. They prevent you from masking true information with needless features like drop shadows and 3D effects.

The gating barrier to implementing useful multi-variate visualizations in Salesforce dashboards is not the UI controls. It's the data itself. Because Salesforce is an OLTP (online transactional processing system) system you cannot simply create a report that summarizes across multiple dimensions in real-time.

Yes, there will always be work-arounds and acceptable compromises, but I suspect that business intelligence in the SaaS world will follow a similar path as enterprise software did in the legacy client-server world, which is to normalize the data into data warehouses that can support ad-hoc queries and pivoting on data.

But SaaS vendors have the benefit of hindsight and are progressively learning to build OLAP and data warehousing support into, or in parallel to production systems; much like our Web Events data mart that gets created in Salesforce, replicating and normalizing all web interactions into the CRM system in near real-time.
Posted: Thursday, March 22, 2007 9:17:39 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Salesforce.com recently announced AppSpace, an extension to Salesforce CRM that allows Salesforce users to collaborate with customers through a Salesforce hosted portal. It appears to be the existing Customer Self-Service portal, but with some additional features.

AppSpace exposes a powerful feature that we've been exploiting for awhile, which is the ability to publish custom objects through the web.

AppSpace is probably comparable to a small subset of features found in i-Dialogue (namely the My Account page) and I'm sure many Enterprise and Ultimate Edition customers will take SForce up on the $995 per month offer. Once our certification is complete, we should be able to provide similar functionality to Professional Edition customers at an SMB rate.

I was a little disappointed that the base offering is limited to 200 users, which limits its ability to be a distribution platform for our Lead centric applications, such as Event Management, or HR job posting/application modules. Also, I'm not making the MySpace connection. Isn't MySpace a place where people create their own pages and personalize them for the anonymous community to consume and reference (aka social networking)? Or am I just showing my ignorance of MySpace? I have to admit I'm not too hip on this.

What will the actual domain name (URL) be for these App Spaces? Can customers create a sub-domain, such as portal.domain.com that refers to their Salesforce hosted portal? Or will it be a Salesforce.com URL? The ability to customize the colors for header, body, and footer may be a limitation for many Marketing departments seeking to offer an integrated, fully branded web experience using their own domain name.

I'm guessing the Discussion Forums functionality are being provided by Jive Software (another local Portland software company), which isn't a bad deal considering their forum server alone starts around $10K (which maybe explains the $995 per 200 customer seat license model?).

Finally, the "End of the Portal" touch by SF Marketing in the press release seemed a little over the top. I think the real value and long-term potential of AppSpace was largely buried in the PR.

I would of course be remiss not to point out that a $995 per month budget on i-Dialogue would get you "the works" for unlimited Leads and Contacts; including Content Management, Email Marketing, Forums, Knowledge Base, 3-5 live support licenses; all on a 99.99% uptime dedicated virtual server. But I digress... :-) Salesforce customers are an intelligent bunch that will ultimately figure out the right solutions to their problems.

Posted: Thursday, March 22, 2007 12:22:44 AM (GMT Standard Time, UTC+00:00)  #   
Comments [3]  | 

Sometimes the simplest solutions are right beneath your nose. We recently stumbled upon a way to deploy a simple Partner Portal that offers 20% of the features found in Salesforce PRM, but delivers 80% of the value (as the Pareto principle would probably dictate).

Most Salesforce.com users are already managing their partners using Accounts and Contacts in Salesforce. Our mid-market channel management portal provides these Contacts with self-service access to Salesforce information with full support for escalation rules, alerts, document management, and campaign management.

But often times all small businesses want is the ability for Partners to register Leads online and allow them to monitor/update the status of their Leads and Opportunities through a portal.

Here are the steps to take in Salesforce to deploy a "Lite" Partner Portal:

1. Ensure the Account Type picklist has a value for "Partner".
2. Create a custom Contact Lookup relationship field on the Lead and Opportunity records. Name it something like "Referring Partner Contact".
3. Map the Partner Contact Lookup fields to user defineable fields in the portal.
4. Map the Lead.Referring Contact field to the Opportunity.Referring Contact so it will persist upon conversion.

With these customizations in place, we then add the "Lite" partner portal "My Leads" and "My Opportunities" web parts to the portal "My Account" page and restrict access to these web parts to those in the "Partner" role.

Finally, a standard Web-to-Lead form is used to pre-populate the referring partners Contact ID when registering a Lead. Internally, you can simply approve/deny these Lead registrations by removing the "Referring Partner Contact" field value. Upon Lead conversion, the referring partner ID will automatically carry over to the new Opportunity.

Posted: Tuesday, March 20, 2007 2:45:02 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

WebEx announced their intentions long ago to re-invent themselves as a platform, much like the Salesforce AppExchange. Now that Cisco has acquired WebEx, how much will this strategy change? Can WebEx truly expand beyond the web conferencing market? With Cisco's help, it certainly seems likely they will enter the inter-VOIP conferencing market. And judging from their Connect Platform, they seem very focused on enabling complex processes and CRM-like workflows.

Any WebEx user will tell you their WebEx Address Book is a key contact management repository that is just waiting to be unlocked (it's actually quite shocking how little reporting there is in WebEx for a 10 year old system).

And what will become of the Salesforce-Cisco-WebEx relationship? WebEx has effectively put Salesforce in their crosshairs and has no shame in demonstrating their SugarCRM integration in the Connect demos. But Cisco is Salesforce.com's #2 customer. Now that really stirs the pot.

And finally, just the fact that Cisco is entering the SaaS market is quite an interesting topic in itself. The WebEx brand is obviously too entrenched to be intermingled with Cisco. Cisco has mastered the art of growing via acquisition in the networking space, but nobody would have guessed that this model could be replicated in SaaS. Given that SaaS is just the next layer above Cisco's networking infrastructure, the new strategy doesn't seem that unusual at all.

Posted: Friday, March 16, 2007 8:48:29 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The goal of every Salesforce implementation should be to achieve what is commonly referred to as Third Normal Form (or 3NF for short). This simply means the LookUp relationships on custom objects are structured in a way that removes duplicate values, does not have unnecessary dependencies, and will scale to meet the future needs of the organization without significant change to the object model.

To achieve 3NF, we must first adhere to 1NF and 2NF rules. Let's look at an example of how to design a 1NF Salesforce object:

Assume Company X sells Tractors and has customized Salesforce to include a "Tractors" web tab and a database of Tractor inventory. To publish images of this tractor on the web, it is possible to create several custom fields named Image1, Image2, Image3 and so on.

Custom Object: Tractor
Custom Fields:
Name
Manufacturer
Make
Model
Serial Number
Build Date
List Price
Image1
Image2
Image3
SalesPerson
SalesPersonHireDate

First Normal Form (1NF) requires that we move these Image custom fields away from the base Tractor object and create a new custom object called Image (AssetImage and Multimedia are other good names). The Image object then simply has a URL for the image location and a Lookup relationship to the Tractor.

Custom Object: Image
Custom Fields:
ImageURL
Tractor (LookUp)

The Image1-ImageN fields can then be replaced with a related list of Images associated with the Tractor. The Tractor can then be said to be in 1NF.

Note: If deleting a Tractor should also delete all associated images, then a Master-Detail lookup relationship is preferred over a basic Lookup relationship.

A 2NF form exercise requires removing the SalesPersonHireDate, since it is not directly associated with the Tractor and must be moved to the User record instead.

Finally, using the Tractor Name as the primary unique key for the Tractor is not a good idea because other Tractors may share the same name. 3NF requires the addition of a TractorID field using the Salesforce auto-numbering convention (In general, I try to avoid use of the Salesforce "Text" option for record IDs. Use the auto-number with formatting option whenever possible).

The Tractor Manufacturer, Make, and Model fields are likely candidates for normalization. But keep in mind that being a database normalization "purest" may also lead to complicating the user interface, requiring the creation or lookup of several smaller objects to create a single new Tractor. If a company only sells 3 Makes of Tractors, then it's more convenient to implement Make as a picklist.

When it comes time to web-enable your Salesforce data model, 3NF will allow you to infinitely scale and provide the flexibility needed to add/remove common information at any time.

Posted: Thursday, March 01, 2007 7:40:34 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

There is finally sufficient web infrastructure in place to enable the rapid design, customization, and deployment of industry focused CRM solutions. Unfortunately, most Salesforce.com CRM and i-Dialogue implementations all start with a common template and evolve in myriad directions to meet industry needs.

The concept of CRM templates has been around for awhile and exists to varying degrees. In 2007, my focus is primarily on pre-built industry solutions that leverage the flexibility of both i-Dialogue and Salesforce to enable rich online interactions between Customers, Partners, and Employees.

i-Dialogue Platform

But first, we need to help educate people on the power of Salesforce beyond the functional areas of just Sales and Support. The AppExchange and Apex give companies the ability to manage their HR, Finance, Legal, and Operations processes as well; and provide web self-service to the various constituents of each relationship through i-Dialogue.

This requires expanding use of "C"RM systems to a "RM" systems. You'll recall that the 6 Markets Approach to Relationship Marketing takes a holistic view of all relationships your organization is engaged in. Not just your customers.

mapContentImagemap_Details.jpg

I look forward to 2007 as the year of bringing all available web tools and technologies together into powerful, vertically aligned solutions that add game-changing value to their respective industries.

Posted: Thursday, March 01, 2007 2:48:20 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Since jumping on the Google Apps Enterprise bandwagon, a couple of Google Apps to Salesforce.com integration requirements have started to emerge.
 
It now feels that we have 2 systems of record for our customer contacts and the path of least resistance to contacting a customer is now through our shared contacts database in Google Apps. This results in the CRM system (which is supposed to be the system of record) getting out of sync with day-to-day operations.
 
I'm not sure that the Google API allows us to log each email activity with clients in Salesforce, but it does appear to support integration between Salesforce Contacts and Google Contacts through the Google Provisioning API.
 
Calendaring is another area where Google has now become our primary means of managing events and meetings, but Salesforce is the system of record for things like Contract and Asset expirations, which drive our subscription billing process. I'd love to have an iCal feed from Salesforce into Google Apps that gives everyone visibility into customer related events. Even better, I'd love Google Calendar events to flow back into Salesforce with 2-way sync (Perhaps just an iCal mash-up on the Salesforce Console Page will suffice?).
 
It's doubtful that Google Apps will ever match the Salesforce Opportunity and Campaign management features, nor provide the workflow and reporting flexibility required to run an enterprise (although I don't doubt many small businesses will use Google Apps for basic CRM). But clearly Google Apps is emerging as the Office 2.0 suite of choice and it's positioning and integration relative to CRM and ERP solutions will follow a similar path that Microsoft Exchange and Office have taken today, albeit within an SOA context.
 
This is all very exciting stuff. There's even talk around our water cooler of creating an "i-Dialogue for Google Apps" solution to enable tighter, enterprise-class interactions between employees, customers, and partners. We'll of course dance on the bleeding edge and test these concepts out on ourselves first. :-)
Posted: Tuesday, February 27, 2007 7:50:40 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

The announcement that Merrill Lynch is moving to 25,000 seats on Salesforce.com stirs a few thoughts in my mind.

First, replacing Bloomberg with a web based Financial Services information aggregator just makes sense. Someone should update the Wikipedia entry for SOA to read "See Merrills use of Salesforce for Wealth Management". This isn't hype. It is a true inflection point.

Second, my internal business compass is wary of having any customer represent more than 10% of total annual revenue. I'm sure Merrill is getting some serious volume discounts to help Salesforce co-develop this solution; but at $500 bucks a seat, 25,000 seats would represent a significant percentage of SForce total revenue.

Third, with customer announcements of this size, will Salesforce continue to deploy them within an existing data partition, such as NA1, NA2, NA3, EMEA, etc? Will Salesforce create individual partitions, such as ML.Salesforce.com, to support customized SLAs? I'm comfortable with the occasional 1-2 hour downtime maintenance windows, but Financial Institutions are already accustomed to non-stop tickers and news feeds from Bloomberg and others.

Posted: Sunday, February 25, 2007 10:33:17 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

We've updated our i-Dialogue Partners page with some new partnerships that I'm really excited about. We absolutely could not deliver our solutions without our partners. In some cases, our partner relationships have spanned more than 5 years.

Some notable new partners include Exponent Partners, Kinetic Shadows, and Agilitas. See the partner page for details.

Posted: Saturday, February 24, 2007 2:27:41 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The rumors are over. Google Apps are here and I'm very happy to be moving my consumer Google Docs & Spreadsheets over to this new service and sharing calendars with our employees and extended network. I experienced 99.9%+ uptime during the beta period, so I'm comfortable using Google Apps Pro for company-wide communication and collaboration.

The open API is just icing on the cake. Time to rethink my Google Docs for AppExchange app and take it to the next level. :-)

Posted: Thursday, February 22, 2007 6:14:26 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

A few days ago I commented on how i-Dialogue form validation may help to prevent Web-to-Lead Spam. Well, that exercise led to experimenting with other validation rules that may be of interest to eMarketing power users.

Note: i-Dialogue forms use an age old syntax for validating form fields called Regular Expressions. It's alright if the following validation rules look cryptic or bizarre (they look that way to me too :-) ). But these expressions pack a lot of punch and can be very powerful.

To use these expressions, simply enter Edit mode on any Text or TextArea type question and paste the expression into the Validation Expression textbox.



Basic Email Validation:
[\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+
Ensures email address conforms to basic name@domain.com format.

Consumer Email Exclusion:
[\w\.-]+(\+[\w-]*)?@(?!gmail|yahoo|msn|hotmail|googlemail|freenet|rediffmail|aol)([\w-]+\.)+[\w-]+
Ensures email addresses are not from any consumer (free) email ISPs. Great for B2B marketing campaigns.

Positive Decimal:
^[0-9][0-9]*(\.[0-9]*)?$
Ensures entered value is a positive decimal.

URL:
(?\w+):\/\/(?<Domain>[\w.]+\/?)\S*
Ensures web address is the proper format.


Date (DD/MM/YYYY):
((0[1-9]|[12][0-9]|3[01]))[/|-](0[1-9]|1[0-2])[/|-]((?:\d{4}|\d{2}))
Ensures date is in DD/MM/YYYY format.

Posted: Sunday, February 18, 2007 2:24:16 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I'll be in the Denver Colorado area March 5th-8th visiting current and prospective customers. If you're in the Denver area and would like to discuss web enabling your Salesforce CRM solution, please contact us.

Posted: Sunday, February 18, 2007 12:01:12 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Things have been busy. So busy, in fact, that we've neglected updating our web site with recent case studies.

So, we'll begin our series of highlighted customer stories with this Real Estate Development Case Study developed with Arco Properties, a brokerage focused exclusively on Panama real estate.

There are 2-3 more excellent case studies in development for the Software Technology and Financial Services industries. Stay tuned!

Posted: Saturday, February 17, 2007 5:38:09 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Gareth explores the possible market opportunities integrating Salesforce and eBay and the relevance of NetSuite's recent eBay integration announcement. In my opinion, eBay integration makes sense for offloading excess inventory managed in ERP systems. Or perhaps even synchronizing inventory completely.

A more applicable solution for Salesforce would be something like Loss Prevention Management that monitors instances of SF Product names for sale on eBay. Imagine getting assigned a Task and receiving a notification in Salesforce that says:

eBay Alert: 500 Pairs of Air Jordan Shoes for Sale on eBay

(at least my cousin in LP Management at Nike thought this was a cool idea ;-) )

Posted: Saturday, February 17, 2007 1:05:56 AM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

I saw Rick Klau's blog entry about how spam bots have started plaguing his Salesforce Lead queue and started doing to some research on our own web forms.

There are several automatic bots on the internet that do nothing but troll web pages, hoping to find weblog comment forms where they can post URLs back to their own sites. It goes without saying that Rick's Sales team is probably not thrilled to be receiving Leads with names like "Cialis" or "Viagra".

I too have noticed an occasional Web-to-Case form being submitted on our site that is clearly the work of a bot, but our web-to-lead forms were not being posted. I wondered why and did a bit of research.

It looks like the email validation rules on our Web-to-Lead forms are preventing the bot submissions from being passed on to Salesforce because the email field submission was not in the proper format. The Web-to-Case forms did not have validation on the email field and therefore were getting sent on to Salesforce.

I don't know that I'd call this an anti-SPAM filter feature just yet, but that is the net result, at least for now. I suppose a determined or smart enough bot could bypass this obstacle.

Ricks initial thought that someone had captured his Salesforce OID and used it to flood his Lead inbox is not that far off base. This is an Achilles heal that I've long been aware of, and I too have wondered if even the most basic Denial of Service attack on the Salesforce Web-to-Lead process could cripple an organizations Lead queue by surpassing the daily quota of web leads.

Oh well... like Andy Grove says, Only the Paranoid Survive.

Posted: Wednesday, February 14, 2007 6:29:24 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
sForce_Client.gifSalesforce Winter '07 includes a new feature called Client Management, which allows B2C organizations to manage client contact records separately from the built-in B2B contact management database that assumes an Account relationship.
 
For years, we've had to workaround Salesforce by auto-populating the Lead and Contact Account name with names like "John-Smith-Household", or simply assigning all Contacts to a single Account. Client Management is a unique configuration of Salesforce that gives the appearance of being more client focused, but in actuality continues to maintain each client as both a Contact and Account in the legacy Salesforce schema and goes to some quite elegant lengths to manage this duality across the entire platform.
 
Client Management creates a new record type called "Person Account". The current notion of "Contact" doesn't go away, but it's recommended to rename the Contact tab to something like "Business Contacts" to differentiate them from client contacts.
My immediate concern, of course, was how does this impact web interactions? I'm still researching, testing, and confirming the following behaviors, so bare with me if you experience otherwise.

First off, Web-to-Lead will only create a Lead if the "Company Name" field is present. If there is no company name, then Web-to-Lead automatically converts the Lead to a Person Account. This actually makes sense since the Company Name today becomes a Lead's Account name on conversion.

The fact that the Web-to-Lead forms wizard in Salesforce will allow you to generate forms without a Company field creates a potential complication in the web forms publishing process.

What is not clear is if a Person Account can be converted to a Business Contact (or vice versa). For example, in effective 1:1 drip marketing it is always preferred to start the online dialogue by collecting only the bare minimum piece of information, such as email, then gradually profiling and collecting more information about the Lead over time.
 
What happens if you cultivate a potential Client for several weeks only to discover the client is actually a prospective channel partner? Granted, not an 80% use case, but it's one of those issues I do run into and we'll need the ability to convert a Client to a Business Contact.
 
So as a rule, the Web-to-Lead form generation process will require some double checking of the Company field and will perhaps need to prompt form designers to confirm their intentions.
 
My understanding is that the i-Dialogue Contact integration process would go unchanged, since there is no new API object type, just a new Account record type. This can be good and bad. Will web self-service need access to 2 records (Account and Contact) at all times to give clients a comprehensive view of their relationship?
 
Migrating an existing Salesforce instance to Person Accounts simply does not look like fun. I see now why the implementation guide recommends executing this migration in a Sandbox before making changes in production. Once Person Accounts have been activated, you cannot revert back (you cannot even downgrade to Personal Edition).

Recommendations:
I recommend that new Salesforce implementations must consider using Client Management if your clients are consumers and your relationship is not with their business. Some new B2B implementations may benefit from enabling Client Management from the beginning, but existing implementations should hold off on a migration unless you have a Sandbox to play in for a few weeks.
Posted: Wednesday, February 07, 2007 3:46:20 AM (GMT Standard Time, UTC+00:00)  #   
Comments [3]  | 

... but that doesn't stop IDC analyst Frank Gens from explaining "Why Salesforce.com will be Acquired in 2007".

I just don't see this happening for a few very BIG reasons.

DNA Mismatch
SFDC is built on Oracle database technology that could not be easily swapped out in exchange for IBM's DB2 or Microsoft SQL Server, or any other database. Oracle is probably somewhat lenient on SFDC's annual database licensing given Larry Ellison's early investment in Salesforce. But a Salesforce acquisition by any company other than Oracle would put them in a vulnerable position of being dependent on Oracle to sustain reliable and profitable operations.

Eyes on the Prize
Salesforce has a realistic opportunity to join the $1Billion dollar club (in annual revenue). Call it pride, ego, esprit de corp, or whatever... but when this level of achievement becomes attainable, rumors of M&A talks can only demoralize the organizations' momentum and cause unnecessary distractions.

Community Goodwill
Salesforce.com's philanthropic investments have created a loyal community of non-profits that do not have a vested interest in seeing their foundation crumble after an acquisition that would likely see their gifting as a liability (instead of a goodwill asset).

Posted: Sunday, February 04, 2007 3:59:55 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The addition of a new email notification feature in Salesforce Winter '07 gives you the ability to auto-assign Leads and send auto-responders when leads come in through the web via the API (and not the traditional Web-to-Lead route).

Some new settings in i-Dialogue embrace this feature and give you the ability to fine-tune how email alerts are sent.

A double opt-in campaign, where a Lead is not actually entered into Salesforce until they've confirmed their subscription status in i-Dialogue, is an example of where you would want to use the native auto-assignment notifications and auto-response rules when a Lead is created.

Posted: Monday, January 29, 2007 10:10:07 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
In President Bush's 2007 State of the Union speech yesterday, he set an energy consumption goal with an implicit solution to use the Business Web.

"Tonight, I ask Congress to join me in pursuing a great goal. Let us build on the work we've done and reduce gasoline usage in the United States by 20 percent in the next 10 years."
 
To achieve this goal, the President explicitly suggested increased use of alternative fuels. But for information workers, a 20% reduction in gas usage is implicitly achieved by simply working from home 1 day a week.
 
We can drive more efficient cars, or we can drive less (preferably both). Emissions and supply dependencies are reduced either way. When email, calendars, voice, contact management, eMarketing, and financials are all accessible via the web, working from home becomes more than a reality. It becomes a practical and more efficient way of doing business.
Posted: Wednesday, January 24, 2007 6:24:58 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I've been having a blast playing with the new Web-to-X feature in the latest release of i-Dialogue. Web-to-Contact, Web-to-Solution, and Web-to-Survey are just a few of the forms I've created already.

Web-to-X works with any native or custom object, so the possibilities are limitless. See video below of basic Web-to-Contact form...

Posted: Monday, January 22, 2007 8:21:46 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Is it too late to make 2007 predictions 3 weeks into the year? Here are a few on my mind...
  
 
Google CRM (Phase 1)
 
GMail contact management allows consumers to create their own extensible metadata for managing contacts. Google Apps for your domain allows you to share your contacts with others in an organization.
 
Expect small businesses to start leveraging these features as Google goes head-to-head with Microsoft Live Office (or is it Office Live? I always mix these up) to provide basic CRM needs to small businesses.
 
Later, integration with Google Pages will enable basic "dialogues" through the web, such as Contact Us form collection.
 

Wikis will actually be "Quick" to use
 
The term Wiki has now been stretched far beyond its original intention of being the canonical example of the absolute simplest web collaboration application. Wiki's that require users to login, provide access controls, content versioning, spellchecking, and variable formatting syntax are no longer Wiki's. They are Content Management Systems (CMS).
 
Corporate Wikis will return to their roots and be accepted as un-structured data. Consumer facing Wikis will outgrow their Wiki lineage and become increasingly sophisticated and complicated, but will unfortunately be forever referred to as "Wiki".
 

RSS Takes Off
 
The proliferation of Internet Explorer 7, with its ease of feed subscription, will force more business and consumer users to discover the power of the "little orange buttons".
 

RIAs Emerge for CRM
 
Web-based access to Salesforce CRM will continue to grow, but alternative Rich Internet Applications (RIA) that are designed for low-latency, frequent interaction, offline use will emerge. Customers will have their choice of UI when using CRM, however critical mass adoption of RIAs is still a few years away.
 
 
The following are not related to the business web, but here are a few consumer-related predictions:

Wayne's World for The Web - User Generated Content Will Suck More
 
The increased sample size of user generated content will regress towards the mean and make the appeal of average YouTube videos as captivating as Waynes World cable TV shows :-)
 
However, the desire for 15 minutes of fame will not go away and demand for paid Internet entertainment services will dramatically increase.
 

iTunes Requires A Tune-Up To Continue Growth
 
The inability to preview entire songs before purchase and access the entire song catalogue on demand will result in either a) Consumer dissatisfaction or b) a business model change that more closely resembles Real Rhapsody.
 

"Small Is The New Big" - Convergence can only go so far
 
The Swiss army knife of Phone/PDA/MP3 player will, at best, be an 80% solution for each of the purposes it serves. Expect a return to 100% focused, small, and elegant devices with a price tag to fit.
Posted: Friday, January 19, 2007 8:50:46 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

All i-Dialogue portals will be transitioning to the Salesforce 8.0 API over the next week.

This release immediately gives i-Dialogue portals the ability to send emails to Salesforce users when actionable web interactions occur or Double Opt In Leads confirm their email address and are assigned to an owner.

The open source portal toolkit for .NET Developers will also be updated within the next week with support for the 8.0 API.

Posted: Wednesday, January 17, 2007 4:27:10 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The Salesforce Portal code generation tool for Visual Studio.NET has been updated. You can download sForceXOSCodeGen.zip here.

This tool is made freely available to customers using the i-Dialogue Developers API for .NET. The project output is designed to be used with our open source portal framework for Salesforce.

Enhancements include support for persisting configuration settings between sessions, assigning a default custom object prefix and a detailed ReadMe file with more details about XOS (eXtensible Object Store) and how to configure the tool.

Posted: Monday, January 15, 2007 6:01:25 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

This question comes up often enough that it's worth addressing here.

Salesforce customers all share a common multi-tenant application hosted by Salesforce.
Your customers share a common multi-tenant portal that is hosted by i-Dialogue.

This architecture gives your web site/portal the isolation and scalability required to meet your future eMarketing and online Support requirements.

Posted: Sunday, January 14, 2007 11:58:43 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Winter '07 upgrade is underway as I write this. I'm guessing my logo entry was not selected as the official logo for Winter '07. I wonder why? ;-)
Salesforce007_LicenseToThrill.png

Posted: Saturday, January 06, 2007 6:44:26 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

We had a couple outages in our i-Dialogue hosting service today that resulted in about 7-10 minutes of total downtime for the week.

Our enterprise hosting provider guarantees 99.9% uptime, which as you can see from the table below, is 8.76 hours of downtime per year, or about 10 minutes per week.

Guarantee % Allowable downtime per year
99% 87.6 hours (Ouch... thats 3.65 days!)
99.9% 8.76 hours (much better)
99.99% 52.5 minutes (not bad)
99.999% 5.2 minutes (The "5 nines" holy grail)
99.9999% < 1 minute

While it's tempting to make a lot of noise with our service provider about 7 minutes of downtime, it's actually still within the 10 minute per week SLA. I just wish it were 10 minutes of planned downtime at 3am in the morning :-)

We've definitely learned that 99.9% uptime on massively scaled, shared infrastructure is a constant battle. Us "software guys" do not envy the "hardware and network guys" at all.

So, we spent some time today researching how we could offer 4 and 5 nine uptime options to our customers who need near 100% reliability.

Isolation and redundancy are the keys to achieving 5 nines, which effectively means doubling the costs of the underlying infrastructure. The actual costs are not as exponential as I originally thought. The path from 3 nines to 5 nines is nearly linear based on our early research.

Keep an eye on our pricing page for more details in the future.

Posted: Saturday, January 06, 2007 6:38:36 AM (GMT Standard Time, UTC+00:00)  #   
Comments [2]  | 
2007 holds many new and exciting projects in store that will yield new features in i-Dialogue based on both customer feedback and internal innovations.

Here is the 2007 feature roadmap (sans delivery dates) in no particular order:
 
Integrated Email Campaigns
Salesforce Winter '07 gives us the ability to "Mash-up" Salesforce Campaigns with i-Dialogue campaigns in a single user interface. A new inline S-Control added to the Salesforce Campaign page layout gives authorized users the ability to create target Campaign Members from Reports in Salesforce, select a desired email launch date, and within the embedded SControl, directly edit the email campaign template and send test emails.
 
Email Template Synchronization
Also in Winter '07 is the ability to replicate/manage Email Communication Templates via the Salesforce API. i-Dialogue email templates can now be derived from Salesforce and vice-versa.
 
i-Store
Online eCommerce will be come much easier in 2007 as i-Dialogue i-Store combines the publication of Products, creation of Assets, and integration with Payflow (Link and Pro) into a single application. Additional payment gateways, such as Authorize.net, will be added over time.
 
Web-to-Object
Similar to Web-to-Lead and Web-to-Case, i-Dialogue Web-to-Object provides the ability to publish publicly accessible web forms that create Salesforce records in real-time on form submit.
 
Support for complex forms with multi-object Lookup JOINs will follow-up later in the year (Hopefully before Dreamforce '07).
 
Outbound Messaging Callback
For web sites that require the publication of near real-time custom objects, a new i-Dialogue web service is available for use by the Salesforce Winter '07 Outbound Messaging feature.
 
When a Salesforce record, such as a property listing or job requisition is created or updated, i-Dialogue is notified by Salesforce to immediately "phone home" and get the latest information for use on the web site.
 
Trash Bin
Did you delete that web content or email template too soon? No problem. i-Dialogue '07 includes a Trash Bin that can recycle/restore any deleted object back to their original condition.
 
Salesforce Summary-Detail Record Explorer
Any Salesforce object replicated in the portal can be viewed with a configurable summary data grid with links to detailed record information. This feature allows for the rapid development of web applications that extend access to Salesforce data beyond internal Salesforce Users; such as Partners, Suppliers, or Employees that only need intermittent access to data.
 
Advanced Content Management
The i-Dialogue Content Management System will get a fresh update with a new Page Management menu that utilizes more AJAX callbacks and dynamic pop-up boxes. The goal is to replicate the functionality of a rich web page designer, such as FrontPage, directly in the browser.
 
Apex Libraries
Our library of data management utilities (de-dupe, bulk record update, bulk record delete, etc...) will be re-written in Apex and made available as packaged library.
Posted: Sunday, December 31, 2006 11:23:29 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The i-Dialogue for AppExchange listing has been updated with a new Flash presentation. Check it out!

Posted: Thursday, December 28, 2006 6:41:12 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's disappointing to see Google drop support for their Google API. I had (false) hopes that they would extend this API to allow Marketers to extract information like PageRank and AdWord statistics through the API.

This is a step backwards. Google, please follow Salesforce.com's lead and allow paying customers to access their own data. The goodwill of providing "free" access to applications in exchange for delivering ads is wearing thin in the business world.

Posted: Thursday, December 21, 2006 5:45:50 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

We just published a free AppExchange app for integrating Google Docs and Spreadsheets with Salesforce Leads, Contact, Accounts, and Opportunities. It should be available on the AppExchange once the Winter freeze is over, but you can get here for now.


Posted: Wednesday, December 13, 2006 7:56:58 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Salesforce announced AppStore yesterday, which takes the AppExchange one step closer to being an "eBay for Business Applications".

AppStore will allow Salesforce customers to pay for their add-on applications, such as Email marketing and Sales Analytics services, through a single payment mechanism hosted by Salesforce. Salesforce will handle all billing and collection for a percentage of the add-on applications licensing fees.

I had a great conversation with David Brooks at Dreamforce 2005 (and later at a roadshow event in Seattle) about this very topic, and this announcement shows that Salesforce is really listening to their customers and partners alike. It's great to see David and Salesforce remain passionate about AppExchange and follow through on new features and services.

Also announced were some Marketing services to help better position and promote applications on the AppExchange.

Posted: Wednesday, December 13, 2006 5:43:38 PM (GMT Standard Time, UTC+00:00)  #   
Comments [2]  | 

My previous post on when i-Dialogue will start using the new Salesforce API was incorrect. All i-Dialogue web sites will start using the new Winter '07 (aka 8.0 API) integration within an hour of Salesforce going live with the updates.

This changeover will occur automatically. Exactly when the changeover occurs depends on which hosted instance of Salesforce your Organization is using (NA1, NA2,... EMEA,...).

We will not be using any new Winter '07 features until Spring '07. We're planning on importing Salesforce Email Templates into i-Dialogue email templates and giving Salesforce users the ability to launch i-Dialogue email campaigns directly from Salesforce Campaigns using Campaign Member reports as the target recipient list.

Posted: Monday, December 11, 2006 10:08:27 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

When it comes to managing eMarketing and portal projects, I've always been conflicted about which tools to use for the job.

Traditional "Waterfall" projects involve up front planning using Work Breakdown Structures (WBS), Gantt charts, and involve resource leveling; whereas Agile web development practices use CRC cards, white boards, Wiki's, PostIt Notes, and are keen on lot's of direct customer-developer interaction.

I prefer to use both styles and recently discovered a way to strike a balance between traditional and agile project management using Google Spreadsheets as a project management tool.



Google Spreadsheets (let's call them "GS" for short) are basically a web version of Microsoft Excel built right into the Google platform. I can create spreadsheets using a web browser and send links to other people to view or edit the same spreadsheet.

My GS project template has 5 sheets named "Requirements", "Tasks", "Issues", "Metrics", and "Tests" that closely relate to Agile best practices and principles.

"Requirements" are customer generated "stories" of how the software should behave.

"Tasks" are the individual supporting tasks involved to deliver the requirements. I have a column for estimated hours and a calculated costs column based on a fixed hourly rate.

"Issues" are the inevitable bugs and clean-up items involved with implementing a project. The customer is encouraged to provide feedback on this sheet.

"Metrics" are used to log measurements, typically on a temporal scale such as 2 week iterations. Traditional measurements like "Resource utilization", "Estimate vs Actual" or Agile "Velocity" metrics may be collected.

"Tests" are like Requirements, except they are used to document quantifiable software outcomes, such as "If a customer is from the U.K., the purchase price should include a VAT tax of X%". Example product prices and expected results are defined in the sheet. I envision integrating FIT with this sheet for integrated testing.

To be truly agile, I need to be able to quickly re-prioritize requirements, tasks, and issues based on day-to-day project changes. To do this, each sheet has a Priority column that can be used for sorting rows up or down.

What makes this solution really rock is the ability to publish this spreadsheet online and share it with others. For example, I can easily publish a link to the Project Template you see in the screenshot above.

If I've shared the spreadsheet with a co-worker or customer and they login, I get a pop-up telling me they are online and we can use Google's web-based instant messenger to chat about the project.

Changes are reflected in near real-time and Google does a great job of warning you about potential conflicts if 2 people are updating the same cells.

What if I'm managing 15 concurrent projects and don't have the time to poll each spreadsheet for a status? No problem. GS has a built-in RSS feed that let's me subscribe to spreadsheet activity and let's me quickly see which projects have been updated.



Google's ubiquitous global presence allows our distributed project teams to stay in sync on a master record. This kind of dependence requires the occasional export to CSV or Excel XLS as a back-up measure.

This approach is not a silver-bullet for all the pains of project management, and it does have some down-sides.

Users have all or nothing permission to view or edit the spreadsheet. This means all the project costs (rolled up based on estimates) are visible to internal resources and Customers. This is not a problem in our environment because we have an open, fixed-bid project approach where the customers know what the cost is upfront and Developers are required to provide the estimates (and understand the project costs).

Another security issue is the fact that Google is still largely regarded as a consumer platform in the eyes of many, even though they've made great strides in delivering business quality services. Again, back it up frequently. There is no service level agreement.
 
You'll need a Gmail account to create spreadsheets and so will the people you're collaborating with. This is a free service. Google only requires you to help them with their viral marketing and identity management model.
 
No graphical charting. Not a requirement for agile anyway, but would be nice in the Metrics sheet for time-series analysis.

I took a template approach to creating the initial spreadsheet, but there is no "copy" or "clone" feature (at least that I can see). It takes some finagling to start a new project using a previously exported XLS template.

The "Labeling" concept takes some getting used to. The spreadsheets aren't stored in hierarchical folders. Google encourages you to create as many documents as you want and use customized Labels to tag or archive your docs.

Search does not appear to be supported in the current version (not that I was accustomed to it in Excel). But while you're working in Google it just seems natural to want to use search.

I suspect there will be some Salesforce integration in the near future, which will give me the ability to relate spreadsheets to Opportunities or Accounts. This would be a welcome addition to replace the gap created when the guys at iRows moved to Google.

Posted: Saturday, December 09, 2006 4:15:36 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I sat down with John Tanner, Founder and President of V2 Strategic Advisors, for about 20 minutes to discuss our recent collaboration on a Salesforce / i-Dialogue implementation.

Highlights from the conversation include:

  • Experiences deploying Salesforce for a Software client
  • The V2 Rapid Implementation Process for Salesforce CRM
  • V2 / i-Dialogue Partnership
  • i-Dialogue roadmap
Download the complete MP3 file here. (7.75MB)

 |  | 
Posted: Sunday, December 03, 2006 10:22:05 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

MyYahoo.jpgIf you've ever used a personalized B2C portal page, such as My Yahoo! or Google's Start Page, then you know that the terms "portal" and "customization" often go hand in hand.

But is this necessarily a convenient feature in B2B portals? Our experience has been "No". And even though i-Dialogue portals support customizable "My Pages", here's is why they are often not a good idea.

1) Yahoo and Google have disclosed that only 5% of their total customer base are even remotely familiar with the customizable page option. These people are called "Power Users".

2) 80% of site visitors that use customizable pages simply accept the default configuration assuming the page designer knows best.

3) The types of support call conversations that take place when customizable pages are enabled in B2B portals can be chaotic. For example:
Representative: OK. Login to the portal and click on your My Account page.
Customer: OK. I'm there.
Representative: Now on the left hand side of the screen you should see a list of "My Products".
Customer: I don't see "My Products" on my account page.
Representative: What do you see?
Customer: I have the NCAA Basketball scores widget installed and "My Cases" directly below that.
Representative: (Flustered) Alright. Click on the "Add Widgets" link and let's re-add your Products list to the page...

A consistent look-and-feel in customer portals gives CSRs the ability to quickly familiarize customers with the interface and resolve their issues.


When should you use customizable pages?

There are information design circumstances when a customizable page makes sense.
1) Rule of 3. The portal widget library must provide at least 3 widgets (aka portlets, web parts, components) that are of high informational or interactive value to the end user.

2) Productivity Gain. Saleforce users often spend several minutes and hours in the Salesforce user interface, therefore productivity gains can be achieved by customizing the UI per Profile or user. But customers are not using your web site as a productivity tool. It is purely informational. In fact, most B2B portal customers want to spend the least amount of time possible in your web site to resolve their issue and locate the information they need.

"Customization" is not the same as "Personalization"

Finally, "customization and personalization are not the same". Customization is the ability to add/remove/change content on a page. Personalization is delivering highly relevant content to end users, such as Amazon.com's "Others who have purchased X have also purchased Y" feature.

Interactive Marketing should emphasize personalization at all times and CRM driven portals are a great platform for delivering one-to-one relevant content.

 |  |  | 
Posted: Thursday, November 23, 2006 7:35:35 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's once again that time of year when Salesforce undergoes a major upgrade to the latest and greatest release, in this case Winter '07.

Here's the latest word on when the upgrade will be conducted for North American 1 customers:

"Please be aware that salesforce.com has scheduled maintenance for your instance (NA1):"
Friday, January 5th, 2007 from 6:00pm PST - Saturday, January 6th, 2:00am PST

It looks like NA3 will be on January 12th. Still not sure when NA2, NA4, EMEA, and AP will be upgraded.

Here's what we're doing at i-Dialogue to ensure a smooth transition:

1) API Integration and Testing.
We're currently testing i-Dialogue against the new Winter '07 8.0 API, but we will not immediately switch over to using the 8.0 API in January. Instead, all i-Dialogue portals will continue to use the 7.0 API for up to 30 days after the transition. We will then convert all hosted portals to 8.0 en masse in late January.

2) Web Lead Queueing
Salesforce has been pretty good about queueing web leads even during maintenance windows. As a redundant measure, all i-Dialogue web leads registered during this maintenance time will be stored on the portal server and later synchronized with Salesforce once the maintenance is complete.

3) Temporarily Suspend All Integration Activity
We plan to suspend all asynchronous integration activities with Salesforce during maintenance periods. Security measures are in place to prevent successive failed login attempts from the portal to Salesforce. Suspending integration reduces the confusion between these 2 systems.

Upon re-activation of integration services, the portal and Salesforce will synchronize all custom and standard objects within 1 hour.

Posted: Wednesday, November 22, 2006 8:19:02 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Some interesting excerpts from this PodCast with Marc Benioff (Episode 1 and Episode 2).

"Isn't this Dell/Salesforce relationship just an 'ol boys club?"

"There are only 24 software companies in the world with revenue over $1B. That's our next goal."

"What is the ongoing cost of employee stock options and SOX compliance?"

"When will Salesforce start to show more than marginal GAAP profit?"

Posted: Saturday, November 18, 2006 5:52:27 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

See Mike Leach, i-Dialogue CEO, present at Dreamforce '06.
"Out of the Box: Portals and Web Sites Powered by AppExchange"

 
Note: The camera stays focused on the podium for the entire presentation.
Check out this screencast for a previously recorded demonstration of the Salesforce portal builder.

Posted: Tuesday, October 31, 2006 9:11:58 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

i-Dialogue is pleased to announce support for the web site templates available at Template Monster. Both HTML and Flash templates are supported by i-Dialogue.

This gives Salesforce.com customers the ability to chose from thousands of ready-made, high-quality web site designs for hosting their interactive i-Dialogue web and portal solutions.



i-Dialogue branding starts at $495 per template. Flash templates starting from $995.
Posted: Saturday, October 28, 2006 1:34:47 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The recent announcement by Adobe to spend $100 million in venture funding to promote it's next generation Apollo platform is not insignificant, as it relates heavily to the future of business web applications, such as Salesforce.com.

The history of business application development has always pursued a fine balance between application "reach", which is how many users can access the app, and application "rich", which is creating applications that address human factors to improve adoption and usability.

Clearly, the Internet has become the defacto means to "reach" end users, but there is a battle waging to determine how best to deliver "rich" user interfaces.

As you can see from the matrix below, Apollo (or something like it) is poised to fulfill the richness that is lacking in Web applications today, such as disconnected access to local files, keyboard shortcuts, and resident application processes.

Also competing for the Web 3.0 quadrant is Microsoft Vista (and Live) with plans to extend their already rich applications with Internet connectivity and collaboration.

Customer and Partner portals will clearly err on the side of maximum reach and utilize open web standards that are capable of delivering the richest possible user experience to the largest possible audience. Employee facing applications and portals are less constrained by a browser-only requirement.

Posted: Wednesday, October 25, 2006 8:51:14 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Apparently SugarCRM has a new partner exchange platform (and I received 6 emails within 2 minutes to prove it!).

SugarExchange beta!!!

Dear Sirs,


Congratulations on your listing on the AppExchange. You appear to have an excellent offering and we wish you success.

Now it's time to gain additional exposure by listing on SugarExchange, the all-new SugarCRM online marketplace.

SugarExchange is an easy way for you tap into Sugar's large and rapidly expanding market:

  • 2.3 million downloads of Sugar Open Source and related items in under two years.
  • Over 800 customers of Sugar commercial products
  • A Sugar customer base that ranges from small businesses to real, actual enterprises.

By listing on SugarExchange you take advantage of the undeniable Sugar momentum. Already, more than 6300 developers provide 280 projects in SugarForge, our extensive developer community and predecessor to SugarExchange. And you're more than halfway there because of the work you've already done for AppExchange!

  1. Create a SugarForge project
  2. Modify your application to work with the Sugar SOA framework. You can test drive Sugar Suite here and download it here. No registration. No hassle. Technical questions? Our wiki contains detailed information and our forums are loaded with Sugar SOA experts.
  3. Publish your offering on SugarExchange.

You can learn more about selling on SugarExchange here. Check out recent news articles about SugarExchange here. Or click here to have a SugarCRM representative contact you.


Sincerely,

- The SugarExchange Team



This does look interesting. My observation has been:
Salesforce customers spend money to save time.
Sugar CRM customers spend time to save money.

Posted: Friday, October 20, 2006 11:31:29 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I try to keep this blog focused on Sales and Marketing, but for those interested in the technical aspects of Salesforce, there's some Apex commentary on our other blog.

Posted: Friday, October 20, 2006 11:24:13 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I met with Steve Anderson from ONE Northwest in the morning to prepare for our presentation in the session "Portals and Web Sites Powered By AppExchange". The goal of the presentation was to demonstrate integration between a couple open source CMS solutions and Salesforce.com.

Steve utilizes Plone to develop various web sites for non-profits (and turns out to be a masterful S-Control developer as well).

My presentation started with a blank slate web site and incrementally added "Contact Us", "Support", and "Careers" pages that integrated directly with Salesforce; all within about 15 minutes.

About 50%-60% of the audience, by a show of hands, were already using .NET with Salesforce. At least 50% had already incorporated Web-to-Lead into their web site.

The "Careers" portion of the demo went smoothly as we successfully displayed open job positions in a web page from the Recruitment AppExchange app and captured online job applications that immediately appeared in Salesforce.

Finally, I spent the afternoon attending the Partner Summit. Having read all of Geoffrey Moore's books on product management and marketing, I was interested in attending a panel discussion that grouped him with some other silicon valley venture capitalists.

There was some good discussion around the on-demand business model and, more specifically, how to capitalize start-ups working from the AppExchange (or more directly, should start-ups even seek equity financing since the entry costs are so low).

The Salesforce Channel/Partner management representatives did a great job identifying application areas that they deemed strategic and would therefore invest in internally; and also highlighted where they saw continued dependence on partners to fill the SFA/CRM/PRM gaps going forward.

Posted: Thursday, October 12, 2006 1:52:56 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Colin Powell - General Colin Powell took the stage at Dreamforce to kick-off the days sessions and, in my opinion, made for a tough act to follow. Aside from my deep personal respect for the man (I served under him in the military many moons ago) he absolutely captivated my interest with his unique perspective on recent world events.

His ability to express strong, commanding leadership and humility was endearing to all.

Appy Awards - Marc and Jim Steele took the stage from 2-3PM to hand out several awards to customers and partners. Great to see customers get recognized for their work. Amazing to see deployments with more than 1,000 seats.

More on Apex - The key architects/developers of Apex took the stage in a revealing 1 hour session that delved into the new Apex language syntax and script governing architecture. Apex will allow even richer Internet dialogues with Leads and Contacts with the ability to create Triggers on record updates.

For example, today i-Dialogue can auto-create a Task for Salesforce reps when any number of web events occurs (called Actionable Events). An Apex trigger monitoring the i-Dialogue Web Event records will be able to evaluate even more complex web interactions and take a variety of actions, such as sending a follow-up email to a Case Study download event.

Posted: Wednesday, October 11, 2006 1:04:00 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
"Can we modify the Salesforce code to fit our business needs?" is a prevailing question asked by Salesforce customers, and today the big announcement is "Yes".

Apex is a new programming language integrated with Salesforce.com that gives organizations and partners complete programmatic control over their database. When coupled with the AJAX toolkit, the results are astounding.

Mash-ups of Google Maps, D&B business info, credit reporting, Yahoo maps, warehouse databases, and Cisco telephony all seamlessly flowed together in an integrated, web-based, on-demand environment.

More than half of my technical wish list features are addressed in the next Winter '07 release and many Salesforce employees are on the floor, eager to listen to customer/partner feedback and improve their platform.

The name "Sales"force is really becoming outdated. The "Work"force vision is now in place as Apex enables the development of full financials, HR, ERP, and inventory functionality that extend beyond the front office.

Think of Apex as an object-oriented stored procedure language for their web database.
Some other notes:
  • Ran into Marc Benioff at a nearby Starbucks while meeting with Gareth. He was gracious enough to pose for a quick photo.
  • I was identified as one of 175 "Customer Heros" at the last moment (Most unexpected)
Posted: Tuesday, October 10, 2006 5:40:53 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I arrived in San Francisco today for the Salesforce User and Developer conference this week and plan to log some highlights of the conference on this blog.

At the Speakers Reception, I learned Salesforce expects 5,000 attendees this year, a considerable increase over last years ~2.5K. The Moscone Center is decked out and everything looks well coordinated.

There's so much I want to share about the next release of Salesforce and how it impacts web and portal solutions, but I can't spoil the surprises just yet. All I can say is that the Salesforce '07 platform is exponentially greater than what is available today.

Stay tuned..... I'll post more as the new features are announced...

Posted: Monday, October 09, 2006 12:18:55 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Michael Leach, i-Dialogue President, recorded this spontaneous presentation on "Creating Web Sites Integrated with Salesforce" in preparation for Dreamforce 2006.

This presentation is intended for web developers and goes beyond the Portal Explorer to demonstrate how to create custom Web Parts integrated with Salesforce custom objects using the AppExchange Recruiting application as an example.

Posted: Saturday, October 07, 2006 10:14:32 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Salesforce's Web-to-Lead feature allows you to integrate web forms with CRM, giving Sales and Marketing immediate visibility into prospects inquiries.

Here are some tips to get the most out of Web-to-Lead using i-Dialogue:



Keep Web-to-Lead forms Relevant
Referring web sites and links set the expectation for a Web-to-Lead form has to offer.
Notice the AdWord in this Google Search for "Widget 9000 Attenuator" sets a "Free White Paper" expectation. The landing page on click-through continues the dialogue with a relevant landing page containing the web-to-lead download form.

Convenient
Make web forms VERY CONVENIENT to complete and submit and keep the number of fields to a bare minimum.
Some web usability best practices include:

  • Auto-focus on the first form field so the customer can begin typing immediately
  • Pre-populate fields if a relationship already exists
  • Set the tab index orders so the form can be easily traversed top to bottom
  • Hitting the Enter key should automatically submit the form.
  • Validate forms on the client-side (such as "Email missing")

When implemented correctly, the prospect should never need to take their hands off the keyboard and use a mouse.

Fulfilling
Keeping inline with the expectation set in the referring links and relevance of the web-to-lead landing page, the next step is to fulfill the promise of the web-to-lead form.

Web-to-Lead fulfillment activities may include:

  • Redirecting to a download page for white paper/case study
  • Sending an email auto-response with directions to download some marketing collateral

DO NOT Promise to fulfill a web form submission immediately (such as "Download White Paper Now") and then make the prospect wait for a Sales call Follow-Up. If you cannot fulfill a marketing collateral request immediately, then make it clear BEFORE the form is submitted, such as "A Sales Rep will call within 24 hours to setup a demo".

Actionable
Sales Representatives want to trust web leads, but often don't because of poor data quality (who is going to follow-up on qwerty@asdf.com?) or there isn't an expressed need for a service or product.

The keys to making web-to-lead forms actionable include:

  • Validate form fields so that empty fields don't get submitted
  • De-duplicate Leads
  • Associate Leads with Campaigns so Sales and Marketing know the source
  • Pre-Qualify Leads with 1-2 questions (Product Interest, Timeline)
  • Auto create follow-up Tasks when Leads come back to the site


Mike Leach, i-Dialogue Principal, will be demonstrating these best practices on October 11th, 2006 at 10:15 at the Salesforce User Conference. Stop by the session "Portals and Web Sites Powered by AppExchange" for a first hand presentation.

Posted: Monday, October 02, 2006 12:27:49 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Open Source Portal Toolkit for Salesforce Released

September 25 2006, Portland OR - Cubic Compass Software (CCS), a provider of enterprise portal software, today announced the availability of an open source portal toolkit for salesforce.com's suite of on-demand CRM applications. The portal is tightly integrated with Salesforce to give Sales, Marketing, and Support professionals a view of all customer interactions online within Salesforce and provides their customers with self-service access to account information.

"Our goal was to take a top-down approach to implementing a Service Oriented Architecture (SOA ) by addressing several key business challenges that every salesforce.com customer faces when integrating their web site with Salesforce, such as how to process web leads, make decisions based on web interactions, offer customer self-service applications, and make it easy to search and find information on a web site," said Mike Leach, CEO of Cubic Compass Software.

The portal toolkit is based on Microsoft's .NET 2.0 technology. A report from Forrester (1) shows that 56% of enterprises have adopted .NET as their primary development platform.

"Cubic Compass Software incorporates several security, performance, and integration best practices into this portal toolkit," said Adam Gross, vice president, developer marketing, salesforce.com . "This allows organizations to spend more time delivering business value through their Web site and less time on integration and deployment."

Programming skills are not required to customize the portal since most content management and Salesforce integration features are managed through a web-based Portal Explorer. Portal implementations that publish Salesforce custom objects or integrate with add-on modules do require Visual Basic .NET or C# programming skills. CCS offers additional tools and consulting to help organizations publishing custom objects.

The portal toolkit is released under the open source BSD license and may be downloaded at http://www.cubiccompass.com/salesforce-portal.aspx . The open source license gives developers the ability to download and customize the portal source code to their organization's specific needs and requirements. AppExchange partners may use the portal toolkit as a platform for delivering hosted services integrated with Salesforce.
 
Cubic Compass offers annual software support subscriptions, technical support, training, and consulting services in support of the portal software. Software and support subscriptions start at $599 per year.

Michael Leach, Cubic Compass CEO, will be demonstrating the portal at Salesforce's User conference in the session entitled "Portals and Web Sites Powered by the AppExchange" on October 11, 2006 at 10:15am.

Hosted portal solutions are offered by CCS at www.i-dialogue.com.
 

References: 
(1) "The State of Technology Adoption",  Nicholas Wilkoff, Forester Research, May 5, 2004
http://www.cubiccompass.com/docs/Forrester_State_of_Technology_Adoption.pdf  

About Cubic Compass Software (CCS)

Cubic Compass Software, located in Portland, OR, provides open source portal software and services that help organizations interact with their customers online and integrate their customer and partner facing web applications with CRM, ERP, and legacy systems. CCS is the primary developer of the .NET Portal  Toolkit for Salesforce.com and the suite of hosted i-Dialogue for AppExchange applications found at www.i-dialogue.com.

CCS has been developing award winning portal solutions since 2001. For more information, please visit http://www.cubiccompass.com, email info@cubiccompass.com or call 503-245-7654.   



For More Information
http://www.cubiccompass.com/salesforce-portal.aspx

Posted: Tuesday, September 26, 2006 11:34:11 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

New in i-Dialogue v 6.4.7 is a feature called "Actionable Events".

Actionable Events (AEs) are web interactions that automatically trigger follow-up tasks in Salesforce. For example, a web lead may subscribe to a newsletter and passively monitor emails for several months. Then one day the Lead responds to a newsletter by clicking on a link to a white paper and does some serious research on the web site.

The next day a Sales rep calls the Lead and asks them if they can answer any questions regarding a particular product. The customer will think the sales reps timing is perfect and relevant.

This scenario is accomplished by editing an i-Dialogue portal object in Salesforce and selecting the "All Download Events Are Actionable" checkbox and defining the trigger count and default Task fields.

i-Dialogue will auto-create and dynamically assign tasks for each Lead or Contacts based on OwnerId.

 |  |  | 
Posted: Tuesday, September 19, 2006 1:19:47 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Connect OnDemand is a great site for networking with other Salesforce Customers and Partners that will be attending the Dreamforce conference.

Click on the "Join Me@ConnectOnDemand" image below for more information.

 Join Me at ConnectOnDemand!
Posted: Monday, September 18, 2006 10:30:23 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

This won't be formally announced until just before Dreamforce, but here's an exclusive to Diablogue readers:

i-Dialogue Chat for AppExchange integrates with any web site to enable instant messaging between customers and Salesforce users. You can check out a 2 minute video here.

Posted: Monday, September 18, 2006 8:45:50 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

More info on the Salesforce.com Portal Toolkit is now available as it moves into public beta.

Mike Leach, from i-Dialogue, will be presenting at Dreamforce October 8-11, 2006. Stop by the Developers Lounge after the "Building Portals and Web Sites with AppExchange" session to discuss your web-Salesforce integration needs, or just say hello.

Posted: Friday, September 08, 2006 11:21:33 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

A business web desktop, new calendar, and reminders are just a few of the new features being revealed over at SFDC's idea web site.

Oh, BTW You can also vote for your favorite Winter '07 logo.

Here's my favorite ;-)

Posted: Thursday, September 07, 2006 6:58:17 PM (GMT Standard Time, UTC+00:00)  #   
Comments [1]  | 

As was alluded to in a previous post, we've been studying the ins and outs of open source to offer web developers maximum control over their interactive web portal implementations.

Our parent company, Cubic Compass Software, recently made the transition to open source and we have BIG plans for the Salesforce .NET Developers community.

A .NET Portal Toolkit for Salesforce.com is in the works and should be available soon (definitely before ADN), complete with ASP.NET and C# source code examples on how to integrate your web site with Salesforce.com. Watch for a new Developers section on this web site.

Posted: Wednesday, August 23, 2006 1:27:46 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I've avoided commenting on Microsoft's announcement to enter the hosted CRM market in 2007, but the news is widely covered, so it's worth sharing a few observations.

1) Microsoft's vision of the software+service model is a winner; if it can be executed.

Microsoft would like business users to continue using Outlook and not even realize that they're using a CRM system. Your Outlook software is wired to a CRM service that logs every email interaction, appointment, and contact record.

But Salesforce.com could just as easily create better Outlook plug-ins to address this requirement.

2) Microsoft CRM will continue to be built on their Active Directory and Exchange servers, which were not designed for the Internet hosting era. Microsoft says that they will bear the brunt of this overhead by hosting CRM for businesses.

This will be a great feather in the cap for Engineers, but from a business perspective I think the hosting costs and SLA challenges will be a huge, and ultimately unprofitable, drain on Microsoft resources.

3) Microsoft will be very price competitive and they won't care about profitability for at least 3-5 years. This means that customers might get a workable CRM solution for 40-70% of the cost of Salesforce, but it also means that if Microsoft does not reach at least $500M in annual revenue at the end of 5 years, the whole product line could be shelved.

4) Salesforce.com has a better partner strategy. There will not be an equivalent to AppExchange when Microsoft Live is launched. Salesforce.com does a great job of acknowledging the broader Internet ecosystem and encouraging partners and customers to create "mash-ups" with other systems.

This outer locus of control is counter-cultural to Microsoft. Microsoft Service partners will be the big winners (not ISVs).

5) Microsoft is closer to offering businesses a whole solution. They have an array of back office applications at their disposal, which will give customers the ability to transfer CRM opportunities directly over to Accounts Receivable, Inventory, and Shipping processes.

But Salesforce.com's open web service API makes integration with any Back office system feasible and partners are sure to fill the demand (such as with SAP and Oracle Financials).

6) Microsoft's record of hitting product launch dates is not very good. The mid-2007 target is really aggressive and they still haven't released Vista. The announcement was primarily intended to get Microsoft Partners excited at a recent partner event.

Posted: Wednesday, July 19, 2006 1:16:11 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The AppExchange has several free applications developed by Salesforce.com that provide a great start for building solutions. Many of these solutions are fairly turn-key and can be used by employees immediately, while others may need some customization.

Almost all of these solutions could benefit from a Customer Interaction Management (CIM) element, such as an integrated website or customer portal.

I recently reviewed several of these free apps and made some notes on how i-Dialogue could extend these apps to create a whole solution that interacts with customers.

Medical Practice Manager
A great app for tracking patient visits and insurance providers, but doesn't provide detailed practice management features like HL7 codes. I would like to extend this with the ability for patients to create their own appointments online, receive appt reminder emails, and perhaps even update their insurance information online.

A review in the AppExchange listing alludes to possible HIPPA compliance issues, but I'm not so sure a Healthcare solution hosted by Salesforce.com would too far off the mark. After reviewing a HIPPA Ready Portal Checklist we developed a few years ago, I only noticed 2 factor authentication and de-identification of patient records to be possible design challenges to a fully HIPPA compliant practice management solution using AppExchange (and isn't 2-factor authentication more of a recommendation than a requirement? Not sure).

Property Management
Real-Estate is a popular category on the AppExchange and this app quickly gives you a database of properties, rentals, and transactions right out of the box.

The CIM opportunity is the ability to search properties and rentals via an integrated i-Dialogue web site, plus adding the ability to associate images/pictures with properties.

The i-Dialogue portal would also help interested parties contact the realtor to follow-up on a property or rental.

Event Management
We're developing a portal interface for this app as I write this. It provides a great data model for managing special events and coordinating all the logistics with hosting an event (to include equipment, facilities, food & beverages).

The self-service element in i-Dialogue gives customers the ability to register for events online, print directions to the event, receive email reminders prior to the event and post-event surveys.

Services Project Manager
Pro Service Automation, or the tracking of timecards against billable projects, is largely an internally used application and this app provides the basics.

Customer Interactions might include the ability for customers to see their project histories online, contact project resources, and collaborate on documents.

Recruiting
This app is begging for the ability to publish open Job Descriptions online and allow prospective candidates to search Jobs and apply online.

Evacuee Management
This application was created in the aftermath of hurricane Katrina to help place evacuees with temporary housing.

Some CIM opportunities include the ability to locate friends and family through message boards / discussion groups and self-service ability to update status / request housing.

Pet Finder
Handy database for relating lost pets to owners. Definitely a candidate for web self-service so owners can register their names and details on their lost pet.

Some other applications that I'd like to see with CIM portal integration:
Golf / Tennis Reservation System
Hotel / Motel Reservation System
Appointment Scheduler
eLearning Certification System
Facility Management

Posted: Monday, July 10, 2006 8:05:16 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

There are 2 great articles that will help you get the most out of your Web-to-Lead conversions.

Associating Campaigns with Inbound Leads notes that you can auto-associate a lead with a campaign by adding the following fields:

<input type="HIDDEN" name="Campaign_ID" value="7013000000004ko">
<input type="HIDDEN" name="member_status" value="responded"> 

You can have i-Dialogue automatically associate a Lead with a Campaign if the Web-to-Lead form is on a landing page associated with a campaign. To create a campaign landing page, drag a web page onto a campaign object in the i-Dialogue tree menu.

A best practice tip is to create a campaign named something like "Google AdWords - Keywords" and then associate a landing page containing a Web-to-Lead form with the campaign. Not only will the Leads in Salesforce be automatically credited as responding to the Campaign, but the Google total impression count and click-throughs will be updated as well.


Passing Hidden Values through Web-to-Lead Forms builds on the advanced feature of using hidden fields to pass any type of information from the web server to a Lead record.

Watch this HOWTO video to learn how simple it is to create a Web-to-Lead form in i-Dialogue (There's no editing tricks. It really does take just a couple minutes to publish a lead form in your portal).

Creating hidden fields in i-Dialogue is easy. Add a question to any form of type "Textbox" then in edit mode, select the "Question Is Hidden" checkbox. That's it! Salesforce recognizes the Question Code to be the field ID and Default Answer to be the value.

Posted: Saturday, July 01, 2006 3:01:19 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

A typical dialogue between channel sales managers and indirect sales representatives is the management of Leads and Opportunities.

The Channel Manager has oversight of each partners opportunities and acts as a referee in situations where 2 partners are pursuing the same opportunity.

i-Dialogue PRM Portal helps to mitigate channel conflict with a database of Channel Registrations that associate Leads and Opportunities with specific partners. i-Dialogue also sends email alerts to partners, such as reminding a Sales Rep that their opportunity registration will expire in 60 days unless updated.

Here is a typical channel registration workflow managed by the portal.



The process is not completely automated. An internal Account or Channel Manager must intervene in the early stages to determine if a submitted registration conflicts with an existing registration.

The ability to identify and resolve conflicts is directly associated with the quality of data collected by the portal. "Company" or "Account Name" is the most common identifier of exclusivity, but territory, industry, or product type may also be used.

To this end, the first report created in the CRM system should be a quick list of all open channel registrations by Company name. The portal could "attempt" to identify a conflict based on Company name, but because of variances in spelling (such as "IBM" or "I.B.M") this task is best left to human intervention.

Once a registration has been assigned, the portal loops 1-N times over step 6, sending out emails every 30 days (this is customizable) to help gently "prod" the partner to touch the prospect and update the CRM record.

What happens if other Partners register the same opportunity? In this dialogue flow, the conflict may be noted as an activity and later re-assigned to other partners on a "first come, first served" basis.

Because the registrations are managed as Opportunities in Salesforce, existing reports can be leveraged for forecasting and demand planning.
Posted: Monday, June 26, 2006 8:20:45 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Thanks for posting this list of Salesforce Partners Mark! Time to update my blogroll.

Posted: Monday, June 26, 2006 7:43:56 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Jennifer makes an observation that she'd like to see a collaborative online scheduling service that supports a customers ability to make appointments online with the business owners ability to publish available dates, times, and resources.

Funny you should mention this Jennifer, as I was just contemplating this service myself. In addition, I think the service should send automated appointment reminders. I know my Dentist and Accountant could use such a service as "no shows" cost them money.

All of the basic components are available to do this (we did something similar a couple years ago for a Healthcare Patient Self-Service Portal). Maybe it's time to seriously revisit this solution within a Salesforce.com context?

Posted: Thursday, June 22, 2006 6:54:02 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I was working with a Salesforce account hosted on their new NA3 instance (NA=North America) when it suddenly stopped working. No.... I'm not blogging to complain about the brief outage, but it did give me a moment to reflect on various technology inflection points over the past several years and their likely quarks that were dutifully suffered, knowing that things could only improve.

Inflection Points and their related detracting comments:

1) "Use the public utilities for electricity? No way. What happens when they go down or the power is not clean?" (OK. Maybe a little before my time)
2) "Personal computers? Those are just toys."
3) "Graphical User Interfaces? I can type faster than I mouse. Real programmers don't use GUIs."
4) "Windows in business? Rebooting from the 'blue screen of death' 10 times a day will actually make you less productive."
5) "The Internet is too slow and limited to just web forms. Client-server business apps are much better."
6) "Don't the frequent Salesforce.com outages bring your business to a halt? I wouldn't run a business on hosted software."

Of course, the detractor making the final comment is viewing their latest pay stub online from a Windows business laptop that is plugged into the public power grid. ;-)

Posted: Wednesday, June 21, 2006 11:30:11 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Having spent the past 12-18 months working with Salesforce.com and other web services, I can't help but wonder if i-Dialogue's core competency is drifting away from Software Development and gravitating more towards Systems Integration (SI). Or is it a combination of both?

Designing and developing solutions using a Service Oriented Architecture (SOA) requires a certain external locus of control that SIs are more accustomed to, whereas traditional Software Development is more about internal control.

Does SOA inherently force a balance of these two skill sets, or is it just the "portal hub" nature of our solutions that require these skills?

I must admit that having the resources of thousands of other Developers and solutions at my disposal is a much more attractive option than attempting to re-invent everything myself. I love "looking out" to the solutions available and leveraging our core portal integration platform to bring multiple applications and services together.

It's all about the "whole solution" concept. It's irresponsible, in my opinion, for SMB business software vendors, to require clients to take their solutions across the finish line. The IT staff at many companies are already over worked. I believe the entire deployment process of an on-demand solution should be easily managed at the business decision makers level within an organization.

The art in SOA systems integration, I believe, is in writing code that completely hides the seams. Perhaps I'll itemize the lessons learned later in this blog, such as my conformance criteria for single-sign-on, data types, ETL, IDS monitoring, user interface, SOAP interface, and database persistence.

Posted: Saturday, June 17, 2006 7:12:30 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

OK.... I think I get it now... I've fielded 3 calls in the past week asking about i-Dialogue Live Chat. What is the integration with Salesforce? How much is it? How does it integrate with our current site?

The original intent was to include chat as an add-on to i-Dialogue Suite, but clearly people would like to see this as an independent solution.

So, here's the roadmap for the next release:

  • i-Dialogue Live Chat will become an independent solution and published on the AppExchange
  • You can add a "Chat Now" image or link to your own web site
  • Chat visitors automatically become Leads in Salesforce (assuming Email is collected)
  • Chat transcripts are associated with Lead records.
  • Administrators can grant Salesforce users with Live Chat Operator privileges
  • Chat will be independently priced with a per user monthly subscription

For .NET Developers, I recommend checking out Absolute Live Support (ALS). Our chat solution is based on ALS... we're providing the systems integration to Salesforce and on-demand hosting through an agreement with ALS's Developers.

Posted: Friday, June 16, 2006 5:14:57 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Salesforce.com has great Case Escalation rules that give Support Managers peace of mind that cases will not go unattended for too long. But how do Sales and Channel Managers get the same peace of mind that their assigned Leads are not going untouched?

I first started trying to solve this problem using the Salesforce workflow capabilities, which are excellent for initial lead assignment, but I quickly ran into issues trying to escalate a Lead.

For example, if I assign a Lead to a Partner, I want the following rules to apply:
1) The Partner has 48 hours to Accept the Lead (in case they're on vacation)
2) The Partner has 1 week to update the Lead record
3) If the Lead is not converted in 30 days, send the Partner an Alert
4) If the Lead is not converted in 60 days, send the Partner and Account Manager an alert
5) If the Lead is not converted in 90 days, reassign the Lead to Account Manager

I came up with some semi-workable solutions using available tools in Salesforce that were limited to internal users, but didn't work for Partner contacts (of course, now that I post this, someone will probably publish some clever way to accomplish this ;-) ).

The solution I ultimately came up with was to develop an escalation rules engine using custom objects and the AppExchange API. The design is patterned after the best features in Salesforce Case Escalation Rules and Workflow and targeted specifically at sending email alerts to Users and Contacts at predetermined intervals when certain criteria are met.



Creating a workflow engine in a forms-based user interface environment presents a unique set of challenges. Graphical flowchart visualizations are usually best for depicting complex Lead escalation rules, but this wasn't an immediate option.

(As an aside, we did develop a prototype graphical workflow engine for i-Dialogue last October using Windows Workflow Foundation, but this lacked a web-based interface. Salesforce Product Managers also have this feature on their roadmap, so who knows... It could be available within 12-18 months from someone.)

As you can see in the screenshot below, the forms-based rule designer didn't turn out so bad. In fact, you could argue that this approach is easier for most business users since the rule reads from top to bottom like natural language English:

"If a Lead is not accepted in 48 hours, reassign it to the Account Manager".

Posted: Thursday, June 15, 2006 3:18:34 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It looks like the Salesforce NA1 migration window is going to be next Saturday, June 17th starting at 10am PDT.

Salesforce is recommending that all API integration processes be stopped during this window. We will comply by suspending all hosted NA1 portal integration processes during the migration window.

I don't anticipate any problems, but will personally monitor the situation over the weekend to ensure integration resumes on Sunday the 18th.

Posted: Friday, June 09, 2006 5:59:27 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
I've noticed a couple approaches to managing unqualified Leads within the AppExchange ecosystem of eMarketing solutions.
 
One approach is to keep unqualified Leads out of Salesforce until they are "primed" and ready for some sort of phone call or personal interaction.
 
The other approach is to utilize features like Web-to-Lead and store all Leads, qualified or not, and modify the View visibility so that Sales people only see Leads that have matured past a certain milestone.
 
I highly prefer and recommend the latter approach and here is why: You may be having a qualified "dialogue" with these leads through your web site and not even know it.
 
Web Leads may be posting questions to discussion forums, commenting on blog posts, searching your knowledge base, or having live chat discussions with operators. In each case, you'll want a Lead record in Salesforce to capture and associate with these types of portal dialogues.
 
With i-Dialogue drip campaigns, suspect Leads may need to be touched with an email message once a month for several months before they register your solution with their problem. Drip campaigns are designed to gradually gather little pieces of information over time, instead of requiring one long registration form or survey. Therefore, it pays to be patient with these Leads and "let them ride" in Saleforce CRM for several months.
 
Just be sure not to unnecessarily expose your actual Salesforce and partner channels to these Leads.


 |  |  | 
Posted: Friday, June 09, 2006 4:50:41 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's been a few years since releasing our last channel management solution (which was for Epicor CRM), so it was an obvious choice to integrate i-Dialogue with Salesforce.com to develop a Partner Portal solution.

Salesforce seeded the AppExchange with some spectacular PRM Channel Management solutions earlier this year that quickly got my creative juices flowing. So now, in addition to Lead and Opportunity management, there is also support for online requests for Marketing Development Funds, Refunds, Special Pricing, and Demo Units.

Also, some there's some clever email escalation, lead forwarding, and reassignment features built-in. It looks like a formal release and announcement will be the week of June 19th. Pricing is already available.

Posted: Tuesday, June 06, 2006 3:05:39 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Here's an internal marketing campaign that didn't make the final cut... but I thought it was pretty clever.
The idea was to differentiate interactive customer portals from traditional "brochureware" sites.

bro-chure-ware (br-shr-wâr)
noun

Brochureware refers to Web sites or pages that are produced by taking an organization's printed brochure and translating it directly to the Web without regard for the possibilities of the new medium. In extreme cases, all the copy in the brochure will be used as-is and visual images will be copied as well. The result will almost always be static and uninteresting.

While a Web site can be thought of as an "online brochure," most designers suggest taking advantage of the Web's interactive and dynamic capabilities, including hypertext, built-in programming, and streaming video.

Reference: Whatis.com definition for "brochureware"

Need to upgrade your web site? Try i-dialogue.com!

Posted: Tuesday, May 30, 2006 12:43:15 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Well... it's official. i-Dialogue Customer Portal just went live on the AppExchange today. Special thanks goes to our Partner Success Manager at Salesforce.com and all those at SFDC who helped in the certification process.

Here's the official press release: Cubic Compass Deploys Customer Self-Service Portal on Salesforce.com's AppExchange.

Posted: Wednesday, May 24, 2006 8:06:02 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

the_ae_trans.gifHere's some inside information for those in the blogosphere. i-Dialogue for AppExchange is now available in private showing mode.

It should be published in the open AppExchange directory within a week or so after we finalize some marketing and operational tasks, but you can test drive and install it now. It's fully functional and tested.

Posted: Friday, May 19, 2006 5:35:23 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Get the feed They're taking over the Internet... slowly but surely.

Look out! Here's another one rt.gif  Get the feed

But what are they? Well... clicking on one may not reveal much, but the "little orange buttons" are our friends and they're here to stay.

They go by a lot of "techy" names, like RSS, ATOM and "Attention", but basically they give your customers a web address that can be integrated into their desktop, or other applications.

In the case of i-Dialogue Customer Portal, they keep your customers attention by streaming your portals activities right into their applications, like Microsoft Outlook, Google News Reader, or Internet Explorer.

Imagine your customers seeing headlines from your web site like "New Product Release from XYZ Corp Hits the Market" right next to their Inbox?

Blog entries, message boards, knowledge base articles (from Salesforce.com Solutions), and new web pages.... they're all combined into one feed.

So go ahead...click on one Get the feed. They won't bite ;-)

But before you do, check out a few of these fine RSS readers. In fact, you may consider bundling the announcement of your portals RSS feed with the ability to download any of these readers:

Attensa: Great for organizing feeds in Outlook.
Bloglines : The leading online, hosted RSS feed aggregator.
Newsgater: Offers both installed and online readers.
Feed rinse: Clever web site that filters feeds before they get to your reader.
Posted: Friday, May 19, 2006 12:41:30 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The convergence of email, content management, web forms, and CRM in a single solution like i-Dialogue can provide great power, but "with great power comes great responsibility", and one of those responsibilities is CAN-SPAM compliance.

You'll notice that every email sent from an i-Dialogue portal includes an opt out link and your organizations address in the footer by default. This is to ensure that your customers always have the option to "opt-out" of future email communications and even contact your physical address in writing or by phone to make this request (you have to honor any channel).

Great thought has gone into making it convenient for your customers to opt out... but there are controls in place to ensure this feature does not get abused.

For example, when viral marketing activity occurs, customers are usually forwarding their emails to their friends and family. What happens if one of these people click on the opt out link?

Not to worry. i-Dialogue has some basic protective measures to ensure only the original email recipient can opt out.

The final key to CAN-SPAM compliance is data integrity. When a lead or customer opts-in or out via the portal, this bit of information (and it is quite literally a "bit" ;-) ) makes it back to Salesforce.com and updates the related "Email Opt Out" field within the hour.

Most, if not all, email marketing vendors on the AppExchange will respect and adhere to the setting of this field, further validating the tremendous value of making Salesforce.com data the master record for all your Leads and Contacts.

Posted: Thursday, May 18, 2006 11:35:15 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

There's a great web cast on CRM Guru.com hosted by Wendy Close of Salesforce.com on improving the customer self-service experience.

The 5 steps outlined in this web cast are decidedly different, more substantial, and more relevant than another 5 step list I previously blogged on. The web cast includes some great supporting data and statistics on where the call-center industry is heading and the impact of web self-service.

This Yankee Group study shows the general trend of how customers are increasingly looking towards companies web sites for interaction or information.


This slide provides a great visualization of how customer relationships are matured using multiple channels. For example, using email and personalized web site landing pages to help progress opportunities towards actual phone or in person dialogues.





Posted: Friday, May 12, 2006 7:25:32 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Check it out.... I caught the AppExchange seminar in Seattle about a month ago and will definitely be at this one. Great info for potential and current partners.

Posted: Friday, May 05, 2006 1:28:28 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

The broad scope of relationship marketing

Challenge:
Your web site must support multiple relationships. Not just customers.

Solution:
Use the 6 markets model to identify key relationships and design information architecture around them.

The 6 markets model is useful for visualizing the key markets and relationships that every organization is engaged in. Relationship Marketing takes a holistic view of all of these relationships and promotes cross-functional collaboration between internal groups to address the needs of each of these relationships in a methodical way.



Action Items:

 Low Hanging Fruit

Use CRM to Manage All Relationships
Expand the responsibility of your CRM database to manage all relationships. Create a Role field for Contacts.
In Salesforce.com CRM this is best implemented as a multi-value picklist.

Mirror Roles in Web Site
Make sure the web site is synchronized with the CRM database so that the relationship context is known at all times.

Relationship Oriented Navigation
Create navigation menu for the 6 markets.
For example, direct access links for "Customers", "Partners", "Investors", "Media/Press", or "Employees".

 Mid Hanging Fruit

Delegated Publishing Authority
Assign Marketing, Public-Relations, Support, and Human Resource representatives to specific relationships and delegate authority to manage Internet dialogues via web content and emails.

Relevant Front Doors
Remove the concept of a single home page and ensure each type of relationship has a clearly marked and accessible "front door" on the web site.

 High Hanging Fruit

Sub-Segment
Sub-segment the primary 6 markets into sub-markets using the segmentation capabilities of the CRM system. Create an iterative/incremental web publishing process that ensures targeted content exists for sub-segments.

Measure and Optimize
Create KPI dashboard indicators that monitor relationships in the 6 key markets and provide realistic feedback on relationship marketing activities.


References:
Adrian Payne (1991), Cranfield University

Posted: Monday, May 01, 2006 10:55:48 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
I was intrigued to find an article on Salesforce.com's CRM Success blog about improving the customer experience with self-service. But I was a little puzzled over the articles summarization of "5 key elements to providing good customer self-service online":
  1. An easily deployed, personalized customer portal with appropriate branding.
    OK... I'd go along with that.
  2. A customer-driven web-to-case management system for opening and tracking cases
    My usability studies show that a customer opening a case online is an unhappy customer. If the customer portal is properly designed, then customers will successfully "self-serve" themselves to needed information. Web-to-Case forms are a "request to be served" last resort that generally result in higher support costs. Besides, email and web initiated support response times are actually getting worse, not better.
  3. A comprehensive knowledge base
    Definitely. This should actually be the #2 key element.
  4. Embedded natural language search
    I think this myth get perpetuated from the 'Ask Jeeves' days, but customers actually just enter 1-3 keywords into search boxes.... not natural language sentences. And besides, once a customer is using your customer portal, you should be able to anticipate 80% of the keywords and rely on human edited search results to maximize the relevance of search results. Depending on engineered search solutions for your customer portal is really casting your fate into the wind.
  5. An application programming interface (API) for integrating to other systems such as ERP and contact center telephony solutions.
    I suppose it depends on the company size. A small to medium business that is already buying into the concept of on-demand CRM might be best served avoiding APIs and exploring other on-demand customer self-service solutions (shameless plug for i-Dialogue ;-) ). But closed-loop integration and a thorough understanding of your customers can ultimately only be achieved using a service oriented architecture. This, unfortunately, does not really improve the customer experience, but does improve the employee experience.
Posted: Monday, May 01, 2006 12:43:08 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

A quick update on our "i-Dialogue for AppExchange" customer portal solution:

Testing of the beta release in February revealed that our Salesforce Lead and Contact integration just was not deep enough. Many test customers immediately wanted to extrapolate our integration across *all* Salesforce objects, to include Accounts, Solutions, Products, and Campaigns.

After all, we have a rich knowledge base. Why isn't that integrated with Salesforce Solutions? Salesforce has rich reporting and dashboards. Why can't the customer portal reports show up in there?

Also, some customers preferred to extend their existing objects rather than learn new, but similar, custom objects. So rather than create a new Web Lead or KB Article object, they wanted their end users to simply see some new custom fields in existing objects that related to the customer portal.

And finally, after getting everything configured, they wanted the ongoing integration to be seamless and happen in the background without any manual intervention.

So, we looked at some off the shelf integration tools, scoured the sForce Developers Guides, and ultimately went back to the drawing board to design the "Salesforce Object Mapper".

This is a Marketing friendly web application that allows anyone to map Salesforce fields to i-Dialogue fields for use in emails, personalized web pages, knowledge base articles, campaigns, and accounts.

In fact, there is no limit to the number and types of custom objects and fields that can be mapped to the customer portal. If you've created your own custom objects and would like to utilize them in the customer self-service portal, there is now support to do that.

Posted: Tuesday, April 25, 2006 7:21:15 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Three things keep me up at night since transitioning to a "Software as a Service" (SaaS) model.

#1 Data Security
#2 Reliability
#3 Data Quality

Since I prefer to regularly get 6-8 hours of sleep per night, these risks must be addressed head on. Here are some strategies that I've found useful to address these issues:

Security

I've written extensively on the subject of securing enterprise portals, and all of these best practices and checkpoints are considered in every solution we deploy.

Even if you manage to secure the entire solution, you still have new threats emerging every day. That's why we've decided to focus exclusively on the web application layer of the SaaS stack and have partnered with the security experts in hardware, network, OS, web server, and browsers to manage their own their respective areas.

Passwords, SSL, encryption, session timeouts, audit logging, blacklists, temporary lock-outs, and system alerts are just a few of the security measures in place in a customer portal application.


Reliability

Hardware malfunctions and Internet connectivity outages are a reality, but I feel comfortable knowing our data center partner is pulling the "late shift" and available to swap out SCSI drives and restore files at a moments notice, if needed.

We obviously pay a price for this infrastructure reliability, but as Nicholas Carr points out, this stratification of infrastructure and application providers makes sense since they really are 2 completely different business models.

When Salesforce.com goes down or is not available, employees are typically the only ones to notice. But when the web site or customer portal goes down, everyone notices. That's why I believe in offering multiple hosting options and configurations for our solutions.

Small and medium businesses will probably find the reliability of a shared, multi-tenant customer portal to be sufficient for their needs, while a fortune 500 company deploying a micro-site for high traffic eMarketing campaigns or sending 1,000,000 personalized emails may need the full power of 3 dedicated web servers and an isolated database to ensure 100% uptime during the campaign.

That's why our solution has been designed to be scalable and configurable for a variety of environments.


Data Quality


CRM data quality is hard enough to keep clean without outside interference from external systems. My nagging fear when initially learning the ins-and-outs of a CRM system is that the customer portal may introduce "dirty records" or overwrite more authoritative changes made by employees.

That's why we rely very heavily upon test automation tools that simulate hundreds of conditions and transactions that may occur between the customer portal and CRM system, and we validate expected results.

Unit tests (see screenshot below) are created to simulate scenarios like "What happens when a customer, via the portal, and salesperson both update a Contact record at the same time?" or "What happens if the customer portal is forced to operate autonomously for several days before re-synchronizing with Salesforce.com?".

The AppExchange has provided an order-of-magnitude increase in data quality and allows for composite solutions where speculative leads from the portal may be analyzed by data quality plug-ins from specialized vendors.

So, I no longer feel the need to invest in developing extensive de-duplication algorithms or PRIZM code lookups for our solution, because I can now find these tools on the AppExchange. And with closed-loop integration, the master customer records on Salesforce can be cleaned, updated, and available for use in eMarketing campaigns within the hour.

[Screenshot of unit testing i-Dialogue integration with Salesforce.com]



I hope my transparency has not unnecessarily alarmed you, but these are the cold hard facts that every CIO or VP of Marketing will increasingly encounter as SaaS solutions become more of a viable option for managing customer relationships.

As always, please feel free to contact me directly if you'd like more details on how security, reliability, and data quality are addressed.
Posted: Friday, April 07, 2006 2:48:34 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

I just noticed an explosion in available Salesforce.com pod casts on iTunes. I'll have to check these out. The first one I downloaded several months ago was an open discussion of mostly venture capitalists discussing the future of on-demand computing.

The latest pod casts appear to be more focused on AppExchange Best Practices.

Posted: Thursday, April 06, 2006 11:51:27 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Ouch... Just one day after announcing near 100% uptime for the month of March (which I looked into around mid-month ), Salesforce.com has another outage.

I didn't notice anything at the web service/data integration level, but apparently the browser interface had some issues.

Posted: Thursday, April 06, 2006 11:43:41 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

It's been awhile since I even thought about Salesforce.com system availability, so I went out to http://trust.salesforce.com/, SFDC's new system status site, to check out the last 30 days and was impressed (see screenshot below).



Some minor interruptions, but no major disruptions. The table layout of the report made it easy to cut and paste into Excel, which revealed some positive trends for the trailing 30 days (see charts below).

In short, the number of transactions continues to grow and the response times are getting quicker.

The up and down oscillation in the transaction chart is due to non-working Weekend hours (and I suppose some planned maintenance downtime).

It's curious that weekend utilization of SFDC is ~33% of workday utilization. This is rather high, but I suspect that a large portion of this is probably from automated batch jobs using the sForce API conducting backups and synchronization.


Posted: Wednesday, March 22, 2006 3:07:46 AM (GMT Standard Time, UTC+00:00)  #   
Comments [4]  | 

I made the 3 hour trek up to Seattle yesterday to attend a Salesforce.com live event (check for events coming to a town near you. I highly recommend attending) and made some great connections with prospects, customers, partners, and SFDC employees.

My key interest was the "Developing for AppExchange" session, since we're within about 45 days of launching our Relationship Marketing solution for AppExchange. It was great to hear first hand from other CEOs the genuine concerns and accolades on how the AppExchange is working out for them.

From a marketers perspective, I'm getting pretty excited about the potential of this solution. True closed-loop marketing campaigns have historically always been an afterthought, requiring data warehouses that aggregate historical marketing data from weeks and months ago.

But with Salesforce.com and the AppExchange, we're building marketing campaigns that have closed-loop, real-time integration built into the DNA. Employee-Customer dialogues are real-time and Marketers can be more agile, launching campaigns faster and adjusting on a daily basis to optimize their ROI instead of taking a waterfall, batch-and-blast approach to marketing.

Side note:
On the train ride back to Portland, while I was refining our AppExchange solution description, I realized that i-Dialogue may be the most hyphenated solution on the AppExchange (or should that be most-hyphenated?); with keywords such as closed-loop, real-time, business-to-business, employee-customer interaction, and mid-market.  I wonder what a college English teacher would say about this? ;-)

 |  | 
Posted: Wednesday, March 08, 2006 5:56:24 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Seeing news articles with headlines like "Salesforce.com suffers another outage" can be disconcerting, but I think somewhat expected given the complexity of the latest Winter '06 release. The high expectation of many Salesforce customers demonstrates 2 things:

1) CRM has definitely crossed the chasm and is well into the late-majority consumers (aka Conservatives) who place increasingly more value on service levels and price.

2) Computing has truly become a "utility" much like power and gas. An outage of 4 hours or 4 minutes does not go unnoticed.

As with other utilities, it will take time to build and harden the infrastructure. It has taken over 100 years in the U.S. to develop a power infrastructure reliable enough to support computing and the Internet today. I don't expect it will take another 100 years for utility computing to be as stable, but we truly are in the infancy of this model.

The Salesforce.com outages also get me thinking about the value of having a separate customer portal that is integrated with CRM but separately hosted. When these outages occur, our i-Dialogue customer portals for Salesforce continue to provide customer self-service features and broadcasting email.

As a backup option, we've been able to keep our customer data synchronized with the portal (requires Enterprise Edition) and manage leads and contacts directly through the portal interface when its convenient. But we prefer to keep Salesforce.com as the master record.

Posted: Tuesday, January 31, 2006 6:40:00 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Well, it's official. Salesforce.com's AppExchange was formally announced and released today. CEO Marc Benioff's comments on the "Business Web" are right on the money. In 10 years, people will wonder how we lived without on-demand, hosted business applications.

I hope to have our i-Dialogue AppExchange plug-in uploaded within the next 60 days. While i-Dialogue is very focused on the customer experience and web usability, the internal CRM experience is critical to advancing customers through the customer lifecyle.

That's why I continue to emphasize that a whole relationship marketing solution requires tight integration between customer facing web portals and CRM software.

Because Salesforce makes it convenient for other vendors to integrate with their platform, you'll find that Salesforce and AppExchange will get the bulk of my attention in the coming years as we pursue richer dialogues between businesses and customers.

Posted: Wednesday, January 18, 2006 1:40:33 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  |