Cubic Compass Software

Author

Mike Leach

Profile

Search

Calendar

<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Recent Posts

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

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.