Here’s what happened. When we started, we build the community software for ourselves — because it wasn’t meant to be a product or platform, it was just for this one use case. Then, we had some requests to use it for other purposes. So, the easiest thing to do to go from n=1 to n=2 was to just duplicate the database for this other instance. That created the same issue Slack has — user accounts were part of the instance instead of global. We subsequently fixed that issue.
The Surprisingly Simple Thing Slack Got Wrong
Dharmesh Shah
78268

The problem here boils down to “Identity” what most refer to as “User Accounts”. To make Identity work its representation in digital form requires:

[1] Language (signs, syntax, and role semantics) for encoding and decoding information [data in some context e.g., identification]
[2] signs — for denotation
[3] document — for holding claims
[4] notation[s] — for representing claims in a document
[5] serialization format [s]— for persisting claims in a document
[6] network protocol (e.g., HTTP) for storing and retrieving document.

With the above in place, and Logic functioning as the conceptual schema (as is the case in the real-world), you end up with a flexible mechanism for entity identification (sign denotation resolving connotation provided by an identification document).

Example:

{
<#this> 
a schema:WebPage ;
schema:mainEntity <https://medium.com/@kidehen#this> ;
schema:description “My Identity Document” .

<https://medium.com/@kidehen#this>
a schema:Person;
schema:name “Kingsley Uyi Idehen” ;
schema:sameAs <https://medium.com/@kidehen/> ;
owl:sameAs <https://twitter.com/kidehen#this>, <https://plus.google.com/+KingsleyIdehen#this>, <https://www.linkedin.com/in/kidehen#this> ;
schema:mainEntityOfPage <#this> . 
}

Screenshot illustrating translation of the subject->predicate->object based digital sentences/statements above:

Translation via OpenLink Structured Data Sniffer

Conclusion: Identity is essential to all apps (from Facebook to Google and across the enterprise). This issue is important, and it boils down to fundamental application design where the following are loosely-coupled and based on open standards:

[1] Identification
[2] Data Access
[3] Data Representation
[4] Data Interaction
[5] Data Visualization .

I’ll stop here for now. If a discussion thread develops, I’ll expand further.

Show your support

Clapping shows how much you appreciated Kingsley Uyi Idehen’s story.