braze-inc / braze-docs Goto Github PK
View Code? Open in Web Editor NEWThe Braze Docs repository.
Home Page: https://www.braze.com/docs
License: Other
The Braze Docs repository.
Home Page: https://www.braze.com/docs
License: Other
Describe the Problem:
In section 3, in the table: Integrate the Braze SDK, of the mparticle partner docs, it currently says "Call Braze code directly (using REST API?)"
This description and the use of the question mark a typo/error.
Rewrite to something like:
"Implemented directly via Braze SDK methods as per our native integration docs (iOS[link to ios Content Cards Docs], Android[link to ios Content Cards Docs], Web[link to ios Content Cards Docs]).".
Describe the Problem:
Clients (internally and publically) have visibility issues into what support library version to use. The docs should link to the android README where the support version is listed.
Related Links, Resources, and Images:
Docs to change:
https://www.braze.com/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/android_sdk_integration/
https://www.braze.com/docs/developer_guide/platform_integration_guides/unity/android/sdk_integration/
Link to include:
https://github.com/Appboy/appboy-android-sdk#version-support
Code Samples:
The docs should say something like Unity requires the same support library version as the base Android SDK, as linked here
or something like that.
Recommended Change Date:
Describe the Problem:
Replace the definition of braze_id
wherever mentioned. The braze_id
is not the IDFV on iOS. This has been tested and confirmed. It's essentially random but definitely doesn't use the IDFV.
Approved definition:
braze_id
: serves as a unique user identifier that is set by Braze. This identifier can be used to delete users through the REST API.
Describe the Problem:
Information is not clear on what it takes to import users via CSV.
Related Links, Resources, and Images:
internal - Initial draft in first commit provided by @laurabuxton
Code Samples:
n/a
Recommended Change Date:
2-3 weeks.
Describe the Problem:
Format the API Docs (email templates, email sync, messaging, export, subscription groups, and user data) in such a way that can be easily used in a js template. Will provide details & suggested format soon.
Language: YAML/Front Matter - See glossaries for example.
https://github.com/Appboy/braze-docs/blob/develop/_docs/_user_guide/data_and_analytics/report_metrics.md
To Do:
These are the minimum that these docs must account for. If you feel the need to add more, please note that for our review on the 17th.
endpoint: Create Email Template
endpoint_url: /templates/email/create
method: POST
description: Use the Email Template REST APIs to programmatically manage the email templates that you have stored on the Braze dashboard, on the Templates & Media page. Braze provides two endpoints for creating and updating your email templates.
response details: The response from this endpoint will include a field for email_template_id, which can be used to update the template in subsequent API calls.
etc. etc.
(If none, leave blank, etc. you get the idea.)
This is specific to the Messaging & User Data Endpoints and a note should be made about that. These are so far unnamed but documented here.
This is specific to the Messaging Endpoints and a note should be made about that. These are so far unnamed but documented here.
These will create checkboxes that will help filter and narrow the endpoints for users.
We'll take care of the final look, but you should format like this (query_parameter is an example field):
query_parameter: "\"
line 1
line 2
"
Describe the Problem:
Add the following line to the Report Metric Glossary term: Bounces.
An email
bounce
for customers using Sendgrid consists of hard bounces, spam, and emails sent to invalid addresses.
Describe the Problem:
Our current documentation around how to use JS Bridges in HTML in app messages isn't very user friendly for CRM teams and out current github repo of HTML in app messages doesn't include JS bridges. As such, it makes the barrier to entry quite high.
Related Links, Resources, and Images:
https://www.braze.com/docs/help/best_practices/in-app_messages/previous_in-app_message_generations/#web
https://github.com/Appboy/appboy-custom-html5-in-app-message-templates
Code Samples:
Recommended Change Date:
Describe the Problem:
We changed the copy and some of the language for advancement behavior, and docs will need to be updated accordingly - images and probably some text too.
Would be good to have images of the copy in both expanded and collapsed state.
"Advance If Message Received" => "Advance When Message Sent"
Related Links, Resources, and Images:
https://www.braze.com/docs/advancement_behavior/#advancement-behavior
Code Samples:
I wonder where I can download the postman collection for API test.
Thanks!
Describe the Problem:
The functionality described here: https://www.braze.com/docs/create_send/ is available in /canvas/trigger/send too! Could we update the docs and include the request body and an example for a Canvas?
Request Body:
Same as https://www.braze.com/docs/api/endpoints/messaging/#sending-messages-via-api-triggered-delivery
but with:
"send_to_existing_only": (optional, boolean) defaults to true,
"attributes": (optional, object) fields in the attributes object will create or update an attribute of that name with the given value on the specified user profile before the message is sent and existing values will be overwritten
After canvas_entry_properties
{
"api_key": "YOUR_API_KEY",
"canvas_id": "9398e4b5-0efd-bc7b-b545-d050f307ee91",
"broadcast": false,
"recipients": [
{
"external_user_id": "marebeare12345678",
"send_to_existing_only": false,
"attributes":
{
"first_name" : "Jon",
"email" : "[email protected]",
"my_custom_attribute_string" : "value"
}
}
]
}
is an example that works!
Related Links, Resources, Code Samples, and Images:
If yes, please note the date of the feature release.
Describe the Problem:
The screenshot on this page appears to be from a few years back. Since then the design has changed and also some additional fields were added, for example influenced opens.
https://www.braze.com/docs/user_guide/message_building_by_channel/push/creating_a_push_message/#results-data-push
Related Links, Resources, Code Samples, and Images:
https://www.braze.com/docs/user_guide/message_building_by_channel/push/creating_a_push_message/#results-data-push
If yes, please note the date of the feature release.
Describe the Problem:
Deprecated content still relevant.
Related Links, Resources, and Images:
https://github.com/Appboy/success/blob/brazefaqs_3/academy/_collections/Best_Practices/02_In-App_Messages.md#supported-query-strings
Code Samples:
#### Link-Based Actions
HTML in-app messages can trigger custom Braze actions when users click on elements with links. The supported link schemes are:
Supported Scheme | Corresponding Action | Supported Query Strings
--- | --- |---
Normal Web URL or Deep Linking | For web URLs, Braze will open the new content of the link in a webview within your app by default, or in an external browser when query `abExternalOpen` is true. The HTML5 in-app message will be dismissed before opening the link. For deep linking, Braze will open your URL regardless of the value of `abExternalOpen`. | `abExternalOpen` and `abButtonId`
`appboy://close` | Braze will dismiss the HTML in-app message. | None
`appboy://feed` | Braze will dismiss the HTML in-app message and display a modal News Feed. | `abButtonId`
`appboy://customEvent` | Braze will log a custom event and will NOT dismiss the HTML in-app message. | `name`<br>All additional queries will be set as properties of the custom event.
#### Supported Query Strings
You can customize your link actions by appending the optional URL query strings below to your HTTP(S) link:
Query String Name | Value | Action
-----------|-------|-------
`abButtonId` | `{0,1}` | Braze will use the value specified as the button's ID for analytics tracking<br>([https://www.picsart.com?abButtonID=0][23]) *
`name` | Arbitrary string | This represents the custom event name for use with `appboy://customEvent` (e.g., `appboy://customEvent?name=eventName`).
`abExternalOpen` | `{true, false}` | When this query string parameter is absent or set to `false`, Braze will try to open the web link in an internal web browser inside the host app. To have Braze open the web link in an external web browser, set this parameter to `true`.
`abDeepLink` | `{true, false}` | When this query string parameter is absent or set to `false`, Braze will try to open the web link in an internal web browser inside the host app. To have Braze handle your HTTP(S) link as a deep link, set this parameter to `true`.
Analytics tracking is enabled by default for all links that have the `abButtonId` query (see above). A link with `abButtonId=0` will be represented as Button 1 on the Dashboard, while a link with `abButtonId=1` will be represented as Button 2.
Examples:
- `appboy://close`
- sample close button: `<a href="appboy://close">Close</a>`
- `appboy://feed?abButtonId=0`
- `appboy://customEvent?name=eventName&property1=value1&property2=value2`
- This would log an event called `eventName` with the properties `property1`=`value1` and `property2`=`value2`.
If you are interested in customizing your in-app messages, please make sure your design or development team is aware of these parameters.
Recommended Change Date:
Describe the Problem:
If you have added your S3 credentials to Braze, then each file will be uploaded in your bucket as a zip file with the key format that looks like segment-export/SEGMENT_ID/YYYY-MM-dd/RANDOM_UUID-TIMESTAMP_WHEN_EXPORT_STARTED/filename.zip. We will create 1 file per 5,000 users to optimize processing. You can then unzip the files and concatenate all of the .csv files to a single file if needed.
User Export to s3 is a json file, not csv.
Related Links, Resources, and Images:
https://www.braze.com/docs/api/endpoints/export/?redirected=true#users-by-identifier-endpoint
\
Describe the Problem:
Legacy formatting for the Developer Guide had some contributors writing notes in an inconsistent manner. Please replace all incorrect "notes" with our new Alert formatting.
Incorrect:
Note:
__Note:__
_Note:_
__Note__:
**Note:**
Please note that...
> Note that
You'll probably find other variations, too.
Correct:
Use Alert formatting found here: https://github.com/Appboy/braze-docs/wiki/Special-Formatting#long-alert-test
Example:
{% alert important %}
This is an important alert.
{% endalert %}
Use context to determine which alert type you should use (important, note, warning, update, etc.). Sometimes, you may even find that you don't need to format things as alerts and just transition them back into typical content.
Final product:
All notes will appear in variations as shown below upon render.
Describe the Problem:
There's a Step 1
, but no step 2 on the web-sdk initialization page.
Related Links, Resources, and Images:'
https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup/
Code Samples:
Recommended Change Date:
Describe the Problem:
Add wording below in a tip/alert box:
"The iOS SDK will add 1MB to 2MB to the app IPA file."
https://www.braze.com/docs/developer_guide/platform_integration_guides/ios/initial_sdk_setup/
Describe the Problem:
We should document the behavior of our Dummy User Detection. We currently block users with over 5 million sessions. Blocking means we no longer ingest their SDK events.
We generally call these "dummy users" because they are almost always the result of misintegrations. They cause issues in our infrastructure that can affect multiple customers, so we proactively block them. We have an internal method for fixing real users that get identified as dummy users. If this is the case, customers should reach out to their CSM or to support. CSMs are also notified when we ban dummy users to pass the notification to the relevant customer.
Related Links, Resources, Code Samples, and Images:
Internal: https://confluence.braze.com/display/ENG/Dummy+Users
If yes, please note the date of the feature release.
Sorry, I don't have a moment to fix this right now but at https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/integration/#step-3-configure-safari-push it says
In the Braze dashboard, on [the app settings page][15] (where your API keys are located), select your Web app. Click โConfigure Safari Pushโ and follow the instructions, uploading the push certificate you just generated.
I believe this is meant to be a link to the dashboard's app settings page. ๐ ๐
Describe the Problem:
Broken Link
Related Links, Resources, and Images:
https://www.braze.com/docs/developer_guide/platform_integration_guides/web/in_app_messaging/
Code Samples:
Recommended Change Date:
Describe the Problem:
Legacy formatting for the User Guide had some contributors writing notes in an inconsistent manner. Please replace all incorrect "notes" with our new Alert formatting.
Incorrect:
Note:
__Note:__
_Note:_
__Note__:
**Note:**
Please note that...
> Note that
You'll probably find other variations, too.
Correct:
Use Alert formatting found here: https://github.com/Appboy/braze-docs/wiki/Special-Formatting#long-alert-test
Example:
{% alert important %}
This is an important alert.
{% endalert %}
Use context to determine which alert type you should use (important, note, warning, update, etc.). Sometimes, you may even find that you don't need to format things as alerts and just transition them back into typical content.
Final product:
All notes will appear in variations as shown below upon render.
Describe the Problem:
As of yesterday, we updated our frequency capping logic so there's a part of docs that is out of date right now.
https://www.braze.com/docs/frequency_capping_tag/ describes the correct behavior.
https://www.braze.com/docs/user_guide/engagement_tools/campaigns/testing_and_more/rate-limiting/#frequency-capping is out of date, specifically:
Triggered in-app messages will count towards global frequency cap, however they cannot be frequency capped. For instance, an in-app message confirming a purchase will appear after every purchase regardless of frequency capping.
Keep in mind that Frequency Capping applies to the campaigns a user receives, and not to individual messages. That is, if you have a recurring campaign that users are re-eligible to receive, each recurring message of each channel will be counted as just one campaign. For instance, if a user receives a recurring push campaign that delivers every day, and she is capped to 2 push campaigns per week, the recurring push messages will collectively count towards 1 push campaign for frequency capping purposes, and for that week, this user will still be eligible to receive a different campaign that contains push.
Both of these paragraphs are now incorrect and should be updated to describe the correct behavior.
Related Links, Resources, and Images:
Code Samples:
Recommended Change Date:
Describe the Problem:
Docs currently do not show how to use geofencing data in Liquid syntax
Two places we could update:
Code Samples:
Currently, we support:
{{event_properties.${geofence_name}}}
and
{{event_properties.${geofence_set_name}}}
Describe the Problem:
Legacy formatting for the API Guide had some contributors writing notes in an inconsistent manner. Please replace all incorrect "notes" with our new Alert formatting.
Incorrect:
Note:
__Note:__
_Note:_
__Note__:
**Note:**
Please note that...
> Note that
You'll probably find other variations, too.
Correct:
Use Alert formatting found here: https://github.com/Appboy/braze-docs/wiki/Special-Formatting#long-alert-test
Example:
{% alert important %}
This is an important alert.
{% endalert %}
Use context to determine which alert type you should use (important, note, warning, update, etc.). Sometimes, you may even find that you don't need to format things as alerts and just transition them back into typical content.
Final product:
All notes will appear in variations as shown below upon render.
Describe the Problem:
We no longer assign custom endpoints, so this line and any similar mentioning of this service can be removed from docs:
If your company was set up with a custom endpoint, please reach out to your Customer Onboarding Manager or open a support ticket. If not, please follow the table below.
Found initially here: https://www.braze.com/docs/user_guide/administrative/access_braze/sdk_endpoints/#sdk-endpoints
Instead of true
, it should be YES
.
Related Links, Resources, and Images:
Code Samples:
https://github.com/Appboy/appboy-cordova-sdk/blob/master/src/ios/AppboyPlugin.m#L46 is why true
is incorrect.
Recommended Change Date:
Next week or 2
Describe the Problem:
Change in User data docs, but also in Swagger docs.
Related Links, Resources, and Images:
https://github.com/Appboy/success/pull/2586/files
Code Samples:
"deleted" : (required, integer) number of user ids successfully parsed and queued for deletion; if the IDs map to users in Braze's systems, those users will be deleted
Recommended Change Date:
ASAP
Describe the Problem:
I want to clarify docs for frequency capping by tag. https://www.braze.com/docs/frequency_capping_tag/
I'd like to add a note that conveys the following expected behavior:
When a message is sent, Frequency capping by tag rules looks at the tags that are currently on the Campaigns/Canvases that a user received in the past, NOT the tags that were on the Campaigns/Canvases during the time they were sent. In most cases, the list of tags will be the same, however there may be cases where tags are added/removed after the message is sent to the user.
Example:
Rule is "No more than 1 email with tag "Promotional" every 1 day"
At 9 am, a user receives an email campaign "11/10 newsletter send 1" with tag "Promotional"
At 10 am, a dashboard user removes the tag "Promotional" from the campaign "11/10 newsletter send"
At 11 am, a new campaign is sent to the user, "11/10 newsletter send 2" with tag "Promotional".
In this case, the 11 am campaign will send to the user, because the tag "Promotional" has been removed from 9 am Campaign, and at 11 am we compute the number of campaigns/canvas steps with tag X that a user has already received based on the tags that past campaigns currently have on them.
I'd also like to convey that rules for "Campaigns/Canvas Steps of any type" only apply to emails, webhooks and push notifications and that only emails, webhooks and push notifications count towards "Campaigns/Canvas Steps of any type" rules.
Here's how I explained in a jira card:
"Campaigns/Canvas Steps of any type" Frequency capping rules will be applied to:
webhooks
push notifications
emails
"Campaigns/Canvas Steps of any type" frequency capping rules will not be applied to:
in-app messages
Content cards
In-App Messages and Content Cards will not count towards "Campaigns/Canvas Steps of any type" rules
Related Links, Resources, and Images:
Code Samples:
Recommended Change Date:
May 7
Describe the Problem:
Add notes about line recommendations.
Related Links, Resources, and Images:
https://www.braze.com/docs/user_guide/message_building_by_channel/in-app_messages/creative_details/#character-and-image-limits
Code Samples:
Recommended Change Date:
Describe the Problem:
Need searchable glossaries for easier searching.
Related Links, Resources, and Images:
Internal.
Code Samples:
n/a
Recommended Change Date:
n/a
Describe the Problem:
We've added decision split steps to Canvas and the beta is ready. I'd like to have a hidden page to send to clients.
Related Links, Resources, Code Samples, and Images:
https://docs.google.com/document/d/1Y6Jlq4HLCwisGE3M3a1fieyTTVCnu0H_Jkl0w1x4reY/edit
It's a beta so it's already "released" - I am sending a PDF to clients for now, would be awesome to have a link. Definitely not an emergency though, workaround is fine for now so if it takes more than a week just let me know what ETA works for you.
Documentation for Delay Step Beta (private beta)
https://docs.google.com/document/d/12aoCc9en7Y3mZ4LbZzdLJAEc3fAIxXuuXBcCgwB7Uck/edit
Recommended Change Date: June 28th
Describe the Problem:
Need documentation to explain the difference between the SDK and the API, as well as define the default behaviors of our SDK.
Related Links, Resources, and Images:
Internal.
Code Samples:
Internal.
Recommended Change Date:
n/a
https://www.braze.com/docs/user_guide/data_and_analytics/report_metrics/
I believe the description for unique recipients is wrong. Unique recipients are AFAIK, actually unique daily recipients. So the definition for content cards is actually how all of the unique recipient calculations work. This should be confirmed with data + analytics.
Create a new section in the Disclosures/Qualification page for HIPPA:
https://www.braze.com/docs/developer_guide/disclosures/security_qualifications/
Use this:
HIPPA
Braze's HIPPA cluster complies with the Security and Privacy rules of HIPAA, as applicable. When creating this cluster, Braze worked with a lawyer who advised on HIPAA laws and worked through the compliance needs for HIPAA with respect to the Security and Privacy rules. This included a risk analysis for the environment, as well as going through each safeguard and ensuring compliance as required.
Describe the Problem:
Missing words from Terms to Know Page: https://www.braze.com/docs/user_guide/onboarding_with_braze/terms_to_know/
https://github.com/Appboy/braze-docs/blob/develop/_docs/_user_guide/onboarding_with_braze/terms_to_know.md
Add (or update) and link to more information:
Following up on the X in Y release, I wanted to add clarity to how calendar days work in frequency capping and message scheduling. I filled out the expected behavior for frequency capping and message scheduling in the doc.
We also need to change the X in Y portion of the docs, to reflect that the "future behavior" is now the "Current behavior" and the "current behavior" is now "past behavior"
We should add these docs to the main repo, but keep the hidden page for a few weeks since clients have the URL
Related Links, Resources, and Images:
https://docs.google.com/document/d/1LxLC1K0klbVbI6FrxthQXTRRA9eGw3WtMnNwR1VCUUA/edit
Recommended Change Date: It would be great to have this complete by our Tuesday (may 7) X in Y release.
Describe the Problem:
Recommended Change Date:
July 30th release
Describe the Problem:
Lack of documentation.
Related Links, Resources, and Images:
Internal.
Code Samples:
n/a
Recommended Change Date:
n/a
Describe the Problem:
Remove apptimize as they were acquired by Airship.
Related Links, Resources, Code Samples, and Images:
https://www.braze.com/docs/partners/technology_partners/channel_extensions/ab_testing/apptimize/#apptimize
If yes, please note the date of the feature release.
Describe the Problem:
Legacy formatting for the Help Guide had some contributors writing notes in an inconsistent manner. Please replace all incorrect "notes" with our new Alert formatting.
Incorrect:
Note:
__Note:__
_Note:_
__Note__:
**Note:**
Please note that...
> Note that
You'll probably find other variations, too.
Correct:
Use Alert formatting found here: https://github.com/Appboy/braze-docs/wiki/Special-Formatting#long-alert-test
Example:
{% alert important %}
This is an important alert.
{% endalert %}
Use context to determine which alert type you should use (important, note, warning, update, etc.). Sometimes, you may even find that you don't need to format things as alerts and just transition them back into typical content.
Final product:
All notes will appear in variations as shown below upon render.
Describe the Problem:
Delete Server to server Screenshot here: https://www.braze.com/docs/partners/technology_partners/data_and_infrastructure_agility/customer_data_platform/segment/#segment-1
Clarify these Common Integration Issues in the Segment Docs as needed:
Confusion between Custom API Endpoint
and Custom REST API Endpoint
Custom API Endpoint
= corresponds to the custom endpoint that Braze sets up for client's SDKs (e.g. sdk.iad-03.braze.com
)
Custom REST API Endpoint
= this is not a thing as we don't have custom endpoints for REST API calls. We are working with Segment to remove this.
Custom API Endpoint Not Inputted Correctly
Customers should input customer.iad-03.braze.com
into the Segment dashboard. Sometimes they input their custom endpoint with https://
so that it looks like https://sdk.iad-03.braze.com
. This will break the Braze integration as Segment will automatically attempt to add https://
for you, resulting in Braze initializing with the custom endpoint of https://https://sdk.iad-03.braze.com
.
Wrong API key inputted: App Identifier
vs REST API Key
App Identifier
= App API Key found in the "Manage App Group" or "Developer Console" page on the Braze Dashboard. This field is necessary for SDK integrations to work.
REST API Key
= Dashboard Rest API Key for making API calls. Make sure the key has permission to access the users/track endpoint.
Which Appboy Data Center
to input
Appboy Data Center
= Cluster. Most new clients are on the US-03 cluster while EU clients are on the EU cluster. By setting the Appboy Data Center
, Segment will pull in the appropriate rest endpoint (e.g. https://rest.iad-01.braze.com) in order to make server-to-server calls.
This link is dead. It should instead point to https://appboy.github.io/appboy-android-sdk/javadocs/com/appboy/ui/inappmessage/AppboyInAppMessageManager.html
Related Links, Resources, and Images:
https://www.braze.com/docs/developer_guide/platform_integration_guides/android/in-app_messaging/integration/
Code Samples:
Recommended Change Date:
Describe the Problem:
All fields in Content Cards (header + body message) should not exceed 2Kb. Currently the docs state no limit exists.
Related Links, Resources, and Images:
https://jira.braze.com/browse/PC-1093
https://www.braze.com/docs/user_guide/message_building_by_channel/content_cards/create/#step-2-compose-a-content-card
Code Samples:
Recommended Change Date:
Describe the Problem:
On the page https://www.braze.com/docs/partners/technology_partners/insights/business_intelligence/looker/#flagging-users-within-braze, there is a link to Braze's own repository for the Braze action that contains a file braze.ts. This file contains the results of a "diff" which is the results of comparing two files. It should not have been committed like this. It would be better if this Braze documentation just linked to the authoritative copy of the Braze Action Hub code in our own repository, which exists here: https://github.com/looker/actions/tree/master/src/actions/braze
Related Links, Resources, and Images:
Code Samples:
Recommended Change Date:
Describe the Problem:
I would like to see the following changes..... (could be a link, a new image, a new section, etc.)... because.....
We do not have any customer facing docs on the blacklist feature that was created for android to prevent in-app messages from ever displaying on specific activities in an app. @radixdev mentioned that we should create an issue in docs to flesh out the feature in the section linked below. It would be good to know if there is a similar feature for iOS and if so, what the steps are for implementing it.
Related Links, Resources, Code Samples, and Images:
https://www.braze.com/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/android_sdk_integration/#step-4-tracking-user-sessions-in-android
If yes, please note the date of the feature release.
Describe the Problem:
Cordova Android/iOS docs need updates for Cordova SDK 2.11.0 which includes new geofences/location updates.
Related Links, Resources, Code Samples, and Images:
If yes, please note the date of the feature release.
Describe the Problem:
I want to clarify the following in the Canvas in-app message docs:
Recommended Change Date: Tuesday, May 7.
Describe the Problem:
Write release notes
Related Links, Resources, and Images:
Code Samples:
Recommended Change Date:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.