Tuesday, October 3, 2017

We continue to review a whitepaper from Gigya which draws observations from the Forrester 2017 report based predictions on dynamics that will shape the future in the age of customer and how CIAM Solutions can help. The Forrester report mentions how customers are driving businesses - old and new to restructure their customer experience by demonstrating a willingness to shift spend.  Even companies that bind customers to contracts feel the heat. Revenue risk is not the only symptom. Customers and businesses have started using the language of emotions. Companies are recognizing that customers don't forgive.  This report mentions that companies can overcome these by classifying operations into emotions matrix and focus on repairing those that provoke negative emotions. The report also states that customer journey mapping is important for understanding and anticipating customer needs as they move across touchpoints
Gigya therefore cites the big challenges for identity management as follows:
1) User Experience : Legacy IAM solutions focus on security. Current CIAM solutions focus on sharing the identity across businesses.
2) Scale: While identities explode for a single individual, employee, partner or vendor, performance is maintained across levels  by scaling out
3) Data structure: The vast majority of customer generated information is unstructured and requires new analytics and pipeline capabilities.
4) Integrations: This is perhaps the single biggest development cost for today's CIAM solutions as companies not only integrate with business applications but also with customer facing applications and activities.
5) Security: WebAPIs and open protocols have required changes in the way identity information is persisted and propagated. Authentication, Authorization and Auditing have taken new forms
6) Privacy and Compliance: While regional and international regulatory compliance have to be complied with, customers are requiring social networking integrations which make these tasks harder. Security breaches alone can undermine the entire CIAM solution.
These challenges are being grappled with by organizations and businesses in myriad ways which can be classified into a few categories, CIAM solution provides the ability to address all of these as one-stop shop.
Companies approach CIAM solutions in three different ways:
1) The homegrown approach which is usually chosen to maximize security and control with the pitfalls of custom coding and pricy connectors
2) The Frankenstein approach which stitch together existing IAM solutions
3) A buy it don't build it approach where CIAM providers offer cloud based services.
#puzzle
A set of block is laid out in three dimensions on a 4 by 4 matrix. There are two views presented below:
South View      and  East View
B   B                            B   B
B   B                         BB   B
B   BB                       BBBB
BBBB                       BBBB

Find the maximum number of blocks
Solution: The blocks are maximum when the same set of blocks is cloned and contributing towards both the South View and the East View. For example the four blocks stacked one on top of another in South  will not be contributing towards a four block tower in East View which will have its own four blocks. This arrangement counts clones behind the first that appear in a view as included in the final maximum solution. This gives us 38 blocks 

Monday, October 2, 2017

We were reviewing a whitepaper from Gigya which informs us how CIAM solution can make sure that the corporate strategy is not hostage to the IT strategy. This draws observations from the Forrester 2017 report based predictions on dynamics that will shape the future in the age of customer. That report mentions "how competitive markets are on the move.The customers are driving businesses - old and new to restructure their customer experience by demonstrating a willingness to shift spend. They are rewarding or punishing companies based on a single experience. One poor experience triggers an immediate and prolonged shift in spend to competitor. Companies are worrying about losing upto half their revenue. Even companies that bind customers to contracts feel the heat. Revenue risk is not the only symptom. Customers and businesses have started using the language of emotions. It's no longer merely the appeal and use of brands where emotions are put to work.Companies are recognizing that customers don't forgive.  Moreover these numbers are not even measured and reported accurately. This report mentions that companies can overcome these by classifying operations into emotions matrix and focus on repairing those that provoke negative emotions. In fact this report clearly indicates that there will be some in-roads made in this direction this year.The third and perhaps relevant observation for CIAM solutions in this report is that the customer journey mapping is important for understanding and anticipating customer needs as they move across touchpoints and microstrategies that highlight brand value are attempted to be stretched over time from a single moment.
Gigya therefore cites the big challenges for identity management as follows:
1) User Experience : Legacy IAM solutions focus on security. Current CIAM solutions focus on sharing the identity across businesses.
2) Scale: While identities explode for a single individual, employee, partner or vendor, performance is maintained across levels  by scaling out
3) Data structure: The vast majority of customer generated information is unstructured and requires new analytics and pipeline capabilities.
4) Integrations: This is perhaps the single biggest development cost for today's CIAM solutions as companies not only integrate with business applications but also with customer facing applications and activities.
5) Security: WebAPIs and open protocols have required changes in the way identity information is persisted and propagated. Authentication, Authorization and Auditing have taken new forms
6) Privacy and Compliance: While regional and international regulatory compliance have to be complied with, customers are requiring social networking integrations which make these tasks harder. Security breaches alone can undermine the entire CIAM solution.
These challenges are being grappled with by organizations and businesses in myriad ways which can be classified into a few categories, CIAM solution provides the ability to address all of these as one-stop shop.
#puzzle
A set of block is laid out in three dimensions on a 4 by 4 matrix. There are two views presented below:
South View      and  East View
B   B                             B   B
B   B                          BB   B  
B   BB                       BBBB
BBBB                       BBBB

