Cubic Compass Software
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]  | 
  • New - Added support for Microsoft AJAX client library
  • New - Added Jquery support (requires update to ASPX page templates)
  • New - Added JSON support
  • New - Added XOSQL (eXtensible Object Store Query Language) support for use in AJAX apps (returns JSON array)
  • New - Added 'db' interface to client-side Javascript API for use in AJAX applications
  • New - Added 'Find' feature to CMS Toolbar (Searches page meta tags and content)
  • New - Added 'Localize' feature to CMS Toolbar
  • New - Salesforce ETL Map "Auto-Generate Map" dynamically determines storage type (Text or Image) based on XOS value setting
  • New - Added 'Date Picker' control to Dialogue Script library
  • New - Dialogue Script editor uses client-side Preview and Asynchronous Save (no server postbacks)
  • New - Portal Registry Key 'Scripting.DefaultEditor' for using FCK or plain textarea editor
 
  • Changed - Outbound emails set Return-Path to i-Dialogue NDR processing service. Reply-To set to email sender (previously Reply-To set to NDR service).
  • Changed - Index optimizations to object store. Enforced use of BLOB storage for strings > 450 characters
  • Changed - Disabled late-bound cache invalidation during Salesforce ETL and OM handler (was beta release. Withdrawn and deferred to Jan '09)
 
  • Fixed - Improved caching of generic object collections. Thread safety changes.
  • Fixed - Resolved issue preventing Live Chat ETL process to execute when Web Event custom object is not installed in Salesforce
  • Fixed - Resolved ETL Map Local Object display issue (one-off index for certain object types)
  • Fixed - Improved exception handling in Contact ETL when Account or Account Type not available (related to cascading role inheritance feature)
Posted: Thursday, December 11, 2008 12:46:53 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 
Some customers have inquired about our development, testing, and release process. Although it may appear at times chaotic, there is actually a method to the madness.
 
We formally define a development "iteration" as 2 weeks. November 2008 marks the occurrence of "iteration 200", which is a pretty exciting milestone for us (the first release was in March 2001). We do updates to production sites every 2-3 iterations (4-6 weeks).
 
At the beginning of each iteration, development tasks are documented and prioritized based on a number of factors that include:
a) customer feedback
b) exception/performance report analysis
c) industry trends
 
Our Premier Support customers are provided with their own workspace at http://www.centraldesktop.com/. Requests posted to this repository are typically given highest priority.
 
Next, a work breakdown structure is created for each task and delegated to the appropriate resource for estimation and development. If a development task will take more than 2 weeks, a particular module is said to be "under refactoring" and the changes are spread out over several iterations.
 
A formal design process typically follows that may involve a quick whiteboard discussion or a detailed Visio diagram (I've started using http://www.gliffy.com/ to eat our own SaaS dog food :-) ).
 
For more complicated features, a "test first" approach is taken and unit tests are established to assert expected outcomes. These unit tests are also maintained and refactored along with the core product for use in regression testing.
 
Build files are updated and releases are internally tested using a regression test suite (see screenshot below). These tests ensure new changes have not broken existing features and also ensure 100% backwards compatibility with previous releases.
 
Occasionally, some releases require programmatic migration in order for new features to work. This rarely occurs because of our use of an object oriented metabase instead of a traditional database, but when it does, there is a corresponding framework for including migration batch files in the release. Lately, we've been empowering customers to initiate these migrations manually, such as the recent ability to convert a plain HTML editor to a Dialogue Script editor.
 
Release candidates are slowly deployed to our own website, the Developer's sandbox, and other staging environments for some real-world acceptance testing.
 
Operations is then given the green light to proceed with updating all production environments, at which time scheduled downtime notices are sent to customers. We typically do not upgrade more than 10 portals at a single time, preferring to rollout changes over a few days. Because of the mission critical nature of many clients' websites/portals, we often let customers determine preferred schedule maintenance downtimes.
 
An upgrade only takes about 30 seconds to apply. Total downtime is often no more than 3-5 minutes, but we may use the allocated maintenance window to optimize databases or make other changes that may impact the site during scheduled maintenance.
 
A number of monitoring services are utilized and watched closely after an update and the operations team has the ability to rollback a release to any previous version at any time.
 
We don't always get this process 100% right. About 5% of the time, a formal release may be followed the next day with a minor patch release to correct any missed gaps. I would like to see more test coverage in our regression unit tests, but this is not a silver bullet. The increased use of Javascript in rich Internet applications is much harder to test and new tools are being developed for this purpose today. Because our core feature set offers a programming language environment, it is difficult to know how changes may impact some customer developed applications (more on the pros/cons of requiring customers to write their own tests in the future).
 
I hope this post sheds some light on our process. The great thing about the SaaS subscription model is that you receive all these services in the monthly subscription and we ensure every upgrade is done to perfection, which results in happy customers.
 
There are definite benefits to using cloud-based services for business users, because it relieves them from worrying about the technical details of maintaining their website or portal. But many IT professionals who have years of experience managing this same process also appreciate the benefits of outsourcing the maintenance of their website to the cloud so they can focus on adding business value to their organization.
Posted: Saturday, November 22, 2008 9:41:47 PM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  | 

Summary of October changes rolling into production over the next few days:

  • ADDED: Support for IronPython in Dialogue Script editor
  • ADDED: CLR library interop support in Python script
  • ADDED: Chat-to-Case has improved formatting of chat transcript in Case Description (32KB max storage limit in Salesforce)
  • ADDED: Ability to map custom pre-chat form fields to Salesforce Lead/Contact fields
  • ADDED: ETL Object Map for Leads and Contacts now auto-populates properties from API metadata
  • FIXED: Improved page caching algorithm that prevents concurrent access to cache during startup (issue primarily only occurred in large portals. Caused infrequent object graph corruption under high load)
  • ADDED: Visibility of all administrative tree controls now externalized to configuration settings
  • ADDED: Ability to log a custom web event on dialogue script View or PostBack event (previously only PostBack supported)
  • ADDED: Ability to globally enable/disable private messaging in discussion forums
  • ADDED: Ability to support "|" as replacement character for "?" when generating dynamic redirection URLs (Example: signon.aspx?returl=somepage.aspx|param1=1&param2=2)
  • ADDED: Support for YetAnotherForum package (open source forums)
  • ADDED: Upgraded blog package to DasBlog 2.2
  • ADDED: Upgraded ComponentArt library to latest release
  • ADDED: Upgraded ScrewTurn open source Wiki to latest release
  • ADDED: Support for all ASP.NET controls (previously limited to subset)
  • FIXED: Bug where <asp:ListItem> would not properly render
  • FIXED: Bug where some Email web events were not properly correlating with their respective Salesforce Campaign
  • FIXED: Bug where sending a test email from Email Campaign editor would change the Salesforce Campaign status to "Sent"
  • FIXED: Bug where objects deleted in Salesforce were not deleted in portal if deletion occurred during a long running ETL process.
  • FIXED: Validation error message in password reset form that incorrectly reported repeat use of old password as identical login name.
Posted: Tuesday, October 28, 2008 3:53:50 AM (GMT Standard Time, UTC+00:00)  #   
Comments [0]  |