Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/wp-db.php on line 668

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-list.php on line 199

Deprecated: Creation of dynamic property ACF::$fields is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/fields.php on line 136

Deprecated: Creation of dynamic property ACF::$locations is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/locations.php on line 130

Deprecated: Creation of dynamic property ACF::$json is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/json.php on line 184

Deprecated: Creation of dynamic property acf_loop::$loops is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/loop.php on line 26

Deprecated: Creation of dynamic property ACF::$loop is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/loop.php on line 270

Deprecated: Creation of dynamic property ACF::$revisions is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/revisions.php on line 413

Deprecated: Creation of dynamic property acf_validation::$errors is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/validation.php on line 26

Deprecated: Creation of dynamic property ACF::$validation is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/validation.php on line 212

Deprecated: Creation of dynamic property acf_form_customizer::$preview_values is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-customizer.php on line 26

Deprecated: Creation of dynamic property acf_form_customizer::$preview_fields is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-customizer.php on line 27

Deprecated: Creation of dynamic property acf_form_customizer::$preview_errors is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-customizer.php on line 28

Deprecated: Creation of dynamic property ACF::$form_front is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-front.php on line 603

Deprecated: Creation of dynamic property acf_form_widget::$preview_values is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-widget.php on line 34

Deprecated: Creation of dynamic property acf_form_widget::$preview_reference is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-widget.php on line 35

Deprecated: Creation of dynamic property acf_form_widget::$preview_errors is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/forms/form-widget.php on line 36

Deprecated: Creation of dynamic property InsertHeadersAndFooters::$plugin is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/insert-headers-and-footers/ihaf.php on line 41

Deprecated: Creation of dynamic property InsertHeadersAndFooters::$body_open_supported is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/insert-headers-and-footers/ihaf.php on line 48

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/wp-smushit/core/modules/helpers/class-parser.php on line 229

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/wp-smushit/core/modules/helpers/class-parser.php on line 234

Deprecated: Creation of dynamic property Smush\Core\Modules::$webp is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/wp-smushit/core/class-modules.php on line 95

Deprecated: Creation of dynamic property acf_field_oembed::$width is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/fields/class-acf-field-oembed.php on line 31

Deprecated: Creation of dynamic property acf_field_oembed::$height is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/fields/class-acf-field-oembed.php on line 32

Deprecated: Creation of dynamic property acf_field_google_map::$default_values is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/fields/class-acf-field-google-map.php on line 33

Deprecated: Creation of dynamic property acf_field__group::$have_rows is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/includes/fields/class-acf-field-group.php on line 31

Deprecated: Creation of dynamic property acf_field_clone::$cloning is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/pro/fields/class-acf-field-clone.php on line 34

Deprecated: Creation of dynamic property acf_field_clone::$have_rows is deprecated in /var/www/html/uat.coloredcow.com/public/wp-content/plugins/advanced-custom-fields-pro-5.8.7/pro/fields/class-acf-field-clone.php on line 35

Deprecated: Creation of dynamic property WP_Block_Type::$skip_inner_blocks is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Creation of dynamic property WP_Post_Type::$singular_label is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-post-type.php on line 554

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp.php on line 173

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/class-wp-term.php on line 198
ColoredCow




WhatsApp Simulation within Glific
Vaibhav Rathore
October 28, 2020

Glific aims to empower non-profits to take their communications to the next level through seamless integration with WhatsApp. While the larger goal is to help various organizations solve severe social problems like illiteracy, climate changes, gender oppression, etc, we also need to make sure that the tool is getting utilized to its best. This means that our primary users, the non-profit staff, should get a seamless user experience.

Problem

One of the primary features we released recently was the Automations. They enable organizations to have automated but meaningful conversations with the beneficiaries, hence ensuring that the core problems get resolved. With such ambition, the team did a lot of hard work to get the pieces stitched together and provide a seamless tool for the users.

Automation workflow in action

The first few trials with non-profits seemed to be aligning with our vision. However as things scaled up and complex automation started coming in, we figured that the outcomes were difficult to measure. We were left with few choices:

  1. Rethink and probably restructure our whole automation feature, or
  2. Create learning resources and train the users on how to effectively use the automation feature, or
  3. Figure out a way so that the users can easily measure automation outcomes.

Rewriting the whole thing was too big of a task. We clearly wanted to not redo everything. So the team brainstormed on the second approach.

Solution

The team came up with the idea of a simulator that would allow testing a real use-case from a single screen and live editing and testing for automation. This will help with the following:

  1. Fewer back-and-forths
    Once automation is created, it needs to be tested thoroughly so that it can cater to a general audience. This needed a lot of trials with the actual end-users and use that feedback to make it close to perfection. These trials will be avoided at the root level by non-profit staff testing the automation flow using the simulator.
  2. Less time to market
    New automation added can be tested more readily and accurately which in turn reduces the time to make it available for actual use.
  3. End-user impersonation and minimizing errors
    While using the simulator, one can experiment with inputs that could be provided by the end-user and make sure edge cases work perfectly.
WhatsApp Simulator in action

To make our vision more aligned, our design team created a UI for the simulator and it simplified our task a lot. The interface looked exactly like WhatsApp which gave a sense of having an actual phone with WhatsApp installed in it.

With the simulator in place, the team is looking forward to getting all the setbacks resolved by the end-users. It will not only help non-profits to understand what their beneficiaries need but also find creative ways to test the automation to their extreme use cases.


Deprecated: Creation of dynamic property WP_Query::$comments_by_type is deprecated in /var/www/html/uat.coloredcow.com/public/wp/wp-includes/comment-template.php on line 1528