Find the minimum number of blocks
Solution: The blocks are minimum when the same set of blocks is distinct and contributing towards both the South View and the East View. For example the four blocks stacked one on top of another in South  View can be contributing towards a four block tower in East View. This arrangement counts all the eleven blocks of South as included in the final minimum solution. Plus there are three extra blocks in the East view. Together they make the minimum to be 14.

Sunday, October 1, 2017

We were reviewing the whitepaper - the chutes and ladders of customer identity from Gigya which is a leader in Customer Identity and Access Management Industry. The title uses an analogy of a well-known game. This is a whitepaper that introduces the delights and the pitfalls in customer experience with identity. CIAM solutions make it easy for a customer to be recognized, remembered, informed and subscribed for recommendations which become more and more personalized with every interaction until she becomes a champion for the brand in her social circle.
Today we start reading another whitepaper which informs us how CIAM solution can make sure that the corporate strategy is not hostage to the IT strategy. This draws observations from the Forrester 2017 report based predictions on dynamics that will shape the future in the age of customer. That report mentions "how competitive markets are on the move. Banks try to innovate so that they are displaced by digital banks, retailers confront the digital threat with store closing and enhanced omni-channel and mobile efforts. Manufacturers are taking to an online presence. Relationship driven investment firms battle software companies takeover and even commodity and utility companies are launching customer initiatives." Behind all these moves, the customer is the one driving these.  They are demonstrating a willingness to shift spend. They are rewarding or punishing companies based on a single experience. One poor experience triggers an immediate and prolonged shift in spend to competitor. Companies are worrying about losing upto half their revenue. Even companies that bind customers to contracts feel the heat. Revenue risk is not the only symptom. Customers and businesses have started using the language of emotions. It's no longer merely the appeal and use of brands where emotions are put to work.Companies are recognizing that customers don't forgive.  Moreover these numbers are not even measured and reported. This report mentions that companies can classify operations into emotions matrix and focus on repairing those that provoke negative emotions. In fact this report clearly indicates that there will be some in-roads made in this direction this year.The third and perhaps relevant observation for CIAM solutions in this report is that the human beings are in a constant mode of multitasking and handling distractions. This is about customer journey mapping which is important for understanding and anticipating customer needs as they move across touchpoints. Here customer experience professionals  are going with micro strategies. For example they are determining signature moments where customers appreciate the value the most. Another example is their search for ways to come through with the brand so that a single moment can be stretched over time. This microdesign is more effective and pertinent to the customer rather than larger sweeping initiatives.
#codingexercise
Find the lowest common ancestor between two nodes.
Here the strategy is very simple. The lowest common ancestor is one that has the nodes in both the sub-trees. As we recursively search the tree if the root has a node in the left  and the node in the right, then it is the lowest common ancestor. If only the left is available, we return left. If only the right is remaining we return right. Finally if neither is present, we return null. The edge cases are that the root itself is one of the nodes required or the root is null.
This method assumes both nodes can be found in the sub-trees

Saturday, September 30, 2017

Today we continue reviewing the whitepaper - the chutes and ladders of customer identity from Gigya which is a leader in Customer Identity and Access Management Industry. The title uses an analogy of a well-known game. This is a whitepaper that introduces the delights and the pitfalls in customer experience with identity.
Some of their salient mentions include:
1) The need for personalization experience from the beginning and the need for a lighter touch.
2) More visitors register themselves when they see a value and an easy way in.
3) Also customer data can be collected over time and the profile built up on a continuous basis
4) This data can also be shared or synchronized with downstream marketing, sales and services based on compliance with privacy and industry standards.
5) CIAM Solutions treat first party data of the customer as cash. Its value is immediate and most reliable.
6) There is transparency required by virtue of the data and integration between systems should be facilitated but these systems realize the importance of first party data.

