-
Notifications
You must be signed in to change notification settings - Fork 118
Suggest a standard set of terms to reduce confusion across docs #222
Suggest a standard set of terms to reduce confusion across docs #222
Conversation
README.md
Outdated
#### Authentication | ||
| **Term** | **Suggested Usage.** | | ||
|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Authentication Service | The Authentication service encompases the Account API, Users API, and Teams API. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need Feedback
Do we want to call services
- Appwrite Authentication
- Authentication Service (entire proper noun, which is proper if we're consistent)
- Authentication service (where Authentication, the service, is the sole proper noun)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would vote for 2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will post this on this week's state of the docs to get more feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we change encompases
? Feels like a complex word.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also voting for 2. We already use that naming in console (project -> settings -> services)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should rename the button. The word Users doesn't make a ton of sense.
| Developer | Refers to Appwrite developers that use Appwrite to create applications. | | ||
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Instance | Refers to a single, self-hosted deployment of Appwrite | | ||
| Application | Refers to the application built by the Appwrite developer. Can be referred to as web app, mobile app, flutter app, etc. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need Feedback
Do we want to call it a deployment of Appwrite, an instance of Appwrite? What language makes the most sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a cluster might make more sense, not 100% sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will post this on this week's state of the docs to get more feedback.
| Developer | Refers to Appwrite developers that use Appwrite to create applications. | | ||
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Instance | Refers to a single, self-hosted deployment of Appwrite | | ||
| Application | Refers to the application built by the Appwrite developer. Can be referred to as web app, mobile app, flutter app, etc. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a cluster might make more sense, not 100% sure.
README.md
Outdated
| Method | Refers to SDK methods like the method `account.get()`. This helps differentiate SDK methods and Appwite Functions in written language. | | ||
| Parameters | Refers to parameters in an SDK method or API definition. Use in cases where we speak about needs, such as "takes parameters x, y, and z" or "requires parameters x and y". | | ||
| Arguments | Refers to arguments passed to CLI, SDK method, or REST API. Use when the argument has a concrete value and when we refer to invoking a method, such as "pass in arguments x and y, or "call account.create() with the argument "unique()" to generate a random id. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These 3 seems very generic and not Appwrite specific
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. Idk if this belongs somewhere else, but it made sense to use these correctly if we can.
Although, the Method term works here mostly to differentiate a function from our Functions service. We can remove if this is the opinion at the end of review process.
README.md
Outdated
#### Authentication | ||
| **Term** | **Suggested Usage.** | | ||
|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Authentication Service | The Authentication service encompases the Account API, Users API, and Teams API. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would vote for 2
| Collection | Use "collection" as a noun (no capitalization), use as "a collection" or "collections". Avoid using similar terms like "table". | | ||
| Document | Use "document" as a noun (no capitalization), use as "a document" or "documents". Avoid using similar terms like "entry" or "row". | | ||
| Attribute | Use "attribute" as a noun (no capitalization), use as "a attribute" or "attributes". Avoid using similar terms like "column" or "key/value". | | ||
| Index | Use "index" as a noun (no capitalization), use as "a index" or "indexes". Use "indexes" instead of indices in a DB related context. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should also mention Adapter
. This one is used across Databases, Storage, Error Logging. Sometimes used for OAuth providers.
| Create | When we "create" a function, it refers to the process of using "Add Function" in console or using `functions.create()` method. No code is uploaded. | | ||
| Deploy/Deployment | When we say we "deploy" a function or create a new deployment, this is when we upload code through the Create Deployment button or endpoint. | | ||
| Activate Deployment | When we enable a particular version of a function, we say we "activate" the deployment. | | ||
| Runtimes | When we refer to a runtime like `node.js 15.5`, call it a "Node.js runtime" or "function runtime". Avoid similar terms like "runtime environment" or "function environment" | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing Execution
README.md
Outdated
|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Functions Service | Write as the "Functions service"(as a proper noun). Not "Function service" or "Cloud Functions". | | ||
| Function (individual) | When we mention a specific function and not the service as a whole, use "a function" or "functions". Not "a cloud function" or "a Function". | | ||
| Create | When we "create" a function, it refers to the process of using "Add Function" in console or using `functions.create()` method. No code is uploaded. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new console will use the same terms we use for the API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, we'll change this when the new console rolls out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I already love this document! 😍
Left my suggestions
README.md
Outdated
|
||
#### Terminology | ||
### Terminology | ||
Appwrite has many services and features with many ways to express the same concepts. To avoid confusion, this section suggests a standard set of terms used across Appwrite documentation to describe features and concepts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with many ways to express the same concepts
If I was using Appwrite and read this, it sounds negative. Like we were messy and complex, and if I want to make chat app, there are 500 ways that I need to consider.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Meldiron I think of this as a maintainer's document. No Appwrite developer would reasonably need to read this. It's more for those who wish to contribute to Appwrite's docs, copy writing, or maybe blogs.
README.md
Outdated
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Appwrite | Written as "Appwrite" not "AppWrite" or "appwrite". | | ||
| Projects | Each Appwrite instance can have many Appwrite Projects. Use "Appwrite Projects" as a proper noun when referring to the concept, use project or projects when referring to specific projects. | | ||
| Console | Refers to the the GUI. Can also be referred to as the "Appwrite Console" to distinguish from a Mac, Linux, or Windows machine's console. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Console | Refers to the the GUI. Can also be referred to as the "Appwrite Console" to distinguish from a Mac, Linux, or Windows machine's console. | | |
| Console | Refers to the the GUI. Can also be referred to as the "Appwrite Console" to distinguish from a Mac, Linux, or Windows machine's console. | |
What about Appwrite Web Console
? To make sure it's clear it's the website, not terminal.
README.md
Outdated
| Console Users | Refers to users that are registered to have access to the Appwrite Console. Not a proper noun, use as "a console user" or "the console user". Differenciate this clearly from users created through a Client SDK. | | ||
| Client SDK | Refers to SDKs used by Web, Flutter, Android, and Apple applications. Use as a proper noun, use "a Client SDK" or "the Client SDKs", not client-side SDKs. | | ||
| Server SDK | Refers to SDKs used by backend languages like Java, Node.js, or PHP. Use as a proper noun, use "a Server SDK" or "the Server SDKs", not server-side SDKs. | | ||
| Adaptor | Refers to interfaces used to connect Appwrite with third party technologies. Adaptors are found for OAuth, Databases, Storage, and error logging. When referring to adaptors, use specific adaptor names, such as "an OAuth adaptor" or "a Storage adaptor" to avoid confusion.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting word, pretty unique 🤔 I would say adapter or integration. Anyone else has weird vibes from the word?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a typo XD
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will stick with Adatper, Adaptor is technically correct in English, but I think less used. I won't dig into it further because it really doesn't matter :P
README.md
Outdated
| Adaptor | Refers to interfaces used to connect Appwrite with third party technologies. Adaptors are found for OAuth, Databases, Storage, and error logging. When referring to adaptors, use specific adaptor names, such as "an OAuth adaptor" or "a Storage adaptor" to avoid confusion.| | ||
| Developer | Refers to Appwrite developers that use Appwrite to create applications. | | ||
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Cluster | Refers to a single, self-hosted deployment of Appwrite. Use as "an Appwrite Cluster" or "Appwrite Clusters".| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me a Cluster is not only self-host but also having Appwrite scaled over many machines. Shouldn't we use the word self-host here somehow instead? That sounds more simpler, also considering we will have "selfhost" section in docs in future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We were thinking of calling it a "self-hosted instance." Cluster is what Eldad suggested, I'll let you duke it out with Eldad, I have no particular opinion here :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about just Appwrite Instance and remove any references to self-hosted or cloud?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stnguyen90 This was my original proposal XD
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. Cluster doesn't make sense unless we have several machines. I vote for Appwrite Instance
too
README.md
Outdated
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Cluster | Refers to a single, self-hosted deployment of Appwrite. Use as "an Appwrite Cluster" or "Appwrite Clusters".| | ||
| Application | Refers to the application built by the Appwrite developer. Can be referred to as web app, mobile app, flutter app, etc. | | ||
| Method | Refers to SDK methods like the method `account.get()`. This helps differentiate SDK methods and Appwite Functions in written language. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We named queries as methods too (query methods being limit()
or equal()
. Possibly even permission methods like read()
and write()
in future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine. They would be in fact called methods in most textbooks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want something to refer to things like account.get()
rather than Query.equal()
we could use API call since the SDKs make API calls to our REST APIs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👀 I think this can work. TBH, I'm only concerned about confusing a function from the Functions Service, when we talk about this and the SDK.
README.md
Outdated
### Terminology | ||
Appwrite has many services and features with many ways to express the same concepts. To avoid confusion, this section suggests a standard set of terms used across Appwrite documentation to describe features and concepts. | ||
#### General | ||
| **Term** | **Suggested Usage.** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Term** | **Suggested Usage.** | | |
| **Term** | **Suggested Usage** | |
Same everywhere
| Bucket | Write as "a bucket" or "buckets", not a proper noun. | | ||
| File | Write as "a file" or "files", not a proper noun. | | ||
|
||
#### Functions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's maybe add:
- Variable (variables?)
|
||
|
||
|
||
#### Database |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's maybe add:
- Permissions
- Permission level
#### Terminology | ||
### Terminology | ||
Appwrite has many services and features with many ways to express the same concepts. To avoid confusion, this section suggests a standard set of terms used across Appwrite documentation to describe features and concepts. | ||
#### General |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's maybe add:
- Usage stats
- Audit logs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have any experience with these, what terms do you suggest under them?
|
||
#### Spell Checking | ||
#### Authentication |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's maybe add:
-Membership
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question for you. There's a few concepts that are actually confusing right now:
- Team membership vs role:member
- Team roles vs role: (like role:guest)
These terms are very similar in context and meaning, but aren't the same. Should we consider definite terms for these?
CC: @eldadfux
I would only add that this document would also make a great blog post. |
README.md
Outdated
| Adaptor | Refers to interfaces used to connect Appwrite with third party technologies. Adaptors are found for OAuth, Databases, Storage, and error logging. When referring to adaptors, use specific adaptor names, such as "an OAuth adaptor" or "a Storage adaptor" to avoid confusion.| | ||
| Developer | Refers to Appwrite developers that use Appwrite to create applications. | | ||
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Cluster | Refers to a single, self-hosted deployment of Appwrite. Use as "an Appwrite Cluster" or "Appwrite Clusters".| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about just Appwrite Instance and remove any references to self-hosted or cloud?
README.md
Outdated
| End User | Refers to end users of applications with an Appwrite backend. This doesn't refer to developers that interact with Appwrite directly. | | ||
| Appwrite Cluster | Refers to a single, self-hosted deployment of Appwrite. Use as "an Appwrite Cluster" or "Appwrite Clusters".| | ||
| Application | Refers to the application built by the Appwrite developer. Can be referred to as web app, mobile app, flutter app, etc. | | ||
| Method | Refers to SDK methods like the method `account.get()`. This helps differentiate SDK methods and Appwite Functions in written language. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want something to refer to things like account.get()
rather than Query.equal()
we could use API call since the SDKs make API calls to our REST APIs.
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
Co-authored-by: Steven <1477010+stnguyen90@users.noreply.github.com>
What Is This PR
After reviewing the new branding documents and following APA style guide, I proposed the following terms to reduce confusion across our documentation. This is not comprehensive but merely covers commonly confused terms.
Why We Need This PR
Some concepts related to Appwrite can be expressed with many different words, and phrases, and in varying formats. This is fine in conversation but can often introduce unwanted confusion.
For example, using the word "user" and "account" interchangeably to refer to:
While there will always be confusion, we should at least make an effort to be consistent.
Other examples,
Cloud Function
,Function Service
,Function service
, andAppwrite Functions
can all mean the same thing. Similarly,Server API
,Admin Mode
,Server-side SDK
, and similar terms are used interchangeably.Goals of This PR
During the review process, I hope to achieve the following.
Thank you :)