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.