One mention this CIAM solution seems to get that customer loyalty should be cherished and fostered through online engagement where a feedback loop can be created to make recommendations that suit the customer's behavior and preferences that can go on and on. This is also a virtuous cycle of long term growth in relationship. Score card and profiles maintained with the customer data may help with analytics. What used to be static tables in a database now becomes an accruing analytics platform. We may refer to AirBnB's discussion to see how the storage and analytics evolve. the key takeaway was the possibility of a data pipeline and analytics platform as opposed to databases and service oriented architecture.

Tomorrow we will start reading another white paper from Gigya.

#codingexercise
count palindrome substrings in a string.
We mentioned the brute force way is to enumerate all substring and check for palindrome. This is also similar to using each letter as the center of a palindrome candidate and expanding it in both directions for even and odd length palindrome. We also mentioned an alternative that exploits the lengths of the palindrome substrings to follow Pascal's triangle We explain dynamic programming technique Since this problem of counting palindrome has overlapping Subproblems in the range i to j of the string, we can also use memoization and dynamic programming. 
For one or two letters in a range (i,j):
      we can initialize the palindrome count
else if str(i,j) is a palindrome
      we increment the count by 1 and count for (i,j-1) + (i+1,j) - (i+1,j-1) 
else 
      we proceed to count for  (i,j-1) + (i+1,j) - (i+1,j-1)
This count can directly be read and updated in a dp matrix of string length sized x and y.
Here (i,j-1) + (i+1,j) - (i+1,j-1)  implies that the first part of the count comes from taking the substring in the range i to j-1 by leaving the last letter, the second part of the count comes from taking the substring in the range i+1 to j and the last part of the count is the removal of a duplicate count contributed by the twice inclusion from the substring in the range (i+1,j-1) which is leaving both the first and the last letters.
The above is repeated for every gap occuring between letters from 2 to n and the i,j are selected such that i takes values from 0 to just before the gap and j as the letter after the gap.This way the dp table fills from columnwise towards the right so that the values computed can be re-used for the next iteration.

Friday, September 29, 2017

Today we continue reviewing the whitepaper - the chutes and ladders of customer identity from Gigya which is a leader in Customer Identity and Access Management Industry. The title uses an analogy of a well-known game. This is a whitepaper that introduces the delights and the pitfalls in customer experience with identity.

The chutes for customer identity are demonstrated by
1) annoying ads for past purchases
2) spamming of email inbox with unwanted newsletters
3) more setup and initiation activities prior to transaction

The ladders for customer identity are demonstrated by
1) personalization of ads done right
2) less frequent and more pertinent notifications
3) more integrated and seamless experience with less chores

Some of their salient mentions include:
1) The need for personalization experience from the beginning and the need for a lighter touch.
2) More visitors register themselves when they see a value and an easy way in.
3) Also customer data can be collected over time and the profile built up on a continuous basis
4) This data can also be shared or synchronized with downstream marketing, sales and services based on compliance with privacy and industry standards.
5) CIAM Solutions treat first party data of the customer as cash. Its value is immediate and most reliable.
6) There is transparency required by virtue of the data and integration between systems should be facilitated but these systems realize the importance of first party data.
#codingexercise
count palindrome substrings in a string.
We mentioned the brute force way is to enumerate all substring and check for palindrome. This is also similar to using each letter as the center of a palindrome candidate and expanding it in both directions for even and odd length palindrome. We also mentioned an alternative that exploits the lengths of the palindrome substrings to follow Pascal's triangle We explain dynamic programming technique Since this problem of counting palindrome has overlapping Subproblems in the range i to j of the string, we can also use memoization and dynamic programming. 
For one or two letters in a range (i,j):
      we can initialize the palindrome count
else if str(i,j) is a palindrome
      we increment the count by 1 and count for (i,j-1) + (i+1,j) - (i+1,j-1)
else 
      we proceed to count for  (i,j-1) + (i+1,j) - (i+1,j-1)
This count can directly be read and updated in a dp matrix of string length sized x and y.

Thursday, September 28, 2017

