ably / ably-common

Common files shared by Ably realtime messaging libraries
Apache License 2.0
6 stars 10 forks source link

Define standard for H1 titles in SDK readmes #105

Open QuintinWillison opened 3 years ago

QuintinWillison commented 3 years ago

Here's what we have at the time of creation of this issue:

Repository Contents of current H1
ably-common Ably - Common Resources
ably-js Ably
ably-java Ably
ably-cocoa Ably iOS, tvOS and macOS Objective-C and Swift client library SDK
ably-dotnet ably-dotnet
ably-go Ably Go
ably-ruby Ably
ably-python Ably
ably-php Ably
ably-flutter Ably Flutter Plugin
ably-asset-tracking-common Ably Asset Tracking SDKs - Common Resources
ably-asset-tracking-android Ably Asset Tracking SDKs for Android
ably-asset-tracking-swift Ably Asset Tracking SDKs for Swift & Objective-C
ably-asset-tracking-js Ably Asset Tracking SDK for JavaScript

My thoughts:

Once the decision has been made then it will be captured in the [sdk-readme template|https://github.com/ably/ably-common/blob/main/templates/sdk-readme.md] as the actionable work to be undertaken under this issue.

marklewin commented 3 years ago

FWIW I agree with just about everything here, with the exception of "no SDKs". SDK = Software Development Kit, so the plural is Software Development Kits, therefore I think that's perfectly acceptable for situations like AAT.

Regarding "languages, frameworks, or both?" let's always aim for clarity and discoverability by including both platform and language in the heading. E.g "Ably Asset Tracking for iOS: Swift SDK". In this example we can also link to the Obj-C SDK as an alternative in the intro?

AndyNicks commented 3 years ago

We need to decide if we're going to focus on languages, frameworks or both in the top level headings - e.g. even for AAT we have "Android" vs "Swift & Objective-C"

I would also like to stick to the SDK naming convention and focus on either the language or platform / framework, but I'm afraid we might not be able to do that in real life. For example: some of our SDKs are for platforms (Android, Cocoa), some are for languages (PHP, Python) and some are for platforms (Laravel, Flutter). I believe that we should call the SDK convenient for our customers, and not follow any strict scheme.

tomkirbygreen commented 2 years ago

I like the standardisation around 'SDK' rather than 'client library'. We might want to give some thought to how we're going to name higher-level SDKs that address a specific customer vertical, such as a Lobby SDK for multiplayer gaming. Such higher-level SDKs are within the remit of the Reach Pod and will by necessity be coupled to a language. I was wondering about 'Kit' as a discriminating collective, as in ably-js-lobby-kit or ably-kotlin-lobby-kit etc.

QuintinWillison commented 2 years ago

I like 'Kit', and have seen that elsewhere from others. Great suggestion, @tomkirbygreen.

QuintinWillison commented 1 year ago

I had a call on this with @stmoreau and our Content Marketing Team this morning. We've decided to match GitHub repository descriptions with the H1 in the README markdown files, in a reduced form.

Inputs and thoughts contributing to us coming to this decision:

I'll not illustrate for every SDK but here are some example repository description values going forwards, which are to be also copied to H1 values:

Repository Description Value
ably/ably-js JavaScript, TypeScript, Node and React Native SDK
ably/ably-java Java, Kotlin, Android, Clojure and Scala SDK
ably/ably-ruby Ruby SDK
ably/ably-asset-tracking-android Android Asset Tracking SDK

Because making these changes will require a change to README.md files across our SDK repositories, we will also tweak the opening boilerplate Ably content at the same time. We will remove detail that can change over time (e.g. customer names) to reduce maintenance overhead.