Chat
Chat is the core of the Colibri eco-system, a chat is not only a Converstaion with Colibri but also with pearse, within companies and most importantly it acts as a log anytime an app is opened, the conversation keeps going in the background even when the user is interacting with UI.
Task Chat Branch APIThese details are only updated with each release, for more acurate updates and keeping track of progress, see the task in GitHub.
- Feature Details
- Research
- User Details
- Features
- Data
Team
| Owner | Lead |
|---|---|
| Mendy | Tamar |
Status
| Doc Status | Feature Status | Last Update | Version | Release | Phase |
|---|---|---|---|---|---|
| In Progress | In Progress | - | 0.00 | Internal | Alpha |
Description
Because Colibri is an AI product, the entire platform boils down to chat, while there are hundres of features baked into the platform, the way the user will access it all is through Chat. By default the user always starts on the Chat view and starting a new thread within the Colibri Conversation, this means, while the screen is empty and loogs like a new conversation, it is in reality simply a new thread, only one conversation can exsist per entity or connection.
Should the user want to start a conversation with another entity (e.g. person, app, persona, etc.) they can use the @ symbole.
Should they want to take action, they can use / (e.g. /Agenda set a meeting with @Mendy today at 9:00), while the user can use @GoogleCalender to access thier calender app the / inplied intent, both would get the same result but / allows apps to buld spesifict actions and @ leave it to AI to determin intent.
See the Features section to get a full idea of everything Chat is capable of.
Reminders
Links & Resources
Research
the research listed here is spesifict to the Chat feature, for research related to the general Colibri development see the Research document.
Technical
Question - How does Chat know all the apps and people it has access to using @? Answer - Each app will have a uniqe username just like users do, however to not overwhlm the user and for securaty each user will have a list of username references to ensure they only find contacts they uploaded, had communication with alredy and apps they have "installed" or used before.
Question - Answer -
Conclusion - How do we get data from arenas to form the arena layout and map the devices?
Sources
- [test]
Business
User Stories
Persona One
Update Coming Soon
As a busy user I don’t want to watch but rather listen to a podcast, however, when I hear a voice I don’t recognize, I want to take a glance at my phone to see a name and/or photo of who is talking or maybe ask the built-in “AI/assistant”.
Flows
Personas
Features
Below is a list of features that will be utilized in order to deliver the best account features and functionalities. The details bellow are not comprehensive feature details but rather, describe how the features will be utilized within the account, for further details, please see the individual feature documentation.
-
Conversation
A conversation is everything related to one "entity", e.g. with AI, apps, persons or anything else.
-
Conversations
A list of all conversations
-
Direct
Direct is a type of conversation, it involes two "entities" communicating, even if tools or apps and used, the communication purpose is meant for the two people or person to app to communicate. Send direct messages using device contacts, usernames, email, numbers, or other unique identifiers.
Use symbols liek @, /, :, + and other to access advances features within Chat.
-
Actions
Create an api to allow apps to add thier own actions in the place of the voice and live actions
-
Modes
Allow the user to chnage to diferent modes or create thier own modes
-
Apps
-
Actions
-
Live
-
Groups
-
Threads
-
Chat Suggestions
-
Post
-
Access
If the account type is not "indiviual" the account will not have an auth method and thefore will reqesre access. This will be a sub-collection within the account document that will hold the account, group, etc IDs of anyone who has access to this account.
-
@
In any chat the user can use the @ symbole to mention a user by name, username, number or email, they can mention an app, mode and more
-
/
On the document we want to keep all the important data, the first fetch and fast to access, all secondary data should be stored on a subcollection and fetch sepratly (if this is cost sfective)
User Accounts should be a top level collection, each account will generate a new document within the "Accounts" collection.
Messages
- Message
- - Message 1
- - - type (offer a fea default options that the client can configure as well as custome options or offer numbered types and allow te client to give each type a title, this will enable the client to offer difrent feature or access levels based on account types)
- - - email
- - - number
- - - legal name (if connected wit a / our identity API this will allow for name/identity varification, useful for saftly and fintech and fraud protection)
- - - age (also opcinaly connect with identity api for varification)
- - - dob (also opcinaly connect with identity api for varification)
- - - varified (true, false)
- - - created (date)
- - - timezone
- - - langages
- - - contact detail
Intelegence
- names
- - name 1
- - - type (legal, nicname, madename, etc)
- - - name
- - - laguadge
- - - created (date)
- - - varified (true, false)
- - - varified source (api id)
Identification
- id
- - id 1
- - - type (licence, passport, health card, etc)
- - - issuer (US gov)
- - - id number
- - - status: verified
- - - issued (date)
- - - experation (date)
- - - Verify provider: (api id)
- - - Verify date: log id
- - - image
- - - id_proof`
Condissions
- Sessions
- - Section #1
- - - auth type (OTP, Google, Apple, Normal)
- - - device_type (Android, IOS, Web)
- - - device_token
- - - location
- - - activated (date)
- - - status (active, inactive)
- - - inactive (date)
Knowladge
Envierment
- location
- mood
- tone
Preferences
- prefrences
- - communication
- - - method (push, email, text)
- - - default (true, false)
- - - allow (true, false)
- - - block (true, false)
- - - level (all, update, security, system)
- - - channels (id, id, id)
- - privacy
- - - allow (true, false)
- - - block (true, false)
- - - allow user data collection (true, false)
- - - allow user data share (true, false)
- - - allow user data anonymize (true, false)
- - - allow user data deletion (true, false)