Today we continue reviewing the whitepaper - the chutes and ladders of customer identity from Gigya which is a leader in Customer Identity and Access Management Industry. The title uses an analogy of a well-known game. This is a whitepaper that introduces the delights and the pitfalls in customer experience with identity. We read about the personalization experience from the beginning and the need for a lighter touch. More visitors register themselves when they see a value and an easy way in. Most of them already know the benefits of setting up an account such as keeping track of history, making purchases with a single click and so on. The effort involved in setting it up varies if its online or via the download of an app. The process of login can be replaced with techniques that are not only hard to hack but also offer superior behaviors risk-based authentication which can be used to combat fraud. Multiple factors of authentication can be added included one time passcodes. Also customer data can be collected over time and the profile built up on a continuous basis.  This data can also be shared or synchronized with downstream marketing, sales and services based on compliance with privacy and industry standards.
There is an interesting take on CIAM Solutions introduced earlier. They take first party data of the customer as cash. Its value is immediate and most reliable. This is why CIAM Solutions manage their own data while also allowing information to flow downstream to other parties. There is transparency required by virtue of the data and integration between systems should be facilitated but these systems realize the importance of first party data.
#codingexercise
count palindrome substrings in a string.
We mentioned the brute force way is to enumerate all substring and check for palindrome. This is also similar to using each letter as the center of a palindrome candidate and expanding it in both directions for even and odd length palindrome.
An alternative would be to find disjoint longest palindromes in the string by expanding the string one character at a time. Care must be taken to count the inner palindromes of a palindrome. Finally we know that the lengths of the palindrome up to those found to a given center are also palindromic. Therefore we look for the next center based on the lengths we have found already. The suggestion is that the lengths array we construct will have values similar to the palindromic nature of Pascal's triangle.
Therefore the algorithm is:
Initialize the lengths array to the number of possible centers
Set the current center to the first center
Loop while the current center is valid:
       Expand to the left and right simultaneously until we find the largest palindrome around this center
       Fill in the appropriate entry in the longest palindrome lengths array
       Iterate through the longest palindrome array backwards and fill in the corresponding values to the right of the entry for the current center until an unknown value (because we don't have sufficient elements in the string to make an interpretation on the length) is encountered.
       Set the new center to the index of this unknown value
Return the lengths array
 since this problem of counting palindrome has overlapping Subproblems in the range i to j of the string, we can also use memoization and dynamic programming. By using the lengths array and Pascal triangle, we can also get counts directly 

Wednesday, September 27, 2017

Today we continue reviewing the whitepaper - the chutes and ladders of customer identity from Gigya which is a leader in Customer Identity and Access Management Industry. The title uses an analogy of a well-known game. This is a whitepaper that introduces the delights and the pitfalls in customer experience with identity.
The chutes for customer identity are demonstrated by
1) annoying ads for past purchases
2) spamming of email inbox with unwanted newsletters
3) more setup and initiation activities prior to transaction
The ladders for customer identity are demonstrated by
1) personalization of ads done right
2) less frequent and more pertinent notifications
3) more integrated and seamless experience with less chores

Yesterday we read about the personalization experience from the beginning and the need for a lighter touch. Today we continue on the theme to make it easier for the customer. More visitors register themselves when they see a value and an easy way in. Most of them already know the benefits of setting up an account such as keeping track of history, making purchases with a single click and so on. The effort involved in setting it up varies if its online or via the download of an app. The process of login can be replaced with techniques that are not only hard to hack but also offer superior behaviors risk-based authentication which can be used to combat fraud. Multiple factors of authentication can be added included one time passcodes. Also customer data can be collected over time and the profile built up on a continuous basis.  This data can also be shared or synchronized with downstream marketing, sales and services based on compliance with privacy and industry standards.
#codingexercise
Given a set of distinct strings, find the shortest superstring  that contains each string in a given set as substring. The distinct strings cannot be substrings of each other:
The method to solve this is as follows:
Make a copy of the array to begin with
Find a pair that has maximum overlap as a and b
Replace a and b with the concatenation ab
The size of the array reduces by one and we repeat 1 to 4 until we are left with only one super string.
Since we find the maximum overlap at each point, we make a greedy choice for the solution.

one more coding exercise
count palindrome substrings in a string.
The brute force way is to enumerate all substring and check for palindrome.
An alternative would be to find disjoint longest palindromes in the string. Care must be taken to count the inner palindromes of a palindrome. Finally we know that the lengths of the palindrome up to those found to a given center are also palindromic. Therefore we look for the next center based on the lengths we have found already. Palindrome  center occurs at Pascal triangle positions in a string so we check these as opposed to every letter to optimize.